function setCookie(c_name,value,expiredays)
{
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +escape(value)+
        ((expiredays==null) ? "" : ";expires="+exdate.toUTCString());
}

function getCookie(c_name)
{
    if (document.cookie.length>0)
    {
        c_start=document.cookie.indexOf(c_name + "=");
        if (c_start!=-1)
        {
            c_start=c_start + c_name.length+1;
            c_end=document.cookie.indexOf(";",c_start);
            if (c_end==-1) c_end=document.cookie.length;
            return unescape(document.cookie.substring(c_start,c_end));
        }
    }
    return "";
}

function gup( name )
{
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
    var regexS = "[\\?&]"+name+"=([^&#]*)";
    var regex = new RegExp( regexS );
    var results = regex.exec( window.location.href );
    if( results == null )
        return "";
    else
        return results[1];
}

function handleSource()
{
    var source = getCookie("source");
    var cookie = true;
    var days = 60;
    if(source == null || source == "")
    {
        cookie = false;
        source = gup("source");
    }

    if(source == null || source == "")
    {
        if(document.referrer != '')
            source = document.referrer;
        else
            source = "organic";
    }

    replaceFsLinks(source);
    if(!cookie)
        setCookie("source",source,days);
}

function replaceFsLinks(source)
{
    var domain = 'sites.fastspring.com';
    var append = 'referrer=' + escape(source);
    var links = document.getElementsByTagName("a");
    for (var i = 0; i < links.length; i++)
    {
        var dom = links[i];
        if (dom.href.indexOf(domain) != -1)
        {
            var ch = dom.href.indexOf('?') != -1 ? '&' : '?';
            dom.href = dom.href + ch + append;
        }
    }
}

handleSource();

