function HideAllSteps(){document.getElementById('divStep1').style.display='none';document.getElementById('divStep2').style.display='none';document.getElementById('divStep3').style.display='none';}
function ShowStep2(eholder)
{var strNewUrl;var frm=document.forms[appFormName];GoToStep2Clicked=true;if(isValidStep1(eholder))
{if(typeof(window['stay'])!="undefined"){if(stay==1){document.getElementById('divStep1').style.display='none';document.getElementById('divStep2').style.display='';return;}}
strNewUrl=strSSLURLtoApp+'forms/mortgage_form_newgr_1step_bluebrd.html';if(frm.elements["steps"])
{if(frm.elements["steps"].value=='2')
{strNewUrl=strSSLURLtoApp+'forms/mortgage_form_newgr_2steps.html';}
if(frm.elements["steps"].value=='2_2')
{strNewUrl=strSSLURLtoApp+'forms/mortgage_form_newgr_2steps_2.html';}
if(frm.elements["steps"].value=='2_3')
{strNewUrl=strSSLURLtoApp+'forms/mortgage_form_newgr_2steps_3.html';}
if(frm.elements["steps"].value=='2_4')
{strNewUrl=strSSLURLtoApp+'forms/mortgage_form_newgr_2steps_4.html';}
if(frm.elements["steps"].value=='2_5')
{strNewUrl=strSSLURLtoApp+'forms/mortgage_form_newgr_2steps_5.html';}
if(frm.elements["steps"].value=='prleadbay')
{strNewUrl='http://www.mortgagesorter.co.uk/LEADBAY_LATESTmortgage_form_newgr_3steps.html';}}
strNewUrl+='?referrer='+appFormName+'&showstep=2';strNewUrl+='&mortgage_size='+frm.elements["Mortgage_Size"].value;strNewUrl+='&mortgage_type='+frm.elements["mortgagetypebasic"].value;strNewUrl+='&bad_credit='+frm.elements["bad_credit"].value;strNewUrl+='&property_value='+frm.elements["Property_Value"].value;strNewUrl+='&country='+frm.elements["country"].selectedIndex;strNewUrl+='&mainFormVersion='+appFormName;var oftbyes=frm.elements["ftbyes"];var oftbno=frm.elements["ftbno"];var ofpyes=frm.elements["fpyes"];var ofpno=frm.elements["fpno"];var fp='';if(ofpyes.checked){fp='1';}
if(ofpno.checked){fp='0';}
strNewUrl+='&fp='+fp;var ftb='';if(oftbyes.checked){ftb='1';}
if(oftbno.checked){ftb='0';}
strNewUrl+='&ftb='+ftb;strNewUrl+='&intErrorId='+intErrorId;strNewUrl+='&UrlReferrer='+escape(frm.elements["UrlReferrer"].value);strNewUrl+='&mainpagename='+escape(frm.elements["mainpagename"].value);parent.document.location.href=strNewUrl;}}
function NextValidationStep2(){if(GoToStep2Clicked){ShowStep2();}}
function NextValidationSubmit(){if(SubmitClicked){SubmitForm();}}
function showStep3(){HideAllSteps();document.getElementById('divStep3').style.display='';}
function SubmitForm(){if(FormValidation('ErrorHolderStep3')){var arr=document.forms[appFormName].getElementsByTagName('input');for(i=0;i<arr.length;i++){if(arr[i].id=='btnSubmit'){obj=arr[i];obj.disabled=true;}}
return true;}
return false;}
function FormValidation(error_holder){var intLeadbayMT=getMortgageType();var obj,obj2,numb,strErrMessage,blRes=true,isOK=true,blDateError=false;ClearRedMessage(error_holder);var intPropertyvalue=document.forms[appFormName].elements['Property_Value'].value;var intMortgageSize=document.forms[appFormName].elements['Mortgage_Size'].value;var percentage=mortgagetypesPercentage[parseInt(intLeadbayMT)];var allowed_amount=(intPropertyvalue*(percentage))/100;if(isOK&&(intMortgageSize>allowed_amount)){obj=document.forms[appFormName].elements["Mortgage_Size"];strErrMessage="SORRY! The amount you want to borrow is more than "+percentage+" % of the property value. Your borrow amount needs to be "+allowed_amount+" or less for this mortgage type and property value. A mortgage broker may be able to get you this, BUT in order to be called by one you must reduce the amount on this form to less than "+percentage+" %. Please amend:<br />";ShowRedMessage(strErrMessage,"Mortgage_Size","Mortgage_Size",error_holder);AddClientErrorStep2('Loan to Value');isOK=false;}
if(isOK&&(document.forms[appFormName].elements['First_Name'].value.length==0)){strErrMessage="SORRY! Please insert First name";ShowRedMessage(strErrMessage,"First_Name","First_Name",error_holder);AddClientErrorStep2('First name');isOK=false;}else{document.forms[appFormName].elements['First_Name'].className='FormInputTextStep3';}
if(isOK&&(document.forms[appFormName].elements['Surname'].value.length==0)){strErrMessage="SORRY! Please insert Surname";ShowRedMessage(strErrMessage,"Surname","Surname",error_holder);AddClientErrorStep2('Surname');isOK=false;}else{document.forms[appFormName].elements['Surname'].className='FormInputTextStep3';}
var dt=document.forms[appFormName].elements["dobmonth"].value+'/'+document.forms[appFormName].elements["dobday"].value+'/'+document.forms[appFormName].elements["dobyear"].value;if(isOK&&(!isDate(dt))){strErrMessage="SORRY! Please insert Date of birth - see red outlined box above";ShowRedMessage(strErrMessage,"tdDOB","tdDOB",error_holder);AddClientErrorStep2('DOB');isOK=false;blDateError=true;}else{var arr=document.forms[appFormName].getElementsByTagName('TD');for(i=0;i<arr.length;i++){if(arr[i].id=='tdDOB'){obj=arr[i];obj.className='FormSelectStep3';}}}
var dtMin=new Date();var dtMax=new Date();dtMin.setYear(dtMin.getFullYear()-18);dtMax.setYear(dtMax.getFullYear()-1000);dt=new Date();dt.setDate(document.forms[appFormName].elements["dobday"].value);dt.setMonth(parseInt(document.forms[appFormName].elements["dobmonth"].value)-1);dt.setYear(document.forms[appFormName].elements["dobyear"].value);if(isOK&&((dt>dtMin)||(dt<dtMax))){strErrMessage="SORRY! You must be between 18 and 100 years old";ShowRedMessage(strErrMessage,"tdDOB","tdDOB",error_holder);AddClientErrorStep2('DOB min - max');isOK=false;}else{if(!blDateError){var arr=document.forms[appFormName].getElementsByTagName('TD');for(i=0;i<arr.length;i++){if(arr[i].id=='tdDOB'){obj=arr[i];obj.className='FormSelectStep3';}}}}
var oMTPSC=document.forms[appFormName].elements["Mortgage_Type"];if(oMTPSC.value!='9'){if(isOK&&(!validatePostcode(document.forms[appFormName].elements['Postcode'].value))){strErrMessage="SORRY! Please insert valid Postcode";ShowRedMessage(strErrMessage,"Postcode","Postcode",error_holder);AddClientErrorStep2('Postcode not valid: >'+document.forms[appFormName].elements['Postcode'].value+'<');isOK=false;}else{document.forms[appFormName].elements['Postcode'].className='FormInputTextStep3';}}
if(isOK&&((document.forms[appFormName].elements['ddlAddressList'].value=='')&&((document.forms[appFormName].elements['address_line1'].value=='')||(document.forms[appFormName].elements['town'].value=='')||(document.forms[appFormName].elements['county'].value=='')))){strErrMessage="SORRY! We need your address. Please click on the \'Fetch Address\' button above - or fill it manually";ShowRedMessage(strErrMessage,"tdAddress","ddlAddressList",error_holder);AddClientErrorStep2('Address - not clicked ');isOK=false;}else{var arr=document.forms[appFormName].getElementsByTagName('TD');for(i=0;i<arr.length;i++){if(arr[i].id=='tdAddress'){obj=arr[i];obj.className='FormSelectStep3';}}}
if(isOK&&(document.forms[appFormName].elements['address_line1'].value=='')){strErrMessage="SORRY! Address 1 has to be filled. Please click on the Fetch Address button or fill address manually";ShowRedMessage(strErrMessage,"tdaddress_line1","address_line1",error_holder);AddClientErrorStep2('Address 1');isOK=false;}else{var arr=document.forms[appFormName].getElementsByTagName('TD');for(i=0;i<arr.length;i++){if(arr[i].id=='tdaddress_line1'){obj=arr[i];obj.className='FormSelectStep3';}}}
if(isOK&&(document.forms[appFormName].elements['town'].value=='')){strErrMessage="SORRY! Town has to be filled. Please click on the Fetch Address button or fill address manually";ShowRedMessage(strErrMessage,"tdTown","town",error_holder);AddClientErrorStep2('Town');isOK=false;}else{var arr=document.forms[appFormName].getElementsByTagName('TD');for(i=0;i<arr.length;i++){if(arr[i].id=='tdTown'){obj=arr[i];obj.className='FormSelectStep3';}}}
if(isOK&&(document.getElementById('county').value=='')){strErrMessage="SORRY! County has to be filled. Please click on the Fetch Address button or fill address manually";ShowRedMessage(strErrMessage,"tdCounty","county",error_holder);AddClientErrorStep2('County');isOK=false;}else{document.getElementById('tdCounty').className='FormInputTextStep3';}
if(isOK&&(!checkemail(document.getElementById('Email').value))){strErrMessage="SORRY! Please insert valid Email address";ShowRedMessage(strErrMessage,"Email","Email",error_holder);AddClientErrorStep2('Email not valid: '+document.getElementById('Email').value);isOK=false;}else{document.getElementById('Email').className='FormInputTextStep3';}
if(isOK&&(document.getElementById('Work_Phone').value.length<10)){strErrMessage="SORRY! Please insert valid phone number. You can specifiy when you want to be called in the comments box - just above";ShowRedMessage(strErrMessage,"Work_Phone","Work_Phone",error_holder);AddClientErrorStep2('Day phone < 10: '+document.getElementById('Work_Phone').value);isOK=false;}else{document.getElementById('Work_Phone').className='FormInputTextStep3';}
if(isOK&&(document.getElementById('Home_Phone').value.length<10)){strErrMessage="SORRY! Please enter a valid phone number here. You can specifiy when you want to be called in the comments box - just above";ShowRedMessage(strErrMessage,"Home_Phone","Home_Phone",error_holder);AddClientErrorStep2('Home Phone < 10: '+document.getElementById('Home_Phone').value);isOK=false;}else{document.getElementById('Home_Phone').className='FormInputTextStep3';}
obj=document.forms[appFormName].elements["Mortgage_Size"];numb=parseInt(obj.value);if(isOK&&(intMortgageSize==''||(numb=='NaN')||(isNaN(numb))||(numb<25000)||(numb>10000000))){ShowRedMessage("Please correct the mortgage size, it should be 25000 or more","Mortgage_Size","Mortgage_Size",error_holder);AddClientErrorStep2('Mortgage Size: '+obj.value);isOK=false;}else{obj.className='FormInputText';}
obj=document.forms[appFormName].elements["Property_Value"];numb=parseInt(obj.value);if(isOK&&(intPropertyvalue==''||(numb=='NaN')||(isNaN(numb))||(numb<25000)||(numb>10000000))){ShowRedMessage("Please correct the Property value, it should be 25000 or more","Property_Value","Property_Value",error_holder);AddClientErrorStep2('Mortgage Size: '+obj.value);isOK=false;}else{obj.className='FormInputText';}
obj=document.getElementById("sch_broker_id");obj2=document.getElementById("sch_broker_msg");if(isOK&&((obj.value.length<4)||(obj2.value.length<50))){AddClientErrorStep2('Broker id < 4 or ExpressConsent < 50');getBrokerFromIframe();document.getElementById("btnSubmit").value='Final confirm';}
return isOK;}
function isValidStep1(error_holder){var numb,obj,objno,isOK=true;var intLeadbayMT=getMortgageType();ClearRedMessage(error_holder);var frm=document.forms[appFormName];var intPropertyvalue=frm.elements['Property_Value'].value;var intMortgageSize=frm.elements['Mortgage_Size'].value;var percentage=mortgagetypesPercentage[parseInt(intLeadbayMT)];var allowed_amount=(intPropertyvalue*(percentage))/100;if(isOK&&(intMortgageSize>allowed_amount)){obj=frm.elements["Mortgage_Size"];strErrMessage="SORRY! The amount you want to borrow is more than "+percentage+" % of the property value. A mortgage broker might be able to get you this, BUT in order to be called by one you must reduce the amount on this form to less than "+percentage+" %. Please amend:<br />";ShowRedMessage(strErrMessage,"Mortgage_Size","Mortgage_Size",error_holder);AddClientErrorStep1('Loan to Value');isOK=false;}
obj=frm.elements["Property_Value"];numb=parseInt(obj.value);if(isOK&&((numb=='NaN')||(isNaN(numb))||(obj.value<25000)||(obj.value>10000000)))
{ShowRedMessage("Please correct the property value, it should be 25000 or more","Property_Value","Property_Value",error_holder);AddClientErrorStep1('Property Value: '+obj.value);isOK=false;}else{obj.className='FormInputText';}
obj=frm.elements["Mortgage_Size"];numb=parseInt(obj.value);if(isOK&&((numb=='NaN')||(isNaN(numb))||(numb>10000000))){ShowRedMessage("Please correct the mortgage size, it should be 25000 or more","Mortgage_Size","Mortgage_Size",error_holder);AddClientErrorStep1('Mortgage Size: '+obj.value);isOK=false;}else{if(numb<25000){if(confirm('Sorry ! The amount you want to borrow is less than 25,000. This is the minimum allowed for a mortgage.\n\nBut don\'t worry ! You could get the money via a personal loan.\n\nI want a free no obligation loan quote Click OK\n\nNo thanks. I will change my borrow amount to more than 25,000 Click Cancel')){parent.location.href='http://www.moneysorter.co.uk/loan/loan_applications.html';isOK=false;return false;}else{ShowRedMessage("Please correct the mortgage size, it should be 25000 or more","Mortgage_Size","Mortgage_Size",error_holder);AddClientErrorStep1('Mortgage Size: '+obj.value);isOK=false;}}else{obj.className='FormInputText';}}
if(isOK&&(frm.elements["Mortgage_Type"].value=="")){ShowRedMessage("In the RED BOX above, please select any of the following mortgagetype options:<br />Re-Mortgage<br />Purchase<br />Buy to Let<br />Overseas","tdMortgage_Type","Mortgage_Type",error_holder);AddClientErrorStep1('Mortgage Type');isOK=false;}else{var arr=frm.getElementsByTagName('TD');for(i=0;i<arr.length;i++){if(arr[i].id=='tdMortgage_Type'){obj=arr[i];obj.className='FormSelect';}}}
obj=frm.elements["ftbyes"];objno=frm.elements["ftbno"];numb=frm.elements["Mortgage_Type"].value;if(isOK&&((numb=='6')&&(!obj.checked)&&(!objno.checked)))
{ShowRedMessage("Please select 'yes' or 'no' for<br />Are you a first time buyer","tdFtb","ftb",error_holder);AddClientErrorStep1('FirstTimeBuyer');isOK=false;}
else
{setClassName(frm,'TD','tdFtb','FormRadio');}
obj=frm.elements["fpyes"];objno=frm.elements["fpno"];numb=frm.elements["Mortgage_Type"].value;if(isOK&&(((numb=='5')||(numb=='6'))&&(!obj.checked)&&(!objno.checked))){ShowRedMessage("Please select 'yes' or 'no' for<br />Have you found a property","tdFp","fp",error_holder);AddClientErrorStep1('Found Property');isOK=false;}
else
{setClassName(frm,'TD','tdFp','FormRadio');}
if(isOK&&((frm.elements["country"].value=="")&&(document.forms[appFormName].elements["Mortgage_Type"].value=="9")))
{ShowRedMessage("Please select Country","tdCountry","country",error_holder);AddClientErrorStep1('Country');isOK=false;}
else
{setClassName(frm,'TD','tdCountry','FormSelect');}
return isOK;}
function pasteContent(val,nm)
{if(nm){document.forms[appFormName].elements[nm].value=val;}
if(nm=='Mortgage_Size'){var oMortgageSize=document.forms[appFormName].elements['Mortgage_Size'];oMortgageSize.value=val;}
if(nm=='Property_Value'){var oPropertyvalue=document.forms[appFormName].elements['Property_Value'];oPropertyvalue.value=val;}}
function ShowRedMessage(strText,strObjId,strObjValueId,strErrorHolderId){var objTemp;var strCaption='';var blTempTextField=true;var strNext='';var strStep='';var strAddBlur='';var frm=document.forms[appFormName];ClearRedMessage(strErrorHolderId);if((strObjValueId=='Mortgage_Type')||(strObjValueId=='ftb')||(strObjValueId=='fp')||(strObjId=='tdDOB')||(strObjId=='tdAddress')||(strObjValueId=='country')){blTempTextField=false;}
if(strErrorHolderId=='ErrorHolderStep3'){strStep='Step3';}else{strStep='';}
if(strObjValueId=='Postcode'){strAddBlur=' onblur=\"javascript: ClearAddressBox(); getBrokerFromIframe();\" ';}
if(strObjValueId=='Mortgage_Size'){strCaption='Mortgage Size:';}
if(blTempTextField){var strOnlyNumbers=" onkeypress=\"return isNumberKey(event);\" ";var strOnlyNumbersPaste=" onkeypress=\"return isNumberKeyPaste(event,this.value,'"+strObjValueId+"');\" ";if((strObjValueId=='Mortgage_Size')&&(strStep=='Step3')){strCaption='Mortgage Size:';strObjId='Mortgage_Size';objTemp='x'+strObjId;strText=strText+"<br /> "+strCaption+"<input style='width:100px;position:relative;left:4px;' type='text' class='FormInputText' name='"+objTemp+"' id='"+objTemp+"' ";strText=strText+strOnlyNumbers+" onChange=\"pasteContent(this.value,'"+strObjId+"')\" />";strCaption='Property Value:';strObjId='Property_Value';objTemp='x'+strObjId;strText=strText+"<br /> "+strCaption+" <input style='width:100px;' type='text' class='FormInputText' name='"+objTemp+"' id='"+objTemp+"' ";strText=strText+strOnlyNumbers+" onChange=\"pasteContent(this.value,'"+strObjId+"')\" />";objTemp='xMortgage_Size';}
else
{objTemp='x'+strObjId;strText=strText+" "+strCaption+" <input type='text' class='FormInputText' name='"+objTemp+"' id='"+objTemp+"' ";if((strObjValueId=='Mortgage_Size')||(strObjValueId=='Property_Value')){strText=strText+strOnlyNumbers;}
else
{strText=strText+" onkeyup=\"pasteContent(this.value,'"+strObjValueId+"')\" ";}
strText=strText+" onChange=\"pasteContent(this.value,'"+strObjId+"');\" "+strAddBlur+" "+strNext+" />";}}
var arr=frm.getElementsByTagName('DIV');for(i=0;i<arr.length;i++){if(arr[i].id==strErrorHolderId){arr[i].innerHTML=strText;}}
var arr=frm.getElementsByTagName('TR');for(i=0;i<arr.length;i++){if(arr[i].id=='tr'+strErrorHolderId){arr[i].style.display='';}}
if(typeof(objTemp)!='undefined')
{if(blTempTextField&&document.forms[appFormName].elements[objTemp])
{frm.elements[objTemp].focus();}}
if((strObjId=='tdFp')||(strObjId=='tdFtb'))
{setClassName(frm,'TD',strObjId,'FormRadioError'+strStep);}
else if((strObjId=='tdMortgage_Type')||(strObjId=='tdDOB'))
{setClassName(frm,'TD',strObjId,'FormSelectError'+strStep);}
else if((strObjId=='tdAddress')||(strObjId=='tdCountry'))
{setClassName(frm,'TD',strObjId,'FormInputTextError'+strStep);}
else
{document.forms[appFormName].elements[strObjId].className='FormInputTextError'+strStep;}}
function setBadCreditMax(intMax){var blRes=true;var bc=document.getElementById("bad_credit");bc.value='0';for(var a=1;a<intMax;a++){if(document.getElementById("bc"+a).checked){bc.value='1';}}}
function setBadCredit(){var blRes=true;var bc=document.getElementById("bad_credit");bc.value='0';for(var a=1;a<7;a++){if(document.getElementById("bc"+a)){if(document.getElementById("bc"+a).checked){bc.value='1';}}}}
function ClearRedMessage(strErrorHolderId){var arr=document.forms[appFormName].getElementsByTagName('DIV');for(i=0;i<arr.length;i++){if(arr[i].id==strErrorHolderId){obj=arr[i];obj.innerHTML='';}}
var arr=document.forms[appFormName].getElementsByTagName('TR');for(i=0;i<arr.length;i++){if(arr[i].id=='tr'+strErrorHolderId){obj=arr[i];obj.style.display='none';}}}
function setClassName(frm,tag,id,className)
{var arr=frm.getElementsByTagName(tag);for(i=0;i<arr.length;i++){if(arr[i].id==id){arr[i].className=className;}}}