var sub_cnt=1;var error_ID; var camp_comm;var call_ID;var vs_status;var vs_natemp=0;var matemp=3;var last_no;var try_limit=0;var getOK;
var vs_comment; var vs_kp;var int_time=0;var vs_phone;var vs_form;var $Browser;var prs_str;var key_str;var p_num;var call_sent=false;var dupnum=false;var resp_data;var starttime;
/******************************/
var $menuid='';
var callerror="Contact_Err";
var splash1="na";
var callmessage="call_message";
var submitline="submitreset_div";
var vs_mode="Call";
var phone_num="Telephone";
$simulation=3;
var fname='fname';
var sname='sname';
var en_str=[fname,sname,'Telephone','Email','Add1','Pcode'];
function call_init(){
	start=new Date();
	starttime=parseInt(start.getTime()/1000)-3600;
	makeVCALLRequest('Call');
	return false;
	}
/******************************/
function makeVCALLRequest(lb_cmd) {
/******************************/
p_num=el_val(phone_num);
vs_form = el_get('eq_lead');
/******************************/
if (p_num.charAt(0)==0){vs_phone=p_num.substring(1);}
$cName=el_val(fname) + " " + el_val(sname);

//el_get('tel_message').innerHTML=p_num;
el_get(callmessage).innerHTML="We will now check your telephone number <b><span style='color:#FF7500'>" + p_num +" </span></b>FREE of charge,  to check you've entered it correctly.<p>The call is FREE and automated - when your phone rings just <b><span style='color:#FF7500'>answer and press 1</span></b> on your telephone keypad to confirm your number and then hang up your receiver.</p>";
show_all(callmessage);
hide_all(submitline);
hide_all(callerror);

//hide_all('opt1');
/* DISABLE */
disable_control(fname,sname,'Telephone','Email','Add1','Pcode');
/* DISABLE */
//CFP specific--
//hide_all('opt1');
//--

//alert("PAUSE1" + lb_cmd);
last_no=p_num;
//call_ID=el_val('callid');
//alert(call_ID + lb_cmd);
		if(lb_cmd=='Test'){
	  		url="TestXMLstartoutcall.php";
			parameters=test_str();
			}
		if(lb_cmd=='Call'){
			url="../Startcall.php";
			parameters=call_str()+ "&rvar=" + Math.random()*99999;//alert(parameters);
			}

			if(lb_cmd=='Check_Summ'){
	  		url="../get_summ_parse.php";
			parameters='callid='+call_ID+ "&rvar=" + Math.random()*99999;//alert(parameters);
			//if(el_val('isTest')=="Y"){parameters='callid=1225728507';}//alert(parameters);
			}		
			if(lb_cmd=='Get_Ok'){
	  		//url="get_summ_parse.php";
			url="../get_ok.php";
			parameters='callid='+call_ID+ "&rvar=" + Math.random()*99999;
			//if(el_val('isTest')=="Y"){parameters='callid=1225728507';}//alert(parameters);
			}		


	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=='Test'){
	  	http_request.onreadystatechange = sendcall;
	  	}
 
      if(lb_cmd=='Call'){
	  	http_request.onreadystatechange = sendcall;
	  	}

      if(lb_cmd=='Check_Summ'){
	  	http_request.onreadystatechange = check_summ;
		}
		
      if(lb_cmd=='Get_Ok'){
	  	http_request.onreadystatechange = get_ok;
		}		
		
		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.setRequestHeader('Pragma', 'no-cache');
        http_request.setRequestHeader('Cache-control', 'no-cache');
      	http_request.send(parameters);
  
}

