Event.observe(window,'load',function(){
	getModels();
	financeSearch();
	updateFinance($$('.aprRadio:checked')[0]);

	$$('.categorySelector').invoke( 'observe', 'click', function( event ) {
		$('category').value = this.title;
		$$('.modelSelector div a.active').invoke('removeClassName', 'active');
		$('marqueDetailId').selectedIndex = 0;
		$('model').selectedIndex = 0;
		$(this).addClassName('active');
		$('normalSearch').submit();
	});
	
	$$('#priceSelector div a').invoke( 'observe', 'click', function( event ) {
		$$('#priceSelector div a.active').invoke('removeClassName', 'active');
		$(this).addClassName('active');
		getModels();
	});
	
	Event.observe('marqueDetailId', 'change', function( event ) {
		$$('.modelSelector div a.active').invoke('removeClassName', 'active');
	});
	
	document.getElementById('containerPrice').style.display = 'none';
	document.getElementById('containerEconomy').style.display = 'none';

	var formShowing = readCookie('formShowing');
	if( formShowing ){
		var formDetails = formShowing.split(':');
		setTabActive3(formDetails[0],formDetails[1]);
	}
	
	$$('form').invoke('observe','submit',function(ev){
		elements = $(this).getElements();
		jsonString = '{"name":"'+this.id+'",';
		jsonString += '"elements":[';
		elements.each(function(el){
			
			jsonString += '{"id":"'+el.id+'","value":"'+el.value+'", "type":"'+el.type+'"';
			if(el.type.match('select')){
				jsonString += ',"selected":"'+el.selectedIndex.toString()+'"';
			}
			jsonString += '},';
		});
		jsonString = jsonString.substr(0, (jsonString.length - 1) );
		jsonString += ']}';
		createCookie(this.id, escape(jsonString));
		return false;
	});

	$$('form:not(#frmContact)').each(function(form){
		var remembered = readCookie(form.id);
		if(remembered){
			remJSON = unescape(remembered).evalJSON();
			remJSON.elements.each(function(el,i){
				if(el.selected){
					if($$('#'+form.id+' #'+el.id)[0].options.length > el.selected){
						$$('#'+form.id+' #'+el.id)[0].selectedIndex = el.selected;
					}
					if(el.id == 'marqueDetailId'){
						getModels();
					}

				} else if(el.type == 'radio' || el.type == 'checkbox'){
					$$('#'+form.id+' #'+el.id)[0].checked = true;
				} else if(el.type != 'image' || el.type == 'button' || el.type == 'submit'){
					$$('#'+form.id+' #'+el.id)[0].value = el.value;
				}
				
			});
		}
	});

});

function setTaxBand(band){
	$('economyTaxBand').value = band;
	$('economyFake').click();
}

