var debug = true;


function sendHttpRequest(method, url, params, callback) {
	
	
	wmLoadStart();       
	document.body.style.cursor='wait';
    
    
    
    var request;
    if (window.XMLHttpRequest)
        request = new XMLHttpRequest();
    else if (window.ActiveXObject)
        request = new ActiveXObject("Microsoft.XMLHTTP");
    else
        return null;
        
    if (method)
        method = method.toUpperCase();
    else
        method = "GET";
    var fullURL = url;
    
    if (params && method == "GET")
        fullURL += "?" + params;
    var async = false;
    if (callback)
        async = true;

    request.open(method, fullURL, async);
    
    function calbackWrapper() {
	
        if (async && request.readyState == 4) {
            if (request.status == 200)
                callback(request);
            else
			{
                transactionResponse = "";
				alert("Ajax napaka. Status klicane strani je različen od 200."+"\n"+request.responseText)
                //reportError(request, url, params);
			}
        }
		
    }
    if (async)
        request.onreadystatechange = calbackWrapper;

    var body = null;
    if (method == "POST") {
        request.setRequestHeader("Content-Type",
            "application/x-www-form-urlencoded");
        if (params)
            body = params;
    }
    request.send(body);
    if (!async && (request.readyState != 4
            || request.status != 200)) {
        reportError(request, url, params);
        return null;
    }
    return request;
}

function reportError(request, url, params) {
    if (debug) {
        if (request.status != 200) {
            if (request.statusText)
                alert("reportError:"+request.statusText);
            else
                alert("HTTP Status: " + request.status);
        } else
            alert("Response Error");
        if (params)
            url += "?" + params;
        document.location = url;
    }
}

function abortRequest(request) {
    function doNothing() {
    }
    request.onreadystatechange = doNothing;
    request.abort();
    delete feedRequest;
}


function sinhronAjax(url)
{
        var rez ="";
        if (window.XMLHttpRequest) {              
            AJAX=new XMLHttpRequest();              
        } 
        else {                                  
            AJAX=new ActiveXObject("Microsoft.XMLHTTP");
        }
        if (AJAX) {
            AJAX.open("GET", url, false);                             
            AJAX.send(null);
            var myvar = AJAX.responseText; 
            rez = myvar;
        } 
        else {
            rez = "Povezava na bazo ni uspela.";
        }         
        //alert(rez);
        return rez;
}


function parseMyXML(xml_text, returning_node_id)
{
	try{
		//instantiate the W3C DOM Parser
		if (window.ActiveXObject)
    {
        var doc=new ActiveXObject("Microsoft.XMLDOM");
        doc.async="false";
        doc.loadXML(xml_text);
    }
    // code for Mozilla, Firefox, Opera, etc.
    else
    {
        var parser=new DOMParser();
        var doc=parser.parseFromString(xml_text,"text/xml");
    }
    
    // documentElement always represents the root node
		var docRoot = doc.documentElement;

		var returningString = "";
		try {
			returningString = docRoot.getElementsByTagName(returning_node_id)[0].childNodes[0].nodeValue;												
		} catch (e) {
			//alert("parse error:"+e);
			returningString = "";
		} 
			
		if(returningString != null )
			return returningString;
		else
			return "";
		
	}catch(e){
	  //alert("error:"+e); 
	  return "";
	}

}


function parseMyXML_new (xml_request, returning_node_id) {
    try{
		    //alert(xml_text);
		    //alert(returning_node_id);
			xml_request = xml_request.toUpperCase();
		    returning_node_id = returning_node_id.toUpperCase();  
		    // code for IE
		    if (window.ActiveXObject)
		    {
		        var doc=new ActiveXObject("Microsoft.XMLDOM");
		        doc.async="false";
		        doc.loadXML(xml_request);
		    }
		    // code for Mozilla, Firefox, Opera, etc.
		    else
		    {
		        var parser=new DOMParser();
		        var doc=parser.parseFromString(xml_request,"text/xml");
		    }
		    
		    // documentElement always represents the root node
		    var x=doc.documentElement;  

		    var returningString = "";
			try {
				returningString = x.getElementsByTagName(returning_node_id)[0].childNodes[0].nodeValue;												
			} catch (e) {
			    alert("parse error:"+e);
				returningString = ""
			} 
		        
		    if(returningString != null )
		        return returningString;
		    else
		        return "";
	}catch(e){
	  //alert("error:"+e); 
	  return "";
	}		
}


