var http_request = false;
var loader;
var container;
var browser=navigator.appName;
var fadeObjectId;

//xmlhttprequest initializing method
function createXMLHttpRequest( ) {
	try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
	try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
	try { return new XMLHttpRequest( ); } catch(e) {}
	alert("XMLHttpRequest not supported");
	return null;
}

function $(id) {
	return document.getElementById(id);
}

//sends post data using ajax
function makePOSTRequest(url, parameters) {
	http_request = new createXMLHttpRequest();
	http_request.open("POST", url, true);
	http_request.onreadystatechange = serverResponse;
	/*if (url == 'editProfile.php') {
		location.href = 'index.php';
	}*/
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
}

//sends get using ajax
function makeGETRequest(url, parameters) {
	url = url + '?sid=' + Math.random() + '&' + parameters;
	http_request = new createXMLHttpRequest();
	http_request.open("GET", url, true);
	http_request.onreadystatechange = serverResponse;
	http_request.send(null);
}

//retrieve server response
function serverResponse() {
	if (http_request.readyState == 4 ) {
		if (http_request.status == 200) {
			result = http_request.responseText;
			if (result.search('<!-- REDIRECT -->') != -1)  {
				location.href="index.php";
			}
			$(container).innerHTML = result;
			$('dimBackground').className = 'normalBackground';
		} else {
			alert('There was a problem with the request.');
		}
	}

}

// form query automation
// handles: input, textarea, select, and radio inputs
function createQuery(form) {
	var elements = form.elements;
	var pairs = new Array();
	var include = true;
	for (var i = 0; i < elements.length; i++) {	
		if ((name = elements[i].name) && (value = elements[i].value)) {
			include = true;
			//checkbox handling
			if (elements[i].type == 'checkbox' && elements[i].checked == false) {
				value = 'off';
			//radio button handling
			} else if (elements[i].type == 'radio') {
				//remove uncheck radio values
				if(elements[i].checked != true) {
					include = false;
				}
			}
			//include specified post values
			if (include) {
				pairs.push(name + "=" + encodeURIComponent(value));
			}
		}
	}	
	return pairs.join("&");
}

function updateDisplay(text) {
	$(loader).className = "notLoading";
	$(container).innerHTML = text;
	fadeLoop(12.5);
}

//post request
function submitAjaxForm(url, obj, loaderId, contentId) {
	//loader = loaderId; //store loader id globally
	container = contentId; //store container id globally
	//$(loader).className = "loading";
	//automatically submit all input value of select form	
	var poststr = createQuery(obj);
	//setTimeout("makePOSTRequest('"+url+"','"+poststr+"')", 2000);
	makePOSTRequest(url, poststr);
}

//get request
function fetchGet(url, parameter, contentId) {
	container = contentId; //store container id globally
	makeGETRequest(url, parameter);
}

function fade(objectId) {
	fadeObjectId = objectId;
	fadeLoop(0.78);
}

function fadeLoop(percent) {
	if (!$(fadeObjectId)) return;
	var opacity_level;
	if (browser == 'Microsoft Internet Explorer') {
		$(fadeObjectId).style.filter ="progid:DXImageTransform.Microsoft.Alpha(opacity="+percent+")";
	} else {
		opacity_level =  percent / 100;
		$(fadeObjectId).style.opacity = opacity_level;
	}
	//percent += 10;
	percent = percent * 2;
    if (percent<=100) {
      setTimeout("fadeLoop("+percent+")", 80);
    }
}