
<!--
//global vars
var blnvalidms=false;
var blnvalidpv=false;
var blnltv=false;
var imortgagesize,ipropertyvalue;
var brokerDisplayText,arrbroker,sbidid;
var gpostcode, gmortgagetype,gmortgagesize

var msg = null


function detect(){
				 try
				 		{
    				 var sbrowser='';
    		     var obrowser=document.getElementById("browserdetails");
    				 	
    					sbrowser+='Name=' + navigator.appName + ' ';
    					sbrowser+='Ver=' + navigator.appVersion + ' ';
							sbrowser+='Agent=' + navigator.userAgent;
    					obrowser.value=sbrowser
							}
					catch(Err){}		
}


function screensize(){

  var height = document.body.clientHeight;
  var width = document.body.clientWidth;
  var owidth=document.getElementById("txtwidth")
  var oheight=document.getElementById("txtheight")
  
  owidth.value=width;
  oheight.value=height;
}

function initform(){

				 Check_State();
				 checkForBroker();
				 screensize();
				 checkltv();
				 detect();
}

//****
function Check_State(){
    var ocboftb=document.getElementById("cboFirstTimeBuyer");
		var omtype=document.getElementById("mortgagetype");
		var ocbomortgagetype=document.getElementById("cboMortgageType");
		var selmortgagetype = ocbomortgagetype[ocbomortgagetype.selectedIndex].value;

		if (omtype.value=="")
			 {
			 	Hide_MQ("PropertyQuestion");
        	Hide_MQ("FirstTimeBuyer");
			ocboftb.selectedIndex = 0;
			 }
			 
    if(selmortgagetype == "Re-Mortgage")
        	{
        	Hide_MQ("PropertyQuestion");
        	Hide_MQ("FirstTimeBuyer");
        	ocboftb.selectedIndex = 0;
        	}
  
	  if(selmortgagetype == "Purchase")
        	{
        	Show_MQ("FirstTimeBuyer");
					Show_MQ("PropertyQuestion");
					
					
        	}
  
  


		if(selmortgagetype == "Buy To Let")
			{
			Show_MQ("PropertyQuestion");
			Hide_MQ("FirstTimeBuyer");
			}
			
	
																						  
} //End Function



//********

function Show_MQ(Element){

  var oId=document.getElementById(Element)
  oId.style.visibility = "visible";
  oId.style.display = "";
}
function Hide_MQ(Element){

  var oId=document.getElementById(Element)
  oId.style.visibility = "hidden";
  oId.style.display = "none";
}
function limitText (textObj, maxCharacters){
        if(textObj.value.length<maxCharacters){
            textObj.pref=textObj.value
        }else{
            textObj.value=textObj.pref;
        }
    }
    
      function findAddressClicked()
        {
					try {
						if (document.getElementById('addressselect').value == '0' && document.getElementById('Postcode').value != '' && document.getElementById('findclickmessagedisplayed').value == '0')
            {
                document.getElementById('findclickmessagedisplayed').value = '1';
                alert('Please click the Find Address button to choose your address based on the postcode');
            }
					}
					catch (e) {
						}
        }
				
function checkmortgagesize(display){
    var omortgagesize=document.getElementById("Mortgage_Size");
		var omortgagesizeerror=document.getElementById("mortgagesizeerror");
		var blnvalid=false;
		imortgagesize=stripchars(omortgagesize.value);
		
						//check for valid mortgage value
    		if (imortgagesize.length>0)
    			 {
    			  if (isNaN(imortgagesize))
    					 {
							 omortgagesizeerror.innerHTML="Invalid number, please amend";
    					 blnvalid=false;
    					 }
						else
								{								
								if (imortgagesize>0 && imortgagesize<25000)
									 {
									 omortgagesizeerror.innerHTML="Must be 25,000 or above.<BR>";											
									 blnvalid=false;
									 }
								else
										{
										omortgagesizeerror.innerHTML="";
										blnvalid=true;
										}
								}						
    			 }
				else
						{
						omortgagesizeerror.innerHTML="Please enter 25,000 or above.<BR>";
						blnvalid=false;
						}
						
				if (display==1)
					 {
					 if(blnvalid==false){omortgagesizeerror.style.display="";}
					 else{omortgagesizeerror.style.display="none";}
					 
					 if (imortgagesize>1000000)
					 		{
							alert("Mortgage amount entered is greater than 1 million. Are you sure this is correct?")
							}
					 }

				omortgagesize.value=imortgagesize;		
				if (blnvalid==true){return true;}
				else{return false;}
}

