// JavaScript Document
function sendRequest(url, conteneur, postData) {
	window.document.getElementById(conteneur).innerHTML = '<IMG src="images/loading.gif" width="32" height="32">';
	setTimeout ("sendXMLHTTP('"+url+"', '"+conteneur+"', '"+postData+"');", 100);
}

function getRequest(url, postData){

	if (postData != '') postData += "&";
	postData += ('sessionid=' + window.document.body.getAttribute('sessionid') + '&rnd=' + Math.random( ));

	var xmlhttp = createXMLHTTPObject();
	xmlhttp.open("POST", url, false);
	xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlhttp.send(postData);
	
	if (xmlhttp.responseText.substring(0,9) == "<!--LOGIN") window.location = "login.asp";
	if (xmlhttp.responseText.substring(0,9) == "<!--ADMIN") window.location = "login_admin.asp";		
	
	return xmlhttp.responseText;
	
	xmlhttp.abort;
}

function checkRequest(url, postData) {
		
	var req = createXMLHTTPObject();
	if (!req) return;
	
	if (postData != '') postData += "&";
	postData += ('sessionid=' + window.document.body.getAttribute('sessionid') + '&rnd=' + Math.random( ));
	
	var method = (postData) ? "POST" : "GET";
	req.open(method,url,true);
	req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
	
	if (postData)
		
		req.onreadystatechange = function () {
		
		if (req.readyState != 4)  return;
		if (req.status != 200 && req.status != 304 && req.status != 0) {
			alert('HTTP error ' + req.status);
			alert(Right(req.responseText, 1000));
			//return;
		}
		PayResult(req);		
	}
	if (req.readyState == 4) return;
	req.send(postData);
}

function sendXMLHTTP(url, conteneur, postData) {
		
	var req = createXMLHTTPObject();
	if (!req) return;
	
	if (postData != '') postData += "&";
	postData += ('sessionid=' + window.document.body.getAttribute('sessionid') + '&rnd=' + Math.random( ));	
	
	var method = (postData) ? "POST" : "GET";
	req.open(method,url,true);
	req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
	
	if (postData)
		
		req.onreadystatechange = function () {
		
		if (req.readyState != 4)  return;
		if (req.status != 200 && req.status != 304 && req.status != 0) {
			alert('HTTP error ' + req.status);
			alert(Right(req.responseText, 1000));
			//return;
		}
		handleRequest(req, conteneur, url);		
	}
	if (req.readyState == 4) return;
	req.send(postData);
}

var XMLHttpFactories = [
	function () {return new XMLHttpRequest()},
	function () {return new ActiveXObject("Msxml2.XMLHTTP")},
	function () {return new ActiveXObject("Msxml3.XMLHTTP")},
	function () {return new ActiveXObject("Microsoft.XMLHTTP")}
];

function createXMLHTTPObject() {

	var xmlhttp = false;
	for (var i=0;i<XMLHttpFactories.length;i++) {
		try {
			xmlhttp = XMLHttpFactories[i]();
		}
		catch (e) {
			continue;
		}
		break;
	}
	return xmlhttp;
}

function handleRequest(req, conteneur , url) {
	var writeroot = window.document.getElementById(conteneur);
	if (req.responseText.substring(0,9) == "<!--LOGIN") window.location = "login.asp";
	if (req.responseText.substring(0,9) == "<!--ADMIN") window.location = "login_admin.asp";	
	
	//writeroot.innerHTML = "<FONT size='1' color='#C0C0C0'> " + url + " &gt; </font><BR>" + req.responseText + "<BR><FONT size='1' color='#C0C0C0'> &lt; " + url + "</font>" ;
	writeroot.innerHTML = req.responseText;
	
	for (i = 0; i < document.links.length; i++) {
		myUrl = document.links.item(i).href;
		
		if (myUrl.substr(0, 11) != 'javascript:' && myUrl.substr(0, 7) != 'mailto:'){
			if (myUrl.indexOf('sessionid') == -1 ){
				var sep = '?';
				if (myUrl.indexOf('?') > 0) sep = "&";
				myUrl += (sep + 'sessionid=' + window.document.body.getAttribute('sessionid'));
				document.links.item(i).href = myUrl;
			}
		}
	}
	
	for (i = 0; i < document.forms.length; i++) {
		myUrl = document.forms.item(i).action;
		
		if (myUrl != ''){
			if (myUrl.indexOf('sessionid') == -1 ){			
				var sep = '?';
				if (myUrl.indexOf('?') > 0) sep = "&";
				myUrl += (sep + 'sessionid=' + window.document.body.getAttribute('sessionid'));
				document.forms.item(i).action = myUrl;
			}
		}
	}		
}

function emptyHandle(req){

}

function gotoURL(myUrl){
	var sep = '?';
	if (myUrl.indexOf('?') > 0) sep = "&";
	myUrl += (sep + 'sessionid=' + window.document.body.getAttribute('sessionid'));
	window.location = myUrl;
}

function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}
function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

