﻿// JScript File

/* Common values for the ReadyState of the XMLHttpRequest object */
var READYSTATE_UNINITIALIZED = 0;
var READYSTATE_LOADING = 1;
var READYSTATE_LOADED = 2;
var READYSTATE_INTERACTIVE = 3;
var READYSTATE_COMPLETE = 4;
var HTTPSTATUS_OK = 200;

var xmlHttpObj;
var fReplaceJs;

function CreateXmlHttpRequestObject2 () {

    alert("CreateXmlXttpRequestObject 1");  
    
    var xmlHttpObj;
    if (window.XMLHttpRequest){
      xmlHttpObj = new XMLHttpRequest();
    }
    else {  
        try {
            xmlHttpObj = new ActiveXObject("Microsoft.XMLHTTP");
        } 
        catch (e){
            xmlHttpObj = new ActiveXObject("Msxml2.XMLHTTP");
        }
    }
    
   
   if (xmlHttpObj == null) alert("CreateXmlXttpRequestObject fail");     
   return xmlHttpObj;
}

function CreateXmlHttpRequestObject () {

    //alert("CreateXmlHttpRequestObject 1");  
    
    var xmlHttpObj;
    if (window.ActiveXObject){
        try {
            xmlHttpObj = new ActiveXObject("Microsoft.XMLHTTP");
        } 
        catch (e){
            xmlHttpObj = new ActiveXObject("Msxml2.XMLHTTP");
        }
    }
    else {
        xmlHttpObj = new XMLHttpRequest();
    }    
   
   if (xmlHttpObj == null) alert("CreateXmlHttpRequestObject fail");     
   return xmlHttpObj;
}

function AddTopicTextAssinc(TopicID,divNode,TopicTitle,fToReplaceJs){

    var xmlHttpObj;
    xmlHttpObj = CreateXmlHttpRequestObject();
    if (xmlHttpObj == null) return null;
    
    var uid = rGetCookie("UID");
    if (uid == null) {uid=-1;}
    var guid = rGetCookie("GUID");
    
    //alert ("AddTopicTextAssinc");
    
    var xurl = "/ClickThrough/GetTopicHtml.ashx?TopicID=" + TopicID + 
     "&uid=" + uid + "&guid=" + guid + "&tt=" + TopicTitle;
    
    xmlHttpObj.open("GET",xurl, true);
    
        
    xmlHttpObj.onreadystatechange = function(){
       if ( xmlHttpObj.readyState == READYSTATE_COMPLETE ){
           //alert(xmlHttpObj.responseText);
           if ( xmlHttpObj.status == 200 ){
              var res = xmlHttpObj.responseText;
              
    
              if (fToReplaceJs == '1'){
                
                // remove first line
                var pos = res.indexOf('\n');
                if (pos > 0){res = res.substring(pos);}
                
                res = res.replace(/:DisplayTopic/g, ":PopTopicID");
              }
               divNode.innerHTML = res;
           }
           else {
              divNode.innerHTML = "<center>... Could not open topic " + TopicID + "...</center>";
           }
               
       }
    }
    xmlHttpObj.send(null);
    
}

