/////////////////////////////////// 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 cb2 = formRSV.cb2.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[1].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 || !cb2)
 	{
     alert(" Dovete accettare le CONSENSI E PRIVACY circostanze.\n");
	 return false;
 	}
	formRSV.submit();
	return true;
 }	
}
/*=========================================================================================================*/
function checkSearch(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;
	}
  else if( frm.nights.value > xday )
	{ 
	alert(ymsg);
	return false;
	}

frm.submit();
}
}
function checkDate(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()
{

	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
{   formCNT.submit();
	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;
    }

}