var USER_FIRST_NAME="FNAME";var USER_LAST_NAME="LNAME";var USER_EMAIL="EMAIL";var USER_USERNAME="USERNAME";var USER_REMEMBER_ME="REMEMBER";var SUBSCRIPTION_RETURN_VALUE="http://www.ft.com/";var SUBSCRIPTION_NAME_INPUT_ID="username";var SUBSCRIPTION_PASSWORD_INPUT_ID="password";var SUBSCRIPTION_REMEMBER_ME_INPUT_ID="rememberme";var SUBSCRIPTION_LOCATION_INPUT_ID="location";var SUBSCRIPTION_SIGN_UP_NOW_URL="https://registration.ft.com/registration/subscription-service/signup?segid=70009&segsrc=fthome";var SUBSCRIPTION_MANAGE_ACCOUNT_URL="http://registration.ft.com/registration/selfcare/";var SUBSCRIPTION_REMEMBER_ME_HELP_URL="http://www.ft.com/servicestools/rememberme";var SUBSCRIPTION_ABOUT_SUBSCRIPTION_URL="http://www.ftlatest.com/subs-guide/";var TAKE_A_TOUR_URL="http://media.ft.com/subs-guide";var OVERSIZED="oversized";var CONTENT="content";var CONT="cont";var PAGE_HEADER="page-header";var PAGE_CONTENT="page-content";var PAGE_FOOTER="page-footer";var AD_PLACEHOLDER="ad-placeholder";var AD_CONTAINER="ad-container";var TRUNC="trunc";var STRING_USERNAME="Username";var STRING_ENTER_USERNAME="";var STRING_PASSWORD="Password";var STRING_ENTER_PASSWORD="";var STRING_REMEMBER_ME="Remember me";var STRING_LOG_IN="Log in";var STRING_LOG_OUT="Log out";var STRING_YOUR_ACCOUNT="Your account";var STRING_YOUR_ACCOUNT_TITLE="Click to change your details";var STRING_ABOUT_SUBSCRIPTION="About subscription";var STRING_YOUR_DETAILS="Your details";var STRING_SUBSCRIBE="Subscribe";var DIV="div";var SPAN="span";var UL="ul";var IMG="img";var ANC="a";var H3="h3";var TR="tr";var CLASS=is.ie?"className":"class";var INPUT="input";var SELECT="select";var TEXTAREA="textarea";var OBJECT="object";var TYPE="type";var TEXT="text";var PASSWORD="password";var IFRAME="iframe";var UNDEFINED="undefined";var VISIBLE="visible";var HIDDEN="hidden";var ABSOLUTE="absolute";var BLOCK="block";var INLINE="inline";var NONE="none";var MOUSEOVER="mouseover";var MOUSEOUT="mouseout";var CLICK="click";var FOCUS="focus";var BLUR="blur";var FULL_SUPPORT=0;var PARTIAL_SUPPORT=1;var UNKNOWN_SUPPORT=2;var browserSupportLevel;var osSupportLevel;if(is.ie5_5up||is.fx||is.nav7up||is.opera7up){browserSupportLevel=FULL_SUPPORT;}else if(is.ie5||is.opera6){browserSupportLevel=PARTIAL_SUPPORT;}else{browserSupportLevel=UNKNOWN_SUPPORT;}
if(is.win){osSupportLevel=FULL_SUPPORT;}else if(is.mac||is.unix){osSupportLevel=PARTIAL_SUPPORT;}else{osSupportLevel=UNKNOWN_SUPPORT;}
function initPage() {if( _proxy_jslib_handle(document, 'getElementsByTagName', '', 0, 0)){var divArr= _proxy_jslib_handle(document, 'getElementsByTagName', '', 1, 0)(DIV);for(var i=0;i<divArr.length;i++){var div= _proxy_jslib_handle(divArr, (i), 0, 0);if(div.getAttribute(CLASS)&&(div.getAttribute(CLASS).indexOf(AD_PLACEHOLDER)>=0||div.getAttribute(CLASS).indexOf(AD_CONTAINER)>=0)){if(typeof adsMouseoverHandler!="undefined"&&typeof adsMouseoutHandler!="undefined"){elListener(div,MOUSEOVER,adsMouseoverHandler);elListener(div,MOUSEOUT,adsMouseoutHandler);}}}}
if(is.opera6||is.ie5&&!is.ie5_5){var contEl= _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(CONTENT);if(contEl){addElementsToHideToCache(contEl);}}
adjustPageWidth();}
function adjustPageWidth() {var bdyEl= _proxy_jslib_handle(document, 'getElementsByTagName', '', 1, 0)("body")[0];if(bdyEl.getAttribute(CLASS)&&bdyEl.getAttribute(CLASS).indexOf(OVERSIZED)>=0){var content= _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(CONTENT);var cont= _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(CONT);var pageHeader= _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(PAGE_HEADER);var pageContent= _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(PAGE_CONTENT);var pageFooter= _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(PAGE_FOOTER); _proxy_jslib_handle(null, 'content', content, 0, 0).style.width="auto";var realContentWidth= _proxy_jslib_handle(null, 'content', content, 0, 0).offsetWidth+150;if(realContentWidth<783){realContentWidth=783;}
pageHeader.style.width=realContentWidth+"px";pageContent.style.width=realContentWidth+"px";pageFooter.style.width=realContentWidth+"px"; _proxy_jslib_handle(null, 'content', content, 0, 0).style.width="100%";}}
var refreshTimer=null;var refreshDelay=240000;var doRefreshTimer=false;function startRefreshTimer(delay,masterStart) {if(masterStart){doRefreshTimer=true;}
if(delay){refreshDelay=delay;}
if(doRefreshTimer&&!refreshTimer){refreshTimer= _proxy_jslib_handle(null, 'setTimeout', setTimeout, 1, 0)("window.location.reload(false)",refreshDelay);}}
function stopRefreshTimer() {clearTimeout(refreshTimer);refreshTimer=null;}
var currentTime;function setCurrentTime(millis) {currentTime=millis;}
function writeDate(publishDate,dateStyle,dateFormat,expireTime) {if(parseInt(currentTime)&&(currentTime-publishDate)<expireTime){ _proxy_jslib_handle(document, 'write', '', 1, 0)('<span class="'+dateStyle+'"> - '+dateFormat+'</span>');}}
function writeHeaderDate() {var d=new (Date)();var weekday=new (Array)("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");var monthname=new (Array)("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");var htmlStr= _proxy_jslib_handle(weekday, (d.getDay()), 0, 0)+" "+ _proxy_jslib_handle(monthname, (d.getMonth()), 0, 0)+" "+d.getDate()+" "+d.getFullYear(); _proxy_jslib_handle(document, 'write', '', 1, 0)(htmlStr);}
function isLoggedIn() {var lName=getCookieValueSubs(USER_LAST_NAME,null);var ckExists=getCookieValueSubs(USER_REMEMBER_ME,null);if(lName==null){ckExists=null;}
return(ckExists)?true:false;}
function writeSubscriberInfo() {var isLoggedIn= _proxy_jslib_handle(document, 'cookie', '', 0, 0).match(/FT_User/)|| _proxy_jslib_handle(document, 'cookie', '', 0, 0).match(/FT_Remember/);var eMail= _proxy_jslib_handle(document, 'cookie', '', 0, 0).match(/EMAIL=([^;:]+)/)?RegExp.$1:"Please update";var encodedPageURI=encodeURIComponent(thisPage.thisLoc);var htmlStr="";if(!isLoggedIn){htmlStr=''+'<form id="loginForm" method="post" action="https://registration.ft.com/registration/barrier/login/" name="loginForm">'+'<div class="login-head">'+'<h2>Log in</h2>'+'<ul>'+'<li><a title="Tour" class="text3" href="'+TAKE_A_TOUR_URL+'">Tour</a></li>'+'<li><a title="Sign up" class="text3" href="'+SUBSCRIPTION_SIGN_UP_NOW_URL+'">Sign up</a></li>'+'</ul> '+'<br clear="all"/> '+'</div>  '+'<fieldset> '+'<label>Username'+'<input type="text" value="'+STRING_ENTER_USERNAME+'" class="text" name="'+SUBSCRIPTION_NAME_INPUT_ID+'" id="'+SUBSCRIPTION_NAME_INPUT_ID+'"/> '+'</label>   '+'<div class="fieldset">'+'<label class="password">Password'+'<input id="'+SUBSCRIPTION_PASSWORD_INPUT_ID+'" name="'+SUBSCRIPTION_PASSWORD_INPUT_ID+'" class="text" value="'+STRING_ENTER_PASSWORD+'" type="password" />     '+'</label>  '+'<input type="image" alt="Log in" src="/login.gif" class="login"/> '+'</div>'+'</fieldset> '+'<label class="rememberme"><input checked="checked" type="checkbox" name="'+SUBSCRIPTION_REMEMBER_ME_INPUT_ID+'" id="'+SUBSCRIPTION_REMEMBER_ME_INPUT_ID+'"/><a href="'+SUBSCRIPTION_REMEMBER_ME_HELP_URL+'">Remember me</a></label> '+'<input type="hidden" value="'+encodedPageURI+'" name="'+SUBSCRIPTION_LOCATION_INPUT_ID+'" id="'+SUBSCRIPTION_LOCATION_INPUT_ID+'"/>  '+'</form>';}else{var displayEmail=(eMail.length>19)?eMail.substr(0,16)+"...":eMail;htmlStr='<div class="subscribe signedin">'+'<h1><span>'+STRING_YOUR_DETAILS+'</span></h1>'+' <p id="int_subsemail">'+unescape(displayEmail)+'</p>'+' <ul>'+' <li><a href="'+SUBSCRIPTION_MANAGE_ACCOUNT_URL+'">'+STRING_YOUR_ACCOUNT+'</a></li>'+' <li><a href="'+TAKE_A_TOUR_URL+'">'+STRING_ABOUT_SUBSCRIPTION+'</a></li>'+' <li><a href="https://registration.ft.com/registration/login/logout?location=http://www.ft.com">'+STRING_LOG_OUT+'</a></li>'+' </ul>'+' </div>';}
 _proxy_jslib_handle(document, 'write', '', 1, 0)(htmlStr);}
