addLoadListener(init);

function init()
{
  document.forms[0].onsubmit = validateFields;

  return true;
}

function validateFields() {
  var elements = document.forms[0].elements;
  var emailPattern = /^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/;
  var telefonoPattern = /^\d{9}$/;
  var fechaPattern = /^\d{2}\-\d{2}\-\d{4}$/;
  var menserror = 'El formulario no puede ser enviado.\n';
  
    for (var i = 0; i < elements.length; i++)  {
		elements[i].style.backgroundColor = "#ffffff";
  
  if (/(^| )validar( |$)/.test(elements[i].className) && elements[i].value == "") {
		elements[i].focus();
		elements[i].style.backgroundColor = "#ff9d9d";
		//elements[i].style.borderColor = "#ff0000";
		quien = elements[i].name;
		mimenserror = menserror + 'Por favor, rellene la casilla ' + quien+'.';
		alert(mimenserror);
		return false;
    }

    if (/(^| )valEmail( |$)/.test(elements[i].className) && !emailPattern.test(elements[i].value))
    {
		elements[i].focus();
		elements[i].style.backgroundColor = "#ff9d9d";
		quien = elements[i].name;
		mailmal = menserror;
		mailmal = mailmal + '\nEl email no parece válido.';
		alert(mailmal);
		return false;
    }
	
	if (/(^| )valTelefono( |$)/.test(elements[i].className) && !telefonoPattern.test(elements[i].value))  {
		elements[i].focus();
		elements[i].style.backgroundColor = "#ff9d9d";
		quien = elements[i].name;
		telmal = menserror;
		telmal = telmal + '\nEl telefono no parece válido.';
		alert(telmal);
		return false;
    }
	
	 if (/(^| )valFecha( |$)/.test(elements[i].className) && !fechaPattern.test(elements[i].value))
    {
		elements[i].focus();
		elements[i].style.backgroundColor = "#ff9d9d";
		quien = elements[i].name;
		mailmal = menserror;
		mailmal = mailmal + '\nLa fecha debe estar en formato dd-mm-yyyy.';
		alert(mailmal);
		return false;
    }
	 if (/(^| )fecha2( |$)/.test(elements[i].className))
    {
		var ant = i-1;
		var entdia = elements[ant].value.split("-")[0]
		var saldia=elements[i].value.split("-")[0]
		//alert("dia de salida "+saldia + " dia de entrada "+entdia);
		var entmes = elements[ant].value.split("-")[1]
		var salmes=elements[i].value.split("-")[1]
		//alert("mes de salida "+salmes + " mes de entrada "+entmes);
		var entany = elements[ant].value.split("-")[2]
		var salany=elements[i].value.split("-")[2]
		//alert("any de salida "+salany + " any de entrada "+entany);
		if ((saldia < entdia) && (entmes >= salmes)) {  var digo="no"; }
		if (entmes > salmes) { var digo = "no"; }
		if (salany > entany) { var digo= "si"; }
		if (digo == "no") {
		elements[i].focus();
		elements[i].style.backgroundColor = "#ff9d9d";
		quien = elements[i].name;
		mailmal = menserror;
		mailmal = mailmal + '\nLa fecha de salida debe ser posterior a la fecha de entrada.';
		alert(mailmal);
		return false;
		}
    }
	
	}

//alert('vale');
  return true;
}

function addLoadListener(fn)
{
  if (typeof window.addEventListener != 'undefined')
  {
    window.addEventListener('load', fn, false);
  }
  else if (typeof document.addEventListener != 'undefined')
  {
    document.addEventListener('load', fn, false);
  }
  else if (typeof window.attachEvent != 'undefined')
  {
    window.attachEvent('onload', fn);
  }
  else
  {
    var oldfn = window.onload;
    if (typeof window.onload != 'function')
    {
      window.onload = fn;
    }
    else
    {
      window.onload = function()
      {
        oldfn();
        fn();
      };
    }
  }
}

