function httpRequest(url,result_container,progress_container){
	
	if(progress_container != null){
		
		progressBar(progress_container,true);
		
	}
	
    var xhr;
	
    try {
	
		xhr = new ActiveXObject('Msxml2.XMLHTTP');
	
	} catch (e) {
        
		try {   
		
			xhr = new ActiveXObject('Microsoft.XMLHTTP');
			
		} catch (e2){
          
			try {
				
				xhr = new XMLHttpRequest();
				
			} catch (e3){
				
				xhr = false;
				
			}
			
        }
		
     }
  
    xhr.onreadystatechange  = function(){
  		
		if(xhr.readyState  == 4){
     		
			if(xhr.status  == 200){
				
				if(progress_container != null){
					
					progressBar(progress_container,false);
				
				}
				
				document.getElementById(result_container).innerHTML = xhr.responseText;
				
			} else {
				
				if(progress_container != null){
					
					progressBar(progress_container,false);
					
				}
				
          		document.getElementById(result_container).innerHTML = "Error code " + xhr.status;
				
         	}
			
		}
			
    };

   xhr.open("GET",url,true);
   
   xhr.send(null);

}

function progressBar(container,active){
	
	var progress_bar = document.getElementById(container);
	
	var progress_bar_time = document.getElementById(container + '_time');
	
	if(progress_bar != null){
	
		if(active){
				
			progress_bar.style.visibility = 'visible';
			
			var seconds = 0;
			
			if(progress_bar_time != null){
				
				myBar = setInterval(function(){seconds += 0.1; progress_bar_time.style.visibility = 'visible'; progress_bar_time.innerHTML = seconds.toFixed(1)},100);
				
			}
			
		} else {
				
			if(progress_bar_time != null){
				
				clearInterval(myBar);
				
				progress_bar_time.style.visibility = 'hidden';
				
			}
			
			progress_bar.style.visibility = 'hidden';
			
		}
		
	}
	
}
