
var AjaxServerPageName = "callback.php";

//Global XMLHTTP Request object
var XmlHttp;

//Creating and setting the instance of appropriate XMLHTTP Request object to a “XmlHttp” variable  
function CreateXmlHttp()
{
	//Creating object of XMLHTTP in IE
	try
	{
		XmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{
		try
		{
			XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		} 
		catch(oc)
		{
			XmlHttp = null;
		}
	}
	//Creating object of XMLHTTP in Mozilla and Safari 
	if(!XmlHttp && typeof XMLHttpRequest != "undefined") 
	{
		XmlHttp = new XMLHttpRequest();
	}
}



function CallBack() 
{
	
	var call_name = document.getElementById("callname").value;
	var call_phone = document.getElementById("callnum").value;
	var call_post  = document.getElementById("callpost").value;
	
	if(trim(call_name) =="")
	{ 
		alert("Please Enter your Name");
		return false
	}
	
	if(trim(call_phone) =="")
	{
	    alert("Please Enter your Phone Number");
		return false
	}
	if(trim(call_post) =="")
	{
	    alert("Please Enter your Post Code");
		return false
	}
	
	var randomnumber=Math.floor(Math.random()*101)

	// URL to get states for a given country
	var requestUrl = AjaxServerPageName + "?name=" + encodeURIComponent(call_name) + "&number=" + encodeURIComponent(call_phone) + "&post=" + encodeURIComponent(call_post) + "&unique=" + encodeURIComponent(randomnumber);
	
	CreateXmlHttp();
	
	// If browser supports XMLHTTPRequest object
	if(XmlHttp)
	{
		//Setting the event handler for the response
		XmlHttp.onreadystatechange = GetValue;
		
		//Initializes the request object with GET (METHOD of posting), 
		//Request URL and sets the request as asynchronous.
		XmlHttp.open("GET", requestUrl, true);
		
		//Sends the request to server
		XmlHttp.send(null);		
	}
}


//Called when response comes back from server
function GetValue()
{
	// To make sure receiving response data from server is completed
	if(XmlHttp.readyState == 4)
	{
		// To make sure valid response is received from the server, 200 means response received is OK
		if(XmlHttp.status == 200)
		{			
			
			if(XmlHttp.responsetext == "true")
			
			{
				alert("Thank you. A member of staff will contact you shortly");
				document.getElementById("callname").value = "";
	            document.getElementById("callnum").value = "";
				document.getElementById("callpost").value = "";
			    document.getElementById("callname").focus();
				
			}else{
				
				alert("Call back Failed. Please Retry");
				document.getElementById("callname").value = "";
	            document.getElementById("callnum").value = "";
				document.getElementById("callpost").value = "";
			    document.getElementById("callname").focus();
			
			}

		}
		
		else
		
		{
			alert("There was a problem retrieving data from the server." );
			document.getElementById("callname").value = "";
	        document.getElementById("callnum").value = "";
			document.getElementById("callpost").value = "";
			document.getElementById("callname").focus();
		}
		
	}
}

function trim(s) 
{ 
    var l=0; var r=s.length -1; 
    while(l < s.length && s[l] == ' ') 
    {     l++; } 
    while(r > l && s[r] == ' ') 
    {     r-=1;     } 
    return s.substring(l, r+1); 
} 





