// Master Kill Switch Config
killConfig.globalData = {
	gomez : true,
	recaptcha : true,
	googleAnalytics : true,
	webtrendsAnalytics : true,
	bazaarVoice : true,
	mindshareZap : true,
	mindshareFloodlight : true,
	shoprunner : true,
	bingConversion : false,
	yahooConversion : false
};

// Gomez ( this gets appended to the body )
if(killConfig.isActive("gomez")) {
	killConfig.loadDependency({
		key : "gomez",
		write : '<script type="text/javascript" src="' + urlConfig.assets + '/js/external/gomez.js" charset="utf-8"></script>'
	});
}

//Recaptcha
if(killConfig.isActive("recaptcha")) {
	killConfig.loadDependency({
		key : "recaptcha",
		ajax : {
			url : "//www.google.com/recaptcha/api/js/recaptcha_ajax.js"
		}
	});
}

//Google Analytics
if(killConfig.isActive("googleAnalytics")) {
	killConfig.loadDependency({
		key : "googleAnalytics",
		ajax : {
			url : ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js',
			success : function() {
				var hostPathString = location.protocol + "//" + location.host;
				simplr.trigger.mAddServices({
					"Google Analytics": {
						data : {
							environmentIDs : { 
								"localhost": "UA-1172593-26", 
								"nolo-us-dev" : "UA-1172593-26", 
								"nolo-us-qa" : "UA-1172593-26",
								"nolo-us-preprod": "UA-1172593-26", 
								"nolo-us-prod": "UA-1172593-38"
							}
						},
						onLoad : function(data){
							window._gaq = window._gaq || [];
							window._gaq.push(['_setAccount', this.data.environmentIDs[data.envID]],['_setDomainName', '.dominos.com'],['_setAllowHash', false]);
							return this.data.environmentIDs[data.envID];
						},
						onPage : function(data){ 
							var fullPath = (data.path + (simplr.util.mEmpty(data.route.url) ? "" : "#") + data.route.url).replace(hostPathString, "");
							window._gaq.push(['_trackPageview', fullPath]);
							return fullPath;
						},
						onEvent : function(data){
							var tmpData = $.extend(true, {}, data);
							var eventData = { category:"", action:"", label: "" };
							eventData.label = tmpData.breadcrumb.pop();
							eventData.action = tmpData.breadcrumb.pop();
							eventData.category = tmpData.breadcrumb.join("_");
							window._gaq.push(['_trackEvent', eventData.category, eventData.action, eventData.label, eventData.value]);
							return eventData;
						},
						onTransaction : function(data){
							//increment transaction delay
							site.data.transactionRecords++;
							
							data = data.Details;
							var orderObj = { order:{}, products:[] };
							$.extend(orderObj.order, { OrderID: data.StoreOrderID+'#'+data.StoreID, StoreID: data.StoreID, Total:data.Amounts.Customer, Tax:data.Amounts.Tax, Delivery:data.Amounts.Surcharge});
							window._gaq.push(['_addTrans',orderObj.order.OrderID, orderObj.order.StoreID, orderObj.order.Total, orderObj.order.Tax, orderObj.order.Delivery]);
							$.each(data.Variants, function(i, product) {
								var vO = jsDPZ.app.catalog.getCatalog().getVariant(product.Code).data;
								var categoryCode = jsDPZ.app.catalog.getCatalog().getProduct(jsDPZ.app.catalog.getCatalog().getVariant(product.Code).data.ProductCode).data.ProductType;
								var productObj = {ProductCode:product.Code, ProductDescription:vO.Name, CategoryCode:categoryCode, Price:vO.Price, Quantity:product.Qty};
								orderObj.products.push(productObj);
								window._gaq.push(['_addItem',orderObj.order.OrderID, productObj.ProductCode, productObj.ProductDescription, productObj.CategoryCode, productObj.Price, productObj.Quantity ]);
							});
							window._gaq.push(['_trackTrans'],function() {
								//decrement transaction delay
								site.data.transactionRecords--;
							});
							return orderObj;
						}
					}
				});
			}
		}
	});
}

