mmcore.SetCookie('mmid','426000342|AQAAAAoLCG4CBA0AAA==',365,1);mmcore.SetCookie('pd','426000342|AQAAAAoLCG4CBA0AAA==',365);mmcore.SetCookie('srv','nycvwcgeu02',365);(function(){if(typeof(mmcore.GenInfo)!='object')mmcore.GenInfo={};mmcore.EH=function(e){var s=e.message+'\r\n';if(!window.mm_error)window.mm_error=s;else window.mm_error+=s;};
mmcore.GenInfo['T42_Master']={'element1':'t42_welcomeprogrammev3'};
mmcore.GenInfo['V104ExTrialistsSuppressTrial']={'element1':'Default'};
var tc={'Element1':{'h':[],'c':[],'l':[]}}
try{
//Essentials

// Maxymiser Core - Try Catch v0.0.0 http://gitlab.maxymiser.net/gts/mmcore-try-catch/tree/master
(function(){'use strict';mmcore.tryCatch=function(){return function b(c,d){var e=arguments.length;return function(){try{return c.apply(this,arguments)}catch(a){try{mmcore.EH(a)}finally{1<e&&b(d)(a)}}}}}()})();

/**
 * Essentials - Deferred
 *
 * A handy tool for organizing waiting for something.
 *
 * @version 0.0.2
 *
 *
 * @author a.porohnya@gmail.com (Aleksey Porokhnya)
 * 
 * 27.08.2014 by Tytskiy
 *     Fixed issue with [].reduce() when this method was overwriten by Prototype.js.
 *     Changed native [].reduce() to own reduce() implementation. 
 *     Note: Own reduce() is not compatible with ECMAScript5!
 */
!function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n=[].slice;b="pending",d="resolved",c="rejected",h=function(a,b){return null!=a?a.hasOwnProperty(b):void 0},j=function(a){return h(a,"length")&&h(a,"callee")},k=function(a){return h(a,"promise")&&"function"==typeof(null!=a?a.promise:void 0)},i=function(a,b,c){null==a&&(a=[]);for(var d=0,e=a.length;e>d;d++)c=b(c,a[d]);return c},g=function(a){return j(a)?g(Array.prototype.slice.call(a)):Array.isArray(a)?i(a,function(a,b){return Array.isArray(b)?a.concat(g(b)):(a.push(b),a)},[]):[a]},e=function(a,b){return 0>=a?b():function(){return--a<1?b.apply(this,arguments):void 0}},l=function(a,b){return function(){var c;return c=[a].concat(Array.prototype.slice.call(arguments,0)),b.apply(this,c)}},f=function(a,b,c){var d,e,f,h,i;for(h=g(a),i=[],e=0,f=h.length;f>e;e++)d=h[e],i.push(d.call.apply(d,[c].concat(n.call(b))));return i},a=function(){var e,h,i,j,l,m,o;return o=b,j=[],l=[],m=[],i={resolved:{},rejected:{},pending:{}},this.promise=function(e){var h,p;return e=e||{},e.state=function(){return o},p=function(a,c,d){return function(){return o===b&&c.push.apply(c,g(arguments)),a()&&f(arguments,i[d]),e}},e.done=p(function(){return o===d},j,d),e.fail=p(function(){return o===c},l,c),e.progress=p(function(){return o!==b},m,b),e.always=function(){var a;return(a=e.done.apply(e,arguments)).fail.apply(a,arguments)},h=function(b,c,d){var f,g;return g=new a,f=function(a,b,c){return c?e[a](function(){var a,d;return a=1<=arguments.length?n.call(arguments,0):[],d=c.apply(null,a),k(d)?d.done(g.resolve).fail(g.reject).progress(g.notify):g[b](d)}):e[a](g[b])},f("done","resolve",b),f("fail","reject",c),f("progress","notify",d),g},e.pipe=h,e.then=h,null==e.promise&&(e.promise=function(){return e}),e},this.promise(this),e=this,h=function(a,c,d){return function(){return o===b?(o=a,i[a]=arguments,f(c,i[a],d),e):this}},this.resolve=h(d,j),this.reject=h(c,l),this.notify=h(b,m),this.resolveWith=function(a,b){return h(d,j,a).apply(null,b)},this.rejectWith=function(a,b){return h(c,l,a).apply(null,b)},this.notifyWith=function(a,c){return h(b,m,a).apply(null,c)},this},m=function(){var b,c,d,f,h,i,j;if(c=g(arguments),1===c.length)return k(c[0])?c[0]:(new a).resolve(c[0]).promise();if(h=new a,!c.length)return h.resolve().promise();for(f=[],d=e(c.length,function(){return h.resolve.apply(h,f)}),c.forEach(function(a,b){return k(a)?a.done(function(){var a;return a=1<=arguments.length?n.call(arguments,0):[],f[b]=a.length>1?a:a[0],d()}):(f[b]=a,d())}),i=0,j=c.length;j>i;i++)b=c[i],k(b)&&b.fail(h.reject);return h.promise()},mmcore.Deferred=function(){return new a},mmcore.when=m}.call(this);

// Maxymiser Essentials - Wait for v0.1.1
!function(){"use strict";mmcore.waitFor=function(e,t){var i,o;return o=mmcore.Deferred(),o.isComplete=function(){return"pending"!==o.state()},t=t||{},t.interval=t.interval||50,t.isNotStoppedOnDocumentReadiness=t.isNotStoppedOnDocumentReadiness||!1,t.isNotPeriodicallyChecked=t.isNotPeriodicallyChecked||!1,i=function(){o.isComplete()||(e.call(o)&&o.resolve(),o.isComplete()||(!t.isNotStoppedOnDocumentReadiness&&(mmcore.$&&mmcore.$.isReady||!mmcore.$&&"complete"===document.readyState)?o.reject():t.isNotPeriodicallyChecked||setTimeout(i,t.interval)))},t.hasOwnProperty("initializer")&&t.initializer.call(o),i(),o.isComplete()||(t.hasOwnProperty("timeout")&&!function(){var e=setTimeout(o.reject,t.timeout);o.always(function(){clearTimeout(e)})}(),t.isNotStoppedOnDocumentReadiness||mmcore.AddDocLoadHandler(t.isNotPeriodicallyChecked?o.reject:i)),o.promise()}}();

// Maxymiser Core - Campaign v0.3.0 http://gitlab.maxymiser.net/gts/mmcore-campaign/tree/master
(function(){"use strict";function e(e,t){var n=false;for(var r=0;r<t.length;r++){if(t[r]===e){n=true}}return n}function n(e,t,n){this.name=e;this.maxyboxNames=t;this.prefix=n;this.preventDefaultRendering();this.preventDefaultHiding()}mmcore.Campaign=n;var t=function(e,t,n){var r,i=[],s=0,o=e.length;n=!!n;for(;s<o;s++){r=!!t(e[s],s);if(n!==r){i.push(e[s])}}return i};n.prototype.preventDefaultRendering=function(){var e=mmcore._r_mbs;var t=this.maxyboxNames;var n=t.length;while(n--){e[t[n]]=1}};n.prototype.preventDefaultHiding=function(){var n=this;mmcore.HideMaxyboxes=function(r){return function(){var i=arguments;mmcore.tryCatch(function(){i=t(i,function(t){return e(t,n.maxyboxNames)})})();if(i.length){return r.apply(this,i)}}}(mmcore.HideMaxyboxes)};n.prototype.hideContent=function(e,t){var n;var r;var i;var s;var o=document.getElementsByTagName("html")[0];var u=o.getAttribute("class");this.hidingClass=this.prefix+"-hidden-content";if(u!==null&&u===""){u=this.hidingClass}else if(u==null){u=this.hidingClass}else{u=u+" "+this.hidingClass}o.setAttribute("class",u);if(arguments.length<2){t="left: -33554430px!important; position: absolute!important; top: -33554430px;!important"}n=this.hidingClass;s=e.split(",");i=s.length;r="";while(i--){r+="."+n+" "+s[i]+"{"+t+"}"}mmcore.AttachStyle(r)};n.prototype.showContent=function(){if(this.hasOwnProperty("hidingClass")){var e=document.getElementsByTagName("html")[0];var t=e.getAttribute("class");if(t!==null&&t!==""){t=t.replace(this.hidingClass,"");e.setAttribute("class",t)}}};n.prototype.getExperience=function(){return mmcore.GenInfo.hasOwnProperty(this.name)?mmcore.GenInfo[this.name]:null};n.prototype.hasNonDefaultExperience=function(){var e,t;e=this.getExperience();if(!e){return false}t=false;for(var n in e){if(e.hasOwnProperty(n)&&e[n]!=="Default"){t=true;return false}}return t};n.prototype.hasMaxybox=function(){return this.hasNonDefaultExperience()};n.prototype.renderMaxyboxes=function(){var n;var r;var i;r=this.maxyboxNames;if(arguments.length){r=t(arguments,function(t){return!e(t,r)})}n=this;for(i in mmcore._renderers){if(e(i,r)&&typeof mmcore._renderers[i]==="function"){mmcore._renderers[i].call(n)}}}})();

/*// Maxymiser Essentials - Request 0.2.0
(function(){"use strict";var t="event";var n=2250;var r;var i=function(){r=mmcore.Deferred();mmcore.request.promise=r.promise()};mmcore.request=function(e,s){var o=r;i();if(!arguments.length){e=t}mmcore.SetPageID(e);mmcore._async=!s;mmcore.CGRequest(o.resolve);setTimeout(mmcore.tryCatch(o.reject),n);return o.promise()};i()})();*/

// Maxymiser Essentials - Request 0.3.1
!function(){"use strict";function e(){o=mmcore.Deferred(),mmcore.request.promise=o.promise()}var o,r=Object.prototype.toString,t="[object Object]";mmcore.request=function(c,m,n){var s,i=2250,u=o,a=m||!1;return c=c||"event",m=m||!1,n="boolean"==typeof n?n:!1,s=Number(n)===n?n:i,e(),mmcore.SetPageID(c),r.call(a)===t?(mmcore._async="async"in a?Boolean(a.async):!0,s=a.timeout||s):mmcore._async=!m,mmcore.CGRequest(u.resolve),n||setTimeout(mmcore.tryCatch(function(){u.reject("timeout error")}),s),u.promise()},e()}();

//Maxymiser Essentials - Mediator 0.2.0
(function(){"use strict";function e(){var e=function(){return((1+Math.random())*65536|0).toString(16).substring(1)};return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()}function t(n,r,i){if(!(this instanceof t)){return new t(n,r,i)}this.id=e();this.fn=n;this.options=r;this.context=i;this.channel=null}function n(e,t){if(!(this instanceof n)){return new n(e)}this.namespace=e||"";this._subscribers=[];this._channels=[];this._parent=t;this.stopped=false}function r(){if(!(this instanceof r)){return new r}this._channels=new n("")}t.prototype={update:function(e){if(e){this.fn=e.fn||this.fn;this.context=e.context||this.context;this.options=e.options||this.options;if(this.channel&&this.options&&this.options.priority!==undefined){this.channel.setPriority(this.id,this.options.priority)}}}};n.prototype={addSubscriber:function(e,n,r){var i=new t(e,n,r);if(n&&n.priority!==undefined){n.priority=n.priority>>0;if(n.priority<0){n.priority=0}if(n.priority>=this._subscribers.length){n.priority=this._subscribers.length-1}this._subscribers.splice(n.priority,0,i)}else{this._subscribers.push(i)}i.channel=this;return i},stopPropagation:function(){this.stopped=true},getSubscriber:function(e){var t=0,n=this._subscribers.length;for(t,n;t<n;t++){if(this._subscribers[t].id===e||this._subscribers[t].fn===e){return this._subscribers[t]}}},setPriority:function(e,t){var n=0,r=0,i,s,o,u;for(r=0,u=this._subscribers.length;r<u;r++){if(this._subscribers[r].id===e||this._subscribers[r].fn===e){break}n++}i=this._subscribers[n];s=this._subscribers.slice(0,n);o=this._subscribers.slice(n+1);this._subscribers=s.concat(o);this._subscribers.splice(t,0,i)},addChannel:function(e){this._channels[e]=new n((this.namespace?this.namespace+":":"")+e,this)},hasChannel:function(e){return this._channels.hasOwnProperty(e)},returnChannel:function(e){return this._channels[e]},removeSubscriber:function(e){var t=this._subscribers.length-1;if(!e){this._subscribers=[];return}for(t;t>=0;t--){if(this._subscribers[t].fn===e||this._subscribers[t].id===e){this._subscribers[t].channel=null;this._subscribers.splice(t,1)}}},publish:function(e){var t=0,n=this._subscribers.length,r=false,i,s,o,u;for(t,n;t<n;t++){r=false;if(!this.stopped){i=this._subscribers[t];if(i.options!==undefined&&typeof i.options.predicate==="function"){if(i.options.predicate.apply(i.context,e)){i.fn.apply(i.context,e);r=true}}else{o=this._subscribers.length;i.fn.apply(i.context,e);u=this._subscribers.length;n=u;if(u===o-1){t--}r=true}}if(r&&i.options&&i.options!==undefined){i.options.calls--;if(i.options.calls<1){this.removeSubscriber(i.id);n--;t--}}}if(this._parent){this._parent.publish(e)}this.stopped=false}};r.prototype={getChannel:function(e){var t=this._channels,n=e.split(":"),r=0,i=n.length;if(e===""){return t}if(n.length>0){for(r,i;r<i;r++){if(!t.hasChannel(n[r])){t.addChannel(n[r])}t=t.returnChannel(n[r])}}return t},subscribe:function(e,t,n,r){var i=this.getChannel(e);n=n||{};r=r||{};return i.addSubscriber(t,n,r)},once:function(e,t,n,r){n=n||{};n.calls=1;return this.subscribe(e,t,n,r)},getSubscriber:function(e,t){return this.getChannel(t||"").getSubscriber(e)},remove:function(e,t){this.getChannel(e).removeSubscriber(t)},publish:function(e){var t=Array.prototype.slice.call(arguments,1),n=this.getChannel(e);t.push(n);this.getChannel(e).publish(t)}};r.prototype.on=r.prototype.subscribe;r.prototype.bind=r.prototype.subscribe;r.prototype.emit=r.prototype.publish;r.prototype.trigger=r.prototype.publish;r.prototype.off=r.prototype.remove;r.Channel=n;r.Subscriber=t;mmcore.mediator=new r})();
}catch(err){mmcore.EH(err);}
try{
/**
 * Defines methods: mmcore.isB2B, mmcore.isB2C
 * 04.02.2015
 * Alexander Tytskiy
 */
;(function(mmcore) {
	mmcore.siteTools = mmcore.siteTools || {};

	function isInvalidAYSCcookie() {
		var cookieAYSC = mmcore.GetCookie('AYSC', true);

		if(!cookieAYSC || cookieAYSC === "\"\"" || !cookieAYSC.match(/\S*/)){
			return true;
		}

		return false;
	}

	function getFormattedAyscCookie() {
		var ayscCookie = mmcore.GetCookie('AYSC', 1),
			arr = ayscCookie.split('_'),
			i = arr.length,
			AYSC = {},
			sub = '';

		while (i--) {
			if (arr[i]) {
				sub = arr[i].substr(0, 2);
				AYSC[sub] = arr[i].replace(/(\d+){2}/, '');
			}
		}

		return AYSC;
	}

	//update Kate Nikolaeva 26.11.2015 return value of specified field
	function getAYSCCookieField(fieldNumber) {
		var AYSC = getFormattedAyscCookie();

		return AYSC[fieldNumber];
	}

	function getUserType() {
		var AYSC = getFormattedAyscCookie();

		var userType = (!AYSC['27'] || AYSC['27'] === 'PVT') ? 'B2C' : 'B2B';

		return isInvalidAYSCcookie() ? '' : userType;
	}

	// Detects if user is of B2B type.
	function isB2B() {
		return getUserType() === 'B2B';
	}

	// Detects if user is of B2C type.
	function isB2C() {
		return getUserType() === 'B2C';
	}

	// Define session by campaign name.
	// Doesn't handle new or subsequent cookie state.
	// onceStartFunc callback will be executed only if it's session start.
	//
	// Function to be call on first request and after generation done.
	// This will be tracked just once.
	// So first time we are starting session it will be started only after
	// generation done.
	//
	// This can be done by creating separated script and mapping it to very first
	// page (Whole site) and campaign generation page.
	//
	// Quick example:
	// mmcore.siteTools.startSession('T21_TimeFormat', function () {
	//     mmcore.SetAction('T21_Sessions', 1, '');
	//     mmcore.request();
	// });
	//
	// campaignName - campaign name as per admin UI, case sensitive
	// onceStartFunc - optional callback
	function startSession(campaignName, onceStartFunc) {
		var cookieName = 'mm_' + campaignName + '_',
			cookie = mmcore.GetCookie(cookieName, true),
			buffer = mmcore.GetCookie('mm_ses', true),
			generated = buffer.indexOf('|' + campaignName) > -1;

		if (
		    !cookie &&
		    (generated || mmcore.GenInfo[campaignName])
		) {
			if (!generated) {
				buffer = buffer + '|' + campaignName;
				mmcore.SetCookie('mm_ses', buffer, 364/2, true);
			}

			mmcore.SetCookie(cookieName, 1, 0, true);

			try {
                // Clean request URL.
                delete mmcore._vars[cookieName];
                delete mmcore._vars.mm_ses;

				if (typeof onceStartFunc === 'function') {
					onceStartFunc.call(null);
				}
			} catch (err) {
				mmcore.EH(new Error('Plugin_SiteTools.js. Message: ' + err));
			}
		}
	}

	// Debug.
	mmcore.isInvalidAYSCcookie = isInvalidAYSCcookie;

	////////////////////////////////////////////////////////////////////////////
	//                                                                        //
	//  DEPRECATED.                                                           //
	//  Now we use mmcore.siteTools namespace.                                //
	//  Remove bordered code once all campaigns using this code finished.     //
	//                                                                        //
	mmcore.isB2B = isB2B;
	mmcore.isB2C = isB2C;
	//                                                                        //
	////////////////////////////////////////////////////////////////////////////

	// API.
	mmcore.siteTools.isB2B = isB2B;
	mmcore.siteTools.isB2C = isB2C;
	mmcore.siteTools.getAYSCCookieField = getAYSCCookieField;
	mmcore.siteTools.startSession = startSession;
}(window.mmcore));

}catch(err){mmcore.EH(err);}
try{
/*
* Created on 18.06.2015 by Yuliya Pshinko to Determine whether or not user has arrived on one of the discount pages
*
* User has arrived on one of the following URLs

 https://sub.ft.com/spa_2/ 
  
 https://sub.ft.com/spa_7/?country=US 
  
 https://sub.ft.com/spa_6/ 
  
 https://sub.ft.com/spa_4/

 THEN

 Assign Discount value = Yes

and if user set Yes it will never be No
 * */
;(function (mmcore) {
	var value = 'No';
	if ((location.hostname.indexOf('sub.ft.com') !== -1 && location.pathname.indexOf('spa_2') !== -1)
		|| (location.hostname.indexOf('sub.ft.com') !== -1 && location.pathname.indexOf('spa_7') !== -1 && location.search.indexOf('country=US') !== -1)
		|| (location.hostname.indexOf('sub.ft.com') !== -1 && location.pathname.indexOf('spa_6') !== -1)
		|| (location.hostname.indexOf('sub.ft.com') !== -1 && location.pathname.indexOf('spa_4') !== -1)) {
		value = 'Yes';
	}
	if (mmcore.GetPersistentCriterion('Discount') !== 'Yes') {
		mmcore.SetPersistentCriterion('Discount', value);
	}
}(window.mmcore));
}catch(err){mmcore.EH(err);}
try{
// Maxymiser Core - Attach Style v0.0.0 http://gitlab.maxymiser.net/gts/mmcore-attach-style/tree/master
(function(){'use strict';mmcore.AttachStyle=function(){var c={STYLE_ID:"mm-style",createStyle:function(){var b=document.createElement("style");b.type="text/css";return b},appendCssToStyle:function(){var b,a;"styleSheet"in c.createStyle()?(b=function(a){return a.styleSheet.cssText},a=function(a,b){a.styleSheet.cssText=b}):(b=function(a){return a.innerHTML},a=function(a,b){a.innerHTML=b});return(c.appendCssToStyle=function(c,d){a(d,b(d)+c)}).apply(this,arguments)}};return function(b){var a=document.getElementById(c.STYLE_ID);a||(a=c.createStyle(),a.id=c.STYLE_ID,function(){this.parentNode.insertBefore(a,this)}.call(document.getElementsByTagName("head")[0].lastChild));c.appendCssToStyle(b,a)}}()})();
}catch(err){mmcore.EH(err);}
try{
/** 
 * Prevent function execution on subsequent page refreshes.
 * 04.02.2015
 * Alexander Tytskiy
 */
/**
 * Prevent function execution on page refresh.
 * 24.12.2014
 * Alexander Tytskiy
 */

/**
 * Refresh plugin.
 * Exports mmcore.oncePerPageLoad() function.
 *
 * Execute function once per page load. Rule user left page defined by timeout in milliseconds.
 *
 * @author   gts media team
 * @version  0.1.0
 *
 * @param verbalID {String}   Verbal identifier to store our function as done
 * @param callback {Function} Function to execute once per page load
 * @param timeout  {Number}   Timeout in milliseconds (5000 per default)
 *
 * Example:
 *     mmcore.oncePerPageLoad('say1', function () {say(1)});
 *     mmcore.oncePerPageLoad('say2', function () {say(2)}, 7000);
 */
(function () {
	/* jshint strict: false */
	/* jshint maxlen: false */
	var mmcore = window.mmcore,
		SECOND = 1000;

	var getCurrentTimestamp = function () {
		return new Date().getTime();
	};

	var manager = {
		_stack: [],
		_preventeds: {},

		_timestamp: getCurrentTimestamp(),
		_timeout: 5 * SECOND,
		_oldOnunloadFn: window.onunload,
		_isLocalStorageAvailable: false,

		_storage: window.localStorage,
		_keyName: 'mm_prevent_f5',

		getCurrentTimestamp: getCurrentTimestamp,

		// Main API.
		oncePerPageLoad: function (verbalID, callback, timeout) {
			var item;

			verbalID = 'fn_' + verbalID;
			timeout = timeout || 0;

			if (!manager._preventeds[verbalID]) {
				callback.call(null);
			}

			item = manager._constructItem(verbalID, timeout);

			manager._stack.push(item);

			return manager;
		},

		initialize: function () {
			manager._isLocalStorageAvailable = manager.testLocalStorage();

			manager
				._fillPreventeds()
				._cleanExpired()
				._bindEvents();
		},

		testLocalStorage: function () {
			var key = 'mm_test';

			try {
				manager._storage.setItem(key, key);
				manager._storage.removeItem(key);
				return true;
			} catch (error) {
				return false;
			}
		},

		isEmptyObj: function (obj) {
			for (var prop in obj) {
				if (obj.hasOwnProperty(prop)) {
					return false;
				}
			}

			return true;
		},

		_fillPreventeds: function () {
			try {
				if (manager._isLocalStorageAvailable) {
					manager._preventeds = JSON.parse(manager._storage.getItem(manager._keyName)) || {};
				} else {
					manager._preventeds = JSON.parse(mmcore.GetCookie(manager._keyName, true)) || {};
				}
			} catch (err) {
				manager._preventeds = {};
			}

			return manager;
		},

		_bindEvents: function () {
			window.onunload = function () {
				var splitten;

				for (var i = 0, len = manager._stack.length; i < len; i++) {
					splitten = manager._stack[i].split(':');
					splitten[1] = parseInt(splitten[1], 10);

					if (splitten[1]) {
						manager._preventeds[splitten[0]] = {
							timestamp: manager.getCurrentTimestamp(),
							timeout: splitten[1]
						};
					} else {
						manager._preventeds[splitten[0]] = {
							timestamp: manager.getCurrentTimestamp()
						};
					}
				}

				if (manager.isEmptyObj(manager._preventeds)) {
					if (manager._isLocalStorageAvailable) {
						manager._storage.removeItem(manager._keyName);
					} else {
						mmcore.SetCookie(manager._keyName, '', -1, true);
					}
				} else {
					if (manager._isLocalStorageAvailable) {
						manager._storage.setItem(manager._keyName, JSON.stringify(manager._preventeds));
					} else {
						mmcore.SetCookie(manager._keyName, JSON.stringify(manager._preventeds), 0, true);
					}
				}

				if (manager._oldOnunloadFn) {
					return manager._oldOnunloadFn.apply(this, arguments);
				}
			};

			return manager;
		},

		_cleanExpired: function () {
			var isExpired = false,
				timeout = 0;

			for (var prop in manager._preventeds) {
				if (manager._preventeds.hasOwnProperty(prop)) {
					timeout = manager._preventeds[prop].timeout || manager._timeout;
					isExpired = Boolean((+ manager._preventeds[prop].timestamp + timeout < manager._timestamp));

					if (isExpired) {
						delete manager._preventeds[prop];
					}
				}
			}

			return manager;
		},

		_constructItem: function (id, timestamp) {
			return (id + ':' + timestamp);
		},

		// Debug.
		_cleanRefreshManager: function () {
			manager._preventeds = {};
			manager._stack = [];

			if (manager._isLocalStorageAvailable) {
				manager._storage.removeItem(manager._keyName);
			} else {
				mmcore.SetCookie(manager._keyName, '', -1, true);
			}
		}
	};

	try {
		manager.initialize();

		mmcore.oncePerPageLoad = manager.oncePerPageLoad;

		// Export this only for debugging.
		mmcore._cleanRefreshManager = manager._cleanRefreshManager;
	} catch (error) {
		// Anyway execute callback if something broken.
		mmcore.oncePerPageLoad = function (verbalID, callback) {
			callback.call(null);
			mmcore.EH(new Error('Plugin_Refresh.js: something went wrong on plugin initialization. Executed possible prevented action. Possible reason: ' + error));
		};
	}
}());
}catch(err){mmcore.EH(err);}
try{
/*
* Plugin which clear cookies from paused or completed campaigns
* */
;(function () {
	var cookiesNames = [
		'mm_T21_full_art_read',
		'mm-t20-page-reload'
	];
	for (var i = 0; i < cookiesNames.length; i++) {
		mmcore.SetCookie(cookiesNames[i], '', -1, true);
	}
}());
}catch(err){mmcore.EH(err);}
try{
//      IntegrationFactory.js 2.1.1
//      2015 Vitaliy Sobur
//      vitaliy.sobur@maxymiser.com
mmcore.IntegrationFactory = mmcore.IntegrationFactory || {
    // Current version
    VERSION: '2.1.1',

    // Registered integrations
    integrations: {},

    // __Register__ new integration
    // `name`: integration name
    // `options`: integration options

    register: function (name, options) {
        // Add new integration to `integrations` object
        this.integrations[name] = {
            // Define input data validation
            validate: options.validate  || function () {return true;},
            // Define when to execute integration
            check: options.check        || function () {return true;},
            // Define time inteval for check performing
            interval: options.interval  || 50,
            // Define default properties
            defaults: options.defaults  || {},
            // Define integration execution
            exec: options.exec
        };
    },


    // __Initialize__ target integration
    // `name`: integration name
    // `data`: campaign data
    initialize: function (name, data) {
        // Get target integration
        var integration = this.integrations[name],
            helpers = this._helpers,
            validationError;

        // Check if integration `name` is defined
        if (!name) return helpers.logError(errorMessages[0], name);

        // Check if integration execution method is defined
        if (!integration.exec) return helpers.logError(errorMessages[1], name);

        // Check whether the campaign is redirect campaign
        if (data.redirect &&
            // Check whether current page is generation page
            helpers.isGenerationPage(data.campaign) &&
            // Check whether there is non-default experience
            helpers.hasNoneDefaultExperience(data)) {
                // Save target campaign experience in case of redirect campaign
                helpers.saveCampaignExperience(data);
        } else {
            // Add target campaign info to the `data` object if doesn't exist
            data.campaignInfo = data.campaignInfo || helpers.getCampaignInfo(data);

            // Check if target campaign info exists
            if (data.campaignInfo) {
                // Add production check info to the `data` object
                data.isProduction = helpers.isProduction();
                // Validate entry data and get possible errors
                validationError   = helpers.isValidData.call(integration, name, data);
                // Check if `validationError` variable contains error message
                if (typeof validationError === 'string') {
                    // Log validation error
                    helpers.logError(validationError, name);
                } else {
                    // Execute defined modifiers
                    helpers.executeModifieres.call(integration, data, integration);
                    // Send target campaign information to third-party
                    helpers.sendIntegrationData.call(integration, data);
                }
            }
        }

    },

    // ### Helper methods ###
    _helpers: {
        // List of possible integration error messages
        errorMessages: [
            'Invalid integration build, name is required.',
            'Invalid integration build, exec is required.'
        ],

        // __Log errors__
        logError: function (message, integrationName) {
            mmcore.EH(
                {message: '[' + (integrationName ? integrationName : 'Integration') + '] ' + message}
            );
        },

        isGenerationPage: function (campaignName) {
            return mmcore.GenInfo[campaignName];
        },

        hasNoneDefaultExperience: function (data) {
            var experience = this.getCampaignExperience(data),
                hasNonDefaultExperience = false,
                key;

            for (key in experience) {
                if (experience.hasOwnProperty(key) &&
                    (experience[key] !== 'Default')) {
                    hasNonDefaultExperience = true;
                    break;
                }
            }

            return hasNonDefaultExperience;
        },

        // __Get__ target campaign __experience__
        getCampaignExperience: function (data) {
            // Get info from `mmcore.GenInfo` object
            var experience = mmcore.GenInfo[data.campaign];

            // Get campaign info from the cookie if campaign type is redirect
            if (data.redirect && !experience) {
                experience = JSON.parse(mmcore.GetCookie('mm_redir_' + data.campaign, 1) || '{}');
            }

            return experience;
        },

        // __Save__ target campaign __experience__ to cookies
        saveCampaignExperience: function (data) {
            // Get campaign name
            var campaignName = data.campaign,
            // Get campaign experience
                experience = mmcore.GenInfo[data.campaign];
            // Save campaign experince
            mmcore.SetCookie('mm_redir_' + campaignName, JSON.stringify(experience), 0, 1);
        },

        // __Get campaign info__ in client-friendly format
        // `MyCampaign_=element1:variant|element2:variant`
        getCampaignInfo: function (data) {
            var experience = this.getCampaignExperience(data),
                campaignInfo = [],
                element;

            // Log error if target campaign isn't generated
            if (!experience) return this.logError(data.campaign + ' is not found.');

            // Collect campaign experience
            for (var element in experience) {
                campaignInfo.push(element + ':' + experience[element]);
            }

            // Format and return campaign info
            return data.campaign + '=' + campaignInfo.join('|');
        },

        // __Check__ whether the page in __production mode__
        isProduction: function () {
            var params = ['cfgid', 'opc.enabled', 'opc.vis', 'pt.enabled', 'un'],
                i = 0;

            for(; i < params.length; i ++) {
                if (mmcore.GetParam(params[i])) {
                    return false;
                }
            }

            return true;
        },

        // __Check__ whether provided target camapaign __data is valid__
        isValidData: function (name, data) {
            return this.validate.call(this, data);
        },

        // __Execute__ defined __modifier__ methods
        executeModifieres: function (data, integration) {
            var modifiers = this.defaults.modifiers,
                modifier;

            if (modifiers) {
                for(modifier in modifiers) {
                    modifiers[modifier].call(integration, data, integration);
                }
            }
        },

        // __Execution__ of `exec` method defined in target integration
        sendIntegrationData: function (data) {
            var integration = this;

            // Check if third-party end point is available on the page
            (function checker() {
                if (integration.check(data)) {
                    // Execute integration
                    integration.exec(data);
                } else {
                    // Countinue checking if `isStopOnDocEnd` equals true
                    // or `DOM` isn't loaded yet
                    if (!integration.defaults.isStopOnDocEnd || !mmcore._docEnd) {
                        setTimeout(checker, integration.interval);
                    }
                }
            })();
        }
    }
};
}catch(err){mmcore.EH(err);}
try{
/*
 * Created on 02.07.2015 by Kate Nikolaeva to determine If user b2b or b2c
 * */
;(function (mmcore) {
	var userType = 'B2C';

	if (mmcore.siteTools.isB2B()) {
		userType = 'B2B';
	}

	mmcore.SetPersistentCriterion('B2BorB2C', userType);

}(window.mmcore));
}catch(err){mmcore.EH(err);}
try{
mmcore.IntegrationFactory.register(
  'iJento', {
    defaults: {
      modifiers: {
        Persist: function(data, buildParams){
          if (data.persist && (data.persistentCount || this.defaults.persistentCount)) {
            try {
              var storedList = JSON.parse(mmcore.GetCookie('mm_iPersist', 1) || '[]');
            } catch (e) {
              var storedList = [];
            };

            var searchFor = data.campaign + '=';
            for (var i = storedList.length; i --;) {
              if(!(storedList[i].indexOf(searchFor))) {
                  storedList.splice(i, 1);
              }
            }
            storedList.push(data.campaignInfo);
            while(storedList.length > data.persistentCount)
              storedList.shift();

            mmcore.SetCookie('mm_iPersist', JSON.stringify(storedList), 365, 1);
            data.campaignInfo = storedList.join('&');
          }
        }
      },
      persistentCount: 5
    },
    validate: function (data) {  
      if(!data.campaign)
        return 'No campaign.';
      return true;  
    },
    check: function (data) {  
      return window.si && window.si.sendAdditionalTracer;
    },
    exec: function (data) {  
      var prodSand = data.isProduction ? 'MM_Prod' : 'MM_Sand',
          mvtData = prodSand + "_" + data.campaignInfo;
      window.si.sendAdditionalTracer("/MVT", "creativeID=" + mvtData);
      if (data.callback) data.callback();
      return true;
    }  
});
}catch(err){mmcore.EH(err);}
try{
(function() {

	var userCookie = mmcore.GetCookie('FT_User', 1),
		visitorID = (userCookie.match(/USERID=([^:]+)/) || [])[1];

	if (visitorID) {
		if(mmcore.SetPersistentVisitorID) {
			mmcore.SetPersistentVisitorID(visitorID)
		} else {
			mmcore.SetVisitorID(visitorID)
		}
	}
})();
}catch(err){mmcore.EH(err);}
try{
/**
 * 11.09.2014
 * Track all campaigns automatically
 * A. Tytskiy
 *
 * Dependencies: [Plugin_Essentials.js:mmcore.waitFor,
 * 				  Plugin_Helpers.js:mmcore.helpers]
 */
(function (mmcore) {
	'use strict';

	var TIMEOUT = 4000;
	var track = function () {

		mmcore.ijento = mmcore.ijento || {};

		mmcore.AddDocLoadHandler(function () {
			if (!mmcore.GenInfo || !mmcore.waitFor) {
				return;
			}

			if (mmcore.helpers && window.si && window.si.sendAdditionalTracer) {
				mmcore.helpers.iJentoTag();
			} else {
				mmcore
					.waitFor(function () {
						return mmcore.helpers && window.si && window.si.sendAdditionalTracer;
					}, { isNotStoppedOnDocumentReadiness: true, timeout: TIMEOUT })
					.done(function () {
						mmcore.helpers.iJentoTag();
					});
			}
		});
	};

	track();
	track = null;
}(window.mmcore));

}catch(err){mmcore.EH(err);}
try{
/**
 * 05.11.2014
 * Track article view without barrier on page
 * Alexander Tytskiy
 *
 * Dependencies: ['mmcore.mediator', 'mmcore.request']
 */
(function () {
	'use strict';

	var mmcore = window.mmcore;
	var hostname = window.location.hostname;

	// don't waste time on registration/subscription domains
	if (hostname.indexOf('registration.ft.com') > -1 ||
		hostname.indexOf('sub.ft.com') > -1) {
		return;
	}

	// helper
	var arrayForEach = function (collection, callback) {
		var key, len;

		for (key = 0, len = collection.length; key < len; key++) {
			callback.call(null, collection[key], key, collection);
		}
	};

	// check that is on page <meta property="og:type" content="article">
	var checkMetaTag = function () {
		var metas = document.getElementsByTagName('meta');
		var isArticleMetaTagExists = false;

		arrayForEach(metas, function (tag) {
			if (tag.content && tag.content.toLowerCase() === 'article') {
				isArticleMetaTagExists = true;
			}
		});

		return isArticleMetaTagExists;
	};

	var checkGoodPageURL = function () {
		var pageHref = window.location.href;

		return pageHref.indexOf('Authorised=false') < 0;
	};

	// main function
	var track = function () {
		if (checkMetaTag() && checkGoodPageURL()) {
			mmcore.oncePerPageLoad(window.articleUUID, function () {
				mmcore.SetAction('ArticleViews', 1, '');
				mmcore.mediator.trigger('ArticleViews', {});
				mmcore.request();
			});
		}
	};

	mmcore.AddDocLoadHandler(function () {
		try {
			track();
		} catch (error) {
			if (typeof mmcore.EH === 'function') {
				mmcore.EH(new Error('Act_ArticleViews.js: Cannot track an ArticleViews action. Possible reason: ' + error));
			}
		}
	});
}());

}catch(err){mmcore.EH(err);}
try{
/**
 * 05.11.2014
 * Track article view without barrier on page
 * Alexander Tytskiy
 *
 * Dependencies: ['mmcore.waitFor', 'mmcore.mediator', 'mmcore.request', 'window.jQuery']
 */
(function () {
	'use strict';

	var mmcore = window.mmcore;
	var hostname = window.location.hostname;

	// don't waste time on registration/subscription domains
	if (hostname.indexOf('registration.ft.com') > -1 ||
		hostname.indexOf('sub.ft.com') > -1) {
		return;
	}

	var checkCommonConditions = function () {
		return window.jQuery && window.jQuery.fn.on;
	};

	var checkCorporateLiknkOnPlace = function () {
		return window.jQuery('#iaiBody a[href*="ftcorporate.ft.com"]').length;
	};

	var oncejQueryFound = function () {
		// use AddDocLoadHandler to not make browser calculation before actually page loaded
		// our barrier arrives asyncronously
		mmcore.AddDocLoadHandler(function () {
			try {
				bindCommonEvents();
			} catch (error) {
				if (typeof mmcore.EH === 'function') {
					mmcore.EH(new Error('Act_RegBarrierClicks.js: Cannot track an bind events. Possible reason: ' + error));
				}
			}

			mmcore
				.waitFor(checkCorporateLiknkOnPlace, {
					isNotStoppedOnDocumentReadiness: true,
					timeout: 7 * 1000
				})
				.done(onceCorporateLinkOnPlace);
		});
	};

	var oncejQueryNotFound = function () {
		if (typeof mmcore.EH === 'function') {
			mmcore.EH(new Error("Act_RegBarrierClicks.js: Cannot find jQuery. Don't care about this error if it's not the barrier page."));
		}
	};

	// common events means all events except Corporate click
	var bindCommonEvents = function () {
		var $ = window.jQuery;
		var $document = $(document);

		$document.on('mousedown', '#matrix a', function (event) {
			var isRegBarrier = window.HurdleType === 'h1';
			var $target = $(event.target).closest('a');
			var href = $target.attr('href');

			if (event.which === 1 && !event.metaKey && isRegBarrier && !$target[0].mmClicked) {
				var attr = '';
				var className = $target.attr('class');

				// map attr by default class name
				if (href.indexOf('//registration.ft.com/signup/register') > -1) {
					attr = 'Registration';
				} else if (className.indexOf('P1Signup') > -1) {
					attr = 'Standard';
				} else if (className.indexOf('P2Signup') > -1) {
					attr = 'Premium';
				} else if (className.indexOf('P4Signup') > -1) {
					attr = 'Bundle';
				}

				if (attr) {
					$target[0].mmClicked = true;
					mmcore.$Action('RegBarrierClicks', 1, attr);
				}
			}
		});

		$document.on('mousedown', '#iaiBody a[href*="www.ftsub.com/WWAAB"]', function (event) {
			var isRegBarrier = window.HurdleType === 'h1';
			var $target = $(event.target);

			if (event.which === 1 && !event.metaKey && isRegBarrier && !$target[0].mmClicked) {
				$target[0].mmClicked = true;
				mmcore.$Action('RegBarrierClicks', 1, 'Newspaper');
			}
		});
	};

	var onceCorporateLinkOnPlace = function () {
		var elem = window.jQuery('#iaiBody a[href*="ftcorporate.ft.com"]')[0];
		var oldOnclick = elem.onclick;
		var isTracked = false;
		var isAllow = false;

		elem.onclick = function (event) {
			if (!isTracked) {
				if (event.preventDefault) {
					event.preventDefault();
				}

				if (event.stopImmediatePropagation) {
					event.stopImmediatePropagation();
				}

				if (event.stopPropagation) {
					event.stopPropagation();
				}

				mmcore.SetAction('RegBarrierClicks', 1, 'Corporate');
				mmcore.request()
					.done(function () {
						var $elem = window.jQuery('#iaiBody a[href*="ftcorporate.ft.com"]');

						isTracked = true;
						isAllow = true;
						simulateNativeClick($elem[0]);
					})
					.fail(function () {
						var $elem = window.jQuery('#iaiBody a[href*="ftcorporate.ft.com"]');

						isAllow = true;
						simulateNativeClick($elem[0]);
					});

			}

			if (isAllow && typeof oldOnclick === 'function') {
				oldOnclick.apply(this, arguments);
			}
		};
	};

	var simulateNativeClick = function (element) {
	    if('createEvent' in document) {
	        var doc = element.ownerDocument,
	            evt = doc.createEvent('MouseEvents');
	        evt.initMouseEvent('click', true, true, doc.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
	        element.dispatchEvent(evt);
	    } else {
	        element.click(); // IE
	    }
	};

	mmcore
		.waitFor(checkCommonConditions)
		.done(oncejQueryFound)
		.fail(oncejQueryNotFound);
}());

}catch(err){mmcore.EH(err);}
try{
/**
 * When user reached share section by scroll, then track actions only once per page load.
 * 06.03.2015
 * Alexander Tytskiy
 */
 (function (window, mmcore) {
 	'use strict';

 	var tracked = false;

 	// See http://davidwalsh.name/javascript-debounce-function.
 	// Returns a function, that, as long as it continues to be invoked, will not
 	// be triggered. The function will be called after it stops being called for
 	// N milliseconds. If `immediate` is passed, trigger the function on the
 	// leading edge, instead of the trailing.
 	function debounce(func, wait, immediate) {
 		var timeout;
 		return function() {
 			var context = this,
 				args = arguments;
 			var later = function() {
 				timeout = null;
 				if (!immediate) {func.apply(context, args);}
 			};
 			var callNow = immediate && !timeout;
 			clearTimeout(timeout);
 			timeout = setTimeout(later, wait);
 			if (callNow) {func.apply(context, args);}
 		};
 	}

 	// Cross-browser event attaching.
 	var on = (function () {
 		var eventMethod = window.addEventListener ?
 			['addEventListener', ''] :
 			['attachEvent', 'on'];

 		return function on_(domElement, eventType, callback) {
 			domElement[eventMethod[0]](eventMethod[1] + eventType, function (event) {
 				event = event || window.event;

 				callback.call(this, event);
 			}, false);
 		};
 	}());

 	function isElementInVerticalViewport(el) {
 		var rect = el.getBoundingClientRect();

 		if (!el) {
 			return false;
 		}

 		return (
 			rect.top >= 0 &&
 			rect.bottom <= (window.innerHeight || document.documentElement.clientHeight)
 		);
 	}

 	var onScroll = function () {
 		try {
 			var elem = document.querySelector('#ft-story-tools-bottom'),
 				visible = isElementInVerticalViewport(elem);

 			if (visible && !tracked) {
 				tracked = true;
 				mmcore.SetAction('FullArticleRead', 1, '');
				mmcore.mediator.trigger('FullArticleRead', {});
 				mmcore.request();

 				onScroll = function () {};
 				onEfficientScroll = function () {};
 			}
 		} catch (err) {
 			mmcore.EH('Act_FullArticleRead.js. Message: ' + err);
 		}
 	};

 	var onEfficientScroll = debounce(onScroll, 400);

 	function init() {
 		try {
 			on(window, 'scroll', onEfficientScroll);
 		} catch (err) {
 			mmcore.EH('Act_FullArticleRead.js. Message: ' + err);
 		}
 	}

 	mmcore.mediator.on('ArticleViews', init);
 }(window, window.mmcore));

}catch(err){mmcore.EH(err);}
try{
(function(){mmcore._async=true;mmcore.SetPageID('AsyncPageWS');mmcore.CGRequest()}());
}catch(err){mmcore.EH(err);}
try{
mmcore.AddDocLoadHandler(function ActBarrierClicks() {
	var isBarrierPresent = window.location.href.indexOf('Authorised=false.html') + 1,
		$ = window.jQuery;

	if (isBarrierPresent) {
		$(document).on('click', '.barrier-matrix a', function () {
			var attr = '',
				href = $(this).attr('href'),
				term = $(this).attr('data-subscription-term'),
				suffix = '';

			suffix = (term === 'annually') ? '_A' : '_M';

			if (href.indexOf('https://subscription.ft.com/?offerId=') + 1) {
				attr = 'Trial';
			} else if (href.indexOf('https://subscription.ft.com/signup/standard?') + 1) {
				attr = 'Standart' + suffix;
			} else if (href.indexOf('https://subscription.ft.com/signup/premium?') + 1) {
				attr = 'Premium' + suffix;
			} else if (href.indexOf('https://sub.ft.com/') + 1) {
				attr = 'PrintPremium' + suffix;
			}

			mmcore.$Action('BarrierClicks', 1, attr);
		});
	}
});
}catch(err){mmcore.EH(err);}
try{
;(function (m) {  
	'use strict';  
  
	function Campaign(config) {  
		this._objStyle = {};  
		this._config = config;  
		this.name = config.name;  
		this.mmPath = config.mmPath;  
	}  
	Campaign.prototype.addStyle = (function () {  
		var cg1 = document.getElementById(m.cprefix + '1'), st;  
		return function (css, name) {  
			st = this._objStyle[name];  
			name = name || "mm_style";  
			if (!st) {  
				st = document.createElement("style");  
				st.type = "text/css";  
				cg1.parentNode.insertBefore(st, cg1);  
				this._objStyle[name] = st;  
			}  
			if (st.styleSheet) {  
				st.styleSheet.cssText += css;  
			} else {  
				st.innerHTML += css;  
			}  
		};  
	}());  
	Campaign.prototype.removeStyle = function (name) {  
		var st = this._objStyle[name];  
		name = name || "mm_style";  
		if (st) {  
			st.parentNode.removeChild(st);  
		}  
		delete this._objStyle[name];  
	};  
	Campaign.prototype.preloadImages= function (tc) {  
		if (!tc) {  
			return false;  
		}  
		var self = this, mb, con, v, tcc, src, i, gi = m.GenInfo[self._config.name];  
		self.mb = {};  
		self._rmb = [];  
		for (mb in tc) {  
			if (tc.hasOwnProperty(mb)) {  
				v = gi[mb.toLowerCase()];  
				self.mb[mb] = v;  
				if (!/undefined|default/i.test(v)) {  
					self._rmb.push(mb);  
					if (!self._config.mmPath) {  
						continue;  
					}  
					for (con in tc[mb]) {  
						if (tc[mb].hasOwnProperty(con)) {  
							tcc = tc[mb][con];  
							i = tcc.length;  
							while (i--) {  
								tc[mb][con][i] = tcc[i].replace(/\[mm_path\]([^)'"]+)/g, function (m, img) {  
									src = (new Image()).src = self._config.mmPath + img;  
									return src;  
								});  
							}  
						}  
					}  
				}  
			}  
		}  
		return self._rmb.length;  
	};  
	Campaign.prototype.render = function () {  
		var self = this,  
			isAsync = !!self._config.pageID,  
			content = {  
				show: function () {  
					self.removeStyle(self._config.name);  
				},  
				hide: function () {  
					self.addStyle(self._config.hide + '{position: relative; left:-10000px}', self._config.name);  
				}  
			},  
			checker = (function () {  
				var is_checker_set = typeof self._config.checker === 'function',  
					exit = (isAsync) ? false : m._docEnd;  
				return function () {  
					return is_checker_set ? (self._config.checker() || exit) : m._docEnd;  
				};  
			}()),  
			stopChecker = (function () {  
				var is_checker_set = typeof self._config.stopChecker === 'function',  
					exit = m._docEnd;  
				if (isAsync) {  
					exit = false;  
					setTimeout(function () { exit = true; }, self._config.checkerTimeout || 5000);  
				}  
				return function () {  
					return is_checker_set ? (self._config.stopChecker() || exit) : exit;  
				};  
			}());  
		if (isAsync || self.preloadImages(tc || null)) {  
			content.hide();  
		} else {  
			return;  
		}  
		(function waiter() {  
			if (checker()) {  
				if (isAsync) {  
					m._async = true;  
					m.SetPageID(self._config.pageID);  
					if (typeof self._config.beforeCGRequest === 'function') {  
						self._config.beforeCGRequest();  
					}  
					m.AddDocLoadHandler(function () {});  
					m.CGRequest(function () {  
						m.AddDocLoadHandler(function () {  
							if (typeof self._config.afterCGRequest === 'function') {  
								self._config.afterCGRequest();  
							}  
							content.show();  
						});  
					});  
					m.HideMaxyboxes = function () {};  
					setTimeout(content.show, self._config.emergencyOpenTimeout || 3000);  
				} else if (self._rmb.length) {  
					m.RenderMaxyboxes(self._rmb);  
					content.show();  
				}  
			} else if (!stopChecker()) {  
				setTimeout(waiter, 50);  
			} else {  
				content.show();  
			}  
		}());  
	};  
	m.initCampaign = function (config) {  
		return new Campaign(config);  
	};  
}(window.mmcore));  
}catch(err){mmcore.EH(err);}
try{
(function ( m ) {
	m.initCampaignForUser = function(){};

	var cookie, usr, S;

	cookie = m.GetCookie( 'AYSC', 1 );

	if(!cookie || cookie === "\"\"" || !cookie.match(/\S*/)){
		return;
	}

	usr = cookie.match( /PVT_27[A-Za-z0-9]{4,13}/ )? 'B' :'C';

	S = (function () {
		var style, isStyle, mmcoreFR;
		mmcoreFR = document.getElementById( 'mmcore.1' );
		isStyle = function ( style ) { return style && style.nodeType === 1 && style.nodeName.toLowerCase() === 'style'; };
		return {
			attachStyle: function ( text, styleOut ) {
				if ( !text || typeof text !== 'string' || text === '' ) { return false; }
				if ( isStyle( styleOut ) ) { style = styleOut; } else {
					style = document.createElement( 'style' );
					style.type = 'text/css';
				}
				if ( style.styleSheet ) { style.styleSheet.cssText += text; } else { style.innerHTML += text;}
				mmcoreFR.parentNode.insertBefore( style, mmcoreFR );
				return style;
			},
			removeStyle: function ( styleOut ) {
				if ( !styleOut ) { styleOut = style; }
				if ( isStyle( styleOut ) && styleOut.parentNode ) { styleOut.parentNode.removeChild( styleOut ); } else { return false; }
				return true;
			}
		};
	}());


	m.initCampaignForUser = function ( user, testname, cssSelectorOrCustomRender, onWrongUser ) {
		var style, cssSelector, customRenderer;

		if ( user.toUpperCase() !== usr ) {
			if ( typeof onWrongUser === 'function' ) {
				onWrongUser.call(null, user, testname);
			}
			return;
		}

		if ( cssSelectorOrCustomRender ) {
			if ( typeof cssSelectorOrCustomRender === 'function' ) {
				customRenderer = cssSelectorOrCustomRender;
			} else {
				cssSelector = cssSelectorOrCustomRender;
				style = S.attachStyle( cssSelector + '{ position: relative !important; left: -9999px !important; }' );

				setTimeout( function () {
					S.removeStyle( style );
				}, 5000 );
			}
		}

		if ( typeof customRenderer === 'function' ) {
			customRenderer.call(null, user, testname);
		} else {
			m._async = true;
			m.HideMaxyboxes = function () {};
			m.SetPageID( testname + '_pageID' );
			m.CGRequest( function () {
				if ( cssSelector ) {
					m.AddDocLoadHandler( function () {
						setTimeout( function () {
							S.removeStyle( style );
						} );
					} );
				}
			} );
		}
	};

}( window.mmcore ));

}catch(err){mmcore.EH(err);}
try{
(function (global, mmcore, undefined) {
	'use strict';

	var Helpers;

	/**
	 * Common FT helpers
	 * API:
	 * - mmcore.helpers.getAYSCfield(field)
	 * - mmcore.helpers.setAYSCfield(field, value)
	 * - mmcore.helpers.getPrice(type, level, [isEmulation])
	 * - mmcore.helpers.objectForEach(object, callback)
	 * - mmcore.helpers.iJentoTag()
	 * - debuggind:
	 *   - mmcore.helpers.printPrice([countryAbbreviation])
	 */
	Helpers = function () {
		this.props = {
			price: {
				monthly: {
					newspaper: {
						europe: '&euro;98.15',
						GBR: '&pound;76.05',
						USA: '$64.68',
						AUS: 'N/A',
						HKG: '$552.50',
						SGP: '$96.96',
						JPN: '&yen;13,520.00',
						CHE: 'CHF 157.19',
						other: 'N/A'
					},
					premium: {
						europe: '&euro;47.19',
						GBR: '&pound;40.95',
						USA: '$51.52',
						AUS: '$48.30',
						HKG: '$388.50',
						SGP: '$63.05',
						JPN: '&yen;6,088.00',
						CHE: 'CHF 52.65',
						other: '$51.52'
					},
					standard: {
						europe: '&euro;33.00',
						GBR: '&pound;29.00',
						USA: '$35.00',
						AUS: '$33.00',
						HKG: '$270.00',
						SGP: '$43.00',
						JPN: '&yen;4,800.00',
						CHE: 'CHF 36.00',
						other: '$35.00'
					},
					trial: {
						europe: '&euro;1',
						GBR: '&pound;1',
						USA: '$1',
						AUS: '$1',
						HKG: '$10',
						SGP: '$1',
						JPN: '&yen;100',
						CHE: 'CHF 1',
						other: '$1'
					},
					discount: {
						europe: '&euro;25.00',
						GBR: '&pound;22.00',
						USA: 'US$27.00',
						AUS: 'A$25.00',
						HKG: 'HK$207.00',
						SGP: 'S$33.00',
						JPN: '&yen;3690',
						CHE: 'CHF27.00',
						other: 'US$27.00'
					}
				},
				annual: {
					newspaper: {
						europe: '&euro;17.42',
						GBR: '&pound;13.50',
						USA: '$11.48',
						AUS: 'N/A',
						HKG: '$98.08',
						SGP: '$17.21',
						JPN: '&yen;2,400.00',
						CHE: 'CHF 27.90',
						other: 'N/A'
					},
					premium: {
						europe: '&euro;8.39',
						GBR: '&pound;7.15',
						USA: '$8.99',
						AUS: '$8.59',
						HKG: '$68.99',
						SGP: '$11.15',
						JPN: '&yen;1,090.00',
						CHE: 'CHF 9.25',
						other: '$8.99'
					},
					standard: {
						europe: '&euro;5.75',
						GBR: '&pound;5.19',
						USA: '$6.25',
						AUS: '$5.99',
						HKG: '$47.99',
						SGP: '$7.69',
						JPN: '&yen;849.00',
						CHE: 'CHF 6.39',
						other: '$6.25'
					},
					trial: {
						europe: '&euro;1',
						GBR: '&pound;1',
						USA: '$1',
						AUS: '$1',
						HKG: '$10',
						SGP: '$1',
						JPN: '&yen;100',
						CHE: 'CHF 1',
						other: '$1'
					},
					discount: {
						europe: '&euro;4.39',
						GBR: '&pound;3.99',
						USA: 'US$4.79',
						AUS: 'A$4.59',
						HKG: 'HK$36.89',
						SGP: 'S$5.89',
						JPN: '&yen;652.67',
						CHE: 'CHF4.89',
						other: 'US$4.79'
					}
				}
			},
			europe: [
				'ALB',
				'AUT',
				'BEL',
				'BGR',
				'CYP',
				'CZE',
				'DNK',
				'EST',
				'FIN',
				'FRA',
				'PYF',
				'DEU',
				'GRC',
				'HUN',
				'IRL',
				'ITA',
				'LVA',
				'LIE',
				'LTU',
				'LUX',
				'MLT',
				'MDA',
				'MCO',
				'MNE',
				'NLD',
				'NLD',
				'NOR',
				'POL',
				'PRT',
				'ROU',
				'SRB',
				'SVK',
				'SVN',
				'ESP',
				'SWE',
				'CHE',
				'TUR'
			]
		};
	};

	/**
	 * @param {Number|String}    field Number of field in the `AYSC` cookie
	 * @returns {String|Boolean} Value if success or false if field doesn't exist
	 *
	 * @note:
	 *    If field was set to empty string like so `_22_` function returns an empty string ''
	 *    Else if cookie hasn't field inside then function returns `false`
	 */
	Helpers.prototype.getAYSCfield = function (field) {
		var aysc;
		var match;

		field = String(field);
		if (field.length < 2) {
			field = '0' + field;
		}
		aysc = mmcore.GetCookie('AYSC', true);
		match = (aysc.match(new RegExp('_' + field + '(.*?)_')) || [null, null])[1];
		if (!match) {
			match = (aysc.match(new RegExp('_' + field + '_')) ? ['', ''] : [null, null])[0];
		}
		if (!field || !aysc || match === null) {
			return false;
		}
		return match;
	};

	/**
	 * @param {Number|String}    field Number of field in `AYSC` cookie
	 * @param {Number|String|Null}    value New value to be assigned in `field` field of `AYSC`
	 * @returns {String|Boolean} `AYSC` if success or false if field doesn't exist
	 *
	 * @example:
	 *     mmcore.helpers.setAYSCfield(27)       - do nothing
	 *     mmcore.helpers.setAYSCfield(27, 45)   - set 27th field to 45, like so: _2745_
	 *     mmcore.helpers.setAYSCfield(27, '')   - set 27th field to be empty, like so: _27_
	 *     mmcore.helpers.setAYSCfield(27, null) - erease completely 27th field from cookie
	 */
	Helpers.prototype.setAYSCfield = function (field, value) {
		var aysc;
		var rex;
		var rexEmpty;
		var match;

		field = String(field);
		value = String(value);
		/** trim value */
		value = value.replace(/^\s+|\s+$/g, '');
		if (!field || value === 'undefined') {
			return false;
		}
		if (field.length < 2) {
			field = '0' + field;
		}
		aysc = mmcore.GetCookie('AYSC', true);
		rex = new RegExp('_' + field + '.+?_');
		rexEmpty = new RegExp('_' + field + '_');
		if (value === 'null') {
			value = aysc.replace(rex, '_');
			value = value.replace(rexEmpty, '_');
		} else if (value === '') {
			value = field + '_';
			match = (aysc.match(rex) || aysc.match(rexEmpty) || [null])[0];
			value = match ? aysc.replace(rex, '_' + field + '_').replace(rexEmpty, '_' + field + '_') : aysc + value;
		} else {
			value = field + value + '_';
			match = (aysc.match(rex) || aysc.match(rexEmpty) || [null])[0];
			value = match ? aysc.replace(rex, '_' + value).replace(rexEmpty, '_' + value) : aysc + value;
		}
		mmcore.SetCookie('AYSC', value, 2 * 365, true);
		return mmcore.GetCookie('AYSC', true);
	};

	/**
	 * @param   {String}         type                           Type by duration `m`, `monthly` or `a`, `annual`
	 * @param   {String}         level                          Type by cost `newspaper`, `standard`, `premium`, `trial`
	 * @param   {Boolean|String} [emulationFlagOrTargetCountry] Debugging flag or target
	 * @returns {String}                                        Price
	 */
	Helpers.prototype.getPrice = function (type, level, emulationFlagOrTargetCountry) {
		var i,
			field14;

		type = type.toLowerCase();
		if (type === 'm') {
			type = 'monthly';
		}
		if (type === 'a') {
			type = 'annual';
		}
		i = this.props.europe.length;
		if (typeof emulationFlagOrTargetCountry === 'boolean') {
			field14 = (this.props.AYSC.match(/_14(.*?)_/) || [null, null])[1];
		} else if (typeof emulationFlagOrTargetCountry === 'string') {
			field14 = emulationFlagOrTargetCountry;
		} else {
			field14 = (mmcore.GetCookie('AYSC', true).match(/_14(.*?)_/) || [null, null])[1];
		}
		if (!field14) {
			return false;
		}
		if (this.props.price[type][level][field14]) {
			return this.props.price[type][level][field14];
		} else {
			while (i--) {
				if (this.props.europe[i] === field14) {
					return this.props.price[type][level].europe;
				}
			}
		}
		return this.props.price[type][level].other;
	};

	/**
	 * Function for debugging purpose only don't let it to be in production
	 * @param {String} abbr           Abbreviation of country according to the FT spec
	 * @param {Boolean} [isEmulation] Variable for debugging
	 */
	Helpers.prototype.setFakeLocation = function (abbr, isEmulation) {
		var cookie;

		if (!abbr || abbr.length !== 3) {
			return false;
		}
		if (isEmulation) {
			cookie = (this.props.AYSC || mmcore.GetCookie('AYSC', true))
				.replace(/_14.*?_/, '_14' + abbr.toUpperCase() + '_');
		} else {
			cookie = mmcore
				.GetCookie('AYSC', true)
				.replace(/_14.*?_/, '_14' + abbr.toUpperCase() + '_');
		}
		if (!cookie) {
			return false;
		}
		if (isEmulation) {
			this.props.AYSC = cookie;
		} else {
			mmcore.SetCookie('AYSC', cookie, 1, true);
		}
		return cookie;
	};

	/**
	 * Function for price debugging
	 *
	 * Usage example:
	 * mmcore.helpers.printPrice()
	 * mmcore.helpers.printPrice('JPN')
	 * mmcore.helpers.printPrice('CHE')
	 */
	Helpers.prototype.printPrice = function () {
		var abbr;
		var isEmulation;

		abbr = arguments[0] || '';
		abbr = abbr.toUpperCase();
		if (abbr) {
			this.setFakeLocation(abbr, true);
			isEmulation = true;
		} else {
			abbr = (mmcore.GetCookie('AYSC', true).match(/_14(.*?)_/) || [null, null])[1];
			isEmulation = false;
		}
		/* jshint ignore:start */
		if (window.console && window.console['log'] && typeof window.console['log'] === 'function') {
			window.console['log']([
				abbr,
				'    Monthly',
				'        Newspaper ' + this.getPrice('m', 'newspaper', isEmulation),
				'        Premium   ' + this.getPrice('m', 'premium', isEmulation),
				'        Standard  ' + this.getPrice('m', 'standard', isEmulation),
				'        Trial     ' + this.getPrice('m', 'trial', isEmulation),
				'    Annual',
				'        Newspaper ' + this.getPrice('a', 'newspaper', isEmulation),
				'        Premium   ' + this.getPrice('a', 'premium', isEmulation),
				'        Standard  ' + this.getPrice('a', 'standard', isEmulation)
			].join('\n'));
		}
		/* jshint ignore:end */
	};

	/**
	 * Track iJento as per specification
	 * @param  {String}  campaignName
	 * @param  {prefix}  prefix
	 * @param  {Object}  mapping
	 * @param  {Boolean} isDebug
	 *
	 * @example:
			// don't track, just print to console for QA
			mmcore.helpers.iJento('T9TrialsVsRegistrati', 'T9', {
				"A T9Registrati": {
					"FreeTrial": 2,
					"OnePound": 3
				}
			}, true);
	 *
			// track without printing
			mmcore.helpers.iJento('T9TrialsVsRegistrati', 'T9', {
				"A T9Registrati": {
					"FreeTrial": 2,
					"OnePound": 3
				}
			});
	 */
	Helpers.prototype.iJento = function (campaignName, prefix, mapping, isDebug) {
		var genInfo;
		var campaign;
		var log;
		var variantLower;
		var splitten;
		var elemLetter;
		var elemName;
		var _error;
		var isConsoleError;
		var isConsoleLog;
		var isDebugError;
		var _log;

		_error = 'error';
		_log = 'log';
		isConsoleError = window.console && typeof window.console[_error] === 'function';
		isConsoleLog = window.console && typeof window.console[_log] === 'function';
		isDebugError = isConsoleError && isDebug;
		genInfo = window.mmcore.GenInfo;
		log = 'creativeID=';
		mmcore.waitFor(function () {
			var si = window.si;
			return si && si.sendAdditionalTracer;
		}).done(function () {
			var elem;
			var variant;
			if (!genInfo) {
				if (isDebugError) {
					window.console[_error]('iJento: (' + campaignName + ') Please wait mmcore.GenInfo');
				}
				return;
			}
			if (!campaignName ) {
				if (isDebugError) {
					window.console[_error]('iJento: (' + (campaignName || 'undefined') + ') Please set campaign name as per admin UI for iJento tracking');
				}
				return;
			}
			if (!prefix || !Object.prototype.toString.call(prefix).toLowerCase().match(' string')) {
				if (isDebugError) {
					window.console[_error]('iJento: (' + campaignName + ') Please set campaign prefix for iJento tracking');
				}
				return;
			}
			if (!mapping || !Object.prototype.toString.call(mapping).toLowerCase().match(' object')) {
				if (isDebugError) {
					window.console[_error]('iJento: (' + campaignName + ') Please set variants mapping for iJento tracking');
				}
				return;
			}
			campaign = genInfo[campaignName];
			if (!campaign ) {
				if (isDebugError) {
					window.console[_error]('iJento: (' + campaignName + ') Campaign wasn\'t generated');
				}
				return;
			}
			log += prefix.toUpperCase();
			for (elem in mapping) {
				if (mapping.hasOwnProperty(elem)) {
					splitten = elem.split(' ');
					elemLetter = splitten[0].toUpperCase();
					elemName = splitten[1].toLowerCase();
					if (campaign[elemName]) {
						for (variant in mapping[elem]) {
							if (mapping[elem].hasOwnProperty(variant)) {
								variantLower = variant.toLowerCase();
								if (campaign[elemName] === 'Default') {
									log = log + '|' + elemLetter + 1;
									break;
								} else if (campaign[elemName] === variantLower) {
									log = log + '|' + elemLetter + mapping[elem][variant];
									break;
								}
							}
						}
					}
				}
			}

			if (isDebug && isConsoleLog) {
				if (log === 'creativeID=' + prefix.toUpperCase()) {
					if (isDebugError) {
						window.console[_error]('iJento: (' + campaignName + ') Something is wrong with variants mapping\n' + JSON.stringify(mapping));
					}
				} else {
					window.console[_log]('/MVT, ' + log);
				}
			} else {
				window.si.sendAdditionalTracer('/MVT', log);
				return '/MVT, ' + log;
			}
		});
	};

	Helpers.prototype.objectForEach = function (obj, callback) {
		for (var prop in obj) {
			if (obj.hasOwnProperty(prop) && typeof callback === 'function') {
				callback(obj[prop], prop, obj);
			}
		}
	};

	Helpers.prototype.iJentoTag = function () {
		var helpers, buffer;

		if (mmcore.GetCookie('opc.enabled') || mmcore.GetCookie('cfgID') === '1') {
			return;
		}

		helpers = this;
		buffer = mmcore.GetCookie('mm_ijento_sent', true);

		this.objectForEach(mmcore.GenInfo, function (generation, campaign) {
			// The | in the end to ensure campaign name is not a part of another campaign name.
			if (buffer.indexOf(campaign + '|') > -1 || campaign === 'VC75DirectDebit') {
				return;
			}

			var tag = 'creativeID=' + campaign;

			helpers.objectForEach(generation, function (variant, element) {
				tag = tag + '|' + element + ' ' + variant;
			});
			
			window.si.sendAdditionalTracer('/MVT', tag);

			buffer = buffer + campaign + '|';
			mmcore.SetCookie('mm_ijento_sent', buffer, 128, true);
		});
	};

	mmcore.helpers = new Helpers();
})(window, window.mmcore);

}catch(err){mmcore.EH(err);}
try{
;(function() {
   mmcore.trackSessionCam = function(testName, cust_page) {

    mm_sc_info="";

      /*Analyse GenInfo and obtain Variants shown*/
      var gen = mmcore.GenInfo; 
      for (var element in gen[testName]) {
         if (gen[testName].hasOwnProperty(element)) {
            if (gen[testName][element] === "Default") {
            mm_sc_variant = element + '_' + gen[testName][element];
            }
            else {
            mm_sc_variant = gen[testName][element];
            }
            /*Check if OPC is installed or sandbox enabled. 
            If it is prefix experience with OPC so we know what sessions were QA sessions
            */
            if (mmcore.GetCookie('opc.enabled') || mmcore.GetCookie('cfgid')) {
            mm_sc_info += "OPC_" + mm_sc_variant + '|';
            }
            else {
            mm_sc_info += mm_sc_variant + '|';  
            }
         }
      }                       
                                    
      mm_sc_info=mm_sc_info.replace(/\|$/, "").toUpperCase();
      var mm_sc_page = document.location.pathname + '_Maxymiser_' + testName;
      mm_sc_page = mm_sc_page.replace(/^\//, "");

      /*Check if sessionCamRecorder is defined. If not we're executing before 
      sessioncam and can overwrite the page name for filtering within sessioncam*/
      mmcore.AddDocLoadHandler( function() {
         var mm_sc_timer = setInterval(function() {
            if(window.sessioncamConfiguration) {
               if (cust_page) {
                  if(window.sessionCamRecorder.createVirtualPageLoad) {
                  window.sessionCamRecorder.createVirtualPageLoad(mm_sc_page);
                  }
               }
               //Custom Variable Code
               if (!window.sessioncamConfiguration.customDataObjects) {
               window.sessioncamConfiguration.customDataObjects = new Array();
               }
               var item = { key: "MVT", value: mm_sc_info };
               window.sessioncamConfiguration.customDataObjects.push(item);
               clearInterval(mm_sc_timer);
            }
         }, 50);
      })    
   }
})();
}catch(err){mmcore.EH(err);}
try{
var value = mmcore.GetCookie('FT_User', 1); /*This gets cookie variable*/
//var value = typeof $ === 'function' && $.cookie && $.cookie("FT_User")
if (value){
if (value.indexOf("_P2_") > -1){ 
// Premium Subscriber

} 
else if (value.indexOf("_P1_") > -1){ 
// Standard Subscriber

} 

else if (value.indexOf("_P1_P0_Tools_P2") > -1){ 
// Some People

} 
else if (value.indexOf("PRODUCTS=_P0_Tools_:") > -1){ 
// Registered User 

} 
else { 
// Anonymous user with FT_USER cookie
mmcore.SetPageID('VC79HideRegisterLink') 
mmcore._async=true; 
mmcore.CGRequest(); 
}
} 

else {
// Anonymous user without FT_USER cookie
mmcore.SetPageID('VC79HideRegisterLink') 
mmcore._async=true; 
mmcore.CGRequest(); 
}
}catch(err){mmcore.EH(err);}
try{
/*
	Campaign checker
	15.05.2014
	Edward Shveday
*/

mmcore.AddDocLoadHandler(function(){
	var m = window.mmcore;

	var href = location.href;
	var cutHref = href.replace(/(,Authorised|#).+/, '');
	var viewCounts = m.GetCookie('mm_t7_viewCounts', 1);
	var lastPage = m.GetCookie('mm_t7_lastPage', 1);
	m.SetCookie('mm_t7_lastPage', cutHref, 128, 1);

	viewCounts = viewCounts ? parseInt(viewCounts, 10) : 0;
	if( (viewCounts > 2 && href.indexOf(m.GetCookie('mm_t7_saw3rdAt', 1)) < 0 ) ||
		m.GetCookie('mm_t7_dontShowAgain', 1) ||
		!document.querySelector('meta[content="article"]') ||
		!$('.nav-ftcom').length){
			return;
	}


	if(href.indexOf(lastPage) < 0){
		viewCounts += 1;
	}

	var arr = m.GetCookie('AYSC', 1).split('_');
	var i = arr.length;
	var AYSC = {};
	var sub = '';
	while(i--){
		if(arr[i]){
			sub = arr[i].substr(0, 2);
			AYSC[sub] = arr[i].replace(/(\d+){2}/, '');
		}
	}
	var is54Field = AYSC['53'] && AYSC['53'] === 'Yes';

	if(is54Field && typeof m.initCampaignForUser === 'function'){

		m.SetCookie('mm_t7_viewCounts', viewCounts, 128, 1);
		if (viewCounts === 3) {
			m.SetCookie('mm_t7_saw3rdAt', cutHref, 128, 1);
		}

		var userType = 'C';
		var campaignName = 'T7';

		m.T7 = {
			AYSC: AYSC
		};

		m.initCampaignForUser(userType, campaignName);
	}
});
}catch(err){mmcore.EH(err);}
try{
/*
	Campaign checker
	14.05.2014
	Edward Shveday
*/

;(function(m){

	mmcore.waitFor(function () {
		return mmcore._docEnd && window.jQuery;
	})
		.done(function () {
			//update 11.11.2015 don't generate if test 34 should be generated
			function isT34Generated() {
				if (mmcore.GetCookie('mm_t34_generated', 1)) {
					return true;
				}
				return false;
			}

			//update 11.11.2015 don't generate if test 34 should be generated
			if (!isT34Generated()) {
				if(
					!document.querySelector('meta[content="article"]') ||
					location.href.indexOf('Authorised=false') > -1 || // 03-04-2015 A. Tytskiy
					location.href.indexOf('Keywee_free') > -1 // 15-10-2015 R. Miller
				){
					return;
				}

				var ref = document.referrer;
				var lh = location.href;
				var validReferrer = false;
				var refArray = ['199.30.80.0/21',
					'abnormalreturns',
					'ask',
					'bing',
					'ca.finance.yahoo.com',
					'ca.search.yahoo.com',
					'community.nasdaq.com',
					'dailyfinance.co.uk',
					'dailyfinance.com',
					'drudgereport',
					'edition.cnn.com',
					'epcvs.osb.ft.com',
					'execsense.com/',
					'finance.aol.co.uk',
					'finance.aol.com',
					'finance.yahoo.com',
					'home.bt.yahoo.com',
					'http://2424actu.fr',
					'http://pfweb-qa3.test.aol.com/',
					'http://www.indiabusinessbrief.com',
					'http://www.indiafinancebrief.com',
					'http://www.indiafoodbrief.com',
					'http://www.indiaretailnews.com',
					'http://www.indiasoftwarebrief.com',
					'http://www.indiatelecombrief.com',
					'http://www.walletpop.com/',
					'huffingtonpost',
					'money.aol.com',
					'money.cnn.com',
					'morningstar.com',
					'nasdaq',
					'nasdaq.com',
					'news.in.msn.com',
					'nyif.com',
					'paid.outbrain.com',
					'qa2.finance.yahoo.com',
					'quotes.nasdaq.com',
					'samachar.com',
					'search.news.yahoo.com',
					'taboola.com',
					'thestreet.com',
					'theweek.com',
					'uat-www.nyif.com',
					'uk.betastreaming.finance.yahoo.com',
					'uk.biz.yahoo.com',
					'uk.finance.yahoo.com',
					'uk.search.news.yahoo.com',
					'uk.search.yahoo.com',
					'uk.search.yahoo.com/search',
					'us.rd.yahoo.com',
					'www-qc.nasdaq.com',
					'www.2424actu.fr',
					'www.dailyfinance.co.uk',
					'www.dailyfinance.com',
					'www.liasset.com/',
					'www.liasset.com/wp-v3/2013/06/accelerate-your-career-with-the-financial-times/',
					'www.liasset.com/wp-v3/2013/06/mbas-expert-advice-to-progress-your-career/',
					'www.linkedin.com',
					'www.nasdaq.com',
					'www.nyif.com',
					'www.reddit.com',
					'www.samachar.com',
					'www.stumbleupon.com',
					'www.thestreet.com',
					'www.tumblr.com',
					'yahoo.co.uk',
					'yahoo.com',
					'yahoo.finance.com',
					'www.facebook.com',
					'www.twitter.com',
					'//t.co',
					'twitter.com'];


				var _onunload = window.onunload;
				window.onunload = function () {
					m.SetCookie('mm_refresh_t6', 1, 3 / 86400, 1);
					if (typeof _onunload == 'function') {
						return _onunload.apply(this, arguments)
					}
				};


				var i = refArray.length;
				while(i--){
					if(ref.indexOf(refArray[i])>-1){
						validReferrer = true;
						break;
					}
				}

				if((validReferrer || isSegid) && !m.GetCookie('mm_refresh_t6', 1)){
					m.SetCookie('mm_t6_close', '', -1, 1);
				}

				var isClosed = m.GetCookie('mm_t6_close', 1);
				var isGoogleRef = (ref.indexOf('google.')>-1) ? true : false;
				var isSegid = lh.indexOf('segid=0100320')>-1;
				var FT_User = m.GetCookie('FT_User', 1) || '';
				var FT_Remember = m.GetCookie('FT_Remember', 1) || '';

				var p_param = mmcore.GetCookie('AYSC', 1).match(/_22[^_]*_/) || ''
				var isSubscribed = /P[1-3]/.test(p_param) ? true : false;

				// 27-08-2014
				function non_mobile() {
					var userAgent = navigator.userAgent;
					function contains(where, what) {
						return where.toLowerCase().indexOf(what.toLowerCase()) !== -1;
					}

					// Nexus
					if (contains(userAgent, 'AppleWebKit')) {
						if (screen.width > 1000 || screen.height > 1000) return true;
						else return false;
					}

					// Android 
					if (contains(userAgent, 'android')) {
						if (!(contains(userAgent, 'mobile')) && (screen.width > 1000 || screen.height > 1000)) return true;
						else return false;
					}

					// iPhone OS
					if (contains(userAgent, 'ipad')) return true;
					else if (contains(userAgent, 'iphone') || contains(userAgent, 'ipod')) return false;

					// RIM OS
					if (contains(userAgent, 'rim tablet')) return true;
					else if (contains(userAgent, 'rim os') || contains(userAgent, 'blackberry')) return false;

					// desktop
					return true;
				}
				if( (isSegid || validReferrer) &&
					!isClosed &&
					!isGoogleRef &&
					((!FT_User && !FT_Remember) || ((FT_User || FT_Remember) && !isSubscribed)) &&
					typeof m.initCampaignForUser === 'function' &&

						// 27-08-2014
					non_mobile()
				){

					var userType = 'C';
					var campaignName = 'T6';

					m.T6 = {};

					m.T6.generationRules = {
						validReferrer: validReferrer,
						isSegid: isSegid
					};

					m.initCampaignForUser(userType, campaignName);
				}
			}
		});
}(window.mmcore));

}catch(err){mmcore.EH(err);}
try{
var value = mmcore.GetCookie("FT_User", 1); /*This gets cookie variable*/
if (value) {
  //value = value.replace('_P0_', '_P2_'); // please remove this line afterwards
  if (value.indexOf("PRODUCTS=_P0_Tools_P2_") > -1){ 
    // Premium Subscriber
    if (siteMapTerm == "Sections.Global Economy") {
            mmcore.SetPageID('VC74FreeLunch');
            mmcore._async = true;
            mmcore.CGRequest();
        }
    else if (siteMapTerm == "Sections.Africa Economy") {
            mmcore.SetPageID('VC74FreeLunch');
            mmcore._async = true;
            mmcore.CGRequest();
        }
    
     else if (siteMapTerm == "Sections.Americas Economy") {
            mmcore.SetPageID('VC74FreeLunch');
            mmcore._async = true;
            mmcore.CGRequest();
        }
    
   
    
     else if (siteMapTerm == "Sections.EU Economy") {
            mmcore.SetPageID('VC74FreeLunch');
            mmcore._async = true;
            mmcore.CGRequest();
        }
    
         else if (siteMapTerm == "Sections.Indian Economy") {
            mmcore.SetPageID('VC74FreeLunch');
            mmcore._async = true;
            mmcore.CGRequest();
        }
    
         else if (siteMapTerm == "Sections.Middle Eastern Economy") {
            mmcore.SetPageID('VC74FreeLunch');
            mmcore._async = true;
            mmcore.CGRequest();
        }
    
        else if (siteMapTerm == "Sections.UK Economy") {
            mmcore.SetPageID('VC74FreeLunch');
            mmcore._async = true;
            mmcore.CGRequest();
        } 
    
             else if (siteMapTerm == "Sections.US Economy") {
            mmcore.SetPageID('VC74FreeLunch');
            mmcore._async = true;
            mmcore.CGRequest();
        }

    
                 else if (siteMapTerm == "Sections.Markets") {
            mmcore.SetPageID('VC74FreeLunch');
            mmcore._async = true;
            mmcore.CGRequest();
        }

    
    else if (siteMapTerm == "Sections.Columnists" || siteMapTerm == "Sections.Opinion" || siteMapTerm == "Sections.Comment") {
            mmcore.SetPageID('VC74FreeLunch');
            mmcore._async = true;
            mmcore.CGRequest();
        }
    
    else if (siteMapTerm == "Sections.UK Politics & Policy" || siteMapTerm == "Sections.UK") {
            mmcore.SetPageID('VC74UKElection');
            mmcore._async = true;
            mmcore.CGRequest();
        }
    
    else if (siteMapTerm == 'Sections.Business Education'  || siteMapTerm == 'Sections.Applying for a Masters Degree' || siteMapTerm =='Sections.Applying for an MBA'  || siteMapTerm == 'Sections.Applying to Business School'  || siteMapTerm == 'Sections.Ask the Expert'  || siteMapTerm == 'Sections.Business Education Community'  
                                                    || siteMapTerm == 'Sections.Business School News'  || siteMapTerm == 'Sections.Business School Profiles'  || siteMapTerm == 'Sections.Business School Rankings'  || siteMapTerm == 'Sections.European Business Schools'  || siteMapTerm == 'Sections.Executive Education'  || siteMapTerm == 'Sections.Executive MBA'  
                                                    || siteMapTerm == 'Sections.Financial Training'  || siteMapTerm == 'Sections.Finding a Job'  || siteMapTerm == 'Sections.Innovative Law Schools'  || siteMapTerm == 'Sections.MBA'  || siteMapTerm == 'Sections.MBA Careers'  || siteMapTerm == 'Sections.MBA Jobs'  || siteMapTerm == 'Sections.Online Learning'  
                                                    || siteMapTerm == 'Sections.Starting a Business'  || siteMapTerm == 'Sections.Recruitment' || siteMapTerm == 'SpecialReports.The Connected Business' || siteMapTerm == 'Brand-4.Lucy Kellaway') {
            mmcore.SetPageID('VC74MBAEditors');
            mmcore._async = true;
            mmcore.CGRequest();
        }    

    else if (siteMapTerm == 'Sections.Markets'  || siteMapTerm == 'Sections.Companies' || siteMapTerm =='Sections.Americas Companies'  || siteMapTerm == 'Sections.Asia-Pacific Companies'  || siteMapTerm == 'Sections.European Companies'  || siteMapTerm == 'Sections.UK Companies'  
                                                    || siteMapTerm == 'Sections.UK Small Companies'  || siteMapTerm == 'Sections.US & Canadian Companies'  || siteMapTerm == 'Sections.Investments'  || siteMapTerm == 'Sections.Investment Strategy'  || siteMapTerm == 'Sections.Energy'  || siteMapTerm == 'Sections.Financials'  
                                                    || siteMapTerm == 'Sections.Health'  || siteMapTerm == 'Sections.Industrials'  || siteMapTerm == 'Sections.Lex'  || siteMapTerm == 'Sections.Equities'  || siteMapTerm == 'Sections.Asia-Pacific Equities'  || siteMapTerm == 'Sections.European Equities'  || siteMapTerm == 'Sections.UK Equities'  
                                                    || siteMapTerm == 'Sections.US Equities'  || siteMapTerm == 'Sections.FT Trading Room' || siteMapTerm == 'Sections.Carbon Markets' || siteMapTerm == 'Sections.Clearing & Settlement' || siteMapTerm == 'Sections.Developing Markets & Asia' || siteMapTerm == 'Sections.Exchanges Consolidation' || siteMapTerm == 'Sections.High Frequency Trading' || siteMapTerm == 'Sections.Markets Regulation' || siteMapTerm == 'Sections.Trading Technology' || siteMapTerm == 'Sections.FTfm Fund Management' || siteMapTerm == 'Sections.Exchange Traded Funds' || siteMapTerm == 'Sections.Currencies' || siteMapTerm == 'Sections.Capital Markets') {
            mmcore.SetPageID('VC74OpeningQuote');
            mmcore._async = true;
            mmcore.CGRequest();
        }  

        else if (siteMapTerm == 'Sections.Asia-Pacific'  || siteMapTerm == 'Sections.Asia-Pacific Economy' || siteMapTerm =='Sections.Chinese Economy'  || siteMapTerm == 'Sections.Developing Markets & Asia'  || siteMapTerm == 'Sections.Asian and Australian destinations'  || siteMapTerm == 'Sections.China'  
                                                    || siteMapTerm == 'Sections.India'  || siteMapTerm == 'Sections.Japan'  || siteMapTerm == 'Sections.North Korea'  || siteMapTerm == 'Sections.Pakistan') {
            mmcore.SetPageID('VC74FirstFTAsia');
            mmcore._async = true;
            mmcore.CGRequest();
        }  
      else  {
            mmcore.SetPageID('VC74FirstFT');
            mmcore._async = true;
            mmcore.CGRequest();
        }

  

  }
 
  else if (value.indexOf("PRODUCTS=_P0_Tools_P1_") > -1) { 
  // Standard Subscriber
    
    if (siteMapTerm == "Sections.UK Politics & Policy" || siteMapTerm == 'Sections.UK') {
            mmcore.SetPageID('VC74UKElection');
            mmcore._async = true;
            mmcore.CGRequest();
        }
    
     else if (siteMapTerm == 'Sections.Business Education'  || siteMapTerm == 'Sections.Applying for a Masters Degree' || siteMapTerm =='Sections.Applying for an MBA'  || siteMapTerm == 'Sections.Applying to Business School'  || siteMapTerm == 'Sections.Ask the Expert'  || siteMapTerm == 'Sections.Business Education Community'  || siteMapTerm == 'Sections.Business School News'  || siteMapTerm == 'Sections.Business School Profiles'  || siteMapTerm == 'Sections.Business School Rankings'  || siteMapTerm == 'Sections.European Business Schools'  || siteMapTerm == 'Sections.Executive Education'  || siteMapTerm == 'Sections.Executive MBA'  || siteMapTerm == 'Sections.Financial Training'  || siteMapTerm == 'Sections.Finding a Job'  || siteMapTerm == 'Sections.Innovative Law Schools'  || siteMapTerm == 'Sections.MBA'  || siteMapTerm == 'Sections.MBA Careers'  || siteMapTerm == 'Sections.MBA Jobs'  || siteMapTerm == 'Sections.Online Learning'  || siteMapTerm == 'Sections.Starting a Business'  || siteMapTerm == 'Sections.Recruitment' || siteMapTerm == 'SpecialReports.The Connected Business' || siteMapTerm == 'Brand-4.Lucy Kellaway') {
            mmcore.SetPageID('VC74MBAEditors');
            mmcore._async = true;
            mmcore.CGRequest();
        }    
// OPENING QUOTE
  else if (siteMapTerm == 'Sections.Markets'  || siteMapTerm == 'Sections.Companies' || siteMapTerm =='Sections.Americas Companies'  || siteMapTerm == 'Sections.Asia-Pacific Companies'  || siteMapTerm == 'Sections.European Companies'  || siteMapTerm == 'Sections.UK Companies'  
                                                    || siteMapTerm == 'Sections.UK Small Companies'  || siteMapTerm == 'Sections.US & Canadian Companies'  || siteMapTerm == 'Sections.Investments'  || siteMapTerm == 'Sections.Investment Strategy'  || siteMapTerm == 'Sections.Energy'  || siteMapTerm == 'Sections.Financials'  
                                                    || siteMapTerm == 'Sections.Health'  || siteMapTerm == 'Sections.Industrials'  || siteMapTerm == 'Sections.Lex'  || siteMapTerm == 'Sections.Equities'  || siteMapTerm == 'Sections.Asia-Pacific Equities'  || siteMapTerm == 'Sections.European Equities'  || siteMapTerm == 'Sections.UK Equities'  
                                                    || siteMapTerm == 'Sections.US Equities'  || siteMapTerm == 'Sections.FT Trading Room' || siteMapTerm == 'Sections.Carbon Markets' || siteMapTerm == 'Sections.Clearing & Settlement' || siteMapTerm == 'Sections.Developing Markets & Asia' || siteMapTerm == 'Sections.Exchanges Consolidation' || siteMapTerm == 'Sections.High Frequency Trading' || siteMapTerm == 'Sections.Markets Regulation' || siteMapTerm == 'Sections.Trading Technology' || siteMapTerm == 'Sections.FTfm Fund Management' || siteMapTerm == 'Sections.Exchange Traded Funds' || siteMapTerm == 'Sections.Currencies' || siteMapTerm == 'Sections.Capital Markets') {
            mmcore.SetPageID('VC74OpeningQuote');
            mmcore._async = true;
            mmcore.CGRequest();
        }      
    
     else if (siteMapTerm == 'Sections.Asia-Pacific'  || siteMapTerm == 'Sections.Asia-Pacific Economy' || siteMapTerm =='Sections.Chinese Economy'  || siteMapTerm == 'Sections.Developing Markets & Asia'  || siteMapTerm == 'Sections.Asian and Australian destinations'  || siteMapTerm == 'Sections.China'  
                                                    || siteMapTerm == 'Sections.India'  || siteMapTerm == 'Sections.Japan'  || siteMapTerm == 'Sections.North Korea'  || siteMapTerm == 'Sections.Pakistan') {
            mmcore.SetPageID('VC74FirstFTAsia');
            mmcore._async = true;
            mmcore.CGRequest();
        }  
      else  {
            mmcore.SetPageID('VC74FirstFT');
            mmcore._async = true;
            mmcore.CGRequest();
      }
  } 

  else if (value.indexOf("PRODUCTS=_P1_P0_Tools_P2_") > -1) { 
  // Some People
    
    if (siteMapTerm == "Sections.UK Politics & Policy" || siteMapTerm == "Sections.UK") {
            mmcore.SetPageID('VC74UKElection');
            mmcore._async = true;
            mmcore.CGRequest();
        }
    
    else if (siteMapTerm == 'Sections.Business Education'  || siteMapTerm == 'Sections.Applying for a Masters Degree' || siteMapTerm =='Sections.Applying for an MBA'  || siteMapTerm == 'Sections.Applying to Business School'  || siteMapTerm == 'Sections.Ask the Expert'  || siteMapTerm == 'Sections.Business Education Community'  || siteMapTerm == 'Sections.Business School News'  || siteMapTerm == 'Sections.Business School Profiles'  || siteMapTerm == 'Sections.Business School Rankings'  || siteMapTerm == 'Sections.European Business Schools'  || siteMapTerm == 'Sections.Executive Education'  || siteMapTerm == 'Sections.Executive MBA'  || siteMapTerm == 'Sections.Financial Training'  || siteMapTerm == 'Sections.Finding a Job'  || siteMapTerm == 'Sections.Innovative Law Schools'  || siteMapTerm == 'Sections.MBA'  || siteMapTerm == 'Sections.MBA Careers'  || siteMapTerm == 'Sections.MBA Jobs'  || siteMapTerm == 'Sections.Online Learning'  || siteMapTerm == 'Sections.Starting a Business'  || siteMapTerm == 'Sections.Recruitment' || siteMapTerm == 'SpecialReports.The Connected Business' || siteMapTerm == 'Brand-4.Lucy Kellaway') {
            mmcore.SetPageID('VC74MBAEditors');
            mmcore._async = true;
            mmcore.CGRequest();
        }
    
     else if (siteMapTerm == 'Sections.Asia-Pacific'  || siteMapTerm == 'Sections.Asia-Pacific Economy' || siteMapTerm =='Sections.Chinese Economy'  || siteMapTerm == 'Sections.Developing Markets & Asia'  || siteMapTerm == 'Sections.Asian and Australian destinations'  || siteMapTerm == 'Sections.China'  
                                                    || siteMapTerm == 'Sections.India'  || siteMapTerm == 'Sections.Japan'  || siteMapTerm == 'Sections.North Korea'  || siteMapTerm == 'Sections.Pakistan') {
            mmcore.SetPageID('VC74FirstFTAsia');
            mmcore._async = true;
            mmcore.CGRequest();
        }  

    else  {
            mmcore.SetPageID('VC74FirstFT');
            mmcore._async = true;
            mmcore.CGRequest();
    }

  } 
  else if (value.indexOf("PRODUCTS=_P0_Tools_:") > -1) { 
  // Registered User 
    
       if (siteMapTerm == "Sections.UK Politics & Policy" || siteMapTerm == "Sections.UK") {
            mmcore.SetPageID('VC74UKElection');
            mmcore._async = true;
            mmcore.CGRequest();
        }
    
         else if (siteMapTerm == 'Sections.Business Education' || siteMapTerm === 'Sections.Applying for a Masters Degree' || siteMapTerm ==='Sections.Applying for an MBA'  || siteMapTerm == 'Sections.Applying to Business School'  || siteMapTerm === 'Sections.Ask the Expert'  || siteMapTerm === 'Sections.Business Education Community'  || siteMapTerm === 'Sections.Business School News'  || siteMapTerm === 'Sections.Business School Profiles'  || siteMapTerm === 'Sections.Business School Rankings'  || siteMapTerm === 'Sections.European Business Schools'  || siteMapTerm === 'Sections.Executive Education'  || siteMapTerm === 'Sections.Executive MBA'  || siteMapTerm == 'Sections.Financial Training'  || siteMapTerm === 'Sections.Finding a Job'  || siteMapTerm === 'Sections.Innovative Law Schools'  || siteMapTerm == 'Sections.MBA'  || siteMapTerm === 'Sections.MBA Careers'  || siteMapTerm == 'Sections.MBA Jobs'  || siteMapTerm === 'Sections.Online Learning'  || siteMapTerm === 'Sections.Starting a Business'  || siteMapTerm === 'Sections.Recruitment' || siteMapTerm === 'SpecialReports.The Connected Business' || siteMapTerm == 'Brand-4.Lucy Kellaway' ) {
            mmcore.SetPageID('VC74MBAEditors');
            mmcore._async = true;
            mmcore.CGRequest();
        }   
    
     else if (siteMapTerm == 'Sections.Asia-Pacific'  || siteMapTerm == 'Sections.Asia-Pacific Economy' || siteMapTerm =='Sections.Chinese Economy'  || siteMapTerm == 'Sections.Developing Markets & Asia'  || siteMapTerm == 'Sections.Asian and Australian destinations'  || siteMapTerm == 'Sections.China'  
                                                    || siteMapTerm == 'Sections.India'  || siteMapTerm == 'Sections.Japan'  || siteMapTerm == 'Sections.North Korea'  || siteMapTerm == 'Sections.Pakistan') {
            mmcore.SetPageID('VC74FirstFTAsia');
            mmcore._async = true;
            mmcore.CGRequest();
        }  
    
    else{

            mmcore.SetPageID('VC74FirstFT');
            mmcore._async = true;
            mmcore.CGRequest();
    }
  } 
  else { 
  // Anonymous user with FT_USER cookie
    
       if (siteMapTerm == "Sections.UK Politics & Policy" || siteMapTerm == "Sections.UK") {
            mmcore.SetPageID('VC74UKElection');
            mmcore._async = true;
            mmcore.CGRequest();
        }
    
         else if (siteMapTerm == 'Sections.Business Education'  || siteMapTerm == 'Sections.Applying for a Masters Degree' || siteMapTerm =='Sections.Applying for an MBA'  || siteMapTerm == 'Sections.Applying to Business School'  || siteMapTerm == 'Sections.Ask the Expert'  || siteMapTerm == 'Sections.Business Education Community'  || siteMapTerm == 'Sections.Business School News'  || siteMapTerm == 'Sections.Business School Profiles'  || siteMapTerm == 'Sections.Business School Rankings'  || siteMapTerm == 'Sections.European Business Schools'  || siteMapTerm == 'Sections.Executive Education'  || siteMapTerm == 'Sections.Executive MBA'  || siteMapTerm == 'Sections.Financial Training'  || siteMapTerm == 'Sections.Finding a Job'  || siteMapTerm == 'Sections.Innovative Law Schools'  || siteMapTerm == 'Sections.MBA'  || siteMapTerm == 'Sections.MBA Careers'  || siteMapTerm == 'Sections.MBA Jobs'  || siteMapTerm == 'Sections.Online Learning'  || siteMapTerm == 'Sections.Starting a Business'  || siteMapTerm == 'Sections.Recruitment' || siteMapTerm == 'SpecialReports.The Connected Business' || siteMapTerm == 'Brand-4.Lucy Kellaway') {
            mmcore.SetPageID('VC74MBAEditors');
            mmcore._async = true;
            mmcore.CGRequest();
        }   
    
     else if (siteMapTerm == 'Sections.Asia-Pacific'  || siteMapTerm == 'Sections.Asia-Pacific Economy' || siteMapTerm =='Sections.Chinese Economy'  || siteMapTerm == 'Sections.Developing Markets & Asia'  || siteMapTerm == 'Sections.Asian and Australian destinations'  || siteMapTerm == 'Sections.China'  
                                                    || siteMapTerm == 'Sections.India'  || siteMapTerm == 'Sections.Japan'  || siteMapTerm == 'Sections.North Korea'  || siteMapTerm == 'Sections.Pakistan') {
            mmcore.SetPageID('VC74FirstFTAsia');
            mmcore._async = true;
            mmcore.CGRequest();
        }  
    
    else {

            mmcore.SetPageID('VC74FirstFT');
            mmcore._async = true;
            mmcore.CGRequest();
    }
  }
} 
else {
// Anonymous user without FT_USER cookie
  
 if (siteMapTerm == 'Sections.Business Education'  || siteMapTerm == 'Sections.Applying for a Masters Degree' || siteMapTerm =='Sections.Applying for an MBA'  || siteMapTerm == 'Sections.Applying to Business School'  || siteMapTerm == 'Sections.Ask the Expert'  || siteMapTerm == 'Sections.Business Education Community'  || siteMapTerm == 'Sections.Business School News'  || siteMapTerm == 'Sections.Business School Profiles'  || siteMapTerm == 'Sections.Business School Rankings'  || siteMapTerm == 'Sections.European Business Schools'  || siteMapTerm == 'Sections.Executive Education'  || siteMapTerm == 'Sections.Executive MBA'  || siteMapTerm == 'Sections.Financial Training'  || siteMapTerm == 'Sections.Finding a Job'  || siteMapTerm == 'Sections.Innovative Law Schools'  || siteMapTerm == 'Sections.MBA'  || siteMapTerm == 'Sections.MBA Careers'  || siteMapTerm == 'Sections.MBA Jobs'  || siteMapTerm == 'Sections.Online Learning'  || siteMapTerm == 'Sections.Starting a Business'  || siteMapTerm == 'Sections.Recruitment' || siteMapTerm == 'SpecialReports.The Connected Business' || siteMapTerm == 'Brand-4.Lucy Kellaway') {
            mmcore.SetPageID('VC74MBAEditors');
            mmcore._async = true;
            mmcore.CGRequest();
        }   
  
     else if (siteMapTerm == "Sections.UK Politics & Policy" || siteMapTerm == "Sections.UK") {
            mmcore.SetPageID('VC74UKElection');
            mmcore._async = true;
            mmcore.CGRequest();
        }
  
  else {

            mmcore.SetPageID('VC74FirstFT');
            mmcore._async = true;
            mmcore.CGRequest();
    
  }

}

}catch(err){mmcore.EH(err);}
try{
(function T27_Checker() {
	if (mmcore.siteTools.isB2C() && location.href.indexOf('Authorised=false.html') == -1 && !window.HurdleType) {
		mmcore.waitFor(function () {
			return (window.jQuery && jQuery('#footer').length && window.siteMapTerm);
		}, {
			isNotStoppedOnDocumentReadiness : true,
			timeout : 15000
		}).done(function () {
			if (jQuery('#ft-article-comments').length) {
				mmcore.request('T27VidInArticlev2');
			}
		});
	}

}());

}catch(err){mmcore.EH(err);}
try{
;
(function (mmcore) {
	var isArticle = function () {
			return (typeof $ === 'function' && $.cookie && $("meta[property='og:type'][content='article']").size() > 0);
		},
		isUserLoggedIn = function () {
			var userCookie = mmcore.GetCookie("FT_User", true);
			return (!!userCookie && userCookie.indexOf("USERID") > -1);
		},
		setAction = function (name, attr) {
			mmcore._async = true;
			mmcore.SetPageID("mmevents");
			if (!attr) {
				mmcore.SetAction(name, 1);
			} else {
				mmcore.SetAction(name, 1, attr);
			}
			mmcore.CGRequest();
		},

		isHoweredTimeout,

		track = function () {
			var $ = window.jQuery,
				$doc = $(document),
				wasHovered = false;
			if (isArticle()) {
				if (isUserLoggedIn()) {
					var dropAuthorsHover = function () {
						if (!$("#followOverlay").is(":visible")) {
							wasHovered = false;
						} else {
							if (isHoweredTimeout) {
								clearTimeout(isHoweredTimeout);
							}
							isHoweredTimeout = setTimeout(dropAuthorsHover, 500);
						}
					};

					$doc.on("hover", ".byline a.followOverlayTrigger", function () {
						if (wasHovered) {
							dropAuthorsHover();
						} else {
							wasHovered = true;
							setAction("AuthAlertDropdown");
						}
					});

					/*$doc.on("mousedown", "#followOverlay .authors a.ft-button", function(e) {
						if (e.which === 1 && !$(e.currentTarget).hasClass("ft-button-negative")) {
							setAction("AuthAlertClicks");
						}
					}); */
					$doc.on('click', '.o-author-alerts__button', function (e) {
						if ((!e.which || e.which === 1) && /Alerting/i.test($(this).text())) {
							setAction("AuthAlertClicks");
						};
					});


				}
			}
		};

	mmcore.waitFor(function () {
		return typeof (jQuery) !== "undefined"
	}, {
		isNotStoppedOnDocumentReadiness: true,
		timeout: 7000
	})
		.done(track);
})(window.mmcore);
}catch(err){mmcore.EH(err);}
try{
;
(function ActLogin() {
	if ((mmcore.GetCookie('FT_User', 1) || mmcore.GetCookie('FT_remember', 1))) {
		mmcore._async = true;
		mmcore.SetAction('Login', '1');
		mmcore.SetPageID('mmevents');
		mmcore.CGRequest();
	}
}());
}catch(err){mmcore.EH(err);}
try{
;
(function T20_B2B_Checker() {
	var campaign = new mmcore.Campaign('T20_B2BTrialsTest', ['A_SignUpBarr']),

		getFormattedAyscCookie = function () {
			var ayscCookie = mmcore.GetCookie('AYSC', 1),
				arr = ayscCookie.split('_'),
				i = arr.length,
				AYSC = {},
				sub = '';

			while (i--) {
				if (arr[i]) {
					sub = arr[i].substr(0, 2);
					AYSC[sub] = arr[i].replace(/(\d+){2}/, '');
				}
			}

			return AYSC;
		},

		attachStyle = function (text) {
			var style = document.createElement('style'),
				firstCG;

			style.type = 'text/css';
			/WebKit|MSIE/i.test(navigator.userAgent) ? (style.styleSheet ? style.styleSheet.cssText = text : style.innerText = text) : style.innerHTML = text;
			firstCG = document.getElementById(mmcore.cprefix + 1);

			firstCG ? firstCG.parentNode.insertBefore(style, firstCG) : document.getElementsByTagName('head')[0].appendChild(style);

			return style;
		},

		showContent = function (styleName) {
			styleName &&
			styleName.parentNode &&
			styleName.parentNode.removeChild(styleName);
		},

		isBarrierPresent = location.pathname.indexOf('Authorised=false.html') + 1,
		isMarketoPage = location.href.indexOf('?mkt_tok') + 1 || location.href.indexOf('&mkt_tok') + 1,
		isFtCorporatePage = location.hostname === 'ftcorporate.ft.com';

	//set cookie if user visited any ft.corporate page or seen page with ?mkt_tok parametr
	if (isFtCorporatePage || isMarketoPage) {
		mmcore.SetCookie('mm_t20_b2b', 'true', 365, 1);
	}

	if (isBarrierPresent) {
		(function init() {
			var AYSC = getFormattedAyscCookie(),
				isNeedPageVisited = mmcore.GetCookie('mm_t20_b2b', 1),

				isAnonymousUser = !mmcore.GetCookie('FT_remember', 1)
					&& !mmcore.GetCookie('FT_User', 1),

				isUserHasKey = AYSC[27] === 'CjxNyNmdMcX2b'
					|| AYSC[27] === 'eKmBpErRRjHQn'
					|| AYSC[27] === 'bTBkczP0Z3ZEW',

				mm_t20_b2b_style = attachStyle('#barrier-dialogue, .barrier-dialogue__content {display: none !important;} #module-button-browse a {display: none;}'),

				isSignUpProccessPage = location.href === 'https://registration.ft.com/corporate/signup/Zp23rjTjzjzPq';

			//wait for barrier
			mmcore.waitFor(function () {
				return window.jQuery && window.jQuery('.barrier-dialogue').length;
			}, {
				isNotStoppedOnDocumentReadiness: true,
				timeout: 6000
			})
				.done(function () {
					//generate campaign only on B2C barrier
					//condition for element A
					var isOurBarrier = jQuery('.barrier-matrix').length;

					if ((isNeedPageVisited || isMarketoPage)
						&& isAnonymousUser
						&& !isUserHasKey
						&& isOurBarrier) {
						mmcore.request('T20_B2B')
							.done(function () {
								campaign.renderMaxyboxes();
								showContent(mm_t20_b2b_style);
							})
							.fail(function () {
								showContent(mm_t20_b2b_style);
							});
					} else {
						showContent(mm_t20_b2b_style);
					}
				})
				.fail(function () {
					showContent(mm_t20_b2b_style);
				});

			if (isSignUpProccessPage) {
				mmcore.waitFor(function () {
					return window.jQuery
						&& window.jQuery('#module-thankyou').length
						&& window.jQuery('#module-thankyou').text()
						&& window.jQuery('#module-thankyou').text().indexOf('Thank you - you have successfully joined') + 1;
				}, {
					isNotStoppedOnDocumentReadiness: true,
					timeout: 5000
				})
					.done(function () {
						mmcore.request('T20_B2B_Confirm')
							.done(function () {
								campaign.renderMaxyboxes();
								showContent(mm_t20_b2b_style);
							})
							.fail(function () {
								showContent(mm_t20_b2b_style);
							});
					})
					.fail(function () {
						showContent(mm_t20_b2b_style);
					});
			}
		}());
	}
}());
}catch(err){mmcore.EH(err);}
try{
;(function T37_Checker() {
	mmcore.objStyle = mmcore.objStyle || {};
	mmcore._MbStyle = function () {};
	mmcore.AttachStyleT37 = function (t, name) {
		name = name || "style";
		var st = this.objStyle[name];
		if (!st) {
			st = document.createElement("style");
			st.type = "text/css";
			var mm = document.getElementById("mmcore.1");
			mm.parentNode.insertBefore(st, mm);
			this.objStyle[name] = st;
		}
		if (st.styleSheet) {
			st.styleSheet.cssText += t;
		} else {
			st.innerHTML += t;
		}
	}
	
	var getFormattedAyscCookie = function () {
		var ayscCookie = mmcore.GetCookie('AYSC', 1),
		arr = ayscCookie.split('_'),
		i = arr.length,
		AYSC = {},
		sub = '';
		while (i--) {
			if (arr[i]) {
				sub = arr[i].substr(0, 2);
				AYSC[sub] = arr[i].replace(/(\d+){2}/, '');
			}
		}

		return AYSC;
	}

	var AYSC = getFormattedAyscCookie();
	var is_t20_will_generate = function() {
		var isMarketoPage = location.href.indexOf('?mkt_tok') + 1,
			isNeedPageVisited = mmcore.GetCookie('mm_t20_b2b', 1),
			isAnonymousUser = !mmcore.GetCookie('FT_remember', 1) && !mmcore.GetCookie('FT_User', 1),
			isUserHasKey = AYSC[27] === 'CjxNyNmdMcX2b'	|| AYSC[27] === 'eKmBpErRRjHQn'	|| AYSC[27] === 'bTBkczP0Z3ZEW';
			if ((isNeedPageVisited || isMarketoPage)
						&& isAnonymousUser
						&& !isUserHasKey) {
				return true;
			}
		return false;
	}
	
	var field97 = AYSC['97'] || '';
	if (!/c/.test(field97.toLowerCase()) && !mmcore.GetCookie('FTSession', 1) && location.href.indexOf('//subscribe.ft.com/barrier/') == -1) {
		mmcore.AttachStyleT37('body #DRMUpsell .barrier-dialogue{display: none !important;}');
		setTimeout(function () {
			mmcore.AttachStyleT37('body #DRMUpsell .barrier-dialogue{display: block !important;}');
		}, 5000);

		mmcore.waitFor(function () {
			return (window.jQuery && jQuery('.barrier-dialogue').length);
		}, {
			isNotStoppedOnDocumentReadiness : true,
			timeout : 5000
		}).done(function () {
			if (jQuery('.barrier-dialogue').length && jQuery('.barrier-matrix').length && !is_t20_will_generate()) {
				mmcore._async = true;
				mmcore.SetPageID('T37');
				mmcore.CGRequest(function () {
					setTimeout(function () {
						if (mmcore.GenInfo.T37_AnonBarrier.t37_anonb_a.toLowerCase() == 'default') {
							mmcore.AttachStyleT37('body #DRMUpsell .barrier-dialogue{display: block !important;}');
						}
					}, 0);
				});
			} else {
				mmcore.AttachStyleT37('body #DRMUpsell .barrier-dialogue{display: block !important;}');
			}
		});
	}

}());
}catch(err){mmcore.EH(err);}
try{
;(function T42_Checker() {
	var campaign = new mmcore.Campaign('T42_WelcomeProgrammev3', ['A_WelcomeT42']),
		images = [
			'https://service.maxymiser.net/cm/images-eu/1/1/1/576FF359FC5A2C161A6687560E0160D7B2156BAD96BAA41364FF489FDFA42FBC/ft-com/T42-WelcomeProgrammev3/cross.png',
			'https://service.maxymiser.net/cm/images-eu/1/1/1/39BD9CA01B140A4D755BDE22E0DEC09AC0E5C1CF67AC9A0ECB85812852B398BB/ft-com/T42-WelcomeProgrammev3/Energy.jpg',
			'https://service.maxymiser.net/cm/images-eu/1/1/1/089D9425503D4AE46655CE2D3D84795E44D9D6DD7627850D74F48E952DECFCFF/ft-com/T42-WelcomeProgrammev3/gideon.png',
			'https://service.maxymiser.net/cm/images-eu/1/1/1/7395B20AD8DD704B471A624B77A8D7B55DDB5E38643737D23107AD4FF4A5A126/ft-com/T42-WelcomeProgrammev3/globec.jpg',
			'https://service.maxymiser.net/cm/images-eu/1/1/1/9B1258EF7A75955CC8875B13BA4C938190BB543B7BD7510E554F418B48ED8524/ft-com/T42-WelcomeProgrammev3/lifearts.jpg',
			'https://service.maxymiser.net/cm/images-eu/1/1/1/5D2BA43DCCF19B393D8453215410CC54F2ACFF6EB552365BC72C46555D5F7AD2/ft-com/T42-WelcomeProgrammev3/lucy.png',
			'https://service.maxymiser.net/cm/images-eu/1/1/1/9974F87DF2804B94A6340261150D04859F5C65800B26580A620F90C549123DAA/ft-com/T42-WelcomeProgrammev3/martin.png',
			'https://service.maxymiser.net/cm/images-eu/1/1/1/3650F12D3D01228BE4EE8F39892E84491DFBCB5FC932742EC08A528F9758FA38/ft-com/T42-WelcomeProgrammev3/Technology.jpg'
		];

	//preload
	for (var i = 0; i < images.length; i++) {
		(new Image()).src = images[i];
	}

	mmcore.waitFor(function () {
			return window.jQuery && window.jQuery('body').length;
		})
		.done(function () {
			var $ = window.jQuery,
				lh = window.location.href,
				isArticlePage = $('[content="article"]').length,
				isSectionPage = window.FT.isPage.Section === 1,
				isHomePage = lh.indexOf('http://www.ft.com/home/') + 1,
				isBarrierPresent = lh.indexOf('Authorised=false.html') + 1,
				isBarrierClicked = mmcore.GetCookie('mm_t42_clicked', 1),
				isLoggedInUser = mmcore.GetCookie('FTSession', 1),
				isSubscribed = mmcore.GetCookie('FT_User', 1),
				isT31Generated = mmcore.GetCookie('mm_t31_generated', 1),
				isT25Generated = mmcore.GetCookie('mm_t25_generated', 1),
				isT17B2BGenerated = mmcore.GetCookie('mm_t17_b2b_generated', 1);

			if (((isArticlePage && !isBarrierPresent) ||
				isSectionPage ||
				isHomePage) &&
				!isT31Generated &&
				!isT25Generated &&
				!isT17B2BGenerated &&
				!isLoggedInUser &&
				!isSubscribed) {

				if (!isBarrierClicked) {
					//set cookie for excluding generation with test
					mmcore.SetCookie('mm_t42_generated', 'true', 0, 1);
					mmcore.request('T42')
						.done(function () {
							mmcore.mediator.trigger('T42_Visit');
							campaign.renderMaxyboxes();
						});
				} else {
					mmcore.mediator.trigger('T42_Visit');
				}
			}
		});

}());
}catch(err){mmcore.EH(err);}
try{
mmcore.AddDocLoadHandler(function () {


	var brightcove; // = window.brightcove;
	var $script;
	var playerObject;
	var playerInstance;
	var id;
	var rePlayerID = /createPlayerAsync\((?:'|")(.+)(?:'|")\)/;


	var preventFirstChangeFlag = false;


	function onMediaEventFired(event) {
		

		if (event && event.type === 'mediaBegin') {

			mmcore.SetAction('VCB_WidgetVidStart', 1);
			mmcore.request();


		} else if (event && event.type === 'mediaChange') {

			if (preventFirstChangeFlag) {

				mmcore.SetAction('VCB_WidgetVidChnge', 1);
				mmcore.request();

			} else {
				// change event fires at the init of player, not tracking it for the first time
				preventFirstChangeFlag = true;
			}


		};


	};



	function onInitPlayer() {

		brightcove = window.brightcove;
		playerObject = brightcove.api.getExperience(id);

		playerInstance = playerObject.getModule(brightcove.api.modules.APIModules.VIDEO_PLAYER);

		playerInstance.addEventListener(brightcove.api.events.MediaEvent.BEGIN, onMediaEventFired);
		playerInstance.addEventListener(brightcove.api.events.MediaEvent.CHANGE, onMediaEventFired);

		/*playerInstance.addEventListener(brightcove.api.events.MediaEvent.COMPLETE, onMediaEventFired);
		playerInstance.addEventListener(brightcove.api.events.MediaEvent.ERROR, onMediaEventFired);
		playerInstance.addEventListener(brightcove.api.events.MediaEvent.PLAY, onMediaEventFired);
		playerInstance.addEventListener(brightcove.api.events.MediaEvent.STOP, onMediaEventFired);
		playerInstance.addEventListener(brightcove.api.events.MediaEvent.PROGRESS, onMediaEventFired);*/

	};


	if (window.jQuery && window.jQuery('script:contains("FTVideo.createPlayerAsync")').length && FTVideo && FTVideo.playerLoadHandler) {


		$script = window.jQuery('script:contains("FTVideo.createPlayerAsync")');
		scriptInner = $script.text();
		id = (scriptInner.match(rePlayerID) || [0, 0])[1];

		if (!id) {
			return;
		}


		var oldPlayerLoadHandler = FTVideo.playerLoadHandler;

		//decorating player init to add our function
		FTVideo.playerLoadHandler = function () {

			oldPlayerLoadHandler.apply(this, arguments);
			onInitPlayer();


		};


	};

});
}catch(err){mmcore.EH(err);}
try{
(function T27_ActsAll() {
	mmcore.AddDocLoadHandler(function () {
		setTimeout(function () {
			var isVideoPage = location.host === 'video.ft.com';
			var isArticlePage = location.host === 'www.ft.com' && document.getElementById('ft-article-comments');
			var isPageReloadedByF5 = mmcore.GetCookie('mm-t27-page-reload', 1) === location.pathname;
			var trackAction = function (actionName, actionValue, actionAttr, callback) {
				callback = callback || function () {};
				mmcore._async = true;
				mmcore.SetAction(actionName, actionValue, actionAttr);
				mmcore.SetPageID('mmevents');
				mmcore.CGRequest(callback);
			};
			if (isVideoPage) {
				var attrForRoute = '';
				if (mmcore.GetCookie('mm-t27-click-on-link', 1)) {
					attrForRoute = 'Link';
				}
				trackAction('T27_VidArrRoute', 1, attrForRoute);
				mmcore.SetCookie('mm-t27-click-on-link', '1', -1, 1);

				var videoCategory = mmcore.GetCookie('mm-t27-att-vid', 1);
				
				if (videoCategory) {
					trackAction('T27_VidArrCateg', 1, videoCategory);
					mmcore.mediator.on('mediaComplete', function () {
						debugger;
						trackAction('T27_VidComplete', 1, videoCategory);
					});
				}
				
			}

			if (isArticlePage) {
				mmcore.waitFor(function () {
					return (mmcore.GenInfo.T27_VidInArticlev2 && typeof(mmcore.T27_data_article) == 'object');
				}).done(function () {
					mmcore.SetCookie('mm-t27-att-vid', mmcore.T27_data_article.attr, 0, 1);
					if (!isPageReloadedByF5) {
						trackAction('T27_Article', 1, mmcore.T27_data_article.attr);
					}
					jQuery(document).on('click', '.mm-t27-half-width', function () {
						mmcore.SetCookie('mm-t27-click-on-link', '1', 0, 1);
					});
					
					(function waitFyreLoader() {
						if (window.FyreLoader && window.FyreLoader.apps && window.FyreLoader.apps[0] && window.FyreLoader.apps[0].on) {
							window.FyreLoader.apps[0].on('commentPosted', function () {
								trackAction('T27_Comment', 1);
							});
							return;
						}
						setTimeout(waitFyreLoader, 40);
					}());

				});
			}
			
			if(!isArticlePage && !isVideoPage){
				mmcore.SetCookie('mm-t27-att-vid', 'Other', 0, 1);
			}
			mmcore.SetCookie('mm-t27-page-reload', location.pathname, 0, 1);
		}, 0);

	});
}());

}catch(err){mmcore.EH(err);}
try{
;(function T42_ActVisits() {
	mmcore.mediator.on('T42_Visit', function () {
		mmcore.SetAction('T42_Visit', 1);
		mmcore.request();
	});

	mmcore.AddDocLoadHandler(function () {
		var attr = mmcore.GetCookie('mm_t42_counter', 1) || 0,
			setCookies = function () {
				mmcore.SetCookie('mm_t42_session', 'true', 0, 1);
				mmcore.SetCookie('mm_t42_counter', parseInt(attr) + 1, 365, 1);
			},
			trackAct = function (attr) {
				mmcore.SetAction('T42_RepeatVisit', 1, attr);
				mmcore.request();
			};

		if (attr !== 0 && !mmcore.GetCookie('mm_t42_session', 1)) {
			trackAct(attr);
			setCookies();
		}

		//don't track in first session
		if (attr === 0) {
			setCookies();
		}
	});
}());
}catch(err){mmcore.EH(err);}
try{
;(function T42_ActBarrierTrig() {
	mmcore.AddDocLoadHandler(function () {
		var $ = window.jQuery,
			attr = parseInt(mmcore.GetCookie('mm_t42_barrier_views', 1)) || 1;

		mmcore.waitFor(function () {
			return $('#barrier-dialogue').length;
		}, {
			isNotStoppedOnDocumentReadiness: true,
			timeout: 5000
		})
		.done(function () {
			if ($('#barrier-dialogue').length) {
				mmcore.SetAction('T42_Barrier', 1, attr);
				mmcore.request();

				attr++;
				mmcore.SetCookie('mm_t42_barrier_views', attr, 365, 1);
			}
		});

	});
}());
}catch(err){mmcore.EH(err);}
try{
;(function VCB104_ActBarrClick() {
	mmcore.waitFor(function () {
		return (window.jQuery && jQuery('#barrier-dialogue').length);
	}, {
		isNotStoppedOnDocumentReadiness : true,
		timeout : 15000
	}).done(function () {
		if (jQuery('#barrier-dialogue').length) {
			var arr_attrs = ['NewsPrem', 'PremDig', 'StanDig', 'Trial'];
			var bind_action_for_selection = function (selector) {
				selector.each(function (index) {
					jQuery(this).find('a').click(function (e) {
						mmcore.$Action('VCB104_BarrClick', 1, arr_attrs[index]);
						mmcore.SetCookie('mm_vcb104_barr_click', arr_attrs[index], 0, 1);
					});
				});
			};
			bind_action_for_selection(jQuery('.barrier-matrix .barrier-matrix__header.barrier-matrix__toggle'));
			bind_action_for_selection(jQuery('.barrier-matrix tr:last .barrier-matrix__cell.barrier-matrix__toggle'));

			jQuery('#corporate-signup-link').click(function () {
				mmcore.$Action('VCB104_BarrClick', 1, 'Corporate');
				mmcore.SetCookie('mm_vcb104_barr_click', 'Corporate', 0, 1);
			});
			jQuery('#newspaper-only-signup-link').click(function () {
				mmcore.$Action('VCB104_BarrClick', 1, 'Newspaper');
				mmcore.SetCookie('mm_vcb104_barr_click', 'Newspaper', 0, 1);
			});

			jQuery('.barrier-dialogue__control a.barrier-link').click(function (e) {
				e.preventDefault();
				var th = this.href;
				mmcore._async = true;
				mmcore.SetAction('VCB104_BarrClick', '1', 'SignIn');
				mmcore.SetPageID('mmevents');
				mmcore.CGRequest(function () {
					location.href = th;
				});
			});
			
			jQuery('#barrier-close-button').click(function () {
				mmcore.$Action('VCB104_BarrClick', 1, 'Close');
			});
		}
	});
})();

}catch(err){mmcore.EH(err);}
try{
;
(function () {

    $(document).ready(function () {

        var preventFlag = false;


        $(document).on('focus', '#seriesLogic #series', function () {
            mmcore.SetAction('VCB_DropdownClicks', 1, 'Initial');
            mmcore.request();

            if (!preventFlag) {
                
                preventFlag = true;
                
                $('#seriesLogic #series').on('change', function () {

                    mmcore.SetAction('VCB_DropdownClicks', 1, 'Item');
                    mmcore.request();


                });

            }

        });
    });

})();
}catch(err){mmcore.EH(err);}
try{
;
(function T20_B2BActsSignUpProc() {
	mmcore.AddDocLoadHandler(function () {
		var $ = window.jQuery,
			submitBtn = '#free-trial-form .mktoButton, .mm-t20-b2b-btn',

			//corporate ft thank you page after success registration through lightbox
			isThankYouPage = location.pathname.indexOf('thank-you') + 1
				&& $('body').text()
				&& $('body').text().indexOf('Thank you for contacting us') + 1,

			isSignUpProccessPage = location.href === 'https://registration.ft.com/corporate/signup/Zp23rjTjzjzPq',
			freeTrialAttr = mmcore.GetCookie('mm_t20_b2b_try_submit', 1),

			trackAct = function (attr) {
				mmcore.SetAction('T20_B2BFreeTrial', 1, attr);
				mmcore.request();
				mmcore.SetCookie('mm_t20_b2b_try_submit', '', -1, 1);
			};

		if (isSignUpProccessPage && freeTrialAttr) {
			mmcore.waitFor(function () {
				return $('#module-thankyou').length
					&& $('#module-thankyou').text()
					&& $('#module-thankyou').text().indexOf('Thank you - you have successfully joined') + 1;
			}, {
				isNotStoppedOnDocumentReadiness: true,
				timeout: 3000
			})
				.done(function () {
					var browseFTbtn = $('#module-button-browse a');

					browseFTbtn.click(function () {
						mmcore.$Action('T20_B2BArticleLink', 1);
					});

					trackAct(freeTrialAttr);
				})
		} else if (isThankYouPage && freeTrialAttr) {
			trackAct(freeTrialAttr);
		}

		$(document).on('click', submitBtn, function () {
			var actionAttr = '';

			if ($(this).closest('form') && $(this).closest('form').attr('id') === 'mktoForm_1248') {
				actionAttr = 'lightbox';
			} else {
				actionAttr = 'barrier';
			}

			mmcore.SetCookie('mm_t20_b2b_try_submit', actionAttr, 0, 1);
		});

	});
}());
}catch(err){mmcore.EH(err);}
try{
;
(function T37_ActFormArrivals() {
	var attr_barr = mmcore.GetCookie('mm_barr_click', 1);
	mmcore.SetCookie('mm_barr_click', '', -1, 1);

	mmcore.AddDocLoadHandler(function () {
		setTimeout(function () {
			if (document.querySelector('#signUp-form') || document.querySelector('#orderform') || location.href == 'http://ftcorporate.ft.com/free-trial/') {
				var attr = '',
				subs_text = '';
				if (document.querySelector('.mp-order-summary__product-name')) {
					var subs_text = document.querySelector('.mp-order-summary__product-name').innerHTML;
					if (subs_text.indexOf('Premium FT.com') != -1) {
						attr = 'PremDig';
						if (document.querySelector('.mp-order-summary__step-up-details') && document.querySelector('.mp-order-summary__step-up-details').innerHTML.indexOf('trial') != -1) {
							attr = 'Trial';
						}
					} else if (subs_text.indexOf('Standard FT.com') != -1) {
						attr = 'StanDig';
					} else if (subs_text.indexOf('FT Weekend App Edition') != -1) {
						attr = 'App';
					}
				}
				if (window.jQuery) {
					var bullet_text = jQuery('#benefitBulletsTitleID strong').text();
					if (bullet_text.indexOf('Print + Digital') != -1) {
						attr = 'NewsPrem';
					} else if (bullet_text.indexOf('FT Print') != -1) {
						attr = 'Newspaper';
					}

					if (jQuery('.main h1 strong').text().indexOf('trial for your team or organisation') != -1) {
						attr = 'Corporate';
					}
				}
				if (attr) {
					if (attr_barr) {
						mmcore.SetCookie('mm_t37_direct_sub', '1', 0, 1);
					}
					mmcore._async = true;
					mmcore.SetAction('T37_FormArrivals', '1', attr);
					mmcore.SetPageID('mmevents');
					mmcore.CGRequest();
				}
			} else {
				// some extra step before subcription form.
				// for Corporate, Newspaper and App types
				if (window.jQuery) {
					var needed_btn = '';
					if (attr_barr == 'Corporate') {
						needed_btn = jQuery('#plan-guide .free-trial-btn');
					} else if (attr_barr == 'Newspaper') {
						jQuery('#country_selector').change(function(){
							mmcore.SetCookie('mm_barr_click', attr_barr, 0, 1);
						});
						var arr_attrs = ['StanDig', 'PremDig', 'NewsPrem', 'Newspaper'];
						jQuery('h1.primary_product_item').each(function (index) {
							var t = jQuery(this);
							t.parents('div[class*="product_container"]').find('.ft_standard').click(function () {
								mmcore.SetCookie('mm_barr_click', arr_attrs[index], 0, 1);
							});
						});
					} else if (attr_barr == 'App') {
						needed_btn = jQuery('.ft_standard');
					}
					if (needed_btn.length) {
						needed_btn.click(function () {
							mmcore.SetCookie('mm_barr_click', attr_barr, 0, 1);
						});
					}
					mmcore.SetCookie('mm_t37_direct_sub', '', -1, 1);
				}
			}
		}, 1000);
	});
})();

}catch(err){mmcore.EH(err);}
try{
(function T30_ActSessions(mmcore) {
	setTimeout(function () {
		if (!mmcore.GetCookie('mm_t30_session', true) && mmcore.GetCookie('mm_t30_gen', true)) {
			mmcore.SetAction('T30_Sessions', 1, '');
			mmcore.request();
			mmcore.SetCookie('mm_t30_session', '1', 0, true);
		}
	}, 2000);

}(window.mmcore));
}catch(err){mmcore.EH(err);}
try{
;(function VCB104_SubHelp() {
	var attr_barr = mmcore.GetCookie('mm_vcb104_barr_click', 1);
	mmcore.SetCookie('mm_vcb104_barr_click', '', -1, 1);

	mmcore.AddDocLoadHandler(function () {
		setTimeout(function () {
			if (document.querySelector('#signUp-form') || document.querySelector('#orderform') || location.href == 'http://ftcorporate.ft.com/free-trial/') {
				if (attr_barr) {
						mmcore.SetCookie('mm_vcb104_direct_sub', '1', 0, 1);
				}
			} else {
				// some extra step before subcription form.
				// for Corporate, Newspaper and App types
				if (window.jQuery) {
					var needed_btn = '';
					if (attr_barr == 'Corporate') {
						needed_btn = jQuery('#plan-guide .free-trial-btn');
					} else if (attr_barr == 'Newspaper') {
						jQuery('#country_selector').change(function(){
							mmcore.SetCookie('mm_vcb104_barr_click', attr_barr, 0, 1);
						});
						var arr_attrs = ['StanDig', 'PremDig', 'NewsPrem', 'Newspaper'];
						jQuery('h1.primary_product_item').each(function (index) {
							var t = jQuery(this);
							t.parents('div[class*="product_container"]').find('.ft_standard').click(function () {
								mmcore.SetCookie('mm_vcb104_barr_click', arr_attrs[index], 0, 1);
							});
						});
					} else if (attr_barr == 'App') {
						needed_btn = jQuery('.ft_standard');
					}
					if (needed_btn.length) {
						needed_btn.click(function () {
							mmcore.SetCookie('mm_vcb104_barr_click', attr_barr, 0, 1);
						});
					}
					mmcore.SetCookie('mm_vcb104_direct_sub', '', -1, 1);
				}
			}
		}, 1000);
	});
})();


}catch(err){mmcore.EH(err);}
try{
/**
 * Created by Iuliia on 6/16/2015.
 */
;(function(mmcore) {

	mmcore.AddDocLoadHandler(function() {

		mmcore.waitFor(function() {
			var r_jQuery = '';
			try {
				r_jQuery = require("jquery");
			} catch (o_0) {}
			var $ = window.jQuery || (window.require && typeof(r_jQuery) == "function");

			return typeof $ == "function" && ($('.topten') || $('.nav-items-l2-flyout').length);

		}).done(function() {

			var $ = window.jQuery || (window.require && window.require("jquery")),
				mainPartOfURL = (window.location.hostname + window.location.pathname).replace(/\/$/, ''),
				pagesDataArray = [
					{
						actionName: "T30_LifeArts",
						cookiePostfix: "p",
						pageMasks: ["ft.com/intl/life-arts", "ft.com/life-arts"]
					},
					{
						actionName: "T30_fastFT",
						cookiePostfix: "f",
						selectorToHandle: '.nav-items-l2-flyout li:contains(fastFT) a, .fastft-introtext a, .fastft-list a'
					},
					{
						actionName: "T30_SpecReports",
						cookiePostfix: "r",
						pageMasks: ['www.ft.com/special-reports',
							'www.ft.com/intl/special-reports']
					},
					{
						actionName: "T30_Apps",
						cookiePostfix: "a",
						selectorToHandle: '.nav-items-l3 li:contains(Mobile) a'
					},
					{
						actionName: "T30_Video",
						cookiePostfix: "m",
						pageMasks: ["video.ft.com"]
					}
				],
				actionAttr = '', actualPageData = null, i, j, linksToHandle,
				pageIsCheckedByURL, maskCheckIsValid;

			var trackAction = function(actionName, actionAttr, callback) {
				mmcore._async = true;
				mmcore.SetPageID("mmevents");
				mmcore.SetAction(actionName, 1, actionAttr);
				mmcore.CGRequest(callback)
			};

			for (i = 0; i < pagesDataArray.length; i++) {

				actualPageData = pagesDataArray[i];
				pageIsCheckedByURL = actualPageData.pageMasks;
				maskCheckIsValid = false;

				// Onload actions processing, we check by URL
				if (pageIsCheckedByURL) {

					// Mapping validation processing
					for(j = 0; j < actualPageData.pageMasks.length; j++) {
						if (mainPartOfURL && mainPartOfURL.indexOf(actualPageData.pageMasks[j]) !== -1) {
							maskCheckIsValid = true
						}
					}

					// Mapping conditions are met
					if (maskCheckIsValid) {

						actionAttr = mmcore.GetCookie("mm_t30_" + actualPageData.cookiePostfix, true);
						if (!actionAttr) {
							actionAttr = "NoTooltip";
						} else {
							actionAttr = (actionAttr === "b") ? "Banner" : "Tooltip";
						}

						if (actualPageData.checkCondition) {
							if (actualPageData.checkCondition()) {
								trackAction(actualPageData.actionName, actionAttr);
							}
						} else {
							trackAction(actualPageData.actionName, actionAttr);
						}

					}

					// Onclick actions processing, we check by selector
				} else {
					(function(actionName, cookiePostfix) {
						if (typeof $.fn.on == 'function') {
							$('body').on('click', actualPageData.selectorToHandle, function (e) {

								var currentLink = $(this),
									currentLinkHref = currentLink.attr('href');

								e.preventDefault();

								actionAttr = mmcore.GetCookie("mm_t30_" + cookiePostfix, true);
								if (!actionAttr) {
									actionAttr = "NoTooltip";
								} else {
									actionAttr = (actionAttr === "b") ? "Banner" : "Tooltip";
								}


								trackAction(actionName, actionAttr, function () {
									location.assign(currentLinkHref);
								});

								setTimeout(function () {
									location.assign(currentLinkHref);
								}, 2000);

							});
						}
					})(actualPageData.actionName, actualPageData.cookiePostfix);

				}

			}

		})
	})

})(window.mmcore);
}catch(err){mmcore.EH(err);}
mmcore._RenderOnLoad();if(typeof mmcore._callback=='object'&&typeof mmcore._callback[1]=='function'){try{mmcore._callback[1]();}catch(err){mmcore.EH(err);}
finally{mmcore._callback[1]=null;}}
})();