// ajax handler

var ajax_handler= function()
{
   //---------------------
   // Private Declarations
   //---------------------
   this.url = null;
   this.xmlHttpvar= null;
   this.params = new Array();
   this.values = new Array();  
   this.onreturn=null;
   this.browser='notIE';
   //--------------------
   // Public Declarations
   //--------------------
   this.create = function()
   {
      /* Create a new XMLHttpRequest object to talk to the Web server */
      this.xmlHttpvar= false;
    /*@cc_on @*/
    /*@if (@_jscript_version >= 5)
    try {
      this.xmlHttpvar = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        this.xmlHttpvar = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e2) {
        this.xmlHttpvar = false;
      }
    }
    @end @*/

    if (!this.xmlHttpvar && typeof XMLHttpRequest != 'undefined') {
      this.xmlHttpvar = new XMLHttpRequest();
    }
    
   }
   
   this.setURL= function(assignURL)
   {
        this.url=assignURL;
        this.xmlHttpvar.open("POST", this.url, true);
        this.xmlHttpvar.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

   }
   
   this.addParam= function(param, value)
   {
    this.params.push(param);
    this.values.push(value);
   }
   
   this.setResponse= function(response)
   {
    this.onreturn=response;
    
   }

	this.GetData = function()
	{
		if(this.xmlHttpvar.readyState == 4){
			return this.xmlHttpvar.responseText;
		}
		return null;
	}

   
   this.send= function()
   {
      var param='';
      var amp='';
      for(var i=0; i<this.params.length; i++)
      {
        param=param+amp+this.params[i]+'='+this.values[i];
        amp='&';
      }
      this.xmlHttpvar.setRequestHeader("Content-length", param.length);
      this.xmlHttpvar.onreadystatechange = this.onreturn;
      this.xmlHttpvar.send(param);
   }
   
  this.parsexml=function(xmlstring)
  {
    var browser=navigator.appName;
    if (browser=="Microsoft Internet Explorer")
    {

      var doc=new ActiveXObject("Microsoft.XMLDOM");
      doc.async="false";
      doc.loadXML(xmlstring);    
    }
    else
    {
    var parser=new DOMParser();
    var doc=parser.parseFromString(xmlstring,"text/xml");
    }
    var resultlist=new Array();
    var rows=doc.getElementsByTagName("row");
    var resultList=new Array();
    for(var i=0; i< rows.length; i++)
    {
      if(browser=="Microsoft Internet Exploreraaa")
      {
        var childi=0;
        var value=rows[i].childNodes[childi];
        var result=new Array();
          while(rows[i].childNodes[childi]!=null)
          {
            var data=rows[i].childNodes[childi].nodeValue;
            alert(rows[i].childNodes[childi]);
            result.push(data);
            childi=childi+1;
          }
          resultlist.push(result);
        
      }
      else
      {
      var value=rows[i].firstChild;
      if(value!=null)
      {
        var result=new Array();

        while(value.nextSibling!=null)
        {
          if(value.firstChild!=null)
          {
            var data=value.firstChild.nodeValue;
		        if(browser=="Microsoft Internet Explorer")
		        {
            data=data.replace(/>/g, '&gt');
            data=data.replace(/</g, '&lt');
            }
            result.push(data);
          }
          value=value.nextSibling;
        }     
        if(value.firstChild!=null)
        {
        var data=value.firstChild.nodeValue;
        		        if(browser=="Microsoft Internet Explorer")
		        {
        		            data=data.replace(/>/g, '&gt');
            data=data.replace(/</g, '&lt');
            }
        result.push(data);
        }
        resultlist.push(result);
      }
      }
    }
    return(resultlist);
  }
}


 
