/* 
	Plik funkcji AJAX
	Autor: Oktawian Sokołowski
	Wersja: 1.1.0
	
	Wszystkie prawa własności i prawa autorskie do tego OPROGRAMOWANIA są 
	własnością jego autora. Oprogramowanie to chronione jest prawem autorskim, 
	porozumieniami międzynarodowymi o prawie autorskim oraz innym ustawodawstwem 
	i porozumieniami międzynarodowymi o ochronie praw na dobrach niematerialnych.  
	Zgodnie z nimi, Nabywca zobowiązany jest traktować OPROGRAMOWANIE jak 
	wszystkie inne materiały chronione prawem autorskim. Naruszenie tych praw 
	podlega odpowiedzialności cywilnej i karnej.
*/

var div_name = "";

function ajax_loading() {
	 if(div_name != "")
	  getelem(div_name).innerHTML = 
  	    '<table width="100%" height="100%"><tr><td align=center valign=center><img src="lib/ajax_loading.gif"></td></tr></table>';        
}

function ajax_result(responseText) {
	 if(div_name != "")
	  getelem(div_name).innerHTML = responseText;   
}

function ajax_error(nr) {
    alert("Error during parsing file for AJAX request: " + nr + '');          
    div_name = "";    
}

function ajax_read(name) {
   var ajax_obj = (typeof XMLHttpRequest == "undefined")?new ActiveXObject('Microsoft.XMLHttp'):new XMLHttpRequest();

   ajax_obj.onreadystatechange = function(){   
	     if (ajax_obj.readyState == 1) {    	     
            ajax_loading();  
        }
        
        if (ajax_obj.readyState == 4) {                        
            if (ajax_obj.status == 200) { 
                ajax_result(ajax_obj.responseText);      
            }
            else {
                ajax_error(ajax_obj.status);
            }
        }
    };
    ajax_obj.open("GET", name);   
    ajax_obj.send(null);
}

function ajax_read_post(name, param) {
   var ajax_obj = (typeof XMLHttpRequest == "undefined")?new ActiveXObject('Microsoft.XMLHttp'):new XMLHttpRequest();

   ajax_obj.onreadystatechange = function(){   
	     if (ajax_obj.readyState == 1) {    	     
            ajax_loading();  
        }
        
        if (ajax_obj.readyState == 4) {                        
            if (ajax_obj.status == 200) { 
                ajax_result(ajax_obj.responseText);      
            }
            else {
                ajax_error(ajax_obj.status);
            }
        }
    };
    ajax_obj.open("POST", name, true);   
    ajax_obj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	 ajax_obj.setRequestHeader("Content-length", param.length);
	 ajax_obj.setRequestHeader("Connection", "close");
    ajax_obj.send(param);
}

function ajax_read_get(name, param) {
   var ajax_obj = (typeof XMLHttpRequest == "undefined")?new ActiveXObject('Microsoft.XMLHttp'):new XMLHttpRequest();

   ajax_obj.onreadystatechange = function(){   
	     if (ajax_obj.readyState == 1) {    	     
            ajax_loading();  
        }
        
        if (ajax_obj.readyState == 4) {                        
            if (ajax_obj.status == 200) { 
                ajax_result(ajax_obj.responseText);      
            }
            else {
                ajax_error(ajax_obj.status);
            }
        }
    };
    ajax_obj.open("GET", name, true);   
    ajax_obj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	 ajax_obj.setRequestHeader("Content-length", param.length);
	 ajax_obj.setRequestHeader("Connection", "close");    
    ajax_obj.send(param);
}

// zamienia paragram o podanym id na tresc spod adresu href -- DEPRECJONOWANA!
function ajax_replace(id, href)
{
 div_name = id;
 ajax_read(href);
}

// zamienia paragram o podanym id na tresc spod adresu href
function ajaxMakeRequest(id, href)
{
 div_name = id;
 ajax_read(href);
}

// zamienia paragram o podanym id na tresc spod adresu href
function ajaxMakeGetRequest(id, href, param)
{
 div_name = id;
 ajax_read_get(href, param);
}

// zamienia paragram o podanym id na tresc spod adresu href
function ajaxMakePostRequest(id, href, param)
{
 div_name = id;
 ajax_read_post(href, param);
}
