
function storeSecondApplicant(list)
{
	
	if (list.selectedIndex=="2") 
	{
		writeCookie("secondApplicant","true");	
	}
	else
	{
		writeCookie("secondApplicant","false");
	}
	displaySecondApplicant();
};

function displaySecondApplicant()
{
	
	var secondApplicant=readCookie("secondApplicant");
	
	if (secondApplicant=="true")
	{
		$("form .hideUntilActivated").css("visibility","visible").removeClass("hidden").addClass("revealed");	
	}
	else
	{
		$("form .hideUntilActivated").css("visibility","hidden").addClass("hidden").removeClass("revealed");
	}
};

function calcFinanceAmount()
{
	var price = $("#m2fbrp__3439").val()/1;
	var deposit = $("#m2fbrp__3441").val()/1;
	var trade = $("#m2fbrp__3442").val()/1;

	var total = deposit + trade; 

	$("#m2fbrp__3443").val(price - total);

};

loadCalculatorData=function()
{
	//test for page
	var frontpagelist=$("#content .activateHidden select");
	
	if (frontpagelist.length>0)
	{
		//read description
		var description=readCookie("description");
		//read year
		var year=readCookie("year");
		//read condition
		var condition=readCookie("condition");
		//read cashPrice
		var cashPrice=readCookie("cashPrice");
		//read cashDeposit
		var cashDeposit=readCookie("cashDeposit");
		//read tradeIn
		var tradeIn=readCookie("tradeIn");
		//read amount
		var loanAmount=readCookie("loanAmount");
		//read ballon
		var balloon=readCookie("balloon");
		//read term
		var term=readCookie("term");
		//read repayment schedule
		var repayment=readCookie("repayment");
		

		//write terms
		if (!(description==false || description==0) ) 
		{
			$("#content .description :radio").each(function(i){
				
				if (description/1==description)
				{
					if (this.value==description)
					{
						this.checked=true;
					}
				}
				else
				{
					var label=$("label",this.parentNode).html();
					if (description.toLowerCase()==label.toLowerCase())
					{
						this.checked=true;
					}
				}
				
			});
		}
		else
		{
			//$("#content .description textarea").val("");
		}
		if (year!=false)  
		{
			$("#content .year input").val(year);
		}
		else
		{
			$("#content .cashprice input").val("");
		}
		
		if (condition!=false)  
		{
			$("#content .condition :radio").each(function(){
				
				if (condition/1==condition)
				{
					if (this.value==condition)
					{
						this.checked=true;
					}
				}
				else
				{
					var label=$("label",this.parentNode).html();
					if (condition.toLowerCase()==label.toLowerCase())
					{
						this.checked=true;
					}
				}
			});
		}
		else
		{
			
		}
		
		if (cashPrice!=false)  
		{
			$("#content .cashprice input").val(cashPrice);
		}
		else
		{
			$("#content .cashprice input").val("");
		}
		
		if (cashDeposit!=false)  
		{
			$("#content .cashdeposit input").val(cashDeposit);
		}
		else
		{
			$("#content .cashdeposit input").val("");
		}
		
		if (tradeIn!=false)  
		{
			$("#content .tradedeposit input").val(tradeIn);
		}
		else
		{
			$("#content .tradedeposit input").val("");
		}
				
		
		if (loanAmount!=false)  
		{
			$("#content .financeamt input").val(loanAmount);
		}
		else
		{
			$("#content .financeamt input").val("");
		}
		
		if (balloon)  
		{
			if (balloon/1==balloon)
			{
				$("#content .balloon select").each(function(){this.selectedIndex=balloon;});
			}
			else
			{
				$("#content .balloon select").each(function(){
					var options=this.options;
					var i;
					for (i=0; i<options.length; i++)
					{
						if ( options[i].text.toLowerCase()==balloon.toLowerCase() )
						{
							this.selectedIndex=i;
							return;
						}
					}
				});
			}
		}
		
		
		if (term)  
		{
			if (term/1==term)
			{
				$("#content .term select").each(function(){this.selectedIndex=term;});
			}
			else
			{
				$("#content .term select").each(function(){
					var options=this.options;
					var i;
					for (i=0; i<options.length; i++)
					{
						if ( options[i].text.toLowerCase()==term.toLowerCase() )
						{
							this.selectedIndex=i;
							return;
						}
					}
				});
			}
		}
		
		
		if (repayment)  
		{
			if (repayment/1==repayment)
			{
				$("#content .paymentmade select").each(function(){this.selectedIndex=repayment;});
			}
			else
			{
				$("#content .repayment select").each(function(){
					var options=this.options;
					var i;
					for (i=0; i<options.length; i++)
					{
						if ( options[i].text.toLowerCase()==repayment.toLowerCase() )
						{
							this.selectedIndex=i;
							return;
						}
					}
				});
			}
		}
		
		
		
		/*
		
		if (term)  $("#content .term select").each(function(){
				var options=this.options;
				var i;
				for (i=0; i<options.length; i++)
				{
					if ( options[i].text.toLowerCase()==term.toLowerCase() )
					{
						this.selectedIndex=i;
						return;
					}
				}
			});

		if (repayment)  $("#content .paymentmade select").each(function(){
				var options=this.options;
				var i;
				for (i=0; i<options.length; i++)
				{
					if ( options[i].text.toLowerCase()==repayment.toLowerCase() )
					{
						this.selectedIndex=i;
						return;
					}
				}
			});
			*/

		
	}
	
	
};




