//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 get_pubdate	= getMeta("pubdate");

// -----------------
// Start advertising
// -----------------

<!-- Start RSI ad integration -->
var rsi_segs = [];
var segs_beg = document.cookie.indexOf('rsi_segs=');
if(segs_beg >= 0) {
      segs_beg = document.cookie.indexOf('=',segs_beg)+1;
      if(segs_beg > 0) {
            var segs_end = document.cookie.indexOf(';',segs_beg);
            if(segs_end == -1) segs_end = document.cookie.length;
            rsi_segs = document.cookie.substring(segs_beg,segs_end).split('|');
      }
}
var segLen = 50;
var segQS = "";
if(rsi_segs.length < segLen) {
      segLen=rsi_segs.length;
}
for(var i=0; i < segLen; i++){
      segQS += (rsi_segs[i]+".");
}
<!-- End RSI ad integration -->


var meta_area = "";
var site_area = "";
var map_areas = "";
var TopNav = "News,Opinion,Analysis,Profiles,Product News,Directory";

var strURL = window.location.href;
var pn = getMeta("primarynavigation"); 
//pn = pn.replace(/, /g," "); //remove editorial commas

// map metas to ad codes
map_areas = "News->MM.NEWS	Opinion->MM.OPINION	Analysis->MM.ANALYSIS	Profiles->MM.PROFILES	Product News->MM.PRODUCT_NEWS	Directory->MM.DIRECTORY	Adviser News->MM.CH.ADVISER_NEWS	Equity Release->MM.CH.EQU_REL	Group Business->MM.CH.GROUP_BUS	IHT / Tax Planning->MM.CH.IHT	Investments->MM.CH.INVEST	Mortgages->MM.CH.MORTGAGE	Multi-manager,Investments->MM.CH.MULTI_MGR	Multi-manager->MM.CH.MULTI_MGR	Offshore->MM.CH.OFFSHORE	Politics->MM.CH.POLITICS	Pensions->MM.CH.PENSIONS	Protection->MM.CH.PROTECT	Regulation->MM.CH.REGULATION	Wrap and Technology->MM.CH.WRAP_TECH	Retirement Strategy,Channels->MM.CH.RETIRE_STRAT	Corporate Adviser,Channels->MM.CH.CORP_ADVISER	Alternatives,Investments->MM.CH.INVEST.ALTERNATIVES	Equities,Investments->MM.CH.INVEST.EQUITY	ETFs,Investments->MM.CH.INVEST.ETF	Fixed Income,Investments->MM.CH.INVEST.FIX_INCOME	Investment Trusts,Investments->MM.CH.INVEST.INV_TRUSTS	Property,Investments->MM.CH.INVEST.PROPERTY	Structured Products,Investments->MM.CH.INVEST.STRUCT_PROD	SIPPs,Pensions->MM.CH.PENSIONS.SIPPS	Current Issue,Home->MM.CURRENT_ISSUE	Comments->MM.COMMENTS	News,Corporate Adviser,Channels->MM.CH.CORP_ADVISER	News Analysis,Corporate Adviser,Channels->MM.CH.CORP_ADVISER	Profile,Corporate Adviser,Channels->MM.CH.CORP_ADVISER	Funds,Corporate Adviser,Channels->MM.CH.CORP_ADVISER	Leader,Corporate Adviser,Channels->MM.CH.CORP_ADVISER	Technology,Corporate Adviser,Channels->MM.CH.CORP_ADVISER	Pensions,Corporate Adviser,Channels->MM.CH.CORP_ADVISER	Investment,Corporate Adviser,Channels->MM.CH.CORP_ADVISER	Healthcare,Corporate Adviser,Channels->MM.CH.CORP_ADVISER	Group Risk,Corporate Adviser,Channels->MM.CH.CORP_ADVISER	Wealth,Corporate Adviser,Channels->MM.CH.CORP_ADVISER	Special Reports,Corporate Adviser,Channels->MM.CH.CORP_ADVISER	Provider Opinion,Corporate Adviser,Channels->MM.CH.CORP_ADVISER";

// area for home page (no meta)
if (strURL == "http://www.moneymarketing.co.uk/") {
	site_area = "MM.HOME";
} else if (strURL.indexOf("advancedsearch.aspx") > -1) {
	site_area = "MM.ADVANCED_SEARCH";
} else if (strURL.indexOf("searchResults.aspx") > -1) {
	site_area = "MM.SEARCH_RESULTS";
} else if (pn != "") {
	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] == pn) {
			site_area = arrArea[1];
		}
	}

	// for articles, add .ARTICLE suffix, excluding top nav items
	if ((site_area != "") && (strURL.indexOf(".article") > -1) && (TopNav.indexOf(pn) == -1)) {
		site_area = site_area + ".ARTICLE";
	}
}
		
// 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			= "";
var AAMB19 			= "";
var AAMB19_style	= "";
var ad19			= "";
var AAMB20 			= "";
var AAMB20_style	= "";
var ad20			= "";

// 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 + "/RS=" + segQS;

