var xrequest = false;

ref=0;

// -------------------------------------------------------------

// handler

function vHandler()
{
   if(xrequest.readyState == 4)
   {
      if(xrequest.status == 200)
      {
         obj.innerHTML=xrequest.responseText;
         
         if(ref==1)
         {
            mboxrefresh();
            ref=0;
         }
      }
      else
      {
         obj.innerHTML="error";
      }
   }
//   if(xrequest.readyState == 1)
//   {
//      obj.innerHTML="\n\nloading...";
//   }
}

// -----------------------------------------------------------------------------


// -----------------------------------------------------------------------------
function request(url, data, _obj)
{
   // initializing

   obj=_obj;
   
   obj.innerHTML='\n\nloading...';

   // -----------------------------------------------------------

   if(window.XMLHttpRequest)
   { // mozilla
      xrequest = new XMLHttpRequest();
      if(xrequest.overrideMimeType)
      {
         xrequest.overrideMimeType('text/xml');
      }
   }
   else if(window.ActiveXObject)
   { // IE
      try
      {
         xrequest = new ActiveXObject("Msxml2.XMLHTTP");
      }
      catch(e)
      {
         try
         {
            xrequest = new ActiveXObject("Microsoft.XMLHTTP");
         }
         catch(e){}
      }
   }

// -----------------------------------------------------------------------------

   // last check

   if(!xrequest)
   {
      alert('XMLHTTP is not workin\'... =(\nMaybe your browser is too old or not configurated properly?');
      return false;
   }

   // ----------------------------------------------------------

   // sending

   xrequest.open('POST', url, true);
   xrequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
   xrequest.onreadystatechange = vHandler;
   xrequest.send(data);
   
   return true;
}

function mbox_showform(obj1,obj2,obj3)
{
   s=obj2.innerHTML;
   obj2.innerHTML='';

   obj1.style.height='100px';
   obj2.style.height='160px';

   obj2.innerHTML=obj3.innerHTML;
   obj3.innerHTML=s;
}

function mbox_hideform(obj1,obj2,obj3)
{
   s=obj2.innerHTML;
   obj2.innerHTML='';

   obj1.style.height='230px';
   obj2.style.height='30px';

   obj2.innerHTML=obj3.innerHTML;
   obj3.innerHTML=s;
}

function getmessages(obj1)
{
   request('mboxtext','hello',obj1);
}

function mbox_submitform(xms,xnm,obj1,obj2)
{
   s=obj2.innerHTML;

   ms=document.getElementById(xms); // for stupid opera and firefox
   nm=document.getElementById(xnm);
   
   if(ms.value.length>1 && nm.value.length>1 && ms.value!="Your message" && nm.value!="Your name")
   {
      mss=ms.value;
      nms=nm.value;
      
      obj1.style.height='230px';
      obj2.style.height='30px';
   
      ref=1;
   
      request('mboxwriter','m='+mss+'&n='+nms,obj2);
   }
}
