
function GetXmlHttpObject(){ 
	var objXMLHttp=null
	if (window.XMLHttpRequest){
		objXMLHttp=new XMLHttpRequest()
	}else if (window.ActiveXObject){
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
	}
	return objXMLHttp
}

var httpXML = GetXmlHttpObject();
var busy = false;
var object_id;
var empty_text;
var dopopup;

function updateElement(el_id, action, fileHandler) {
	object_id=el_id;
	
    if (busy == false) {
        busy = true;
        httpXML.open('GET', fileHandler + '?rnd=' + Math.random()*4 + '&el_id=' + el_id + '&action=' + action, true);
        httpXML.onreadystatechange = doUpdate
        httpXML.send(null);

    }
    else {
        window.setTimeout("updateElement('" + el_id + "', '" + action + "','" + fileHandler+ "')", 10);
    }
}

function doUpdate() {
/*
  if(httpXML.readState!=4 && object_id.substr(0, 5) == 'vote_'){
    document.getElementByName('btnVote').disabled;
  }
  */
	if (httpXML.readyState == 4 || httpXML.readyState=="complete") {

	       	var response = httpXML.responseText
          var doTheRefresh=0;
          
		      if(response!=''){
            if(response.indexOf('[::sep::]') != -1){
              var myArray = new Array();
              myArray = response.split('[::sep::]');
              for(i=0;i<myArray.length;i++){ 
            		var myVar=myArray[i];
            		var update = new Array();
                if (myVar.indexOf('|') != -1) {
    	        	    var update = myVar.split('|'); 
    	        	    var el_id = update.shift();
    		            var text = update.join("|");    		            
    		            
    			          if(el_id=='alert'){
                      alert(text);
  		              }else {
                      document.getElementById(el_id).innerHTML = text;
                      doTheRefresh=1;
                    }
    		        }
  		        }
  		      }else{
  
              if (response.indexOf('|') != -1) {
  	        	    var update = response.split('|'); 
  	        	    
  	        	    var el_id = update.shift();
  	        	    
  		            var text = update.join("|");
  		            
  		            if(el_id=='alert'){
                    alert(text);
  		            }else {
                    document.getElementById(el_id).innerHTML = text;
                    doTheRefresh=1;
                  }
 
                  /*
                  if(object_id.substr(0, 5) == 'vote_'){
                    var document.getElementsByName('btnVote');
                  } */
  		        }      
  	//	      }
		        }
		        if(doTheRefresh==1){
		          window.location.reload();
		        }
		      }
    busy = false;
	}

}
