var GLOB='globalelements.ft.com';
var DEFPGE='http://'+GLOB+'/global/version3/';
var IEAGT='MSIE ';
var NS6AGT='Netscape6/';
var NS4AGT='Mozilla/';

var FTCC=GLOB+'/FTCOM/Common/';
var FTCW=GLOB+'/FTCOM/Wrapper/';
var FTYMC=GLOB+'/FTYM/Common/';
var FTYMW=GLOB+'/FTYM/Wrapper/';
var FTMWC=GLOB+'/MarketWatch/Common/';
var FTFR=GLOB+'/Markets/Funds/';
var ICONC=GLOB+'/ICON/Common/';
var ICONW=GLOB+'/ICON/Wrapper/';
var FTADC=GLOB+'/Advisor/Common/';
var NPOWERC=GLOB+'/Npower/Common/';
var SKYC=GLOB+'/Sky/Common/';
var PROMOMC=GLOB+'/Marketing/Common/';
var PROMOC=GLOB+'/Common/Wrapper/';
var PROMOW=GLOB+'/Common/Wrapper/';

var MPPW=GLOB+'/MarketPricesAndPortfolio/Wrapper/';

var SiteName=[
	['FTCOM','FT.com '],
	['FTYM','FTyourmoney '],	
	['FTMW','FT Investor '],
	['FTFR','FT Fund Ratings '],
	['ICON','Investors Chronicle '],
	['ICONAD','Investors Chronicle '],	
	['Advisor','FT Advisor '],
	['Npower','FTyourmoney '],
	['Sky','FTyourmoney '],
	['PM001','FT.com '],
	['PM002','FT.com ']
];

var CSSImports=[
  ['FTCOM',FTCW+'pfontspec.css'],
  ['FTYM',FTYMW+'ftym_fontspec.css'],
  ['FTMW',FTMWC+'ftmw_fontspec.css'],
  ['FTFR',FTFR+'fund_spec.css'],
  ['ICON',ICONW+'ic_fontspec.css'],
  ['ICONAD',ICONW+'ic_fontspec.css'],
  ['Advisor',FTADC+'ad_fontspec.css'],
  ['Npower',NPOWERC+'ftnp_fontspec.css'],
  ['Sky',SKYC+'ftsky_fontspec.css'],
  ['PM001',PROMOW+'fontspec.css'],
  ['PM002',PROMOW+'fontspec.css']
];

var NCSSImports=[
  ['FTCOM',FTCW+'ns_pfontspec.css'],
  ['FTYM',FTYMW+'ftym_fontspec_ns.css'],
  ['FTMW',FTMWC+'ftmw_fontspec_ns.css'],
  ['FTFR',FTFR+'fund_spec.css'],
  ['ICON',ICONW+'ic_fontspec_ns.css'],
  ['ICONAD',ICONW+'ic_fontspec_ns.css'],
  ['Advisor',FTADC+'ad_fontspec_ns.css'],
  ['Npower',NPOWERC+'ftnp_fontspec_ns.css'],
  ['Sky',SKYC+'ftsky_fontspec_ns.css'],
  ['PM001',PROMOW+'ns_fontspec.css'],
  ['PM002',PROMOW+'ns_fontspec.css']
];

var JSImports=[
  ['FTCOM',FTCC+'utils.js',FTCC+'navigation.js','',''],
  ['FTYM',FTYMC+'utils.js',FTYMC+'navigation.js','',''],
  ['FTMW',FTMWC+'navigation.js',FTMWC+'utils.js','',''],
  ['FTFR',FTFR+'navigation.js',FTFR+'utils.js',FTFR+'fund_func.js',''],
  ['ICON',ICONC+'utils.js',ICONC+'navigation.js','',''],
  ['ICONAD',ICONC+'utils.js',MPPW+'get_quote_unified.js',ICONC+'navigation-ad.js',''],
  ['Advisor',FTADC+'utils.js',FTADC+'navigation.js','',''],
  ['Npower',NPOWERC+'utils.js',NPOWERC+'navigation.js','',''],
  ['Sky',SKYC+'utils.js',SKYC+'navigation.js','',''],
  ['PM001',PROMOW+'FTUtils.js',PROMOMC+'pm001_navigation.js','',''],
  ['PM002',PROMOW+'FTUtils.js',PROMOW+'navigation.js','','']
];

var JSINC=0;
var CSSINC=1;

var FTSection = typeof FTSection == 'undefined'?'':FTSection;
var FTPage = typeof FTPage == 'undefined'?'':FTPage;
var FTIndustry = typeof FTIndustry == 'undefined'?'':FTIndustry;