//Webtrends Analytics
if(killConfig.isActive("webtrendsAnalytics")) {
	killConfig.loadDependency({
		key : "webtrendsAnalytics",
		ajax : {
			url : urlConfig.assets + "/js/external/webtrendsasync10.js",
			success : function() {
				var hostPathString = location.protocol + "//" + location.host;
				var dcsid = document.location.hostname != 'order.dominos.com' ? 'dcsewg5wp00000oufv6mox6cw_1x2z' : 'dcs3lhtwruz5bd696321yqyzz_3t1u'; //TRUE: express id / FALSE: nolo id
				simplr.trigger.mAddServices({
					"Webtrends": {
						data : {
							environmentIDs : { 
								"localhost": "dcshsobosvz5bdkwrbmdekiyk_6z8d",
								"nolo-us-dev": "dcsuag48rvz5bdorqaq73fpyk_9c8k", 
								"nolo-us-qa": "dcs2tvhjnuz5bdyykt5tcpyzz_8z1h", 
								"nolo-us-preprod": "dcshsobosvz5bdkwrbmdekiyk_6z8d", 
								"nolo-us-prod":  dcsid
							}
						},
						onLoad : function(data){
							var dcs=new Webtrends.dcs().init({
								dcsid: this.data.environmentIDs[data.envID],
								timezone:-5,
								collectoninit:false
							});
							return this.data.environmentIDs[data.envID];
						},
						onPage : function(data){
							var fullPath = (data.path + (simplr.util.mEmpty(data.route.url) ? "" : "#") + data.route.url).replace(hostPathString, "");
							var orderData = jsDPZ.app.order.getOrder().data;
							var argsToPush = {
								'DCS.dcsuri'	: fullPath,
								'WT.ti'			: document.title
							};
							var wtObj = { argsa:[] };
							$.each(argsToPush, function(id,val) { wtObj.argsa.push(id,val); });
							Webtrends.multiTrack(wtObj);
							return wtObj;
						},
						onEvent : function(data) {
							var tmpData = $.extend(true, {}, data);
							var orderData = jsDPZ.app.order.getOrder().data;
							var eventData = { category:"", action:"", label: "" };
							eventData.label = tmpData.breadcrumb.pop();
							eventData.action = tmpData.breadcrumb.pop();
							eventData.category = tmpData.breadcrumb.join("_");
							var argsToPush = {
								'DCS.dcsuri' : location.pathname,
								'WT.ti'			: document.title,
								// Category Tracking
								'WT.cg_n'		: eventData.category,
								'WT.cg_s'		: eventData.action,
								'WT.cg_s2'		: eventData.label,
								'WT.dl'			: '41',
								// Scenario Funnel 
								'WT.si_n'		: 'Engagement',
								'WT.si_x'		: '5'
							};
							var wtObj = { argsa:[] };
							$.each(argsToPush, function(id,val) { wtObj.argsa.push(id,val); });
							Webtrends.multiTrack(wtObj);
							return wtObj;
						},
						onTransaction : function(data) {
							//increment transaction delay
							site.data.transactionRecords++;
							
							var products = { sku: [], desc:[],  cat:[], cost:[], qty:[] };
							$.each(data.Details.Variants, function(i, product) {
								var vO = jsDPZ.app.catalog.getCatalog().getVariant(product.Code).data;
								products.sku.push(product.Code);
								products.desc.push(vO.Name);
								products.cat.push(jsDPZ.app.catalog.getCatalog().getProduct(jsDPZ.app.catalog.getCatalog().getVariant(product.Code).data.ProductCode).data.ProductType);
								products.cost.push(vO.Price);
								products.qty.push(product.Qty);
							});
							var now = new Date();
							var argsToPush = {
								'DCS.dcsuri'	: location.pathname,
								'WT.ti'			: document.title,
								// Product Data 
								'WT.pn_sku'		: products.sku.join(";"),
								'WT.pn_id'		: products.desc.join(";"),
								'WT.pn_fa'		: products.cat.join(";"),
								'WT.tx_u'		: products.qty.join(";"),
								'WT.tx_s'		: products.cost.join(";"),
								// Order Data
								'WT.tx_cartid'	: data.Details.StoreOrderID+'#'+data.Details.StoreID,
								'WT.tx_e'		: 'p',
								'WT.tx_i'		: data.Details.StoreOrderID+'#'+data.Details.StoreID,
								'WT.tx_id'		: String(now.getMonth() +1) + '/' + now.getDate() + '/' + now.getFullYear(),
								'WT.tx_t'		: now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds(),
								// Store Data 
								'WT.z_mystore'	: data.Details.StoreID,
								// Scenario Funnel
								'WT.si_n'		: 'Engagement',
								'WT.si_x'		: '6',
								'WT.si_cs'		: '1'
							};
							var wtObj = { 
								argsa:[],
								callback: function() {
									//decrement transaction delay
									site.data.transactionRecords--;
								}
							};
							$.each(argsToPush, function(id,val) { wtObj.argsa.push(id,val); });
							Webtrends.multiTrack(wtObj);
							return wtObj;
						}
					}
				});
			}
		}
	});
}