function checkpropertyvalue(display){
    var opropertyvalue=document.getElementById("Property_Value");
    var opropertyvalueerror=document.getElementById("propertyvalueerror");
    var omortgagetype=document.getElementById("mortgagetype");
		var blnvalid=false,iltv,iltvpercent,ivalue;
		ipropertyvalue=stripchars(opropertyvalue.value);
		
		//check for valid property value	 
    		if (ipropertyvalue.length>0)
    			 {
    			  if (isNaN(ipropertyvalue))
    					 {
							 opropertyvalueerror.innerHTML="Invalid number, please amend";
    					 blnvalid=false;
    					 }
						else
								{
								if (display==1)
									 {
    								 if (checkmortgagesize(0))
    								 		{
    										iltv=calcltv(omortgagetype.value);
    
    										switch(iltv)
    												{
    												case 100:
    														 		 iltvpercent=100;
    																 break;
    												case 95:
    												 		 		 iltvpercent=105.27;
    																 break;
    												case 110:
    												 		 		 iltvpercent=90.9;
    																 break;
    												}
    												ivalue=parseInt((imortgagesize/100)*iltvpercent)
    												
    										 if (ipropertyvalue<ivalue)
    										 		{
    												opropertyvalueerror.innerHTML="Property value must be greater <br/>&nbsp;&nbsp;&nbsp;&nbsp;than or equal to " + ivalue + "<BR>";
    												blnvalid=false;
    												}
    										 else
    										 		 {
    												 opropertyvalueerror.innerHTML=""
    												 blnvalid=true;
    												 }    										
    										}			
    								else
    										{
    											opropertyvalueerror.innerHTML="Please enter valid mortgage size<BR>";
    											blnvalid=false;
    										}
									}
									else
											{
											blnvalid=true;
											}							
								}
    			 }	
					 else
						{
						opropertyvalueerror.innerHTML="Please enter an amount<BR>";
						blnvalid=false;
						}
						
				if (display==1)
					 {
					 if(blnvalid==false){opropertyvalueerror.style.display="";}
					 else{opropertyvalueerror.style.display="none";}
					 }

				opropertyvalue.value=ipropertyvalue;		
				
				if (blnvalid==true){return true;}
				else{return false;}
		
}				

function calcltv(mortgagetype){
				 var iltv=110;
				 
				 if (mortgagetype.length>0)
				 		{
           if (mortgagetype=="Purchase" || mortgagetype=="Re-Mortgage")
          		 		{
          				iltv=100;
          				}
          		 else if(mortgagetype=="FTB")
          		 		{
          			  iltv=110; //ftb
          				}
          		 else
          		 		 {
          				 iltv=95;
          				 }
						} 
					return iltv;
}
				


function checkltv(){
    var oltvcheck=document.getElementById("ltvcheck");
    var omortgagesize=document.getElementById("Mortgage_Size");
    var opropertyvalue=document.getElementById("Property_Value");
    var omortgagetype=document.getElementById("mortgagetype");
    var oltvtext=document.getElementById("ltvtext");
    var omortgagesizeerror=document.getElementById("mortgagesizeerror");
    var opropertyvalueerror=document.getElementById("propertyvalueerror");
	
    var iltv=100;
    var blncheck=false;
    var icount=0;
    var ivalue=0;
    var validltv=0;

	 	//calc mortagge type
	 	calcMortgageType();

   		

		//check mortgagesize
		blnvalidms=checkmortgagesize(0);
		blnvalidpv=checkpropertyvalue(0);
				 
	  iltv=calcltv(omortgagetype.value);
    if (icount==0 && blnvalidpv==true && blnvalidms==true && omortgagetype.value!="")
        {
     			//calc ltv 	 
            ivalue=parseInt(imortgagesize)/parseInt(ipropertyvalue);
						
            if ((parseInt(ivalue*100))>iltv)
            	 {
							 if (checkmortgagefields())
							 		{
    					 		validltv=(ipropertyvalue/100)*iltv; //get valid ltv for error message						
        					oltvtext.innerHTML="Loan Amount :- The amount you want to borrow is more than " + iltv + "% of the value of the property. Your borrow amount needs to be " + parseInt(validltv) + " or less for this mortgage type. Please amend your borrow amount or property value.<br/>"											
									oltvcheck.value=0; //set ltvcheck flag -false
									oltvtext.style.display='';
									opropertyvalueerror.innerHTML="";
									opropertyvalueerror.style.display='none';
									}
            	 }
						else
								{
								oltvcheck.value=1; //set ltvcheck flag -ok
								oltvtext.style.display='none';
								opropertyvalueerror.innerHTML="";
								opropertyvalueerror.style.display='none';

								}
							
        }
		checkForBroker();
}		

