

function AjaxRequest(){var req =new Object();
req.timeout =null;
req.generateUniqueUrl =true;
req.url =window.location.href;
req.method ="GET";
req.async =true;
req.username =null;
req.password =null;
req.parameters =new Object();
req.requestIndex =AjaxRequest.numAjaxRequests++;
req.responseReceived =false;
req.groupName =null;
req.queryString ="";
req.responseText =null;
req.responseXML =null;
req.status =null;
req.statusText =null;
req.aborted =false;
req.xmlHttpRequest =null;
req.onTimeout=null;
req.onLoading=null;
req.onLoaded=null;
req.onInteractive=null;
req.onComplete=null;
req.onSuccess=null;
req.onError=null;
req.onGroupBegin=null;
req.onGroupEnd=null;
req.xmlHttpRequest =AjaxRequest.getXmlHttpRequest();
if(req.xmlHttpRequest==null){return null;}req.xmlHttpRequest.onreadystatechange =
function(){if(req==null || req.xmlHttpRequest==null){return;}if(req.xmlHttpRequest.readyState==1){req.onLoadingInternal(req);}if(req.xmlHttpRequest.readyState==2){req.onLoadedInternal(req);}if(req.xmlHttpRequest.readyState==3){req.onInteractiveInternal(req);}if(req.xmlHttpRequest.readyState==4){req.onCompleteInternal(req);}};
req.onLoadingInternalHandled=false;
req.onLoadedInternalHandled=false;
req.onInteractiveInternalHandled=false;
req.onCompleteInternalHandled=false;
req.onLoadingInternal=
function(){if(req.onLoadingInternalHandled){return;}AjaxRequest.numActiveAjaxRequests++;
if(AjaxRequest.numActiveAjaxRequests==1 && typeof(window['AjaxRequestBegin'])=="function"){AjaxRequestBegin();}if(req.groupName!=null){if(typeof(AjaxRequest.numActiveAjaxGroupRequests[req.groupName])=="undefined"){AjaxRequest.numActiveAjaxGroupRequests[req.groupName] =0;}AjaxRequest.numActiveAjaxGroupRequests[req.groupName]++;
if(AjaxRequest.numActiveAjaxGroupRequests[req.groupName]==1 && typeof(req.onGroupBegin)=="function"){req.onGroupBegin(req.groupName);}}if(typeof(req.onLoading)=="function"){req.onLoading(req);}req.onLoadingInternalHandled=true;};
req.onLoadedInternal=
function(){if(req.onLoadedInternalHandled){return;}if(typeof(req.onLoaded)=="function"){req.onLoaded(req);}req.onLoadedInternalHandled=true;};
req.onInteractiveInternal=
function(){if(req.onInteractiveInternalHandled){return;}if(typeof(req.onInteractive)=="function"){req.onInteractive(req);}req.onInteractiveInternalHandled=true;};
req.onCompleteInternal=
function(){if(req.onCompleteInternalHandled || req.aborted){return;}req.onCompleteInternalHandled=true;
AjaxRequest.numActiveAjaxRequests--;
if(AjaxRequest.numActiveAjaxRequests==0 && typeof(window['AjaxRequestEnd'])=="function"){AjaxRequestEnd(req.groupName);}if(req.groupName!=null){AjaxRequest.numActiveAjaxGroupRequests[req.groupName]--;
if(AjaxRequest.numActiveAjaxGroupRequests[req.groupName]==0 && typeof(req.onGroupEnd)=="function"){req.onGroupEnd(req.groupName);}}req.responseReceived =true;
req.status =req.xmlHttpRequest.status;
req.statusText =req.xmlHttpRequest.statusText;
req.responseText =req.xmlHttpRequest.responseText;
req.responseXML =req.xmlHttpRequest.responseXML;
if(typeof(req.onComplete)=="function"){req.onComplete(req);}if(req.xmlHttpRequest.status==200 && typeof(req.onSuccess)=="function"){req.onSuccess(req);}else if(typeof(req.onError)=="function"){req.onError(req);}delete req.xmlHttpRequest['onreadystatechange'];
req.xmlHttpRequest =null;};
req.onTimeoutInternal=
function(){if(req!=null && req.xmlHttpRequest!=null && !req.onCompleteInternalHandled){req.aborted =true;
req.xmlHttpRequest.abort();
AjaxRequest.numActiveAjaxRequests--;
if(AjaxRequest.numActiveAjaxRequests==0 && typeof(window['AjaxRequestEnd'])=="function"){AjaxRequestEnd(req.groupName);}if(req.groupName!=null){AjaxRequest.numActiveAjaxGroupRequests[req.groupName]--;
if(AjaxRequest.numActiveAjaxGroupRequests[req.groupName]==0 && typeof(req.onGroupEnd)=="function"){req.onGroupEnd(req.groupName);}}if(typeof(req.onTimeout)=="function"){req.onTimeout(req);}delete req.xmlHttpRequest['onreadystatechange'];
req.xmlHttpRequest =null;}};
req.process =
function(){if(req.xmlHttpRequest!=null){if(req.generateUniqueUrl && req.method=="GET"){req.parameters["AjaxRequestUniqueId"] =new Date().getTime() + "" + req.requestIndex;}var content =null;
for(var i in req.parameters){if(req.queryString.length>0){req.queryString +="&";}req.queryString +=encodeURIComponent(i) + "=" + encodeURIComponent(req.parameters[i]);}if(req.method=="GET"){if(req.queryString.length>0){req.url +=((req.url.indexOf("?")>-1)?"&":"?") + req.queryString;}}req.xmlHttpRequest.open(req.method,req.url,req.async,req.username,req.password);
if(req.method=="POST"){if(typeof(req.xmlHttpRequest.setRequestHeader)!="undefined"){req.xmlHttpRequest.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');}content =req.queryString;}if(req.timeout>0){setTimeout(req.onTimeoutInternal,req.timeout);}req.xmlHttpRequest.send(content);}};
req.handleArguments =
function(args){for(var i in args){if(typeof(req[i])=="undefined"){req.parameters[i] =args[i];}else{req[i] =args[i];}}};
req.getAllResponseHeaders =
function(){if(req.xmlHttpRequest!=null){if(req.responseReceived){return req.xmlHttpRequest.getAllResponseHeaders();}alert("Cannot getAllResponseHeaders because a response has not yet been received");}};
req.getResponseHeader =
function(headerName){if(req.xmlHttpRequest!=null){if(req.responseReceived){return req.xmlHttpRequest.getResponseHeader(headerName);}alert("Cannot getResponseHeader because a response has not yet been received");}};
return req;}AjaxRequest.getXmlHttpRequest =function(){if(window.XMLHttpRequest){return new XMLHttpRequest();}else if(window.ActiveXObject){/*@cc_on @*/
/*@if(@_jscript_version >=5)
try{return new ActiveXObject("Msxml2.XMLHTTP");}catch(e){try{return new ActiveXObject("Microsoft.XMLHTTP");}catch(E){return null;}}@end @*/}else{return null;}};
AjaxRequest.isActive =function(){return(AjaxRequest.numActiveAjaxRequests>0);};
AjaxRequest.get =function(args){AjaxRequest.doRequest("GET",args);};
AjaxRequest.post =function(args){AjaxRequest.doRequest("POST",args);};
AjaxRequest.doRequest =function(method,args){if(typeof(args)!="undefined" && args!=null){var myRequest =new AjaxRequest();
myRequest.method =method;
myRequest.handleArguments(args);
myRequest.process();}};

AjaxRequest.submit =function(theform, args){
	var myRequest =new AjaxRequest();
	
	if(myRequest==null){
		return false;
	}
	
	var serializedForm =AjaxRequest.serializeForm(theform);
	myRequest.method =theform.method.toUpperCase();
	myRequest.url =theform.action;
	myRequest.handleArguments(args);
	myRequest.queryString =serializedForm;
	myRequest.process();
	return true;
};

AjaxRequest.serializeForm =function(theform){var els =theform.elements;
var len =els.length;
var queryString ="";
this.addField =
function(name,value){if(queryString.length>0){queryString +="&";}queryString +=encodeURIComponent(name) + "=" + encodeURIComponent(value);};
for(var i=0;i<len;i++){var el =els[i];
if(!el.disabled){switch(el.type){case 'text': case 'password': case 'hidden': case 'textarea':
this.addField(el.name,el.value);
break;
case 'select-one':
if(el.selectedIndex>=0){this.addField(el.name,el.options[el.selectedIndex].value);}break;
case 'select-multiple':
for(var j=0;j<el.options.length;j++){if(el.options[j].selected){this.addField(el.name,el.options[j].value);}}break;
case 'checkbox': case 'radio':
if(el.checked){this.addField(el.name,el.value);}break;}}}return queryString;};
AjaxRequest.numActiveAjaxRequests =0;
AjaxRequest.numActiveAjaxGroupRequests =new Object();
AjaxRequest.numAjaxRequests =0;

function doajax (enquirypath)
{
	var postcode = document.getElementById('postcode');

	if (postcode.value.length <2 || postcode.value.length >4) {
		alert ('Please enter at least 2 characters');
		return;
	}
	
	document.getElementById('part2').style.display = '';
	document.getElementById('rotate').style.display = 'block';
	
	AjaxRequest.get(
		{
			'url':enquirypath+'/getschools.php?postcode='+postcode.value
		    ,'onSuccess':function(req){ 
			    document.getElementById('rotate').style.display = '';
			 	var d = req.responseXML;
			 	var schools = d.getElementsByTagName('school');
			 	var dropdown = document.getElementById('schools');
			 	dropdown.disabled = true; 
			    
			 	//remove existing schools
			 	while (dropdown.firstChild) 
				{
				    dropdown.removeChild(dropdown.firstChild);
				};
				 
				//interate through districts
				for(var i =0; i<schools.length; i++)
				{
					 //school details
					 schoolname = schools[i].getElementsByTagName('schoolname');
					 schoolpostcode = schools[i].getElementsByTagName('schoolpostcode');
					 schoolid = schools[i].getElementsByTagName('schoolid');
					 
					 //create option
					 var node = document.createElement('option');
					 node.setAttribute('value', schoolid[0].firstChild.nodeValue);
					 node.innerHTML = schoolname[0].firstChild.nodeValue;
					 
					 //add to list
					 dropdown.appendChild(node);	 
				 }

				 //add to list
				 if (schools.length)
				 {
					 dropdown.appendChild(node);
					 dropdown.disabled = false; 
				 	 document.getElementById('part2').style.display = 'block';
			 	 }
			 	 else
			 	 {
				 	 var node = document.createElement('option');
					 node.setAttribute('value', 0);
					 node.innerHTML = 'School not found. Please try again.';
					 dropdown.appendChild(node);
				 }
			  } 
		  }
	);
}

function sendform ()
{
	//validate
	if (document.getElementById('title').value == '' 
	 || document.getElementById('firstname').value == ''
	 || document.getElementById('surname').value == ''
	 || document.getElementById('contact_role').value == ''
	 || document.getElementById('email').value == ''
	 || document.getElementById('phone').value == '' )
	{
		alert('Please fill in all required fields');
		return;
	}
	
	var f = document.getElementById('enq-form');
	
	//add primaryplaygrounds specific fields to enquiry - added by simon 5/6/08
	
	enquiry = document.getElementById('enquiry');
	
	if (document.getElementById('markings').checked==true) {
		enquiry.value = enquiry.value + "\n<br />interested in markings";
	}
	if (document.getElementById('surfaces').checked==true) {
		enquiry.value = enquiry.value + "\n<br />interested in surfaces";
	}
	if (document.getElementById('equipment').checked==true) {
		enquiry.value = enquiry.value + "\n<br />interested in equipment";
	}
	if (document.getElementById('shelters').checked==true) {
		enquiry.value = enquiry.value + "\n<br />interested in shelters";
	}
	
	if (document.getElementById('budget').value!="0"){
		enquiry.value = enquiry.value + "\n<br />looking to spend: " + document.getElementById('budget').value;
	}
	if (document.getElementById('whentopurchase').value!="0"){
		enquiry.value = enquiry.value + "\n<br />looking to purchase: " + document.getElementById('whentopurchase').value;
	}
	
	//end of simon's edit
	
	var s = AjaxRequest.submit(
		f ,{
			'onSuccess':function(req){ 
				if (req.responseText) 
				{
				 	document.getElementById('part3').style.display = 'none';
				 	document.getElementById('part4').style.display = 'block';
		 		}
		 		else
		 		{
			 		alert ("Error: Server not accepting data");
		 		}
			} 
		}
	);
	return s;
}

function next()
{
	if (document.getElementById('schools').selectedIndex == -1)
	{
		alert('Please select a school');
		return
	}
	
	document.getElementById('part1').style.display = 'none';
	document.getElementById('part2').style.display = 'none';
	document.getElementById('part2a').style.display = 'none';
	document.getElementById('part3').style.display = 'block';
}

function next2()
{
	//validate
	if (document.getElementById('orgtype').value == '' 
	 || document.getElementById('orgname').value == ''
	 || document.getElementById('orgaddress').value == '' )
	{
		alert('Please fill in all required fields');
		return;
	}
	
	document.getElementById('part1').style.display = 'none';
	document.getElementById('part2').style.display = 'none';
	document.getElementById('part2a').style.display = 'none';
	document.getElementById('part3').style.display = 'block';
}

function other()
{
	document.getElementById('part1').style.display = 'none';
	document.getElementById('part2').style.display = 'none';
	document.getElementById('part2a').style.display = 'block';
}


