/***************** Start - Check AJAX compatibility of Browser **************************/
var xmlHttp = new GetXmlHttpObject();
function GetXmlHttpObject()
{
	var xmlHttp=null;
	try
	  {
	  // Firefox, Opera 8.0+, Safari
	  	xmlHttp=new XMLHttpRequest();
	  }
	catch (e)
	  {
	  // Internet Explorer
	  try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
	  catch (e)
		{
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	  }
	return xmlHttp;
}
/***************** End - Check AJAX compatibility of Browser **************************/
/*********************Start - Check Email Format ***************************/
function checkEMailFormat (emailStr)
{
	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:'\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);
	if (matchArray==null) 
		return false;

	var user=matchArray[1];
	var domain=matchArray[2];

	for (i=0; i<user.length; i++) 
		{
			if (user.charCodeAt(i)>127) 
				{
					//alert("Ths username contains invalid characters.");
					return false;
				}	
		}
	for (i=0; i<domain.length; i++) 
		{
			if (domain.charCodeAt(i)>127) 
				{
					return false;
				}
		}

	if (user.match(userPat)==null) 
		{
			return false;
		}
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) 
		{
			// this is an IP address
			for (var i=1;i<=4;i++) 
				{
					if (IPArray[i]>255) 
						{
							//alert("Destination IP address is invalid!");
							return false;
						}
				}
			return true;
		}

	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++) 
		{
			if (domArr[i].search(atomPat)==-1) 
				{
					return false;
				}
		}
	if (checkTLD && domArr[domArr.length-1].length!=2 && 
		domArr[domArr.length-1].search(knownDomsPat)==-1) 
			{
				return false;
			}

	if (len<2) 
		{
			//alert("This address is missing a hostname!");
			return false;
		}

	
	return true;
}
/*********************End - Check Email Format ***************************/

 // Check For Blank Spaces 
function trim(par)
{
	var y = par.length;
	var ret = '';
	var ex=0;
	var bl=0;
	for (i=0;i<y;i++)
	{
		if (par.charAt(i) == ' ')
			bl = bl+1
		else
		{
			ret=ret+par.charAt(i);
			ex = ex+1
		}
	}
	if (bl==y)
		return true;
	else 
		return false;
 }


//Check Empty Fields
function emptyField(oTextField)
{
	if (oTextField.value.length == 0) return true;
	for (var i=0; i< oTextField.value.length; i++)
	{
		var ch = oTextField.value.charAt(i);
		if (ch != ' ' && ch != '\t') return false;
	}
}
function splCharsMeta(FieldName)
{
	/*var iChars =  "'-/\"<>";*/
	var iChars = "/<>\"\\'#&*";
	for (var i = 0; i < FieldName.value.length; i++)
	{
		if (iChars.indexOf(FieldName.value.charAt(i)) != -1)
		{
			return true;
		}
	}

}
function splChars(FieldName)
{
 	var iChars = "/<>\\'";
 	for (var i = 0; i < FieldName.value.length; i++)
	{
		if (iChars.indexOf(FieldName.value.charAt(i)) != -1)
	    {
			return true;
		}
	}
}

function splCharspersonaldtl(FieldName)
{
 	var iChars = "<>\"\\'";
 	for (var i = 0; i < FieldName.value.length; i++)
	{
		if (iChars.indexOf(FieldName.value.charAt(i)) != -1)
	    {
			return true;
		}
	}
}

function splCharsdl(FieldName)
{
 	var iChars = "<>\"\\'#&*";
 	for (var i = 0; i < FieldName.value.length; i++)
	{
		if (iChars.indexOf(FieldName.value.charAt(i)) != -1)
	    {
			return true;
		}
	}
}
function wtrim(par)
{
	var y = par.length;
	var ret = '';
	var ex=0;
	var bl=0;
	for (i=0;i<y;i++)
	{
		if (par.charAt(i) == ' ')
			bl = bl+1
		else
		{
			ret=ret+par.charAt(i);
			ex = ex+1
		}
	}
	if (bl==y)
		return true;
	else 
		return false;
	
}
function splChars2(FieldName)
{
	var iChars = ".-";

	for (var i = 0; i < FieldName.value.length; i++)
	{
		if (iChars.indexOf(FieldName.value.charAt(i)) != -1)
	   	{
			//alert ("--Remove Special Characters from "FieldName "Field--");
			return true;
		}
	}
}
function splCharsPrice(FieldName)
{
	var iChars = "-";

	for (var i = 0; i < FieldName.value.length; i++)
	{
		if (iChars.indexOf(FieldName.value.charAt(i)) != -1)
	   	{
			//alert ("--Remove Special Characters from "FieldName "Field--");
			return true;
		}
	}
}
/********* End - Function for Special Characters **************/