function stripchars(numbervalue){

    var temp=new String(numbervalue);
    var schar,arrtemp;
		var sreturn=new String("");
		
		arrtemp=temp.split(".");
		temp=arrtemp[0];
		
		if (temp.length>0)
			 {		 
       	for (i = 0; i < temp.length ; i++) 
          	 {			
    				 if (isNaN(temp.charAt(i))==false)
    				 		{
    						 sreturn+=temp.charAt(i)
    						}
          	 }
				 return sreturn;
				}				 								
		 return numbervalue;

}

function IsNumeric(sText)
{
   var ValidChars = "0123456789.,";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }

function setMortgageType(mtype){
				 var omtype=document.getElementById("mortgagetype");			 

				 omtype.value=mtype;
				 calcMortgageType();
				 setfp();
				 Check_State();
				 checkltv();
}			

function calcMortgageType(){
				 var omtype=document.getElementById("mortgagetype");
			 	 //var oselfcert=document.getElementById("optscyes");
    		 //var oselfcertno=document.getElementById("optscno");    		 
				 var obadcredit=document.getElementById("bad_credit");
    		 //var oftb=document.getElementById("optftyes");
				 var ocbomortgagetype=document.getElementById("cboMortgageType");
				 var selmortgagetype = ocbomortgagetype[ocbomortgagetype.selectedIndex].value;
				 
				 var ocboftb=document.getElementById("cboFirstTimeBuyer");
				 var selftb = ocboftb[ocboftb.selectedIndex].value;
				 
				 var ocboselfcert=document.getElementById("cboSelfCertify");
				 var selselfcert = ocboselfcert[ocboselfcert.selectedIndex].value;
 				 //var orm=document.getElementById("optrm");
				 //var obtl=document.getElementById("optbtl");
				 //var oseas=document.getElementById("optoseas");				 				 
								 
							if (selmortgagetype == "Re-Mortgage") //remortgage checked
								 {
									 omtype.value="Re-Mortgage";
									 if (selselfcert == "Yes")
									 		{
                       omtype.value="SelfCert-Re-Mortgage";
											 }
											 
                    if (obadcredit.value==1)
											 {
                        omtype.value="Adverse-Re-Mortgage";
                    		}
									}
							if (selmortgagetype == "Purchase") //buy new checked
								 {
									 omtype.value="Purchase";
                    if (selftb == "Yes")
											 {
                        omtype.value="FTB";
												}
                    else
												{
                        if (selselfcert == "Yes")
													 {
                            omtype.value="SelfCert-Other";
                       			}
                        if (obadcredit.value==1) 
													 {
                            omtype.value="Adverse-Other";
                        		}
                   			}
									}
							if (selmortgagetype == "Buy To Let") //btl chekced
								 {
									 omtype.value="Buy To Let";
									 if (obadcredit.value==1)
									 		{
                       omtype.value="Adverse-Other";
                    	 }
									}

				
								Check_State();	
}
function setfp(){
				var omtype=document.getElementById("mortgagetype");
				var ofp=document.getElementById("foundpropertyvalue");
				var ocbofoundproperty=document.getElementById("cboFoundProperty");
				var selfoundproperty=ocbofoundproperty[ocbofoundproperty.selectedIndex].value;
				
				if (selfoundproperty == "Yes"){ofp.value=1;}
				else{ofp.value=0;}
				
				if (omtype.value=="Re-Mortgage"){ofp.value=1;}

}