function writeSubscriberInfoFalcon() {var isLoggedIn= _proxy_jslib_handle(document, 'cookie', '', 0, 0).match(/FT_User/)|| _proxy_jslib_handle(document, 'cookie', '', 0, 0).match(/FT_Remember/);var eMail= _proxy_jslib_handle(document, 'cookie', '', 0, 0).match(/EMAIL=([^;:]+)/)?RegExp.$1:"Please update";var encodedPageURI=encodeURIComponent(thisPage.thisLoc);var htmlStr="";if(!isLoggedIn){htmlStr=''+'<form id="loginForm" method="post" action="https://registration.ft.com/registration/barrier/login/" name="loginForm">'+'<div class="login-head">'+'<h2>Log in</h2>'+'<ul><li><a title="Take a Tour" href="'+TAKE_A_TOUR_URL+'">Tour</a>   <a title="Sign up" href="'+SUBSCRIPTION_SIGN_UP_NOW_URL+'">Sign up</a></li></ul>'+'<br clear="all"/>'+'</div>'+'<fieldset>'+'<label for="'+SUBSCRIPTION_NAME_INPUT_ID+'">Username</label><br/>'+'<input type="text" value="'+STRING_ENTER_USERNAME+'" class="text" name="'+SUBSCRIPTION_NAME_INPUT_ID+'" id="'+SUBSCRIPTION_NAME_INPUT_ID+'"/>'+'</fieldset>'+'<fieldset>'+'<label for="password">Password</label><br/>'+'<input id="'+SUBSCRIPTION_PASSWORD_INPUT_ID+'" name="'+SUBSCRIPTION_PASSWORD_INPUT_ID+'" class="txt" value="'+STRING_ENTER_PASSWORD+'" type="password" /> <input type="image" alt="Log in" src="/login.gif" class="login"/> '+'</fieldset>'+'<fieldset class="remember">'+'<input type="checkbox" checked="checked" name="'+SUBSCRIPTION_REMEMBER_ME_INPUT_ID+'" id="'+SUBSCRIPTION_REMEMBER_ME_INPUT_ID+'"/>'+'<label for="enablepersist"><a href="'+SUBSCRIPTION_REMEMBER_ME_HELP_URL+'">Remember me</a></label>'+'</fieldset>'+'<input type="hidden" value="'+encodedPageURI+'" name="'+SUBSCRIPTION_LOCATION_INPUT_ID+'" id="'+SUBSCRIPTION_LOCATION_INPUT_ID+'"/>  '+'</form>';}else{var displayEmail=(eMail.length>19)?eMail.substr(0,16)+"...":eMail;htmlStr='<div class="subscribe signedin">'+'<h2><span>Your details</span></h2>'+'<p id="int_subsemail" style="visibility: visible;">'+eMail+'</p>'+'<ul>'+'<li><a title="Click to change your details" href="'+SUBSCRIPTION_MANAGE_ACCOUNT_URL+'">'+STRING_YOUR_ACCOUNT+'</a></li>'+'<li><a href="'+TAKE_A_TOUR_URL+'">'+STRING_ABOUT_SUBSCRIPTION+'</a></li>'+'<li><a href="https://registration.ft.com/registration/login/logout?location=http://www.ft.com">'+STRING_LOG_OUT+'</a></li>'+'</ul>'+'</div>'}
 _proxy_jslib_handle(document, 'write', '', 1, 0)(htmlStr);}
