function getXMLRequester() {
    var ro = false;
            
    try {
        if( window.ActiveXObject ) {
            for( var i = 5; i; i-- ) {
                try {
                    if( i == 2 ) {
                        ro = new ActiveXObject( "Microsoft.XMLHTTP" );    
                    } else {
                        
                        ro = new ActiveXObject( "Msxml2.XMLHTTP." + i + ".0" );
                    }
                    break;
                }
                catch( excNotLoadable ) {                        
                    ro = false;
                }
            }
        }
        else if( window.XMLHttpRequest ) {
            ro = new XMLHttpRequest();
         }
    }
    catch( excNotLoadable ) {
        ro = false;
    }
    return ro ;
}

var http = getXMLRequester();

function sendRequest(action, element, selectbox) {
	if(selectbox==true) {
		var url = 'bal_ims_ajax_controler.inc.php?action='+action+'&'+element+'='+document.getElementById(element).options[document.getElementById(element).selectedIndex].value;
	} else {
		var url = 'bal_ims_ajax_controler.inc.php?action='+action+'&'+element+'='+document.getElementById(element).value;
	}
	
	//http.multipart = true; // works with firefox only
  http.open("GET", url, true);
  //http.onload = processResponse; // onstatereadychange does not work
  http.onreadystatechange = processResponse;
  http.send(null);
}

function sendRequestWithElementString(action, elementString) {
	
	var url = 'bal_ims_ajax_controler.inc.php?action='+action+'&'+elementString;
	/*alert("OK");*/
	
	//http.multipart = true; // works with firefox only
  http.open("GET", url, true);
 	//http.onload = processResponse; // onstatereadychange does not work
  http.onreadystatechange = processResponse;
  http.send(null);
}

function sendSessionRequest(action, element) {
	var checkbox = 0;
	var set_checked = 0;
	var obj = document.getElementsByName(element);
	var url;
	for (var i=0; i<obj.length; i++) {
		if (obj[i].checked) {
			set_checked = 1;
			if(checkbox!=0) {
				checkbox = checkbox+'&'+element+'[]='+obj[i].value;
			} else {
				checkbox = '&'+element+'[]='+obj[i].value;
			}
		}
	}
	
	if(set_checked==1) {
		url = 'bal_ims_ajax_controler.inc.php?action='+action+checkbox;
	} else {
		url = 'bal_ims_ajax_controler.inc.php?action='+action;
	}
	//alert(url);

	//http.multipart = true; // works with firefox only
   	http.open("GET", url, true);
    //http.onload = processResponse; // onstatereadychange does not work
    http.onreadystatechange = processResponse;
    http.send(null);
}

function sendRadioRequest(action, element) {
	var obj = document.getElementsByName(element);
	for (var i=0; i<obj.length; i++) if (obj[i].checked) var radio=obj[i].value;
	
	var url = 'bal_ims_ajax_controler.inc.php?action='+action+'&'+element+'='+radio;

	//http.multipart = true; // works with firefox only
   	http.open("GET", url, true);
    //http.onload = processResponse; // onstatereadychange does not work
    http.onreadystatechange = processResponse;
    http.send(null);
}

function sendMultiRequest(action, element, selectelement) {
	
	var url = 'bal_ims_ajax_controler.inc.php?action='+action+'&'+selectelement+'='+document.getElementById(selectelement).options[document.getElementById(selectelement).selectedIndex].value+'&'+element+'='+document.getElementById(element).value;

	//http.multipart = true; // works with firefox only
   	http.open("GET", url, true);
    //http.onload = processResponse; // onstatereadychange does not work
    http.onreadystatechange = processResponse;
    http.send(null);
}


function processResponse() {
    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();
				//alert(response);
        if(response.indexOf('|' != -1)) {
            update = response.split('|');
           	//alert(update[0]);
            if(document.getElementById(update[0])&&update[0]) {
            	//alert(update[1]);
            	document.getElementById(update[0]).innerHTML = update[1];
            }
            if(update.length>2) {
						 	for (var i=2; i<update.length; i=i+2){
						 		//alert(update[i]);
						 		if(document.getElementById(update[i])) {
	            		document.getElementById(update[i]).innerHTML = update[i+1];
						 		}
						 	}
            }
        }
    }
}