﻿
var useActiveX=(typeof ActiveXObject != "undefined"); 
var useDom=(document.implementation && document.implementation.createDocument);  
var useXmlHttp=(typeof XMLHttpRequest != "undefined");  
var ARR_XMLHTTP_VERS = ["Microsoft.XMLHTTP", "MSXML.XMLHTTP", "Microsoft.XMLHTTP", "Msxml2.XMLHTTP.7.0", "Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP"];
var ARR_DOM_VERS = ["MSXML2.DOMDocument.6.0","MSXML2.DOMDocument.3.0"]; 

var XMLHTTP_VER;


function $(i){
	  if(!document.getElementById)return false;
	  if(typeof i==="string"){
	   	   if(document.getElementById && document.getElementById(i)) {
	   	   	   // W3C DOM
	           return document.getElementById(i);
         }
         else if (document.all && document.all(i)) {
         	   // MSIE 4 DOM
	           return document.all(i);
         }
         else if (document.layers && document.layers[i]) {
         	   // NN 4 DOM.. note: this won't find nested layers
	           return document.layers[i];
         } 
         else {
	           return false;
         }
	  }
	  else{return i;}
}


function createXMLHTTPRequest(){

     if (useActiveX) {        
         if (!XMLHTTP_VER) {
              for (var i=0; i < ARR_XMLHTTP_VERS.length; i++){
                  try {
                      new ActiveXObject(ARR_XMLHTTP_VERS[i]);
                      XMLHTTP_VER = ARR_XMLHTTP_VERS[i]; 
                      break;
                  } catch (oError) {}
              }
         }
         if (XMLHTTP_VER) {
             return new ActiveXObject(XMLHTTP_VER);
         } 
         else {
             throw new Error("Can not creat XMLHttpRequest!");
         }
    } 

    else if (useXmlHttp){   

         return new XMLHttpRequest();
   }
    else {
         throw new Error("Your browser not support XMLHttpRequest!");
    }
}


function ajaxUpdater(tarObj,sMethod,URL,parameters){
    var oXmlHttp = createXMLHTTPRequest();  	   
    oXmlHttp.open(sMethod, URL+parameters, true);
    oXmlHttp.onreadystatechange = function () {
        if (oXmlHttp.readyState == 4) {
             if (oXmlHttp.status == 200 || window.location.href.indexOf("http")==-1) {
                  if(oXmlHttp.responseText == "SESSION_TIME_OUT"){
					window.location.reload();
					return;
                  }
                  if($(tarObj)){
                       $(tarObj).innerHTML = oXmlHttp.responseText;
                  }
                  else{
                       return false;	
                  }          
             } 
             else {
                  throw new Error("Error!");
             }
         }    
    }           
    oXmlHttp.send(null); 
} 


