// JS
// Version: 2.1.1.3

function moduleForm_save() {
  var form = $('editModule_form');
  var moduleId = $('moduleId').value;
  var param = {cmd: "function", funcName: "updateContentItem", moduleType: "form", moduleId: moduleId};
  for (i = 0; i < form.length; i++) {
    if (form[i].type == "radio") {
      if (form[i].checked) {
        param[form[i].name] = form[i].value;
      }
    } else if (form[i].type == "checkbox") {
      if (form[i].checked) {
        param[form[i].name] = "true";
      }
    } else {
      param[form[i].name] = form[i].value;
    }
  }
  
  param['position'] = getModulePosition();
  
  ajaxCM2(param, true);
}

function newFormInput(moduleId, type) {
  ajaxCM2({cmd: "function", funcName: "newFormInput", moduleId: moduleId, type: type, moduleType: "form"});
  Lightbox.updateContent_ajax("editModule", {moduleType: "form", moduleId: moduleId});
}

function formInput_delete(id) {
  var sure = confirm("Sind Sie sicher, dass dieses Feld entfernt werden soll?");    
  if (!sure) return;
  var moduleId = $('moduleId').value;
  ajaxCM2({cmd: "function", funcName: "deleteFormInput", id: id, moduleType: "form", moduleId: moduleId});
  Lightbox.updateContent_ajax("editModule", {moduleType: "form", moduleId: moduleId});
}

function updateFormEmail(formId, email) {
  var newEmail = prompt("E-Mail-Adresse", email);
  if (newEmail != null) {
    var moduleId = $('moduleId').value;
    ajaxCM2({cmd: "function", funcName: "updateFormEmail", moduleId: formId, newEmail: newEmail, moduleType: "form"});
    Lightbox.updateContent_ajax("editModule", {moduleType: "form", moduleId: moduleId});
  }
}

function updateFormSubject(formId, subject) {
  var newSubject = prompt("E-Mail-Betreff", subject);
  if (newSubject != null) {
    var moduleId = $('moduleId').value;
    ajaxCM2({cmd: "function", funcName: "updateFormSubject", moduleId: formId, newSubject: newSubject, moduleType: "form"});
    Lightbox.updateContent_ajax("editModule", {moduleType: "form", moduleId: moduleId});
  }
}

function abortForm() {
  var moduleId = $('moduleId').value;
  Lightbox.updateContent_ajax("editModule", {moduleType: "form", moduleId: moduleId});
}

function moveInputUp(id) {
  var moduleId = $('moduleId').value;
  ajaxCM2({cmd: "function", funcName: "moveInputUp", inputId: id, moduleId: moduleId, moduleType: "form"});
  Lightbox.updateContent_ajax("editModule", {moduleType: "form", moduleId: moduleId});
}

function moveInputDown(id) {
  var moduleId = $('moduleId').value;
  ajaxCM2({cmd: "function", funcName: "moveInputDown", inputId: id, moduleId: moduleId, moduleType: "form"});
  Lightbox.updateContent_ajax("editModule", {moduleType: "form", moduleId: moduleId});
}

//////////////////////////////////////
// function for require testing
//////////////////////////////////////
function toggleRequired(id) {
  $('required_' + id).toggle();
}
function requireCheck_none(id) {
  return true;
}
function requireCheck_notEmpty(id) {
  if ($('input_' + id).value == "") {
    $('requireAlert_' + id).show();
    return false;
  }
  $('requireAlert_' + id).hide();
  return true;
}

function requireCheck_email(id) {
  if (!isEmail($('input_' + id).value)) {
    $('requireAlert_' + id).show();
    return false;
  }
  $('requireAlert_' + id).hide();
  return true;
}

function requireCheck_date(id) {
  if (!isDate($('input_' + id).value)) {
    $('requireAlert_' + id).show();
    return false;
  }
  $('requireAlert_' + id).hide();  
  return true;
}

function checkRequired(form) {
  var error = false;
  for (var i = 0; i < form.length; i++) {
    if (form[i].type == "text") {
      var id = form[i].id.substring(6, form[i].id.length);
      if (form[i].hasClassName("notEmpty")) {
        if (!requireCheck_notEmpty(id)) error = true;
      }
      if (form[i].hasClassName("email")) {
        if (!requireCheck_email(id)) error = true;
      }
      if (form[i].hasClassName("date")) {
        if (!requireCheck_date(id)) error = true;
      }
    }
  }
  if (error) {
    $('formRequireAlert').show();
    return false;
  } else {
    $('formRequireAlert').hide();
    return true;
  }  
}

/////// validate email address
function isEmail(s) {
  var a = false;
  var res = false;
  if(typeof(RegExp) == 'function') {
    var b = new RegExp('abc');
    if(b.test('abc') == true){a = true;}
  }
  
  if(a == true) {
    reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
                     '(\\@)([a-zA-Z0-9\\-\\.]+)'+
                     '(\\.)([a-zA-Z]{2,4})$');
    res = (reg.test(s));
  } else {
    res = (s.search('@') >= 1 &&
           s.lastIndexOf('.') > s.search('@') &&
           s.lastIndexOf('.') >= s.length-5)
  }
  return(res);
}

////////////// validate date
function isDate(s) {
  var a = false;
  var res = false;
  
  if(typeof(RegExp) == 'function') {
    var b = new RegExp('abc');
    if(b.test('abc') == true){a = true;}
  }
  if(a == true) {
    reg = new RegExp("^[0-9]{1,2}\.[0-9]{1,2}\.[0-9]{4}$");
    res = (reg.test(s));
  }
  return res;
}

var module_form = {
  save: function() {
    var modulePosition = getModulePosition();
    Lightbox.hideBox();
    if (modulePosition == 0)
      Content.reload();
    else if (modulePosition == 1)
      TeaserControl.reload();
  }
}
