/*
 * OpenTag, a tag deployment platform
 * Copyright 2011, QuBit Group
 * http://opentag.qubitproducts.com
 */

try{(function(){var q={};q.html={};(function(){var DOMContentLoaded,isReady=false,readyWait=1,readyList,readyComplete,bindReadyComplete,doScrollCheck;readyComplete=function(wait){var i,ii;if(wait===true){readyWait-=1}if(!readyWait||(wait!==true&&!isReady)){if(!document.body){return setTimeout(readyComplete,1)}isReady=true;if(wait!==true){readyWait-=1;if(readyWait>0){return}}for(i=0,ii=readyList.length;i<ii;i+=1){readyList[i]()}}};doScrollCheck=function(){if(isReady){return}try{document.documentElement.doScroll("left")}catch(e){setTimeout(doScrollCheck,1);return}readyComplete()};bindReadyComplete=function(){if(readyList){return}readyList=[];if((document&&document.getElementsByTagName&&document.getElementById&&document.body)||document.readyState==="complete"){return setTimeout(readyComplete,1)}if(document.addEventListener){document.addEventListener("DOMContentLoaded",DOMContentLoaded,false);window.addEventListener("load",readyComplete,false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",DOMContentLoaded);window.attachEvent("onload",readyComplete);var toplevel=false;try{toplevel=(window.frameElement===null)||(window.frameElement===undefined)}catch(e){}if(document.documentElement.doScroll&&toplevel){doScrollCheck()}}}};q.html.ready=function(fn){bindReadyComplete();if(isReady){setTimeout(fn,1)}else{readyList.push(fn)}};if(document.addEventListener){DOMContentLoaded=function(){document.removeEventListener("DOMContentLoaded",DOMContentLoaded,false);readyComplete()}}else{if(document.attachEvent){DOMContentLoaded=function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",DOMContentLoaded);readyComplete()}}}}}());q.html.fileLoader={};q.html.fileLoader.load=function(url,preLoadAction,postLoadHandler,parentNode,async){var scriptEl,preLoadResult,loadError,oldOnError,doPostLoad;doPostLoad=function(){postLoadHandler(url,loadError);if(oldOnError){window.onerror=oldOnError}};try{if(preLoadAction){preLoadResult=preLoadAction(url)}}catch(e){preLoadResult=false}finally{if(preLoadResult!==false){scriptEl=q.html.fileLoader.createScriptEl(url,async);if(postLoadHandler){scriptEl.onload=doPostLoad;scriptEl.onreadystatechange=function(){if((this.readyState==="complete")||(this.readyState==="loading")){setTimeout(doPostLoad,1)}}}if(!parentNode){parentNode=window.document.getElementsByTagName("head")[0]}if(window.onerror){oldOnError=window.onerror}window.onerror=function(reason,url,lineNumber){loadError={reason:reason,url:url,lineNumber:lineNumber};return true};parentNode.appendChild(scriptEl)}}};q.html.fileLoader.createScriptEl=function(path,async,forceReload){var scriptEl=document.createElement("script");scriptEl.type="text/javascript";scriptEl.src=q.html.fileLoader.tidyUrl(path)+(forceReload?("?"+new Date().getTime()):"");if(async!==false){scriptEl.async="true";scriptEl.defer="true"}else{scriptEl.async="false";if(scriptEl.async!==false){scriptEl.async=false}scriptEl.defer="false"}return scriptEl};q.html.fileLoader.tidyUrl=function(path){if(path.substring(0,5)==="http:"){return path}if(path.substring(0,6)==="https:"){return path}return"//"+path};q.html.PostData=function(url,data){var isIe,type,xhr;try{type="POST";isIe=navigator.userAgent.indexOf("MSIE")!==-1;xhr=null;url=("https:"===document.location.protocol?"https:":"http:")+url;try{xhr=new XMLHttpRequest()}catch(e1){}if(xhr&&!isIe){xhr.open(type,url,true)}else{if(typeof XDomainRequest!=="undefined"){xhr=new XDomainRequest();xhr.open(type,url)}else{xhr=null}}try{xhr.withCredentials=false}catch(e2){}if(xhr.setRequestHeader){xhr.setRequestHeader("Content-Type","text/plain;charset=UTF-8")}xhr.send(data)}catch(err){if(window.console&&window.console.log){window.console.log(err)}}};q.html.GlobalEval={};q.html.GlobalEval.globalEval=function(src){if(window.execScript){window.execScript(src)}else{var fn=function(){window["eval"].call(window,src)};fn()}};q.html.HtmlInjector={};q.html.HtmlInjector.inject=function(el,injectStart,str,cb,parentNode){var i,ii,d,scriptsRaw,scripts,script,contents;if(str.toLowerCase().indexOf("<script")>=0){d=document.createElement("div");d.innerHTML="a"+str;scriptsRaw=d.getElementsByTagName("script");scripts=[];for(i=0,ii=scriptsRaw.length;i<ii;i+=1){scripts.push(scriptsRaw[i])}contents=[];for(i=0,ii=scripts.length;i<ii;i+=1){script=scripts[i];if(script.src){contents.push({src:script.src})}else{contents.push({script:script.innerHTML})}script.parentNode.removeChild(script)}if(d.innerHTML){if(d.innerHTML.length>0){d.innerHTML=d.innerHTML.substring(1)}}q.html.HtmlInjector.doInject(el,injectStart,d);q.html.HtmlInjector.loadScripts(contents,0,cb,el)}else{d=document.createElement("div");d.innerHTML=str;q.html.HtmlInjector.doInject(el,injectStart,d);if(cb){cb()}}};q.html.HtmlInjector.doInject=function(el,injectStart,d){if(d.childNodes.length>0){var fragment=document.createDocumentFragment();while(d.childNodes.length>0){fragment.appendChild(d.removeChild(d.childNodes[0]))}if(injectStart){q.html.HtmlInjector.injectAtStart(el,fragment)}else{q.html.HtmlInjector.injectAtEnd(el,fragment)}}};q.html.HtmlInjector.injectAtStart=function(el,fragment){if(el.childNodes.length===0){el.appendChild(fragment)}else{el.insertBefore(fragment,el.childNodes[0])}};q.html.HtmlInjector.injectAtEnd=function(el,fragment,counter){if(!counter){counter=1}if((el===document.body)&&(document.readyState!=="complete")&&(counter<50)){setTimeout(function(){q.html.HtmlInjector.injectAtEnd(el,fragment,counter+1)},100)}else{el.appendChild(fragment)}};q.html.HtmlInjector.loadScripts=function(contents,i,cb,parentNode){var ii,c;for(ii=contents.length;i<ii;i+=1){c=contents[i];if(c.src){q.html.fileLoader.load(c.src,null,function(){q.html.HtmlInjector.loadScripts(contents,i+1,cb,parentNode)},parentNode);break}else{q.html.GlobalEval.globalEval(c.script)}}if(cb&&(i===ii)){cb()}};var urlFilters=[],scriptLoaders={},qTagClientId="",profileName="",tellLoadTimesProbability=0,pingServerUrl=null;var qTagClientId="25659";var profileName="27759";var urlFilters=[{filterType:"1",patternType:"1",pattern:"",priority:1,scriptLoaderKeys:["29392"]},{filterType:"1",patternType:"1",pattern:"",priority:4,scriptLoaderKeys:["73620"]},{filterType:"2",patternType:"2",pattern:"/Checkout.aspx",priority:2,scriptLoaderKeys:["73620"]},{filterType:"2",patternType:"2",pattern:"/Basket.aspx",priority:3,scriptLoaderKeys:["73620"]},{filterType:"2",patternType:"2",pattern:"/OrderAcknowledge.aspx",priority:1,scriptLoaderKeys:["73620"]},{filterType:"1",patternType:"2",pattern:"/Basket.aspx",priority:1,scriptLoaderKeys:["80429"]},{filterType:"1",patternType:"2",pattern:"/OrderAcknowledge.aspx",priority:1,scriptLoaderKeys:["80727"]},{filterType:"1",patternType:"2",pattern:"/Checkout.aspx",priority:1,scriptLoaderKeys:["117630"]},{filterType:"1",patternType:"2",pattern:"basket",priority:1,scriptLoaderKeys:["145833"]},{filterType:"1",patternType:"1",pattern:"",priority:1,scriptLoaderKeys:["161270"]},{filterType:"1",patternType:"1",pattern:"",priority:2,scriptLoaderKeys:["276133"]},{filterType:"2",patternType:"2",pattern:"http://seeds.suttons.co.uk/search%",priority:1,scriptLoaderKeys:["276133"]}];var scriptLoaders={29392:{id:"29392",name:"Mouse Tracking",pre:"window._qHf = [];window._qHf.push(['_qHfAccount', 'suttons']);",url:"s3-eu-west-1.amazonaws.com/qbit-pingserver-cdn/fp.js",post:"",html:"",locationId:2,positionId:2,locationDetail:"",async:true,usesDocWrite:false},73620:{id:"73620",name:"QTracker",pre:'qTracker_data = { \n  domain: ".suttons.co.uk",\n  serverUrl:"pong.qubitproducts.com/t", \n  clientId:"suttons",\n  cdClient: "suttons_cd",\n  doCd: true\n};',url:"dtxtngytz5im1.cloudfront.net/qtracker-min.js",post:"",html:"",locationId:2,positionId:2,locationDetail:"",async:true,usesDocWrite:false},80429:{id:"80429",name:"QTracker Basket",pre:'qTracker_data = { \n  domain: ".suttons.co.uk",\n  serverUrl:"pong.qubitproducts.com/t", \n  clientId:"suttons", \n  pattern:".*",\n  use:["id"],\n  searchKey:["ctl00_ts_lblT"]\n};',url:"dtxtngytz5im1.cloudfront.net/qtracker-min.js",post:"",html:"",locationId:2,positionId:2,locationDetail:"",async:true,usesDocWrite:false},80727:{id:"80727",name:"QTracker Order Completed",pre:'qTracker_data = { \n  domain: ".suttons.co.uk",\n  serverUrl:"pong.qubitproducts.com/t", \n  clientId:"suttons", \n  pattern:".*",\n  use:["id", "class"],\n  searchKey:["ctl00_cph1_tc1_lbRef", "OverallTotal"]\n};',url:"dtxtngytz5im1.cloudfront.net/qtracker-min.js",post:"",html:"",locationId:1,positionId:1,locationDetail:"",async:true,usesDocWrite:false},117630:{id:"117630",name:"QTracker Checkout page",pre:'var qTracker_data = {\n      domain: ".suttons.co.uk",\n      serverUrl:"pong.qubitproducts.com/t",\n      pattern:".*", clientId:"suttons",\n      use:["id","js"],\n      searchKey:["ctl00_ts_lblT", "qtracker_values"]\n    };',url:"",post:"",html:'<script type="text/javascript">\n var qTracker_data = {\n      domain: ".suttons.co.uk",\n      serverUrl:"pong.qubitproducts.com/t",\n      pattern:".*", clientId:"suttons",\n      use:["id","js"],\n      searchKey:["ctl00_ts_lblT", "qtracker_values"]\n    };\n\n  var custom_qtracker = {};\n  \n  custom_qtracker.ready = ( function () {\n  	function addEvent( obj, type, fn ) {\n  	  if ( obj.attachEvent ) {\n  	    obj[\'e\'+type+fn] = fn;\n  	    obj[type+fn] = function(){obj[\'e\'+type+fn]( window.event );}\n  	    obj.attachEvent( \'on\'+type, obj[type+fn] );\n  	  } else\n  	    obj.addEventListener( type, fn, false );\n  	};\n\n  	function ready( f ) {\n  		if( ready.done ) return f();\n\n  		if( ready.timer ) {\n  			ready.ready.push(f);\n  		} else {\n  			addEvent( window, "load", isDOMReady);\n  			ready.ready = [ f ];\n  			ready.timer = setInterval(isDOMReady, 13);\n  		}\n  	};\n\n  	function isDOMReady() {\n  		if( ready.done ) return false;\n  		if( document && document.getElementsByTagName && document.getElementById && document.body ) {\n  			clearInterval( ready.timer );\n  			ready.timer = null;\n  			for( var i = 0; i < ready.ready.length; i++ ) {\n  				ready.ready[i]();\n  			}\n  			ready.ready = null;\n  			ready.done = true;\n  		}\n  	}\n\n  	return ready;\n  })();\n  \n  custom_qtracker.main = function() {\n    \n    function loadQTracker() {\n      var x = document.createElement("script");\n      x.src="//dtxtngytz5im1.cloudfront.net/qtracker-min.js";\n      document.body.appendChild(x);\n    }\n\n    function checkSignedIn() {\n      window.qinterval = setInterval(function(){\n        if($("#ctl00_cph1_tc1_EXUpdatePanel1").size() > 0 && window.qtracker_values != "Signed_In") {\n          window.qtracker_values = "Signed_In";\n          loadQTracker();\n          clearInterval(window.qinterval);\n        }\n      }, 2000);\n    }\n    \n    return {\n      track: function() {\n        if(jQuery) {\n          var signInBtn = jQuery("#ctl00_cph1_si_btnSignIn");\n          jQuery("#ctl00_cph1_si_btnSignIn").live("click", function() {\n            window.qtracker_values = "Clicked_Sign_In";\n            loadQTracker();\n            checkSignedIn();\n          });\n          \n          jQuery("#ctl00_cph1_ra_lb").live("click", function() {\n            window.qtracker_values = "Clicked_Checkout";\n            loadQTracker();\n            checkSignedIn();\n          });\n          \n          if(signInBtn.size() > 0) {\n            window.qtracker_values = "Not_Sign_In";\n            loadQTracker();\n          } else {\n            window.qtracker_values = "Signed_In";\n            loadQTracker();\n          }\n          \n          window.qtracker_values = value;\n          \n        }\n      }\n    };\n  }();\n\n// start tracking \ncustom_qtracker.ready(custom_qtracker.main.track);\n  \n<\/script>',locationId:1,positionId:1,locationDetail:"",async:true,usesDocWrite:false},145833:{id:"145833",name:"Optimizely",pre:"",url:"cdn.optimizely.com/js/22332158.js",post:"",html:"",locationId:1,positionId:1,locationDetail:"",async:false,usesDocWrite:false},161270:{id:"161270",name:"QTracker V3",pre:'_qtd = [{\n  options: {\n    domain: ".suttons.co.uk",\n    serverUrl: "pong.qubitproducts.com/t2",\n    clientId: "suttons",\n    doCd: true,\n    cdClient: "suttons_cd"\n  }\n}];\n_qtd.push({custom: {\n  Order1: {\n    type: \'id\',\n    key: \'ctl00_cph1_tc1_lbRef\',\n    pattern: \'.*OrderAcknowledge\\.aspx.*\'\n  },\n  _c_con_ct: {\n    type: \'classIndex\',\n    key: [\'OverallTotal\', 0],\n    pattern: \'.*OrderAcknowledge\\.aspx.*\'\n  },\n  _c_sc_val: {\n    type: \'id\',\n    key: "ctl00_ts_lblT"\n  }\n}});\n\n_qtd.push({\n  custom: {\n    _c_op_bu: {\n      type: "fn",\n      key: function () {\n        if (document.cookie.indexOf("optimizelyBucket") >= 0) {\n          var ___dc = document.cookie.substring(document.cookie.indexOf("optimizelyBucket"));\n          return ___dc.substring(18, ___dc.indexOf("; "));\n        }\n      }\n    }\n  }\n});',url:"dtxtngytz5im1.cloudfront.net/qtracker-v3-min.js",post:"",html:"",locationId:1,positionId:1,locationDetail:"",async:true,usesDocWrite:false},276133:{id:"276133",name:"New EF",pre:'var q_fb_opts = {\n  trackingId: "suttons",\n  clientId: 111,\n  profileId: 1011,\n  showProb: 0.5,\n  returnTime: 400\n};',url:"dtxtngytz5im1.cloudfront.net/feedback-min.js",post:"",html:"",locationId:1,positionId:1,locationDetail:"",async:true,usesDocWrite:false}};
var tellLoadTimesProbability=1;var pingServerUrl="pong.qubitproducts.com";function QTag(urlFilters,scriptLoaders){QTag.qTagLoaders=QTag.getLoaders(urlFilters,scriptLoaders,document.URL);QTag.loadersFinished=0;QTag.isTellingLoadTimes=tellLoadTimesProbability>Math.random();if(QTag.isTellingLoadTimes){QTag.loadTimes={}}QTag.errors={};QTag.loadLoaders()}QTag.ALL="1";QTag.SUBSTRING="2";QTag.REGEX="3";QTag.EXACT_MATCH="4";QTag.FILTER_TYPE_INCLUDE="1";QTag.FILTER_TYPE_EXCLUDE="2";QTag.getLoaders=function(urlFilters,scriptLoaders,url){var i,ii,urlFilter,loaderKeysSet={},matchedFilters=[],loaders=[];if((!urlFilters)||(!url)){return loaders}for(i=0,ii=urlFilters.length;i<ii;i+=1){urlFilter=urlFilters[i];if(QTag.doesUrlFilterMatch(urlFilter,url)){matchedFilters.push(urlFilter)}}matchedFilters.sort(function(a,b){return b.priority-a.priority});for(i=0,ii=matchedFilters.length;i<ii;i+=1){QTag.updateLoaders(matchedFilters[i],loaderKeysSet)}for(i in loaderKeysSet){if(loaderKeysSet.hasOwnProperty(i)){loaders.push(scriptLoaders[i])}}return loaders};QTag.doesUrlFilterMatch=function(urlFilter,url){var matches=false;switch(urlFilter.patternType){case QTag.EXACT_MATCH:if(url.toLowerCase()===urlFilter.pattern.toLowerCase()){matches=true}break;case QTag.SUBSTRING:if(url.toLowerCase().indexOf(urlFilter.pattern.toLowerCase())>=0){matches=true}break;case QTag.REGEX:if(new RegExp(urlFilter.pattern).test(url)){matches=true}break;case QTag.ALL:matches=true;break}return matches};QTag.updateLoaders=function(urlFilter,loaderKeysSet){var i,ii,scriptLoaderKeys=urlFilter.scriptLoaderKeys;if(urlFilter.filterType===QTag.FILTER_TYPE_INCLUDE){for(i=0,ii=scriptLoaderKeys.length;i<ii;i+=1){if(scriptLoaderKeys.hasOwnProperty(i)){loaderKeysSet[scriptLoaderKeys[i]]=true}}}else{if(urlFilter.filterType===QTag.FILTER_TYPE_EXCLUDE){for(i=0,ii=scriptLoaderKeys.length;i<ii;i+=1){if(scriptLoaderKeys.hasOwnProperty(i)){delete loaderKeysSet[scriptLoaderKeys[i]]}}}}};QTag.waitCounts={};QTag.maxLoads=10;QTag.loadCheckInterval=500;QTag.loadLoaders=function(){var i,ii,qTagLoader,err;QTag.docWriteUsers=[];for(i=0,ii=QTag.qTagLoaders.length;i<ii;i+=1){qTagLoader=QTag.qTagLoaders[i];try{if(qTagLoader.usesDocWrite){QTag.docWriteUsers.push(qTagLoader)}else{QTag.doWhenReady(qTagLoader,QTag.loadTagLoader,function(){})}}catch(e){err={reason:"error parsing loader, "+qTagLoader.id+": "+e.reason,url:document.location.href};QTag.errors[qTagLoader.id]=err;if(window.debug){console.log(err)}}}QTag.loadLoadersSequentially()};QTag.doWhenReady=function(qTagLoader,f,timeoutHandler){QTag.waitCounts[qTagLoader.id]=0;QTag._doWhenReady(qTagLoader,f,timeoutHandler)};QTag._doWhenReady=function(qTagLoader,f,timeoutHandler){if(QTag.canLoad(qTagLoader)){f(qTagLoader)}else{if(QTag.waitCounts[qTagLoader.id]<QTag.maxLoads){QTag.waitCounts[qTagLoader.id]+=1;setTimeout(function(){QTag._doWhenReady(qTagLoader,f,timeoutHandler)},QTag.loadCheckInterval)}else{timeoutHandler(qTagLoader)}}};QTag.canLoad=function(qTagLoader){if(qTagLoader.locationId===2){return !!document.body}else{if(qTagLoader.locationId===3){return !!document.getElementById(qTagLoader.locationDetail)}}return true};QTag.loadLoadersSequentially=function(){var qTagLoader,finishHandler;if(QTag.docWriteUsers.length>0){qTagLoader=QTag.docWriteUsers[0];QTag.docWriteUsers.shift();QTag.doWhenReady(qTagLoader,QTag.loadLoaderSequentially,function(){QTag.loadLoadersSequentially()})}};QTag.loadLoaderSequentially=function(qTagLoader){var text=[];document.write=function(t){text.push(t)};document.writeln=function(t){text.push(t)};finishHandler=function(){var el=QTag.getLocation(qTagLoader);q.html.HtmlInjector.inject(el,qTagLoader.positionId===1,text.join("\n"),QTag.loadLoadersSequentially)};qTagLoader.finishHandler=finishHandler;QTag.loadTagLoader(qTagLoader)};QTag.loadTagLoader=function(qTagLoader){var ender=QTag.getTimerEnder(qTagLoader);try{if(qTagLoader.url){q.html.fileLoader.load(qTagLoader.url,QTag.getTimerStarter(qTagLoader),ender,qTagLoader.parentNode,qTagLoader.async)}else{if(qTagLoader.html){QTag.injectHtml(qTagLoader)}}}catch(e){ender(null,e)}};QTag.injectHtml=function(qTagLoader){var el=QTag.getLocation(qTagLoader);QTag.getTimerStarter(qTagLoader)();q.html.HtmlInjector.inject(el,qTagLoader.positionId===1,qTagLoader.html,QTag.getTimerEnder(qTagLoader))};QTag.getLocation=function(qTagLoader){var el;if(qTagLoader.locationId===1){el=document.getElementsByTagName("head")[0]}else{if(qTagLoader.locationId===2){el=document.body}else{if(qTagLoader.locationId===3){el=document.getElementById(qTagLoader.locationDetail)}else{el=document.body}}}return el};QTag.getTimerStarter=function(qTagLoader){if(QTag.isTellingLoadTimes){QTag.loadTimes[qTagLoader.id]={start:new Date().getTime()}}return QTag.createStatementEvaluator(qTagLoader.pre)};QTag.getTimerEnder=function(qTagLoader){return function(url,error){if(QTag.isTellingLoadTimes){QTag.loadTimes[qTagLoader.id].end=new Date().getTime()}if(error){QTag.errors[qTagLoader.id]=error}if(qTagLoader.finishHandler){qTagLoader.finishHandler()}return QTag.createStatementEvaluator(qTagLoader.post)()}};QTag.createStatementEvaluator=function(statement){if((!!statement)&&(statement.length>0)){var fn,toRun="fn = function() {\nq.html.GlobalEval.globalEval(statement);\nQTag.incrementLoadCounter([]);\n};";eval(toRun);return fn}else{return function(){QTag.incrementLoadCounter([])}}};QTag.incrementLoadCounter=function(){QTag.loadersFinished+=1;if(QTag.loadersFinished===QTag.qTagLoaders.length*2){q.html.ready(QTag.sendLoadTimes);if(window.qTag_allLoaded){window.qTag_allLoaded()}}};QTag.sendLoadTimes=function(){var loaderId,pingString,pingStrings,times;if(QTag.isTellingLoadTimes){pingString="c="+qTagClientId+"&p="+profileName+"&l="+(tellLoadTimesProbability)+"&d=";pingStrings=[];for(loaderId in QTag.loadTimes){if(QTag.loadTimes.hasOwnProperty(loaderId)){times=QTag.loadTimes[loaderId];pingStrings.push(loaderId+":"+(times.end-times.start))}}pingString+=("{"+pingStrings.join(",")+"}");if(pingServerUrl){q.html.PostData("//"+pingServerUrl+"/tag?"+pingString,null,"GET")}}QTag.sendErrors()};QTag.sendErrors=function(){if(!window.openTag_sendErrors){return}var loaderId,err,msg,errMsgs=[];for(loaderId in QTag.errors){if(QTag.errors.hasOwnProperty(loaderId)){err=QTag.errors[loaderId];errMsgs.push("{r: '"+err.reason+"',u:'"+err.url+"',l:'"+err.lineNumber+"'}")}}if(errMsgs.length>0){if(window.debug){console.log(errMsgs.join(","))}msg="c="+qTagClientId+"&p="+profileName+"&e="+("["+errMsgs.join(",")+"]");if(pingServerUrl){q.html.PostData("//"+pingServerUrl+"/tag_err?"+msg,null,"GET")}}};var qTag=new QTag(urlFilters||[],scriptLoaders||{})}())}catch(e){try{if(debug){console.debug(e)}}catch(ex){}};
