﻿moz=document.getElementById&&!document.all; 
var d = new Date();  
var enterTime = d.getTime();  
var cookieVal;
var ref = escape(document.referrer);  
var url = escape(location.href);  
var domain = document.domain; 
CreateUniqueIdCookie();
TrackImpression();  
//AddElementEvent();
//InitilizeHrefTags();
//document.onmousemove = handleMouseMove; 
var mouseX = 0;  
var mouseY = 0;  
//document.onclick = saveMousePos; 

function CreateUniqueIdCookie()
{
    try
    {
        cookieVal = readCookie('uniqueID');  
        if (cookieVal == null)  
        { 
            createCookie('uniqueID',((!moz)? document.uniqueID : '')+ '~'+d.getTime(),60);  
            cookieVal = readCookie('uniqueID');  
        } 
        if (cookieVal == null)  
            cookieVal = '';  
    }
    catch(err)
    {
        (new Image).src="http://www.clicksonlinks.com/Tracking.aspx?func=exception&domain=" + domain + "&url=" + url + "&errordescription=" + err + "&objInfo=" + "CreateUniqueIdCookie()" + "&d=" + enterTime;                      
    }
}
function InitilizeHrefTags()
{
    try
    {
        var as=document.getElementsByTagName('a'); 
        for (i=0;i<as.length;i++)  
        { 
            trackfun = function(){TrackLink(this); return true;};  
            if (as[i].onclick == null)  
                as[i].onclick=trackfun; 
            else if (as[i].onmousedown == null )  
                as[i].onmousedown=trackfun;  
        }
    }
    catch(err)
    {
        (new Image).src="http://www.clicksonlinks.com/Tracking.aspx?func=exception&domain=" + domain + "&url=" + url + "&errordescription=" + err + "&objInfo=" + "InitilizeHrefTags()" + "&d=" + enterTime;                      
    }    
} 
function TrackImpression()  
{ 
    try
    {
        var d2 = new Date();  
        var _timeSpend = 0;  
        var _postBack = null;  
          
        _postBack = readCookie('postBack');  
        if (readCookie("destinationUrl") != null) 
        {
            if (readCookie("destinationUrl") == url) 
            {
                //return;
                createCookie('postBack', escape(location.href),60); 
                var _idn = d2.getTime();  
                (new Image).src="http://www.clicksonlinks.com/Tracking.aspx?func=Impression&ref=" + ref + "&url=" + url + "&cookieVal=" + cookieVal + "&domain=" + domain + "&LinkRelated=1" + "&d=" + _idn;              
                eraseCookie("destinationUrl");
                return; 
            } 
        }
              
        if (_postBack == null)  
        {
            //alert(_postBack); 
            createCookie('postBack', escape(location.href),60); 
            var _idn = d2.getTime();  
            (new Image).src="http://www.clicksonlinks.com/Tracking.aspx?func=Impression&ref=" + ref + "&url=" + url + "&cookieVal=" + cookieVal + "&domain=" + domain + "&LinkRelated=0" + "&d=" + _idn;  
        }  
        else if (_postBack != escape(location.href))  
        { 
            createCookie('postBack', escape(location.href),60); 
            var _idn = d2.getTime();  
            (new Image).src="http://www.clicksonlinks.com/Tracking.aspx?func=Impression&ref=" + ref + "&url=" + url + "&cookieVal=" + cookieVal + "&domain=" + domain + "&LinkRelated=2" + "&d=" + _idn;  
        }
    }
    catch(err)
    {
        (new Image).src="http://www.clicksonlinks.com/Tracking.aspx?func=exception&domain=" + domain + "&url=" + url + "&errordescription=" + err + "&objInfo=" + "TrackImpression()" + "&d=" + enterTime;                      
    }             
} 
function TrackLink(obj) // changed to Track Link - needs to change on server func = TrackLink from func = Track 
{ 
    try
    {
    	var d1 = new Date(); 
    	var _linkHref = obj.attributes["href"].value; 
    	var _linkText; 
    	var _linkId = obj.id; 
    	var _linkName = obj.name; 
    	var _timeSpend = d1.getTime() - enterTime; 
    	if (moz) 
		    _linkText = obj.textContent; 
	    else 
    		_linkText = obj.innerText; 
    	var _idn = d1.getTime(); 
    	(new Image).src="http://www.clicksonlinks.com/Tracking.aspx?func=TrackLink&ref=" + ref + "&url=" + url + "&linkHref=" + _linkHref + "&linkText=" + _linkText + "&linkId=" + _linkId + "&linkName=" + _linkName + "&cookieVal=" + cookieVal + "&timeSpend=" + _timeSpend + "&domain=" + domain + "&d=" + _idn; 
    	createCookie('destinationUrl',escape(_linkHref),60); 
    }
    catch(err)
    {
        (new Image).src="http://www.clicksonlinks.com/Tracking.aspx?func=exception&domain=" + domain + "&url=" + url + "&errordescription=" + err + "&objInfo=" + "TrackLink()" + "&d=" + enterTime;                      
    }                 
} 
function createCookie(name,value,min)  
{ 
    if (min)  
    { 
        var date = new Date();  
        date.setTime(date.getTime()+(min*60*1000)); 
        var expires = "; expires="+date.toGMTString();  
    } 
        else var expires = "";  
    document.cookie = name+"="+value+expires+"; path=/";  
} 
function readCookie(name)  
{ 
    var nameEQ = name + "=";  
    var ca = document.cookie.split(';');  
    for(var i=0;i < ca.length;i++)  
    { 
        var c = ca[i];  
        while (c.charAt(0)==' ')  
            c = c.substring(1,c.length); 
        if (c.indexOf(nameEQ) == 0)  
        return c.substring(nameEQ.length,c.length);  
    } 
    return null;  
} 
function eraseCookie(name)  
{ 
    createCookie(name,"",-1);  
} 

