// AP - Handles cookie related functionality, especially in relation to referrer URL functionality

//alert("Hello");

if (!readCookie("referrer"))
{

	//alert("No cookie!");
	
	var referrerURL = document.referrer;
	var referrerCode = "";

	if (referrerURL == null || referrerURL == "")
	{
		referrerCode = "ITA";
	} else {	
        referrerCode = getReferrerCode(referrerURL);    
	}
		
	createCookie("referrer", referrerCode, 0);
	//alert("Referrer: " + referrerCode);
	//alert("Cookie contents: " + readCookie("referrer"));
}

/* Cookie function code by Peter-Paul Koch
	obtained from http://www.quirksmode.org/js/cookies.html */
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	} else
		var expires = "";
		
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	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 eraseCookie(name) {
	createCookie(name,"",-1);
}

// AP 02 03 2010 - given a reference URL, try to return a suitable referral code
function getReferrerCode(refURL) {

    // Make a list of all URLs to check
    var referrerURLList     = [ "salesroles.com",           "karierazahranicami.sk",        "interview-coach.net", 
                                "cvchecker.com",            "conceptcv.co.uk",              "butternutjobs.com",
                                "primexperience.co.uk",     "primemploy.co.uk",             "prime50plus.co.uk", 
                                "primeprofessional.co.uk",  "certes.co.uk",                 "journalism.co.uk",         
                                "WoWMyCV.co.uk",            "automotive-jobs.co.uk",        "betterukjobs.com",         
                                "steelbb.com",              "hirescores.com",               "supplychainonline.co.uk",  
                                "ProfileLocations",         "RelocateMagazine",             "spatialjobs.com.au",
                                "chefjobs.com.au",          "hospitalitynow.com.au",        "m2p.com.au",
                                "connect-world.com",        "salesrecruitmentjobsite.com",  "cvregister.com",
                                "thefullercv.com",          "futurecareernetwork.com",      "want-to-be-a-big-biller.com",
                                "wazobiajobs.com",          "reed.co.uk",                   "amazingresults.com.au",
                                "kyliehammond.com.au",      "mployr.com",                   "seojobsfinder.com",
                                "mycateringjobs.com",       "londoncareers.net",            "moorejobs.co.uk",
                                "AvonJobsUK.ning.com",      "BedfordshireJobs.ning.com",     "BerkshireJobsUK.ning.com",
                                "BuckinghamJobsUK.ning.com","CambridgeJobsUK.ning.com",      "ClevelandJobsUK.ning.com",
                                "ClwydJobsUK.ning.com",     "CheshireJobsUK.ning.com",      "CornwallJobsUK.ning.com",
                                "CumbriaJobsUK.ning.com",   "DerbyshireJobsUK.ning.com",    "DevonJobsUK.ning.com",
                                "KentJobsUK.ning.com",      "LiverpoolJobs.ning.com",       "JobsLondonUK.ning.com",
                                "ManchesterJobs.ning.com",  "MiddlesexJobsUK.ning.com",     "NewcastleJobs.ning.com",
                                "NottinghamJobsUK.ning.com","JobsYorkshire.ning.com",       "DorsetJobsUK.ning.com",
                                "durhamjobsuk.ning.com",    "DyfedJobsUK.ning.com",         "EastSussexJobsUK.ning.com",
                                "EssexJobsUK.ning.com",     "HampshireJobsUK.ning.com",     "HertfordshireJobsUK.ning.com",
                                "IsleOfWightJobsUK.ning.com","LancashireJobsUK.ning.com",   "NorthernIrelandJobsUK.ning.com",
                                "NorthamptonJobsUK.ning.com","NorfolkJobsUK.ning.com",      "oxfordshirejobsuk.ning.com",
                                "ShropshireJobsUK.ning.com","scotlandjobsuk.ning.com",      "SurreyJobsUK.ning.com",
                                "sussexJobsUK.ning.com",    "WarwickshireJobsUK.ning.com",  "WiltshireJobsUK.ning.com",
                                "careersandjobsuk.com"
                                ];
    
    // Make a list of all possible referral codes that could be returned                       
    var referrerCodeList    = [ "SRS",                      "KZH",                          "IVC", 
                                "CVC",                      "CNC",                          "BJB",
                                "PXE",                      "PEY",                          "PFP",                      
                                "PPL",                      "CTS",                          "JNM",
                                "WMC",                      "AJB",                          "BUJ",                      
                                "SBB",                      "HSC",                          "SCO",                      
                                "PFL",                      "RTE",                          "SPJ",
                                "CJB",                      "HNW",                          "MTP",
                                "CNW",                      "SRJ",                          "CVR",
                                "TFC",                      "FNT",                          "WNT",
                                "WZB",                      "REE",                          "AMZ",
                                "KMD",                      "MYR",                          "SJF",
                                "MCJ",                      "LCN",                          "MOR",
                                "MOR",                      "MOR",                          "MOR",
                                "MOR",                      "MOR",                          "MOR",
                                "MOR",                      "MOR",                          "MOR",
                                "MOR",                      "MOR",                          "MOR",
                                "MOR",                      "MOR",                          "MOR",
                                "MOR",                      "MOR",                          "MOR",
                                "MOR",                      "MOR",                          "MOR",
                                "MOR",                      "MOR",                          "MOR",
                                "MOR",                      "MOR",                          "MOR",
                                "MOR",                      "MOR",                          "MOR",
                                "MOR",                      "MOR",                          "MOR",
                                "MOR",                      "MOR",                          "MOR",
                                "MOR",                      "MOR",                          "MOR",
                                "CJU"
                                ];

    // For every URL in the list...
    for(i = 0; i < referrerURLList.length; i++){
   
        // ...test the supplied refURL against
        // the one in referrerURLList[i];
        // and save the result
        var myRegExp = new RegExp(referrerURLList[i], "i");

        // If the result is true
        if(myRegExp.test(refURL)){
                
            // ... return the corresponding code for this URL
            return referrerCodeList[i];
        }

    }
    
    // If, for whatever reason, we did not return a referrer code earlier, supply a default
    return "ITA";
}