function validate_reserve()
{
	
	myOption = -1;
	for (i=document.frmReserve.optTrip.length-1; i > -1; i--) {
	if (document.frmReserve.optTrip[i].checked) {
	option_radio =  document.frmReserve.optTrip[i].value; myOption = i; i = -1;
	}
	}
	//alert(option_radio); return false;
	
	if(option_radio == 'muliple' )
	{
		//alert('hi');
		
			if(isEmpty(document.frmReserve.txtSsAddrM.value))
			{
				alert("Please, enter your Start Address or Intersection.");
				document.frmReserve.txtSsAddrM.focus();
				return false;
			}
			if(isEmpty(document.frmReserve.txtSczAddrM.value))
			{
				alert("Please, enter your Start City or ZIP Code.");
				document.frmReserve.txtSczAddrM.focus();
				return false;
			}
			if(isEmpty(document.frmReserve.txtEsAddrM.value))
			{
				alert("Please, enter your End Address or Intersection.");
				document.frmReserve.txtEsAddrM.focus();
				return false;
			}
			if(isEmpty(document.frmReserve.txtEczAddrM.value))
			{
				alert("Please, enter your End City or ZIP Code..");
				document.frmReserve.txtEczAddrM.focus();
				return false;
			}
			
			if(isEmpty(document.frmReserve.txtFDateM.value) || document.frmReserve.txtFDateM.value == 'MM/DD/YYYY')
			{
				alert("Please, enter your Depart Date.");
				document.frmReserve.txtFDateM.focus();
				return false;
			}
			if(isEmpty(document.frmReserve.departhourM.value))
			{
				alert("Please, enter your Depart Hour.");
				document.frmReserve.departhourM.focus();
				return false;
			}
			if(isEmpty(document.frmReserve.departminuteM.value))
			{
				alert("Please, enter your Depart Minute.");
				document.frmReserve.departminuteM.focus();
				return false;
			}
			if(isEmpty(document.frmReserve.departtimeslotM.value))
			{
				alert("Please, enter your Depart AM/PM.");
				document.frmReserve.departtimeslot.focus();
				return false;
			}

			//////////////
			if(isEmpty(document.frmReserve.txtSsAddrM1.value))
			{
				alert("Please, enter your Start Address or Intersection.");
				document.frmReserve.txtSsAddrM1.focus();
				return false;
			}
			if(isEmpty(document.frmReserve.txtSczAddrM1.value))
			{
				alert("Please, enter your Start City or ZIP Code.");
				document.frmReserve.txtSczAddrM1.focus();
				return false;
			}
			if(isEmpty(document.frmReserve.txtEsAddrM1.value))
			{
				alert("Please, enter your End Address or Intersection.");
				document.frmReserve.txtEsAddrM1.focus();
				return false;
			}
			if(isEmpty(document.frmReserve.txtEczAddrM1.value))
			{
				alert("Please, enter your End City or ZIP Code.");
				document.frmReserve.txtEczAddrM1.focus();
				return false;
			}
			
			if(isEmpty(document.frmReserve.txtTDateM1.value) || document.frmReserve.txtTDateM1.value == 'MM/DD/YYYY')
			{
				alert("Please, enter your Depart Date.");
				document.frmReserve.txtTDateM1.focus();
				return false;
			}
			if(isEmpty(document.frmReserve.returnhourM1.value))
			{
				alert("Please, enter your Depart Hour.");
				document.frmReserve.returnhourM1.focus();
				return false;
			}
			if(isEmpty(document.frmReserve.returnminuteM1.value))
			{
				alert("Please, enter your Depart Minute.");
				document.frmReserve.returnminuteM1.focus();
				return false;
			}
			if(isEmpty(document.frmReserve.returntimeslotM1.value))
			{
				alert("Please, enter your Depart AM/PM.");
				document.frmReserve.returntimeslotM1.focus();
				return false;
			}



			//////////////
			if(isEmpty(document.frmReserve.txtSsAddrM2.value))
			{
				alert("Please, enter your Start Address or Intersection.");
				document.frmReserve.txtSsAddrM2.focus();
				return false;
			}
			if(isEmpty(document.frmReserve.txtSczAddrM2.value))
			{
				alert("Please, enter your Start City or ZIP Code.");
				document.frmReserve.txtSczAddrM2.focus();
				return false;
			}
			if(isEmpty(document.frmReserve.txtEsAddrM2.value))
			{
				alert("Please, enter your End Address or Intersection.");
				document.frmReserve.txtEsAddrM2.focus();
				return false;
			}
			if(isEmpty(document.frmReserve.txtEczAddrM2.value))
			{
				alert("Please, enter your End City or ZIP Code.");
				document.frmReserve.txtEczAddrM2.focus();
				return false;
			}
			
			if(isEmpty(document.frmReserve.txtTDateM2.value) || document.frmReserve.txtTDateM2.value == 'MM/DD/YYYY')
			{
				alert("Please, enter your Depart Date.");
				document.frmReserve.txtTDateM2.focus();
				return false;
			}
			if(isEmpty(document.frmReserve.returnhourM2.value))
			{
				alert("Please, enter your Depart Hour.");
				document.frmReserve.returnhourM2.focus();
				return false;
			}
			if(isEmpty(document.frmReserve.returnminuteM2.value))
			{
				alert("Please, enter your Depart Minute.");
				document.frmReserve.returnminuteM2.focus();
				return false;
			}
			if(isEmpty(document.frmReserve.returntimeslotM2.value))
			{
				alert("Please, enter your Depart AM/PM.");
				document.frmReserve.returntimeslotM2.focus();
				return false;
			}



			
			////////////////////////////////////// for trip 1 map loading ////////////////////////////// 
			
	document.frmReserve.txtAddress.value="from: " + document.frmReserve.txtSsAddrM.value +" "+ document.frmReserve.txtSczAddrM.value + " to: "+ document.frmReserve.txtEsAddrM.value +" "+ document.frmReserve.txtEczAddrM.value;
	
	document.frmReserve.txtAddress2.value="to: " + document.frmReserve.txtSsAddrM1.value +" "+ document.frmReserve.txtSczAddrM1.value + " to: "+ document.frmReserve.txtEsAddrM1.value +" "+ document.frmReserve.txtEczAddrM1.value;
	
	document.frmReserve.txtAddress3.value="to: " + document.frmReserve.txtSsAddrM2.value +" "+ document.frmReserve.txtSczAddrM2.value + " to: "+ document.frmReserve.txtEsAddrM2.value +" "+ document.frmReserve.txtEczAddrM2.value;
				
			//alert(document.frmReserve.txtAddress.value);	
			//alert(document.frmReserve.txtAddress2.value);	
			//alert(document.frmReserve.txtAddress3.value);	//return false;
		
			document.frmReserve.txtFDate.value = document.frmReserve.txtFDateM.value;
			
			document.frmReserve.departhour.value = document.frmReserve.departhourM.value;

			document.frmReserve.departminute.value = document.frmReserve.departminuteM.value;

			document.frmReserve.departtimeslot.value = document.frmReserve.departtimeslotM.value;

			document.frmReserve.txtSsAddr.value = document.frmReserve.txtSsAddrM.value;
			
			document.frmReserve.txtSczAddr.value = document.frmReserve.txtSczAddrM.value;
			
			document.frmReserve.txtEsAddr.value = document.frmReserve.txtEsAddrM.value;
			
			document.frmReserve.txtEczAddr.value = document.frmReserve.txtEczAddrM.value;
			
			//alert(document.frmReserve.txtAddress.value);
			
			////////////////////////////////////// for trip 1 map loading //////////////////////////////
	
	document.frmReserve.submit();
	
	return true;
	}
	
	if(isEmpty(document.frmReserve.txtSsAddr.value))
	{
		alert("Please, enter your Start City or ZIP Code.");
		document.frmReserve.txtSsAddr.focus();
		return false;
	}
	if(isEmpty(document.frmReserve.txtSczAddr.value))
	{
		alert("Please, enter your Start Address or Intersection.");
		document.frmReserve.txtSczAddr.focus();
		return false;
	}
	if(isEmpty(document.frmReserve.txtEsAddr.value))
	{
		alert("Please, enter your End City or ZIP Code.");
		document.frmReserve.txtEsAddr.focus();
		return false;
	}
	if(isEmpty(document.frmReserve.txtEczAddr.value))
	{
		alert("Please, enter your End Address or Intersection.");
		document.frmReserve.txtEczAddr.focus();
		return false;
	}
	if(isEmpty(document.frmReserve.txtFDate.value) || document.frmReserve.txtFDate.value == 'MM/DD/YYYY')
	{
		alert("Please, enter your Depart Date.");
		document.frmReserve.txtFDate.focus();
		return false;
	}
	if(isEmpty(document.frmReserve.departhour.value))
	{
		alert("Please, enter your Depart Hour.");
		document.frmReserve.departhour.focus();
		return false;
	}
	if(isEmpty(document.frmReserve.departminute.value))
	{
		alert("Please, enter your Depart Minute.");
		document.frmReserve.departminute.focus();
		return false;
	}
	if(isEmpty(document.frmReserve.departtimeslot.value))
	{
		alert("Please, enter your Depart Timeslot.");
		document.frmReserve.departtimeslot.focus();
		return false;
	}
	////////////////////////////////// for one way dont need ///////////////////////////////////

	//return false;

	if(option_radio == 'round')
	{
		
		if(isEmpty(document.frmReserve.txtTDate.value) || document.frmReserve.txtTDate.value == 'MM/DD/YYYY')
		{
			alert("Please, enter your Return Date or select One Way.");
			document.frmReserve.txtTDate.focus();
			return false;
		}
		if(isEmpty(document.frmReserve.returnhour.value))
		{
			alert("Please, enter your Return Hour.");
			document.frmReserve.returnhour.focus();
			return false;
		}
		if(isEmpty(document.frmReserve.returnminute.value))
		{
			alert("Please, enter your Return Minute.");
			document.frmReserve.returnminute.focus();
			return false;
		}
		if(isEmpty(document.frmReserve.returntimeslot.value))
		{
			alert("Please, enter your Return AM/PM.");
			document.frmReserve.returntimeslot.focus();
			return false;
		}
		
		//alert('return valid....');
		//return false;
		
		var from=document.frmReserve.txtFDate.value;
		
		var to=document.frmReserve.txtTDate.value;
		
		r_date = document.getElementById('txtTDate').value;
		//alert(r_date);
		r_hour = document.getElementById('returnhour').value;
		//alert(r_hour);
		r_mins = document.getElementById('returnminute').value;
		//alert(r_mins);
		r_slot = document.getElementById('returntimeslot').value;
		//alert(r_slot);
		if(r_slot == 'A.M')
		{
			if(Number(r_hour) == 12)
			{
				r_time = (Number(r_hour) - 12 ) + r_mins;
			}
			else
			{
				r_time = r_hour + r_mins;
			}
		}
		else if(r_slot == 'P.M')
		{
			if(r_hour == 12)
			{
				r_time = r_hour + r_mins;
			}
			else
			{
				r_time = (Number(r_hour) + 12) + r_mins;
			}
		}
		//alert(r_time);
		//final_date2 = r_date+" "+r_time;
		//alert(final_date2);
		
		//return false;
		
		d_hour1 = document.getElementById('departhour').value;
		//alert(d_hour1);
		d_mins1 = document.getElementById('departminute').value;
		//alert(d_mins1);
		d_slot1 = document.getElementById('departtimeslot').value;
		//alert(d_slot1);
		if(d_slot1 == 'A.M')
		{
			if(Number(d_hour1) == 12)
			{
				d_time1 = (Number(d_hour1) - 12) + d_mins1;
			}
			else
			{
				d_time1 = d_hour1 + d_mins1;
			}
		}
		else if(d_slot1 == 'P.M')
		{
			if(d_hour1 == 12)
			{
				d_time1 = d_hour1 + d_mins1;	
			}
			else
			{
				d_time1 = (Number(d_hour1) + 12) +  d_mins1;
			}
		}
		//alert(d_time1); 04/21/2009
		
		var d1 = new Date();
		
//		var today_date = d1.getMonth()+"/"+d1.getDate()+"/"+d1.getFullYear();
		
		//alert(today_date);
		
		
		//alert(from);
		var seperate = from.split("/");
		//alert(seperate[0]);
		var myDate=new Date();
		myDate.setFullYear(seperate[2],seperate[0]-1,seperate[1]);
		//alert(myDate.getMonth());
		var today = new Date();
	//   alert(myDate+"<"+d1);
		if (myDate<d1)
		  {
		      alert("The Depart Date and Time entered is in the past. Please, reenter your Depart Date and Time.");
			  return false;
		  }
				
	
		


		//if (Date.parse(today_date) > Date.parse(from))
//		{
//			alert("The Depart Date and Time entered is in the past. Please, reenter your Depart Date and Time."); 
//			return false;
//		}
//		

		if (Date.parse(from) > Date.parse(to))
		{
			alert("The Return Date and Time entered is before the Depart Date and Time entered. Please, reenter your Depart or Return Date and Time."); return false;
		}

		if( Number(r_time) < Number(d_time1) && (Date.parse(from) == Date.parse(to) ) )
		{
			alert("The Return Date and Time entered is before the Depart Date and Time entered. Please, reenter your Depart or Return Date and Time.");
			return false;
		}
		//alert('end of small date and time'); return false;
	}
	////////////////////////////////// /for one way dont need ///////////////////////////////////
	

	/////////////////////////////////////// Require time validation //////////////////////////////////////////////
	
	d_date = document.getElementById('txtFDate').value;
	//alert(d_date);
	d_hour = document.getElementById('departhour').value;
	//alert(d_hour);
	d_mins = document.getElementById('departminute').value;
	//alert(d_mins);
	d_slot = document.getElementById('departtimeslot').value;
	//alert(d_slot);
	if(d_slot == 'A.M')
	{
		if(Number(d_hour) == 12)
		{
			d_time = (Number(d_hour) - 12 )+":"+d_mins+":"+"00";
		}
		else
		{
			d_time = d_hour+":"+d_mins+":"+"00";
		}
	}
	else if(d_slot == 'P.M')
	{
		if(d_hour == 12)
		{
			d_time = d_hour+":"+d_mins+":"+"00";
		}
		else
		{
			d_hour = Number(d_hour)+Number(12);
			d_time = d_hour+":"+d_mins+":"+"00";
		}
	}
	//alert(d_time);
	final_date1 = d_date+" "+d_time;
	//alert(final_date1);
	//return false;

	var d = new Date();
	current_d = d.getDate();
	if(current_d < 10 )
	{
		current_d = "0"+current_d;
	}
	current_m = d.getMonth();
	current_m = Number(current_m) + 01;
	if(current_m < 10 )
	{
		current_m = "0"+current_m;
	}
	current_y = d.getFullYear();
	current_date = current_m+"/"+current_d+"/"+current_y;
	//alert(current_date);

	current_h = d.getHours();
	current_min = d.getMinutes();
	current_final_date = current_date+" "+current_h+":"+current_min+":00";
	//alert(current_final_date);
	//alert(final_date1);
	
	diff_cur_depart = calculate (current_final_date, final_date1);
	
	//alert(diff_cur_depart);
	//return false;
	
	
	//////////////////// out of area service area validation ////////////////////

	var out_far  = document.getElementById('out_distance').value;
	var out_far_end  = document.getElementById('out_distance_end').value;









	var outserviceratiofare = out_service_ratio(out_far,diff_cur_depart); 
	var outserviceratioend = 0;
	

	if (outserviceratiofare == false)
	{
		return false;
	}
	
	
	if(option_radio == 'round' || option_radio == 'multiple')
	{
		outserviceratioend = out_service_ratio(out_far_end,diff_cur_depart);
	}
		
	if(outserviceratioend == false && option_radio != 'oneway')
	{
		return false;	
	}

		document.getElementById('out_fare_ratio').value = outserviceratiofare;
		document.getElementById('out_fare_ratio_end').value = outserviceratioend;
		//return true;


	//alert(document.getElementById('out_fare_ratio').value);
	//alert(document.getElementById('out_fare_ratio_end').value);
	//return false;
	//////////////////// out of area service area validation ////////////////////


/////////////////////////////////////////////////////////////
	
		function p (i)
		{
			return Math.floor(i / 10) + "" + i % 10;
		}
		
		function init ()
		{
			var form = document.getElementById('frmReserve');
			var date = new Date();
			var s = p(date.getMonth() + 1) + "/" + p(date.getDate()) + "/" + date.getFullYear() + " " + p(date.getHours()) + ":" + p(date.getMinutes()) + ":" + p(date.getSeconds());
			if (form.date1.value == "")
				form.date1.value = s;
			if (form.date2.value == "")
				form.date2.value = s;
		}
		
		function trunc (i)
		{
			var j = Math.round(i * 100);
			return Math.floor(j / 100) + (j % 100 > 0 ? "." + p(j % 100) : "");
		}
		
		function calculate (first_date, second_date)
		{
			//alert(first_date);
			//alert(second_date);
			var date1 = new Date(first_date);
			var date2 = new Date(second_date);
			var sec = date2.getTime() - date1.getTime();
			if (isNaN(sec))
			{
				alert("Input data is incorrect!");
				return false;
			}
			if (sec < 0)
			{
				//alert("The second date ocurred earlier than the first one!");
				return false;
			}
		
			var second = 1000, minute = 60 * second, hour = 60 * minute, day = 24 * hour;
		
	
			var days = Math.floor(sec / day);
			sec -= days * day;
			var hours = Math.floor(sec / hour);
			sec -= hours * hour;
			var minutes = Math.floor(sec / minute);
			sec -= minutes * minute;
			var seconds = Math.floor(sec / second);
			
			difference_in_secs = ( (Number(days) * (24 * 3600) ) + (Number(hours) * 3600) + (Number(minutes) * 60) + ( minutes ) );
			
			return difference_in_secs;

		total_result = days + " day" + (days != 1 ? "s" : "") + ", " + hours + " hour" + (hours != 1 ? "s" : "") + ", " + minutes + " minute" + (minutes != 1 ? "s" : "") + ", " + seconds + " second" + (seconds != 1 ? "s" : "");
		}
			//alert(total_result);

	//return false;
	
	
	/////////////////////////////////////// Require time validation //////////////////////////////////////////////
	
	
	document.frmReserve.txtAddress.value="from: " + document.frmReserve.txtSsAddr.value +" "+ document.frmReserve.txtSczAddr.value + " to: "+ document.frmReserve.txtEsAddr.value +" "+ document.frmReserve.txtEczAddr.value;

	
	//alert(document.frmReserve.txtAddress.value); return false;
	
	document.frmReserve.submit();
	//return true;
}


