/*
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,onerror,method,params,contentType){
  this.req=null;
  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;
  if (ready==net.READY_STATE_COMPLETE){
    var httpStatus=req.status;
    if (httpStatus==200 || httpStatus==0){
      // things worked rejoice
    }else{
      this.onerror.call(this);
    }
  }
}

net.ContentLoader.prototype.defaultError=function(){
  alert("error fetching data!"
    +"\n\nreadyState:"+this.req.readyState
    +"\nstatus: "+this.req.status
    +"\nheaders: "+this.req.getAllResponseHeaders());
}


function Browser() {
	
  var ua, s, i;

  this.isIE    = false;
  this.isNS    = false;
  this.version = null;

  ua = navigator.userAgent;

  s = "MSIE";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isIE = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  s = "Netscape6/";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  // Treat any other "Gecko" browser as NS 6.1.

  s = "Gecko";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = 6.1;
    return;
  }
}

var browser = new Browser();


     function SaveClickXY(e){                           
        
       // Check to make sure page isn't being called by report viewer
       if(location.href.indexOf('ThermCLX.aspx') >= 1 ) 
       return;
       
       // Check to make sure page isn't being called by report viewer
       if(location.href.indexOf('/projects') >= 1 ) 
       return;
        
        var wWidth, wHeight;

       	wWidth = document.body.clientWidth;
        
        if(browser.isIE) {
            wWidth = document.body.offsetWidth;
            wHeight = document.body.clientHeight;
        }
        else
        {
            wWidth = window.innerWidth;
            wHeight = window.innerHeight;
        }
   
               
      if( !e ) { e = window.event; } if( !e || ( typeof( e.pageX ) != 'number' && typeof( e.clientX ) != 'number' ) ) { return [ 0, 0 ]; }
       if( typeof( e.pageX ) == 'number' ) { var posX = e.pageX; var posY = e.pageY; } else {
          var posX = e.clientX; var posY = e.clientY;
          if( !( ( window.navigator.userAgent.indexOf( 'Opera' ) + 1 ) || ( window.ScriptEngine && ScriptEngine().indexOf( 'InScript' ) + 1 ) || window.navigator.vendor == 'KDE' ) ) {
             if( document.documentElement && ( document.documentElement.scrollTop || document.documentElement.scrollLeft ) ) {
                posX += document.documentElement.scrollLeft; posY += document.documentElement.scrollTop;
             } else if( document.body && ( document.body.scrollTop || document.body.scrollLeft ) ) {
                posX += document.body.scrollLeft; posY += document.body.scrollTop;
             }
          }
      }
       
       
           
       var scrollBar = "0";
       
        if (posX > (wWidth + document.body.scrollLeft - 19))
        {
        //return(false);
        scrollBar = "1";
        }
        
        var offsetvalue;
        
         if(browser.isIE) {
            offsetvalue = (wHeight + document.body.scrollTop);
         }
         else
         {
            offsetvalue = (wHeight + document.body.scrollTop - 17);
         }
        
        if (posY > offsetvalue)
        {
        //return(false);
        scrollBar = "1";
        }
        
        // not saving scroll bar clicks
        if (scrollBar == "1")
        return;
        
        
     // Only need this if site is centered        
              if (((998-wWidth) != 0) && wWidth > 735) 
                {
               posX += parseInt((998-wWidth) / 2);
               }
              if (wWidth <= 735)
               {
                posX += 121  
               }
           
     // End of centered code
        
        var targ;
	    if (!e) var e = window.event;
	    if (e.target) targ = e.target;
	    else if (e.srcElement) targ = e.srcElement;
	    if (targ.nodeType == 3) // defeat Safari bug
		    targ = targ.parentNode;
       
          
        var targetID;
        
        if (targ) {
            targetID = targ.id;
        }
        else 
        {
            targetID = "";
        }
        
        
        
         if ((browser.isIE && (e.button == 1)) || (browser.isNS && (e.button == 0)))
             {
               var url = 'saveClickXY.aspx';                               
               var strParams = 'x=' + posX + "&y=" + posY + "&URL=" + location.href + "&Target=" + targetID;                                        
               var loader1 = new net.ContentLoader(url,null,"POST",strParams);
             }
                  
       }
      






