var LB_ID="";
var LB_pid=1;
var GIM_brk='N';var GIM_ld='N';var gim_cl;var gbrkID="";var adv_str;var lenderID;var Amt_Sec;var queryString;var gbrk_act="";


function eraseCookie(name) {
	createCookie(name,"",-1);
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function submitForm(){
	//theForm = document.testf;
	/*queryString="?" + build_lead_str();
	//queryString="?val=test";
	action="LB_Lead.php5"+queryString;
	//alert(queryString);
	theForm.action=action;
	theForm.submit();*/
	err3=validate_step3();//alert(gim_cl);
	if(!err3){
		get_amtSec();
		makePOSTRequest('LB_lead');
		//if(el_val('_ID')==""){makePOSTRequest('broker');}
		//else{makePOSTRequest('LB_lead');}
	}
}
function goto_step2(){
	err1=validate_step1();/*alert("Validated");*/
	if(!err1){
		document.getElementById("Mortgage_Form_Page1").style.display="none";
		document.getElementById("Mortgage_Form_Page2").style.display="block";
		if(el_val('Mortgage_Type')!=1){show_all('FTB_Field');}else{hide_all('FTB_Field');}
	}
}
function goto_step3(){
		err2=validate_step2();LB_pid=3;
	if(!err2){
		document.getElementById("Mortgage_Form_Page2").style.display="none";
		document.getElementById("Mortgage_Form_Page3").style.display="block";
		document.getElementById("Mortgage_Form_Page2A").style.display="none";
		if(el_get('Postcode').value){get_Broker();}
		//fetchRate();
		}
	if(err2==2){
		document.getElementById("Mortgage_Form_Page2").style.display="none";
		document.getElementById("Mortgage_Form_Page2A").style.display="block";
	}
}
function backto_step1(){
	document.getElementById("Mortgage_Form_Page2").style.display="none";
	document.getElementById("Mortgage_Form_Page2A").style.display="none";
	document.getElementById("Mortgage_Form_Page1").style.display="block";

}
function backto_step2(){
	document.getElementById("Mortgage_Form_Page3").style.display="none";
	document.getElementById("Mortgage_Form_Page2").style.display="block";
	document.getElementById("Mortgage_Form_Page2A").style.display="none";

}

  var http_request = false;
  
function makePOSTRequest(lb_cmd) {
	document.getElementById('LB_Consent').style.visibility = 'visible';
	if(lb_cmd=='broker'){//alert("Broker selected");
	  		url="Mort_Broker.php5";
			document.getElementById('LB_Consent').innerHTML='<img src="images/SpinningCircle.gif" alt="" />&nbsp;&nbsp;<b>Starting Comparison...</b>';
			parameters=build_broker_str();/*alert(parameters);*/
			}//"myfirst=ONE&mysecond=TWO";

	if(lb_cmd=='LB_lead'){//alert("Lead selected");
			url="Mort_Lead.php5";
			document.getElementById('LB_Consent').innerHTML='<img src="images/SpinningCircle.gif" alt="" />&nbsp;&nbsp;<b>Submitting Details...</b>';			
			parameters=build_lead_str();//alert(parameters);
	  		//url="LB_Broker.php5";
  			//parameters=build_broker_str();
			}
			
	//alert(lb_cmd);	
  http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
      
      if(lb_cmd=='broker'){
	  	http_request.onreadystatechange = alertBroker;
	  	http_request.open('POST', url, true);
      	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      	http_request.setRequestHeader("Content-length", parameters.length);
      	http_request.setRequestHeader("Connection", "close");
      	http_request.send(parameters);
		}
   
      if(lb_cmd=='LB_lead'){
	  	http_request.onreadystatechange = alertLead;
	  	http_request.open('POST', url, true);
      	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      	http_request.setRequestHeader("Content-length", parameters.length);
      	http_request.setRequestHeader("Connection", "close");
      	http_request.send(parameters);
		}
   
   }



      function alertBroker() {
      if (http_request.readyState == 4) {
         if (http_request.status == 200) {
            //alert(http_request.responseText);
            result = http_request.responseText;
            getBroker(result);
         //IDis=document.getElementById('_ID').value;alert(IDis);
		 } else {
			//alert('There was a problem with the request.');
   			 BrokerText="Please accept our apologies.<Br>Our Server has been temporarily unable to respond.";
			 BrokerText+="<br>Please re-enter your POSTCODE";
			 document.getElementById('LB_Consent').style.visibility = 'visible';
			 document.getElementById('LB_Consent').innerHTML=BrokerText;

		 }
      }
   }
   
   
   
   function alertLead() {
      if (http_request.readyState == 4) {
         if (http_request.status == 200) {
            /*alert(http_request.responseText);*/
            result = http_request.responseText;
            getLead(result);//alert("Result");alert(result);
         //IDis=document.getElementById('_ID').value;alert(IDis);
		 } else {
            //alert('There was a problem with the request.');
			 BrokerText="Please accept our apologies.<Br>Our Server has been temporarily unable to respond.";
			 BrokerText+="<br>Please click on Find the BEST Remortgage for me again";
			 document.getElementById('LB_Consent').style.visibility = 'visible';
			 document.getElementById('LB_Consent').innerHTML=BrokerText;
         }
      }
   }


function read_xml(text){

try //Internet Explorer
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async="false";
  xmlDoc.loadXML(text);
  }
catch(e)
  {
  try //Firefox, Mozilla, Opera, etc.
    {
    parser=new DOMParser();
    xmlDoc=parser.parseFromString(text,"text/xml");
    }
  catch(e) {alert(e.message)}
  }
//alert("xmlDoc is loaded, ready for use");
return xmlDoc;
}




