﻿     
    //Verifying that the URL came from a referrer (preventing 'Bookmark' double tracking)
//    if(document.referrer != '')
//    {        
        //Retrieving the tracking value 
        var trackingValue = GDF_GetTrackingValue();
        var domainValue  = GDF_GetDomainValue();
        
        //Verifying that the tracking value exists
        if(trackingValue != null)
        {         
            //Persisting the tracking value
            GDF_CreateTrackingCookie(trackingValue);
           
            //Registering the click
            this.fullUrl = "https://tracking.godatafeed.com/TrackingProxy.aspx?trackingType=click&trackingValue=" + trackingValue; 
            this.noCacheIE = '&noCacheIE=' + (new Date()).getTime();
            this.headLoc = document.getElementsByTagName("head").item(0);
            this.scriptId = "GDF_TRK" + GDF_NewGuid();
            this.scriptObj = document.createElement("script");
            this.scriptObj.setAttribute("type", "text/javascript");
            this.scriptObj.setAttribute("src", this.fullUrl + this.noCacheIE);
            this.scriptObj.setAttribute("id", this.scriptId);
            this.headLoc.appendChild(this.scriptObj);
            this.headLoc.removeChild(this.scriptObj);  
        }  
    //}
           
    function GDF_CreateTrackingCookie(trkValue) 
    {
	    var date = new Date();
		date.setTime(date.getTime() + (24*60*60*1000));
		var expires = '; expires=' + date.toGMTString();
		var domain = (domainValue != null) ? '; domain=' + domainValue : '';
	    document.cookie = 'gdftrk=' + trkValue + expires + '; path=/' + domain;
    }

    function GDF_ReadTrackingCookie() 
    {
	    var nameEQ = 'gdftrk=';
	    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 GDF_DeleteTrackingCookie() 
    {
        var date = new Date();
		date.setTime(date.getTime() + (-1*24*60*60*1000));
		var expires = '; expires=' + date.toGMTString();
	    document.cookie = 'gdftrk=' + expires + '; path=/';
    }  
   
    function GDF_GetTrackingValue()
    {
        var queryStringValue = null;
        var queryString = window.location.search.substring(1);
        var queryStringVariables = queryString.split('&');
                
        for (var i = 0; i < queryStringVariables.length; i++) 
        {
            var nameValuePair = queryStringVariables[i].split('=');
            var name = nameValuePair[0];
            var value = nameValuePair[1];
                        
            if (name == 'gdftrk') 
            {
                queryStringValue = value;
                break; 
            }
        } 
        
        if(queryStringValue != null)
        {
            while(queryStringValue.indexOf("+") > -1)
            {
                queryStringValue = queryStringValue.replace("+","~");
            }
        }
        
        return queryStringValue;
    } 
   
   function GDF_GetDomainValue()
    {
        var queryStringValue = null;
        var queryString = window.location.search.substring(1);
        var queryStringVariables = queryString.split('&');
                
        for (var i = 0; i < queryStringVariables.length; i++) 
        {
            var nameValuePair = queryStringVariables[i].split('=');
            var name = nameValuePair[0];
            var value = nameValuePair[1];
                        
            if (name == 'gdfdomain') 
            {
                queryStringValue = value;
                break; 
            }
        } 
        
        return queryStringValue;
    } 

    function GDF_NewGuid()
    {
        var guid = "{";
        
        for(var i = 0; i < 32; i++)
        {
            guid += Math.floor(Math.random() * 0xF).toString(0xF) + (i == 8 || i == 12 || i == 16 || i == 20 ? "-" : "")
        }
            
        return guid + "}";
    }
