$(document).ready(function() { 
	var pickCity = $("#pickUpCity").val();
	if(pickCity != "" || pickCity != undefined) {
		ajaxcall("RentalService_loadServices.action","pickUpCity="+$("#pickUpCity").val(),"#selectService");
	}
	
	document.frmDetails.action = '/RentalSummary.action';
	
	$('.date-pick').datePicker({clickInput:true})
	
	$('#pickUpDate').bind(
		'dpClosed',
		function(e, selectedDates)
		{
			var d = selectedDates[0];
			if (d) {
				d = new Date(d);
				$('#dropOffDate').dpSetStartDate(d.addDays(0).asString());
			}
		}
	);
	$('#dropOffDate').bind(
		'dpClosed',
		function(e, selectedDates)
		{
			var d = selectedDates[0];
			if (d) {
				d = new Date(d);
				$('#pickUpDate').dpSetEndDate(d.addDays(0).asString());
			}
		}
	);
	
	$('.dp-choose-date').html("&nbsp;&nbsp;&nbsp;&nbsp;");	

	$('#serviceType1').attr("disabled",true);	
	$('#serviceType2').attr("disabled",true);	
	$('#serviceType3').attr("disabled",true);	
	
	$('#rentalPlan1').attr("disabled",true);	
	$('#rentalPlan2').attr("disabled",true);	
	$('#rentalPlan3').attr("disabled",true);
	
	$('#carType1').attr("disabled",true);	
	$('#carType2').attr("disabled",true);	
	$('#carType3').attr("disabled",true);	
	$('#carType4').attr("disabled",true);	
	$('#carType5').attr("disabled",true);	
	$('#carType6').attr("disabled",true);
		
	$('#pickUpAddress').attr("disabled",true);
	$('#dropOffAddress').attr("disabled",true);
	$('#noOfPassengers').attr("disabled",true);
										
	$('#addressInfo').css("display","none");	
	$('#selectCarType').css("display","none");
	$('#submit').attr("disabled","true");
	$('#calculatePrice').attr("disabled","true");		
	$('#phoneNo').attr("value",$("#tempPhone").val())
	
	if(navigator.appName=="Microsoft Internet Explorer"){
	  	$("#selectPickUpCity").children("#pickUpCity").change(function() {
			loadServiceTypes();	
	   	});
	}
  	else{
	  	$("#selectPickUpCity").change(function() {
			loadServiceTypes();	
	   	});	
   	}

	function loadServiceTypes() {
		$('#rentalPlan1').attr("disabled",true);	
		$('#rentalPlan2').attr("disabled",true);	
		$('#rentalPlan3').attr("disabled",true);				
		$('#rentalPlan4').attr("disabled",true);	
		$('#rentalPlan5').attr("disabled",true);	
		$('#rentalPlan6').attr("disabled",true);				
		$('#rentalPlan7').attr("disabled",true);	
		$('#rentalPlan8').attr("disabled",true);	
		
		$('#carType1').attr("disabled",true);	
		$('#carType2').attr("disabled",true);	
		$('#carType3').attr("disabled",true);	
		$('#carType4').attr("disabled",true);	
		$('#carType5').attr("disabled",true);	
		$('#carType6').attr("disabled",true);
		
		$('#selectCarModels').css("display","none");
		
		$('#pickUpAddress').attr("disabled",true);
		$('#dropOffAddress').attr("disabled",true);
		$('#noOfPassengers').attr("disabled",true);
		$('#addressInfo').css("display","none");
		$('#selectCarType').css("display","none");					
		$('#calculatePrice').attr("disabled","true");							
		
		if($("#pickUpCity").val()=="") {
			$('#serviceType1').attr("disabled",true);	
			$('#serviceType2').attr("disabled",true);	
			$('#serviceType3').attr("disabled",true);			
			$('#selectCarModels').css("display","none");
			$('#tempCity').attr("value","");			
		}
		else {
			$('#submit').attr("disabled",true);
			$('#selectCarModels').css("display","none");
			$('#priceQuotes').css("display","none");
			$('#addressInfo').css("display","none");
			$('#selectCarType').css("display","none");																						
			$('#dropOffCity').attr("value",$("#pickUpCity").val());
			ajaxcall("RentalService_loadServices.action","pickUpCity="+$("#pickUpCity").val(),"#selectService");
		}
	}

	if(navigator.appName=="Microsoft Internet Explorer"){
	 	$("#selectService").click(function() {
			loadPlans();	
	   	});
	}
  	else{
	  	$("#selectService").change(function() {
			loadPlans();	
	   	});	
   	}

	function loadPlans(){
		if($("#pickUpCity").val()=="") {
			//do nothing;
		}
		else {
			var selectedRadio = "";
			if(document.getElementById("serviceType1").checked==true) {
				selectedRadio=$("#serviceType1").val();
			}
			else if(document.getElementById("serviceType2").checked==true) {
				selectedRadio=$("#serviceType2").val();
			}
			else if(document.getElementById("serviceType3").checked==true) {
				selectedRadio=$("#serviceType3").val();
			}	
				
			if(selectedRadio == "") {
				return;
			}
			
			$('#carType1').attr("disabled",true);	
			$('#carType2').attr("disabled",true);	
			$('#carType3').attr("disabled",true);	
			$('#carType4').attr("disabled",true);	
			$('#carType5').attr("disabled",true);	
			$('#carType6').attr("disabled",true);	
			$('#pickUpAddress').attr("disabled",true);
			$('#dropOffAddress').attr("disabled",true);
			$('#noOfPassengers').attr("disabled",true);			
			$('#submit').attr("disabled",true);			
			$('#selectCarModels').css("display","none");
			$('#priceQuotes').css("display","none");	
			$('#addressInfo').css("display","none");
			$('#selectCarType').css("display","none");
			$('#calculatePrice').attr("disabled","true");																														
			ajaxcall("RentalService_loadPlans.action","pickUpCity="+$("#pickUpCity").val()+"&serviceType="+selectedRadio,"#selectPlan");
		}
	}

	if(navigator.appName=="Microsoft Internet Explorer"){
	  	$("#selectPlan").click(function() {
			loadCarType();	
	   	});
	}
  	else{
	  	$("#selectPlan").change(function() {
			loadCarType();	
	   	});	
   	}

	
	function loadCarType() {
		if($("#pickUpCity").val()=="") {
			//do nothing;
		}
		else {
			var selectedRadio = "";
			if(document.getElementById("serviceType1").checked==true) {
				selectedRadio=$("#serviceType1").val();
			}
			else if(document.getElementById("serviceType2").checked==true) {
				selectedRadio=$("#serviceType2").val();
			}
			else if(document.getElementById("serviceType3").checked==true) {
				selectedRadio=$("#serviceType3").val();
			}
			
			
			var selectedPlan = "";
			if(selectedRadio == $("#serviceType1").val()) {
				if(document.getElementById("rentalPlan1").checked==true) {
					selectedPlan=$("#rentalPlan1").val();
				}
				else if(document.getElementById("rentalPlan2").checked==true) {
					selectedPlan=$("#rentalPlan2").val();
				}
				else if(document.getElementById("rentalPlan3").checked==true) {
					selectedPlan=$("#rentalPlan3").val();
				}
			
			} else if(selectedRadio == $("#serviceType3").val()) {
				if(document.getElementById("rentalPlan1").checked==true) {
					selectedPlan=$("#rentalPlan1").val();
				}
			
			} else {
				if(document.getElementById("rentalPlan1").checked==true) {
					selectedPlan=$("#rentalPlan1").val();
				}
				else if(document.getElementById("rentalPlan2").checked==true) {
					selectedPlan=$("#rentalPlan2").val();
				}
				else if(document.getElementById("rentalPlan3").checked==true) {
					selectedPlan=$("#rentalPlan3").val();
				}
				else if(document.getElementById("rentalPlan4").checked==true) {
					selectedPlan=$("#rentalPlan4").val();
				}
				else if(document.getElementById("rentalPlan5").checked==true) {
					selectedPlan=$("#rentalPlan5").val();
				}
				else if(document.getElementById("rentalPlan6").checked==true) {
					selectedPlan=$("#rentalPlan6").val();
				}
				else if(document.getElementById("rentalPlan7").checked==true) {
					selectedPlan=$("#rentalPlan7").val();
				}
			}
			
			if(selectedPlan == "") {
				return;
			}
			
			$('#selectCarModels').css("display","none");
			$('#pickUpAddress').attr("disabled",true);
			$('#dropOffAddress').attr("disabled",true);
			$('#noOfPassengers').attr("disabled",true);			
			$('#submit').attr("disabled",true);			
			$('#priceQuotes').css("display","none");
			$('#addressInfo').css("display","none");
			$('#selectCarType').css("display","block");
			$('#calculatePrice').attr("disabled","true");
			
			ajaxcall("RentalService_loadCarTypes.action","pickUpCity="+$("#pickUpCity").val()+"&rentalPlan="+selectedPlan,"#selectCarType");
		}
	}

	if(navigator.appName=="Microsoft Internet Explorer"){
	  	$("#selectCarType").click(function() {
			loadCarModels();	
	   	});
	}
  	else{
	  	$("#selectCarType").change(function() {
			loadCarModels();	
	   	});	
   	}


	function loadCarModels() {
		if($("#pickUpCity").val()=="") {
			//do nothing;
		}
		else {
			var selectedCarType = "";
			var selectedPlan = "";
			var selectedService = "";
			
			if(document.getElementById("serviceType1").checked==true) {
				selectedService=$("#serviceType1").val();
			}
			else if(document.getElementById("serviceType2").checked==true) {
				selectedService=$("#serviceType2").val();
			}
			else if(document.getElementById("serviceType3").checked==true) {
				selectedService=$("#serviceType3").val();
			}		
			
			if(document.getElementById("carType1").checked==true) {
				selectedCarType=$("#carType1").val();
			}
			else if(document.getElementById("carType2").checked==true) {
				selectedCarType=$("#carType2").val();
			}
			else if(document.getElementById("carType3").checked==true) {
				selectedCarType=$("#carType3").val();
			}		
			else if(document.getElementById("carType4").checked==true) {
				selectedCarType=$("#carType4").val();
			}		
			else if(document.getElementById("carType5").checked==true) {
				selectedCarType=$("#carType5").val();
			}		
			else if(document.getElementById("carType6").checked==true) {
				selectedCarType=$("#carType6").val();
			}		
			
			if(document.getElementById("rentalPlan1").checked==true) {
				selectedPlan=$("#rentalPlan1").val();
			}
			else if(document.getElementById("rentalPlan2").checked==true) {
				selectedPlan=$("#rentalPlan2").val();
			}
			else if(document.getElementById("rentalPlan3").checked==true) {
				selectedPlan=$("#rentalPlan3").val();
			}
			else if(document.getElementById("rentalPlan4").checked==true) {
				selectedPlan=$("#rentalPlan4").val();
			}
			else if(document.getElementById("rentalPlan5").checked==true) {
				selectedPlan=$("#rentalPlan5").val();
			}
			else if(document.getElementById("rentalPlan6").checked==true) {
				selectedPlan=$("#rentalPlan6").val();
			}
			else if(document.getElementById("rentalPlan7").checked==true) {
				selectedPlan=$("#rentalPlan7").val();
			}
			
			if(selectedCarType == "" || selectedPlan == "" || selectedService == "") {
				return;
			}
			
			$('#pickUpAddress').attr("disabled",true);
			$('#dropOffAddress').attr("disabled",true);
			$('#noOfPassengers').attr("disabled",true);			
			$('#selectCarModels').css("display","block");
			$('#priceQuotes').css("display","none");		
			$('#submit').attr("disabled",true);		
			$('#addressInfo').css("display","none");
			$('#calculatePrice').attr("disabled",false);		
			ajaxcall("RentalService_loadCarModels.action","pickUpCity="+$("#pickUpCity").val()+"&serviceType="+selectedService+"&rentalPlan="+selectedPlan+"&carType="+selectedCarType,"#selectCarModels");
		}
	}

	if(navigator.appName=="Microsoft Internet Explorer"){
	  	$("#selectCarModels").click(function() {
			loadPrices();	
	   	});
	}
  	else{
	  	$("#selectCarModels").change(function() {
			loadPrices();	
	   	});	
   	}

	function loadPrices() {
		$('#submit').attr("disabled",true);				
		$('#addressInfo').css("display","none");
		$('#priceQuotes').css("display","none");
	}
	
	$('#calculatePrice').click(function() {
		var selectedCarModel = "";
		var selectedPlan = "";
		var selectedService = "";
		var noOfCar;
		var i=0;	
		
		if(document.getElementById("serviceType1").checked==true) {
			selectedService=$("#serviceType1").val();
		}
		else if(document.getElementById("serviceType2").checked==true) {
			selectedService=$("#serviceType2").val();
		}
		else if(document.getElementById("serviceType3").checked==true) {
			selectedService=$("#serviceType3").val();
		}				

		if(document.getElementById("rentalPlan1").checked==true) {
			selectedPlan=$("#rentalPlan1").val();
		}
		else if(document.getElementById("rentalPlan2").checked==true) {
			selectedPlan=$("#rentalPlan2").val();
		}
		else if(document.getElementById("rentalPlan3").checked==true) {
			selectedPlan=$("#rentalPlan3").val();
		}
		else if(document.getElementById("rentalPlan4").checked==true) {
			selectedPlan=$("#rentalPlan4").val();
		}
		else if(document.getElementById("rentalPlan5").checked==true) {
			selectedPlan=$("#rentalPlan5").val();
		}
		else if(document.getElementById("rentalPlan6").checked==true) {
			selectedPlan=$("#rentalPlan6").val();
		}
		else if(document.getElementById("rentalPlan7").checked==true) {
			selectedPlan=$("#rentalPlan7").val();
		}

		if($('#pickUpDate').val()!="" && $('#dropOffDate').val()!="" && $('#pickUpCity').val()!="" && selectedService!="" && selectedPlan!="") {
			noOfCar = parseInt($('#noOfCars').val());
			for (i=0; i<noOfCar; i++) {
				if(document.getElementById("carModel"+i).checked==true) {
					selectedCarModel=$("#carModel"+i).val();
					break;
				}
			}			
						
			if(selectedCarModel!="") {
				ajaxcall("RentalService_calculatePrice.action","pickUpCity="+$("#pickUpCity").val()+"&serviceType="+selectedService+"&carModel="+selectedCarModel+"&pickUpDate="+$("#pickUpDate").val()+"&dropOffDate="+$("#dropOffDate").val(),"#priceQuotes");
				$('#priceQuotes').css("display","block");
				$('#addressInfo').css("display","block");
				$('#submit').attr("disabled",false);
			}
		}
		if($('#pickUpDate').val()=="" || $('#dropOffDate').val()=="") {
			alert("Please select both pickup and dropoff date.")
		}
	});
	
	$('#frmDetails').submit(function(){
		var isValid=true;
	   	var errorList="";
		var monthArr=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
	
		$('.message').css('display','none');
			
		if($('#pickUpCity').val()=="") {
			errorList+="<li>Plaese select pickup city.</li>";
			isValid=false;
		    $('#errorDiv').css("display","block");
			$('#errorDiv').html("<div class='message error'><ol><b>"+errorList+"</b></ol></div>");
			document.location=errorUrl(window.location);
			return isValid;
		}

		if($('#pickUpDate').val()=="") {
			errorList+="<li>Plaese select pickup date.</li>";
			isValid=false;
		    $('#errorDiv').css("display","block");
			$('#errorDiv').html("<div class='message error'><ol><b>"+errorList+"</b></ol></div>");
			document.location=errorUrl(window.location);
			return isValid;
		}
	
		if($('#pickUpHour').val()=="" || $('#pickUpMinute').val()=="") {
			errorList+="<li>Please select a pickup time.</li>";
			isValid=false;
		    $('#errorDiv').css("display","block");
			$('#errorDiv').html("<div class='message error'><ol><b>"+errorList+"</b></ol></div>");
			document.location=errorUrl(window.location);
			return isValid;
		}

		if($('#dropOffCity').val()=="") {
			errorList+="<li>Plaese select dropoff city.</li>";
			isValid=false;
		    $('#errorDiv').css("display","block");
			$('#errorDiv').html("<div class='message error'><ol><b>"+errorList+"</b></ol></div>");
			document.location=errorUrl(window.location);			
			return isValid;
		}

		if($('#phoneNo').val()=="" || $('#phoneNo').val()=="0" || RegExp('^[\+|\(|\)|[0-9]|\-+$').test($('#phoneNo').val())==false){
			errorList+="<li>Plaese insert valid phone number.</li>";
			isValid=false;
		    $('#errorDiv').css("display","block");
			$('#errorDiv').html("<div class='message error'><ol><b>"+errorList+"</b></ol></div>");
			document.location=errorUrl(window.location);
			return isValid;
		}
		
		return isValid;
   });
   
	function errorUrl(url) {
        var loc = new String(url);
        loc = loc.replace("#error","");
        loc = loc + "#error";
        return loc;
	}
   
   $('#errorDiv').css("display","none");
	
	function ajaxcall(url, data, destination) {
		$.ajax ({
			type: "POST",
			url: url,
			data: data,
			success: function(html){
				$(destination).html(html);				
			}
		});	
	} 
});