function call_str(){
	l_flag="_ERW";call_ID=el_val('callid')+l_flag;
	var	postString ="";
	//postString += 'usedefault=1';
	postString += 'menuid=' + $menuid;
	postString += '&phonenumber=' + vs_phone;
	postString += '&callid=' + call_ID;
	//postString += '&lead_sub_tag=' + el_val('lead_sub_tag');
	//postString += '&callerid=' + el_val('callerid');
	//postString += '&tts=' + el_val('tts');
	//postString += '&alttts=' + el_val('alttts');
	//postString += '&ext=' + el_val('ext');
	//postString += '&transferto=' + el_val('transferto');
	//postString += '&simulation=' + el_val('simulation');
	postString += '&submit=Call';
	postString += '&isTest=N';

	postString += '&lead_src=' + el_val('lead_src');
	//postString += '&lead_tag=' + el_val('lead_tag');	
	//postString += '&sub_ID=' + el_val('sub_ID');	

	postString += '&app_age=' + el_fi('app_age');
	postString += '&lead_property_value=' + el_fi('lead_property_value');
	postString += '&lead_mortgage_value=' + el_fi('lead_mortgage_value');
	if(el_get('part_age')){postString += '&part_age=' + el_val('part_age');}
	postString += '&vs_id=' + call_ID;
	if(el_get('search_id')){postString += '&search_id=' + el_val('search_id');}
	if(el_get('ad_group')){postString += '&ad_group=' + el_val('ad_group');}
	//postString += '&vs_kp=' + key_str;	

	postString += '&call_start=' + starttime;

/*
	postString += '&=' + el_val('');
*/
	postString += '&Title=';
	postString += '&fname=' + el_val('fname');
	postString += '&sname=' + el_val('sname');
	postString += '&Telephone=' + el_val('Telephone');
	postString += '&Email=' + el_val('Email');
	postString += '&Add1=' + el_val('Add1');	
	postString += '&Pcode=' + el_val('Pcode');

	return postString;//alert("CALL : " + postString);

}
function test_str(){
call_ID=el_val('callid');

	var	postString ="";
	//postString += 'usedefault=1';
	postString += 'menuid=' + $menuid;
	postString += '&phonenumber=' + vs_phone;
	postString += '&callid=' + call_ID;
	//postString += '&callerid=' + el_val('callerid');
	//postString += '&tts=' + el_val('tts');
	//postString += '&alttts=' + el_val('alttts');
	//postString += '&ext=' + el_val('ext');
	//postString += '&transferto=' + el_val('transferto');
	postString += '&simulation=' + $simulation;
	postString += '&submit=Call';
	postString += '&isTest=N';//alert("TEST :" +postString);
	return postString;

}
function sendcall(){//alert ('Sending' + http_request.readyState);
 if (http_request.readyState == 4) {
         if (http_request.status == 200) {
            
            result = http_request.responseText;
            //result_str='<html>' + result + '</html>';
		//alert("RESULT");alert(result);
		resp_data=get_tab_data(result,'GIMRESPENV');
		result=get_tab_data(result,'GIMCALLENV');
		xmlDoc=read_xml(result);
			//el_get('View_response').value=result;
				
			//alert(xmlDoc.getElementsByTagName("campaign")[0].getAttribute('comment'));
		//if(xmlDoc.getElementsByTagName("campaign")[0].attributes[0]!= null){alert("Its null");}else{alert("NOT NULL")};
		//alert(xmlDoc.getElementsByTagName("campaign")[0].attributes[1].text);
		//alert(xmlDoc.getElementsByTagName("campaign")[0].attributes[1].name);
/*************  Get the campaign attributes ***********************/		
		prs_str="";
		var cmp_el=xmlDoc.getElementsByTagName("campaign").length;
		if(cmp_el){//alert("A Campaign present");
		//if(!xmlDoc.getElementsByTagName("campaign")[0].attributes[0].text){alert("A Campaign present");}else{alert("NO CAMPAIGN")};
		//if(xmlDoc.getElementsByTagName("campaign")[0].attributes.length==null){alert ("No Campaign");}
		//alert("camp Att:"+xmlDoc.getElementsByTagName("campaign")[0].attributes.length);
			
			var lng=xmlDoc.getElementsByTagName("campaign")[0].attributes.length;//alert("length"+ lng);
			for(i=0;i<lng;i++){//alert(xmlDoc.getElementsByTagName("campaign")[0].attributes[i].name + " : " + xmlDoc.getElementsByTagName("campaign")[0].attributes[i].text);
			//prs_str+=xmlDoc.getElementsByTagName("campaign")[0].attributes[i].name + " : " + xmlDoc.getElementsByTagName("campaign")[0].attributes[i].text+"\n\r";
			if(xmlDoc.getElementsByTagName("campaign")[0].attributes[i].name=='errorid'){error_ID=xmlDoc.getElementsByTagName("campaign")[0].getAttribute("errorid");}
if(xmlDoc.getElementsByTagName("campaign")[0].attributes[i].name=='comment'){camp_comm=xmlDoc.getElementsByTagName("campaign")[0].getAttribute("comment");}
}			
		}else{/*alert("NO CAMPAIGN")*/};
/********************  Get any prompts *************************/
var num_nodes=xmlDoc.getElementsByTagName("prompt").length;
		//alert(num_nodes);
		if (num_nodes>0){
			for(i=0;i<num_nodes;i++){
				for(j=0;j<xmlDoc.getElementsByTagName("prompt")[i].attributes.length;j++){
					//alert(xmlDoc.getElementsByTagName("prompt")[i].attributes[j].text);
					if(xmlDoc.getElementsByTagName("prompt")[i].attributes[j].name=="keypress"){
					prs_str+=xmlDoc.getElementsByTagName("prompt")[i].attributes[j].name + ": " +xmlDoc.getElementsByTagName("prompt")[i].getAttribute("keypress");}
				//prs_str+=xmlDoc.getElementsByTagName("prompt")[i].attributes[j].name + ": " +xmlDoc.getElementsByTagName("prompt")[i].attributes[j].text+" \n\r";
				}
			}
		}
		
		//el_get(callerror).innerHTML=prs_str;
		//alert(prs_str);
	//el_get('View_parsed_response').value=prs_str;
	//el_get('View_errors').value="error:"+error_ID+"\n\r comment:"+camp_comm;			
//alert("ERR : " + error_ID);alert("camp_comm : " + camp_comm);
//redirect on errors
if(error_ID==0 && camp_comm=='ok'){call_sent=true;makeVCALLRequest('Get_Ok');}else{
	if(!call_sent){
	show_all(callerror);
	show_all(submitline);
	el_get(callerror).innerHTML="We are sorry but our server has not responded. Please re-submit your enquiry";
		if(splash1!="na"){el_get("splash1").style.display='none';}
		dupnum=true;
		}}
	//CFP specific--
	//show_all('opt1');		
	//--		
/*
			var num_nodes=xmlDoc.getElementsByTagName("prompt").length;
			alert(num_nodes);alert(xmlDoc.getElementsByTagName("prompts")[0].nodeValue);

		for(var i=0; i<num_nodes; i++) {
				opval=xmlDoc.getElementsByTagName("prompt")[i].nodeValue ;
				alert(opval);
				//el_get('data_fields').options[i]=new Option(opval, xmlDoc.getElementsByTagName("ENQNO")[i].childNodes[0].nodeValue, true, false)
				//el_get('data_fields').options[i]=new Option(xmlDoc.getElementsByTagName("ENQNAME")[i].childNodes[0].nodeValue, xmlDoc.getElementsByTagName("ENQNO")[i].childNodes[0].nodeValue, true, false)
				}
		
*/		
		

		 } else {
			//alert('There was a problem with the request.');
   			 //alert(sub_cnt);
			 if(sub_cnt<3){sub_cnt++;makeVCALLRequest(vs_mode);}
			 else{
			 BrokerText="Please accept our apologies.<Br>Our Server has been temporarily unable to respond.";
			 BrokerText+="<br>Please re-submit your request";
			 //el_get('Contact_Err').innerHTML=BrokerText;
			 alert(BrokerText);dupnum=true;
	  			sub_cnt=1;}// document.getElementById('LB_Consent').style.visibility = 'visible';
			 
			 

		 }
      }
}  