/********* End - Function for Special Characters **************/

function splCharsdquote(FieldName)
{
	var iChars = "$^'&*()+=[]\\\;,./{}|\":<>?";

	for (var i = 0; i < FieldName.value.length; i++)
	{
		if (iChars.indexOf(FieldName.value.charAt(i)) != -1)
	   	{
			//alert ("--Remove Special Characters from "FieldName "Field--");
			return true;
		}
	}
}

 

function checkMandatoryBooking(checkform,driverage,minrentslap,maxbookingdays,bookbeforehour)
{	
    	var sMessage = "";
 	if (document.getElementById('cmbPickCity').value == 0)
	    sMessage = sMessage + "\r\n" + "---Select Pickup City";
	if (document.getElementById('cmbPcickStation').value == 0)
	    sMessage = sMessage + "\r\n" + "---Select Pickup Station";
	if (emptyField(document.forms[0].ddate))					
		sMessage = sMessage + "\r\n" + "---Pickup Date"; 
		
	if (document.getElementById('cmbReturnCity').value == 0)
	    sMessage = sMessage + "\r\n" + "---Select Return City";
	if (document.getElementById('cmbReturnStation').value == 0)
	    sMessage = sMessage + "\r\n" + "---Select Return Station";
	if (emptyField(document.forms[0].rdate))					
		sMessage = sMessage + "\r\n" + "---Return Date";  
		
	/************/

 	ato=document.forms[0].rdate.value;
	
	ato = ato.split("-");
	sato = ato[1] + "/" + ato[0] + "/" + ato[2];
	
	afrom=document.forms[0].ddate.value;
	afrom = afrom.split("-");
	safrom = afrom[1] + "/" + afrom[0] + "/" + afrom[2];
	var currentTime = new Date();
	var month = currentTime.getMonth() + 1;
	var day = currentTime.getDate();
	var year = currentTime.getFullYear();
   
    	if((Date.parse(month + "/" + day + "/" + year)) > (Date.parse(sato)))
	{
		sMessage = sMessage + "\r\n" + "---Return Date should Not be Less Than Current Date";	
	} 
 	if((Date.parse(month + "/" + day + "/" + year)) > (Date.parse(safrom)))
	{
		sMessage = sMessage + "\r\n" + "---PickUp Date should Not be Less Than Current Date";	
	} 

	if((Date.parse(sato))< (Date.parse(safrom)))
		sMessage = sMessage + "\r\n" + "---Return Date Should not be Less than Pickup Date";
	else if((Date.parse(sato))== (Date.parse(safrom)))
	{
		if (document.forms[0].cmbPickHour.value==document.forms[0].cmbReturnHour.value)
		{
			if (document.forms[0].cmbPickMinute.value==document.forms[0].cmbReturnMinute.value)
				sMessage = sMessage + "\r\n" + "---Return Time Should not be equal to Pickup Time On the Same date";	
			else if (document.forms[0].cmbReturnMinute.value < document.forms[0].cmbPickMinute.value)
			{
				sMessage = sMessage + "\r\n" + "---Return Time Should be Greater than Pickup Time ";	
			}
		}

		else if ((document.forms[0].cmbPickHour.value)*1 > (document.forms[0].cmbReturnHour.value)*1)
		{
			sMessage = sMessage + "\r\n" + "---Return Time Should be Greater than Pickup Time ";	
		}	
	}
	
	var difftime=Date.parse(sato)-Date.parse(safrom);
 	var one_day = 1000 * 60 * 60 * 24;
	var nodays=(difftime/one_day); 
 	
    	if((nodays) < minrentslap )
 	{
 		sMessage = sMessage + "\r\n" + "---You can't book for less than "+" "+minrentslap+" "+"days";	
 	} 
	if((nodays) > maxbookingdays )
 	{
 		sMessage = sMessage + "\r\n" + "---You can't book for more than "+" "+maxbookingdays+" "+"days";	
 	} 
	
	if (((isNaN(document.forms[0].txtDriverage.value)))||(document.forms[0].txtDriverage.value.indexOf('-')>-1)|| (document.frmBooking.txtDriverage.value.indexOf(' ')>-1))
			sMessage += "\n---Driver Age should contain digits only ";
	else if (document.forms[0].txtDriverage.value < driverage)
		sMessage = sMessage + "\r\n" + "---Driver Age should not be less than"+" "+driverage+" "+"years";
		
		
	if (document.forms[0].chkPreBook.checked == true)
    {
		if (document.forms[0].txtPreBookingno.value=='Enter Booking No.')
	         sMessage = sMessage + "\r\n" +"---Enter Booking No.";	
		else if (emptyField(document.forms[0].txtPreBookingno))
		 	 sMessage = sMessage + "\r\n" +"---Enter Booking No.";
		
	}


/********* Find Hour Difference **********/
	//new Date(year, month, day, hours, minutes, seconds, milliseconds)
	var currentTime = new Date();     // Current date Time
	var picktime=document.forms[0].cmbPickHour.value;
	var pickdatewithhour = new Date(afrom[2],afrom[1]-1,afrom[0],picktime,0,0);     // Another date Time
 	var hourdiff= timeDifferenceinhours(pickdatewithhour,currentTime);
 	if((hourdiff) < bookbeforehour )
 	{
  		sMessage = sMessage + "\r\n" + "---You can only book before "+" "+bookbeforehour+" "+"hours";	
 	} 
/*******************/
		
	if (sMessage.length > 0)
		alert("Please fill the following mandatory field" + sMessage);
			
  		
	else	
	{	
		document.formallhidenfields.PickCity.value=document.forms[0].cmbPickCity.value;
		
		document.formallhidenfields.PcickStation.value=document.forms[0].cmbPcickStation.value;
		document.formallhidenfields.pickupDateddMMYY.value=document.forms[0].ddate.value;

		document.formallhidenfields.PickHour.value=document.forms[0].cmbPickHour.value;
		document.formallhidenfields.PickMinute.value=document.forms[0].cmbPickMinute.value;
 		document.formallhidenfields.ReturnCity.value=document.forms[0].cmbReturnCity.value;
		document.formallhidenfields.ReturnStation.value=document.forms[0].cmbReturnStation.value;
		document.formallhidenfields.dropoffDateddMMYY.value=document.forms[0].rdate.value;
		document.formallhidenfields.ReturnHour.value=document.forms[0].cmbReturnHour.value;

		document.formallhidenfields.ReturnMinute.value=document.forms[0].cmbReturnMinute.value;
		document.formallhidenfields.CarGroup.value=document.forms[0].cmbCarGroup.value;//selected car groip
		//document.formallhidenfields.group_id.value=document.forms[0].cmbCarGroup.value;
		document.formallhidenfields.txtDriverage.value=document.forms[0].txtDriverage.value;
		document.formallhidenfields.Editourcar.value=document.forms[0].Editourcar.value;
		
		document.formallhidenfields.txtPreBookingno.value=document.forms[0].txtPreBookingno.value;
		var redirectvalue=document.forms[0].redirect.value;

 		if(redirectvalue==2)
		{
 			document.formallhidenfields.action='bookingstep2.php';
		}
		else
		{
			document.formallhidenfields.action='ourcar3.php';
			
		}
		document.formallhidenfields.method = "post";
		document.formallhidenfields.submit();

	} 
 }