function checkMinBrowserVersion(browser,version)
{
	var browsers=new Array(browser.indexOf('IE')>-1?'Internet Explorer':'',browser.indexOf('NS')>-1?'Netscape':'');
	var browserValid=0;
	if(browser=='') browserValid = 1;
	for(var i=0;i<browsers.length;i++)
	{
		if(browsers[i]==''||navigator.appName.indexOf(browsers[i])>-1)
		{
			browserValid=1;
			break;
		}
	}
	if(browserValid&&getVersion()>=version) browserValid = 1;
	else browserValid = 0;
	return(browserValid);
}

function getVersion()
{
	var agents=[IEAGT, NS6AGT, NS4AGT];
	var pos=0;
	var version=0.0;
	var ua=navigator.userAgent;	
	for(var i=0;i<agents.length;i++)
	{
		pos=ua.indexOf(agents[i]);
		if(pos>-1)
		{
			pos+=agents[i].length;
			break;
		}
		pos=0;
	}
	version=parseFloat(ua.substr(pos,ua.length));
	return(version);
}

function checkBrowserForSite(site)
{
	var ckSite='FTCOM';	
	if(site!='') ckSite = site;
	if(!checkMinBrowserVersion('',4)) location.href=DEFPGE;
}

function getArrayValue(array,site,value)
{
	var rval='';
	var name=0;
	for(var i=0;i<array.length;i++)
	{
		if(site==array[i][name]) rval=array[i][value];
	}
	return(rval);
}

function getSiteHeadComponents(site,num)
{
  var headHTML=' ';
  if(num==1)
	{
		if(document.layers) headHTML+=getInc(getArrayValue(NCSSImports,site,1),CSSINC);
		else headHTML+=getInc(getArrayValue(CSSImports,site,1),CSSINC);
  }
  if(num>1) headHTML+=getInc(getArrayValue(JSImports,site,(num-1)),JSINC);
  return(headHTML);
}

function getInc(url,type)
{
	var link='';
	var start='';
	var end='';
	if(url!='')
	{
 		if(type==JSINC)
		{
			start+='<scr'+'ipt language="Javascript" src="';
			end+='"></scr'+'ipt>';
		}
		else
		{
			start+='<link rel="stylesheet" type="text/css" href="';
			end+='" />';
		}
		link+=start;
		link+=isPageSecure()?'https://':'http://';
		link+=url+end;
	}
	else link = '<!-- null -->';
	return(link);
}

function isPageSecure()
{
	var loc=document.location.toString();
	var secure=false;
	if( loc.indexOf('https')>-1) secure = 1;
	return(secure);
}

function getSiteTitle(site,text)
{
	var title='<title>';
	title+=getArrayValue(SiteName,site,1);
	title+=text+'</title>';
	return(title);
}

function initPage(Site,Section,Page){ }
function writeheader(){return('ERR: HEADER FAILED');}
function writefooter(){return('ERR: FOOTER FAILED');}
function getAdHTML(){return('');}
function finishPage(){}
function commonOnLoad(){}
	
// Clear all cookies on FTCOM, if not done in CH.js - this only applied to CC3.6 pages!
var doneClear = typeof doneClear == 'undefined'?0:doneClear;
if((FTSite == 'FTCOM') && (doneClear == 0)) {
	document.cookie = 'FTSite=;domain=.ft.com;path=/;expires=Thu, 01-Jan-1970 00:00:01 GMT';
	document.cookie = 'FTSection=;domain=.ft.com;path=/;expires=Thu, 01-Jan-1970 00:00:01 GMT';
	document.cookie = 'FTPage=;domain=.ft.com;path=/;expires=Thu, 01-Jan-1970 00:00:01 GMT';
	document.cookie = 'FTIndustry=;domain=.ft.com;path=/;expires=Thu, 01-Jan-1970 00:00:01 GMT';
	document.cookie = 'keywordValue=;domain=.ft.com;path=/;expires=Thu, 01-Jan-1970 00:00:01 GMT';
	document.cookie = 'FTAdValues=;domain=.ft.com;path=/;expires=Thu, 01-Jan-1970 00:00:01 GMT';
	document.cookie = 'FTAdSiteCode=;domain=.ft.com;path=/;expires=Thu, 01-Jan-1970 00:00:01 GMT';
	// Set FTSite - need this for navigating to MW-hosted pages
	cookie = 'FTSite=' + FTSite +';domain=.ft.com;path=/;';
	document.cookie = cookie;
}
