/* SWFObject v2.1 <http://code.google.com/p/swfobject/>
	Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
*/

$.SWcUtil = {
    siteStat: {
        isOn: true,
        isPostBack: false,
        bypassPostBackCheck: false,
        url: window.location.protocol + '//uk.sitestat.com/',
        instance: 'scottishwidows/',
        siteName: 'consumer',
        counterPage: '',
        counterPrefix: '',
        counterSuffix: '',
        counterExt: '.page',
        fullCounter: '',
        bespokeFullCounter: '',
        bespokeCounterPage: '',
        customLabels: '',
        authInfo: '',
        queryString: '',
        ignoreQueryString: false,
        addCustomLabel: function (name, value) {
            this.customLabels += '&amp;' + this.cleanMe(name) + '=' + this.cleanMe(value);
        },
        addAuthInfo: function (name, value) {
            this.authInfo += '&amp;' + this.cleanMe(name) + '=' + this.cleanMe(value);
        },
        cleanMe: function (toClean) {
            return toClean.replace(/\s+/g, '_').replace(/[^a-zA-Z0-9.\-_]+/g, '').toLowerCase();
        },
        lrTrim: function (jj,kk){
            var a=-1,z=jj.length;
            while(jj.charCodeAt(--z)==kk);
            while(jj.charCodeAt(++a)==kk);
            return jj.slice(a,z+1);
        }
    }
}
var ns_pixelUrl = '';
function sitestat(ns_l) {
    ns_l += '&amp;ns__t=' + (new Date()).getTime();
    ns_pixelUrl = ns_l + ns_pixelUrl;
    ns_0 = document.referrer;
    ns_l += "&amp;ns_jspageurl=" + escape(document.domain + location.pathname);
    ns_0 = (ns_0.lastIndexOf('/') == ns_0.length - 1) ? ns_0.substring(ns_0.lastIndexOf('/'), 0) : ns_0;
    if (ns_0.length > 0) ns_l += '&amp;ns_referrer=' + escape(ns_0);
    if (document.images) {
        ns_1 = new Image();
        ns_1.src = ns_l;
    } else document.write('<img src="' + ns_l + '" width="1" height="1" alt="">');
}
jQuery.extend(jQuery.expr[':'],{hasClickCode:function(obj){return ($(obj).attr('data-swclickcode')!==undefined&&$(obj).attr('data-swclickcode')!='');}});
$.extend({getCookie:function(c){if(document.cookie.length>0){var c_start=document.cookie.indexOf(c+'=');if(c_start!=-1){c_start=c_start+c.length+1;var c_end=document.cookie.indexOf(';',c_start);if(c_end==-1)c_end=document.cookie.length;return unescape(document.cookie.substring(c_start,c_end));}}return'';}});
var JSON=JSON||{};(function(){function f(n){return n<10?"0"+n:n}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(){return this.valueOf()?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()}}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function")value=value.toJSON(key);if(typeof rep==="function")value=rep.call(holder,key,value);switch(typeof value){case"string":return quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"object":if(!value)return"null";gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i<length;i+=1)partial[i]=str(i,value)||"null";v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==="string"){v=str(k,value);v&&partial.push(quote(k)+(gap?": ":":")+v)}}}else for(k in value)if(Object.hasOwnProperty.call(value,k)){v=str(k,value);v&&partial.push(quote(k)+(gap?": ":":")+v)}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v}}if(typeof JSON.stringify!=="function")JSON.stringify=function(value,replacer,space){var i;gap="";indent="";if(typeof space==="number")for(i=0;i<space;i+=1)indent+=" ";else if(typeof space==="string")indent=space;rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number"))throw new Error("JSON.stringify");return str("",{"":value})};if(typeof JSON.parse!=="function")JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object")for(k in value)if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined)value[k]=v;else delete value[k]}return reviver.call(holder,key,value)}cx.lastIndex=0;if(cx.test(text))text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)});if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse");}})();var JSOND=JSOND||{};(function(){JSOND.parseToObject=function(text,reviver){var returnObject=JSON.parse(text,reviver);if(typeof returnObject.d!="undefined")returnObject=JSON.parse(returnObject.d,reviver);return returnObject};JSOND.parseToString=function(value,replacer,space){return JSON.stringify(value,replacer,space)}})();
$.SWcUtil.clickInCodes=function(options){options=$.extend({},$.SWcUtil.clickInCodes.defaults,options);var links=$('a:hasClickCode');for(var i=0;i<links.length;i++){$(links[i]).click(function(){var link=$(this),usePDFReport=(typeof($(link).attr('data-swext'))!='undefined')?true:false,ext=(typeof($(link).attr('data-swext'))!='undefined')?'.'+$(link).attr('data-swext').toLowerCase():'',z=new Image();z.src=$.SWcUtil.siteStat.url+$.SWcUtil.siteStat.instance+$.SWcUtil.siteStat.siteName+'/s?'+((usePDFReport)?'downloads.':'link.')+(($.SWcUtil.siteStat.bespokeCounterPage!='')?$.SWcUtil.siteStat.bespokeCounterPage:$.SWcUtil.siteStat.counterPage)+'.'+$(link).attr('data-swclickcode').toLowerCase()+((usePDFReport)?ext:'')+'&amp;ns_type='+((usePDFReport)?'pdf':'clickin')+'&amp;ns_action=view'+$.SWcUtil.siteStat.authInfo;});}};