/************ Time ifference Between two days and Times in Hours *********/
function timeDifferenceinhours(laterdate,earlierdate) 
{
	var difference = laterdate.getTime() - earlierdate.getTime();
 	var HourDifference = Math.floor(difference/1000/60/60);
	return HourDifference;
}
/*********************************/

/****************** unchange of pick up city***********************/
function showstationforpickupcity()
{
	xmlHttp=GetXmlHttpObject();
		
	var pickcityvalue=document.frmBooking.cmbPickCity.value;
	if (xmlHttp==null)
	{
	  	alert ("Your browser does not support AJAX!");
	  	return;
	}

	//var url="innerrentalbooking.php?scrid="+escape(ser1)+"&Pick=1";
	var url="innebooking.php?pickcityid="+pickcityvalue+"&Pick=1";
	xmlHttp.onreadystatechange=showpickstation;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);

}
function showpickstation() 
{ 
	if (xmlHttp.readyState==4)
		document.getElementById("PickStation").innerHTML=xmlHttp.responseText;
	
}

/****************** unchange of return city***********************/
function showstationforreturncity()
{
	xmlHttp=GetXmlHttpObject();
		
	var returncityvalue=document.frmBooking.cmbReturnCity.value;

	if (xmlHttp==null)
	{
	  	alert ("Your browser does not support AJAX!");
	  	return;
	}

	var url="innebooking.php?returncityid="+returncityvalue+"&Pick=2";
	xmlHttp.onreadystatechange=showreturnstation;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}