function send_invalid(){
		//vs_form = document.pension1;
		el_get('seesid').value=vs_natemp;
		action='thankyou_e.php';
		vs_form.action=action;
		vs_form.submit();}

function check_summ(){
//alert ('Check summ');


		vs_summary="";vs_status="";vs_comment="";el_get(callerror).innerHTML="";
		if (http_request.readyState == 4) {
        	if (http_request.status == 200) {
            vs_summary = http_request.responseText;//alert("vssummary:" + vs_summary);
			show_all(submitline);el_get(callmessage).innerHTML="";
			vs_summary=get_tab_data(vs_summary,'GIMTAB');
			xmlDoc=read_xml(vs_summary);
			
/********************  OLD ****************************************************
			vs_status=get_tab_data(vs_summary,'status');vs_comment=get_tab_data(vs_summary,'comment');
			vs_kp=get_tab_data(vs_summary,'keypress');

			alert(vs_summary);
			el_get('call_stat').value=vs_status;el_get('call_comm').value=vs_comment;el_get('call_key').value=vs_kp;
/********************  /OLD ****************************************************/
/***********			 NEW ****************************/
/*************  Get the campaign attributes ***********************/		
		var prs_str="";
		var cmp_el=xmlDoc.getElementsByTagName("campaign").length;
		if(cmp_el){			
			var lng=xmlDoc.getElementsByTagName("campaign")[0].attributes.length;//alert("length"+ lng);
			for(i=0;i<lng;i++){
				var att_name=xmlDoc.getElementsByTagName("campaign")[0].attributes[i].name;
				//alert(att_name + " : " + xmlDoc.getElementsByTagName("campaign")[0].getAttribute(att_name));
			//prs_str+=xmlDoc.getElementsByTagName("campaign")[0].attributes[i].name + " : " + xmlDoc.getElementsByTagName("campaign")[0].attributes[i].text+"\n\r";
			if(att_name=='status'){vs_status=xmlDoc.getElementsByTagName("campaign")[0].getAttribute('status');}
if(att_name=='comment'){vs_comment=xmlDoc.getElementsByTagName("campaign")[0].getAttribute('comment');}
}			
		}else{/*alert("NO CAMPAIGN")*/}			
/********************  Get any prompts *************************/
var num_nodes=xmlDoc.getElementsByTagName("prompt").length;key_str="";
		//alert(num_nodes);
		if (num_nodes>0){
			for(i=0;i<num_nodes;i++){
				for(j=0;j<xmlDoc.getElementsByTagName("prompt")[i].attributes.length;j++){
				if(xmlDoc.getElementsByTagName("prompt")[i].attributes[j].name=="keypress"){key_str+=xmlDoc.getElementsByTagName("prompt")[i].getAttribute('keypress');}
						
					//prs_str+=xmlDoc.getElementsByTagName("prompt")[i].attributes[j].name + ": " +xmlDoc.getElementsByTagName("prompt")[i].attributes[j].text+" \n\r";
				}
			}
		}			
/***********			 NEW ****************************/
el_get('call_stat').value=vs_status;el_get('call_comm').value=vs_comment;el_get('call_key').value=key_str;
//alert(vs_status + " : " + vs_comment + "kp : " + key_str);
//alert(el_val('call_stat')+":"+el_val('call_comm')+":"+el_val('call_key'));
			if(vs_status=="Failed"){
			//if(vs_summary=="Failed"){
				if(vs_comment!="No Answer"){
					el_get(callerror).innerHTML="Phone number (" + p_num + ") is not a valid UK number.<br> Please enter a valid UK telephone number<br>";
					el_get(phone_num).style.background="#FFB3B3";dupnum=false;
					enable_control(fname,sname,'Telephone','Email','Add1','Pcode');
					if(splash1!="na"){el_get("splash1").style.display='none';}//el_get("splash1").innerHTML='';
					hide_all(callmessage);
					show_all(callerror);
					//CFP specific--
					//show_all('opt1');		
					//--	
					vs_natemp++;if(vs_natemp>=matemp){send_invalid();}//alert(vs_natemp);
				}else{el_get(callerror).innerHTML="Phone number (" + p_num + ") IS a valid UK number";

				call_ended();}
			}
			if(vs_status=="Successful"){
				
				//alert("would now submit");
				
				//vs_form.submit();
				
				//makePOSTRequest('submit');
				call_ended();}

			}
		}
}

function get_ok(){
//alert (call_ID);
//alert(try_limit);
		if (http_request.readyState == 4) {
        	if (http_request.status == 200) {
	            vs_ok = http_request.responseText;
				//alert(vs_ok);
			
				xmlDoc=read_xml(vs_ok);
				if(vs_ok=="fail"){
					var getOK=setTimeout( "makeVCALLRequest('Get_Ok')", 5000 );
					try_limit++;
				}
				else if(vs_ok=="ok"){
					clearTimeout(getOK);
					makeVCALLRequest('Check_Summ');
				}
			}

		}
}
function showsub(){
var getOK=setInterval( "showinterval()", 1000 );	
}
function showinterval(){
if(int_time==0){int_time=1;}else{int_time=0;}
if(int_time==0){show_all(submitline);}else{hide_all(submitline);}
}
function call_ended(){//alert("Call finished");
	enable_control(fname,sname,'Telephone','Email','Add1','Pcode');
	el_get('clnm').value=get_tab_data(resp_data,'NAME');
	el_get('client_id').value=get_tab_data(resp_data,'CUSTID');
		theForm = document.eq_lead;
		//action='lthanks.php';
		action='../csthanks.php';
		theForm.action=action;
		theForm.submit();
}