var req;
var longEnough;
var progmsg;

function loadXMLDoc(url,async,message) {
    progmsg=message;
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
	req=new XMLHttpRequest();	
	req.onreadystatechange=ajaxCallback;
        req.open("GET",url,async);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req=new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange=ajaxCallback;
            req.open("GET",url,async);
            req.send();
        }
    }
}

function ajaxCallback() {
    if (req.readyState==1 && progmsg!='') { // Loading
    	var progress=document.getElementById('progress_id');
	progress.innerHTML='<img src="../../../images/updating.gif" width="21" height="22" />&nbsp;&nbsp;&nbsp;'+progmsg;
	var top_px=(document.documentElement.clientHeight/2+document.documentElement.scrollTop-50)+"px";
	var left_px=(document.documentElement.clientWidth/2+document.documentElement.scrollLeft-25)+"px";
	progress.style.top=top_px;
	progress.style.left=left_px;	
	progress.style.display='block';
	longEnough=false;
	setTimeout("longEnough=true",1000);
    }
    if (req.readyState==4) { // Loaded
	if (req.status==200) { // HTTP OK
	     var result=req.responseXML;
	     if (result.xml=='') alert(req.responseText);
	     var actionElements=result.getElementsByTagName('action');   
	     for (var i=0; i<actionElements.length; i++) {
	   	 var actionElement=actionElements[i];
 	   	 var method=actionElement.getElementsByTagName('method')[0].firstChild.nodeValue;	        
		 if (method=='script') {
		     var code=actionElement.getElementsByTagName('code')[0].firstChild.nodeValue;
		     eval(code);
	         } else if (method=='nodeRewrite') {
		     target=actionElement.getElementsByTagName('target')[0].firstChild.nodeValue;
		     html=actionElement.getElementsByTagName('html')[0].firstChild.nodeValue;
		     document.getElementById(target).innerHTML=html;
		 }
	     }
        }
	if (progmsg!='') closeProgress();
    }
}

function closeProgress() {
if (longEnough) {
	document.getElementById('progress_id').style.display='none';
	return;
}
setTimeout("closeProgress()",100);
}