function AddTopicNodeAjaxAsinc2(TopicID,TopicTitle,divTopic){

 
    if (xmlHttpObj == null){xmlHttpObj = CreateXmlHttpRequestObject();}
    
     
    if (xmlHttpObj == null) return null;
    
    var uid = rGetCookie("UID");
    if (uid == null) {uid=-1;}
    var guid = rGetCookie("GUID");
    
    //alert ("AddTopicTextAssinc");
    
    var xurl = "/ClickThrough/GetTopicHtml.ashx?TopicID=" + TopicID + 
     "&uid=" + uid + "&guid=" + guid + "&tt=" + TopicTitle;
    
    
    //if (divParentNode.childNodes.length == 1){divParentNode.innerHTML = '';}    
    
    //var divTopic = document.createElement('DIV');
    //divParentNode.appendChild(divTopic);
    //divTopic.className='HelpTopicShow';
    //divTopic.id='topicid_' + TopicID;
    divTopic.innerHTML = "<h2>Please wait: <img src=\"/images/ajax-loader.gif\" title=\"Loading...\"/></h2>"; // please wait          
    
    xmlHttpObj.open("GET",xurl, true);
    
    //==============
    xmlHttpObj.onreadystatechange = function(){
       if ( xmlHttpObj.readyState == READYSTATE_COMPLETE ){
    //       alert(xmlHttpObj.responseText);
           if ( xmlHttpObj.status == 200 ){
              divTopic.innerHTML  = xmlHttpObj.responseText; 
           }
           else {
              divTopic.innerHTML = "<center>... Could not load LibID " + TopicID + " ...</center>";
           }
       }
    }
    xmlHttpObj.send(null);
    //divTopic.style.display= 'none';
    
    return true;
}



function AddBeHelpTreeNodesAssinc(TreeType,divNode){

    var xmlHttpObj;
    xmlHttpObj = CreateXmlHttpRequestObject();
    if (xmlHttpObj == null) return null;
    
    //alert ("AddTopicTextAssinc");
    
    var uid = rGetCookie("UID");
    if (uid == null) {uid=-1;}
    var guid = rGetCookie("GUID");


    var xurl = "/ClickThrough/GetTopicHtml.ashx?TopicID=" + TreeType + 
        "&HelpVer=" + BeHelpVersion;
          
    //xurl = xurl + "&uid=" + uid + "&guid=" + guid;
                      
    //var xurl = "/ClickThrough/GetCategoryOrLibHtml.ashx?TopicID=" + TreeType +
    //"&uid=" + uid + "&guid=" + guid;
    
    xmlHttpObj.open("GET",xurl, true);
    
        
    xmlHttpObj.onreadystatechange = function(){
       if ( xmlHttpObj.readyState == READYSTATE_COMPLETE ){
           //alert(xmlHttpObj.responseText);
           if ( xmlHttpObj.status == 200 ){
              var res = xmlHttpObj.responseText;
              
               divNode.innerHTML = res;
               return true;
           }
           else {
              divNode.innerHTML = "<center>... Could not load nodes ...</center>";
              return false;
           }
       }
    }
    xmlHttpObj.send(null);
}

function AddLibOrCatTreeNodesAssinc(TreeType,divNode){

    var xmlHttpObj;
    xmlHttpObj = CreateXmlHttpRequestObject();
    if (xmlHttpObj == null) return null;
    
    
    //alert ("AddTopicTextAssinc");
    
    var uid = rGetCookie("UID");
    if (uid == null) {uid=-1;}
    var guid = rGetCookie("GUID");
                  
    var xurl = "/ClickThrough/GetCategoryOrLibHtml.ashx?CatID=" + TreeType +
    "&uid=" + uid + "&guid=" + guid;
    
    xmlHttpObj.open("GET",xurl, true);
    
        
    xmlHttpObj.onreadystatechange = function(){
       if ( xmlHttpObj.readyState == READYSTATE_COMPLETE ){
           //alert(xmlHttpObj.responseText);
           if ( xmlHttpObj.status == 200 ){
              var res = xmlHttpObj.responseText;
              
               divNode.innerHTML = res;
               return true;
           }
           else {
              divNode.innerHTML = "<center>... Could not load nodes ...</center>";
              return false;
           }
       }
    }
    xmlHttpObj.send(null);
}

