
// The purpose of this funcationality is to track the referrals to www.daptiv.com that lead 
// to a sales contact (lead submittal)
//
// Once a lead has been submitted the referral will no longer be tracked. We know that a lead 
// has been submitted if the "leadSubmitted" cookie exists and contains the test "true"
//
// Every page of our site should be tracking referrals... However, self referrals should be 
// ignored, meaning when the user is navigating through our site we will not over write the 
// referral cookie information with our own address. 

// Only track new leads
if (IsNewLead())
{
    var referrer = document.referrer;
    var isExternalReferrer = IsExternalReferrer(referrer);   
     
    // Update the cookie if this is an external referral
    if (referrer != "") {
     if(isExternalReferrer)
      setCookie("SalesRevenueTracker", referrer);
    }
		else 
		  setCookie("SalesRevenueTracker", "--none--");
	
        // Is this refferal from a paid source, such as GoogleAds?
        // if so then track where is came from this information comes from 
        // the query string we have provided to our advertisers.
        var query = location.search.substring(1);
        var fields = query.split("&");
        for (var i=0; i < fields.length; ++i)
        {
            var args = fields[i].split("=");
            if (args[0] == "search")
            {
                setCookie("Paid_Search", args[1]);
                break;
            }
        }
    
}

function GetSalesTrackerReferrer()
{
    var val;
    
    val = getCookie("SalesRevenueTracker");
    
    return (val == "") ? "Not Available" : val;
}

function GetSalesTrackerPaid_Search()
{
    var val;
    
    val = getCookie("Paid_Search");
    
    return (val == "") ? "Not Available" : val;
}

function RemoveSalesTracker()
{
    deleteCookie("SalesRevenueTracker");
    deleteCookie("Paid_Search");
}

function IsExternalReferrer(referrer)
{
    var daptivRegex = new RegExp("http[s]?://((([a-z0-9]+)[\.])*)daptiv\.com", "i");
    
    if (0 == referrer.search(daptivRegex))
    {
        return false;
    }
    
    return true;
}

function IsNewLead()
{
    if ("true" == getCookie("leadSubmitted"))
    {
        return false;
    }
    
    return true;
}

function PopulateSalesforceFields()
{
    var o, xForm, xEl;
    
	for(var c=0;c<document.forms.length;c++) {
		xForm = document.forms[c];
		for(var d=0;d<xForm.elements.length;d++) {
			xEl = xForm.elements[d];
			if(xEl.name == "Paid_Search"){
				xEl.value = GetSalesTrackerPaid_Search();
				continue;
			}
			if(xEl.name == "origin") {
				xEl.value = GetSalesTrackerReferrer();
				continue;
			}
		}		
	}
	/*
    o = document.getElementById('Paid_Search');
    if (o != undefined)
    {
        o.value = GetSalesTrackerPaid_Search();
    }

    o = document.getElementById('origin');
    if (o != undefined)
    {
        o.value = GetSalesTrackerReferrer();
    }
	*/	
}