/*
* ajax.js : OpenSearch PHP Samples Ajax javascript ÆÄÀÏ
*
* ÀÌ ÆÄÀÏÀº ¾Æ¿ô¸µÅ©(http://www.outlink.co.kr) OpenSearch PHP SamplesÀÇ ÀÏºÎÀÔ´Ï´Ù.
* (c)2008 Geonjisoft, All Rights Reserved.
*
* º» OpenSearch SamplesÀº ¾Æ¿ô¸µÅ© ¼­ºñ½º¿¡ °¡ÀÔÇÏ½Å È¸¿ø»ç¿¡°Ô Á¦°øµÇ¸ç
* Samples¿¡ ´ëÇÑ ¹«´Ü ¹èÆ÷³ª Àç¹èÆ÷´Â Çã°¡µÇÁö ¾Ê½À´Ï´Ù.
*
* Contact Information :
* searchq@geonji.co.kr
* http://www.geonji.co.kr
*/

var outlink;

if (!outlink)
	outlink = {};
	
outlink.Ajax = function(ui)
{
	this.ui = ui;
}

outlink.Ajax.prototype.getXMLHttpRequest = function() 
{
	var xmlreq = false;

	if (window.XMLHttpRequest) 
	{
	    xmlreq = new XMLHttpRequest();
	} 
	else if (window.ActiveXObject) 
	{
	    try 
	    {
	    	xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e1) 
		{
	    	try 
    	  	{
      			xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (e2) 
	  		{
	        	// Unable to create an XMLHttpRequest with ActiveX
     		}
	    }
 	}

	return xmlreq;
}	

outlink.Ajax.prototype.sendQuery = function(action, params) 
{		
	var req = this.getXMLHttpRequest();
	var handlerFunction = this.getReadyStateHandler(req, this.ui.getAjaxHandler());

	req.onreadystatechange = handlerFunction;  
	req.open("POST", action, true);
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");			

  	req.send(params);

  	return true;
}

outlink.Ajax.prototype.getReadyStateHandler = function(req, responseXmlHandler) 
{
  return function () 
  {
  	if (req.readyState == 4) 
  	{
      if (req.status == 200) 
      {
        responseXmlHandler(req.responseXML);

	  }
	  /*else 
	  {
        alert("HTTP error: " + req.status);
      }*/
    }
  }
}