function AddCategoryNodeAjaxAsinc(CatID,divParentNode){

 
    if (xmlHttpObj == null){xmlHttpObj = CreateXmlHttpRequestObject();}
    
     
    if (xmlHttpObj == null) return null;
    
    var uid = rGetCookie("UID");
    if (uid == null) {uid=-1;}
    var guid = rGetCookie("GUID");
    
        
    var xurl = "/ClickThrough/GetCategoryOrLibHtml.ashx?CatID=" + CatID +
    "&uid=" + uid + "&guid=" + guid;
    
    //if (divParentNode.childNodes.length == 1){divParentNode.innerHTML = '';}    
    
    var divCat = document.createElement('DIV');
    divParentNode.appendChild(divCat);
    divCat.className='HelpTopicShow';
    divCat.id='catid_' + CatID;
    divCat.innerHTML = "<h2>Please wait: <img src=\"/images/ajax-loader.gif\" title=\"Loading...\"/></h2>"; // please wait          
    
    xmlHttpObj.open("GET",xurl, true);
    
    //==============
    xmlHttpObj.onreadystatechange = function(){
       if ( xmlHttpObj.readyState == READYSTATE_COMPLETE ){
           //alert(xmlHttpObj.responseText);
           if ( xmlHttpObj.status == 200 ){
              divCat.innerHTML  = xmlHttpObj.responseText; 
           }
           else {
              divCat.innerHTML = "<center>... Could not load CatID " + CatID + " ...</center>";
           }
       }
    }
    xmlHttpObj.send(null);
    
    return true;
}

function AddCategoryNodeAjaxSinc(CatID,divParentNode){

   // alert('stop');
    if (xmlHttpObj == null){xmlHttpObj = CreateXmlHttpRequestObject();}
    
    if (xmlHttpObj == null) return null;
    
    var uid = rGetCookie("UID");
    if (uid == null) {uid=-1;}
    var guid = rGetCookie("GUID");
                  
    var xurl = "/ClickThrough/GetCategoryOrLibHtml.ashx?CatID=" + CatID +
    "&uid=" + uid + "&guid=" + guid;
        
    xmlHttpObj.open("GET",xurl, false);
    
    //if (divParentNode.childNodes.length == 1){divParentNode.innerHTML = '';}    
        
    xmlHttpObj.send(null);
        
    if ( xmlHttpObj.status == 200 ){
              
              var divCat = document.createElement('DIV');
              divParentNode.appendChild(divCat);
                            
              divCat.className='HelpTopicShow';
              divCat.id='catid_' + CatID;
              divCat.innerHTML  = xmlHttpObj.responseText; 
              return true;
    }
    
    else {
        
        alert ("AddCategoryNodeAjaxSinc status: " + xmlHttpObj.status);
        return false;
    } 
}

function AddLibraryNodeAjaxAsinc(LibID,divParentNode){

 
    if (xmlHttpObj == null){xmlHttpObj = CreateXmlHttpRequestObject();}
    
     
    if (xmlHttpObj == null) return null;
    
    var uid = rGetCookie("UID");
    if (uid == null) {uid=-1;}
    var guid = rGetCookie("GUID");
    
        
    var xurl = "/ClickThrough/GetCategoryOrLibHtml.ashx?LibID=" + LibID +
    "&uid=" + uid + "&guid=" + guid;
    
    
    //if (divParentNode.childNodes.length == 1){divParentNode.innerHTML = '';}    
    
    var divLib = document.createElement('DIV');
    divParentNode.appendChild(divLib);
    divLib.className='HelpTopicShow';
    divLib.id='libid_' + LibID;
    divLib.innerHTML = "<h2>Please wait: <img src=\"/images/ajax-loader.gif\" title=\"Loading...\"/></h2>"; // please wait          
    
    xmlHttpObj.open("GET",xurl, true);
    
    //==============
    xmlHttpObj.onreadystatechange = function(){
       if ( xmlHttpObj.readyState == READYSTATE_COMPLETE ){
    //       alert(xmlHttpObj.responseText);
           if ( xmlHttpObj.status == 200 ){
              divLib.innerHTML  = xmlHttpObj.responseText; 
           }
           else {
              divLib.innerHTML = "<center>... Could not load LibID " + LibID + " ...</center>";
           }
       }
    }
    xmlHttpObj.send(null);
    
    return true;
}

 
 function AddProductToBasketSinc(ProductID,quant,termid){
 
    //alert('AddProductToBasketSinc start');
 
    if (xmlHttpObj == null){xmlHttpObj = CreateXmlHttpRequestObject();}
    
    if (xmlHttpObj == null) return null;
    
                  
    var xurl = "/ClickThrough/AddProductToBasket.ashx?ProductID=" + ProductID +
    "&quant=" + quant + "&termid=" + termid; 

   // alert('xurl: ' + xurl);
        
    xmlHttpObj.open("GET",xurl, false);
        
    xmlHttpObj.send(null);

    if ( xmlHttpObj.status == 200 ){
           return true;
    }
    else {
          alert ("AddProductToBasketSinc status: " + xmlHttpObj.status);
          return false;
    } 
}