var TRIPLET="triplet";var FIRST_THIRD="first-third";var SECOND_THIRD="second-third";var THIRD_THIRD="third-third";function setTripletHeights() {var divArr= _proxy_jslib_handle(document, 'getElementsByTagName', '', 1, 0)(DIV);for(var d=0;d<divArr.length;d++){var theDiv= _proxy_jslib_handle(divArr, (d), 0, 0);var className=theDiv.getAttribute(CLASS);var firstDivContent;var secondDivContent;var thirdDivContent;if(className&&className.indexOf(TRIPLET)>=0){var thirdDivs= _proxy_jslib_handle(theDiv, 'getElementsByTagName', '', 1, 0)(DIV);for(var t=0;t<thirdDivs.length;t++){var tDiv= _proxy_jslib_handle(thirdDivs, (t), 0, 0);var tClassName=tDiv.getAttribute(CLASS);if(tClassName){if(tClassName.indexOf(FIRST_THIRD)>=0){firstDivContent=tDiv;}else if(tClassName.indexOf(SECOND_THIRD)>=0){secondDivContent=tDiv;}else if(tClassName.indexOf(THIRD_THIRD)>=0){thirdDivContent=tDiv;}}}
var height1=firstDivContent.clientHeight>0?firstDivContent.clientHeight:firstDivContent.scrollHeight;var height2=secondDivContent.clientHeight>0?secondDivContent.clientHeight:secondDivContent.scrollHeight;var height3=thirdDivContent.clientHeight>0?thirdDivContent.clientHeight:thirdDivContent.scrollHeight;var max1=Math.max(height1,height2);var max2=Math.max(height1,height3);var max3=Math.max(height2,height3);if(height1!=height2||height1!=height3||height2!=height3){var finalMax=Math.max(max1,max2);if(is.ie5||is.ie5_5){finalMax+=3;}
finalMax-=3;finalMax+="px";firstDivContent.style.height=finalMax;secondDivContent.style.height=finalMax;thirdDivContent.style.height=finalMax;if(!is.ie){firstDivContent.style.height="auto";secondDivContent.style.height="auto";thirdDivContent.style.height="auto";firstDivContent.style.minHeight=finalMax;secondDivContent.style.minHeight=finalMax;thirdDivContent.style.minHeight=finalMax;}}
var h3s= _proxy_jslib_handle(theDiv, 'getElementsByTagName', '', 1, 0)(H3);var h3MaxHeight=0;for(var h=0;h<h3s.length;h++){var hEl= _proxy_jslib_handle(h3s, (h), 0, 0);h3MaxHeight=Math.max(h3MaxHeight,hEl.offsetHeight);}
for(var xy=0;xy<h3s.length;xy++){var hEln= _proxy_jslib_handle(h3s, (xy), 0, 0);while(hEln.offsetHeight!=h3MaxHeight){hEln.insertBefore(document.createElement("br"),hEln.firstChild);}}}}}
function highlightItem(elsToLoopThrough,classToApply,highlightMatch1,highlightMatch2) {if(elsToLoopThrough){for(var i=0;i<elsToLoopThrough.length;i++){var el= _proxy_jslib_handle(elsToLoopThrough, (i), 0, 0);if(el.id==highlightMatch1||el.id==highlightMatch2){ _proxy_jslib_handle(el, 'setAttribute', '', 1, 0)(CLASS,(el.getAttribute(CLASS)!=null?el.getAttribute(CLASS)+" ":"")+classToApply);break;}}}}
function truncateStrToOneLine(str,el) {if(el&&str){el.style.visibility="hidden";var strLen=str.length;var height=el.offsetHeight; _proxy_jslib_assign('', el, 'innerHTML', '=', (str.wrap()));var newHeight=el.offsetHeight;while(newHeight>height){ _proxy_jslib_assign('', el, 'innerHTML', '=', (str.substring(0,strLen--).wrap()+"..."));newHeight=el.offsetHeight;}
el.style.visibility="visible";}}
String.prototype.wrap=function() {return this.split("").join("<wbr />");}
function getValue(key,defaultVal) {var value=defaultVal;var ck=typeof  _proxy_jslib_handle( _proxy_jslib_handle(null, 'location', location, 0, 0), 'search', '', 0, 0)!='undefined'? _proxy_jslib_handle( _proxy_jslib_handle( _proxy_jslib_handle(null, 'location', location, 0, 0), 'search', '', 0, 0), 'toString', '', 1, 0)():'';var begin;var str;if(key&&key.length>0&&ck&&ck.length>0){key+='=';begin=ck.indexOf(key)>-1?ck.indexOf(key)+key.length:-1;if(begin>-1){str=ck.substr(begin,ck.length); value= _proxy_jslib_assign_rval('', 'value', '=', (str.substr(0,str.indexOf('&')>0?str.indexOf('&'):str.length)), value);}}
return( _proxy_jslib_handle(null, 'value', value, 0, 0));}
function getValueFromStr(key,defaultVal,inStr,sep,keySep) {var value=defaultVal;var begin;var str;if(key&&key.length>0){key+=arguments.length>=5?keySep:'=';begin=inStr.indexOf(key)>-1?inStr.indexOf(key)+key.length:-1;if(begin>-1){str=inStr.substr(begin,inStr.length); value= _proxy_jslib_assign_rval('', 'value', '=', (str.substr(0,str.indexOf(sep)>=0?str.indexOf(sep):str.length)), value);}}
return  _proxy_jslib_handle(null, 'value', value, 0, 0);}
function getCookieValueSubs(key,defaultVal) {return(getValueFromStr(key,defaultVal, _proxy_jslib_handle(document, 'cookie', '', 0, 0),':'));}
function elListener(obj,eventName,handlerFunc) {var targetObj=(obj&&(typeof obj=="string"))? _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(obj):obj;if(targetObj){if(document.addEventListener){targetObj.addEventListener(eventName,handlerFunc,false);}else if(document.attachEvent){targetObj.attachEvent("on"+eventName,handlerFunc);}else{eval(_proxy_jslib_proxify_js(("targetObj.on"+eventName+" = handlerFunc"), 0, 0) );}}}
function elUnListener(obj,eventName,handlerFunc) {var targetObj=(obj&&(typeof obj=="string"))? _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(obj):obj;if(targetObj){if(document.removeEventListener){targetObj.removeEventListener(eventName,handlerFunc,false);}else if(document.removeEvent){targetObj.removeEvent("on"+eventName,handlerFunc);}else{}}}
function showElement() {var el;for(var i=0;i<arguments.length;i++){el=(typeof  _proxy_jslib_handle(arguments, (i), 0, 0)=="string")? _proxy_jslib_handle(document, 'getElementById', '', 1, 0)( _proxy_jslib_handle(arguments, (i), 0, 0)): _proxy_jslib_handle(arguments, (i), 0, 0);if(el&&el.style.visibility!=VISIBLE){el.style.visibility=VISIBLE;}
if(is.ie5_5up){showIframeMask(el);}}}
function hideElement() {var el;for(var i=0;i<arguments.length;i++){el=(typeof  _proxy_jslib_handle(arguments, (i), 0, 0)=="string")? _proxy_jslib_handle(document, 'getElementById', '', 1, 0)( _proxy_jslib_handle(arguments, (i), 0, 0)): _proxy_jslib_handle(arguments, (i), 0, 0);if(el&&el.style.visibility!=HIDDEN){el.style.visibility=HIDDEN;}
if(is.ie5_5up){hideIframeMask(el);}}}
function getElementLeft(el) {var leftPos=el.offsetLeft;var parentEl=el.offsetParent;while(parentEl!=null){leftPos+=parentEl.offsetLeft;parentEl=parentEl.offsetParent;}
return leftPos;}
function getElementTop(el) {var topPos=el.offsetTop;var parentEl=el.offsetParent;while(parentEl!=null){topPos+=parentEl.offsetTop;parentEl=parentEl.offsetParent;}
return topPos;}
function swapClass(el,fromClassRe,toClass,dontSetOrigClass) {var classStr=el.getAttribute(CLASS);if(classStr){if(!el.origClass&&!dontSetOrigClass){el.origClass=classStr;}
 _proxy_jslib_handle(el, 'setAttribute', '', 1, 0)(CLASS, _proxy_jslib_handle(classStr, 'replace', '', 1, 0)(fromClassRe,toClass));}}
