$(document).ready(function() {    
    $('.img').tooltip({ 
	    track: true, 
	    delay: 0, 
	    showURL: false, 
	    extraClass: "right" 
	}); 

	var blankModel="<option value=''>--Select Model--</option>";
  	var blankVariant="<option value=''>--Select Variant--</option>";
    var blankMonth="<option value=''>--Month--</option>";
    var blankYear="<option value=''>--Year--</option>";
	
	if($("#make").val()=="") {
		$('#model').attr("disabled",true);			
		$('#variant').attr("disabled",true);			
		$('#months').attr("disabled",true);						
		$('#years').attr("disabled",true);			
		$('#onroadPrice').attr("disabled",true);						
		$('#location').attr("disabled",true);									
		$('#kilometers').attr("disabled",true);												
	}		
	
	$("#make").change(function() {
		$('#variant').attr("disabled",true);			
		$('#months').attr("disabled",true);						
		$('#years').attr("disabled",true);			
		$('#onroadPrice').attr("disabled",true);						
		$('#location').attr("disabled",true);									
		$('#kilometers').attr("disabled",true);												
	  	$('#onroadPrice').val('');
		$('#kilometers').val('');		  						  				

		if($("#make").val()=="") {
		  	$('#model').html(blankModel);	
		  	$('#variant').html(blankVariant);
		  	$('#years').html(blankYear);
			$('#model').attr("disabled",true);
		}
		else {
			ajaxcall("PricingEngine_loadModel.action","make="+$("#make").val(),"#selectModel");	
			$('#model').attr("disabled",false);			
   		  	$('#model').html(blankModel);					
			$('#variant').html(blankVariant);
   		  	$('#years').html(blankYear);	
   		}
	});
		
	if(navigator.appName=="Microsoft Internet Explorer"){
	  	$("#selectModel").click(function() {
			loadModels();	
	   	});
	}
  	else{
	  	$("#selectModel").change(function() {
			loadModels();	
	   	});	
   	}

   	function loadModels() {
		$('#months').attr("disabled",true);						
		$('#years').attr("disabled",true);			
		$('#onroadPrice').attr("disabled",true);						
		$('#location').attr("disabled",true);									
		$('#kilometers').attr("disabled",true);												
	  	$('#onroadPrice').val('');
		$('#kilometers').val('');	
   		if($("#model").val()==""){
		  	$('#variant').html(blankVariant);
		  	$('#years').html(blankYear);
			$('#variant').attr("disabled",true);			  	
		}
  		else {
  			ajaxcall("PricingEngine_loadVariant.action","make="+$("#make").val()+"&model="+$("#model").val(),"#selectVariant");
			$('#variant').attr("disabled",false);			  	  			
  		  	$('#variant').html(blankVariant);	
  		  	$('#years').html(blankYear);	  		  	
  		}
  	}

	if(navigator.appName=="Microsoft Internet Explorer"){
	  	$("#selectVariant").click(function() {
			loadYears();
			loadPrice();	
	   	});
	}
  	else{
	  	$("#selectVariant").change(function() {
			loadYears();
			loadPrice();	
	   	});	
   	}
   	
   	function loadPrice(){	
		$('#onroadPrice').attr("disabled",true);												
		$('#location').attr("disabled",true);									
		$('#kilometers').attr("disabled",true);														
	  	$('#onroadPrice').val('');
		$('#kilometers').val('');					

  		if($("#variant").val()=="") {
			$('#months').attr("disabled",true);						
			$('#years').attr("disabled",true);			
			$('#onroadPrice').attr("disabled",true);												
   		}
   		else {
			ajaxcall("PricingEngine_loadPrice.action","make="+$("#make").val()+"&model="+$("#model").val()+"&variant="+$("#variant").val(),"#priceSpan");   			
   		}
   }
   	
	function loadYears(){
	  	$('#price').css("display","none");	
		$('#onroadPrice').attr("disabled",true);												
		$('#location').attr("disabled",true);									
		$('#kilometers').attr("disabled",true);														
	  	$('#onroadPrice').val('');
		$('#kilometers').val('');					
		
  		if($("#variant").val()=="") {
			$('#months').attr("disabled",true);						
			$('#years').attr("disabled",true);			
			$('#onroadPrice').attr("disabled",true);												
   		}
   		else {
   			ajaxcall("PricingEngine_loadYears.action","make="+$("#make").val()+"&model="+$("#model").val()+"&variant="+$("#variant").val(),"#yearSpan");   			
			$('#months').attr("disabled",false);						
			$('#years').attr("disabled",false);			   			
   		}
	}
	function ajaxcall(url, data, destination){
		$.ajax ({
			type: "POST",
			url: url,
			data: data,
			success: function(html){
				$(destination).html(html);				
			}
		});	
	} 
		
	$('#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($('#make').val()=="" || $('#model').val()=="" || $('#variant').val()=="") {
			errorList+="<li>Plaese select all three make, model and variant.</li>";
			isValid=false;
		    $('#errorDiv').css("display","block");
			$('#errorDiv').html("<div class='message error'><ol><b>"+errorList+"</b></ol></div>");
			return isValid;
		}

		if($('#months').val()=="") {
			errorList+="<li>Please select a month of purchase.</li>";
			isValid=false;
		    $('#errorDiv').css("display","block");
			$('#errorDiv').html("<div class='message error'><ol><b>"+errorList+"</b></ol></div>");
			return isValid;
		}
	
		if($('#years').val()=="") {
			errorList+="<li>Please select a year of purchase.</li>";
			isValid=false;
		    $('#errorDiv').css("display","block");
			$('#errorDiv').html("<div class='message error'><ol><b>"+errorList+"</b></ol></div>");
			return isValid;
		}

		if(document.getElementById('onroadPrice')!=null) {
			if($('#onroadPrice').val()==""){
				errorList+="<li>Please enter the price at which you bought the car.</li>";
				isValid=false;
			    $('#errorDiv').css("display","block");
				$('#errorDiv').html("<div class='message error'><ol><b>"+errorList+"</b></ol></div>");
				return isValid;
			}
		
			if(parseInt($('#onroadPrice').val())<100000 || parseInt($('#onroadPrice').val())>50000000 || RegExp('^[[0-9]+$').test($('#onroadPrice').val())==false){
				errorList+="<li>Invalid buying price ! Please enter buying price above 100,000 Rs.</li>";
				isValid=false;
			    $('#errorDiv').css("display","block");
				$('#errorDiv').html("<div class='message error'><ol><b>"+errorList+"</b></ol></div>");
				return isValid;					
			}
		}

		if($('#years').val()==(2000+(new Date().getYear()-100))) {
			var i=0;
			for(i=0; i<12; i++) 
				if(monthArr[i]==$('#months').val()) {
					if (i>(new Date().getMonth())) {
						errorList+="<li>Invalid purchase year ! Enter valid purchase year.</li>";	
						$('#errorDiv').css("display","block");
						$('#errorDiv').html("<div class='message error'><ol><b>"+errorList+"</b></ol></div>");
						return false;
						
					}			
				}	
				return true;
		}
		
		if($('#kilometers').val()=="" || $('#kilometers').val()=="0" || RegExp('^[[0-9]+$').test($('#kilometers').val())==false){
			errorList+="<li>Invalid odometer reading !</li>";
			isValid=false;
		    $('#errorDiv').css("display","block");
			$('#errorDiv').html("<div class='message error'><ol><b>"+errorList+"</b></ol></div>");
			return isValid;				
		}    
		  
		return isValid;
    });
    
    $('#errorDiv').css("display","none");
});