//<!--

function loadXMLDoc(url,targetID,oLoader) {


	var req = false;
	var oTarget;
	
	if (typeof(targetID)=='object'){
		oTarget = targetID;
	}else{
		oTarget = document.getElementById(targetID);
	}

    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
		if(typeof(req) != "undefined"){
			req.open("GET", url, true);
	        req.onreadystatechange = function() {ajaxDone(req,oTarget,oLoader);};
    	    req.send(null);
		}
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHttp");
        if (typeof(req) != "undefined"){
            req.open("GET", url, true);
            req.onreadystatechange = function() {ajaxDone(req,oTarget,oLoader);};
            req.send();
        }
    }

}


// creates an XMLHttpRequest instance
function createXMLHttpRequestObject()
{
  // xmlHttp will store the reference to the XMLHttpRequest object 
  var xmlHttp;
  // try to instantiate the native XMLHttpRequest object
  try
  {
    // create an XMLHttpRequest object
    xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {
    // assume IE6 or older
    try
    {
      xmlHttp = new ActiveXObject("Microsoft.XMLHttp");
    }
    catch(e) { }
  }
  // return the created object or display an error message
  if (!xmlHttp)
    alert("Error creating the XMLHttpRequest object.");
  else 
    return xmlHttp;
}


function ajaxDone(ajaxreq,oTarget,oLoader) {

	if(typeof(ajaxreq)!="undefined"){

    	var ab = window.setTimeout("if(typeof(ajaxreq)!='undefined'){ajaxreq.abort();};", 5000);
    
    	if (ajaxreq.readyState == 4) {
        	clearTimeout(ab);
        
        	if (ajaxreq.status == 200) {
				if (typeof(oTarget) != 'undefined'){
					if (typeof(oLoader) != 'undefined') oLoader.parentNode.removeChild(oLoader);
					oTarget.innerHTML = ajaxreq.responseText;
				}
        	}
    	}
	}
}

function stat(n)
{
  switch (n) {
    case 0:
      return "не инициализирован";
    break;
      
    case 1: 
      return "загрузка...";
    break;
    
    case 2: 
      return "загружено";
    break;
    
    case 3: 
      return "в процессе...";
    break;
      
    case 4: 
      return "готово";
    break;
    
    default:
      return "неизвестное состояние";  
  }  
}

// -->
