// JavaScript Document
$(document).ready(function(){
	
	var picup_date_tr = false;
	var r_picup_date_tr = false;
	picup_date_tr = true;
	
	if ( $('#r_pickup_date').length ){
	r_picup_date_tr = true;
	}

	
	var return_status=true;
	var error_msg = '';
	
	function check_empty(field_id,field_name){	
		if($('#'+field_id).val() == '' || $('#'+field_id).val() ==null ){
			$('#'+field_id).css("background","#FA8080");
			error_msg = error_msg + '<li>' + field_name + ' Empty or Not Selected</li>';
			return_status = false;
		}else{
			$('#'+field_id).css("background",'#DAB2F8');
		}
	}
	
	function is_select_time(field_id,field_name){	
		if($('#'+field_id).val() == '00'){
			$('#'+field_id).css("background","#FA8080");
			error_msg = error_msg + '<li>' + field_name + ' Not Selected</li>';
			return_status = false;
		}else{
			$('#'+field_id).css("background",'#DAB2F8');
		}
	}
	
	function multyple_field_empty_check(id_array,field_error_msg){
		var field_values = '';
		for(i=0; i<id_array.length; i++){
			field_values = field_values + $('#'+id_array[i]).val();
		}	
		if(field_values == '' || field_values == null){
			for(i=0; i<id_array.length; i++){
				$('#'+id_array[i]).css("background","#FA8080");
			}
			error_msg = error_msg + '<li>' + field_error_msg + '</li>';
			return_status = false;
		}else if(id_array=="pickup_date"){
			for(i=0; i<id_array.length; i++){
				$('#'+id_array[i]).css("background","#FA8080");
			}
			error_msg = error_msg + '<li>' + field_error_msg + '</li>';
			return_status = false;

		}else if(id_array=="r_pickup_date"){
			for(i=0; i<id_array.length; i++){
				$('#'+id_array[i]).css("background","#FA8080");
			}
			error_msg = error_msg + '<li>' + field_error_msg + '</li>';
			return_status = false;
		}else{
			for(i=0; i<id_array.length; i++){
			$('#'+id_array[i]).css("background","#DAB2F8");
			}
		}
	}
	
	
	$('#booking_form').submit(function() {
		return_status=true;		
		error_msg = "";
		//alert(111);
		if($("#from_type_id").val() == '7'){
			check_empty('txt_from_address', 'From Address');
		}else if($("#from_type_id").val() == '8'){
			check_empty('from_postcode','From Postcode');
			//check_empty('from_door_no','From Door No');
		}else{
			check_empty('from_loc_id', 'From Location');
		}
		if($("#to_type_id").val() == '7'){
			check_empty('txt_to_address', 'To Address');
		}else if($("#to_type_id").val() == '8'){
			check_empty('to_postcode', 'To Postcode');
		}else{
			check_empty('to_loc_id', 'To Location');
		}
		$("#validation_message").html('<ul>' + error_msg + '</ul>');
		if(error_msg != ""){
			$("#validation_message").show();
			$("#standerd_rate_error").hide();
			
		}else{
			$("#validation_message").hide();
		}
		return return_status;
	});
	
	$('#booking_details_form').submit(function() {
		error_msg = "";
		return_status=true;		
		check_empty('passenger_name',"Passenger name");
		check_empty('email','Passenger Email');
		check_empty('passenger','Number of Passengers');
		check_empty('no_of_luggages','Number of Luggages');//alert($("#pickup_hr").val());
		if($("#from_type_id").val() == '8'){
			check_empty('from_door_no','From Door No');
			check_empty('from_street','From Street');
		}
		// alert($("#payment_type").val());
		/*if($("#pickup_hr").val() == '00' && $("#pickup_min").val() == '00') {
			is_select_time('pickup_hr','Pickup Time');
		}*/
		
		if ( $('#coming_from').length ){
			check_empty('coming_from','Flight Arriving From');
			check_empty('flight_number','Flight Number');
		}
		var id_array = new Array('mobile_phone','land_phone');
		multyple_field_empty_check(id_array,'Please Enter Mobile or Resident phone');
		
		if(picup_date_tr){
			check_empty('pickup_date',"Pickup Date");
		}
		if(picup_date_tr){
		if(checkolddate()==false){	
			
		var id_array2 = new Array('pickup_date');
		multyple_field_empty_check(id_array2,'You enter wrong date,please re-enter correct date');
		}
		}
		
		if(r_picup_date_tr){
			check_empty('r_pickup_date',"Return Pickup Date");
		}
		if(r_picup_date_tr){
		if(checkolddate_rpickup()==false){	
		//alert('xx');
		var id_array3 = new Array('r_pickup_date');
		multyple_field_empty_check(id_array3,'You enter wrong date,please re-enter correct date');
		//$('#'+'r_pickup_date').css("background","#FA8080");
		//return false;
		}
		}
		$("#validation_message_booking").html('<ul>' + error_msg + '</ul>');
		if(error_msg != ""){
			$("#validation_message_booking").show();
			$("#standerd_rate_error").hide();
		}else{
			$("#validation_message_booking").hide();
		}		
		return return_status;
	});
	
	function checkolddate(){
	
			var date = new Date();
		str1 = date.getDate() + '/' + (date.getMonth()+1) + '/' + date.getFullYear();
		str2 = $("#pickup_date").val();
		//alert(str1);alert(str2);
		//alert(comparedates(str2,str1));
		if(comparedates(str2,str1)==false){
			//alert('false');
			if(equaldates(str2,str1)==true){
				//---check booking time should be morethan 20 minutes --//
				//alert('same date');
				if(kontrol()==false){
					return false;
				}else{
					return true;
				}
				
				return false;
			}else{
				//alert('false');
			return false;	
			}
			
		}else{
			//alert('true');
			return true;
		}
		//return false;
}
	
function checkolddate_rpickup(){
	//alert('aaa');
			var date = new Date();
		//str1 = date.getDate() + '/' + (date.getMonth()+1) + '/' + date.getFullYear();
		str1 = $("#pickup_date").val();
		str2 = $("#r_pickup_date").val();
		//alert(str1);
		//alert(comparedates(str2,str1));
		if(comparedates(str2,str1)==false){
			//alert('false');
			if(equaldates(str2,str1)==true){
				//---check booking time should be morethan 20 minutes --//
				//alert('same date');
				if(kontrol_rtime()==false){
					return false;
				}else{
					return true;
				}
				
				return false;
			}else{
				//alert('false');
			return false;	
			}
			
		}else{
			//alert('true');
			return true;
		}
		//return false;
}
	function comparedates(value1, value2){
   var date1, date2;
   var month1, month2;
   var year1, year2;

   date1 = value1.substring (0, value1.indexOf ("/"));
   month1 = value1.substring (value1.indexOf ("/")+1, value1.lastIndexOf ("/"));
   year1 = value1.substring (value1.lastIndexOf ("/")+1, value1.length);

   date2 = value2.substring (0, value2.indexOf ("/"));
   month2 = value2.substring (value2.indexOf ("/")+1, value2.lastIndexOf ("/"));
   year2 = value2.substring (value2.lastIndexOf ("/")+1, value2.length);

// changed by mf on 22/08/2005
   date1=eval(date1);
   month1=eval(month1);
   year1=eval(year1);

   date2=eval(date2);
   month2=eval(month2);
   year2=eval(year2);
   
  
   if (year1 > year2) return true;
   else if (year1 < year2) return false;
   else if (month1 > month2) return true;
   else if (month1 < month2) return false;
   else if (date1 > date2) return true;
   else if (date1 < date2) return false;
   else return false;
} 

function equaldates (value1, value2) {
   var date1, date2;
   var month1, month2;
   var year1, year2;

   date1 = value1.substring (0, value1.indexOf ("/"));
   month1 = value1.substring (value1.indexOf ("/")+1, value1.lastIndexOf ("/"));
   year1 = value1.substring (value1.lastIndexOf ("/")+1, value1.length);

   date2 = value2.substring (0, value2.indexOf ("/"));
   month2 = value2.substring (value2.indexOf ("/")+1, value2.lastIndexOf ("/"));
   year2 = value2.substring (value2.lastIndexOf ("/")+1, value2.length);


   date1=eval(date1);
   month1=eval(month1);
   year1=eval(year1);

   date2=eval(date2);
   month2=eval(month2);
   year2=eval(year2);
   
  if(((date1==date2)&&(month1==month2)&&(year1==year2)))
   	return true;
  else 
  	return false;
} 
//--- compare time values --//
Date.prototype.Miguel61=function(){
var d2=new Date();
var h =  60;
var s1 = (d2.getHours() * h) + d2.getMinutes()  ;
var s2 = (this.getHours() * h ) + this.getMinutes()  ;
var f= Math.abs(s1 - s2) ;
//return  Math.floor(f / h) + " hours : " + (f%h) + " minutes" ; 
//alert('server hours:'+ this.getHours());
//alert(Math.floor(f / h) + " hours : " + (f%h) + " minutes");
//alert(d2.getMinutes());
if(parseInt(this.getHours()) <= parseInt(d2.getHours())){
	//alert('old time');
	return false;
}else if((parseInt(this.getHours()) >= parseInt(d2.getHours())) &&(parseInt(f)<360)){
	//alert('feature time');
	return false;
}else{
	return true;
	}

}
//--for return time check with pickup time --//
Date.prototype.Miguel61_r=function(){
	//alert('ssssa');alert(document.getElementById('pickup_hr').value);
var pickup_hr1=parseFloat(document.getElementById('pickup_hr').value);
var pickup_min1=parseFloat(document.getElementById('pickup_min').value);
	
//var d2=new Date();
var h =  60;
var s1 = (pickup_hr1 * h) + pickup_min1  ;
var s2 = (this.getHours() * h ) + this.getMinutes()  ;
var f= Math.abs(s1 - s2) ;
//alert(pickup_hr1);
//alert(pickup_min1);
//alert(f);
//return  Math.floor(f / h) + " hours : " + (f%h) + " minutes" ; 
//alert('server hours:'+ this.getHours());
//alert(Math.floor(f / h) + " hours : " + (f%h) + " minutes");
//alert(d2.getMinutes());
//alert(parseInt(this.getHours()));
//alert(pickup_hr1);
//alert(parseInt(d2.getHours()));
//alert(parseInt(this.getHours()%d2.getHours()));
if(parseInt(this.getHours()) < (pickup_hr1)){
	//alert('old time');
	return false;
}else if((parseInt(this.getHours()) > (pickup_hr1))){
	//alert('feature time');
	return true;
}else if((parseInt(this.getHours()) == (pickup_hr1)) &&(parseInt(this.getMinutes()) >= (pickup_min1))){
	//alert('feature time');
	return true;
}else{
	//alert('minutes small');
	return false;
	}

}

function kontrol(){
var pickup_hr=document.getElementById('pickup_hr').value;
var pickup_min=document.getElementById('pickup_min').value;
//var s=el.value.split(/\D+/);  // or  var s=el.value.split(':');
var d1=new Date();
d1.setHours(pickup_hr);
d1.setMinutes(pickup_min);
return d1.Miguel61();
}

function kontrol_rtime(){
var r_pickup_hr=document.getElementById('r_pickup_hr').value;
var r_pickup_min=document.getElementById('r_pickup_min').value;
//var s=el.value.split(/\D+/);  // or  var s=el.value.split(':');
var d1=new Date();
d1.setHours(r_pickup_hr);
d1.setMinutes(r_pickup_min);
return d1.Miguel61_r();
}
});

function checkterms() {
	if (document.booking_confirm_form.terms.checked == false)
		{
		alert ("Please click on Accept our terms & conditions");
		return false;
		}
	else
		{
		return true;
		}
	}