function showreturnstation() 
{ 
	if (xmlHttp.readyState==4)
		document.getElementById("ReturnStation").innerHTML=xmlHttp.responseText;
	
}

/************************************sending values to hidden form*******************************/
function bookthiscar(var1,var2,var3,var4,var5)
{
	//alert(var1);
	document.formallhidenfields.hcarid.value=var1;
	document.formallhidenfields.onlineprice.value=var2;
	document.formallhidenfields.offlineprice.value=var3;
	document.formallhidenfields.group_id.value=var4;
	
	document.formallhidenfields.txtDriverage.value=var5;

	document.formallhidenfields.action='bookingstep3.php';
	document.formallhidenfields.method = "post";
	document.formallhidenfields.submit();
}
/**************************/
function gotopage(pageno)
{
	document.formallhidenfields.action=pageno;
	document.formallhidenfields.method = "post";
	document.formallhidenfields.submit();
}
function changeStateoftextbox()
{
	if (document.frmBooking.chkPreBook.checked==true)
	{
		document.frmBooking.txtPreBookingno.disabled=false;
	}
	else
	{
		document.frmBooking.txtPreBookingno.disabled=true;
	}
}
/*********** Free Items ****************/
	function showfreeitems()
	{
		
		var chvalue='';
		var Count=0;
		var chtotalitems='';
		var number=document.formBookacar3.checkfreeind.length;
		if (number>0)
		{
			for(var j=0; j < number; j++)
			{
				if(document.formBookacar3.checkfreeind[j].checked)
				{
					var thischvalue=document.formBookacar3.checkfreeind[j].value;	//alert(thischvalue);	
 					var noofitems= document.getElementById('optionextrababyFree'+thischvalue).value;
 
					chvalue +=thischvalue + " ";
					chtotalitems +=noofitems+ " ";

					Count= Count+1;
				}
			}
		}
		else if(document.formBookacar3.checkfreeind.checked)
		{
			var thischvalue=document.formBookacar3.checkfreeind.value;				//alert(thischvalue);	
			var noofitems= document.getElementById('optionextrababyFree'+thischvalue).value;
			

			chvalue =thischvalue ;
			chtotalitems =noofitems;

			Count= Count+1;
		}

		document.formallhidenfields.checkfreeind.value=chvalue;
 		document.formallhidenfields.freeqtys.value=chtotalitems;
 	}

