
function validateEmail(email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   if(reg.test(email) == false)
    return false;
   else
    return true;
}

function validatePhone(number) {
  var reg = /^(\+420)? ?[0-9]{3} ?[0-9]{3} ?[0-9]{3}$/;
   if(reg.test(number) == false)
    return false;
   else
    return true;
}

function validateNumber(number, length)
{
  if (length > 0)
    var re = new RegExp("^[0-9]{"+length+"}");
  else
    var re = new RegExp("^-?[0-9]+");
  return re.test(number);
}

// function validateSelect(element) {
//     if ( typeof element == "undefined")
//       return false;
//     
//     var selected = element.options[element.selectedIndex].value;
//     
//     if (selected != 0)
//         return true;
//     
//     return false;
// }




var validacni_hlasky = new Array();


function validateForm(formId)
{

  var inputy = jQuery("#"+formId+" .validate_empty");
  for (i = 0; i < inputy.length; i++)
  {
    if (inputy[i].value == "")
    {
      if (validacni_hlasky[inputy[i].name] != undefined)
        alert(validacni_hlasky[inputy[i].name]);
      else
        alert("Nebyly vyplněny všechny položky označené hvězdičkou (*).");
      inputy[i].focus();
      return false;
    }
  }                                     


  var emaily = jQuery("#"+formId+" .validate_email");
  for (i = 0; i < emaily.length; i++)
  {
    if (emaily[i].value.length>0 && !validateEmail(emaily[i].value))
    {
      if (validacni_hlasky[emaily[i].name] != undefined)
        alert(validacni_hlasky[emaily[i].name]);
      else
        alert("Není vyplněn správný formát emailu.");
      emaily[i].focus();
      return false;
    }
  }
  



  var telefony = jQuery("#"+formId+" .validate_phone");
  for (i = 0; i < telefony.length; i++)
  {
    if (!validatePhone(telefony[i].value))
    {
      if (validacni_hlasky[telefony[i].name] != undefined)
        alert(validacni_hlasky[telefony[i].name]);
      else
        alert("Není vyplněn správný formát telefonu.");
      telefony[i].focus();
      return false;
    }
  }
  


//   var textarea = jQuery("#"+formId+" .validate_fill");
//   for (i = 0; i < textarea.length; i++)
//   {
//     if (textarea[i].innerHTML == "")
//     {
//       alert(textarea[i].innerHTML);
//       if (validacni_hlasky[textarea[i].name] != undefined)
//         alert(validacni_hlasky[textarea[i].name]);
//       else
//         alert("Musí být vyplněno.");
//       textarea[i].focus();
//       return false;
//     }
//   } 

  var radio = jQuery("#"+formId+" .validate_radio");
  for (i = 0; i < radio.length; i++)
  {
    var var_name = jQuery("input[name='"+radio[i].name+"']:checked");
    if (var_name.length == 0)
    {
      if (validacni_hlasky[radio[i].name] != undefined)
        alert(validacni_hlasky[radio[i].name]);
      else
        alert("Musíte zaškrtnout některou z možností.");
      //radio[i].focus();
      return false;
    }
  }

  var input_numbers = jQuery("#"+formId+" input[class^='validate_number_']");
  for (i = 0; i < input_numbers.length; i++)
  {
    var number_length = input_numbers[i].className.substring(16, input_numbers[i].className.length);
    if (!validateNumber(input_numbers[i].value, number_length))
    {
      if (validacni_hlasky[input_numbers[i].name] != undefined)
        alert(validacni_hlasky[input_numbers[i].name]);
      else
        alert("Musí být vyplněn správný formát telefonu (např. 777123456).");
      input_numbers[i].focus();
      return false;
    }
  }
  
  var selects = jQuery("#"+formId+" .validate_select");
  for (i = 0; i < selects.length; i++)
  {
    var var_name = jQuery("select[name='"+selects[i].name+"'] option:selected")[0].value;
    if (var_name == "")
    {
      if (validacni_hlasky[selects[i].name] != undefined)
        alert(validacni_hlasky[selects[i].name]);
      else
        alert("Musíte vybrat některou z možností.");
        
      selects[i].focus();
      selects[i].size = selects[i].options.length;
      
      selects[i].onblur = function() {
        this.size = 1;
      }
      
      return false;
    }
  }

  var checkBoxy = jQuery("#"+formId+" .validate_checkbox_group");
  for (i = 0; i < checkBoxy.length; i++)
  {
    var checkBoxGroup = jQuery(checkBoxy[i]).children("input:checked");
    if (checkBoxGroup.length == 0)
    {
      if (validacni_hlasky[checkBoxy[i].id] != undefined)
        alert(validacni_hlasky[checkBoxy[i].id]);
      else
        alert("Musíte zaškrtnout souhlas se zařazením osobních údajů do databáze společnosti NH Car.");
      return false;
    }
  }



  var inputy = jQuery("#"+formId+" .validate_captcha");
  for (i = 0; i < inputy.length; i++)
  {
    if (inputy[i].value == "")
    {
      if (validacni_hlasky[inputy[i].name] != undefined)
        alert(validacni_hlasky[inputy[i].name]);
      else
        alert("Musíte opsat číselnou řadu z obrázku.");
      inputy[i].focus();
      return false;
    }
  }     







  return true;
}