function select_pay(vals)
{
	if(vals=="card_pay")
	{
		document.getElementById("card_pay").style.display="block";			
	}
	else
	{
		document.getElementById("card_pay").style.display="none";
	}
}

//////////clear user reservartion form...........................

function clear_reserve_data()
{

	var element_array = new Array('user_txt','password_txt','cpassword_txt','txtFName','txtLName','txtAddress1','txtAddress2','txtCity','txtState','txtCountry','txtZipcode','txtCNo','txtEmail','chkAgree');
   var value_array   = new Array(); //////  id=""
   var flag=true;  
   for (i=0;i<element_array.length;i++){
              //alert(element_array[i]);
          document.getElementById(element_array[i]+'_msg').innerHTML='';
          value_array[i] = trim(document.getElementById(element_array[i]).value);                  
    }
}

function validate_reserve_data()
{

		var element_array = new Array('user_txt','password_txt','cpassword_txt','txtFName','txtLName','txtAddress1','txtAddress2','txtCity','txtState','txtCountry','txtZipcode','txtCNo','txtEmail','chkAgree');
   var value_array   = new Array(); //////  id=""
   var flag=true;  
	   for (i=0;i<element_array.length;i++){
				  //alert(element_array[i]);
			  document.getElementById(element_array[i]+'_msg').innerHTML='';
			  value_array[i] = trim(document.getElementById(element_array[i]).value);                  
		}
	
	if(document.getElementById('no_of_passenger').value == 0)
	{	
		flag=false;
		alert('Please, select your Estimated Number of Passengers.');
		document.getElementById('no_of_passenger').focus();
		return false;
	}
	if(isEmpty(document.frmReserve.user_txt.value)) {
			document.getElementById('user_txt_msg').innerHTML =error_list[28];
			flag=false;
	}
	if(isEmpty(document.frmReserve.password_txt.value)) {
			document.getElementById('password_txt_msg').innerHTML =error_list[29];
			flag=false;
	}
	if(isEmpty(document.frmReserve.cpassword_txt.value)) {
			document.getElementById('cpassword_txt_msg').innerHTML =error_list[29];
			flag=false;
	}
	if(document.frmReserve.cpassword_txt.value != '' && document.frmReserve.password_txt.value != '') {
			
			if(document.frmReserve.password_txt.value == document.frmReserve.cpassword_txt.value)
			{}
			else
			{
				document.getElementById('cpassword_txt_msg').innerHTML =error_list[40];
				flag=false;
			}
	}
	
	if(isEmpty(document.frmReserve.txtFName.value)) {
			document.getElementById('txtFName_msg').innerHTML =error_list[0];
			flag=false;
	}
	if(isEmpty(document.frmReserve.txtLName.value)) {
			document.getElementById('txtLName_msg').innerHTML =error_list[1];
			flag=false;
	}	
	if(isEmpty(document.frmReserve.txtPayMode.value)) {
			document.getElementById('txtPayMode_msg').innerHTML =error_list[4];
			flag=false;
	}


	if(isEmpty(document.frmReserve.txtAddress1.value)) 
	{
		document.getElementById('txtAddress1_msg').innerHTML =error_list[11];
		flag=false;
	}
	if(isEmpty(document.frmReserve.txtState.value)) 
	{
		document.getElementById('txtState_msg').innerHTML =error_list[13];
		flag=false;
	}
	if(isEmpty(document.frmReserve.txtCity.value)) 
	{
		document.getElementById('txtCity_msg').innerHTML =error_list[14];
		flag=false;
	}
	if(isEmpty(document.frmReserve.txtCountry.value)) 
	{
		document.getElementById('txtCountry_msg').innerHTML =error_list[15];
		flag=false;
	}
	if(isEmpty(document.frmReserve.txtZipcode.value)) 
	{
		document.getElementById('txtZipcode_msg').innerHTML =error_list[16];
		flag=false;
	}
	if(!isValidZipCode(document.frmReserve.txtZipcode.value))
	{
		document.getElementById('txtZipcode_msg').innerHTML =error_list[22];
		flag=false;
	}
	if(isEmpty(document.frmReserve.txtCNo.value)) {
		document.getElementById('txtCNo_msg').innerHTML =error_list[2];
		flag=false;
	}
	if(!isValidPhone(document.frmReserve.txtCNo.value,2))
	{
		document.getElementById('txtCNo_msg').innerHTML =error_list[2];
		flag=false;

	} 


	if (document.getElementById('logged_in').value == 'no')
	{
		if((document.frmReserve.user_type[0].checked==true)||(document.frmReserve.user_type[1].checked==true))
		{
			if(document.frmReserve.txtEmail.value != '' )
			{
				if(!isValidEmail(document.frmReserve.txtEmail.value))
				{
					document.getElementById('txtEmail_msg').innerHTML =error_list[21];
					flag=false;
				}
			}
		}
	}
	else if (document.getElementById('logged_in').value == 'yes')
	{

			if(document.frmReserve.txtEmail.value != '' )
			{
				if(!isValidEmail(document.frmReserve.txtEmail.value))
				{
					document.getElementById('txtEmail_msg').innerHTML =error_list[21];
					flag=false;
				}
			}

	}
	if(document.frmReserve.chkAgree.checked==false)
	{
		document.getElementById('chkAgree_msg').innerHTML =error_list[19];
		flag=false;
	}

	if(flag){
			document.frmReserve.submit();
			return true;
	}
	else {          
			for (i=0;i<element_array.length;i++)
			{
				if(document.getElementById(element_array[i]+'_msg').innerHTML != "")
				{
						document.getElementById(element_array[i]).focus();
						return false;
				}
		}
	}
	return false;
	
}