/******************function to calculate rate chart********************************/
function calctotalcmb(comboval,comboid,diffdate)
{
	
	var myArray = comboid.split('paid');
 	var id = myArray[1];
	var paiditemid='';
 	var perdayrate= document.getElementById('paiditemsrate'+id).value;
 	var totvalue =Math.ceil(perdayrate*comboval*diffdate*100)/100;
	document.getElementById('totalrate'+id).value=totvalue;
 	var thisdiv='divisionpaiditems'+id;
	var invalue = '<span > <strong>'+totvalue+'&euro; </strong> </span>';
 	document.getElementById(thisdiv).innerHTML = invalue; 
 	showpaiditemrates();
}
function showpaiditemrates()
{
		xmlHttp=GetXmlHttpObject();
 		if (xmlHttp==null)
		{
			alert ("Your browser does not support AJAX!");
			return;
		}
		var chvalue='';
		var Count=0;
		var chtotalitems='';
		
 		var chvalueinsu='';
		var Countinsu=0;
 		/************** Check Optional Extra Details **********/
		if (document.formBookacar3.checkindpaid)
		{
			var number=document.formBookacar3.checkindpaid.length;
			if (number>0)
			{
				for(var j=0; j < number; j++)
				{
					if(document.formBookacar3.checkindpaid[j].checked)
					{
						
						var thischvalue=document.formBookacar3.checkindpaid[j].value;
						var noofitems= document.getElementById('optionextrapaid'+thischvalue).value;
 						chvalue +=thischvalue + " ";
						chtotalitems +=noofitems+ " ";
 						Count= Count+1;
					}
					
				}
				
			}
			else if(document.formBookacar3.checkindpaid.checked)
			{
				var thischvalue=document.formBookacar3.checkindpaid.value;					
				var noofitems= document.getElementById('optionextrapaid'+thischvalue).value;
 				chvalue =thischvalue ;
				chtotalitems =noofitems;
 				Count= Count+1;				
			}	
		}
 		/************** End - Check Optional Extra Details **********/
		/************** Check Insurance Details **********/
		if (document.formBookacar3.checkindinsu)
		{
			
			var numberinsurance=document.formBookacar3.checkindinsu.length;
			if (numberinsurance>0)
			{
				for(var j=0; j < numberinsurance; j++)
				{
					if(document.formBookacar3.checkindinsu[j].checked)
					{
  						var thischvalue=document.formBookacar3.checkindinsu[j].value;					
						chvalueinsu +=thischvalue + " ";
  						Countinsu= Count+1;
					}
 				}
			}
			else if(document.formBookacar3.checkindinsu.checked)
			{
				var thischvalue=document.formBookacar3.checkindinsu.value;			
				chvalueinsu =thischvalue ;			
				Countinsu= Count+1;
			}
		}		
		/************** End - Check Insurance Details **********/
		document.formallhidenfields.paidids.value=chvalue;
		document.formallhidenfields.paidqtys.value=chtotalitems;
		document.formallhidenfields.insselected.value=chvalueinsu;
 		var hcarid=document.formallhidenfields.hcarid.value;
		var diffdate=document.formallhidenfields.diffdate.value;
		var onlineprice = document.formallhidenfields.onlineprice.value;
		var offlineprice =document.formallhidenfields.offlineprice.value;
		var picknightcharge = document.formallhidenfields.picknightcharge.value;
		var dropnightcharge =document.formallhidenfields.dropnightcharge.value;
		
		var locationcharges =document.formallhidenfields.locationcharges.value;
	 
		var group_id =document.formallhidenfields.group_id.value;
 		var url="innerratechart.php?chvalue="+chvalue+"&chtotalitems="+chtotalitems+"&hcarid="+hcarid+"&diffdate="+diffdate+"&onlineprice="+onlineprice+"&offlineprice="+offlineprice+"&picknightcharge="+picknightcharge+"&dropnightcharge="+dropnightcharge+"&locationcharges="+locationcharges+"&group_id="+group_id+"&chkinsurance="+chvalueinsu;
		//alert(url);
		xmlHttp.onreadystatechange=StatePaiditems;
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
}
function StatePaiditems() 
{ 
	if (xmlHttp.readyState==4)
		document.getElementById("calculateratechart").innerHTML=xmlHttp.responseText;	
}
/******************End-function to calculate rate chart********************************/
/************************function to validate personal details*************************/
function checkmandatorypersonaldetails(check,driverage)
 {	
  	var sMessage = "";
	
	if (emptyField(document.forms[0].txtFirstName))					
		sMessage = sMessage + "\r\n" + "---Enter First Name";   
		else if(trim(document.forms[0].txtFirstName.value))	
			sMessage = sMessage + "\r\n" + "---Remove blank spaces from First Name field";
		else if(splChars(document.forms[0].txtFirstName))
			sMessage = sMessage + "\r\n" + "---Remove Special Characters from First Name field";	
    if (emptyField(document.forms[0].txtLastName))					
		sMessage = sMessage + "\r\n" + "---Enter Last Name";   
		else if(trim(document.forms[0].txtLastName.value))	
			sMessage = sMessage + "\r\n" + "---Remove blank spaces from Last Name field";
		else if(splChars(document.forms[0].txtLastName))
			sMessage = sMessage + "\r\n" + "---Remove Special Characters from Last Name field";
 	if(emptyField(document.forms[0].txtEmail))
			sMessage = sMessage + "\r\n" + "---Enter Email ID";
		else if(!(checkEMailFormat(document.forms[0].txtEmail.value))) 
			sMessage = sMessage + "\r\n" + "---Enter Valid Email ID";		
	if(emptyField(document.forms[0].txtConfirmEmail))
			sMessage = sMessage + "\r\n" + "---Enter Confirm Email ID";		  
  		else if((document.forms[0].txtEmail.value)!= (document.forms[0].txtConfirmEmail.value))	
			sMessage = sMessage + "\r\n" + "---Email ID and Confirm Email ID  don't match";	
	if (((isNaN(document.forms[0].txtPhone.value)))||(document.forms[0].txtPhone.value.indexOf('-')>-1)||(document.forms[0].txtPhone.value.indexOf(' ')>-1))
			sMessage += "\n---Phone No should contain Integer Value ";
 	if (emptyField(document.forms[0].txtMobile))					
		sMessage = sMessage + "\r\n" + "---Enter Mobile No";   
		else if(trim(document.forms[0].txtMobile.value))	
			sMessage = sMessage + "\r\n" + "---Remove blank spaces from Mobile No field";
		else if (((isNaN(document.forms[0].txtMobile.value)))||(document.forms[0].txtMobile.value.indexOf('-')>-1))
			sMessage += "\n---Mobile No should contain Integer Value ";
	if (emptyField(document.forms[0].txaAddress))					
		sMessage = sMessage + "\r\n" + "---Enter Address";   
		else if(trim(document.forms[0].txaAddress.value))	
			sMessage = sMessage + "\r\n" + "---Remove blank spaces from Address field";
		else if(splCharspersonaldtl(document.forms[0].txaAddress))
			sMessage = sMessage + "\r\n" + "---Remove Special Characters from Address field";
		else if((document.forms[0].txaAddress.value.length)	>150)
			sMessage = sMessage + "\r\n" + "---Address field should not contain more than 150 characters";
	if (emptyField(document.forms[0].txtCity))					
		sMessage = sMessage + "\r\n" + "---Enter City";   
		else if(trim(document.forms[0].txtCity.value))	
			sMessage = sMessage + "\r\n" + "---Remove blank spaces from City field";
		else if(splChars(document.forms[0].txtCity))
			sMessage = sMessage + "\r\n" + "---Remove Special Characters from City field";
	if (emptyField(document.forms[0].txtCountry))					
		sMessage = sMessage + "\r\n" + "---Enter Country";   
		else if(trim(document.forms[0].txtCountry.value))	
			sMessage = sMessage + "\r\n" + "---Remove blank spaces from Country field";
		else if(splChars(document.forms[0].txtCountry))
			sMessage = sMessage + "\r\n" + "---Remove Special Characters from Country field";
			
	if ((document.getElementById('seldt').value == 0) || (document.getElementById('selmon').value == 0) || (document.getElementById('selyr').value == 0))
	        sMessage = sMessage + "\r\n" + "---Enter Driver's Date Of Birth";
	 if (document.forms[0].selmon.value == 2) 
		 { // check For february 29th
			  var isleap = (document.forms[0].selyr.value % 4 == 0 && (document.forms[0].selyr.value % 100 != 0 || document.forms[0].selyr.value % 400 == 0));
			 if (document.forms[0].seldt.value  >29 || (document.forms[0].seldt.value==29 && !isleap))
 		 	 {
			       alert("Please enter a valid date for Driver's Date Of Birth.");
 				   return false;
 		   	 }
 		 } 
		 
	  if(splCharsdl(document.forms[0].txtdlnom))
			sMessage = sMessage + "\r\n" + "---Remove Special Characters from D.L No. field";
	/********* Find Hour Difference **********/
	//new Date(year, month, day, hours, minutes, seconds, milliseconds)
	var currentTime = new Date();     // Current date Time
	var dobdt=document.getElementById('seldt').value;
	var dobmon=document.getElementById('selmon').value;
	var dobyr=document.getElementById('selyr').value;
	
	var drvdob = new Date(dobyr,dobmon-1,dobdt,0,0,0);     // Another date Time
	
	var dobdiff= dateDifferenceindays(drvdob,currentTime);
	var driveageindays=driverage*365;
	 
  	if((dobdiff) < driveageindays )
 	{
  		sMessage = sMessage + "\r\n" + "---The Driver Age should not be less than "+" "+driverage+" "+"years for this car";	
 	}
/*******************/
			
	 
	 
	if (document.forms[0].checkConfirm.checked==false)					
			sMessage = sMessage + "\r\n" + "---Please Check Terms and Conditions";  
			
	if((document.forms[0].txaConfirmpickup.value.length) >300)
			sMessage = sMessage + "\r\n" + "---Pick Up Details field should not contain more than 300 characters";
 	else if(splCharspersonaldtl(document.forms[0].txaConfirmpickup))
			sMessage = sMessage + "\r\n" + "---Remove Special Characters from Pick Up Details field";
			
	 if((document.forms[0].txacomments.value.length)	>300)
			sMessage = sMessage + "\r\n" + "---Comments field should not contain more than 300 characters"; 
	else if(splCharspersonaldtl(document.forms[0].txacomments))
			sMessage = sMessage + "\r\n" + "---Remove Special Characters from Comments field";
			
	
    
	if (sMessage.length > 0)
	{
		alert("Please fill the following mandatory field" + sMessage);
	}
	else	
	{	
		document.formallhidenfields.selTitle.value=document.forms[0].selTitle.value;
		
		document.formallhidenfields.txtFirstName.value=document.forms[0].txtFirstName.value;
		document.formallhidenfields.txtLastName.value=document.forms[0].txtLastName.value;

		document.formallhidenfields.txtPhone.value=document.forms[0].txtPhone.value;
		document.formallhidenfields.txtMobile.value=document.forms[0].txtMobile.value;

		for (var i=0; i < document.forms[0].rdGender.length; i++)
		{
			if ( document.forms[0].rdGender[i].checked)
			{
				var rdGender =  document.forms[0].rdGender[i].value;
			}
		}

		document.formallhidenfields.rdGender.value=rdGender;
		document.formallhidenfields.txaAddress.value=document.forms[0].txaAddress.value;
		document.formallhidenfields.txtEmail.value=document.forms[0].txtEmail.value;
		document.formallhidenfields.txtCity.value=document.forms[0].txtCity.value;
		document.formallhidenfields.txtConfirmEmail.value=document.forms[0].txtConfirmEmail.value;

		document.formallhidenfields.txtpostcode.value=document.forms[0].txtpostcode.value;
		document.formallhidenfields.cmbConfirmPick.value=document.forms[0].cmbConfirmPick.value;
		document.formallhidenfields.txtCountry.value=document.forms[0].txtCountry.value;

		document.formallhidenfields.txaConfirmpickup.value=document.forms[0].txaConfirmpickup.value;
		
		document.formallhidenfields.txacomments.value=document.forms[0].txacomments.value;
		document.formallhidenfields.advamount.value=document.forms[0].advamount.value;
		
		
		document.formallhidenfields.seldt.value=document.forms[0].seldt.value;
		document.formallhidenfields.selmon.value=document.forms[0].selmon.value;
		document.formallhidenfields.selyr.value=document.forms[0].selyr.value;
		
		document.formallhidenfields.txtdlnom.value=document.forms[0].txtdlnom.value;
		
		document.formallhidenfields.action='bookingstep5.php';
		document.formallhidenfields.method = "post";
		document.formallhidenfields.submit();

	}
 }
 /************************End function to validate personal details*************************/
 
 /************ Time ifference Between two days and Times in Hours *********/
