/* - - - - - - - - - - - - - 
Javascript para el sitio web hotelvillablanca.com(c) 2005-2006.
- - - - - - - - - - - - - */
mensajes = new Array;
mensajes["en"]=new Array("Please enter required fields.",
						 "Please enter correct e-mail.",
						 "Please enter correct date.",
						 "Arrival date must be smaller or equal than departure date."
						);

mensajes["es"]=new Array("Debe introducir los campos obligatorios.",
						 "Debe introducir una direcci&oacute;n de correo v&aacute;lida.",
						 "Debe introducir una fecha v&aacute;lida.",
						 "La fecha de entrada debe ser menor o igual que la fecha de salida."
						);


mensajes["ca"]=new Array("Ha d'introduir els camps obligatoris.",
						 "Ha d'introduir una adre&ccedil;a de correu valida.",
						 "Ha d'introduir una data valida.",
						 "La data d'entrada ha de ser menor o igual que la data de sortida."
						);

mensajes["ga"]=new Array("Debe introducir os campos obrigatorios.",
						 "Debe introducir un enderezo de correo valido.",
						 "Debe introducir unha data valida.",
						 "A data de entrada debe ser menor ou igual a data de saida."
						);

mensajes["fr"]=new Array("Il doit introduire les domaines obligatoires.",
						 "Il doit introduire un courrier &eacute;lectronique valable.",
						 "Il doit introduire une date valable.",
						 "La date d'entr&eacute;e doit &ecirc;tre plus petit ou &eacute;gal que la date de sortie."
						);

mensajes["de"]=new Array("Sie m&uuml;ssen die obligatorische pl&auml;tze ausf&uuml;llen.",
						 "Sie m&uuml;ssen eine g&uuml;ltige adresse ausf&uuml;llen.",
						 "Sie m&uuml;ssen ein g&uuml;ltiges datum ausf&uuml;llen.",
						 "Das eintrittsdatum muss fr&uuml;her oder gleich als das ausgangsdatum sein."
						);

mensajes["nl"]=new Array("De verplichte spaties invullen.",
						 "Een geldig email adres invullen.",
						 "Een geldige datum invullen.",
						 "De start datum moet dezelfde of eerder zijn dan de vertrekdatum."
						);

mensajes["eu"]=new Array("Derrigorrezko eremuak bete behar dituzu.",
						 "Baliozkoa den postako helbidea sartu behar duzu.",
						 "Baliozko data bat sartu behar duzu.",
						 "Sarrerako datak irteerako data baino lehenagokoa edo berdina izan behar du."
						);

var pt_email=/\w.+\@\w.+\.[a-z]{2,3}$/;


