/*
 * Excuses voor het feit dat dingen niet in de resource bundle zitten. Tijd enzo.
 */
var newElementId = -2;
 
function addImage(elementId, nodeManager, imagePosition, contextRoot, maxElements) {
  var container = $(imagePosition + '-container');
  
  var currentFieldsetCount = container.select('fieldset').length;
  
  if (currentFieldsetCount >= maxElements) {
    alert('Er kunnen maximaal ' + maxElements + ' elementen worden toegevoegd!');
    return;
  }

  // labels
  var fileLabel = new Element('label').update('Bestand:');
  var descLabel = new Element('label').update('Onderschrift:');
  
  // fields
  var fileInput = new Element('input', 
                              {'type': 'file', 
                               'name': 'relatednode_' + elementId + '_' + nodeManager + '_imagerel_' + newElementId +'_images_handle', 
                               'value': '', 
                               'tmt:required': 'true',
                               'tmt:message': 'Vult u a.u.b. de bron van een afbeelding in.'});
  var descInput = new Element('textarea', {'name': 'relatednode_' + elementId + '_' + nodeManager + '_imagerel_' + newElementId +'_images_description', 'value': ''});
  
  // hidden fields
  var positionInput = new Element('input', {'type': 'hidden', 'name': 'relation_' + elementId + '_' + nodeManager + '_imagerel_' + newElementId +'_images_pos', 'value': imagePosition});

  // fieldset
  var delImage = new Element('img', {'alt': 'Verwijder afbeelding', 'src': contextRoot + 'gfx/delete.png'});
  var fieldSetId = newElementId;
  Event.observe(delImage, 'click', function() { deleteImage(elementId, nodeManager, fieldSetId); }); 
  var legend = new Element('legend').update('Afbeelding').insert(delImage);
  var fieldset = new Element('fieldset', {'id': 'n' + newElementId}).insert(legend);
  
  fieldset.insert(fileLabel).insert(fileInput);
  fieldset.insert(descLabel).insert(descInput);

  if (imagePosition == 'gallery') {
	var orderLabel = new Element('label').update('Positie:');
	var orderInput = new Element('input', {'type': 'text', 'name': 'relation_' + elementId + '_' + nodeManager + '_imagerel_' + newElementId +'_images_order', 'value': '0'});
    fieldset.insert(orderLabel).insert(orderInput);
  }  
  
  fieldset.insert(positionInput);  
  
  Element.insert($(imagePosition + '-container'), fieldset);
  
  newElementId = (newElementId - 1);
}

function addAttachment(elementId, nodeManager, containerType, contextRoot, maxElements) {
  var container = $(containerType + '-container');
  
  var currentFieldsetCount = container.select('fieldset').length;
  
  if (currentFieldsetCount >= maxElements) {
    alert('Er kunnen maximaal ' + maxElements + ' elementen worden toegevoegd!');
    return;
  }

  // labels
  var titleLabel = new Element('label').update('Titel:');
  var fileLabel = new Element('label').update('Bestand:');
  
  // fields
  var titleInput = new Element( 'input', 
                                { 'type': 'text', 
                                  'name': 'relatednode_' + elementId + '_' + nodeManager + '_posrel_' + newElementId +'_attachments_title', 
                                  'value': '', 
                                  'tmt:required': 'true',
                                  'tmt:message': 'Vult u a.u.b. een titel van de bijlage in.'});
  var fileInput = new Element('input', 
                              {'type': 'file', 
                               'name': 'relatednode_' + elementId + '_' + nodeManager + '_posrel_' + newElementId +'_attachments_handle', 
                               'value': '', 
                               'tmt:required': 'true',
                               'tmt:message': 'Vult u a.u.b. de bron van een bijlage in.'});

  // fieldset
  var delAttachment = new Element('img', {'alt': 'Verwijder bijlage', 'src': contextRoot + 'gfx/delete.png'});
  var fieldSetId = newElementId;
  Event.observe(delAttachment, 'click', function() { deleteAttachment(elementId, nodeManager, fieldSetId); }); 
  var legend = new Element('legend').update('Bijlage').insert(delAttachment);
  var fieldset = new Element('fieldset', {'id': 'n' + newElementId}).insert(legend);
  
  fieldset.insert(titleLabel).insert(titleInput);
  fieldset.insert(fileLabel).insert(fileInput);

  Element.insert($(containerType + '-container'), fieldset);
  
  newElementId = (newElementId - 1);
}

function deleteAttachment(elementId, nodeManager, attachmentId) {
  deleteFieldSet(elementId, attachmentId, nodeManager, 'posrel', 'attachments');
}

function deleteImage(elementId, nodeManager, imageId) {
  deleteFieldSet(elementId, imageId, nodeManager, 'imagerel', 'images');
}

function deleteFieldSet(elementId, relatedNodeId, nodeManager, relationManager, relatedNodeManager) {
  if (confirm('Weet u zeker dat u dit item wilt verwijderen?')) {
    var fieldSet = $('n' + relatedNodeId);
    var hiddenDeleteField = '<input type="hidden" name="delete_' + elementId + '_' + nodeManager + '_' + relationManager + '_' + relatedNodeId + '_' + relatedNodeManager + '" value="true" />';
    
    if (fieldSet != null) {
      if(relatedNodeId < 0) {
        // new image, don't need a delete field
        Element.remove(fieldSet);
      } else {
        // create a delete field
        Element.replace(fieldSet, hiddenDeleteField);
      }
    }
  }
} 

function setEnddate(formId, enddateField, startdateField) {
	var f = document.getElementById(formId);
    if (!f) return;
    f.elements[enddateField].value = f.elements[startdateField].value;
}