////////////////////////////////// cleaR CONTACT FORM/////////////////////////////////////////


function clear_contactus()
{
	var element_array = new Array('txtFrom','txtSubject','txtMessage','firstname','lastname','preferred_contact_method','phone');
   var value_array   = new Array();
   var flag=true;  
   for (i=0;i<element_array.length;i++){
            //  alert(element_array[i]);
          document.getElementById(element_array[i]+'_msg').innerHTML='';
          value_array[i] = trim(document.getElementById(element_array[i]).value);                  
    }

}



function validate_contactus()
{
	var element_array = new Array('txtFrom','txtSubject','txtMessage','firstname','lastname','preferred_contact_method','phone');
   var value_array   = new Array();
   var flag=true;  
   for (i=0;i<element_array.length;i++){
            //  alert(element_array[i]);
          document.getElementById(element_array[i]+'_msg').innerHTML='';
          value_array[i] = trim(document.getElementById(element_array[i]).value);                  
    }
	
	
	
	if(isEmpty(document.frmContact.firstname.value)) {
		
		document.getElementById('firstname_msg').innerHTML = error_list[0];
		flag=false;
	}
	if(isEmpty(document.frmContact.lastname.value)) {
		
		document.getElementById('lastname_msg').innerHTML = error_list[1];
		flag=false;
	}
	var method_contact = document.frmContact.preferred_contact_method.value;
	if(isEmpty(document.frmContact.preferred_contact_method.value)) {
		
		document.getElementById('preferred_contact_method_msg').innerHTML = error_list[35];
		flag=false;
	}
	///////////////////////////// phone
	if(document.frmContact.preferred_contact_method.value == 'Phone')
	{
		if(isEmpty(document.frmContact.phone.value)) {
			
			document.getElementById('phone_msg').innerHTML = error_list[17];
			flag=false;
		}
		if(!isNumber(document.frmContact.phone.value)) {
			
			document.getElementById('phone_msg').innerHTML = error_list[2];
			flag=false;
		}
	}
	////////////////////////////// e-mail
	else if(document.frmContact.preferred_contact_method.value == 'Email')
	{
		if(isEmpty(document.frmContact.txtFrom.value)) {
			
			document.getElementById('txtFrom_msg').innerHTML = error_list[18];
			flag=false;
		}
		else if (!isValidEmail(document.frmContact.txtFrom.value))
		{
			document.getElementById('txtFrom_msg').innerHTML = error_list[21];
			flag = false;
		}
	}
	var method_contact = document.frmContact.preferred_contact_method.value;
	if(isEmpty(document.frmContact.preferred_contact_method.value)) {
		
		document.getElementById('preferred_contact_method_msg').innerHTML = error_list[35];
		flag=false;
	}
	if(document.frmContact.txtSubject.value == "") {
			document.getElementById('txtSubject_msg').innerHTML =error_list[26];
			flag=false;
	}
	if(isEmpty(document.frmContact.txtMessage.value)) {
			document.getElementById('txtMessage_msg').innerHTML =error_list[27];
			flag=false;
	}	
	if(flag){
			document.frmContact.submit();
			return true;
	}
	else {          
			for (i=0;i<element_array.length;i++){
					if(document.getElementById(element_array[i]+'_msg').innerHTML != "") {
							document.getElementById(element_array[i]).focus();
							return false;
					}
		}
	}
	return false;
}