function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
/*
-------------------------------------------------------------------------------------
*/
function trim (valor) {
  primerBlanco = /^ /
  ultimoBlanco = / $/
  variosBlancos = /[ ]+/g

  valor = valor.replace (primerBlanco,"");
  valor = valor.replace (ultimoBlanco,"");
  valor = valor.replace (variosBlancos,"");

  return valor;
}
/*
-------------------------------------------------------------------------------------
*/
function quitaComillas (obj) {
  var cadena = "";
  comillaSimple = /\'/g;
  comillaDoble = /\"/g;
  
  cadena = obj.value;
  cadena = cadena.replace (comillaSimple,"`");
  cadena = cadena.replace (comillaDoble,"");
  obj.value = cadena;
  
}
/*
-------------------------------------------------------------------------------------
*/
function acentos (x) {
	// Spanish - Español
	// Portuguese - Portugués - Português
	// Italian - Italiano
	// French - Francés - Français
	// Also accepts and converts html entities for all the above.
	
	//if (navigator.appVersion.toLowerCase().indexOf("windows") != -1) {return x}
	
	x = x.replace(/&iexcl;/g,"\xA1");
	x = x.replace(/&iquest;/g,"\xBF");
	x = x.replace(/&Agrave;/g,"\xC0");
	x = x.replace(/&agrave;/g,"\xE0");
	x = x.replace(/&Aacute;/g,"\xC1");
	x = x.replace(/&aacute;/g,"\xE1");
	x = x.replace(/&Acirc;/g,"\xC2");
	x = x.replace(/&acirc;/g,"\xE2");
	x = x.replace(/&Atilde;/g,"\xC3");
	x = x.replace(/&atilde;/g,"\xE3");
	x = x.replace(/&Auml;/g,"\xC4");
	x = x.replace(/&auml;/g,"\xE4");
	x = x.replace(/&Aring;/g,"\xC5");
	x = x.replace(/&aring;/g,"\xE5");
	x = x.replace(/&AElig;/g,"\xC6");
	x = x.replace(/&aelig;/g,"\xE6");
	x = x.replace(/&Ccedil;/g,"\xC7");
	x = x.replace(/&ccedil;/g,"\xE7");
	x = x.replace(/&Egrave;/g,"\xC8");
	x = x.replace(/&egrave;/g,"\xE8");
	x = x.replace(/&Eacute;/g,"\xC9");
	x = x.replace(/&eacute;/g,"\xE9");
	x = x.replace(/&Ecirc;/g,"\xCA");
	x = x.replace(/&ecirc;/g,"\xEA");
	x = x.replace(/&Euml;/g,"\xCB");
	x = x.replace(/&euml;/g,"\xEB");
	x = x.replace(/&Igrave;/g,"\xCC");
	x = x.replace(/&igrave;/g,"\xEC");
	x = x.replace(/&Iacute;/g,"\xCD");
	x = x.replace(/&iacute;/g,"\xED");
	x = x.replace(/&Icirc;/g,"\xCE");
	x = x.replace(/&icirc;/g,"\xEE");
	x = x.replace(/&Iuml;/g,"\xCF");
	x = x.replace(/&iuml;/g,"\xEF");
	x = x.replace(/&Ntilde;/g,"\xD1");
	x = x.replace(/&ntilde;/g,"\xF1");
	x = x.replace(/&Ograve;/g,"\xD2");
	x = x.replace(/&ograve;/g,"\xF2");
	x = x.replace(/&Oacute;/g,"\xD3");
	x = x.replace(/&oacute;/g,"\xF3");
	x = x.replace(/&Ocirc;/g,"\xD4");
	x = x.replace(/&ocirc;/g,"\xF4");
	x = x.replace(/&Otilde;/g,"\xD5");
	x = x.replace(/&otilde;/g,"\xF5");
	x = x.replace(/&Ouml;/g,"\xD6");
	x = x.replace(/&ouml;/g,"\xF6");
	x = x.replace(/&Oslash;/g,"\xD8");
	x = x.replace(/&oslash;/g,"\xF8");
	x = x.replace(/&Ugrave;/g,"\xD9");
	x = x.replace(/&ugrave;/g,"\xF9");
	x = x.replace(/&Uacute;/g,"\xDA");
	x = x.replace(/&uacute;/g,"\xFA");
	x = x.replace(/&Ucirc;/g,"\xDB");
	x = x.replace(/&ucirc;/g,"\xFB");
	x = x.replace(/&Uuml;/g,"\xDC");
	x = x.replace(/&uuml;/g,"\xFC");
	
	/*
	x = x.replace(/\"/g,"\x22");
	x = x.replace(/\'/g,"\x27");
	x = x.replace(/\</g,"\x3C");
	x = x.replace(/\>/g,"\x3E");
	x = x.replace(/\[/g,"\x5B");
	x = x.replace(/\]/g,"\x5D");
    */

	x = x.replace(/&cent;/g,"\xA2"); 
	x = x.replace(/&pound;/g,"\xA3");
	x = x.replace(/&euro;/g,"\u20AC"); 
	x = x.replace(/&copy;/g,"\xA9"); 
	x = x.replace(/&reg;/g,"\xAE"); 
	x = x.replace(/&ordf;/g,"\xAA"); 
	x = x.replace(/&ordm;/g,"\xBA"); 
	x = x.replace(/&deg;/g,"\xB0"); 
	x = x.replace(/&plusmn;/g,"\xB1");
	x = x.replace(/&times;/g,"\xD7"); 
	
		
	return x;
}

