/*
*	Ajax File 
*	by Maksimus	
*   Prev Ver 1.2h
*   Ver 1.3h
*/

var busy  = false;
var busyc = false; 
var ajaxhtml  = "Loading...";
var ajaxerror = "Error: ";

function sendAjaxRequest(url, method, div, data)
{
	var req = initXMLHTTPRequest() ;
	req.onreadystatechange = function(){
		if (req.readyState==4){
			if (req.status==200|| req.status==0){
				if (typeof div == "string")
			 		document.getElementById(div).innerHTML = req.responseText;
			 	else if (typeof div == "function")
			 		div(req.responseText);
			 	busy = false;
			}
			else {
				if (typeof div == "string")
			 		document.getElementById(div).innerHTML = ajaxerror + req.responseText;
			 	busy = false;
			}
		}	
	}
	if (req){
		req.open(method,url,true);
		if (method == "post")
			req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		busy = true;
		if (typeof div == "string")
			document.getElementById(div).innerHTML = ajaxhtml;		
		req.send(data);
	}
}

function activateJS(js)
{
	try {
		eval(js);
	}
	catch (e) {
		
	}
}

function sendJSXHTMLRequest(url, method, div, data)
{
	var req = initXMLHTTPRequest() ;
	req.onreadystatechange = function(){
		if (req.readyState==4){
			if (req.status==200|| req.status==0){
				if (typeof div == "string") {
			 		document.getElementById(div).innerHTML = responseText;
			 		activateJS(req.responseText);
				}
			 	else if (typeof div == "function") {
			 		activateJS(req.responseText);
			 		div(responseText);
			 	}
			 	busy = false;
			}
			else {
				if (typeof div == "string")
			 		document.getElementById(div).innerHTML = ajaxerror + req.responseText;
			 	busy = false;
			}
		}	
	}
	if (req){
		req.open(method,url,true);
		if (method == "post")
			req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		busy = true;
		if (typeof div == "string")
			document.getElementById(div).innerHTML = ajaxhtml;		
		req.send(data);
	}
}

function initXMLHTTPRequest()
{
	var XMLHttpRequestObject = null;
	try {
		XMLHttpRequestObject = new XMLHttpRequest();
	} catch (e) {
		try {
			XMLHttpRequestObject = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (err) {
			XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return XMLHttpRequestObject;
}

function encodeForm(form)
{
	var queryText = [];
	for (var k = 0, lim = form.elements.length; k<lim; k++)
	{
		var v = form.elements[k];
		var tn = (v.tagName != undefined ? v.tagName.toUpperCase() : '');
		if (tn == 'INPUT' || tn == 'TEXTAREA' || tn == 'SELECT')
		{
			var type = v.type.toLowerCase();
			if (type=='radio' && !v.checked) continue;
			var val = (type=='checkbox') ? ((v.checked==true) ? v.value : "") : v.value;
			queryText[queryText.length] = v.name + "=" + encodeURIComponent(val);
		}
	}
	var data = queryText.join('&');
	//alert(data);
	return data;
}