function frmlogin_validate()
{
        var error_msg="";
        document.getElementById("error_msg").innerHTML="";
        if(isEmpty(document.frmlogin.txtUName.value))
        {
                error_msg="&raquo; "+error_list[28]+"<br/>";             
        }
        if (!isValidUserName(document.frmlogin.txtUName.value))
        {
                error_msg+="&raquo; "+error_list[30]+"<br/>";            
        }
        if (isEmpty(document.frmlogin.txtPWord.value))
        {
                error_msg+="&raquo; "+error_list[29]+"<br/>";           
        }
        if (document.frmlogin.txtUName.value.length<6)
        {
                error_msg+="&raquo; "+error_list[31]+"<br/>";            
        }
        if(error_msg!='')
        {
                document.getElementById("error_msg").innerHTML=error_msg;
                return false;
        }
        else
        {
                document.frmlogin.submit();
                return true;
        }
}
function call_page_of(page)
{
	document.forms[0].cpage.value=page;
	document.forms[0].submit();	
}
function reset_reserve()
{
	document.frmReserve.txtFDate.value="";
	document.frmReserve.txtTDate.value="";
	document.frmReserve.cmbStatus.value="";
	for(i=0;i<document.frmReserve.optTrip.length;i++)
	{
		document.frmReserve.optTrip[i].checked=false;
	}
}
function call_reserve_action(task,id)
{
	document.frmReserve.task.value=task;	
	document.frmReserve.txtReserveId.value=id;
	if(task=="viewreserve")
	{
		document.frmReserve.action="reservation_details.php";
		document.frmReserve.submit();
	}
	else if(task=="editreserve")
	{
		document.frmReserve.action="edit_reservation.php";
		document.frmReserve.submit();
	}
	if(task=="deletereserve")
	{
		document.frmReserve.action="controller.php";
		if(confirm("Are you sure? Do you want to delete this record?"))
		{
			document.frmReserve.submit();
		}
	}
	
}
function way_change(opt)
{
	var initialdis=(document.getElementById("txtDistance").value)*10;
	var initialduration=(document.getElementById("txtDurations").value);
	var currency;	

	if(opt=='oneway')
	{
   		//alert("hi");
		document.getElementById("mulitple_dest").style.display="none";
		document.getElementById("txtTDate").style.display="none";
		currency=((initialdis-1)*0.49)+4.99;
		document.getElementById("txtamount").innerHTML=currency.toFixed(2);
		document.getElementById("txtDuration").innerHTML=initialduration;
		document.getElementById("txtDurations").value=initialduration;
	}
	else if(opt=='muliple' )
	{
   		document.getElementById("mulitple_dest").style.display="block";
		currency=((initialdis-1)*0.49)+4.99;
		document.getElementById("txtamount").innerHTML=currency.toFixed(2);
		document.getElementById("txtDuration").innerHTML=initialduration;
		document.getElementById("txtDurations").value=initialduration;
		
	}
	else if(opt=='round')
	{
   		document.getElementById("mulitple_dest").style.display="none";
		currency=(((initialdis-1)*0.49)+4.99)*2;
		document.getElementById("txtamount").innerHTML=currency.toFixed(2);
		document.getElementById("txtDuration").innerHTML=initialduration*2;
		document.getElementById("txtDurations").value=initialduration*2;
	}
}
function roundNumber(val,rlength) {// Field where the number appears
	var rnum = val;
	//var rlength = 1; // The number of decimal places to round to
	if (rnum > 8191 && rnum < 10485) {
		rnum = rnum-5000;
		var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
		newnumber = newnumber+5000;
	} else {
		var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
	}
	return newnumber;
}
function get_Direction()
{
	if(isEmpty(document.frmReserve.txtEAddr.value))
	{
		alert("Please enter the new destination");
		document.frmReserve.txtEAddr.focus();
		return false;
	}
	else
	{
		document.frmReserve.task.value="getdir";
		document.frmReserve.txtAddress.value=document.frmReserve.txtAddress.value + " to: "+ document.frmReserve.txtDest.value;
		document.frmReserve.submit();
		return true;
	}	
}
function validate_edit_reservation()
{
	if(document.frmReserve.optTime[0].checked==false && document.frmReserve.optTime[1].checked==false)
	{
		document.getElementById("optTime_msg").innerHTML="Please select your option for the time blocking";
		document.frmReserve.optTime[0].focus();
		return false;
	}
}