function AddLibraryNodeAjaxSinc(LibID,divParentNode){
 
  //  alert('AddLibraryNodeAjaxSinc start');
 
    if (xmlHttpObj == null){xmlHttpObj = CreateXmlHttpRequestObject();}
    
    if (xmlHttpObj == null) return null;
    
    var uid = rGetCookie("UID");
    if (uid == null) {uid=-1;}
    var guid = rGetCookie("GUID");
                  
    var xurl = "/ClickThrough/GetCategoryOrLibHtml.ashx?LibID=" + LibID +
    "&uid=" + uid + "&guid=" + guid;
    
    
    //if (divParentNode.childNodes.length == 1){divParentNode.innerHTML = '';}    
        
    xmlHttpObj.open("GET",xurl, false);
        
      //  alert ("AddLibraryNodeAjaxSinc connecting to xurl: " + xurl);

    xmlHttpObj.send(null);

    if ( xmlHttpObj.status == 200 ){
              
              var divLib = document.createElement('DIV');
              divParentNode.appendChild(divLib);
                            
              divLib.className='HelpTopicShow';
              divLib.id='libid_' + LibID;
              divLib.innerHTML  = xmlHttpObj.responseText; 

           //   alert ("divLib.innerHTML: " + divLib.innerHTML);
              return true;
    }
    else {
        
           alert ("AddLibraryNodeAjaxSinc status: " + xmlHttpObj.status);
           return false;
    } 
    
}


function AddNewsSelectOptionsNodeAjaxSinc(selectNode){
 
 
    if (xmlHttpObj == null){xmlHttpObj = CreateXmlHttpRequestObject();}
    
    if (xmlHttpObj == null) return null;
    
                  
    var xurl = "/ClickThrough/GetNewsOptions.ashx";
        
    xmlHttpObj.open("GET",xurl, false);
        
      //  alert ("AddLibraryNodeAjaxSinc connecting to xurl: " + xurl);

    xmlHttpObj.send(null);

    if ( xmlHttpObj.status == 200 ){
              
              selectNode.innerHTML  = xmlHttpObj.responseText; 

              return true;
    }
    else {
           alert ("AddNewsSelectOptionsNodeAjaxSinc status: " + xmlHttpObj.status);
           return false;
    } 
}


