var http = null;

function $(e) { return document.getElementById(e); }

function showLoader(target) {
	if(!$('loadimage')) {
		loadImg = document.createElement('img');
		loadImg.src = "img/loader.gif";
		loadImg.alt = "Loading...";
		loadImg.className = "loader";
		loadImg.id = "loadimage";
		$(target).appendChild(loadImg);
	}
}

function hideLoader(target) {
	if($('loadimage')) {
		loadImg = $('loadimage');
		$(target).removeChild(loadImg);
	}
}

function request() {
	var newRequest = null;
	if(window.XMLHttpRequest) {
		try {
			newRequest = new XMLHttpRequest();
		} catch(e) {
			newRequest = false;
		}
	} else if(window.ActiveXObject) {
		try {
			newRequest = new ActiveXObject("MSxm12.XMLHTTP");
		} catch(e) {
			try {
				newRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				newRequest = false;
			}
		}
	}
	return newRequest;
}

function processSurvey(app, formData) {
	if(validateSurvey()) {
		params = parseForm(formData) + 'action=process&ajax=1';
	
		if(!http || http.readyState == 4 || http.readyState == 0) {
			http = request();	
			http.open("POST", app+"/survey/process.php", true);
			http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			http.setRequestHeader("Content-length", params.length);
			http.setRequestHeader("Connection", "close");
			http.onreadystatechange = function() { 
										if(http.readyState == 4) {
											hideLoader('survey');
											$('survey').innerHTML = http.responseText;
											$('survey').id = 'results';
										} else {
											showLoader('survey');	
										}
									  };
			http.send(params);
		} else {
			return false;
		}
	} else {
		alert('You must select a response');
		return false;
	}
}

function validateSurvey() {
	questions = $('survey').getElementsByTagName('input');
	num = questions.length;
	numChecked = 0;
	for(var i = 0; i < num; i++) {
		if(questions[i].type == 'checkbox' || questions[i].type == 'radio') {
			if(questions[i].checked) {
				numChecked++;	
			}
		}
	}
	if(numChecked > 0) {
		return true;	
	} else {
		return false;	
	}
}

function parseForm(userForm) {
	var formData = "";
	for (var i = 0; i < userForm.length; i++)
    {
         if(userForm.elements[i].type == "checkbox" || userForm.elements[i].type == "radio"){
			if(userForm.elements[i].checked == true) {
				formData += userForm.elements[i].name + "=" + userForm.elements[i].value + "&";
			}
         } else if(userForm.elements[i].type == "hidden" || userForm.elements[i].type == "text") {
			formData += userForm.elements[i].name + "=" + userForm.elements[i].value + "&";
		 } else if(userForm.elements[i].type == "select-one") {
			formData += userForm.elements[i].name + "=" + userForm.elements[i].options[userForm.elements[i].selectedIndex].value + "&";
		 }
    }
	return formData;
}