function oneway(option)
{
	if(option=='oneway')
	{
		document.getElementById("txtTDate").disabled = true;
		document.getElementById("returnhour").disabled = true;
		document.getElementById("returnminute").disabled = true;
		document.getElementById("returntimeslot").disabled = true;
		document.getElementById("calto").disabled = true;
		document.getElementById("click_img").style.display = 'none';
		document.getElementById("img").style.display = 'block';
	}
	else
	{
		document.getElementById("txtTDate").disabled = false;
		document.getElementById("returnhour").disabled = false;
		document.getElementById("returnminute").disabled = false;
		document.getElementById("returntimeslot").disabled = false;
		document.getElementById("calto").disabled = false;
		document.getElementById("click_img").style.display = 'block';
		document.getElementById("img").style.display = 'none';
	}
	if(option=='muliple')
	{
		//alert('hi...');
		document.getElementById("multi_destination").style.display = 'block';
		document.getElementById("one_round").style.display = 'none';
		document.getElementById("multi_destination1").style.display = 'block';
		document.getElementById("one_round1").style.display = 'none';
	}
	else if( (option=='round') || (option=='oneway') )
	{
		//alert('hello...');
		document.getElementById("multi_destination").style.display = 'none';
		document.getElementById("one_round").style.display = 'block';
		document.getElementById("multi_destination1").style.display = 'none';
		document.getElementById("one_round1").style.display = 'block';
	}
}