function unswapClass(el) { _proxy_jslib_handle(el, 'setAttribute', '', 1, 0)(CLASS,el.origClass);}
var HELPWIN="helpWin";var DEFAULTPOPUPWIN="defaultPopUpWin";function openWindow(url,name,features) {var defaultFeatures;switch(name){case"HELP":defaultFeatures="scrollbars,toolbar=yes,location=no,nonresizable,width=515,height=527,left=0,top=0";break;default:defaultFeatures="scrollbars,toolbar=yes,location=no,nonresizable,width=515,height=527,left=0,top=0";}
if(features){defaultFeatures+=","+features;}
return  _proxy_jslib_handle(window, 'open', '', 1, 0)(url,name,defaultFeatures);}
function setWindowStatus(msg,e) {if(msg){msg= _proxy_jslib_handle( _proxy_jslib_handle(msg, 'replace', '', 1, 0)(/<.*>/ig,""), 'replace', '', 1, 0)(/&amp;/,"&");if(is.nav6){ _proxy_jslib_handle(null, 'setTimeout', setTimeout, 1, 0)(function() {window.status=msg;},1);}else{window.status=msg;}
if(e&&e.preventDefault){e.preventDefault();}}}
function getBrowserWidth() {return getBrowserHeightOrWidth(true);}
function getBrowserHeight() {return getBrowserHeightOrWidth();}
function getBrowserHeightOrWidth(returnWidth) {var myWidth=0;var myHeight=0;if(typeof(window.innerWidth)=='number'){myWidth=window.innerWidth;myHeight=window.innerHeight;}else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){myWidth=document.documentElement.clientWidth;myHeight=document.documentElement.clientHeight;}else if( _proxy_jslib_handle(document, 'body', '', 0, 0)&&( _proxy_jslib_handle(document, 'body', '', 0, 0).clientWidth|| _proxy_jslib_handle(document, 'body', '', 0, 0).clientHeight)){myWidth= _proxy_jslib_handle(document, 'body', '', 0, 0).clientWidth;myHeight= _proxy_jslib_handle(document, 'body', '', 0, 0).clientHeight;}
return returnWidth?myWidth:myHeight;}
function attachOnload(codeToAttach) {var currOnload=window.onload?window.onload:function() {void(0);};window.onload=function() {currOnload();eval(_proxy_jslib_proxify_js((codeToAttach), 0, 0) )};}
function ifrmParams(id,isOnload) {if(id=='ftsubscribe'){}
else{if(is.mac&&is.ie&&!isOnload){attachOnload("ifrmParams('"+id+"',true)");}else{var ifrm= _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(id);var newParams= _proxy_jslib_handle( _proxy_jslib_handle(null, 'location', location, 0, 0), 'search', '', 0, 0);if(newParams.match(/ifrmLoc=([^&]*)/)|| _proxy_jslib_handle(document, 'cookie', '', 0, 0).match(/ifrmLoc=([^;]*)/)){var newSrc=unescape(RegExp.$1);newSrc+=((newSrc.indexOf("?")>-1)?"&":"?")+( _proxy_jslib_handle(ifrm, 'src', '', 0, 0).match(/\?(.*)/)?RegExp.$1:""); _proxy_jslib_assign('', ifrm, 'src', '=', (newSrc));}else{if(typeof( _proxy_jslib_handle(ifrm, 'src', '', 0, 0).split("?")[1])!="undefined"){newParams+=(newParams.length>0?"&":"?")+ _proxy_jslib_handle(ifrm, 'src', '', 0, 0).split("?")[1];}
 _proxy_jslib_assign('', ifrm, 'src', '=', ( _proxy_jslib_handle(ifrm, 'src', '', 0, 0).split("?")[0]+newParams));}}
 _proxy_jslib_assign('', document, 'cookie', '=', ("ifrmLoc=; expires="+new (Date)().toGMTString()+"; path=/; domain=ft.com"));}}
