//site specifics
var sitePrefix = "ms";

var knownDirectoryProblems = new Array("");
var directoryFixes = new Array("");
var knownNavigationProblems = new Array("");
var navigationFixes = new Array("");

//initialise variables;
currentURL = window.location.href;
currentFileName = getFileName();
scprop1="";		//Editorial Search Terms
scprop2="";		//Number of Search Results
scprop3="";		//Content Title	
scprop4="";		//Content ID
scprop5="";		//Content Type
scprop6="";		//Site Section
scprop7="";		//Site Sub Section
scprop8="";		//Site Sub Section 2
scprop9="";		//Site Sub Section 3
scprop10="";	//Event Search Terms
scprop18="";	//Page Template
scprop24 = "";
scprop25="";	//Editorial Categories

scEVar18 = "";
scEVar31 = "";
scEVar32 = "";
scEVar33 = "";

scPageType="";

scPageName="default"; 
scChannel="default";
scEvents="";
scHier1=sitePrefix + ":" +"default";
scHier2="default";
user_id	= getMeta("CelerityGuidID");


function removeSlashesFromDirectoryNames(orginalPath) {

	var newPath = orginalPath;

	for (i = 0; i < knownDirectoryProblems.length; i++) {
		newPath = newPath.replace(knownDirectoryProblems[i], directoryFixes[i]);
	}
	
	return newPath;

}


function reversePrimaryNavigation(originalNav) {
	
	var newNav = originalNav;

	
	for (i = 0; i < knownNavigationProblems.length; i++) {
		newNav = newNav.replace(knownNavigationProblems[i], navigationFixes[i]);
	}
	
	newNav = newNav.replace(/ /gi, "-");
	
	var originalOrder = newNav.split(",");
	var newOrder = originalOrder.reverse();
	
	return newOrder;
}


function externalLinkClick(theClient) {

	s=s_gi(s_account);
	s.linkTrackVars="events,eVar24";
	s.linkTrackEvents="event14";
	s.eVar24=theClient
	s.events="event14";
	s.tl(this,'o','External Client Link Click - ' + theClient);
	
}

function getUserInfo(type) {
	var info = "";
	var userInfo = getMeta('AccInfo').split("|");
	
	switch (type) {
		case 'type':
			info = userInfo[0];
		break;
		case 'expired':
			info = userInfo[1];
		break;
		case 'source':
			info = userInfo[2];		
		break;
	}
		return info;

}

function getContentInfo() {

	var info = "";
	var contentInfo = getMeta('ContentInfo').split("|");;
	if (contentInfo.length > 1) {
		info = "restricted";
		switch (contentInfo[1]) {
			case '0':
				info += " - barrier shown";
			break;
			case '1':
				info += " - paid";
			break;
			case '2':
				info += " - fcf";
			break;
		}
	} else {
		info = "unrestricted";
	}
	return info;
}

//Used for tracking clicks on Most Comment, Most Popular etc
function blockItemClicked(item, type, thePageName) {

	switch (type) {
	
		case 1:
			s.linkTrackVars = "prop20,prop23";
			s.prop20 = item;
			s.prop23 = thePageName;
			s.tl(this,'o','most popular - ' + item); 
		break;
		case 2:
			s.linkTrackVars = "prop21,prop23";
			s.prop21 = item;
			s.prop23 = thePageName;
			s.tl(this,'o','most commented - ' + item);
		break;
		case 3:
			s.linkTrackVars = "prop22,prop23";
			s.prop22 = item;
			s.prop23 = thePageName;			
			s.tl(this,'o','most emailed - ' + item);
		break;
	}
	
	

}

function cleanForSiteCatalyst(theString) {

	var result = theString.replace(/\u2019|\u2018|\u201C|\u201D|[\u0080-\uFFFF]|;|,|'|"|\/|<|>|&/g, "");
	return result.toLowerCase();
}

//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);
  return 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;
	}
	
}

//returns the filename without the extension
function fileNameWithoutExtension(fileName) {
	
	var thefile;
	thefile = fileName.substring(0, fileName.indexOf("."));
	return thefile;
	
}

// 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';
}

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;
}

// detects subsite based on part of URL
// requires a string, e.g. 'channels/process-engineering'
function subsiteByURL(subsite) {
	if (currentURL.indexOf(subsite)>0) {
		return true;
	}
	return false;
}

// move ad output from placeholders to positions
// requires element ids with _inv/_vis suffix
function moveAdvert(AdContent) {
	var invContent = document.getElementById(AdContent + '_inv');
	var visContent = document.getElementById(AdContent + '_vis');
	visContent.appendChild(invContent);
	invContent.style.display = 'block';
	return false;
}

// commonly used variables
var CelerityGuidID = getMeta("CelerityGuidID"); 
var TopNav = "Latest News,Analysis,Opinion,Blogs,Supplements";
var primaryNav = getMeta("primarynavigation"); 
var currentURL = window.location.href;

var rootURL = "http://www.mortgagestrategy.co.uk/";
var sitePrefix = "ms";
var max_buttons = 2;
var rh_slot = "";
var rh_blocks = '';
var RH_all = "";

// AdTech size IDs
var LboardSizeID = 225; var BLboardSizeID = 225; var MPUSizeID = 170; var  InPgMPUSizeID = 170; var  MiniMpuBTSizeID = 1397; var SkySizeID = 168; var RibbonSizeID = 2739; var PremBTSizeID = 1199; var SearchAdStripSizeID = 1966; PopAdStripSizeID = 1966; RelatedAdStripSizeID = 1966; StrawpollBTSizeID = 12; var JOTW1SizeID = 2018; JOTW2SizeID = 2018; var BT1SizeID = 12; var BT2SizeID = 12; var WallpaperSizeID = 16; var OverlaySizeID = 16; var InpgBNSizeID = 1; 

// default ads array (position, ID) - will be served when mapping fails
// !!! TEMP ID values - change when default available
var arrAds = [];
arrAds = [['Lboard',3021148],['BLboard',3020303],['MPU',3020431],['InPgMPU',3020872],['MiniMpuBT',3020433],['Sky',3020900],['Ribbon',3020319],['PremBT',3020419],['SearchAdStrip',3020366],['PopAdStrip',3020757],['RelatedAdStrip',3021153],['StrawpollBT',3020824],['JOTW1',3021027],['JOTW2',3020518],['BT1',3021058],['BT2',3020769],['Wallpaper',3020289],['Overlay',3021008],['InpgBN',3020754]];

// AdTech groupID
if (window.adgroupid == undefined) 
	window.adgroupid = Math.round(Math.random() * 1000);

// Audience Science code
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 = 6;
var segQS = "";
if(rsi_segs.length < segLen) {
      segLen=rsi_segs.length;
}
for(var i=0; i < segLen; i++){
	if (i < segLen-1) {
		segQS += rsi_segs[i] + "+";
	} else {
		segQS += rsi_segs[i];
	}
}