function setsecondmenu(choice) {
	
	if(choice >= 7)
	{
		document.frmReserve.no_of_limousines.value=2;
	}
	else
	{
		document.frmReserve.no_of_limousines.value=1;
	}

	
	
}

function validate_businesspoint()
{
   //alert('hi');
    var flag = true;
   
   if(document.frmbusinesspoi.first_name.value == '')
   {
		document.getElementById('firstname_msg').innerHTML = error_list[0];
		flag=false;
   }
   else
   {
		document.getElementById('firstname_msg').innerHTML = '';
   }
   if(document.frmbusinesspoi.last_name.value == '')
   {
		document.getElementById('lastname_msg').innerHTML = error_list[1];
		flag=false;
   }
   else
   {
		document.getElementById('lastname_msg').innerHTML = '';
   }
   if(document.frmbusinesspoi.preferred_contact_method.value == '')
   {
		document.getElementById('preferred_contact_method_msg').innerHTML = error_list[35];
		flag=false;
   }
   else
   {
		document.getElementById('preferred_contact_method_msg').innerHTML = '';
   }
   if(document.frmbusinesspoi.preferred_contact_method.value == 'Phone')
   {
	   if(document.frmbusinesspoi.phone.value == '')
	   {
			document.getElementById('email_msg').innerHTML = '';
			document.getElementById('phone_msg').innerHTML = error_list[17];
			flag=false;
	   }
	  
	   else if(!isNumber(document.frmbusinesspoi.phone.value)) {
			
			document.getElementById('phone_msg').innerHTML = error_list[2];
			flag=false;
		}
		else
		{
			document.getElementById('phone_msg').innerHTML= '';
		}
    
   }
   
	   /*if(!isNumber(document.frmbusinesspoi.phone.value)) {
			
			document.getElementById('phone_msg').innerHTML = error_list[2];
			flag=false;
		}*/
   
		
   if(document.frmbusinesspoi.preferred_contact_method.value == 'Email')
   {
	  
	   if(document.frmbusinesspoi.email.value == '')
	   {
			document.getElementById('phone_msg').innerHTML = '';
			document.getElementById('email_msg').innerHTML = error_list[18];
			flag=false;
	   }
	else if (!isValidEmail(document.frmbusinesspoi.email.value))
		{
			document.getElementById('email_msg').innerHTML = error_list[21];
			flag = false;
		}
		else
		{
			document.getElementById('email_msg').innerHTML= '';
		}
   }
   
   if(document.frmbusinesspoi.company.value == '')
   {
		document.getElementById('company_msg').innerHTML = error_list[36];
		flag=false;
   }
   else
   {
		document.getElementById('company_msg').innerHTML = '';
   }
   if(document.frmbusinesspoi.address1.value == '')
   {
		document.getElementById('address_msg').innerHTML = error_list[11];
		flag=false;
   }
   else
   {
		document.getElementById('address_msg').innerHTML = '';
   }
   if(document.frmbusinesspoi.city.value == '')
   {
		document.getElementById('city_msg').innerHTML = error_list[14];
		flag=false;
   }
   else
   {
		document.getElementById('city_msg').innerHTML = '';
   }
   if(document.frmbusinesspoi.state.value == '')
   {
		document.getElementById('state_msg').innerHTML = error_list[13];
		flag=false;
   }
   else
   {
		document.getElementById('state_msg').innerHTML = '';
   }
    if(document.frmbusinesspoi.zipcode.value == '')
   {
		document.getElementById('zipcode_msg').innerHTML = error_list[16];
		flag=false;
   }
    
 	 else if (!isNumber1(document.frmbusinesspoi.zipcode.value))
		{
			document.getElementById('zipcode_msg').innerHTML = error_list[16];
			flag = false;
		}
		else
		{
			document.getElementById('zipcode_msg').innerHTML = '';
		}
   if(document.frmbusinesspoi.category.value == '')
   {
		document.getElementById('category_msg').innerHTML = error_list[37];
		flag=false;
   }
   else
   {
		document.getElementById('category_msg').innerHTML = '';
   }
   if(document.frmbusinesspoi.location.value == '')
   {
		document.getElementById('location_msg').innerHTML = error_list[38];
		flag=false;
   }
   else
   {
		document.getElementById('location_msg').innerHTML = '';
   }
   if(document.frmbusinesspoi.terms.checked == false)
   {
		document.getElementById('agree_msg').innerHTML = error_list[39];
		flag=false;
   }
   else
   {
		document.getElementById('agree_msg').innerHTML = '';
   }
	if(flag)
	{
	
	document.frmbusinesspoi.submit();
			return true;
	}
	else 
	{          
   		return false;
	}
}


