// Set cookie
function PersonalisationCookieSet(name, value, expires, path, domain, secure)
{
    var cookieStr = name + '=' + encodeURIComponent(value);

    if (expires)
    {
        cookieStr += '; expires=' + expires.toGMTString();
    }

    if (path)
    {
        cookieStr += '; path=' + path;
    }

    if (domain)
    {
        cookieStr += '; domian=' + domain; 
    }

    if (secure)
    {
        cookieStr += '; secure';
    }

    document.cookie = cookieStr;
} 

// Get cookie 
function PersonalisationCookieGet(name)
{
    var result = document.cookie.match (name + '=(.*?)(;|$)');
    
    if (result)
    {
        return(decodeURIComponent(result[1]));
    }
    else
    {
        return '';
    }
}

// Delete cookie
function PersonalisationCookieDelete(name, path, domain)
{
    PersonalisationSetCookie(name, "", new Date(0), path, domain);
}

// Get query string parameter value by parameter name 
function Request(name)
{
    var parameters = window.location.search.substring(1).split("&");

    for (var i=0;i<parameters.length;i++)
    {
        var pair = parameters[i].split("=");
        
        // Return value
        if (pair[0] == name)
        {
            return pair[1];
        }
    }
}

// Get code and update cookie
function Personalisation()
{
    var code = "";
    var html = "";
    var requestPpc = "";
    var requestSource = "";
    var requestId = "";
    var requestRefferer = "";
    var requestCookie = "";
    
    // Get valid referrer values
    if (Request("ppc") != undefined)
    {
        requestPpc = Request("ppc");
    }
    if (Request("source") != undefined)
    {
        requestSource = Request("source");
    }
    if (Request("id") != undefined)
    {
        requestId = Request("id");
    }
    if (document.referrer != undefined)
    {
        requestRefferer = document.referrer;
    }
    if (PersonalisationCookieGet("adt-personalisation-telephone") != undefined)
    {
        requestCookie = PersonalisationCookieGet("adt-personalisation-telephone");
    }

    // Get code in sequential order
    if (requestPpc != "" && code == "")
    {
        code = "ppc:" + "";
    }
    if (requestRefferer != "" && code == "")
    {
        // Check if from google
        if(requestRefferer.indexOf('google.') > 0)
        {
	        code = 'referrer:' + 'google';
	    }
	    else
	    {
	        code = '';
	    }
    }
    if (requestCookie != "" && code == "")
    {
        code = requestCookie; 
    }

    // Set cookie with new code value
    if (code != "") 
    {
        var expireDate = new Date();

        expireDate.setMonth(expireDate.getMonth() + 3); 
        PersonalisationCookieSet("adt-personalisation-telephone", code, expireDate); 
    } 

    // Output
    switch(code)
    {
        case 'ppc:':
            //0800 226 2011
            html = '0800 2262011'; 
            break
        case 'referrer:google':
            //0800 303 0815
            html = '0800 3030815'; 
            break
        default:
            //0800 7070 238
            html = '0800 7070238'; 
    }
    
    // Write output to page 
    document.write(html)
}

// Call function 
Personalisation();