var defaultIframeHeightSet=false;function ifrmSize(id) {var ifrm= _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(id);var realIfrmHeight;if( _proxy_jslib_handle( _proxy_jslib_handle(null, 'top', top, 0, 0).document, 'body', '', 0, 0).ifrmHeight){realIfrmHeight= _proxy_jslib_handle( _proxy_jslib_handle(null, 'top', top, 0, 0).document, 'body', '', 0, 0).ifrmHeight;if(!defaultIframeHeightSet){ifrm.style.height="2000px";defaultIframeHeightSet=true;}
if(realIfrmHeight){ifrm.style.height=realIfrmHeight+50+"px";var contHeight= _proxy_jslib_handle(document, 'getElementById', '', 1, 0)("content-top").offsetHeight- _proxy_jslib_handle(document, 'getElementById', '', 1, 0)("content-top").offsetTop;ifrm.style.height=Math.max(realIfrmHeight,contHeight)+50+"px";}}else if(ifrm&& _proxy_jslib_handle(ifrm, 'src', '', 0, 0).match(/ftH=([^&]*)/)){realIfrmHeight=RegExp.$1;ifrm.style.height=realIfrmHeight+"em";}else{ifrm.style.height="2000px";}}
function goToAnchor(anchorname) {var pathinfo= _proxy_jslib_handle( _proxy_jslib_handle(null, 'location', location, 0, 0), 'pathname', '', 0, 0);var pos=pathinfo.indexOf("#");if(pos>=0){pathinfo=pathinfo.substring(0,pos-1);}
 _proxy_jslib_assign('', window, 'location', '=', (pathinfo+"#"+anchorname));}
