function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();

function sendReq(serverFileName,action) {
    http.open('get', serverFileName+'?action='+action);
    //http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-2');
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function sendReqA(serverFileName, variableNames, variableValues) {
	var paramString = '';

	variableNames = variableNames.split(',');
	variableValues = variableValues.split(',');

	for(i=0; i<variableNames.length; i++) {
		paramString += variableNames[i]+'='+variableValues[i]+'&';
	}
	paramString = paramString.substring(0, (paramString.length-1));

	if (paramString.length == 0) {
	   	http.open('get', serverFileName);
	}
	else {
		http.open('get', serverFileName+'?'+paramString);
	}
    http.onreadystatechange = handleResponse;
    http.send(null);
}


function sendReqForm(serverFileName, obj) {

    var paramString = '';
    var variableNames = obj.name;
	var variableValues = obj.value;

	paramString += variableNames+'='+variableValues+'&';
	paramString = paramString.substring(0, (paramString.length-1));

	if (paramString.length == 0) {
	   	http.open('get', serverFileName);
	}
	else {
		http.open('get', serverFileName+'?'+paramString);
	}
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function handleResponse() {

    if(http.readyState == 4){
    	document.getElementById('waiting').innerHTML = '';
        var response = http.responseText;
        var update = new Array();
        if(response.indexOf('^' != -1) & response.indexOf('|' != -1)) {
            update = response.split('^');
            for (i=0; i<update.length; i++) {
                update2 = update[i].split('|');
                document.getElementById(update2[0]).innerHTML = update2[1];
            }
        }
    }
    else {
    	document.getElementById('waiting').innerHTML = '<img src="images/wait5.gif" />';	
    }
}

function makePOSTRequest(url, parameters) {
  
  http = false;

  if (window.XMLHttpRequest) { // Mozilla, Safari,...
     http = new XMLHttpRequest();
     if (http.overrideMimeType) {
        http.overrideMimeType('text/xml');
     }
  } else if (window.ActiveXObject) { // IE
     try {
        http = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (e) {
        try {
           http = new ActiveXObject("Microsoft.XMLHTTP");
       } catch (e) {}
     }
  }
  if (!http) {
     alert('Cannot create XMLHTTP instance');
     return false;
  }

  http.onreadystatechange = alertContents;
  //http.onreadystatechange = handleResponse;
  http.open('POST', url, true);
  http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  http.setRequestHeader("Content-length", parameters.length);
  http.setRequestHeader("Connection", "close");
  http.send(parameters);
}

function alertContents() {

 var update2 = false;
 var update = false;
 
 if (http.readyState == 4) {
	 document.getElementById('waiting').innerHTML = '';
     if (http.status == 200) {     	     	     	
		result = http.responseText;		
        var update = new Array();
        if(result.indexOf('^' != -1) & result.indexOf('|' != -1)) {        	        	        	
            update = result.split('^');      			         
            for (i=0; i<update.length; i++) {
                update2 = update[i].split("|");                
                document.getElementById(update2[0]).innerHTML = update2[1];                                                                
            }            
        }

     } else {
        //alert('There was a problem with the request.');
     }    
  }
  else { 
 	// if readyState has changed
	// but readyState <> 4
	if (window.pageYOffset != null) fromTop = window.pageYOffset;
  	else if (document.body.scrollTop != null) fromTop = document.body.scrollTop;

  	if (window.pageXOffset != null) fromLeft = window.pageXOffset;
  	else if (document.body.scrollLeft != null) fromLeft = document.body.scrollLeft;
  	
  	var wysokosc = szerokosc = 0;
	if (typeof(window.innerWidth)=='number') {
	  szerokosc = window.innerWidth;
	  wysokosc = window.innerHeight;
	} else if(document.documentElement && (document.documentElement.clientWidth
	  || document.documentElement.clientHeight)) {
	  szerokosc = document.documentElement.clientWidth;
	  wysokosc = document.documentElement.clientHeight;
	} else if(document.body && (document.body.clientWidth || document.body.clientHeight)) {
	  szerokosc = document.body.clientWidth;
	  wysokosc = document.body.clientHeight;
	}
	
	document.getElementById('waiting').innerHTML = '<div id="waiting_animation"> </div>';
  }
}




function makeGETRequest(url, parameters) {

  http = false;
  
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
     http = new XMLHttpRequest();
     if (http.overrideMimeType) {
        http.overrideMimeType('text/html');
     }
  } else if (window.ActiveXObject) { // IE
     try {
        http = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (e) {
        try {
           http = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
     }
  }
  if (!http) {
     alert('Cannot create XMLHTTP instance');
     return false;
  }
  http.onreadystatechange = alertContents;
  http.open('GET', url + parameters, true);
  http.send(null);
}