function AddNewsNodeAjaxSinc(HelpVerValue,HelpVerText,divParentNode){

    //alert("AddNewsNodeAjaxSinc HelpVerValue" + HelpVerValue);  
 
    if (xmlHttpObj == null){xmlHttpObj = CreateXmlHttpRequestObject();}
    
     
    if (xmlHttpObj == null) return null;
    
    var uid = rGetCookie("UID");
    if (uid == null) {uid=-1;}
    var guid = rGetCookie("GUID");
    
    var xurl = "/ClickThrough/GetTopicHtml.ashx?TopicName=news&HelpVer=" + 
    HelpVerValue + "&uid=" + uid + "&guid=" + guid;
    
   // alert("AddNewsNodeAjaxSinc xurl" + xurl);  
        
    xmlHttpObj.open("GET",xurl, false);
        
        
    xmlHttpObj.send(null);
    
    //if (divParentNode.childNodes.length == 1){divParentNode.innerHTML = '';}    
        
    if ( xmlHttpObj.status == 200 ){
              
    //          alert("AddTopicNodeAjaxSinc responseText: " + xmlHttpObj.responseText);  
              
              var divPleaseWait = document.getElementById("PleaseWait");
              if (divPleaseWait != null){
                 // alert ("Removing please wait ...");
                 divParentNode.removeChild(divPleaseWait);
              }
              
              var divTopic = document.createElement('DIV');
              divParentNode.appendChild(divTopic);
                            
              divTopic.className='HelpTopicShow';
              divTopic.id='verid_' + HelpVerValue;
              
              var innerHTML = "<div class='RightTitle2'>Version " + HelpVerText + "</div><div class='RightContent'" + xmlHttpObj.responseText + "</div>";
              divTopic.innerHTML  = innerHTML
              
              return true;
   }
   else {
        
        alert ("AddNewsNodeAjaxSinc status: " + xmlHttpObj.status);
       // alert ("xurl: " + xurl);
        return false;
   } 
    
}

function AddTopicNodeAjaxAsinc(TopicID,HelpVer,divParentNode,TopicTitle){

 
    if (xmlHttpObj == null){xmlHttpObj = CreateXmlHttpRequestObject();}
    
     
    if (xmlHttpObj == null) return null;
    
    var uid = rGetCookie("UID");
    if (uid == null) {uid=-1;}
    var guid = rGetCookie("GUID");
    
        
    var xurl;
    if (HelpVer == '24.74')
        xurl = "/bchelp/GetTopicHtml.ashx?TopicID=" + TopicID + "&HelpVer=" + HelpVer;
    else                  
        xurl = "/ClickThrough/GetTopicHtml.ashx?TopicID=" + TopicID + 
        "&HelpVer=" + HelpVer + "&tt=" + TopicTitle;
          
    xurl = xurl + "&uid=" + uid + "&guid=" + guid;
    
    
    var divTopic = document.createElement('DIV');
    
   // alert("divParentNode.childNodes.length: " + divParentNode.childNodes.length);
    
    //if (divParentNode.childNodes.length == 1){divParentNode.innerHTML = '';}    
    
    divParentNode.appendChild(divTopic);
    divTopic.className='HelpTopicShow';
    divTopic.id='topicid_' + TopicID;
    divTopic.innerHTML = "<h2>Please wait: <img src=\"/images/ajax-loader.gif\" title=\"Loading...\"/></h2>"; // please wait          
    
    xmlHttpObj.open("GET",xurl, true);
    
    //==============
    xmlHttpObj.onreadystatechange = function(){
       if ( xmlHttpObj.readyState == READYSTATE_COMPLETE ){
           //alert(xmlHttpObj.responseText);
           if ( xmlHttpObj.status == 200 ){
              divTopic.innerHTML  = xmlHttpObj.responseText; 
           }
           else {
              divNode.innerHTML = "<center>... Could not load topicID " + TopicID + " ...</center>";
           }
       }
    }
    xmlHttpObj.send(null);
    
    return true;
}

