//gets the value of the given url parameter
function getURLParam(strParamName){
  var strReturn = "";
  var strHref = window.location.href;
  if ( strHref.indexOf("?") > -1 ){
    var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
    var aQueryString = strQueryString.split("&");
    for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
      if (aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ) {
        var aParam = aQueryString[iParam].split("=");
        strReturn = aParam[1];
        break;
      }
    }
  }
  return unescape(strReturn);
}


//Should be edited depending on analytics system
//HBX prefers to have spaces replaced with + signs
function stripUnwantedCharactersExceptCommas(theString) {
	var result = theString.replace(/;|'|"|<|>| |&/g, "+");
	return result;
}

function stripUnwantedCharacters(theString) {
	var result = theString.replace(/;|,|'|"|\/|<|>| |&/g, "+");
	return result;
}

//get the contents of the given meta-tag
function getMeta(metatag)  {
	metas = document.getElementsByTagName("meta");
	for (i=0;i<metas.length;i++) {
		if (metas[i].name == metatag) {return metas[i].content; }
	}
	return "";
}



//Returns the filename of the page
function getFileName() {

	var fileName = location.pathname.substring(location.pathname.lastIndexOf('/')+1);

	if (fileName.indexOf(".") > -1) {
		return fileName;
	} else {
		return "index";
	}

}


//returns contents of the first h1 tag on a page
function getHeadline() {

	var theTitle = document.title;
	var theHeadline = theTitle.substring(0, theTitle.indexOf("|"));

	return theHeadline;

}


//return the directorys/depth of current page
function getDirectory() {

	var theFile = getFileName();

	if (theFile.indexOf(".") > -1) {

		return location.pathname.substring(0, location.pathname.indexOf(theFile));

	} else {

		return location.pathname;

	}
	
}

// toggle function
function toggleLayer( whichLayer ) {  
var elem, vis;  
if ( document.getElementById )
	elem = document.getElementById( whichLayer );
else if ( document.all )
	elem = document.all[whichLayer];
else if ( document.layers )
	elem = document.layers[whichLayer];  
	vis = elem.style;
if (vis.display == '' && elem.offsetWidth != undefined && elem.offsetHeight != undefined)
	vis.display = (elem.offsetWidth !=0 && elem.offsetHeight !=0) ? 'block':'none';  
	vis.display = (vis.display == '' || vis.display == 'block') ? 'none':'block';
}

var navigation = getMeta("primarynavigation");

//get the contents of the given meta-tag
function getMeta(metatag)  {
	metas = document.getElementsByTagName("meta");
	for (i=0;i<metas.length;i++) {
		if (metas[i].name == metatag) {return metas[i].content; }
	}
	return "";
}

var get_pubdate	= getMeta("pubdate");

// -----------------
// Start advertising
// -----------------

var meta_area = "";
var site_area = "";

// area for home page (no meta)
var strURL = window.location.href;

var pn = getMeta("primarynavigation"); 
//pn = pn.replace(/, /g," "); //remove editorial commas

// area for advanced search
if (strURL == "http://www.marketingweek.co.uk/") {
	site_area = "MWK.HOME";
} else if (pn != "") {
	meta_area = pn; //one level only	
		
	// map metas to ad codes
	var map_areas = "Home->MWK.HOME	News->MWK.NEWS	Opinion->MWK.OPINION	In-Depth Analysis->MWK.IND_ANALYSIS	Trends->MWK.TRENDS	DIRECTORY->MWK.DIR	Events->MWK.EVENTS	Brands->MWK.BRANDS	JOBS->MWK.JOBS	Agencies,Sectors->MWK.AGENCIES	Automotives,Sectors->MWK.AUTO	FMCG,Sectors->MWK.FMCG	Financial,Sectors->MWK.FINANCIAL	Media,Sectors->MWK.MEDIA	Retail,Sectors->MWK.RETAIL	Sport,Sectors->MWK.SPORT	Telecoms and IT,Sectors->MWK.TELECOMM_IT	Travel & Leisure,Sectors->MWK.TRAVEL	Not for Profit,Sectors->MWK.NOT_FOR_PROFIT	Utilities,Sectors->MWK.UTIL	Advertising,Disciplines->MWK.ADVERT	CRM / Loyalty,Disciplines->MWK.CRM	Digital,Disciplines->MWK.DIGITAL	Direct Marketing,Disciplines->MWK.DIR_MARKET	Sales Promotion,Disciplines->MWK.SALES_PROMO	Market Research,Disciplines->MWK.MARKET_RES	PR,Disciplines->MWK.PR	Sponsorship,Disciplines->MWK.SPONS	Data Strategy,Disciplines->MWK.DATA	Food & Drink,Sectors->MWK.FOOD	Alcohol,Food & Drink,Sectors->MWK.FOOD.ALCOHOL	Food,Food & Drink,Sectors	Soft Drinks,Food & Drink,Sectors->MWK.FOOD.SOFTDRINK	Industry,Sectors->MWK.INDUSTRY	Government,Industry,Sectors->MWK.INDUSTRY.GOV	Industry Bodies,Industry,Sectors->MWK.INDUSTRY.IND_BODIES	Airlines,Travel & Leisure,Sectors->MWK.TRAVEL.AIRLINES	Briefings->MWK.BRIEFINGS	Consumer Goods,Sectors->MWK.CON_GOODS	Ad Watch,Advertising,Disciplines->MWK.ADVERT.AD_WATCH	Food,Food & Drink,Sectors->MWK.FOOD.FOOD	Digital Media,Media,Sectors->MWK.MEDIA.DIGITAL	Media Agencies,Media,Sectors->MWK.MEDIA.AGENY	Television,Media,Sectors->MWK.MEDIA.TV	Film,Media,Sectors->MW.MEDIA.FILM		Outdoor,Media,Sectors->MWK.MEDIA.OUT		Print,Media,Sectors->MWK.MEDIA.PRINT	Radio,Media,Sectors->MWK.MEDIA.RADIO";
	
	arrAreas = map_areas.split("\t");
	
	//match meta area with map area
	for (var i=0; i<arrAreas.length; i++) {
		arrArea = arrAreas[i].split("->");
	
		if (arrArea[0] == meta_area) {
			site_area = arrArea[1];
		}
	}
}

// Set up default ads  
var AAMB1 			= "";
var AAMB1_style		= "";
var ad1				= "";
var AAMB2 			= "";
var AAMB2_style		= "";
var ad2				= "";
var AAMB3 			= "";
var AAMB3_style		= "";
var ad3				= "";
var AAMB4 			= "";
var AAMB4_style		= "";
var ad4				= "";
var AAMB5 			= "";
var AAMB5_style		= "";
var ad5				= "";
var AAMB6 			= "";
var AAMB6_style		= "";
var ad6				= "";
var AAMB7 			= "";
var AAMB7_style		= "";
var ad7				= "";
var AAMB8 			= "";
var AAMB8_style		= "";
var ad8				= "";
var AAMB9 			= "";
var AAMB9_style		= "";
var ad9				= "";
var AAMB10 			= "";
var AAMB10_style	= "";
var ad10			= "";
var AAMB11 			= "";
var AAMB11_style	= "";
var ad11			= "";
var AAMB12 			= "";
var AAMB12_style	= "";
var ad12			= "";
var AAMB13 			= "";
var AAMB13_style	= "";
var ad13			= "";
var AAMB14 			= "";
var AAMB14_style	= "";
var ad14			= "";
var AAMB15 			= "";
var AAMB15_style	= "";
var ad15			= "";
var AAMB16 			= "";
var AAMB16_style	= "";
var ad16			= "";
var AAMB17 			= "";
var AAMB17_style	= "";
var ad17			= "";
var AAMB18 			= "";
var AAMB18_style	= "";
var ad18			= "";

// Global advertsing variables
var aamRnd = Math.round(Math.random() * 10000000000); 
adserver = "http://display.centaur.co.uk/bservers"; 
// Ad tag targeting values which will be appended to each ad request section in the bserver ad call 
allAdTags = "/AAMALL/acc_random=" + aamRnd + "/pageid=" + aamRnd;

// TOP LEADERBOARD
ad1  ="/AAMB1/SITE=MWK/AREA=" + site_area + "/POSITION=MWK.TOPLEADERBOARD/AAMSZ=IAB_LEADERBOARD_728x90";

// SKYSCRAPER 1
ad2  ="/AAMB2/SITE=MWK/AREA=" + site_area + "/POSITION=MWK.SKY/AAMSZ=IAB_SKYSCRAPER_120x600";

// MPU
ad3  ="/AAMB3/SITE=MWK/AREA=" + site_area + "/POSITION=MWK.MPU/AAMSZ=IAB_MPU_300X250";

// BOTTOM LEADERBOARD
ad4  ="/AAMB4/SITE=MWK/AREA=" + site_area + "/POSITION=MWK.BOTTOMLEADERBOARD/AAMSZ=IAB_B_LEADERBOARD_728x90";

// JOB OF THE WEEK
ad5  ="/AAMB5/SITE=MWK/AREA=" + site_area + "/POSITION=MWK.JOTW1/AAMSZ=IAB_CONTENTBUTTON_300X160";

// MW BUTTONS
ad6  ="/AAMB6/SITE=MWK/AREA=" + site_area + "/POSITION=MWK.BUTTON1/AAMSZ=IAB_DOUBLEBUTTON_120x130";
ad7  ="/AAMB7/SITE=MWK/AREA=" + site_area + "/POSITION=MWK.BUTTON2/AAMSZ=IAB_DOUBLEBUTTON_120x130";
ad8  ="/AAMB8/SITE=MWK/AREA=" + site_area + "/POSITION=MWK.BUTTON3/AAMSZ=IAB_DOUBLEBUTTON_120x130";
ad9  ="/AAMB9/SITE=MWK/AREA=" + site_area + "/POSITION=MWK.BUTTON4/AAMSZ=IAB_DOUBLEBUTTON_120x130";
ad10  ="/AAMB10/SITE=MWK/AREA=" + site_area + "/POSITION=MWK.BUTTON5/AAMSZ=IAB_DOUBLEBUTTON_120x130";
ad11  ="/AAMB11/SITE=MWK/AREA=" + site_area + "/POSITION=MWK.BUTTON6/AAMSZ=IAB_DOUBLEBUTTON_120x130";
ad12  ="/AAMB12/SITE=MWK/AREA=" + site_area + "/POSITION=MWK.BUTTON7/AAMSZ=IAB_DOUBLEBUTTON_120x130";
ad13  ="/AAMB13/SITE=MWK/AREA=" + site_area + "/POSITION=MWK.BUTTON8/AAMSZ=IAB_DOUBLEBUTTON_120x130";

// INPAGE MPU
ad14 = "/AAMB14/SITE=MWK/AREA=" + site_area + "/POSITION=MWK.INPAGE_MPU/AAMSZ=IAB_INPAGE_MPU_300X250";

// MW OUTSIDE BUTTONS
ad15 = "/AAMB15/SITE=MWK/AREA=" + site_area + "/POSITION=MWK.BUTTON9/AAMSZ=IAB_DOUBLEBUTTON_120x120";
ad16 = "/AAMB16/SITE=MWK/AREA=" + site_area + "/POSITION=MWK.BUTTON10/AAMSZ=IAB_DOUBLEBUTTON_120x120";
ad17 = "/AAMB17/SITE=MWK/AREA=" + site_area + "/POSITION=MWK.BUTTON11/AAMSZ=IAB_DOUBLEBUTTON_120x120";
ad18 = "/AAMB18/SITE=MWK/AREA=" + site_area + "/POSITION=MWK.BUTTON12/AAMSZ=IAB_DOUBLEBUTTON_120x120";

// bserver ad call insert the adx variables
document.write('<SCR' + 'IPT SRC="' + adserver + allAdTags + ad1 + ad2 + ad3 + ad4 + ad5 + ad6 + ad7 + ad8 + ad9 + ad10 + ad11 + ad12 + ad13 + ad14 + ad15 + ad16 + ad17 + ad18 + '?" type="text/javascript">');
document.write('</SCR' + 'IPT>');			

function random_ads(AdCount) {

	if (AdCount === undefined) AdCount = 4; //set default if AdCount not passed

	var LeftCount = 2; 	
	if (AdCount%2 == 1) { 
		LeftCount = (AdCount + 1) / 2; // deal with odd AdCount
	} else {
		LeftCount = AdCount / 2;
	}

	function randOrd(){
		return (Math.round(Math.random())-0.3);
	} 
	
	var randAdNames = new Array(ad6,ad7,ad8,ad9,ad10,ad11,ad12,ad13);
	randAdNames.length = AdCount;

	// AAMB variable names in order
	var aambTags = new Array(AAMB6, AAMB7, AAMB8, AAMB9,AAMB10,AAMB11,AAMB12,AAMB13);
	aambTags.length = AdCount;
	aambTags.sort( randOrd );
	
	// styles in order
	var aambStyles = new Array(AAMB6_style, AAMB7_style, AAMB8_style, AAMB9_style,AAMB10_style,AAMB11_style,AAMB12_style,AAMB13_style);
	aambStyles.length = AdCount;
	
	document.write('<ul class="col_1">');
	for (a=0; a<LeftCount; a++) {
		if (randAdNames[a] != "")	{
			document.write('<li style="' + aambStyles[a] + '">' + aambTags[a] + '</li>\n');
		}
	}
	document.write('</ul>\n\n');

	document.write('<ul class="col_2">');
	for (a=LeftCount; a<AdCount; a++) {
		if (randAdNames[a] != "")	{
			document.write('<li style="' + aambStyles[a] + '">' + aambTags[a] + '</li>\n');
		}
	}
	document.write('</ul>\n\n');

}

// Functions for inline MPU

function getElementsByClassName (node, classname)
    {
        var a = [];
        var re = new RegExp('\\b' + classname + '\\b');
        var els = node.getElementsByTagName("*");

        for (var i=0 , j=els.length ; i < j ; i++) {
            if (re.test(els[i].className)) {
                a.push(els[i])
            }
        }
        return a;
    }

function moveAdverts()
    {
      holdingAdverts = getElementsByClassName(document.body, 'advert');
      for (i = 0 ; i < holdingAdverts.length ; i++)
      {
        advertContent = document.getElementById(holdingAdverts[i].id + '-placeholder');
        if (advertContent)
        {
          if (holdingAdverts[i].innerHTML.indexOf('/cent/accipiter/') == -1) {
            advertContent.appendChild(holdingAdverts[i]);
            holdingAdverts[i].style.display = 'block';
          } else if (holdingAdverts[i].innerHTML.indexOf('ffffff') == -1) {
            advertContent.appendChild(holdingAdverts[i]);
            holdingAdverts[i].style.display = 'block';
          } else {
            advertContent.style.display = 'none';
          }
        }
      }
     }

// -----------------
// End advertising
// -----------------

// -----------------
// Start HBX
// -----------------

var _hbEC=0,_hbE=new Array;function _hbEvent(a,b){b=_hbE[_hbEC++]=new Object();b._N=a;b._C=0;return b;}
var hbx=_hbEvent("pv");hbx.vpc="HBX0250u";hbx.gn="ehg-centaur.hitbox.com";

//BEGIN EDITABLE SECTION
//CONFIGURATION VARIABLES
hbx.acct="DM560610BOME71EN3"; // ACCOUNT NUMBER
hbx.pn="PUT+PAGE+NAME+HERE";//PAGE NAME(S)
hbx.mlc="CONTENT+CATEGORY";//MULTI-LEVEL CONTENT CATEGORY
hbx.pndef="title";//DEFAULT PAGE NAME
hbx.ctdef="full";//DEFAULT CONTENT CATEGORY

//OPTIONAL PAGE VARIABLES
//ACTION SETTINGS
hbx.fv="";//FORM VALIDATION MINIMUM ELEMENTS OR SUBMIT FUNCTION NAME
hbx.lt="auto";//LINK TRACKING
hbx.dlf="n";//DOWNLOAD FILTER
hbx.dft="n";//DOWNLOAD FILE NAMING
hbx.elf="n";//EXIT LINK FILTER
hbx.lc="y";

//SEGMENTS AND FUNNELS
hbx.seg="";//VISITOR SEGMENTATION
hbx.fnl="";//FUNNELS

//CAMPAIGNS
hbx.cmp="";//CAMPAIGN ID
hbx.cmpn="";//CAMPAIGN ID IN QUERY
hbx.dcmp="";//DYNAMIC CAMPAIGN ID
hbx.dcmpn="";//DYNAMIC CAMPAIGN ID IN QUERY
hbx.dcmpe="";//DYNAMIC CAMPAIGN EXPIRATION
hbx.dcmpre="";//DYNAMIC CAMPAIGN RESPONSE EXPIRATION
hbx.hra="";//RESPONSE ATTRIBUTE
hbx.hqsr="";//RESPONSE ATTRIBUTE IN REFERRAL QUERY
hbx.hqsp="";//RESPONSE ATTRIBUTE IN QUERY
hbx.hlt="";//LEAD TRACKING
hbx.hla="";//LEAD ATTRIBUTE
hbx.gp="";//CAMPAIGN GOAL
hbx.gpn="";//CAMPAIGN GOAL IN QUERY
hbx.hcn="";//CONVERSION ATTRIBUTE
hbx.hcv="";//CONVERSION VALUE
hbx.cp="null";//LEGACY CAMPAIGN
hbx.cpd="";//CAMPAIGN DOMAIN

//CUSTOM VARIABLES
hbx.ci="";//CUSTOMER ID
hbx.hc1="";//CUSTOM 1
hbx.hc2="";//CUSTOM 2
hbx.hc3="";//CUSTOM 3
hbx.hc4="";//CUSTOM 4
hbx.hrf="";//CUSTOM REFERRER
hbx.pec="";//ERROR CODES

//INSERT CUSTOM EVENTS

//END EDITABLE SECTION


page_name			= stripUnwantedCharacters(getMeta("primarynavigation"));
page_pub_date		= stripUnwantedCharacters(getMeta("pubdate"));
page_categories		= stripUnwantedCharactersExceptCommas(getMeta("categories"));
is_article			= "FALSE";
user_id				= getMeta("CelerityGuidID");
actual_page_name	= getFileName();

//if user is logged in then record thier user_id
if (user_id != "0")	{
	hbx.ci = user_id;
}

// if page is not searchResults.aspx then we are in either section or article
if (actual_page_name != "searchResults.aspx" && actual_page_name != "searchresults.aspx")	{
	// if page_pub_date is not empty then we are on an article
	if (page_pub_date != "")	{
		headline = stripUnwantedCharacters(getHeadline());
		hbx.mlc = "/MW/articles";
		hbx.pn	= headline + page_pub_date;
		hbx.hc1	= "article |" + " " + headline + page_pub_date;
		hbx.hc4	= page_categories + " |" + " " + headline + page_pub_date;
	}
	// if we are here then we are on a top level landing page
	else	{
		hbx.mlc = "/MW/" + page_name;
		hbx.pn	= "home";
	}
}
// if page is searchResults.aspx then we are in serach results
else	{
		hbx.pn				= "Search+results";
		hbx.mlc				= "/MW/Search";
		search_keyword		= getURLParam("qkeyword");
		search_keyword 		= stripUnwantedCharacters(search_keyword);
		// if search_keyword is not empty then user has submitted search
		if (search_keyword != "")	{
			var ev1 = _hbEvent("search"); // required definition to create custom event
			ev1.keywords = "Editorial:" + search_keyword; //Populate with "Editorial:"
			ev1.results = "0"; //The number of results returned by the search. Must be an integer or 0
			ev1.attr1 = getURLParam("section"); // The value of the Sector search option
			//ev1.attr2 = "06/01/1995";  The value of the Date from search option
			//ev1.attr3 = "01/12/2008";  The value of the date to search option
		}
		// if search_keyword is empty then user is refining thier search or pageing through results
		else {
			hbx.pn				= "Search+results";
			hbx.mlc				= "/MW/Search";
			cmd_value			= getURLParam("cmd");
			// user is paging search results
			if(cmd_value == "gotopage")	{
				hbx.pn				= hbx.pn + "+" + getURLParam("val");				
			}
		}
}

// if page is pagenotfound.aspx then we are on pagenotfound.aspx page
if (actual_page_name == "pagenotfound.aspx") {
    hbx.pn = "404+Error";
	hbx.mlc = "/MW/errors/";
}

// -----------------
// End HBX
// -----------------