function getBroker(myXML) {
//alert(myXML);
xmlDoc=read_xml(myXML);
//alert("New fn with err select");

//alert(xmlDoc.getElementsByTagName("DisplayText")[0].childNodes[0].nodeValue);

//lb_error=0;//xmlDoc.getElementsByTagName("ErrorNumber")[0].childNodes[0].nodeValue;
	lb_error=xmlDoc.getElementsByTagName("ErrorNumber")[0].childNodes[0].nodeValue;
//alert(myXML);
	if(!lb_error || lb_error==0){
		gim_cl=xmlDoc.getElementsByTagName("GIMCL")[0].childNodes[0].nodeValue;
		if(gim_cl==35){
			var BrokerText = xmlDoc.getElementsByTagName("DisplayText")[0].childNodes[0].nodeValue;
			BrokerText = BrokerText.replace('Based on your mortgage requirements we have selected an FSA regulated broker', '');
			BrokerText = BrokerText.replace('Based on your requirements we have selected the FSA regulated broker', '');
			BrokerText = BrokerText.replace(' called', '');
			BrokerText = BrokerText.replace(' to help you with your enquiry. ', '');
		//BrokerText = BrokerText.replace('Click SUBMIT to confirm that you are happy to be contacted by telephone or email and you agree to our privacy policy.', '');
		//Based on your mortgage requirements we have selected an FSA regulated broker called Park Row Associates LimitedPlease click Submit to confirm that you are happy for them to contact you by telephone.OLD
		//Based on your requirements we have selected the FSA regulated broker Park Row Associates LimitedClick SUBMIT to confirm that you are happy to be contacted by telephone or email and you agree to our privacy policy.NEW
			BrokerText = BrokerText.replace('Please click Submit to confirm that you are happy for them to contact you by telephone.', '');
			BrokerText = BrokerText.replace('Click SUBMIT to confirm that you are happy to be contacted by telephone or email and you agree to our privacy policy.', '');gbrkID=BrokerText.replace('&','and');gbrk_act=gbrkID;
	  		document.getElementById('LB_Consent').innerHTML = 'Based on your requirements we have selected the FSA regulated broker<br> <b><span id="LB_BrokerName" style="white-space: nowrap">' + BrokerText.replace(/&amp;/g, "&") + '</span></b> to explain your Rate Comparison in full, <br>and answer any questions you may have.<br /><br />';
			document.getElementById('LB_Consent').innerHTML += '<b>Click Find the BEST Remortgage for me</b> to confirm that you are happy <br>to be contacted by telephone or email and you agree to our privacy policy,<br> but you are under NO OBLIGATION to take any advice offered.<br><br>';
		//document.getElementById('LB_Consent').innerHTML += '<p><b>on clicking SEND MY COMPARISON NOW (below)<br>our Rate Chart will be displayed</b>';
			}else{document.getElementById('LB_Consent').innerHTML='Based on your requirements we have selected the FSA regulated broker<br> <b><span id="LB_BrokerName" style="white-space: nowrap">' + xmlDoc.getElementsByTagName("GIMCLNM")[0].childNodes[0].nodeValue + '</span></b> to explain your Rate Comparison in full, and answer any questions you may have.<br /><br />';gbrk_act=xmlDoc.getElementsByTagName("GIMCLNM")[0].childNodes[0].nodeValue;}

		document.getElementById('LB_Consent').style.visibility = 'visible';
		document.getElementById('but_submit').src = "images/4A_find_best_rates_now.gif" 
		//document.getElementById('LB_Step3_FinishButton').value = "Send My Comparison Now"  
		document.getElementById('_ID').value=xmlDoc.getElementsByTagName("ID")[0].childNodes[0].nodeValue;/*alert(xmlDoc.getElementsByTagName("ID")[0].childNodes[0].nodeValue);*/
		}
		else
		{BrokerText = xmlDoc.getElementsByTagName("ErrorNumber")[0].childNodes[0].nodeValue;
		 BrokerText +="<br>" + xmlDoc.getElementsByTagName("ErrorMessage")[0].childNodes[0].nodeValue;	
		 document.getElementById('LB_Consent').style.visibility = 'visible';
		 document.getElementById('LB_Consent').innerHTML=BrokerText;
		}

return xmlDoc.getElementsByTagName("GIMCL")[0].childNodes[0].nodeValue;
} 




