
/*CORE AJAX SCRIPT
------------------*/

//TIMER USED FOR FADE EFFECT


//FOLLOWING FUNCTIONS RUN AFTER SUCCESSFUL PROCESSING
function success(form, loaderID, successID) {	

	var loader = document.getElementById(loaderID);
	loader.style.display = "none";
	
	var success = document.getElementById(successID); 
	success.style.display = "block";
	
	self.setTimeout("new Effect.Fade('"+successID+"')", 3000);	
	
	var frm = document.getElementById(form);
	frm.reset();
    
	var valid = new Validation(frm);
	valid.reset();	
	Form.enable(form);				
}

//SHOW LOAD BAR WHILST PROCESSING
function showContactTimer(loaderID) {
	var loader = document.getElementById(loaderID);
	loader.style.display = 'block';
	
}

//------------------------------------------------------------------------------//

var request; // variable for posting information
var storedData; //holds data

//CHECK RESPONSE FROM PROCESSING PAGE


function initReq(url,storedData, form, loaderID, successID){
	
	request.open("POST",url,true);
	request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	request.send(storedData);
	
	request.onreadystatechange = function() {
		if(request.readyState == 4) {
			if(request.status == 200) {
				//alert(request.responseText);
				success(form, loaderID, successID);
			} else {
				success(form, loaderID, "emailFail");
			}
		}
	}
	
}

//CHECK BROWSER COMPATIBILITY
function httpRequest(reqType, url, asynch, storedData, form, loaderID, successID) {
	if(window.XMLHttpRequest) {
		request = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		request = new ActiveXObject("Msxml2.XMLHTTP");
		if (! request) {
			request = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	if(request) {
		//alert(reqType+","+ url+","+ asynch+","+ storedData+","+ successID);
		initReq(url, storedData, form, loaderID, successID);
		//Form.disable(form);		
	} else {
		alert("Your browser does not support AJAX");
		Form.enable(form);				
	}
}

//IF VALIDATION IS OK GATHER INFORMATION
	
function sendData(result,url,form,loaderID, successID) {
	if (result) {
		frm="";
		storedData="";
		var frm = document.getElementById(form);
		//alert(form);
		var numberElements = frm.elements.length;
		for(var i=0; i < numberElements; i++) {			
			
			
			if (frm.elements[i].tagName == "INPUT") {
					
				if (frm.elements[i].type == 'checkbox') {
					if (frm.elements[i].checked) {
						storedData+= frm.elements[i].name + "=" + escape(frm.elements[i].value) + "&";
					}
				}
				
				if (frm.elements[i].type == "text") {
					storedData+= frm.elements[i].name + "=" + escape(frm.elements[i].value) + "&";
				}
				
				if (frm.elements[i].type == "hidden") {
					storedData+= frm.elements[i].name + "=" + escape(frm.elements[i].value) + "&";
				}
						
				
			}
				
	
			if (frm.elements[i].tagName == "SELECT") {
				var sel = frm.elements[i];
				storedData+= sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
			}
	
			if (frm.elements[i].tagName == "TEXTAREA") {
				storedData+= frm.elements[i].name + "=" + escape(frm.elements[i].value) + "&";
			}
		
			
			
		}
		//alert(storedData);
		showContactTimer(loaderID); // quickly begin the load barshowContactTimer(loaderID); // quickly begin the load bar
		
		httpRequest("POST", url, true, storedData, form, loaderID, successID);
	}
	else {
		return false;
	}
}

	
	