isShowEllipsis=false;function showEllipsis(numLines) {doShowEllipsis(numLines);}
function doShowEllipsis(numLines) {if( _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(CONTENT)){var contentWell= _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(CONTENT);}else{var contentWell= _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(CONT);}
var elArr=(document.all)?document.all: _proxy_jslib_handle(contentWell, 'getElementsByTagName', '', 1, 0)("*");var elHeight;var truncArr=new (Array)();for(var ix=0;ix<elArr.length;ix++){var el= _proxy_jslib_handle(elArr, (ix), 0, 0);if(el.getAttribute(CLASS)&&el.getAttribute(CLASS).indexOf(TRUNC)>-1){ _proxy_jslib_assign('', truncArr, (truncArr.length), '=', (el)); _proxy_jslib_handle(el, 'setAttribute', '', 1, 0)(CLASS, _proxy_jslib_handle(el.getAttribute(CLASS), 'replace', '', 1, 0)(/trunc/,""));}}
for(var i=0;i<truncArr.length;i++){var el= _proxy_jslib_handle(truncArr, (i), 0, 0);var htmlStr= _proxy_jslib_handle(el, 'innerHTML', '', 0, 0);var wordArr=htmlStr.split(" ").reverse();var blanks="&nbsp;";if(numLines){for(var j=1;j<numLines;j++){blanks+="<br />&nbsp;";}}
 _proxy_jslib_assign('', el, 'innerHTML', '=', (blanks));elHeight=el.offsetHeight; _proxy_jslib_assign('', el, 'innerHTML', '=', (htmlStr));if(el.offsetHeight>elHeight){var tit=el.getAttribute("title"); _proxy_jslib_handle(el, 'setAttribute', '', 1, 0)("title", _proxy_jslib_handle(unescape( _proxy_jslib_handle(el, 'innerHTML', '', 0, 0)), 'replace', '', 1, 0)(/&amp;/,"&")+((tit&&tit.length>0)?" - "+tit:"")); _proxy_jslib_assign('', el, 'innerHTML', '=', (wordArr.pop()));while(el.offsetHeight<=elHeight){ _proxy_jslib_assign('', el, 'innerHTML', '+=', (" "+wordArr.pop()));}
 _proxy_jslib_assign('', el, 'innerHTML', '=', ( _proxy_jslib_handle( _proxy_jslib_handle(el, 'innerHTML', '', 0, 0), 'replace', '', 1, 0)(/(\W[^\s]*)$/,"")));while(el.offsetHeight<=elHeight){ _proxy_jslib_assign('', el, 'innerHTML', '+=', ("."));}
 _proxy_jslib_assign('', el, 'innerHTML', '=', ( _proxy_jslib_handle( _proxy_jslib_handle(el, 'innerHTML', '', 0, 0), 'replace', '', 1, 0)(/\..$/,"")));if(! _proxy_jslib_handle(el, 'innerHTML', '', 0, 0).match(/\.{3}$/)){var loopCount=0; _proxy_jslib_assign('', el, 'innerHTML', '=', ( _proxy_jslib_handle( _proxy_jslib_handle(el, 'innerHTML', '', 0, 0), 'replace', '', 1, 0)(/(\W[^\s]*)$/,"")));while(el.offsetHeight<=elHeight){ _proxy_jslib_assign('', el, 'innerHTML', '+=', ("."));(loopCount= _proxy_jslib_assign_rval('++', 'loopCount', '', '', loopCount));if(loopCount>40){break;}}
 _proxy_jslib_assign('', el, 'innerHTML', '=', ( _proxy_jslib_handle( _proxy_jslib_handle(el, 'innerHTML', '', 0, 0), 'replace', '', 1, 0)(/\.$/,"")));}}}}