$(document).ready(function ()
{
    if(typeof ($.SWcUtil.siteStat)!='undefined')
    {
        if($.SWcUtil.siteStat.isPostBack&&!$.SWcUtil.siteStat.bypassPostBackCheck) return;
        var xx=window.location.pathname.toLowerCase(),yy=window.location.search,zz=xx.indexOf('.');
        if(xx.length==1)
        {
            xx='index';
        }
        else
        {
            //LOSE THE FILE EXTENSION
            if(zz!=-1){xx=xx.substring(0,zz);}

            //DEAL WITH QUERYSTRING
            if(yy.length>0)
            {
                var aa=yy.substring(1).split('&'),bb=new Array(),cc=aa.length;
                yy='';
                for(var i=0;i<cc;i++)
                {
                    yy+='&'+$.SWcUtil.siteStat.cleanMe(aa[i].toString().substring(0,aa[i].toString().indexOf('=')))+'='+$.SWcUtil.siteStat.cleanMe(aa[i].toString().substring(aa[i].toString().indexOf('=')+1));
                }
            }

            //TRIM SLASHES AT START AND END
            xx=$.SWcUtil.siteStat.lrTrim(xx,47);
            //REPLACE FORWARD SLASH WITH FULL STOP
            xx=xx.replace(/\//g,'.');
            //FINAL CLEAN
            xx=$.SWcUtil.siteStat.cleanMe(xx);
        }

        //TEST FOR 404
        if(~document.title.toLowerCase().indexOf('page not found'))
        {
            $.SWcUtil.siteStat.addCustomLabel('ns_http_status','404')
        }

        $.SWcUtil.siteStat.counterPage=xx;
        $.SWcUtil.siteStat.queryString=(!$.SWcUtil.siteStat.ignoreQueryString)?yy:'';
        $.SWcUtil.siteStat.fullCounter=$.SWcUtil.siteStat.counterPrefix+$.SWcUtil.siteStat.counterPage+$.SWcUtil.siteStat.counterSuffix+$.SWcUtil.siteStat.counterExt+$.SWcUtil.siteStat.queryString;
        $.SWcUtil.clickInCodes();
                var authLabels = $.getCookie('sw-stat-inf');
                if (authLabels.length > 0) {
                    var x = JSOND.parseToObject(authLabels);
                    if (typeof(x) == 'object') {
                        $.SWcUtil.siteStat.addAuthInfo('sw_login', x.r);
                        $.SWcUtil.siteStat.addAuthInfo('sw_user_id', x.j);
                        $.SWcUtil.siteStat.addAuthInfo('sw_user_name', x.f + '_' + x.s);
                        $.SWcUtil.siteStat.addAuthInfo('sw_role', x.x);
                    }
                }
        sitestat($.SWcUtil.siteStat.url+$.SWcUtil.siteStat.instance+$.SWcUtil.siteStat.siteName+'/s?'+(($.SWcUtil.siteStat.bespokeFullCounter.length>0)?$.SWcUtil.siteStat.bespokeFullCounter:$.SWcUtil.siteStat.fullCounter)+$.SWcUtil.siteStat.customLabels+$.SWcUtil.siteStat.authInfo);
    }
});

/**** End Sitestat Tracking code ****/