function getLead(myXML) {

read_xml(myXML);

GIM_ld='Y';

lb_error=0;//xmlDoc.getElementsByTagName("ErrorNumber")[0].childNodes[0].nodeValue;;
	lb_error=xmlDoc.getElementsByTagName("ErrorNumber")[0].childNodes[0].nodeValue;

	if(!lb_error || lb_error==0 || lb_error==235){
		//el_get('uinf').value=queryString + "&gbrk=" + gbrk_act;
		el_get('gbrkID').value=gbrk_act;/*alert(gbrk_act);*/
		theForm = document.form2;
		//theForm.innerHTML+='<input type="hidden" name="uinf" id="uinf">';
		action="mthankyou.php";
		theForm.action=action;
		theForm.submit();
	}
	else
		{//LeadText = xmlDoc.getElementsByTagName("ErrorNumber")[0].childNodes[0].nodeValue;
		 LeadText ="<span class='error_mess' align='center'><br /><b>We have not been able to process your comparison.</b><br /> Please check the following :-<br /><b>" +  xmlDoc.getElementsByTagName("ErrorMessage")[0].childNodes[0].nodeValue + "</b></span>";	
		document.getElementById('LB_Consent').style.visibility = 'visible';
		document.getElementById('LB_Consent').innerHTML = LeadText;
	}

return xmlDoc.getElementsByTagName("ID")[0].childNodes[0].nodeValue;
} 




function el_get(el){
	el=document.getElementById(el);
	return el;
}
function el_val(el){
	el=document.getElementById(el).value;
	return el;
}

function $type(obj){
	if (obj === null || obj === undefined) return false;
	var type = typeof obj;
	if (type == 'object'){
		if (obj.htmlElement) return 'element';
		if (obj.push) return 'array';
		if (obj.nodeName){
			switch (obj.nodeType){
				case 1: return 'element';
				case 3: return obj.nodeValue.test(/\S/) ? 'textnode' : 'whitespace';
			}
		}
	}
	return type;
};




function build_broker_str(){
var	postString ="";//alert ("start broker");get_amtSec();alert(Amt_Sec);
//mort_type=1;
postString += 'Mortgage_Type=' + el_val('Mortgage_Type');
//validate postcode before live
postcode=el_val('Postcode');//alert (postcode);
	postString  += '&Mortgage_Size=' + el_fi('Mortgage_Size');
	postString  += '&Property_Value=' + el_fi('Property_Value');
	postString  += '&SelfCert=';
	postString  += getRadioButtonListSelectedValue('SelfCert') === null ? '0' : getRadioButtonListSelectedValue('SelfCert');
	postString  += '&BadCredit=';
	postString  += customerHasBadCredit() ? '1' : '0';
	//postString  += getRadioButtonListSelectedValue('BadCredit') === null ? '0' : getRadioButtonListSelectedValue('BadCredit');
	postString  += '&FTB=';
	postString  += getRadioButtonListSelectedValue('FTB') == null ? '0' : getRadioButtonListSelectedValue('FTB');
	postString  += '&FP=0';
	postString  += '&Postcode=' + escape(postcode);
	//postString  += '&Password=' + 'xxxxxxxxxxxx';
	//postString  += '&IPAddress=fillip';
	postString  += '&AffiliateID=xxxxx';//alert(postString);
//	postString  += '&ajax=y&filladdress=1';
//	postString  += '&PageHref=' + escape(window.location.href);
	postString  += '&TrackingCode=' + el_val('GIM_info');
	postString  += '&gbrkID=' + gbrkID;
	//postString  += '&advID=' + adv_str;	
//	if(typeof(lb_trackingCode) != 'undefined'){postString  += escape(lb_trackingCode.toUpperCase());}
//	postString  += '&Keywords='
//	if(typeof(lb_keywords) != 'undefined'){postString  += escape(lb_keywords);}
//alert("POST " + postString);
//lenderID=document.getElementById('Provider')[document.getElementById('Provider').selectedIndex].innerHTML;
//lenderID=lenderID.replace("&amp;", 'and');


return postString;}

