// 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()
{
    try
    {
        var code = "";
        var html = "";
        var requestPpc = "";
        var requestSource = "";
        var requestId = "";
        var requestRefferer = "";
        var requestCookie = "";
		
        // Get valid referrer values
        if (PersonalisationCookieGet("adt-personalisation-telephone") != undefined)
        {
            requestCookie = PersonalisationCookieGet("adt-personalisation-telephone");
        }
        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;
        }
		
        // Get code in order
        if (requestCookie != "" && code == "")
        {
            code = requestCookie; 
        }
        if (requestPpc != "" && code == "")
        {
			// Get campaign part of string 
			var restStr;
			var campaignStr;
            
 		    // ANY-ANY-ANY format
	        try
	        {
				// requestPpc should be in any-any-any format
				// Get string after first -
				// rest Cookie string in restCookieStr should be any-any
	            restStr = requestPpc.substring(requestPpc.indexOf("-")+1);
				
				// Get campaign part of string [this bit]-any
				campaignStr = restStr.substring(0,restStr.indexOf("-"));
				
				// Set cookie
				code = "ppc:" + campaignStr.toLowerCase();
	        }
	        catch(e)
	        {
	        }
        }
	    if (requestSource != "" && code == "")
        {
            code = "source:" + requestSource;
        }
        if (requestRefferer != "" && code == "")
        {
            // Check if from google
            if(requestRefferer.indexOf('google.') > 0)
            {
	            code = 'referrer:' + 'google';
	        }
	        else
	        {
	            code = '';
	        }
        }

        // Set cookie with new code value
        if (code != "") 
        {
            var expireDate = new Date();
			
            expireDate.setMonth(expireDate.getMonth() + 3); 
            PersonalisationCookieSet("adt-personalisation-telephone", code, expireDate); 
        } 
		
        var telephonePpcGoogleBrand = '0800 7812 999';
        var telephonePpcGoogleConsumer = '0800 7816 999';
        var telephonePpcGoogleBusiness = '0800 7813 999';
        var telephonePpcYahoo = '0800 169 2261';
        var telephonePpcMsn = '0800 4589 999';
        var telephoneNaturalGoogle = '0800 4587 999';
        var telephoneSecurity99 = '0800 988 1144';

	var telephoneDadsAORes = '0800 542 3102';
	var telephoneDadsSMRes = '0800 542 3103';
	var telephoneDadsELRes = '0800 542 3104';
	var telephoneDadsURes = '0800 542 3105';
	var telephoneDadsERes = '0800 144 4499';
	var telephoneDadsSMBus = '0800 542 3107';
	var telephoneDadsELBus = '0800 542 3109';
        var telephoneDadsELWales = '0800 011 1007'
		
        // Output
        switch(code)
        {
            // List of valid parameter keys to output
	        case "ppc:c0":
				// Brand and cross over
		        html = telephonePpcGoogleBrand;
		        break
		        
	        case "ppc:c1":
				// Consumer
		        html = telephonePpcGoogleConsumer;
		        break
		        
	        case "ppc:c2":
				// Business
		        html = telephonePpcGoogleBusiness;
		        break
		        
	        case "ppc:c3":
				// Brand and cross over
		        html = telephonePpcGoogleBrand;
		        break
		        
	        case "ppc:c4":
				// Business
		        html = telephonePpcGoogleBusiness;
		        break
		        
	        case "ppc:c5":
				// Business
		        html = telephonePpcGoogleBusiness;
		        break
		        
	        case "ppc:c6":
				// Business
		        html = telephonePpcGoogleBusiness;
		        break
	        case "ppc:c7":
				// Business
		        html = telephonePpcGoogleBusiness;
		        break
		        
	        case "ppc:c8":
				// Business
		        html = telephonePpcGoogleBusiness;
		        break
		        
	        case "ppc:c9":
				// Business
		        html = telephonePpcGoogleBusiness;
		        break
		        
	        case "ppc:c10":
				// Business
		        html = telephonePpcGoogleBusiness;
		        break
		        
	        case "ppc:c11":
				// Consumer
		        html = telephonePpcGoogleConsumer;
		        break
				
	        case "ppc:c20":
				// MSN PPC 
		        html = telephonePpcMsn;
		        break

	        case "ppc:c21":
				// Yahoo PPC 
		        html = telephonePpcYahoo;
		        break

	        case "ppc:c22":
				// Yahoo PPC 
		        html = telephonePpcYahoo;
		        break
				
	        case "ppc:c30":
				// Yahoo PPC 
		        html = telephonePpcYahoo;
		        break
		        
	        case "ppc:c31":
				// MSN PPC 
		        html = telephonePpcMsn;
		        break
		        
	        case "ppc:c32":
				// MSN PPC 
		        html = telephonePpcMsn;
		        break	

	        case "ppc:c40":
				// DISPLAY ADS AD2ONE RESIDENTIAL
		        html = telephoneDadsAORes;
		        break

	        case "ppc:c41":
				// DISPLAY ADS SPECIFIC MEDIA RESIDENTIAL 
		        html = telephoneDadsSMRes;
		        break

	        case "ppc:c42":
				// DISPLAY ADS EXCHANGE LAB RESIDENTIAL 
		        html = telephoneDadsELRes;
		        break

	        case "ppc:c43":
				// DISPLAY ADS UNAIMIS RESIDENTIAL 
		        html = telephoneDadsURes;
		        break

	        case "ppc:c44":
				// DISPLAY ADS EBAY RESIDENTIAL 
		        html = telephoneDadsERes;
		        break

	        case "ppc:c45":
				// DISPLAY ADS SPECIFIC MEDIA BUSINESS 
		        html = telephoneDadsSMBus;
		        break

	        case "ppc:c46":
				// DISPLAY ADS EXCHANGE LAB BUSINESS 
		        html = telephoneDadsELBus;
		        break

                case "ppc:c47":
				//new code for wales page
		        html = telephoneDadsELWales;
		        break
               

                 case "ppc:aa-C0-bb":
				// security99
		        html = telephoneSecurity99;
		        break	
               
		        
		    case "referrer:google":
				// From Google 
		        html = telephoneNaturalGoogle;
		        break
		        
	        default:
				// Default
                //html = '0800 011 1111';
                 html ='0800 7812 999'
        }
        
        // Write output to page 
        document.write(html)
    }
    catch(e)
    {
        // Write default telephone number 
        document.write('0800 7812 999');
    }
}

// Call function 
Personalisation();
