/////////////////////////////////// JAVASCRIPT CODE

function IsNumeric(strString)   
   {
   var strValidChars = "0123456789";
   var strChar;
   var blnResult = true;
   if (strString.length == 0) return false;
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
   }


/////////////////////////////////////////


function check(m,y)
{

	var nm = formRSV.nm.value;
	var snm = formRSV.snm.value;
	var cnt = formRSV.cnt.value;
	var email = formRSV.email.value;
	var phone = formRSV.phone.value;
	var nprs = formRSV.nprs.value;
	var rsv_type = formRSV.elements["rsv_type"];
	var own_nm = formRSV.own_nm.value;
	var crd_no = formRSV.crd_no.value;			
	var cb1 = formRSV.cb1.checked;
		
	var err="";
	if( nm == "" )
	{
		err += "Campo vuoto di nome non permesso.\n";
	}
	else if( IsNumeric(nm) ) {
		err += "Nome Non valido.\n";
	}
	if( snm == "" )
	{
		err += "Campo vuoto di Cognome non permesso.\n";
	}
	else if( IsNumeric(snm) ) {
		err += "CogNome Non valido.\n";
	}
	if( cnt == "" )
	{
		err += "Campo vuoto di Stato non permesso.\n";
	}
	else if( IsNumeric(cnt) ) {
		err += "Nome Non valido Del Stato.\n";
	}
	if( email == "" )
	{
		err += "Campo vuoto di E-mail non permesso.\n";
	}
	else 
	{
	 if (window.RegExp) 
	  {
    	var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
    	var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";
    	var reg1 = new RegExp(reg1str);
    	var reg2 = new RegExp(reg2str);
    	if (!reg1.test(email) && reg2.test(email))
      		err += "";
    	else err +="Email address Non valido.\n";
      } 
	 else
	  { if(str.indexOf("@") >= 0)
			err += "";
			else err +="Email address Non valido.\n";
   	  }
	
	}
	
 if( phone == "" )
	{
		err += "Campo vuoto di Tel non permesso.\n";
	}
	else if( !IsNumeric(phone) ) {
		err += "Numero di telefono Non valido.\n";
	}	
 if( nprs == "" )
	{
		err += "Campo vuoto di N.Persone non permesso.\n";
	}
	else if( !IsNumeric(nprs) || nprs == 0 ) {
		err += "N.persone Non valido.\n";
	}

 if( rsv_type[0].checked )
    {
	 if( own_nm == "" )
		err += "Campo vuoto di Nome dell'interstatario non permesso.\n";
	 else if( IsNumeric(own_nm) ) 
		err += "Nome dell'interstatario Non valido.\n";
	 if( crd_no == "" )
		err += "Campo vuoto di Numero di carta non permesso.\n";
	 else if( !(crd_no.length == 16) || !(IsNumeric(crd_no)) )
	  {
    	 if( !(crd_no.length == 14) || !(IsNumeric(crd_no)) )
			err += "Numero di carta Non valido.\n";
      }
	 err += chk_crd_month(m,y);	 
    }

if( err != "" )
{
	alert(err);
	return false;
}
else
 {	if( !cb1 )
 	{
     alert(" Dovete accettare le CONSENSI E PRIVACY circostanze.\n");
	 return false;
 	}
	formRSV.submit();
	return true;
 }	
}
/*=========================================================================================================*/
function checkSearch2(frm,day,month,year)
{
if(checkDate(frm))
{
rsv_date = new Date( frm.year.value, frm.month.value-1, frm.date.value );
now = new Date();
today = new Date( year, month-1, day );

  if( today > rsv_date )
	{ 
	alert("La data cui vostro stanno andando cercare è passata..\nProva per una certa data futura.");
	return false;
	}
  if( frm.nights.value == "" )
    {
  	alert("Campo Vuoto Di Notti.");
	return false;
	}
  else if( !IsNumeric(frm.nights.value) )
    {
  	alert("Le notti dovrebbero essere in numerico.");
	return false;
	}	
frm.submit();
}
}
function checkDate2(frm)
 	{
		var newday = frm.date.value;
		var newmonth = frm.month.value;
		var newyear = frm.year.value;
					
			if( newday > 30 && ( newmonth == 4 ||  newmonth == 6 ||  newmonth == 9 ||  newmonth == 11) )
			  {
			    alert("Giorno di Wronge della data.");
				return false;
			  }
			else if( newday > 31 && ( newmonth == 1 ||  newmonth == 3 ||  newmonth == 5 ||  newmonth == 7 ||  newmonth == 8 ||  newmonth == 10 ||  newmonth == 12) )  
			  {
			    alert("Giorno di Wronge della data.");
				return false;
			  }
			else if( newday > 28 &&  newmonth == 2 )
			  {
			    if( !(newday == 29 && (( newyear % 4 ) == 0)) )
		 			{
					    alert("Giorno di Wronge della data.");
						return false;
					}	
			  }
		return true;	  
	}		  
	