function setBadCredit(){
 				 var obadcredit=document.getElementById("bad_credit");
 				 var ocbobadcredit=document.getElementById("cboBadCredit");
				var selbadcredit=ocbobadcredit[ocbobadcredit.selectedIndex].value;
				 
				 if (selbadcredit == "Yes"){obadcredit.value=1;}
				 else{obadcredit.value=0;}
				 

				 checkltv();
}	
function displayHelp(helptext){
				 
				 document.getElementById("popDiv").innerHTML=document.getElementById(helptext).innerHTML;
				 document.getElementById("popDiv").className = 'popDivShow';
}

function checkForBroker(){
   var omortgagetype=document.getElementById("mortgagetype");
   var omortgagesize=document.getElementById("Mortgage_Size");
   var opropertyvalue=document.getElementById("Property_Value");
   var ofp=document.getElementById("foundpropertyvalue");
   var opostcode=document.getElementById("Postcode");
   var obrokerframe=document.getElementById("brokerframe");
   var obtnsubmit=document.getElementById("btnsubmit");
	 var oprocessing=document.getElementById("processing");	
	 
   var spostcodepart="";		  
   var icount=0

	
       if (checkmortgageqs())
       		{
      		if (postcodecheck())
      			 {	
						 if (checkglobalvalues())
	 						{
    				 obtnsubmit.style.display="none";
    				 oprocessing.style.display="";
      			 surl="/form/broker_search.aspx"
      			 surl+="?mortgage_type=" + omortgagetype.value;
      			 surl+="&mortgage_size=" + omortgagesize.value;
      			 surl+="&property_value=" + opropertyvalue.value;
       			 surl+="&postcode=" + opostcode.value;
       			 surl+="&fp=" + ofp.value;
       			 obrokerframe.src=surl
						 	}
					
    				 }
    			else
    					{
    					setconsentbox(3);
    					}  			
      		}
    	else
    			{
    			setconsentbox(3);
    			}
}

function checkglobalvalues(){

			/*	 var opostcode=document.getElementById("Postcode");
				 var omortgagetype=document.getElementById("mortgagetype");
   			 var omortgagesize=document.getElementById("Mortgage_Size");
				 var blnchange, icount=0;
				 
				 if (opostcode.value!=gpostcode)
				 		{
						gpostcode=opostcode.value;
						icount++;
						}
				if (omortgagetype.value!=gmortgagetype)
				 		{
						gmortgagetype=omortgagetype.value;
						icount++;
						}
				if (omortgagesize.value!=gmortgagesize)
				 		{
						gmortgagesize=omortgagesize.value;
						icount++;
						}

				if (icount>0){return true;}	
				else {return false;}
			*/
			return true;
}

function postcodecheck(){
 			var opostcode=document.getElementById("Postcode");
			var temppostcode,blnfound=false,postcodepart="";
			var olblmessage=document.getElementById("lblmessage");
			 
			if (opostcode.value.length>0) //check postcode filled in
			 		{
					opostcode.value=opostcode.value.toUpperCase();
					opostcode.value=opostcode.value.replace(" ","");
    			postcodepart=opostcode.value.substring(0,2)    	    			
    			
    			switch(postcodepart)
    						{
    						case "C0":
    								 postcodepart="CO";
    								 blnfound=true;
    								 break;
    						case "P0":
    								 postcodepart="PO";
     								 blnfound=true;
    								 break;		 
    						case "S0":
    								 postcodepart="SO";
    								 blnfound=true;								 
    								 break;
    						case "Y0":
    								 postcodepart="YO";
    								 blnfound=true;								 
    								 break;
    						}
    			if (blnfound==true)
    				 {
    				 opostcode.value=postcodepart + opostcode.value.substring(2,opostcode.value.length)
    				 }
						 
					if(!isNaN(postcodepart.charAt(1)))
	 					{
						postcodepart=opostcode.value.substring(0,1)
						}	 
					if (postcodeLookup(postcodepart)>-1)
						 {
						 olblmessage.innerHTML=""
						 return true;
						 }
					else
							{
							olblmessage.innerHTML="<br/>Invalid postcode."
							return false;
							}	 
						 
					}
			else
					{
					olblmessage.innerHTML="Postcode required."
					return false;
					}
}

