//=================================================================================================
// Classes
//=================================================================================================
function JMyDataHandler(url, func, name_arr)
{
   this.xmlHtml = null;
   this.url = url;
   this.func = func;
   this.name_arr = name_arr;
   this.value_arr;

   this.getvalue = function( place )
   {
       return this.value_arr[place];
   }
   this.checkajaxsupport = function()
   {
      if( this.xmlHtml != null )
      {
         return true;
      }
      this.xmlHtml = this.GetXmlHttpObject();
      if (this.xmlHtml != null)
      {
         return true;
      }
      else
      {
          return false;
      }
   }
   this.getdataFunc = function( value_arr, style )
   {
      try
      {
         var _this = this;
         var url = _this.url;
         _this.value_arr = value_arr;
         if( value_arr.length > 0 )
         {
            url += "?" + _this.name_arr[0] + "=" + value_arr[0];
         }
         for( var i = 1; i < value_arr.length; i++ )
         {
            url += "&" + _this.name_arr[i] + "=" + value_arr[i];
         }
         var uni_nr = Math.random();
         if( value_arr.length > 0 )
         {
         	url += "&uni_nr="  + uni_nr;
         }
         else
         {
         	url += "?uni_nr="  + uni_nr;
         }
         _this.xmlHtml = _this.GetXmlHttpObject();
         if (_this.xmlHtml == null)
         {
            alert ("Browser ondersteunt geen HTTP Request");
            return;
         }
         _this.xmlHtml.onreadystatechange = function() { _this.ResponseFunc(style); };
         _this.xmlHtml.open("GET",url,true);
         _this.xmlHtml.send(null);
      }
      catch (e)
      {
         //alert ("Error: " + e.description);
      }
   }
   this.getdataFunc_post = function( value_arr )
   {
      try
      {
         var _this = this;
         var url = _this.url;
         _this.value_arr = value_arr;
         if( value_arr.length > 0 )
         {
            url = "" + _this.name_arr[0] + "=" + value_arr[0];
         }
         for( var i = 1; i < value_arr.length; i++ )
         {
            url += "&" + _this.name_arr[i] + "=" + value_arr[i];
         }
         var uni_nr = Math.random();
         if( value_arr.length > 0 )
         {
         	url += "&uni_nr="  + uni_nr;
         }
         else
         {
         	url += "uni_nr="  + uni_nr;
         }
         _this.xmlHtml = _this.GetXmlHttpObject();
         if (_this.xmlHtml == null)
         {
            alert ("Browser ondersteunt geen HTTP Request");
            return;
         }
         _this.xmlHtml.onreadystatechange = function() { _this.ResponseFunc(); };
         _this.xmlHtml.open("POST",_this.url,true);
         _this.xmlHtml.setRequestHeader( 'Content-Type','application/x-www-form-urlencoded; charset=UTF-8' );
         _this.xmlHtml.send( url );
      }
      catch (e)
      {
         alert ("Error: " + e.description);
      }
   }
   this.ResponseFunc = function(style)
   {
      try
      {
        switch(this.xmlHtml.readyState)
        {
          case 1:
			if (style == 1)
				var txt = "<div id=ul><img src=loading3.gif alt=Loading...></div>";
			if (style == 2)
				var txt = "<div id=ul><img src=loading2.gif alt=Loading...></div>";
			this.func(txt);
			break;
          case 4:
            if(this.xmlHtml.status == 200)
            {
				var txt = "" + this.xmlHtml.responseText;
				this.func(txt);
            }
            else
            {
              alert ("Error getting from php result...");
            }
            break;
        }


//         if (this.xmlHtml.readyState == 4 || this.xmlHtml.readyState == "complete")
//         {
//            var txt = "" + this.xmlHtml.responseText;
//            this.func(txt);
//         }
      }
      catch (e)
      {
         alert ("Error: " + e.description);
      }
   }
   this.GetXmlHttpObject = function()
   {
       var XMLHttp = null;
   //  active x internetexplorer ---------------------------------------------------------
      try
      {
           XMLHttp = new ActiveXObject('MSXML2.XMLHTTP.3.0');
      }
      catch (e)
      {
         try
         {
               XMLHttp = new ActiveXObject("Msxml2.XMLHTTP");
         }
         catch(e)
         {
            try
            {
               XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch(e)
            {
            }
         }
      }
   //  active x internetexplorer ---------------------------------------------------------

         if (XMLHttp == null)
         {
            XMLHttp = new XMLHttpRequest();
         }
         return XMLHttp;
   }
}