function AddTopicNodeAjaxSinc(TopicID,HelpVer,divParentNode,TopicTitle){

 
    if (xmlHttpObj == null){xmlHttpObj = CreateXmlHttpRequestObject();}
    
     
    if (xmlHttpObj == null) return null;
    
    var uid = rGetCookie("UID");
    if (uid == null) {uid=-1;}
    var guid = rGetCookie("GUID");
    
        
    var xurl;
    if (HelpVer == '24.74')
        xurl = "/bchelp/GetTopicHtml.ashx?TopicID=" + TopicID + "&HelpVer=" + HelpVer;
    else                  
        xurl = "/ClickThrough/GetTopicHtml.ashx?TopicID=" + TopicID + 
        "&HelpVer=" + HelpVer + "&tt=" + TopicTitle;
          
    xurl = xurl + "&uid=" + uid + "&guid=" + guid;
    
    //if (divParentNode.childNodes.length == 1){divParentNode.innerHTML = '';}    
            
    xmlHttpObj.open("GET",xurl, false);
        
        
    xmlHttpObj.send(null);
        
        
    if ( xmlHttpObj.status == 200 ){
              
           //   alert("AddTopicNodeAjaxSinc responseText: " + xmlHttpObj.responseText);  
              
              var divTopic = document.createElement('DIV');
              divParentNode.appendChild(divTopic);
                            
              divTopic.className='HelpTopicShow';
              divTopic.id='topicid_' + TopicID;
              divTopic.innerHTML  = xmlHttpObj.responseText; 
              
              return true;
   }
   else {
        
        alert ("AddTopicNodeAjaxSinc status: " + xmlHttpObj.status);
        alert("xurl: " + xurl);
        return false;
   } 
    
}



function DownloadProductIDAjaxSinc(ProductID,UID,UseZip){

   // alert("RegisterActivityAjaxSinc start");  
    // UID parameter is not used - for backward compatibility only
 
    if (xmlHttpObj == null){xmlHttpObj = CreateXmlHttpRequestObject();}
    
     
    if (xmlHttpObj == null) return null;
        
    
    var uid = rGetCookie("UID");
    if (uid == null) {uid=-1;}
    var guid = rGetCookie("GUID");
    
   // xmlHttpObj.setRequestHeader("Content-Length", 0);

    if (UseZip == null) UseZip = 0; // use exe    
    var xurl = "/ClickThrough/RegisterProductDownload.ashx?ProductID=" + 
    ProductID + "&UseZip=" + UseZip + "&uid=" + uid + "&guid=" + guid;
    
    //alert( "xurl='" + xurl + "'");
            
    xmlHttpObj.open("GET",xurl, false);
        
        
    xmlHttpObj.send(null);
        
        
    if ( xmlHttpObj.status == 200){
                            
        var ProdUrl = xmlHttpObj.responseText; 
        
                       
        if (ProdUrl.substring(0,1) == "/")
          window.location = ProdUrl;
        else
         {  
          if (rfIsMSIE()) 
            alert("You browser will be redirected to file hosting page.\n If you see blank page - right mouse click and select <Refresh>");
          else
            alert("You browser will be redirected to file hosting page.\n If you see blank page - right mouse click and select <Reload>");
            
          rPopUpAWindowWithHeight( "", "", ProdUrl, 650,500);   
         } 
          
    }
    else {
        alert ("DownloadProductIDAjaxSinc status: " + xmlHttpObj.status);
   } 
}

function DownloadProductIdVerAjaxSinc(ProductID,UID,xVer){

   // alert("DownloadProductIdVerAjaxSinc start");  
    // UID is left for compatibility only
 
    if (xmlHttpObj == null){xmlHttpObj = CreateXmlHttpRequestObject();}
     
    if (xmlHttpObj == null) return null;
    
    var uid = rGetCookie("UID");
    if (uid == null) {uid=-1;}
    var guid = rGetCookie("GUID");
    
    if (xVer == null) xVer="";
        
    var xurl = "/ClickThrough/RegisterProductDownload.ashx?ProductID=" 
     + ProductID + "&uid=" + uid + "&ver=" + xVer + "&guid=" + guid;
        
    xmlHttpObj.open("GET",xurl, false);
    
    xmlHttpObj.send(null);
        
        
    if ( xmlHttpObj.status == 200 ){
                            
        var ProdUrl = xmlHttpObj.responseText; 
       
        
        if (ProdUrl.substring(0,1) == "/")
          window.location = ProdUrl;
        else  
         {
          if (rfIsMSIE()) 
            alert("You browser will be redirected to file hosting page.\n If you see blank page - right mouse click and select <Refresh>");
          else
            alert("You browser will be redirected to file hosting page.\n If you see blank page - right mouse click and select <Reload>");
          
          rPopUpAWindowWithHeight( "", "", ProdUrl, 650,500);   
         } 
          
    }
    else {
        alert ("DownloadProductIdVerAjaxSinc status: " + xmlHttpObj.status);
    } 
}



