﻿var xmlHttp;
var website = document.location.hostname.replace("http://", "").replace("www.", "");
var g_debug_mode = false;

var RoasLogger = function() {
}
RoasLogger.prototype =
{
    Log: function(message) {
        if (!g_debug_mode) return;
        alert(message);
    }
};


function getTrkGuid() {
    try {
        var ref = document.referrer;
        var currurl = escape( document.URL ); 
        var url = "http://www." + website + "/roas/track.asmx/GetVisitorGuid?currentUrl=" + currurl + "&documentReferrer=" + ref;
        RoasLogger.prototype.Log("about to run tracking with referrer data: " + ref);
        createXMLObject();
        if (xmlHttp) {
            RoasLogger.prototype.Log("created xmlhttp object: " + xmlHttp);
            xmlHttp.open("get", url, true);
            xmlHttp.onreadystatechange = sendUserTrk;
            RoasLogger.prototype.Log("sending req: " + url);
            xmlHttp.send( null );
            return false;
        }
    }
    catch (e) {
        RoasLogger.prototype.Log("Could not get tracking guid data. Exception: " + e.toString());
    }

}

function sendUserTrk() {
    if (!xmlHttp) return false;

    if (xmlHttp.readyState == 4) {
        RoasLogger.prototype.Log("in sendUserTrk()");
        var xmlDoc = xmlHttp.responseXML;
        var responseElement = xmlDoc.getElementsByTagName("string")[0];
        var respText = responseElement.firstChild.nodeValue;
        RoasLogger.prototype.Log("sent xml request. recd: " + respText);
        setCookie("Three60", respText);
    }
}


function createXMLObject() {
    try {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        RoasLogger.prototype.Log("created Microsoft.XMLHTTP instance");
    }
    catch (e) {
        try {
            xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
            RoasLogger.prototype.Log("created MSXML2.XMLHTTP instance");
        }
        catch (e) {
            xmlHttp = false;
            RoasLogger.prototype.Log("failling to XMLHttpRequest");
        }
    }
    if (!xmlHttp && typeof (XMLHttpRequest) != null) {
        try {
            xmlHttp = new XMLHttpRequest();
            RoasLogger.prototype.Log("created XMLHttpRequest()");
        }
        catch (e) {
            xmlHttp = false;
            RoasLogger.prototype.Log("in createXMLObject, could not create XMLObject(). Error: " + e.toString())
        }
    }
}

function setCookie(sName, sValue) {
    RoasLogger.prototype.Log("about to set cookie name; " + sName + ";" + sValue);
    document.cookie = sName + "=" + escape(sValue);
    var date = new Date();
    date.setDate(date.getDate() + 1);
    document.cookie += ("; expires=" + date.toUTCString());
    RoasLogger.prototype.Log("Set cookie: " + document.cookie);
}



setTimeout("getTrkGuid()", 2000);

