/* QUIRKS - CREATE COOKIE */
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=/";
}

/* QUIRKS - READ COOKIE */
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;
}
		
/* QUIRKS - ERASE COOKIE */
function eraseCookie(name) {
  try
  {
	 createCookie(name,"",-1);
	}
	catch (error)
	{
	}
} 

/* WEB FORENSICS HELPER BEFORE REDIRECT */
function storeDataForTracking() {
    //READING ALL TRACKING VALUES
    var trk_sw = escape(screen.width).substring(0, 6);
    var trk_sh = escape(screen.height).substring(0, 6);
    var trk_ref = escape(document.referrer).substring(0, 1100);
    var trk_tit = escape(document.title).substring(0, 200);
    trk_tit = trk_tit.replace(/\%u00a0/g, '');
    trk_tit = trk_tit.replace(/\%u2122/g, '');
    trk_tit = trk_tit.replace(/\%u[0-9][0-9][0-9][0-9]/g, '');
    var trk_loc = escape(document.location).substring(0, 200);
    var trk_agn = escape(navigator.appName).substring(0, 100);
    var trk_agv = escape(navigator.appVersion).substring(0, 200);
    var trk_dom = escape(document.domain).substring(0, 200);
    var trk_user = '1383';

    var trk_cookie = document.cookie;

    var trk_img = 'http://webforensics.co.uk/images/track/' + trk_user + '.png'
    var trk_link = trk_img + '?trk_user=' + trk_user + '&trk_sw=' + trk_sw + '&trk_sh=' + trk_sh + '&trk_ref=' + trk_ref + '&trk_tit=' + trk_tit + '&trk_loc=' + trk_loc + '&trk_agn=' + trk_agn + '&trk_agv=' + trk_agv + '&trk_dom=' + trk_dom + '&trk_cookie=' + trk_cookie;

    //STORE ALL TRACKING VALUES WITH IMAGE CODE TO COOKIE
    createCookie('wfValues', trk_link, 1);
}

/* WEB FORENSICS HELPERS FOR FLASH TRACKING */
function JS_getBrowserObjects() 
{ 
    // Create an array to hold each of the browser's items. 
    var tempArr = new Array(); 

    // Loop over each item in the browser's navigator object. 
    for (var name in navigator) 
    { 
        var value = navigator[name]; 

        // If the current value is a string or Boolean object, add it to the 
        // array, otherwise ignore the item. 
        switch (typeof(value)) 
        { 
            case "string": 
            case "boolean": 

                // Create a temporary string which will be added to the array. 
                // Make sure that we URL-encode the values using JavaScript's 
                // escape() function. 
                var tempStr = "navigator." + name + "=" + escape(value); 
                // Push the URL-encoded name/value pair onto the array. 
                tempArr.push(tempStr); 
                break; 
        } 
    } 
    // Loop over each item in the browser's screen object. 
    for (var name in screen) 
    { 
        var value = screen[name]; 

        // If the current value is a number, add it to the array, otherwise 
        // ignore the item. 
        switch (typeof(value)) 
        { 
            case "number": 
                var tempStr = "screen." + name + "=" + escape(value); 
                tempArr.push(tempStr); 
                break; 
        } 
    } 
    if (cookieValue != null)
    {
      var cookieData = cookieValue;
      var referer = cookieData.replace('&trk_tit=','##');
      referer = referer.replace('&trk_ref=','##');
      var dataRef = referer.split('##');
      tempArr.push('referer='+dataRef[1].replace('%3A',':'));
      
    }
    // Return the array as a URL-encoded string of name-value pairs. 
    var output = tempArr.join("&");
    //alert('<!-- '+output+' -->');
    return output; 
} 