function TraceUserActivityAjaxSinc(){
   
   var href = window.location.href.replace("http://localhost",'');
   
   var endpos = href.indexOf(".com",0);
   if (endpos > 0 ){href = href.substr(endpos + 4);}
   
   endpos = href.indexOf("?",0);
   if (endpos > 0) {href = href.substr(0,endpos);}
         
   var uid = rGetCookie("UID");
   // get GUID from the cookie
   if (uid == null) {uid=-1;}
   
   var guid = rGetCookie("GUID");
   
   var promocode = rGetUrlParameter("promocode");
   var refid = rGetUrlParameter("RefID");
   
   if (guid == null){
   
     guid = uuid()
     alert("new GUID=" + guid);
     rSetCookie('GUID',guid,365,'/','','');
   }
   
   if (xmlHttpObj == null){xmlHttpObj = CreateXmlHttpRequestObject();}
    
     
   if (xmlHttpObj == null) return null;
     
        
    var xurl = "/ClickThrough/TraceUserActivity.ashx?uid=" + uid + 
      "&guid=" + guid + "&href=" + href + "&promocode=" + promocode + "&refid=" + refid;
    
//    alert("xurl=" + xurl);
        
    xmlHttpObj.open("GET",xurl, false);
        
    xmlHttpObj.send(null);
    
        
    if ( xmlHttpObj.status == 200 ){
        
        //alert ("TraceUserActivityAjaxSinc status: " + xmlHttpObj.status);
        var sUID = xmlHttpObj.responseText; 
       
        if (sUID != uid) {
          // write new UID to cookie
          //rSetCookie('UID',sUID,30,'/','','');
          alert("Cookie reset");
        }
          
    }
    else {
        alert ("TraceUserActivityAjaxSinc status: " + xmlHttpObj.status);
    } 
}




function TraceUserActivityAjaxAsinc(href){
   
   
   if (href == null){
     href = GetCurrentDocumentName();
   }
   //alert("href: " + href);
   
   // get GUID from the cookie      
   var uid = rGetCookie("UID");
   if (uid == null) {uid=-1;}
   var guid = rGetCookie("GUID");
   
   var promocode = rGetUrlParameter("promocode");
   var refid = rGetUrlParameter("RefID");
   
   var referrer = document.referrer;
   
   if (guid == null){
   
     guid = uuid()
    // alert("new GUID=" + guid);
     rSetCookie('GUID',guid,365,'/','','');
   }
   
   if (xmlHttpObj == null){xmlHttpObj = CreateXmlHttpRequestObject();}
    
     
   if (xmlHttpObj == null) return null;

    var xurl = "/ClickThrough/TraceUserActivity.ashx?uid=" + uid + 
    "&guid=" + guid + "&href=" + href;
    
    if (refid  != "")  {xurl = xurl + "&refid=" + refid;}
    if (promocode  != "")  {xurl = xurl + "&promocode=" + promocode;}
    if (referrer  != "")  {xurl = xurl + "&referrer=" + referrer;}
    
    //alert("xurl: " + xurl);   
        
    xmlHttpObj.open("GET",xurl, true);
        
    xmlHttpObj.onreadystatechange = function(){
    if ( xmlHttpObj.readyState == READYSTATE_COMPLETE ){
               // alert("Responce: " + xmlHttpObj.responseText);
               if ( xmlHttpObj.status != 200 ){
                // alert("TraceUserActivityAjaxAsinc xmlHttpObj.status=" + xmlHttpObj.status);
               }
            }
    }
    xmlHttpObj.send(null);

}