readCookie=function(key)
    {
        var pageKey,cookie,i,c;
        pageKey=key;
                if (!document.cookie)
                {
                       return false;
                }
       cookie= document.cookie.split(';');
        for (i=0;i<cookie.length;i++)
        {
            c = cookie[i];
           while (c.charAt(0)==' ') c = c.substring(1,c.length);
            if (c.indexOf(pageKey) == 0){
                cookie= c.substring(pageKey.length+1,c.length);
                if (cookie=="undefined")
                {
                	cookie=false;
                }
                return cookie;
           }
        }
        return false;
    };
 
    writeCookie=function(key,string)
    {
        var pageKey,date,expires;
        pageKey=key;
        date = new Date();
        date.setTime(date.getTime()+(60*60*1000)); //60 minutes duration
        expires = "; expires="+date.toGMTString();
        document.cookie = pageKey+"="+string+expires+";path=/;";
    };
    
    configSumFields=function(fieldset)
    {
    	var inputs=$(":text",fieldset);
    	inputs.click(function(){sumFields(this)});
    	inputs.blur(function(){sumFields(this)});
    	sumFields(inputs[0]);
    };
    
    sumFields=function(src)
    {
    	var fieldset=src.parentNode.parentNode;
    	var sum=0;
    	$(":text",fieldset).each(function(){sum=sum+(this.value/1)});
    	$(".total span",fieldset).html(sum);
    };
    
    var errorlog=new Array();
    validateForm=function()
    {
    	errorlog.length=0;
    	prefillHiddenFields();
    	var inputs=$("#content .required [type],#content .requirederrorinput [type]");
    	inputs.each(function(){
    	if (this.nodeName=="SELECT" && this.selectedIndex<1)
    	{
    		logError(this);
    	}
    	
    	else if (this.nodeName=="INPUT" && this.type=="text" && this.value=="")
    	{
    		logError(this);
    	}
    	else if (this.nodeName=="TEXTAREA" && this.value=="")
    	{
    		logError(this);
    	};
    	
    	
    	});
    	return reportError();
    };
    
    logError=function(input)
    {
    	errorlog.push(input);
    };
    
    reportError=function(input)
    {
    	$("#content .requirederrorinput").removeClass("requirederrorinput");
    	var i=0;
    	var errorstring="";
    	if (errorlog.length>0)
    	{
    		errorstring="The following fields need to be filled in correctly:\n\n";
    	
	    	for (i=0; i<errorlog.length; i++)
	    	{
	    		var div=$(errorlog[i].parentNode);
	    		div.addClass("requirederrorinput");
	    		errorstring+="- "+$("label:first",div[0]).html()+"\n";
	    	}
	    	
	    	alert(errorstring);
	    	return false;
    	}
    	else
    	{
    		return true;
    	}
    };
    
    prefillHiddenFields=function()
    {
    	var inputs=$("#content .hidden .required [type],#content .hidden .requirederrorinput [type]");
    	inputs.each(function(){
    	if (this.nodeName=="SELECT")
    	{
    		this.selectedIndex=1;

    	}
    	
    	else if (this.nodeName=="INPUT" && this.type=="text")
    	{
    		this.value="000";
    	}
    	else if (this.nodeName=="TEXTAREA")
    	{
    		this.value="000";
    	};
    	
    	
    	});
    };
    
    configureCreditCardInputs=function()
    {
    	$("#content .creditCardPicker select").each(function(){
    		$(this).change(function(){ displayCreditCardInputs(this); });
    		displayCreditCardInputs(this);
    	});
    };
    
    displayCreditCardInputs=function(list)
    {
    	var fieldset=list.parentNode.parentNode;
    	var count=list.selectedIndex-1;
    	$(".creditCardLimit :text",fieldset).each(function(i){
    		var div=this.parentNode;
    		if (i>count)
    		{
    			div.style.display="none";
    			this.value="";
    		}
    		else
    		{
    			div.style.display="block";
    		}
    	});
    };
    
    $(window).ready(function(){
    
    	displaySecondApplicant();
    	loadCalculatorData();
    	configureCreditCardInputs();
    
    	$("#content fieldset input[type='submit']").addClass("submit").each(function(){if (this.value=="+")
		this.className+=" addField"});

		$("#content .activateHidden select").change(function(){	
				storeSecondApplicant(this);
		});
		
		$("#content .hasOther").each(function(){
				var fieldset=this.parentNode;
				var radios=$(":radio",this)
				radios.click(function(){
						if (this.className.indexOf("hideExtra")>-1) 
						{
							$(".otherField",fieldset).hide();
						}
						else
						{
							$(".otherField",fieldset).show();
						}
					}).addClass("hideExtra");
				$(radios[radios.length-1]).removeClass("hideExtra");
				if (radios[radios.length-1].checked!=true)
				{
					$(".otherField",fieldset).hide();
				}
			});
			
			
		$("#content .hasSelfEmployed").each(function(){
				var fieldset=this.parentNode;
				var radios=$(":radio",this)
				radios.click(function(){
						if (this.className.indexOf("hideEmployment")>-1) 
						{
							$(".selfempField",fieldset).hide();
						}
						else
						{
							$(".selfempField",fieldset).show();
						}
					}).addClass("hideEmployment");
				$(radios[3]).removeClass("hideEmployment");
				if (radios[3].checked!=true)
				{
					$(".selfempField",fieldset).hide();
				}
			});
			
		$("#content .total").each(function(){
			var fieldset=this.parentNode;
			configSumFields(fieldset);
			
		});
		
		$("#content .submit :submit").click(function(){
			return validateForm();
		});
    });