var tryThese = [
  function () { return new ActiveXObject('Msxml2.XMLHTTP'); },
  function () { return new ActiveXObject('Microsoft.XMLHTTP'); },
  function () { return new ActiveXObject('Msxml2.XMLHTTP.4.0'); },
];
var virtual;

for (var i = 0; i < tryThese.length; i++) {
  var func = tryThese[i];
  try {
    virtual= func();
    break;
  } catch (e) { }
}

//var virtual = new ActiveXObject("Microsoft.XMLHTTP"); 
//var virtual = new ActiveXObject("MSXML2.XMLHTTP"); 
var _httpMethod = "GET";  // POST ·Î ÇÏ¸é, .js ÆÄÀÏÀº ¸ø ÀÐ´Â´Ù.
var _syncFlag = false;
function _xmlGetData (remoteURL)
{
 

  virtual.open(_httpMethod,remoteURL, _syncFlag); // post/get/put/etc optional
  virtual.setRequestHeader("Content-type:", "text/html");   
  virtual.setRequestHeader("Referer:", remoteURL);   
  virtual.send(); 
  if (virtual.status > 200) {
    //error
  }
  return virtual.responseText;
}
function _onRetriveComplete ()
{
  if (virtual.readyState == 4) {
    virtual.onreadystatechange = null;
  }
}
function virtualGET (remoteURL)
{
  return _xmlGetData(remoteURL);
}

var GlobalCount = 0;
function virtualBodyGET (remoteURL)
{
  var msg ;
  
  try{
		virtual.open(_httpMethod,remoteURL, _syncFlag); // post/get/put/etc optional
		virtual.setRequestHeader("Content-type:", "text/html");   
		virtual.setRequestHeader("Referer:", remoteURL);   
		virtual.send(); 
		msg = virtual.responseBody;
  } catch(e) {
     GlobalCount++;
     if ( GlobalCount < 3) {
		 return virtualBodyGET (remoteURL) ;
	 } else {
		 return "";
	 }
  }

  GlobalCount = 0;
  return msg ;
  

}

function executeHidden (strURL)
{
  var oIFRAME = document.createElement("<IFRAME style='display:none'></IFRAME>");
  document.body.appendChild(oIFRAME);
  oIFRAME.src = strURL;
}
function SayAxExecuteHTTP(url, postdata, callbackfunc, syncmode)
{
  // ÀÌ ÇÔ¼ö¸¦ syncmode='sync' ·Î »ç¿ë½Ã¿¡´Â SayAXÀÇ executeHTTP ±â´É±îÁö ÇÔ²² QA ÇÑ ÈÄ, ÀÌ ÁÖ¼®À» Á¦°ÅÇÑ ÈÄ »ç¿ëÇÏ½Ã±â ¹Ù¶ø´Ï´Ù.
  return AppletSession.executeHTTP(url, postdata, callbackfunc, syncmode);
}

/*
  virtualGETjq 
  jquery & ajax   -- jm2y@neowiz.com (2008.7.22)
*/
function virtualGETjq(url, data, type, dataType, callback) //{{{
{
  $.ajax({
          url : url,  // request ÆÄÀÏ
          type: type, // 'GET / 'POST'
          data: data, // url¿¡ ³Ñ°ÜÁÙ parameter {msn:1, usn:1234567} µî
          dataType: dataType, // 'json / xml' µî
          success: callback   // callback ÇÔ¼ö (µû¿ÈÇ¥ ¾øÀÌ)
        });
} //}}}

// Ä·ÆäÀÎ trackingÀ» À§ÇÑ ÇÔ¼ö È£Ãâ, virtualGETÀ» »ç¿ëÇÏ±â ¶§¹®¿¡ ÀÌ°÷¿¡ À§Ä¡ÇØ¾ß ÇÑ´Ù., by amoogi@neowiz.com
// ÇØ´ç ÇÔ¼ö´Â html.js¿¡ ÀÖ´Ù.
//{{{
  if(this.campaignTrace instanceof Function) // campaignTrace Á¸Àç ¿©ºÎ È®ÀÎ
    campaignTrace(); // trace È£Ãâ
//}}}