function dateDifferenceindays(laterdate,earlierdate) 
{
	//var difference = laterdate.getTime() - earlierdate.getTime();
	var difference = earlierdate.getTime() - laterdate.getTime();///here difference is from current date - date of birth
  	var dateDifference = Math.floor(difference/1000/60/60/24);
	return dateDifference;
}
/*********************************/

 /************************function to validate modify reservation*************************/
function checkModifyReservation(check,var1)
{	
	var sMessage = "";
	
	if (emptyField(check.txtRefno))					
		sMessage = sMessage + "\r\n" + "---Enter Booking Reference Number";   
	else if(trim(check.txtRefno.value))	
		sMessage = sMessage + "\r\n" + "---Remove blank spaces from Booking Reference Number";
	else if(splChars(check.txtRefno))
		sMessage = sMessage + "\r\n" + "---Remove Special Characters from Booking Reference Number";	

	if(emptyField(check.txtEmailId))
		sMessage = sMessage + "\r\n" + "--- Enter Email ID";
	else if(!(checkEMailFormat(check.txtEmailId.value))) 
		sMessage = sMessage + "\r\n" + "---Enter Valid Email ID";	
	
	var optype=check.optype.value;
	if (sMessage.length > 0)
	{
		alert("Please fill the following mandatory field" + sMessage);
		return false; 	
	}		
	else
	{
		 if (optype==1)
			{
				var con = confirm("Are you Sure to Cancel the Reservation ?");
				if (!con)
				{
					return false;	
				}
				else
				{
					var str=check.txtRefno.value;
					var bookingpre=str.split(" ");
					var prefix=bookingpre[0];
						
					if(prefix.toLowerCase()==var1.toLowerCase())
					{
						document.frmModRev.action='bookingstep5.php';
						document.frmModRev.method = "post";
						document.frmModRev.submit();
					}
 					else
					{
						alert("Invalid Booking Information");
					}
				}
			}
		else
		{
			var str=check.txtRefno.value;
			var bookingpre=str.split(" ");
			var prefix=bookingpre[0];
				
			if(prefix.toLowerCase()==var1.toLowerCase())
			{
				document.frmModRev.action='bookingstep5.php';
				document.frmModRev.method = "post";
				document.frmModRev.submit();
			}
 			else
			{
				alert("Invalid Booking Information");
			}
		}
	}
}