//===========================================================================================================
function checkCNT(formCNT)
{

	var nm = formCNT.nm.value;
	var email = formCNT.email.value;
	var phone = formCNT.phone.value;
	var rqst = formCNT.rqst.value;			
		
	var err="";
	if( nm == "" )
	{
		err += "Campo vuoto di Nominativo non permesso.\n";
	}
	else if( IsNumeric(nm) ) {
		err += "Introduca prego un nome valido nel campo di Nominativo.\n";
	}
   if( !IsNumeric(phone) && phone != "" ) 
    {
		err += "Registri prego un telefono valido no. nel giacimento del telefono.\n";
	}	

	
	if( email == "" )
	{
		err += "Campo vuoto del email non permesso.\n";
	}
	else 
	{
	 if (window.RegExp) 
	  {
    	var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
    	var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";
    	var reg1 = new RegExp(reg1str);
    	var reg2 = new RegExp(reg2str);
    	if (!reg1.test(email) && reg2.test(email))
      		err += "";
    	else err +="Email address non valido.\n";
      } 
	 else
	  { if(str.indexOf("@") >= 0)
			err += "";
			else err +="Email address non valido.\n";
   	  }
	}

 if( rqst == "" )
	{
		err += "Svuoti il campo di richiesta non permesso.\n";
	}


if( err != "" )
{
	alert(err);
	return false;
}
else
{   

	return true;
 }	
}
/*===============================================================================================*/
function lastDayOfMonth( emonth, eyear) 
{
			if( emonth == 4 ||  emonth == 6 ||  emonth == 9 ||  emonth == 11) 
			    ld = 30;
			else if( emonth == 1 ||  emonth == 3 ||  emonth == 5 ||  emonth == 7 ||  emonth == 8 ||  emonth == 10 ||  emonth == 12)   
			    ld = 31;
			else if( emonth == 2 && !(( eyear % 4 ) == 0))
			    ld = 28;
			else
			    ld = 29;
return ld;
}
/*==================================================================================================*/
function chk_crd_month(m,y)
{

var em = formRSV.emonth.value;
var ey = formRSV.eyear.value;
var eld = lastDayOfMonth(em,ey); 
edate = new Date( ey, em-1, eld );
var ld = lastDayOfMonth(m,y);
today = new Date( y, m-1, ld );

if( today > edate )
	return "La data di scadenza della carta di credito è passata.\n";
else 
	return ""; 	

}
/*======================================================================================================*/
function disable_fields()
{
  x = document.formRSV;
  if( x.rsv_type[0].checked )
    {
	 x.own_nm.disabled = true;
	 x.crd_no.disabled = true;
	 x.crd_type.disabled = true;
	 x.emonth.disabled = true;
	 x.eyear.disabled = true;
    }
	else if( x.rsv_type[1].checked )
    {
	 x.own_nm.disabled = false;
	 x.crd_no.disabled = false;
	 x.crd_type.disabled = false;
	 x.emonth.disabled = false;
	 x.eyear.disabled = false;
    }

}
/*=======================================================================================================*/
function checkSearch(frm,day,month,year)
{
if(checkDate(frm,frm.sdate.value,frm.smonth.value,frm.syear.value,"Arrivo") && checkDate(frm,frm.edate.value,frm.emonth.value,frm.eyear.value,"Partenza"))
{
s_date = new Date( frm.syear.value, frm.smonth.value-1, frm.sdate.value );
e_date = new Date( frm.eyear.value, frm.emonth.value-1, frm.edate.value );
now = new Date();
today = new Date( year, month-1, day );

  if( today > s_date || today > e_date)
	{ 
	alert("La data cui vostro stanno andando cercare è Passed.\nTry per una certa data o date futura.");
	return false;
	}
  else
    if( s_date >= e_date)
	{ 
	alert("La data di arrivo è più vecchio o stesso della data di partenza.");
	return false;
	}

frm.submit();
}
}
function checkDate(frm,newday,newmonth,newyear,type)
 	{
				
			if( newday > 30 && ( newmonth == 4 ||  newmonth == 6 ||  newmonth == 9 ||  newmonth == 11) )
			  {
			    alert("Giorno di Wronge della data di "+type+".");
				return false;
			  }
			else if( newday > 31 && ( newmonth == 1 ||  newmonth == 3 ||  newmonth == 5 ||  newmonth == 7 ||  newmonth == 8 ||  newmonth == 10 ||  newmonth == 12) )  
			  {
			    alert("Giorno di Wronge della data di "+type+".");
				return false;
			  }
			else if( newday > 28 &&  newmonth == 2 )
			  {
			    if( !(newday == 29 && (( newyear % 4 ) == 0)) )
		 			{
					    alert("Giorno di Wronge della data di "+type+".");
						return false;
					}	
			  }
		return true;	  
	}		  
	