// BazaarVoice
if(killConfig.isActive("bazaarVoice")) {
	var html =	'<script type="text/javascript" src="//dominos.ugc.bazaarvoice.com/' + (envConfig == "nolo-us-prod" ? "" : "bvstaging/") + 'static/1018/bvapi.js"></script>';
	killConfig.loadDependency({
		key : "bazaarVoice",
		write : html
	});
}

// Mindshare Zap
if(killConfig.isActive("mindshareZap")) {
	window.B3_url = window.location.pathname; 
	window.B3_query = window.location.search.substring(1);  
	window.B3_client = 'dominos';
	killConfig.loadDependency({
		key : "mindshareZap",
		append : '<script type="text/javascript" src="' + (("https:" == document.location.protocol) ? "https://" : "http://") + 'b3.mookie1.com/0/B3/ZAM/ZAP_bolt.js" charset="utf-8"></script>'
	});
}

// Mindshare Floodlight
if(killConfig.isActive("mindshareFloodlight")) {
	var axel = Math.random() + "";
	var a = axel * 10000000000000;
	killConfig.loadDependency({
		key : "mindshareFloodlight",
		append : '<iframe src="' + document.location.protocol + '//fls.doubleclick.net/activityi;src=2356384;type=domin663;cat=homep516;ord=' + a + '?" width="1" height="1" frameborder="0" style="display:none"></iframe>'
	});
}

// Shoprunner
if(killConfig.isActive("shoprunner")) {
	// Getting errors trying to do append or ajax load
	killConfig.loadDependency({
		key : "shoprunner",
		write : '<script type="text/javascript" src="' + urlConfig.assets + '/js/external/shop-runner.js" charset="utf-8"></script>'
	});
}

// Bing Conversion
if(killConfig.isActive("bingConversion")) {
	var html = '<!-- Microsoft Code for Purchase/Sale Conversion Page -->' +
				'<script type="text/javascript"> if (!window.mstag) mstag = {loadTag : function(){},time : (new Date()).getTime()};</script>' + 
				'<script id="mstag_tops" type="text/javascript" src="//flex.atdmt.com/mstag/site/eaca89ee-dfac-4231-a927-f67d027a0262/mstag.js"></script>' +
				'<script type="text/javascript"> mstag.loadTag("analytics", {dedup:"1",domainId:"217965",type:"1",actionid:"35425"})</script>' +
				'<noscript>' +
					'<iframe src="//flex.atdmt.com/mstag/tag/eaca89ee-dfac-4231-a927-f67d027a0262/analytics.html?dedup=1&domainId=217965&type=1&actionid=35425" frameborder="0" scrolling="no" width="1" height="1" style="visibility:hidden;display:none"></iframe>' +
				'</noscript>'; 
	
	killConfig.loadDependency({
		key : "bingConversion",
		write : html
	});
	
}

// Yahoo Conversion
if(killConfig.isActive("yahooConversion")){
	var ysm_accountid  = "13FE8T5CHLJALTFO1T1LCUTCCFC";
	window.ysm_customData = new Object();
	window.ysm_customData.conversion = "transId=,currency=,amount=";
	
	var html = '<script src="//srv3.wa.marketingsolutions.yahoo.com/script/ScriptServlet?aid=' + ysm_accountid + '"></script>';
	
	killConfig.loadDependency({
		key : "yahooConversion",
		write : html
	});
}