function setTabActive3( id, blockId ){
	
	createCookie('formShowing', id+':'+blockId);
	$( 'tabSearch' ).down().className  = 'nonActive';
	$( 'tabPrice' ).down().className = 'nonActive';
	$( 'tabEconomy' ).down().className = 'nonActive';

	$( id ).down().className = 'active';
	
	$( 'containerSearch' ).style.display  = 'none';
	$( 'containerPrice' ).style.display = 'none';
	$( 'containerEconomy' ).style.display = 'none';
	
	$( blockId ).style.display   = 'block';
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function getModels() {
	//marque

	var target = baseHref + 'ajax.php';
	var params = 'type=getMarqueModels&id=' + $('marqueDetailId').options[$('marqueDetailId').selectedIndex].value;

	var myAjax = new Ajax.Request(target,
	{
		method: 'post',
		parameters: params,
		onSuccess: function (request) {

			var i;
			for(i = $('model').options.length - 1 ; i >= 0 ; i-- ) {
				$('model').remove(i);
			}

			var outText = request.responseText;
			outText = outText.split(',');

			if ( outText.length > 0 ) {
				for (i = 0 ; i < outText.length ; i++) {

					//alert(outText[i]);
					$('model').options[ $('model').options.length ] = new Option( outText[i], outText[i] );

				}
			}
			var form = $('model').form;
			
			if(readCookie(form.id)){
				remembered = readCookie(form.id);
				remJSON = unescape(remembered).evalJSON();
				remJSON.elements.each(function(el,i){
					if(el.id =='model'){
						$('model').selectedIndex = el.selected;
					}
				});
			}
			
			$('category').value = '';

		},

		onFailure: function(request) {
			alert( 'request failed, please try again' );
		}
	});
	
	
}

function emptySelect ( objId ) {

	while ( $(objId).options.length > 1 ) {
		$(objId).options[1] = null;
	}

}    


function financeSearch(){

	if( $F('finance_monthlyPayment') != '' && $F('finance_term') != '' && $F('finance_apr') != '' ){
		
		

		var monthly_apr = ( parseFloat( $F('finance_apr') ) / 12 ) /100;
		
		var totalFunds = 0;
		var totalInterest = 0;
		var totalAll = 0;
		
		var monthly_interest_payment = new Array();
		var monthly_total_payment = new Array();
		
		// Loop over the term to generate the monthly values
		for( var i = 0; i < $F('finance_term'); i++  ){
			
			if( i == 0 ){
				monthly_interest_payment[i] = parseFloat( $F('finance_monthlyPayment') ) * parseFloat( monthly_apr );
				monthly_total_payment[i] = parseFloat( $F('finance_monthlyPayment') ) - parseFloat( monthly_interest_payment[i] );
			}else{
				monthly_interest_payment[i] = ( parseFloat( $F('finance_monthlyPayment') ) + parseFloat( monthly_total_payment[ i -1 ] ) )* parseFloat( monthly_apr ); 
				monthly_total_payment[i] = ( parseFloat( $F('finance_monthlyPayment') ) + parseFloat( monthly_total_payment[ i -1 ] ) ) - parseFloat( monthly_interest_payment[i] );
				totalFunds = monthly_total_payment[i];
				
			}    
			totalInterest = parseFloat( totalInterest + monthly_interest_payment[i] );
		}
		
	  //  $('finance_interest').innerHTML = totalInterest.toFixed(2);
	   // $('finance_funds').innerHTML = totalFunds.toFixed(2);
		
		var finance_total = parseFloat( totalInterest ) + parseFloat( totalFunds);
	   // $('finance_total').innerHTML = finance_total.toFixed(2);
		
		if( $F('finance_deposit') != '' ){
		
			var finance_total_funds = parseFloat( totalFunds ) + parseFloat( $F('finance_deposit') );
		}else{
			
			var finance_total_funds = parseFloat( totalFunds );
		}
	   // $('finance_total_funds').innerHTML = finance_total_funds.toFixed(2);
		
		var maxPrice = finance_total_funds * 0.995;
		$('finance_maxPrice').value = maxPrice.toFixed(2);
		$('finance_amount').innerHTML = maxPrice.toFixed(2);
	  //  $('findCars').style.display = 'block';
		
		
	}else{
		
	   // $('findCars').style.display = 'hidden';    
	}
}


function updateFinance(radio){
	$('finance_apr_display').innerHTML = $('finance_apr').value = radio.value; 
	financeSearch()
}
    

function setModelType(type){
	
	typeId = 'modelType'+type;
		
	if( $(typeId).hasClassName('active')) {
		$('modelCategory').value = '';
		$(typeId).removeClassName( 'active' );
	} else {
    	$('modelCategory').value = type;
		$('modelTypeSmall').removeClassName( 'active' );
		$('modelTypeFamily').removeClassName( 'active' );
		$('modelTypePrestige').removeClassName( 'active' );
		$('modelTypeMPV').removeClassName( 'active' );		
		$('modelType4X4').removeClassName( 'active' );							
		$(typeId).addClassName( 'active' );
	}
	
	
	// Get all of the marques that are avaliable for the selected category
	populateMarqueList( type );
	
	if($('modelCategory').value == ''){
		// Get all marques as it has been unselected
		populateMarqueList( '' );
	}
	
	// Clear the model drop down
	for(i = $('model').options.length - 1 ; i >= 1 ; i-- ) {
		$('model').remove(i);
	}

	// Set the "Vehicles Found" 
	modelCarSearchChanged();
		
}

