var temp;
var timer=0;
var timeoutRequest;


function submitForm()
	{ 
		temp=0;
		
		var req = null; 
		var val = document.ajax.phone.value;	
		
		var pageIDVal = document.ajax.pageId.value;		
		var rexp=/^\s?((\(?0\d{4}\)?\s?\d{5})|(\(?0\d{5}\)?\s?\d{4})|(\(?0\d{5}\)?\s?\d{5})|(\(?0\d{4}\)?\s?\d{3}\s?\d{3})|(\(?0\d{3}\)?\s?\d{3}\s?\d{4})|(\(?0\d{2}\)?\s?\d{4}\s?\d{4})|(\(?0\d{10}\)?\s?)|(\(?0\d{2}\)?\s?\d{4}\s?\d{4}\s?))+$/;
		var rexpNum = /^[a-zA-Z]+[\d\D ]*$/;
		var rexpPostcode=/(^gir\s0aa$)|(^[a-pr-uwyz]((\d{1,2})|([a-hk-y]\d{1,2})|(\d[a-hjks-uw])|([a-hk-y]\d[abehmnprv-y]))\s?\s?\d[abd-hjlnp-uw-z]{2}|\s?\$)/i;
		var postcodeFlag = 'YES';

		if (val.toString() == "" || val == "Your phone number") {	// validation for blank entry
				
		 document.getElementById("redcolor").style.display = 'block';		 
		 document.getElementById("blkcolor").style.display = 'none';
		 document.getElementById("phonenumErr").style.display = 'none';
		 document.getElementById("postcodeErr").style.display = 'none';
		setFocus();
		
		return (false);
		
		} else {
			
			if (rexpNum.exec(val)) { // validation for entry beginning with an alphabet
				if (val.search(rexpPostcode)) 	{	// postcode validation 			 
				 document.getElementById("redcolor").style.display = 'none';
				 document.getElementById("blkcolor").style.display = 'block';
				 document.getElementById("phonenumErr").style.display = 'none';
				 document.getElementById("postcodeErr").style.display = 'block';
				 setFocus();
				return (false);
				}
  			    postcodeFlag = 'YES';
			} else { // validation for entry beginning with a number
				if (val.search(rexp)) 	{	// telephone number validation	 
				 document.getElementById("redcolor").style.display = 'none';
				 document.getElementById("blkcolor").style.display = 'block';
				 document.getElementById("phonenumErr").style.display = 'block';
				 document.getElementById("postcodeErr").style.display = 'none';
				 setFocus();
				return (false);
				}
				postcodeFlag = 'NO';
			}
			
			
		
		}
 

		if (window.XMLHttpRequest)
		{
 			req = new XMLHttpRequest();
			if (req.overrideMimeType) 
			{
				req.overrideMimeType('text/xml');
			}
		} 
		else if (window.ActiveXObject) 
		{
			try {
				req = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e)
			{
				try {
					req = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
	        	}

    // checking time out
timeoutRequest=setTimeout ( function() {
 
   if(temp != 200) {
   	         req.abort();
		     document.getElementById('ErrResonse').style.display = 'block';
			 document.getElementById("HttpClientStatus").style.display ='none';
			 document.getElementById("target").style.display = 'none';
			 clearTimeout(timeoutRequest); 
			 return false; }	
	},30000);
            
        

		req.onreadystatechange = function()
		{ 
			document.getElementById('HttpClientStatus').style.display ='block';
			document.getElementById("introtext").style.display ='none';
			document.getElementById("check").style.display ='none';
			document.getElementById("phone").style.display ='none';
			document.getElementById("blkcolor").style.display ='block';
			document.getElementById("headerH2").style.display ='block';
			document.getElementById("redcolor").style.display = 'none';
			document.getElementById("phonenumErr").style.display = 'none';
			document.getElementById("postcodeErr").style.display = 'none';
			if(req.readyState == 4)
			{
				
				if(req.status == 404 ) {
				    document.getElementById('ErrResonse').style.display = 'block';
					document.getElementById("HttpClientStatus").style.display ='none';
					document.getElementById("headerH2").style.display ='none';
					document.getElementById("redcolor").style.display = 'none';
					document.getElementById("blkcolor").style.display = 'none';
					document.getElementById("phonenumErr").style.display = 'none';
					document.getElementById("postcodeErr").style.display = 'none';
					clearTimeout(timeoutRequest); 
					req.abort();
				}
				
				
				if(req.status == 200)
				{
								
					// process a text document here
					var doc = req.responseText;
					document.getElementById("target").innerHTML = doc;
					document.getElementById("target").style.display = 'block';
					document.getElementById("HttpClientStatus").style.display ='none';
					document.getElementById("blkcolor").style.display ='none';
					document.getElementById("headerH2").style.display ='none';
					document.getElementById("redcolor").style.display = 'none';
					document.getElementById("phonenumErr").style.display = 'none';
					document.getElementById("postcodeErr").style.display = 'none';

					
					clearTimeout(timeoutRequest); 
					var inputType = document.getElementById("inputType").innerHTML;
					var coreMsg = document.getElementById("coreMsg").innerHTML;
					//alert("goin to call func");
					//alert("INPUT TYPE:" +inputType);
					//alert("CORE MSG:" +coreMsg);
					trackomniLinecheck(inputType,coreMsg);
					req.abort();
                    
				}	
				else	
				{
					document.getElementById("target").innerHTML = "<h2>Oops</h2><p>Sorry but there's a problem with our broadband checker at the moment.</p><p><strong><a title=\"Please try again\" onclick=\"javascript:call_1()\" href=\"javascript:void(0);\" style=\"float: left;\">Please try again</a></strong></p>";
					document.getElementById("HttpClientStatus").style.display ='none';
					document.getElementById("blkcolor").style.display ='none';
					document.getElementById("headerH2").style.display ='none';
					document.getElementById("redcolor").style.display = 'none';
					document.getElementById("phonenumErr").style.display = 'none';
					document.getElementById("postcodeErr").style.display = 'none';
					clearTimeout(timeoutRequest); 
					req.abort();
				 }	
			}
			
			
		}; 
		
		req.open("GET", "/broadband/line_postcode_check?phone="+val+'&pageID='+pageIDVal+'&postcodeFlag='+postcodeFlag+'&random='+Math.random(), true); 
		req.send(null); 
		
		
	}  

    function call_1() {
	document.getElementById("phone").value = "";
	document.getElementById("check").style.display = 'block';
	document.getElementById("phone").style.display = 'block';
    document.getElementById("introtext").style.display ='block';
	document.getElementById("target").style.display = 'none';
	document.getElementById('ErrResonse').style.display = 'none';
	document.getElementById("blkcolor").style.display = 'block';
	document.getElementById("headerH2").style.display ='block';
	document.getElementById("redcolor").style.display = 'none';
	document.getElementById("phonenumErr").style.display = 'none';
	document.getElementById("postcodeErr").style.display = 'none';
	return true;
		 }

    function call_2() {
	document.getElementById("check").style.display = 'block';
	document.getElementById("phone").style.display = 'block';
    document.getElementById("introtext").style.display ='block';
	document.getElementById("target").style.display = 'none';
	document.getElementById('ErrResonse').style.display = 'none';
	document.getElementById("blkcolor").style.display = 'block';
	document.getElementById("headerH2").style.display ='block';
	document.getElementById("redcolor").style.display = 'none';
	document.getElementById("phonenumErr").style.display = 'none';
	document.getElementById("postcodeErr").style.display = 'none';
	return true;
		 }

function setFocus() { 
	document.ajax.phone.focus();
}




function trackomniLinecheck(inputType,coreMsg) {
//alert("Inside func");

//var resvalue = resultCode;
//alert("INPUT TYPE:" +inputType);
//alert("CORE MSG:" +coreMsg);
s_linkTrackVars='eVar20,eVar19';
s_linkType='o';
s_linkName='BTB:P&S:BBInternet:BT Business Total Broadband:Line Check Status';
s_eVar19='BTB:P&S:BBInternet:BT Business Total Broadband:Line Check Status';
s_eVar20='BTB BB Inline '+inputType+' Check:'+coreMsg;
//alert("Value: "+s_eVar20);
s_lnk=s_co(this);
s_gs('btcom');
}

