/*
url-loading object and a request queue built on top of it
*/

/* namespacing object */
var net=new Object();

net.READY_STATE_UNINITIALIZED=0;
net.READY_STATE_LOADING=1;
net.READY_STATE_LOADED=2;
net.READY_STATE_INTERACTIVE=3;
net.READY_STATE_COMPLETE=4;


/*--- content loader object for cross-browser requests ---*/
net.ContentLoader=function(url,onload,onerror,method,params,contentType)
{
  this.req=null;
  net.currentLoader=this;
  this.onload=onload;
  this.onerror=(onerror) ? onerror : this.defaultError;
  this.loadXMLDoc(url,method,params,contentType);
}

net.ContentLoader.prototype.loadXMLDoc=function(url,method,params,contentType)
{
  if (!method)
  {
    method="GET";
  }

  if (!contentType && method=="POST")
  {
    contentType='application/x-www-form-urlencoded';
  }

  if (window.XMLHttpRequest)
  {
    this.req=new XMLHttpRequest();
  } 
  else if (window.ActiveXObject)
  {
    this.req=new ActiveXObject("Microsoft.XMLHTTP");
  }

  if (this.req)
  {
    try
    {
      var loader=this;
      this.req.onreadystatechange=function()
      {
        net.ContentLoader.onReadyState.call(loader);
      }
      this.req.open(method,url,true);
      if (contentType)
      {
        this.req.setRequestHeader('Content-Type', contentType);
      }
      this.req.send(params);
    }
    catch (err)
    {
      this.onerror.call(this);
    }
  }
}

net.ContentLoader.onReadyState=function()
{
  var req=this.req;
  var ready=req.readyState;
  try
  {
    var httpStatus=req.status;
    if (ready==net.READY_STATE_COMPLETE)
    {
      if (httpStatus==200 || httpStatus==0)
      {
        this.onload.call(this);
      }
      else
      {
        this.onerror.call(this);
      }
    }
  }
  catch(e)
  {}
}

net.ContentLoader.prototype.defaultError=function()
{
   alert("net.ContentLoader: error fetching data!"
    +"\n\nreadyState:"+this.req.readyState
    +"\nstatus: "+this.req.status
    +"\nheaders: "+this.req.getAllResponseHeaders());
}



//*******************************************************************************************************************
function emailpage(product) {
    /////////////////////////
    //start get ip address = server_ip
    function getXMLHttpObj_Foot() {
        if (typeof (XMLHttpRequest) != 'undefined')
            return new XMLHttpRequest();

        var axO = ['Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.4.0', 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP'], i;

        for (i = 0; i < axO.length; i++)
            try {
            return new ActiveXObject(axO[i]);
        }
        catch (e) { }

        return null;
    }

    function loadScript_Foot() {
        var oXML = getXMLHttpObj_Foot();
        oXML.open('GET', '/includes/ServerIP2.stm', false);
        oXML.send('');
        eval(oXML.responseText);
    }

    var server_ip = '';
    loadScript_Foot();
    //end get ip address = server_ip
    //var product = document.getElementById("hdnProduct").value;
    //    alert(server_ip)
    //alert(product)
    if (server_ip.substring(0, 7) == "172.21.") {
        //is an internal user
        var sHost = location.host;
        var sPath = "";
        if (sHost.substring(0, 4).toLowerCase() == "dev3") {
            sHost = "idev.crlaurence.com";
        }
        else {
            sHost = "intranet.crlaurence.com";
        }

        var url = "http://" + sHost + "/apps/emailproductpage/default.aspx?prod=" + product;
        helpWindow = window.open(url, 'p', '');
        //window.parent.location = "http://" + sHost + "/apps/emailproductpage/default.aspx?prod=" + product;  //?directory=" + dir + "&pageNum=" + pageNum;
    }
    else {
        //is an external user - opens their email app
        var strLoc2 = "?prod=" + product;
        var LOC = location.host;
        LOC += location.pathname;
        var LOC2 = escape("http://" + LOC + strLoc2);
        mail_str = "mailto:?subject=Check out this " + document.title;
        mail_str += "&body=I thought you might be interested in this " + document.title + ".";
        mail_str += "%0D%0A%0D%0A";
        mail_str += "You can view by going to the link below. ";
        mail_str += "%0D%0A%0D%0A";
        mail_str += LOC2;
        location.href = mail_str;
    }
}