function isNumber(val){
	validRegExp =/^(\()?\d{3}(\))?(-|\s)?\d{3}(-|\s)\d{4}$/;
   if (val.search(validRegExp) == -1 ) {
      return false;
   } 
   return true;     
}
function isNumber1(val){
	validRegExp = /^[0-9]+$/;
   if (val.search(validRegExp) == -1 ) {
      return false;
   } 
   return true;     
}



function out_service_ratio(miles,time_differ)
{
	//alert('came to oas function');
	var out_far = miles;
	var ratio_out = 1;
	var diff_cur_depart = time_differ;
	
	if(Number(out_far) < 25 )    /////////////// below 25 miles......
    {
           
		   //alert('here in < 25'); 
		   if(diff_cur_depart < 2700)
            {
                   
                switch(current_h)
                {
                    case 19:
                    case 20:
                    case 21:
                    case 22:
                    case 23:
                    case 6:
                    case 5:
                    case 4:
                    case 3:
                    case 2:
                    case 1:
                    case 0:
           
                            alert("Booze Croozer will require 45 minutes to arrive at your Start Address. Please, reenter your Depart Time.");
                            return false;
                            break;
                }
            }
           
            if(diff_cur_depart < 3600)
            {
                   
                switch(current_h)
                {
                    case 7:
                    case 8:
                    case 9:
                    case 10:
                    case 11:
                    case 12:
                    case 13:
                    case 14:
                    case 15:
                    case 16:
                    case 17:
                    case 18:
           
                            alert("Booze Croozer will require 1 hour to arrive at your Start Address. Please, reenter your Depart Time.");
                            return false;
                            break;
                }
            }
    } /////////////////////////////// end of if(out_far < 25 )   
    else if (Number(out_far) < 50)
    {
		   //alert('here in < 50'); 
			
			ratio_out = 2;           
			
		   if(diff_cur_depart < 3600)
            {
                   
                switch(current_h)
                {
                    case 19:
                    case 20:
                    case 21:
                    case 22:
                    case 23:
                    case 6:
                    case 5:
                    case 4:
                    case 3:
                    case 2:
                    case 1:
                    case 0:
           
                            alert("Booze Croozer will require 1 hour to arrive at your Start Address. Please, reenter your Depart Time.");
                            return false;
                            break;
                }
            }
           
            if(diff_cur_depart < 5400)
            {
                   
                switch(current_h)
                {
                    case 7:
                    case 8:
                    case 9:
                    case 10:
                    case 11:
                    case 12:
                    case 13:
                    case 14:
                    case 15:
                    case 16:
                    case 17:
                    case 18:
           
                            alert("Booze Croozer will require 1 1/2 hours to arrive at your Start Address. Please, reenter your Depart Time.");
                            return false;
                            break;
                }
            }
       
    }/////////////////////////////// end of if(out_far < 50 )   

    else if (Number(out_far) < 75)
    {
   			
			//alert('here in < 75'); 
			
			ratio_out = 3;           
			
			if(diff_cur_depart < 5400)
            {
                   
                switch(current_h)
                {
                    case 19:
                    case 20:
                    case 21:
                    case 22:
                    case 23:
                    case 6:
                    case 5:
                    case 4:
                    case 3:
                    case 2:
                    case 1:
                    case 0:
           
                            alert("Booze Croozer will require 1 1/2 hours to arrive at your Start Address. Please, reenter your Depart Time.");
                            return false;
                            break;
                }
            }
           
            if(diff_cur_depart < 7200)
            {
                   
                switch(current_h)
                {
                    case 7:
                    case 8:
                    case 9:
                    case 10:
                    case 11:
                    case 12:
                    case 13:
                    case 14:
                    case 15:
                    case 16:
                    case 17:
                    case 18:
           
                            alert("Booze Croozer will require 2 hours to arrive at your Start Address. Please, reenter your Depart Time.");
                            return false;
                            break;
                }
            }
    }/////////////////////////////// end of if(out_far < 75 )   
   
    else if (Number(out_far) < 100)
    {
			
			ratio_out = 4;           
			
            if(diff_cur_depart < 7200)
            {
                   
                switch(current_h)
                {
                    case 19:
                    case 20:
                    case 21:
                    case 22:
                    case 23:
                    case 6:
                    case 5:
                    case 4:

                    case 3:
                    case 2:
                    case 1:
                    case 0:
           
                            alert("Booze Croozer will require 2 hours to arrive at your Start Address. Please, reenter your Depart Time.");
                            return false;
                            break;
                }
            }
           
            if(diff_cur_depart < 10800)
            {
                   
                switch(current_h)
                {
                    case 7:
                    case 8:
                    case 9:
                    case 10:
                    case 11:
                    case 12:
                    case 13:
                    case 14:
                    case 15:
                    case 16:
                    case 17:
                    case 18:
           
                            alert("Booze Croozer will require 3 hours to arrive at your Start Address. Please, reenter your Depart Time.");
                            return false;
                            break;
                }
            }
    }/////////////////////////////// end of if(out_far < 100 )   
    else if (Number(out_far) > 100)
    {
        alert("Booze Croozer provides a 100 mile service radius. Your Start Address is more than 100 miles from Booze Croozer's nearest terminal. Please, reenter your Start Address.");
        return false;
    }
	
	return ratio_out;
	
}