function gettext(){
				// history.go(0);
				 var obrokerframe=document.getElementById("brokerframe");
	 			 var oconsent=document.getElementById("expressconsent");
		     var obtnsubmit=document.getElementById("btnsubmit");
				  var oprocessing=document.getElementById("processing");
				  var osessionid=document.getElementById("webservicesessionid");
				
				 
				 arrbroker=document.getElementById("brokerframe").contentWindow.document.body.innerHTML;
				 arrbroker=arrbroker.split("%_%");
				 if (arrbroker[0]==1)
				 		{				 					 		
						brokerDisplayText=arrbroker[1];
						osessionid.value=arrbroker[2];
						setconsentbox(1);
			
						}
					else if (arrbroker[0]==2)
							 {
							 setconsentbox(2);
							 }
					else
				 		 {
						 setconsentbox(3);
						 }

}
function setconsentbox(display){
	 var obtnsubmit=document.getElementById("btnsubmit");
	 var oprocessing=document.getElementById("processing");			 
 	 var oconsent=document.getElementById("expressconsent");
	 
	 switch(display)
	 			{
				case 1:
						 	oconsent.innerHTML =brokerDisplayText;
   						    obtnsubmit.style.display="";
							oprocessing.style.display="none";
							break;
				case 2:
				 		 	oconsent.innerHTML="Sorry, we were unable to match your details to a broker.";
							oprocessing.style.display="none";
							break;
				case 3:
							if (oconsent != undefined) {
								oconsent.innerHTML="Yes, I am actively seeking a mortgage and would like to discuss my needs with a mortgage consultant who will contact me by telephone."
								obtnsubmit.style.display="";
								oprocessing.style.display="none";
						  break;
							}
							break;
				}
	 
}


function checkmortgageqs(){
  var oltvcheck=document.getElementById("ltvcheck");
	var icount=0;
	if (checkmortgagefields()==false){icount++;}
	if (oltvcheck.value!=1){icount++;}
	if (checkfp()==false){icount++;}	
	
	if (icount==0){return true;}
  else{return false;}

}

function checkmortgagefields(){
   //var oselfcert=document.getElementById("optscyes");
   //var oselfcertno=document.getElementById("optscno");
   //var obadcredit=document.getElementById("optbcyes");
   //var obadcreditno=document.getElementById("optbcno");
   var obadcredit=document.getElementById("bad_credit");
   //var oftb=document.getElementById("optftyes");
   //var oftbno=document.getElementById("optftno");

	 var ocbobadcredit=document.getElementById("cboBadCredit");
	var selbadcredit=ocbobadcredit[ocbobadcredit.selectedIndex].value;
			
	var ocboftb=document.getElementById("cboFirstTimeBuyer");
	var selftb = ocboftb[ocboftb.selectedIndex].value;
		
	var ocboselfcert=document.getElementById("cboSelfCertify");
	var selselfcert = ocboselfcert[ocboselfcert.selectedIndex].value;


   var ocbomortgagetype=document.getElementById("cboMortgageType");
	var selmortgagetype = ocbomortgagetype[ocbomortgagetype.selectedIndex].value;

 
   var omsize=document.getElementById("Mortgage_Size");
   var icount=0;
   
   
   
   //check that all mortgage q's have been answered
   if (selmortgagetype == "Purchase")
   		{
			
  		if (selftb == "")
  			 {
  			 icount++;
  			 }
  		}

  		if (selselfcert == "")
  			 {			
  			 icount++;
  			 }

			if (checkmortgagesize(0)==false){icount++;}				
					
  		if (icount==0){return true;}
  		else{return false;}

}

function checkfp(){
 var omortgagetype=document.getElementById("mortgagetype");
var ocbofoundproperty=document.getElementById("cboFoundProperty");
var selfoundproperty=ocbofoundproperty[ocbofoundproperty.selectedIndex].value;
		
 //check if remortgage or overseas
 if (omortgagetype.value.indexOf("Re-Mortgage") == -1 && omortgagetype.value!="Overseas")
 		{
		if (selfoundproperty == "")
			 {
			 return false;
			 }		
		else
				{
				return true;
				}
		} 
	else
		{
		return true;
		}
}
// -->