// TOP LEADERBOARD
ad1  ="/AAMB1/SITE=MM/AREA=" + site_area + "/POSITION=MM.TOPLEADERBOARD/AAMSZ=IAB_LEADERBOARD_728x90";

// INPAGE MPU
ad2 = "/AAMB2/SITE=MM/AREA=" + site_area + "/POSITION=MM.INPAGE_MPU/AAMSZ=IAB_INPAGE_MPU_300X250";

// MPU
ad4  ="/AAMB4/SITE=MM/AREA=" + site_area + "/POSITION=MM.MPU/AAMSZ=IAB_MPU_300X250";

// SKYSCRAPER 1
ad3  ="/AAMB3/SITE=MM/AREA=" + site_area + "/POSITION=MM.SKY/AAMSZ=IAB_SKYSCRAPER_120x600";

// PREMIUM BUTTON
ad5  ="/AAMB5/SITE=MM/AREA=" + site_area + "/POSITION=MM.PREMIUMBUTTON/AAMSZ=IAB_CONTENTBUTTON_240x90";

// AD STRIPS
ad6  ="/AAMB6/SITE=MM/AREA=" + site_area + "/POSITION=MM.RIBBON/AAMZ=IAB_ADSTRIP_980X60";
ad7  ="/AAMB7/SITE=MM/AREA=" + site_area + "/POSITION=MM.SEARCH.ADSTRIP/AAMSZ=IAB_ADSTRIP_300x40";
ad8  ="/AAMB8/SITE=MM/AREA=" + site_area + "/POSITION=MM.POP.ADSTRIP/AAMSZ=IAB_ADSTRIP_300x40";
ad9  ="/AAMB9/SITE=MM/AREA=" + site_area + "/POSITION=MM.RELATED.ADSTRIP/AAMSZ=IAB_ADSTRIP_300x40";

//STRAWPOLL
ad10  ="/AAMB10/SITE=MM/AREA=" + site_area + "/POSITION=MM.STRAWPOLL/AAMSZ=IAB_SINGLEBUTTON_120X60";

// MM BUTTONS
ad11 = "/AAMB11/SITE=MM/AREA=" + site_area + "/POSITION=MM.BUTTON1/AAMSZ=IAB_SINGLEBUTTON_120X60";
ad12 = "/AAMB12/SITE=MM/AREA=" + site_area + "/POSITION=MM.BUTTON2/AAMSZ=IAB_SINGLEBUTTON_120X60";
ad13 = "/AAMB13/SITE=MM/AREA=" + site_area + "/POSITION=MM.BUTTON3/AAMSZ=IAB_SINGLEBUTTON_120X60";
ad14 = "/AAMB14/SITE=MM/AREA=" + site_area + "/POSITION=MM.BUTTON4/AAMSZ=IAB_SINGLEBUTTON_120X60";

// JOB OF THE WEEKS
ad15  ="/AAMB15/SITE=MM/AREA=" + site_area + "/POSITION=MM.JOTW1/AAMSZ=IAB_CONTENTBUTTON_300x75";
ad16  ="/AAMB16/SITE=MM/AREA=" + site_area + "/POSITION=MM.JOTW2/AAMSZ=IAB_CONTENTBUTTON_300x75";

//IN PAGE BANNER
ad17  ="/AAMB17/SITE=MM/AREA=" + site_area + "/POSITION=MM.INPAGE_BANNER/AAMSZ=IAB_INPAGE_BANNER_468X60";

// BOTTOM LEADERBOARD
ad18  ="/AAMB18/SITE=MM/AREA=" + site_area + "/POSITION=MM.BOTTOMLEADERBOARD/AAMSZ=IAB_B_LEADERBOARD_728x90";

// WALLPAPER
ad19  ="/AAMB19/SITE=MM/AREA=" + site_area + "/POSITION=MM.WALLPAPER/AAMSZ=IAB_WALLPAPER_1X1";

// OVERLAY
ad20  ="/AAMB20/SITE=MM/AREA=" + site_area + "/POSITION=MM.OVERLAY/AAMSZ=IAB_OVERLAY_1x1";


// bserver ad call insert the adx variables
document.write('<SCR' + 'IPT SRC="' + adserver + allAdTags + ad1 + ad2 + ad3 + ad4 + ad5 + '?" type="text/javascript">');
document.write('</SCR' + 'IPT>');

// bserver ad call insert the adx variables
document.write('<SCR' + 'IPT SRC="' + adserver + allAdTags + ad7 + ad8 + ad10 + ad17 + ad18 + ad19 + ad20 + ad11 + ad13 + ad15 + ad16 + '?" type="text/javascript">');
document.write('</SCR' + 'IPT>');

// 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('AE1.gif') == -1) {
            advertContent.appendChild(holdingAdverts[i]);
            holdingAdverts[i].style.display = 'block';
          } else*/ if (holdingAdverts[i].innerHTML.indexOf('CID=fffffff') == -1) {
            advertContent.appendChild(holdingAdverts[i]);
            holdingAdverts[i].style.display = 'block';
          } else {
            advertContent.style.display = 'none';
			//document.getElementById("mpu_box").style.display = 'none';
          }
        }
      }
     }

// -----------------
// End advertising
// -----------------
