var _awe = "";
var _action = "";
var _temp = "";
var ca_docName = "";
// Function to track a page view
function TrackPage()
{
    var unique;
    var isnew;
    var oref = document.referrer;
    
    if(!oref || oref == "")
    {
        oref = "X";
    }
    
    //attempt cookie read
    if(readCookie("CASTATS"))
    {
        unique = readCookie("CASTATS");
        isnew = "F";
    }
    else
    {
        unique = CreateUniqueID();
        
        createCookie("CASTATS",unique,1);
        isnew = "T";
    }
    
    var screenSize = CalcScreenSize();
    
    var colorDepth = CalcColorDepth();
    
    var windowSize = CalcWindowSize();
    
    // Construct QueryString
    var URL = "v2.conversiondashboard.com/WebTrack/track.gif";
    
    //Here we need to append all the params we'll need, such as...
    URL = addURLParam(URL,"awe",_awe);
    URL = addURLParam(URL,"uqid",unique);
    URL = addURLParam(URL,"isnew",isnew);
    URL = addURLParam(URL,"oref",oref);
    URL = addURLParam(URL,"docloc",document.location);
    URL = addURLParam(URL,"href","x");
    URL = addURLParam(URL,"action",_action);
    URL = addURLParam(URL,"cat","Web");
    URL = addURLParam(URL,"title",document.title);
    URL = addURLParam(URL,"screensize",screenSize);
    URL = addURLParam(URL,"color",colorDepth);
    URL = addURLParam(URL,"windowsize",windowSize);
    
    if (ca_docName != "")
    {
        URL = addURLParam(URL,"docName",ca_docName);
    }
    
    _temp = unique;
    //CheckUnique();
    
    SendData(URL);

}

function CalcScreenSize()
{
	var size = screen.width+"x"+screen.height;
	return size;
}

function CalcColorDepth()
{
	if (navigator.appName != "Netscape") 
	{ 
		return screen.colorDepth; 
	}
    else 
    {
		return screen.pixelDepth;
    }

}

function CalcWindowSize()
{
    if (document.documentElement && document.documentElement.clientWidth)
        return document.documentElement.clientWidth + 'x' + document.documentElement.clientHeight;
    else if (document.body && document.body.clientWidth)
        return document.body.clientWidth + 'x' + document.body.clientHeight;
    else
        return window.innerWidth + 'x' + window.innerHeight;

}

function CheckUnique()
{
	var obj = document.getElementById('list.unique_id');
	if(obj != null)
	{
			obj.value = _temp;
			alert(obj.value);
	}
	else
	{
		setTimeout('CheckUnique();',2000);
	}
}

function CreateUniqueID()
{
    var unique = GetRandomBetween(100,9999999);
    
    var char1 = GetRandomBetween(65,90);
    var char2 = GetRandomBetween(97,122);
    
    unique =  _awe +  String.fromCharCode(char1) + String.fromCharCode(char2) + unique;
    
    char2 = GetRandomBetween(65,90);
    char1 = GetRandomBetween(97,122);
        
    unique +=String.fromCharCode(char1) + String.fromCharCode(char2);
    
    myDate = new Date();
    
    unique += myDate.getDay() + 1;
    unique += myDate.getMonth() + 1;
    unique += myDate.getYear() +1;
    unique += myDate.getHours() + 1;
    unique += myDate.getMinutes() + 1;
    unique += myDate.getSeconds() + 1;
    
    return unique;
}

function addURLParam(URL,ParamName,ParamVal)
{
    URL += ( URL.indexOf("?") == -1 ? "?" : "&" );
    URL += encodeURIComponent(ParamName) + "=" + encodeURIComponent(ParamVal);
    return URL;
}

function GetRandomBetween(first,last)
{
    var Range = last - first;
    return Math.floor(Math.random() * Range + first);
}
                
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 createCookie(name,value,days)
{
    if (days)
    {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function EnableMonitor()
{

  var links = document.body.getElementsByTagName("A");
  for (var i=0; i < links.length; i++)
  {
    links[i].onclick= function() { return TrackDownload( this ); };
  }

}

var TrackableFiles = new Array();
TrackableFiles[0] = ".doc";
TrackableFiles[1] = ".mov";
TrackableFiles[2] = ".mp3";
TrackableFiles[3] = ".pdf";
TrackableFiles[4] = ".zip";
TrackableFiles[5] = ".ppt";

function TrackDownload( link )
{
    // test extension agains list -- Trackable Files
    //if ext is trackable
    // construct query string with file dl data
    
    var submitMe = false;
    
    for(var i=0; i<TrackableFiles.length;i++)
    {
        if((link.href.indexOf(TrackableFiles[i]) != -1) && submitMe == false)
        {
            submitMe = true;
        }
    }
    
    if(submitMe == true)
    {
        var URL = "v2.conversiondashboard.com/WebTrack/track.gif";
    
        var unique;
        var isnew;
        var oref = document.referrer;
    
        if(!oref || oref == "")
        {
            oref = "X";
        }
    
        //attempt cookie read
        if(readCookie("CASTATS"))
        {
            unique = readCookie("CASTATS");
            isnew = "F";
        }
        else
        {
            unique = CreateUniqueID();
        
            createCookie("CASTATS",unique,1);
            isnew = "T";
        }
    
        URL = addURLParam(URL,"awe",_awe);
        URL = addURLParam(URL,"uqid",unique);
        URL = addURLParam(URL,"isnew",isnew);
        URL = addURLParam(URL,"oref",oref);
        URL = addURLParam(URL,"docloc",document.location);
        URL = addURLParam(URL,"href",link.href);
        URL = addURLParam(URL,"action","Download");
        URL = addURLParam(URL,"cat","Download");
        //make Track Request
        SendData(URL);
    }
    return true;
}


function SendData(URL)
{
    var image = new Image();
    
    image.src = location.protocol + "//" + URL;
    image.onload=function() { retnada(); }
}

function retnada() { return; }

// function to send form contents to CADash
function InterceptForm( theForm )
{
    // loop through all input elements in the form and create a POST request
    // submit via XMLHttpRequest
    
}

function trackVideoData(videoname, parType, parTimestamp, parData){
	TrackEvent(videoname, parType, parTimestamp, parData, 'Video');
}

// Function to track a page view
function TrackEvent(objectid, type, time, data, cat)
{
    var unique;
    var isnew;
    var oref = document.location;
    
    if(!oref || oref == "")
    {
        oref = "X";
    }
    
    //attempt cookie read
    if(readCookie("CASTATS"))
    {
        unique = readCookie("CASTATS");
        isnew = "F";
    }
    else
    {
        unique = CreateUniqueID();
        
        createCookie("CASTATS",unique,1);
        isnew = "T";
    }
    
    // Construct QueryString
    var URL = "v2.conversiondashboard.com/WebTrack/track.gif";
    
    //Here we need to append all the params we'll need, such as...
    URL = addURLParam(URL,"awe",_awe);
    URL = addURLParam(URL,"uqid",unique);
    URL = addURLParam(URL,"isnew",isnew);
    URL = addURLParam(URL,"oref",oref);
    URL = addURLParam(URL,"docloc",objectid);
    URL = addURLParam(URL,"href","x");
    URL = addURLParam(URL,"action",type);
    URL = addURLParam(URL,"data", data);
    URL = addURLParam(URL,"cat",cat);
    
    SendData(URL);

}
