//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 = 20;
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 = "Latest News,Analysis,Opinion,Blogs,Supplements";

var strURL = window.location.href;
var pn = getMeta("primarynavigation"); 
//pn = pn.replace(/, /g," "); //remove editorial commas

// map metas to ad codes
map_areas = "Latest News->MS.LATEST_NEWS	Analysis->MS.ANALYSIS	Opinion->MS.OPINION	Blogs->MS.BLOGS	Supplements->MS.SUPPLEMENTS	News->MS.NEWS	Opinion->MS.OPINION	Conveyancing->MS.CH.CONVEY	News,Conveyancing->MS.CH.CONVEY	Distribution->MS.CH.DIST	Equity Release->MS.CH.EQUITY_REL	General Insurance->MS.CH.GEN_INS	Loans->MS.CH.LOANS	Offset->MS.CH.OFFSET	Protection->MS.CH.PROTECTION	Regulation->MS.CH.REGULATION	Remortgage->MS.CH.REMORTAGE	Specialist Mortgages->MS.CH.SPECIAL_MORT	Lending Strategy,Channels->MS.CH.LEND_STRATEGY	Clubs->MS.CH.DIST.CLUBS	Networks->MS.CH.DIST.NETWORKS	Directly Authorised->MS.CH.DIST.AUTH	Self Certs->MS.CH.SPECIAL_MORT.SELFCERT	Sub Prime->MS.CH.SPECIAL_MORT.SUBPRIME	Buy-to-let->MS.CH.SPECIAL_MORT.BUYTOLET	Debt Management->MS.CH.DEBT_MAN	Mortgage Processing->MS.CH.MORT_PROCESSING	Sale-and-rent-back->MS.CH.SALE_AND_RENT	Current Issue,Home->MS.CURRENT_ISSUE";

// area for home page (no meta)
if (strURL == "http://www.mortgagestrategy.co.uk/") {
	site_area = "MS.HOME";
} else if (strURL.indexOf("advancedsearch.aspx") > -1) {
	site_area = "MS.ADVANCED_SEARCH";
} else if (strURL.indexOf("searchResults.aspx") > -1) {
	site_area = "MS.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			= "";

// 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=MS/AREA=" + site_area + "/POSITION=MS.TOPLEADERBOARD/AAMSZ=IAB_LEADERBOARD_728x90";

// INPAGE MPU
ad2 = "/AAMB2/SITE=MS/AREA=" + site_area + "/POSITION=MS.INPAGE_MPU/AAMSZ=IAB_INPAGE_MPU_300X250";

// MPU
ad4  ="/AAMB4/SITE=MS/AREA=" + site_area + "/POSITION=MS.MPU/AAMSZ=IAB_MPU_300X250";

// SKYSCRAPER 1
ad3  ="/AAMB3/SITE=MS/AREA=" + site_area + "/POSITION=MS.SKY/AAMSZ=IAB_SKYSCRAPER_120x600";

// PREMIUM BUTTON
ad5  ="/AAMB5/SITE=MS/AREA=" + site_area + "/POSITION=MS.PREMIUMBUTTON/AAMSZ=IAB_CONTENTBUTTON_240x90";

// AD STRIPS
ad6  ="/AAMB6/SITE=MS/AREA=" + site_area + "/POSITION=MS.RIBBON/AAMZ=IAB_ADSTRIP_980X60";
ad7  ="/AAMB7/SITE=MS/AREA=" + site_area + "/POSITION=MS.SEARCH.ADSTRIP/AAMSZ=IAB_ADSTRIP_300x40";
ad8  ="/AAMB8/SITE=MS/AREA=" + site_area + "/POSITION=MS.POP.ADSTRIP/AAMSZ=IAB_ADSTRIP_300x40";
ad9  ="/AAMB9/SITE=MS/AREA=" + site_area + "/POSITION=MS.RELATED.ADSTRIP/AAMSZ=IAB_ADSTRIP_300x40";

//STRAWPOLL
ad10  ="/AAMB10/SITE=MS/AREA=" + site_area + "/POSITION=MS.STRAWPOLL/AAMSZ=IAB_SINGLEBUTTON_120X60";

// MM BUTTONS
ad11 = "/AAMB11/SITE=MS/AREA=" + site_area + "/POSITION=MS.BUTTON1/AAMSZ=IAB_SINGLEBUTTON_120X60";
ad12 = "/AAMB12/SITE=MS/AREA=" + site_area + "/POSITION=MS.BUTTON2/AAMSZ=IAB_SINGLEBUTTON_120X60";

// JOB OF THE WEEKS
ad13  ="/AAMB13/SITE=MS/AREA=" + site_area + "/POSITION=MS.JOTW1/AAMSZ=IAB_CONTENTBUTTON_300x75";
ad14  ="/AAMB14/SITE=MS/AREA=" + site_area + "/POSITION=MS.JOTW2/AAMSZ=IAB_CONTENTBUTTON_300x75";

//IN PAGE BANNER
ad15  ="/AAMB15/SITE=MS/AREA=" + site_area + "/POSITION=MS.INPAGE_BANNER/AAMSZ=IAB_INPAGE_BANNER_468X60";

// BOTTOM LEADERBOARD
ad16  ="/AAMB16/SITE=MS/AREA=" + site_area + "/POSITION=MS.BOTTOMLEADERBOARD/AAMSZ=IAB_B_LEADERBOARD_728x90";

// WALLPAPER
ad17  ="/AAMB17/SITE=MS/AREA=" + site_area + "/POSITION=MS.WALLPAPER/AAMSZ=IAB_WALLPAPER_1X1";

// OVERLAY
ad18  ="/AAMB17/SITE=MS/AREA=" + site_area + "/POSITION=MS.OVERLAY/AAMSZ=IAB_OVERLAY_1x1";

// 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('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
// -----------------