/*
-------------------------------------------------------------------------------------
*/
function bisiesto (anyo) {
  if ((anyo % 100) == 0){
   if ((anyo % 400) == 0){ return true; }
  }
  else {
   if ((anyo % 4) == 0) { return true; }
  }
  return false;
}
/*
-------------------------------------------------------------------------------------
*/
function val_fecha (vDia, vMes, vAnyo)
{
 if(vDia.length!=0 && vMes.length!=0 && vAnyo.length!=0)
 {
  if ((!isNaN(vDia))&&(!isNaN(vMes))&&(!isNaN(vAnyo)))
  {
   
    var dia=vDia
    var mes=vMes
    var anyo=vAnyo
    if ((mes<1)||(mes>12)) { return false; }
    if ((dia<1)||(dia>31)) { return false;}
    if ((dia>30)&&((mes==4)||(mes==6)||(mes==9)||(mes==11))){ return false; }
    if ((dia>28)&&(mes==2)&&(!bisiesto(anyo))) { return false; }
    if ((dia>29)&&(mes==2)&&(bisiesto(anyo))) { return false; }
    if (anyo<1900){ return false; }
    
    return true;
  }
  else 
  {
   return false;
  }
 }
}
/*
-------------------------------------------------------------------------------------
*/
function fechaMenorIgual(dia1, mes1, anio1, dia2, mes2, anio2){
 
  var nfecha1=(anio1*10000)+(mes1*100)+dia1;
  var nfecha2=(anio2*10000)+(mes2*100)+dia2;
  var menor;
  if (nfecha1<=nfecha2) 
    menor=true;
  else 
    menor=false;
  return menor;
}
/*
-------------------------------------------------------------------------------------
*/
function check_obli(form,lang) {
	for(i=0;i < form.length;i++)
	{
		if(form.elements[i].className == 'fieldObl' && (form.elements[i].value == null || trim(form.elements[i].value) == ''))
		{
			alert (acentos(mensajes[lang][0])); 
			return(false);
		}
	}
	return(true);
}
/*
-------------------------------------------------------------------------------------
*/
function comprobarEmail (obj) {
  cadena = obj.value;
  if (cadena.length > 0) {
    if (cadena.search(pt_email) != 0) { 
      return(false);
    }
	else {
	  return (true);
	}
  }
  else 
    return (true);
}
/*
-------------------------------------------------------------------------------------
*/
function onblurCheckEmail (objTxt, lang) {
    
    if (comprobarEmail(objTxt) == false) {
		alert (acentos(mensajes[lang][1]));
		objTxt.focus();
	    objTxt.select();
		return (false);
	}
	else
	  return (true);
	
}
/*
-------------------------------------------------------------------------------------
*/
function onclickForm (objFrm, lang) {
  	
    var continuar = "1";
    
	
	if (!onblurCheckEmail (objFrm.p_email, lang))
      continuar = "0";
    
	if (continuar == "1") {
	  if (check_obli(objFrm,lang)) 
    	objFrm.submit();
	}
  
}
/*
-------------------------------------------------------------------------------------
*/
function onclickFormReservas (objFrm, lang) {
  var msg = "";
  var continuar = "1";
  v_eldia = objFrm.day1.value;
  v_elmes = objFrm.month1.value;
  v_elano = objFrm.year1.value;

  if (!val_fecha(v_eldia, v_elmes, v_elano)) {
    continuar = "0";
	alert (acentos(mensajes[lang][2]));
  }
  
  if (continuar == "1") {
    v_eldia2 = objFrm.day2.value;
    v_elmes2 = objFrm.month2.value;
    v_elano2 = objFrm.year2.value;
    if (!val_fecha(v_eldia2, v_elmes2, v_elano2)) {
      continuar = "0";
	  alert (acentos(mensajes[lang][2]));
    }
  }
  
  if (continuar == "1") {
    if (!fechaMenorIgual(v_eldia, v_elmes, v_elano, v_eldia2, v_elmes2, v_elano2)) {
      alert(acentos(mensajes[lang][3]));
	  continuar = "0";
    }
  }
  
  
  if (continuar == "1") {
    if (!onblurCheckEmail (objFrm.email, lang))
      continuar = "0";
  }
  

  if (continuar == "1") {
    if (check_obli(objFrm,lang)) 
    	objFrm.submit();
  }
  

}
