function validateForm(e) {
  var form = Sinecon.Event.delegate(e);
  var valid = true;
  /* var invalid = new Object();
  invalid.required = new Object();
  var labels = document.getElementsByTagName("label"); */
  for (var i = 0; i < form.elements.length; i++) {
    if (form.elements[i].className.match("required")) {
      var panelid = form.elements[i].name+"_invalid";
      var panel = document.getElementById(panelid);
      if (!panel) {
        panel = document.createElement("div");
        panel.id = panelid;
        panel.className = "invalid";
        form.elements[i].parentNode.appendChild(panel);
      }
      panel.innerHTML = "";
      if (!form.elements[i].value) {
        valid = false;
        /* invalid.required[form.elements[i].name] = form.elements[i].name;
        for (var j = 0; j < labels.length; j++) {
          if (labels[j].htmlFor == form.elements[i].id) {
            invalid.required[form.elements[i].name] = labels[j].innerHTML;
          }
        } */
        panel.innerHTML = form.required.value;
      }
    }    
    if (form.elements[i].className.match("required_email")) {
      var panelid = form.elements[i].name+"_invalid";
      var panel = document.getElementById(panelid);
      if (!panel) {
        panel = document.createElement("div");
        panel.id = panelid;
        panel.className = "invalid";
        form.elements[i].parentNode.appendChild(panel);
      }
      panel.innerHTML = "";
      if (!validateEmail(form.elements[i].value)) {
        valid = false;
        /* invalid.required[form.elements[i].name] = form.elements[i].name;
        for (var j = 0; j < labels.length; j++) {
          if (labels[j].htmlFor == form.elements[i].id) {
            invalid.required[form.elements[i].name] = labels[j].innerHTML;
          }
        } */
        panel.innerHTML = form.required.value;
      }
    }
  }
  if (!valid) {
    /* var s = form.required.value;
    for (var prop in invalid.required) {
      s += "\n\t"+invalid.required[prop];
    }
    alert(s); */
    Sinecon.Event.cancel(e);
  }
}

function validateEmail(elementValue){
  var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; 
  return emailPattern.test(elementValue); 
}

function unmaskEmail(link) {
  if (link.href.match(/^mailto:/) || link.innerHTML.indexOf('##'+'kukac##') != -1) {
    link.innerHTML = decodeURIComponent(link.innerHTML).replace('##'+'kukac##', String.fromCharCode(64));
    link.href = decodeURIComponent(link.href).replace('##'+'kukac##', String.fromCharCode(64));
  }
}

function fillSelect(select, options) {
  select.options.length = 0;
  select.options[0] = new Option((translations && translations.choose ? translations.choose : "Válassz"), "");
  var j = 1;
  for (var i in options) {
    if (options.hasOwnProperty(i)) select.options[j++] = new Option(options[i], i);
  }
}