function getRadioButtonListSelectedValue(name)
{
	var controls = document.getElementsByName(name);
	
	for( var i = 0 ; i < controls.length ; i++ )
	{
		if( controls[i].checked )
		{
			return controls[i].value;
		}
	}
	
	return null;
}

function customerHasBadCredit()
{
	if( el_get('LB_CCJ').checked || el_get('LB_MissedPayments').checked || el_get('LB_Bankrupt_IVA').checked )
	{
		return true;
	}
	
	return false;
}

function customerHasIVA()
{
	if( el_get('LB_Bankrupt_IVA').checked)
	{
		return true;
	}
	
	return false;
}

function hasSecLoan()
{
	if(el_get('Sec_loans').checked)
	{
		return true;
	}
	
	return false;
}

function customer_NL()
{
	if(el_get('NL_sub').checked)
	{
		return true;
	}
	
	return false;
}
function build_lead_str(LB_ID)
{
/*	if( $('LB_SessionId').value.length < 1 || $('LB_SessionId').value == '' )
	{
		getBrokerName();
	}
*/
	queryString = build_broker_str();

	queryString += '&ID=' + el_val('_ID');
	queryString += '&Title=&Firstname=' + el_val('First_Name');
	queryString += '&Surname=' + el_val('Surname');
	queryString += '&DOBDay=' + el_val('DOBDay');
	queryString += '&DOBMonth=' + el_val('DOBMonth');
	queryString += '&DOBYear=' + el_val('DOBYear');
	queryString += '&Adr1=' + el_val('Adr1');
	queryString += '&Adr2=';
	queryString += '&Town=' + el_val('Town');
	queryString += '&County=' + el_val('County');
	queryString += '&Home_Phone=' + el_val('Home_Phone');
	queryString += '&Work_Phone=' + el_val('Work_Phone');
	queryString += '&Mobile_Phone=';
	queryString += '&Email=' + el_val('Email');
	queryString += '&Mortgage_Time_Scale=1&Payment_Term=' + el_val('Payment_Term');//alert("Build lead");
	queryString += '&gim_cl=' + gim_cl;

	queryString += '&IVA=';
	queryString += customerHasIVA() ? '1' : '0';
	queryString += '&LoanTotal=' + Amt_Sec;
	queryString += 'Mortgage_Type_txt=' + document.getElementById('Mortgage_Type')[document.getElementById('Mortgage_Type').selectedIndex].innerHTML; 
	//queryString += '&RemReason=' + el_val('RemReason');
	//queryString += '&CCJun=' + el_val('CCJunder');
	//queryString += '&CCJov=' + el_val('CCJover');
	//queryString += '&SecLoan=';
	//queryString += hasSecLoan() ? 'Y' : 'N';
	//queryString += '&Provider=' + lenderID;
	//queryString += '&NL_sub=';
	//queryString += customer_NL() ? 'Y' : 'N';	//alert(queryString);
//queryString += '&Other_Info=&sessionid=' + el_val('LB_SessionId');

return queryString;
}

function get_Broker(){
	var ret_pc=postcodeTest(el_val('Postcode'));
	if(ret_pc !=0){el_get('Postcode').value=ret_pc;el_get('Postcode_ErrorAdvice').innerHTML="";GIM_brk='Y';
		makePOSTRequest('broker');}
			
	}
function thankyou(){
make_note(LB_pid);
}

function type_chg(){
if(el_val('Mortgage_Type')=="5"){show_all('Monthly_Rent_Field');}else{hide_all('Monthly_Rent_Field');}
if(el_val('Mortgage_Type')!=""){el_get('Mortgage_Type_ErrorAdvice').innerHTML="";}
}

function get_amtSec()
{
	//if(el_get('RemReason').value=='renew' && el_get('Sec_loans').checked || el_get('RemReason').value=='Equity_Release' || el_get('RemReason').value=='debts' || el_get('RemReason').value=='renew_pc'){Amt_Sec=el_fi('tot_amt_sec');}else{Amt_Sec="Not_Required";}
if(el_get('RemReason').value=='renew' && !el_get('Sec_loans').checked){Amt_Sec="Not_Required";}else{Amt_Sec=el_fi('tot_amt_sec');}
}
function addCommas( numberString )
{
	numberString += '';
	numberString=numberString.replace(/-/g, "");
	x = numberString.replace(/[^0-9.\-]*/g, "").split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1))
	{
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}

	return x1 + x2;
}

function addCommasToNumberTextbox(id)
{
	id.value = addCommas( id.value );
}
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 = "";
	var ck = name+"="+value+expires+"; path=/";
	// if (days != -1) alert('Cookie\n' + ck + '\ncreated');
	document.cookie = ck;
}