//////////////////////////////////////////// Credit card validation /////////////////////////////////

function card_valid()
{

	//alert('hi');

	var element_array = new Array('txtCardType','txtCardNum','txtCVV','cmbMon','cmbYear','txtCardName');
   var value_array   = new Array();
   var flag=true;  
   for (i=0;i<element_array.length;i++){
            //  alert(element_array[i]);
          document.getElementById(element_array[i]+'_msg').innerHTML='';
          value_array[i] = trim(document.getElementById(element_array[i]).value);                  
    }

				if(isEmpty(document.valid_card.txtCardType.value)) 
				{
					document.getElementById('txtCardType_msg').innerHTML =error_list[5];
					flag=false;
				}

				if(isEmpty(document.valid_card.txtCardNum1.value)) 
				{
					document.getElementById('txtCardNum_msg').innerHTML =error_list[6];
					flag=false;
				}
				/*if(!isValidCardNumber1(document.valid_card.txtCardNum1.value))
				{
					document.getElementById('txtCardNum_msg').innerHTML =error_list[23];
					flag=false;
				}*/
				
				if(isEmpty(document.valid_card.txtCVV1.value)) 
				{
					document.getElementById('txtCVV_msg').innerHTML =error_list[7];
					flag=false;
				}
				if(!isValidCVVNumber1(document.valid_card.txtCVV1.value))
				{
					document.getElementById('txtCVV_msg').innerHTML =error_list[24];
					flag=false;
				}
				if(isEmpty(document.valid_card.cmbMon.value)) 
				{
					document.getElementById('cmbMon_msg').innerHTML =error_list[8];
					flag=false;
				}
				if(isEmpty(document.valid_card.cmbYear.value)) 
				{
					document.getElementById('cmbYear_msg').innerHTML =error_list[9];
					flag=false;
				}
				
				if(!isValidCCMonth(document.valid_card.cmbMon.value,document.valid_card.cmbYear.value))
				{
					document.getElementById('cmbYear_msg').innerHTML =error_list[25];
					flag=false;
				}
				
				if(isEmpty(document.valid_card.txtCardName.value)) 
				{
					document.getElementById('txtCardName_msg').innerHTML =error_list[10];
					flag=false;
				} //			
			
			
			if(flag)
			{
					document.valid_card.submit();
					return true;
			}
			else
			{          
					for (i=0;i<element_array.length;i++)
					{
						if(document.getElementById(element_array[i]+'_msg').innerHTML != "")
						{
								document.getElementById(element_array[i]).focus();
								return false;
						}
					}
			}

}

function isValidCardNumber1(val){
	validRegExp = /^[0-9]+$/;
   if (val.search(validRegExp) == -1 || val.length != 16 || val.length != 15 ) {
      return false;
   } 
   return true;     
}
function isValidCVVNumber1(val){
	validRegExp = /^[0-9]+$/;
   if (val.search(validRegExp) == -1 || val.length > 4) {
      return false;
   } 
   return true;     
}