function showerror(mesg,validbookingdays)
{ 
		var code01 = "-- Invalid Reference Number or Email ID--";  
		var code02 = "-- Booking Cancelled Successfully--";
		//var code03 = "---Your Booking is no longer valid---";
		var code03 = "---Modify/cancel your Reservation before minimum "+validbookingdays+" Days ---";
		var code04 = "---You can not Modify more than onces ---";
		
		if(mesg.length>0)
		{
			alert(eval(mesg));
		} 
}
function showmsg(mesg)
{ 
		var code01 = "-- Invalid Booking Period--";  
		 
		if(mesg.length>0)
		{
			alert(eval(mesg));
		} 
}
function showerrorcaravl(mesg2)
	{ 
		var code08 = "-- This Car is Already Booked Choose Another Car--";  
		if(mesg2.length>0)
		{
			alert(eval(mesg2));
		} 
	}
/************************End function to validate modify reservation*************************/
/**********************function to validate contact form********************************/
function checkMandatoryContact(check)
 {	
 	var sMessage = "";
	
	if (emptyField(check.txtFirstname))					
		sMessage = sMessage + "\r\n" + "---Enter Name";   
		else if(trim(check.txtFirstname.value))	
			sMessage = sMessage + "\r\n" + "---Remove blank spaces from Name field";
		else if(splChars(check.txtFirstname))
			sMessage = sMessage + "\r\n" + "---Remove Special Characters from Name field";
 	if(emptyField(check.txtEmail))
			sMessage = sMessage + "\r\n" + "---Enter Email ID";
		else if(!(checkEMailFormat(check.txtEmail.value))) 
			sMessage = sMessage + "\r\n" + "---Enter Valid Email ID";	
 	if (emptyField(check.txtTelephone))					
		sMessage = sMessage + "\r\n" + "---Enter Telephone No";   
		else if(trim(check.txtTelephone.value))	
			sMessage = sMessage + "\r\n" + "---Remove blank spaces from Telephone No field";
		else if(splChars(check.txtTelephone))
			sMessage = sMessage + "\r\n" + "---Remove Special Characters from Telephone No field";
		else if (((isNaN(check.txtTelephone.value)))||(check.txtTelephone.value.indexOf('-')>-1))
			sMessage += "\n---Telephone No should contain Integer Value ";
 	if (emptyField(check.txtFeedback1))					
		sMessage = sMessage + "\r\n" + "---Enter Comments/Questions";   
	else if((check.txtFeedback1.value.length)> 299)
	sMessage = sMessage + "\r\n" + "---Comments/Questions field should not contain more than 300 characters";

 	if (sMessage.length > 0)
		alert("Please fill the following mandatory field" + sMessage);
		
		else
		
			return true;
		return false; 	
	}
/*****************************end function to validate contact form***************************/
function bookourcar(var1,var2)
{
  	document.formallhidenfields.hcarid.value=var1;
    //document.formallhidenfields.ccid.value=var1;
	document.formallhidenfields.group_id.value=var2;

 	document.formallhidenfields.action='ourcar2.php';
	document.formallhidenfields.method = "post";
	document.formallhidenfields.submit();
}

/********** Confirm Booking **********/
function confirmbooking()
{
	gotopage('submitbooking.php');
}
/*******************/
/************** function to clear the page ***********/

function init()
{
	document.frmBooking.reset();				
}

/************** function to reset the page ***********/

