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';
		setFocus();
		
		return (false);
		
		} else {
			
			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';
			 setFocus();
			return (false);
			}
		}
 

		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';
			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';
					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';
					clearTimeout(timeoutRequest); 
					var resultCode = document.getElementById("rcode").innerHTML;
                    var speedmsg = document.getElementById("speedmsg").innerHTML;
					trackomniLinecheck(resultCode,speedmsg);
					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';
					clearTimeout(timeoutRequest); 
					req.abort();
				 }	
			}
			
			
		}; 
		
		var vurl = "/broadband-and-internet/line_check?phone=" + val + "&pageID=" + pageIDVal  + "&random=" + Math.random();
         req.open("GET", vurl, 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';
	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';
	return true;
		 }

function setFocus() { 
	document.ajax.phone.focus();
}



function trackomniLinecheck(resultCode,speedmsg) {
var resvalue = resultCode;
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 Inline BB Line Check:'+ resvalue + speedmsg ;
s_lnk=s_co(this); 
s_gs('btcom');
}

