// JavaScript code for Epa Signup Box on sidebar
// Author: Alexande Dahlberg

//------------
//	AJAX
//------------

//Browser Support Code
function GetXmlHttpObject(handler)
{ 
	var ajaxRequest;  // The variable that makes Ajax possible!
	
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	
	return ajaxRequest;
}

function epabox_ajaxRequestObject(ajaxRequest, url, params){
	var output = document.getElementById("epaboxOutput");

	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			result = ajaxRequest.responseText;
			var okString="success";
			if(result.slice(0,okString.length)!=okString)	{ // if error
				output.innerHTML = '<p id="error">'+result+'</p>';
				output.innerHTML += '<p><a href="javascript:epabox_showForm()">&lt;&lt; Back</a></p>';
				epabox_showOutput();
			} else { // success
				if(result.length>okString.length) {
					var message=result.slice(okString.length+1); // strip prefix 'success;' from success message
					output.innerHTML = message; // show success message
					epabox_showOutput();
				}
			}
		}
	}
	ajaxRequest.open("POST", url, true);
	//Send the proper header information along with the request
	ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajaxRequest.setRequestHeader("Content-length", params.length);
	ajaxRequest.setRequestHeader("Connection", "close");
	
	epabox_showLoading();
	//expandDiv("epaboxForm", "epaboxLoading", true);	// show loading progress
	ajaxRequest.send(params); 
}

function epabox_sendRequestSave() {
	var email = document.getElementById("epabox_email").value;
	var fname = document.getElementById("epabox_fname").value;
	var lname = document.getElementById("epabox_lname").value;
	var language = document.getElementById("epabox_language").value;
	var country = document.getElementById("epabox_country").value;
	var object = GetXmlHttpObject();
	var querystring = "email="+email+"&fname="+fname+"&lname="+lname+"&language="+language+"&country="+country;
	epabox_ajaxRequestObject(object, "../common/php/epabox_submit.php", querystring);
}

//---------------
// User Interface
//---------------

function epabox_hideAll() {
	document.getElementById('epaboxForm').style.display = 'none';	
	document.getElementById('epaboxLoading').style.display = 'none';	
	document.getElementById('epaboxOutput').style.display = 'none';	
}

function epabox_showForm() {
	epabox_hideAll();
	document.getElementById('epaboxForm').style.display = 'block';
}

function epabox_showLoading() {
	epabox_hideAll();
	document.getElementById('epaboxLoading').style.display = 'block';	
}

function epabox_showOutput() {
	epabox_hideAll();
	document.getElementById('epaboxOutput').style.display = 'block';
}