// JavaScript Document to make AJAX call 
var canvasId="progress";
var req;
var formId="contactform";



function prepareprogress()
	{
		prepareForm(formId,canvasId,"mailer.php",processupdate);
		
	}
	
function showprogress(canvasId,progressindicator,msgtext)
	{
		
	if (!document.getElementById) return false;
  	
	if (!document.getElementById(canvasId)) return false;	
	
	var progressindicator="<img src=\""+ progressindicator + "\" alt=\""+msgtext +"\" class=\"mdabs\"/>"+msgtext;
	
	document.getElementById(canvasId).innerHTML = progressindicator;
	
	}
	

function prepareForm(formId,canvasId,file,handler) {
  if (!document.getElementById) return false;
  if (!document.getElementById(formId)) return false;
   

   document.getElementById(formId).onsubmit = function() {
    var data=""; 
	
    for (var i=0; i<this.elements.length; i++) {
      			
			data += this.elements[i].name;
			data +='=';
      			data += this.elements[i].value;
			data+='&';
		
    
    }
	data+='ajax=true';

	showprogress(canvasId,"/images/ajax-loader.gif","loading...");
	
    return (!sendPOSTData(data,file,canvasId,handler));
  };
}

function sendPOSTData(data,file,canvasId,handler) {
  var request = getHTTPObject();
  if (request) {
    request.onreadystatechange = function() {
      parseResponse(request,canvasId,handler);
    };
    request.open( "POST", file, true );
    request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    request.send(data);
    return true;
  } else {
    return false;
  }
}

function parseResponse(request,canvasId,handler) {
  if (request.readyState == 4) {
    if (request.status == 200) {
    
	return(handler(canvasId,request.responseText));
	
	
    }
  }
}

function getHTTPObject() {
  var xhr = false;
  if (window.ActiveXObject) {
    try {
      xhr = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
      try {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
      } catch(e) {
        xhr = false;
      }
    }
  } else if (window.XMLHttpRequest) {
    try {
      xhr = new XMLHttpRequest();
    } catch(e) {
      xhr = false;
    }
  }
  return xhr;
}



function processupdate(canvasId,response)
	{
			
			
			
				if(response !="")
				{
					document.getElementById(canvasId).innerHTML=response;
					var nreset=document.getElementById('reset');
					nreset.setAttribute('class','send-btn');
    					
					
   					 
						
				}
				else
				{
					return true; 
					
				}
				
				
			
			
	}

function isNull(a) {
    if (a=="null")
		return true; 
	else
		return false; 
		
}


function processReqChange( handler ) {
  if (req.readyState == 4 && req.status == 200 && req.responseXML ) {
    handler( req.responseXML ); }
}

function loadXMLDoc( url, handler ) {
  if(window.XMLHttpRequest) {
    try { req = new XMLHttpRequest(); } catch(e) { req = false; }
  }
  else if(window.ActiveXObject)
  {
    try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {
    try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { req = false; } }
  }

  if(req) {
    req.onreadystatechange = function() { processReqChange( handler ); };
    req.open("GET", url, true);
    req.send("");
  }
}	
	
 function load() {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
        	var location=new GLatLng(53.237625, -0.614200);
		map.addControl(new GSmallMapControl());
		map.setCenter(location,14);
		addMarker(location,map);
	  }
    }
function addMarker(location,mapobj)
	{
		var marker=new GMarker(location);
		
	
		
		mapobj.addOverlay(marker);
	}

// initiation code adopted ffrom J Keith DOM Scripting
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}
addLoadEvent(load);
addLoadEvent(prepareprogress);