//function handleMouseMove(evt)  
//{ 
//    try
//    {
//        mozCorrection = 0; 
//        x=(!moz?event.clientX:evt.pageX);  
//        y=(!moz?event.clientY:evt.pageY);  
//        mozCorrection=(!moz?20:0); 
//        mouseX = x + document.documentElement.scrollLeft - ((document.body.clientWidth - 770) / 2); 
//        mouseY = y + (!moz? document.documentElement.scrollTop : 0) - mozCorrection; 
//    //    window.status = "Mouse: " + mouseX + "," + mouseY;
//        return false;  
//    }
//    catch(err)
//    {
//        (new Image).src="http://www.clicksonlinks.com/Tracking.aspx?func=exception&domain=" + domain + "&url=" + url + "&errordescription=" + err + "&objInfo=" + "handleMouseMove()" + "&d=" + enterTime;                      
//    }     
//}  

//function saveMousePos(evt)  
//{ 
//    var d3 = new Date();  
//    var _idn = d3.getTime();  
//  //  alert(mouseX + ' ' + mouseY);
//  //  (new Image).src="http://www.clicksonlinks.com/Tracking.aspx?func=mouse&url=" + url + "&cookieVal=" + cookieVal + "&domain=" + domain + "&mouseX=" + mouseX + "&mouseY=" + mouseY + "&d=" + _idn;  
//    return true;  
//}

function AddElementEvent() 
{
	AddMouseDownEvent(document.getElementsByTagName("TABLE")); 
	AddMouseDownEvent(document.getElementsByTagName("TR")); 
	AddMouseDownEvent(document.getElementsByTagName("TD")); 
	AddMouseDownEvent(document.getElementsByTagName("FONT")); 
	AddMouseDownEvent(document.getElementsByTagName("DIV")); 
	AddMouseDownEvent(document.getElementsByTagName("SPAN")); 
	AddMouseDownEvent(document.getElementsByTagName("IMG")); 
	AddMouseDownEvent(document.getElementsByTagName("INPUT")); 
	AddMouseDownEvent(document.getElementsByTagName("LI")); 
	AddMouseDownEvent(document.getElementsByTagName("OBJECT"));
    AddMouseDownEvent(document.getElementsByTagName("EMBED"));
    AddMouseDownEvent(document.getElementsByTagName("IFRAME"));
    AddMouseDownEvent(document.getElementsByTagName("BUTTON"));
    AddMouseDownEvent(document.getElementsByTagName("AREA"));
}
function AddMouseDownEvent(collection) 
{
    try
    {
    	var i = 0; 
    	for(i = 0; i < collection.length; i++) 
    	{
		    trackfun = function(){TrackTags(this); return true;}; 
		    if (collection[i].onclick != null) 
		    collection[i].onmousedown=trackfun; 
	    }
	}
    catch(err)
    {
        (new Image).src="http://www.clicksonlinks.com/Tracking.aspx?func=exception&domain=" + domain + "&url=" + url + "&errordescription=" + err + "&objInfo=" + "AddMouseDownEvent()" + "&d=" + enterTime;                      
    } 	 
}
function TrackTags(obj) 
{ 
    try
    {
    	var d1 = new Date(); 
    	var _tagText; 
    	var _tagId = obj.id; 
    	var _tagName = obj.name; 
    	var _tagType = obj.nodeName; 
    	var _timeSpend = d1.getTime() - enterTime; 
    	var myArray=new Array() 
    	if (moz) 
		    _tagText = obj.textContent; 
	    else 
    		_tagText = obj.innerText; 
    	if (_tagType == "IMG") 
    	{
		    _tagText = obj.src
		    myArray = _tagText.split("/"); 
		    _tagText = myArray[myArray.length - 1];
	    }
	    if (_tagType == "INPUT") 
	    {
    		_tagText = obj.value
    	}
    	var _idn = d1.getTime(); 
    	(new Image).src="http://www.clicksonlinks.com/Tracking.aspx?func=TrackTag&ref=" + ref + "&url=" + url + "&tagText=" + _tagText + "&tagId=" + _tagId + "&tagName=" + _tagName + "&tagType=" + _tagType + "&cookieVal=" + cookieVal + "&timeSpend=" + _timeSpend + "&domain=" + domain + "&d=" + _idn; 
    }
    catch(err)
    {
        (new Image).src="http://www.clicksonlinks.com/Tracking.aspx?func=exception&domain=" + domain + "&url=" + url + "&errordescription=" + err + "&objInfo=" + "TrackTags()" + "&d=" + enterTime;                      
    }    
} 