function tabShowHide(tabToShow,tabToHide,tabToHideTwo) {if( _proxy_jslib_handle(document, 'getElementById', '', 0, 0)){ _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(tabToHide).style.visibility='hidden'; _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(tabToHide).style.display='none'; _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(tabToShow).style.display='block'; _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(tabToShow).style.visibility='visible';}
if(!tabToHideTwo==0){ _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(tabToHideTwo).style.visibility='hidden'; _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(tabToHideTwo).style.display='none';}}
function selectAll(func) {try{doSaFunction(func);}
catch(errorObject)
{msg="An error has occured.\n\n";msg+="Please manually enter your alert preferences\n";msg+="Click OK to continue.\n\n";msg+="Error number: "+
(errorObject.number&0xffff)+"\n";msg+="Description: "+
errorObject.description+"\n\n";alert(msg);}}
function doSaFunction(func) {var radCount= _proxy_jslib_handle(document.editAlerts, 'getElementsByTagName', '', 1, 0)("input").length;radCount-=2;radCount/=3;for(var i=0;i<radCount;i++){var el= _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(func+(i+1));if(el){el.checked=true;}}}
function setNidHeights() {var targetDiv= _proxy_jslib_handle(document, 'getElementById', '', 1, 0)("nid-img");if(targetDiv){var imageHeight=(targetDiv.childNodes[0].offsetHeight)-2;if(imageHeight>20){var nidWinger=null;if( _proxy_jslib_handle(document, 'getElementById', '', 1, 0)("nid-menu")){nidWinger= _proxy_jslib_handle(document, 'getElementById', '', 1, 0)("nid-menu");}else if( _proxy_jslib_handle(document, 'getElementById', '', 1, 0)("nid-briefing")){nidWinger= _proxy_jslib_handle(document, 'getElementById', '', 1, 0)("nid-briefing");}
if(nidWinger){if(is.ie){if(!is.ie6up){imageHeight+=2;nidWinger.style.height=imageHeight+"px";}else if(!is.ie6){nidWinger.style.height=null;nidWinger.style.minHeight=imageHeight+"px";}else{nidWinger.style.height=imageHeight+"px";}}
else{nidWinger.style.minHeight=imageHeight+"px";}}}
var wdeskyContainer= _proxy_jslib_handle(document, 'getElementById', '', 1, 0)("ad-container-wdesky");var wdeskPlaceholder= _proxy_jslib_handle(document, 'getElementById', '', 1, 0)("ad-placeholder-wdesky");if(wdeskyContainer&&wdeskPlaceholder){var divvy= _proxy_jslib_handle(wdeskPlaceholder, 'getElementsByTagName', '', 1, 0)("div")[0];if(divvy){ _proxy_jslib_assign('', wdeskyContainer.style, 'top', '=', (getElementTop(divvy)+"px"));}}}}
function setFeaturedJobHeight() {for(var loop=0,maxcount=(divCollection= _proxy_jslib_handle(document, 'getElementsByTagName', '', 1, 0)('div')).length;loop<maxcount;loop++){if( _proxy_jslib_handle(divCollection, (loop), 0, 0).className.indexOf('j-row')>-1){var leftHeight=rightHeight=-1;var leftDiv=rightDiv=null;for(var loop2=0,maxcount2=(divRow= _proxy_jslib_handle( _proxy_jslib_handle(divCollection, (loop), 0, 0), 'getElementsByTagName', '', 1, 0)('div')).length;loop2<maxcount2;loop2++){if( _proxy_jslib_handle(divRow, (loop2), 0, 0).className.indexOf('jbox-left')>-1)leftHeight=(leftDiv= _proxy_jslib_handle(divRow, (loop2+1), 0, 0)).offsetHeight;if( _proxy_jslib_handle(divRow, (loop2), 0, 0).className.indexOf('jbox-right')>-1)rightHeight=(rightDiv= _proxy_jslib_handle(divRow, (loop2+1), 0, 0)).offsetHeight;}
if(leftHeight!=rightHeight){var variance=27;if(is.ie&&!is.ie6up)variance=0;if(leftHeight>rightHeight)rightDiv.style.height=leftHeight-variance+'px';if(leftHeight<rightHeight)leftDiv.style.height=rightHeight-variance+'px';}}}}
function tabShowHidePoll(tabToShow,tabToHide,ancToSelect,ancToDeselect) {if( _proxy_jslib_handle(document, 'getElementById', '', 0, 0)){ _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(tabToHide).style.visibility='hidden'; _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(tabToHide).style.display='none'; _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(tabToShow).style.display='block'; _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(tabToShow).style.visibility='visible';}}
function getSelectedRadio(buttonGroup) {if(buttonGroup[0]){for(var i=0;i<buttonGroup.length;i++){if( _proxy_jslib_handle(buttonGroup, (i), 0, 0).checked){return i;}}}else{if(buttonGroup.checked){return 0;}}
return-1;}
function getSelectedRadioValue(buttonGroup) {var i=getSelectedRadio(buttonGroup);if(i==-1){return"";}else{if( _proxy_jslib_handle(buttonGroup, (i), 0, 0)){return  _proxy_jslib_handle( _proxy_jslib_handle(buttonGroup, (i), 0, 0), 'value', '', 0, 0);}else{return  _proxy_jslib_handle(buttonGroup, 'value', '', 0, 0);}}}
function submitPoll() {var val=getSelectedRadioValue(document.forms[("frmPoll")].answer);var newImage=new (Image);var pollName= _proxy_jslib_handle(document.forms[("frmPoll")].poll_name, 'value', '', 0, 0); _proxy_jslib_assign('', newImage, 'src', '=', ("http://specials.ft.com/cgi-bin/Specials/Common/nph-Poll.cgi?answer="+val+"&poll_name="+pollName+"&results_url=http://www.ft.com/comment/pollresults"));tabShowHidePoll('ftpollresults','ftpoll');return false;}
function getUUIDFromString(stringForExtractingUUID) {var safeStringForMatch= _proxy_jslib_handle(stringForExtractingUUID, 'toString', '', 1, 0)();var articleId=safeStringForMatch.match(/[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}/);if(articleId){return  _proxy_jslib_handle(articleId, 'toString', '', 1, 0)();}
return null;}
function DirMCountry() {var categoryArr=new (Array)();this.addCategory=function(category) { _proxy_jslib_assign('', categoryArr, (categoryArr.length), '=', (category));}
this.getCategories=function() {return categoryArr;}
this.getCategory=function(idx) {return  _proxy_jslib_handle(categoryArr, (idx), 0, 0);}
this.addCategoryAndRegions=function() {var category=arguments[0];this.addCategory(category);for(var i=1;i<arguments.length;i++){category.addRegion( _proxy_jslib_handle(arguments, (i), 0, 0));}}
this.hasOnlyOneRegionPerCategory=function() {var hasOnlyOne=true;for(i in categoryArr){if( _proxy_jslib_handle(categoryArr, (i), 0, 0).getRegions().length>1){hasOnlyOne=false;}}
return hasOnlyOne;}}
function DirMCategory(nameM) {var strName=nameM;var regionArr=new (Array)();this.addRegion=function(region) { _proxy_jslib_assign('', regionArr, (regionArr.length), '=', (region));}
this.getName=function() {return strName;}
this.getRegion=function(val) {return  _proxy_jslib_handle(regionArr, (val), 0, 0);}
this.getRegions=function() {return regionArr;}}
function DirMRegion(nameD,uri) {var strNameD=nameD;var uri=uri;this.setName=function(val) {name=val;}
this.getName=function() {return strNameD;}
this.setUri=function(val) {uri=val;}
this.getUri=function() {return uri;}}
function processDirMClick(countryM,categoryIdx) {var strCountry=eval(_proxy_jslib_proxify_js((countryM), 0, 0) );var categories=strCountry.getCategories();var sel= _proxy_jslib_handle(document, 'getElementById', '', 1, 0)("dirMSelect");var lbl= _proxy_jslib_handle(document, 'getElementById', '', 1, 0)("dirMRegionCategoryLabel");if(sel){sel.options.length=null;var onlyOneRegion=strCountry.hasOnlyOneRegionPerCategory();if(categoryIdx&&categoryIdx!=-1){var regions=strCountry.getCategory(categoryIdx).getRegions(); _proxy_jslib_assign('', sel.options, (sel.options.length), '=', (new (Option)("[back to categories]",-1)));for(r in regions){ _proxy_jslib_assign('', sel.options, (sel.options.length), '=', (new (Option)( _proxy_jslib_handle(regions, (r), 0, 0).getName(), _proxy_jslib_handle(regions, (r), 0, 0).getUri())));}
if(lbl){ _proxy_jslib_assign('', lbl, 'innerHTML', '=', ("Select region"));}}else{for(c in categories){ _proxy_jslib_assign('', sel.options, (sel.options.length), '=', (new (Option)( _proxy_jslib_handle(categories, (c), 0, 0).getName(),onlyOneRegion? _proxy_jslib_handle(categories, (c), 0, 0).getRegion(0).getUri():c)));}
var wholething= _proxy_jslib_handle( _proxy_jslib_handle(document, 'getElementById', '', 1, 0)("regionmultiselector"), 'innerHTML', '', 0, 0);if(wholething){wholething= _proxy_jslib_handle(wholething, 'replace', '', 1, 0)(/>Private Client/," class='hilight' >Private Client");wholething= _proxy_jslib_handle(wholething, 'replace', '', 1, 0)(/>Trading:  Financial/," class='hilight' >Trading:  Financial");wholething= _proxy_jslib_handle(wholething, 'replace', '', 1, 0)(/>Trading: Futures/," class='hilight' >Trading: Futures");wholething= _proxy_jslib_handle(wholething, 'replace', '', 1, 0)(/>CFD Trading/," class='hilight' >CFD Trading"); _proxy_jslib_assign('',  _proxy_jslib_handle(document, 'getElementById', '', 1, 0)("regionmultiselector"), 'innerHTML', '=', (wholething));}
if(lbl){ _proxy_jslib_assign('', lbl, 'innerHTML', '=', ("Select category"));}}}}
function dirMProcessForm() {var sel= _proxy_jslib_handle(document, 'getElementById', '', 1, 0)("dirMSelect");if(sel&&sel.selectedIndex>-1){var optValue= _proxy_jslib_handle( _proxy_jslib_handle(sel, (sel.selectedIndex), 0, 0), 'value', '', 0, 0);if(!isNaN(optValue)){var countryRadio= _proxy_jslib_handle(document, 'getElementById', '', 1, 0)("dirMCountryUK");var country=countryRadio.checked?"uk":"us";processDirMClick(country,optValue);}else{ _proxy_jslib_assign('',  _proxy_jslib_handle(document, 'location', '', 0, 0), 'href', '=', (optValue));}}
return false;}
function dirMInit() { _proxy_jslib_handle(document, 'getElementById', '', 1, 0)("frm_directoryM").style.display='block'; _proxy_jslib_handle(document, 'getElementById', '', 1, 0)("frm_directoryM").style.visibility='visible';processDirMClick( _proxy_jslib_handle(document, 'getElementById', '', 1, 0)("dirMCountryUK").checked?"uk":"us");}
var uk=new (DirMCountry)();var us=new (DirMCountry)();function divShow(divID) {if( _proxy_jslib_handle(document, 'getElementById', '', 0, 0)){ _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(divID).style.visibility='visible'; _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(divID).style.display='block';}}
function divHide(divID) {if( _proxy_jslib_handle(document, 'getElementById', '', 0, 0)){ _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(divID).style.visibility='hidden'; _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(divID).style.display='none';}}
function hiLight(elem) { _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(elem).style.backgroundColor="#990000"; _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(elem).style.color="#FFFFFF";}
function loLight(elem) { _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(elem).style.backgroundColor="#FFFFFF"; _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(elem).style.color="#999999";}
function showHideSection(_data) {loLight(visible_section);hiLight(_data.id);_data= _proxy_jslib_handle(_data, 'href', '', 0, 0);if(visible_section!='')divHide('g-section-'+visible_section);visible_section=_data.substring(_data.lastIndexOf('#')+1,_data.length);if(visible_section!='')divShow('g-section-'+visible_section);} ;
_proxy_jslib_flush_write_buffers() ;