//***************** DO NOT EDIT *****************
//This file was automatically generated  by concatenating
//  vendor/webtrends_public.js
//  vendor/google_analytics_espanol.js
//  reg/facebook.js

/****** File: vendor/webtrends_public.js ******/
// Version: 8.5.0
// Tag Builder Version: 2.0.0
// Created: 8/21/2008 4:59:14
// Last modified: 11/30/2009 by parnaudov@technologyleaders.com
// Last Modified: Date: 2010/07/19 08:30:00 $ by $Author: tkristiansen
// Last Modified: $Date: 2010/08/09 12:40:30 $ by $Author: powem $

function WebTrends(){
    var that=this;
    // begin: user modifiable
    this.dcsid=(window.location.host == "www.raileurope.com")?
    "dcsx8kr3i00000wszzcluesb5_7x1y" : "dcs3nlnpl100008qhdxdd2eor_4p9c";
    this.domain="statse.webtrendslive.com";
    this.timezone=0;
    this.fpcdom=".raileurope.com";
    this.onsitedoms=(function(){return(window.RegExp?new RegExp("raileurope.com","i"):"");})();
    this.downloadtypes="xls,doc,pdf,txt,csv,zip";
    this.trackevents=true;
    this.enabled=true;
    this.i18n=false;
    this.fpc="WT_FPC";
    // end: user modifiable
    this.DCS={};
    this.WT={};
    this.DCSext={};
    this.images=[];
    this.index=0;
    this.exre=(function(){
        return(window.RegExp?new RegExp("dcs(uri)|(ref)|(aut)|(met)|(sta)|(sip)|(pro)|(byt)|(dat)|(p3p)|(cfg)|(redirect)|(cip)","i"):"");
    })();
    this.re=(function(){
        return(window.RegExp?(that.i18n?{
            "%25":/\%/g
        }:{
            "%09":/\t/g,
            "%20":/ /g,
            "%23":/\#/g,
            "%26":/\&/g,
            "%2B":/\+/g,
            "%3F":/\?/g,
            "%5C":/\\/g,
            "%22":/\"/g,
            "%7F":/\x7F/g,
            "%A0":/\xA0/g
        }):"");
    })();
    this.WT.sp="www.raileurope.com";
    this.TechTag = new TechLead();
}
WebTrends.prototype.dcsGetId=function(){
    if (this.enabled&&(document.cookie.indexOf(this.fpc+"=")==-1)&&(document.cookie.indexOf("WTLOPTOUT=")==-1)){
        document.write("<scr"+"ipt type='text/javascript' src='"+"http"+(window.location.protocol.indexOf('https:')==0?'s':'')+"://"+this.domain+"/"+this.dcsid+"/wtid.js"+"'><\/scr"+"ipt>");
    }
}
WebTrends.prototype.dcsGetCookie=function(name){
    var cookies=document.cookie.split("; ");
    var cmatch=[];
    var idx=0;
    var i=0;
    var namelen=name.length;
    var clen=cookies.length;
    for (i=0;i<clen;i++){
        var c=cookies[i];
        if ((c.substring(0,namelen+1))==(name+"=")){
            cmatch[idx++]=c;
        }
    }
    var cmatchCount=cmatch.length;
    if (cmatchCount>0){
        idx=0;
        if ((cmatchCount>1)&&(name==this.fpc)){
            var dLatest=new Date(0);
            for (i=0;i<cmatchCount;i++){
                var lv=parseInt(this.dcsGetCrumb(cmatch[i],"lv"));
                var dLst=new Date(lv);
                if (dLst>dLatest){
                    dLatest.setTime(dLst.getTime());
                    idx=i;
                }
            }
        }
        return unescape(cmatch[idx].substring(namelen+1));
    }
    else{
        return null;
    }
}
WebTrends.prototype.dcsGetCrumb=function(cval,crumb,sep){
    var aCookie=cval.split(sep||":");
    for (var i=0;i<aCookie.length;i++){
        var aCrumb=aCookie[i].split("=");
        if (crumb==aCrumb[0]){
            return aCrumb[1];
        }
    }
    return null;
}
WebTrends.prototype.dcsGetIdCrumb=function(cval,crumb){
    var id=cval.substring(0,cval.indexOf(":lv="));
    var aCrumb=id.split("=");
    for (var i=0;i<aCrumb.length;i++){
        if (crumb==aCrumb[0]){
            return aCrumb[1];
        }
    }
    return null;
}
WebTrends.prototype.dcsIsFpcSet=function(name,id,lv,ss){
    var c=this.dcsGetCookie(name);
    if (c){
        return ((id==this.dcsGetIdCrumb(c,"id"))&&(lv==this.dcsGetCrumb(c,"lv"))&&(ss==this.dcsGetCrumb(c,"ss")))?0:3;
    }
    return 2;
}
WebTrends.prototype.dcsFPC=function(){
    if (document.cookie.indexOf("WTLOPTOUT=")!=-1){
        return;
    }
    var WT=this.WT;
    var name=this.fpc;
    var dCur=new Date();
    var adj=(dCur.getTimezoneOffset()*60000)+(this.timezone*3600000);
    dCur.setTime(dCur.getTime()+adj);
    var dExp=new Date(dCur.getTime()+315360000000);
    var dSes=new Date(dCur.getTime());
    WT.co_f=WT.vt_sid=WT.vt_f=WT.vt_f_a=WT.vt_f_s=WT.vt_f_d=WT.vt_f_tlh=WT.vt_f_tlv="";
    if (document.cookie.indexOf(name+"=")==-1){
        if ((typeof(gWtId)!="undefined")&&(gWtId!="")){
            WT.co_f=gWtId;
        }
        else if ((typeof(gTempWtId)!="undefined")&&(gTempWtId!="")){
            WT.co_f=gTempWtId;
            WT.vt_f="1";
        }
        else{
            WT.co_f="2";
            var curt=dCur.getTime().toString();
            for (var i=2;i<=(32-curt.length);i++){
                WT.co_f+=Math.floor(Math.random()*16.0).toString(16);
            }
            WT.co_f+=curt;
            WT.vt_f="1";
        }
        if (typeof(gWtAccountRollup)=="undefined"){
            WT.vt_f_a="1";
        }
        WT.vt_f_s=WT.vt_f_d="1";
        WT.vt_f_tlh=WT.vt_f_tlv="0";
    }
    else{
        var c=this.dcsGetCookie(name);
        var id=this.dcsGetIdCrumb(c,"id");
        var lv=parseInt(this.dcsGetCrumb(c,"lv"));
        var ss=parseInt(this.dcsGetCrumb(c,"ss"));
        if ((id==null)||(id=="null")||isNaN(lv)||isNaN(ss)){
            return;
        }
        WT.co_f=id;
        var dLst=new Date(lv);
        WT.vt_f_tlh=Math.floor((dLst.getTime()-adj)/1000);
        dSes.setTime(ss);
        if ((dCur.getTime()>(dLst.getTime()+1800000))||(dCur.getTime()>(dSes.getTime()+28800000))){
            WT.vt_f_tlv=Math.floor((dSes.getTime()-adj)/1000);
            dSes.setTime(dCur.getTime());
            WT.vt_f_s="1";
        }
        if ((dCur.getDay()!=dLst.getDay())||(dCur.getMonth()!=dLst.getMonth())||(dCur.getYear()!=dLst.getYear())){
            WT.vt_f_d="1";
        }
    }
    WT.co_f=escape(WT.co_f);
    WT.vt_sid=WT.co_f+"."+(dSes.getTime()-adj);
    var expiry="; expires="+dExp.toGMTString();
    var cur=dCur.getTime().toString();
    var ses=dSes.getTime().toString();
    document.cookie=name+"="+"id="+WT.co_f+":lv="+cur+":ss="+ses+expiry+"; path=/"+(((this.fpcdom!=""))?("; domain="+this.fpcdom):(""));
    var rc=this.dcsIsFpcSet(name,WT.co_f,cur,ses);
    if (rc!=0){
        WT.co_f=WT.vt_sid=WT.vt_f_s=WT.vt_f_d=WT.vt_f_tlh=WT.vt_f_tlv="";
        WT.vt_f=WT.vt_f_a=rc;
    }
}
WebTrends.prototype.dcsIsOnsite=function(host){
    if (host.length>0){
        host=host.toLowerCase();
        if (host==window.location.hostname.toLowerCase()){
            return true;
        }
        if (typeof(this.onsitedoms.test)=="function"){
            return this.onsitedoms.test(host);
        }
        else if (this.onsitedoms.length>0){
            var doms=this.dcsSplit(this.onsitedoms);
            var len=doms.length;
            for (var i=0;i<len;i++){
                if (host==doms[i]){
                    return true;
                }
            }
        }
    }
    return false;
}
WebTrends.prototype.dcsTypeMatch=function(pth, typelist){
    var type=pth.substring(pth.lastIndexOf(".")+1,pth.length);
    var types=this.dcsSplit(typelist);
    var tlen=types.length;
    for (var i=0;i<tlen;i++){
        if (type==types[i]){
            return true;
        }
    }
    return false;
}
WebTrends.prototype.dcsEvt=function(evt,tag){
    var e=evt.target||evt.srcElement;
    while (e.tagName&&(e.tagName!=tag)){
        e=e.parentElement||e.parentNode;
    }
    return e;
}
WebTrends.prototype.dcsNavigation=function(evt){
    return "";
}
WebTrends.prototype.dcsBind=function(event,func){
    if ((typeof(func)=="function")&&document.body){
        if (document.body.addEventListener){
            document.body.addEventListener(event, func.wtbind(this), true);
        }
        else if(document.body.attachEvent){
            document.body.attachEvent("on"+event, func.wtbind(this));
        }
    }
}
WebTrends.prototype.dcsET=function(){
    var e=(navigator.appVersion.indexOf("MSIE")!=-1)?"click":"mousedown";
    this.dcsBind(e,this.dcsDownload);
    this.dcsBind(e,this.dcsOffsite);
}
WebTrends.prototype.dcsMultiTrack=function(){
    var args=dcsMultiTrack.arguments?dcsMultiTrack.arguments:arguments;
    if (args.length%2==0){
        for (var i=0;i<args.length;i+=2){
            if (args[i].indexOf('WT.')==0){
                this.WT[args[i].substring(3)]=args[i+1];
            }
            else if (args[i].indexOf('DCS.')==0){
                this.DCS[args[i].substring(4)]=args[i+1];
            }
            else if (args[i].indexOf('DCSext.')==0){
                this.DCSext[args[i].substring(7)]=args[i+1];
            }
        }
        var dCurrent=new Date();
        this.DCS.dcsdat=dCurrent.getTime();
        this.dcsFunc(this.dcsFPC());
        this.dcsTag();
    }
}
WebTrends.prototype.dcsSplit=function(list){
    var items=list.toLowerCase().split(",");
    var len=items.length;
    for (var i=0;i<len;i++){
        items[i]=items[i].replace(/^\s*/,"").replace(/\s*$/,"");
    }
    return items;
}
// Code section for Track clicks to download links.
WebTrends.prototype.dcsDownload=function(evt){
    evt=evt||(window.event||"");
    if (evt&&((typeof(evt.which)!="number")||(evt.which==1))){
        var e=this.dcsEvt(evt,"A");
        if (e.href){
            var hn=e.hostname?(e.hostname.split(":")[0]):"";
            if (this.dcsIsOnsite(hn)&&this.dcsTypeMatch(e.pathname,this.downloadtypes)){
                var qry=e.search?e.search.substring(e.search.indexOf("?")+1,e.search.length):"";
                var pth=e.pathname?((e.pathname.indexOf("/")!=0)?"/"+e.pathname:e.pathname):"/";
                var ttl="";
                var text=document.all?e.innerText:e.text;
                var img=this.dcsEvt(evt,"IMG");
                if (img.alt){
                    ttl=img.alt;
                }
                else if (text){
                    ttl=text;
                }
                else if (e.innerHTML){
                    ttl=e.innerHTML;
                }
                this.dcsMultiTrack("DCS.dcssip",hn,"DCS.dcsuri",pth,"DCS.dcsqry",e.search||"","WT.ti","Download:"+ttl,"WT.dl","20","WT.nv",this.dcsNavigation(evt));
                this.DCS.dcssip=this.DCS.dcsuri=this.DCS.dcsqry=this.WT.ti=this.WT.dl=this.WT.nv="";
            }
        }
    }
}
// Code section for Track clicks to links leading offsite.
WebTrends.prototype.dcsOffsite=function(evt){
    evt=evt||(window.event||"");
    if (evt&&((typeof(evt.which)!="number")||(evt.which==1))){
        var e=this.dcsEvt(evt,"A");
        if (e.href){
            var hn=e.hostname?(e.hostname.split(":")[0]):"";
            var pr=e.protocol||"";
            if ((hn.length>0)&&(pr.indexOf("http")==0)&&!this.dcsIsOnsite(hn)){
                var qry=e.search?e.search.substring(e.search.indexOf("?")+1,e.search.length):"";
                var pth=e.pathname?((e.pathname.indexOf("/")!=0)?"/"+e.pathname:e.pathname):"/";
                var trim=true;
                this.dcsMultiTrack("DCS.dcssip",hn,"DCS.dcsuri",pth,"DCS.dcsqry",trim?"":qry,"WT.ti","Offsite:"+hn+pth+qry,"WT.dl","24","WT.nv",this.dcsNavigation(evt));
                this.DCS.dcssip=this.DCS.dcsuri=this.DCS.dcsqry=this.WT.ti=this.WT.dl=this.WT.nv="";
            }
        }
    }
}

WebTrends.prototype.dcsAdv=function(){
    if (this.trackevents&&(typeof(this.dcsET)=="function")){
        if (window.addEventListener){
            window.addEventListener("load",this.dcsET.wtbind(this),false);
        }
        else if (window.attachEvent){
            window.attachEvent("onload",this.dcsET.wtbind(this));
        }
    }
    this.dcsFunc(this.dcsFPC());
}
WebTrends.prototype.dcsVar=function(){
    var dCurrent=new Date();
    var WT=this.WT;
    var DCS=this.DCS;
    WT.tz=parseInt(dCurrent.getTimezoneOffset()/60*-1)||"0";
    WT.bh=dCurrent.getHours()||"0";
    WT.ul=navigator.appName=="Netscape"?navigator.language:navigator.userLanguage;
    if (typeof(screen)=="object"){
        WT.cd=navigator.appName=="Netscape"?screen.pixelDepth:screen.colorDepth;
        WT.sr=screen.width+"x"+screen.height;
    }
    if (typeof(navigator.javaEnabled())=="boolean"){
        WT.jo=navigator.javaEnabled()?"Yes":"No";
    }
    if (document.title){
        if (window.RegExp){
            var tire=new RegExp("^"+window.location.protocol+"//"+window.location.hostname+"\\s-\\s");
            WT.ti=document.title.replace(tire,"");
        }
        else{
            WT.ti=document.title;
        }
    }
    WT.js="Yes";
    WT.jv=(function(){
        var agt=navigator.userAgent.toLowerCase();
        var major=parseInt(navigator.appVersion);
        var mac=(agt.indexOf("mac")!=-1);
        var ff=(agt.indexOf("firefox")!=-1);
        var ff0=(agt.indexOf("firefox/0.")!=-1);
        var ff10=(agt.indexOf("firefox/1.0")!=-1);
        var ff15=(agt.indexOf("firefox/1.5")!=-1);
        var ff20=(agt.indexOf("firefox/2.0")!=-1);
        var ff3up=(ff&&!ff0&&!ff10&!ff15&!ff20);
        var nn=(!ff&&(agt.indexOf("mozilla")!=-1)&&(agt.indexOf("compatible")==-1));
        var nn4=(nn&&(major==4));
        var nn6up=(nn&&(major>=5));
        var ie=((agt.indexOf("msie")!=-1)&&(agt.indexOf("opera")==-1));
        var ie4=(ie&&(major==4)&&(agt.indexOf("msie 4")!=-1));
        var ie5up=(ie&&!ie4);
        var op=(agt.indexOf("opera")!=-1);
        var op5=(agt.indexOf("opera 5")!=-1||agt.indexOf("opera/5")!=-1);
        var op6=(agt.indexOf("opera 6")!=-1||agt.indexOf("opera/6")!=-1);
        var op7up=(op&&!op5&&!op6);
        var jv="1.1";
        if (ff3up){
            jv="1.8";
        }
        else if (ff20){
            jv="1.7";
        }
        else if (ff15){
            jv="1.6";
        }
        else if (ff0||ff10||nn6up||op7up){
            jv="1.5";
        }
        else if ((mac&&ie5up)||op6){
            jv="1.4";
        }
        else if (ie5up||nn4||op5){
            jv="1.3";
        }
        else if (ie4){
            jv="1.2";
        }
        return jv;
    })();
    WT.ct="unknown";
    if (document.body&&document.body.addBehavior){
        try{
            document.body.addBehavior("#default#clientCaps");
            WT.ct=document.body.connectionType||"unknown";
            document.body.addBehavior("#default#homePage");
            WT.hp=document.body.isHomePage(location.href)?"1":"0";
        }
        catch(e){
        }
    }
    if (document.all){
        WT.bs=document.body?document.body.offsetWidth+"x"+document.body.offsetHeight:"unknown";
    }
    else{
        WT.bs=window.innerWidth+"x"+window.innerHeight;
    }
    WT.fv=(function(){
        var i,flash;
        if (window.ActiveXObject){
            for(i=10;i>0;i--){
                try{
                    flash=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);
                    return i+".0";
                }
                catch(e){
                }
            }
        }
        else if (navigator.plugins&&navigator.plugins.length){
            for (i=0;i<navigator.plugins.length;i++){
                if (navigator.plugins[i].name.indexOf('Shockwave Flash')!=-1){
                    return navigator.plugins[i].description.split(" ")[2];
                }
            }
        }
        return "Not enabled";
    })();
    WT.slv=(function(){
        var slv="Not enabled";
        try{
            if (navigator.userAgent.indexOf('MSIE')!=-1){
                var sli = new ActiveXObject('AgControl.AgControl');
                if (sli){
                    slv="Unknown";
                }
            }
            else if (navigator.plugins["Silverlight Plug-In"]){
                slv="Unknown";
            }
        }
        catch(e){
        }
        if (slv!="Not enabled"){
            var i,j,v;
            if ((typeof(Silverlight)=="object")&&(typeof(Silverlight.isInstalled)=="function")){
                for (j=9;j>=0;j--){
                    for(i=3;i>0;i--){
                        v=i+"."+j;
                        if (Silverlight.isInstalled(v)){
                            slv=v;
                            break;
                        }
                    }
                    if (slv==v){
                        break;
                    }
                }
            }
        }
        return slv;
    })();
    if (this.i18n){
        if (typeof(document.defaultCharset)=="string"){
            WT.le=document.defaultCharset;
        }
        else if (typeof(document.characterSet)=="string"){
            WT.le=document.characterSet;
        }
        else{
            WT.le="unknown";
        }
    }
    WT.tv="8.5.0";
    //  WT.sp="@@SPLITVALUE@@";
    WT.dl="0";
    WT.ssl=(window.location.protocol.indexOf('https:')==0)?"1":"0";
    DCS.dcsdat=dCurrent.getTime();
    DCS.dcssip=window.location.hostname;
    DCS.dcsuri=window.location.pathname;
    WT.es=DCS.dcssip+DCS.dcsuri;
    if (window.location.search){
        DCS.dcsqry=window.location.search;
    }
    if ((window.document.referrer!="")&&(window.document.referrer!="-")){
        if (!(navigator.appName=="Microsoft Internet Explorer"&&parseInt(navigator.appVersion)<4)){
            DCS.dcsref=window.document.referrer;
        }
    }
}
WebTrends.prototype.dcsEscape=function(S, REL){
    if (REL!=""){
        S=S.toString();
        for (var R in REL){
            if (REL[R] instanceof RegExp){
                S=S.replace(REL[R],R);
            }
        }
        return S;
    }
    else{
        return escape(S);
    }
}
WebTrends.prototype.dcsA=function(N,V){
    if (this.i18n&&(this.exre!="")&&!this.exre.test(N)){
        if (N=="dcsqry"){
            var newV="";
            var params=V.substring(1).split("&");
            for (var i=0;i<params.length;i++){
                var pair=params[i];
                var pos=pair.indexOf("=");
                if (pos!=-1){
                    var key=pair.substring(0,pos);
                    var val=pair.substring(pos+1);
                    if (i!=0){
                        newV+="&";
                    }
                    newV+=key+"="+this.dcsEncode(val);
                }
            }
            V=V.substring(0,1)+newV;
        }
        else{
            V=this.dcsEncode(V);
        }
    }
    return "&"+N+"="+this.dcsEscape(V, this.re);
}
WebTrends.prototype.dcsEncode=function(S){
    return (typeof(encodeURIComponent)=="function")?encodeURIComponent(S):escape(S);
}
WebTrends.prototype.dcsCreateImage=function(dcsSrc){
    if (document.images){
        this.images[this.index]=new Image();
        this.images[this.index].src=dcsSrc;
        this.index++;
    }
    else{
        document.write('<IMG ALT="" BORDER="0" NAME="DCSIMG" WIDTH="1" HEIGHT="1" SRC="'+dcsSrc+'">');
    }
}
WebTrends.prototype.dcsMeta=function(){
    var elems;
    if (document.all){
        elems=document.all.tags("meta");
    }
    else if (document.documentElement){
        elems=document.getElementsByTagName("meta");
    }
    if (typeof(elems)!="undefined"){
        var length=elems.length;
        for (var i=0;i<length;i++){
            var name=elems.item(i).name;
            var content=elems.item(i).content;
            var equiv=elems.item(i).httpEquiv;
            if (name.length>0){
                if (name.indexOf("WT.")==0){
                    this.WT[name.substring(3)]=content;
                }
                else if (name.indexOf("DCSext.")==0){
                    this.DCSext[name.substring(7)]=content;
                }
                else if (name.indexOf("DCS.")==0){
                    this.DCS[name.substring(4)]=content;
                }
            }
        }
    }
}
WebTrends.prototype.dcsTag=function(){
    if (document.cookie.indexOf("WTLOPTOUT=")!=-1){
        return;
    }
    var WT=this.WT;
    var DCS=this.DCS;
    var DCSext=this.DCSext;
    var i18n=this.i18n;
    var P="http"+(window.location.protocol.indexOf('https:')==0?'s':'')+"://"+this.domain+(this.dcsid==""?'':'/'+this.dcsid)+"/dcs.gif?";
    if (i18n){
        WT.dep="";
    }
    for (var N in DCS){
        if (DCS[N]&&(typeof DCS[N]!="function")){
            P+=this.dcsA(N,DCS[N]);
        }
    }
    var keys=["co_f","vt_sid","vt_f_tlv"];
    for (var i=0;i<keys.length;i++){
        var key=keys[i];
        if (WT[key]){
            P+=this.dcsA("WT."+key,WT[key]);
            delete WT[key];
        }
    }
    for (N in WT){
        if (WT[N]&&(typeof WT[N]!="function")){
            P+=this.dcsA("WT."+N,WT[N]);
        }
    }
    for (N in DCSext){
        if (DCSext[N]&&(typeof DCSext[N]!="function")){
            if (i18n){
                WT.dep=(WT.dep.length==0)?N:(WT.dep+";"+N);
            }
            P+=this.dcsA(N,DCSext[N]);
        }
    }
    if (i18n&&(WT.dep.length>0)){
        P+=this.dcsA("WT.dep",WT.dep);
    }
    if (P.length>2048&&navigator.userAgent.indexOf('MSIE')>=0){
        P=P.substring(0,2040)+"&WT.tu=1";
    }
    this.dcsCreateImage(P);
    this.WT.ad="";
}
WebTrends.prototype.dcsFunc=function(func){
    if (typeof(func)=="function"){
        func();
    }
}
WebTrends.prototype.dcsDebug=function(){
    var t=this;
    var i=t.images[0].src;
    var q=i.indexOf("?");
    var r=i.substring(0,q).split("/");
    var m="<b>Protocol</b><br><code>"+r[0]+"<br></code>";
    m+="<b>Domain</b><br><code>"+r[2]+"<br></code>";
    m+="<b>Path</b><br><code>/"+r[3]+"/"+r[4]+"<br></code>";
    m+="<b>Query Params</b><code>"+i.substring(q+1).replace(/\&/g,"<br>")+"</code>";
    m+="<br><b>Cookies</b><br><code>"+document.cookie.replace(/\;/g,"<br>")+"</code>";
    if (t.w&&!t.w.closed){
        t.w.close();
    }
    t.w=window.open("","dcsDebug","width=500,height=650,scrollbars=yes,resizable=yes");
    t.w.document.write(m);
    t.w.focus();
}
WebTrends.prototype.dcsCollect=function(){
    if (this.enabled){
        this.dcsVar();
        this.dcsMeta();
        this.dcsFunc(this.dcsAdv());
        // TL functions
        this.TechTag.customTL();
        this.dcsTag();
        adDir();
    }
}

function dcsMultiTrack(){
    if (typeof(_tag)!="undefined"){
        return(_tag.dcsMultiTrack());
    }
}

Function.prototype.wtbind = function(obj){
    var method=this;
    var temp=function(){
        return method.apply(obj,arguments);
    };
    return temp;
}
// -- Technology Leaders Custom functions - Scott, Plamen
// -- must be called after dcsVar and before dcsTag
// -- includes JSON2 code, toFixed() Date method for rounding
// -- and all the custom Rail Europe Code In addition to the above
// -- Webtrends Code
// -- Last Updated 10/27/2009 - Scott at Technology Leaders

// -- JSON code from http://www.json.org/json2.js to pack and unpack our
// -- visitor history data from the cookie

// Create a JSON object only if one does not already exist. We create the
// methods in a closure to avoid creating global variables.

if (!this.JSON) {
    this.JSON = {};
}

(function () {

    function f(n) {
        // Format integers to have at least two digits.
        return n < 10 ? '0' + n : n;
    }

    if (typeof Date.prototype.toJSON !== 'function') {

        Date.prototype.toJSON = function (key) {

            return isFinite(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 (key) {
            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 = {    // table of character substitutions
        '\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) {

        // Produce a string from holder[key].

        var i,          // The loop counter.
        k,          // The member key.
        v,          // The member value.
        length,
        mind = gap,
        partial,
        value = holder[key];

        // If the value has a toJSON method, call it to obtain a replacement value.

        if (value && typeof value === 'object' &&
            typeof value.toJSON === 'function') {
            value = value.toJSON(key);
        }

        // If we were called with a replacer function, then call the replacer to
        // obtain a replacement value.

        if (typeof rep === 'function') {
            value = rep.call(holder, key, value);
        }

        // What happens next depends on the value's type.

        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':

                // Due to a specification blunder in ECMAScript, typeof null is 'object',
                // so watch out for that case.

                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);
                            if (v) {
                                partial.push(quote(k) + (gap ? ': ' : ':') + v);
                            }
                        }
                    }
                } else {


                    for (k in value) {
                        if (Object.hasOwnProperty.call(value, k)) {
                            v = str(k, value);
                            if (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 the JSON object does not yet have a stringify method, give it one.

    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 the JSON object does not yet have a parse method, give it one.

    if (typeof JSON.parse !== 'function') {
        JSON.parse = function (text, reviver) {

            // The parse method takes a text and an optional reviver function, and returns
            // a JavaScript value if the text is a valid JSON text.

            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;
            }

            // If the text is not JSON parseable, then a SyntaxError is thrown.

            throw new SyntaxError('JSON.parse');
        };
    }
}());



Date.prototype.getWeek = function() {
    var onejan = new Date(this.getFullYear(),0,1);
    return Math.ceil((((this - onejan) / 86400000) + onejan.getDay()+1)/7);
}

function TechLead(){
    var that=this;
    this.vCookie = "TLVC";
    this.z_vt_d = "";
    this.z_vt_w = "";
    this.z_vt_m = "";
    this.z_vt_e = ""
    this.z_vt_o = "";
    this.z_cs = "";
    this.atp = 0;
    this.pext = 0.00;
    this.timezone = 0;
    this.upd_c = false;
    this.vHist = {
        "hdelete":false,
        "cmpn":{},
        "invoices":new Array()
    };
    this.camp = {
        "tm":0,
        "nm":0
    }
    this.dCur=new Date();
    this.adj=(this.dCur.getTimezoneOffset()*60000)+(this.timezone*3600000);
    this.dCur.setTime(this.dCur.getTime()+this.adj);

}
// Read visitor history cookie and load our object for later use
// Nulled out 2010-08-09 by M. Powe, Technology Leaders
TechLead.prototype.loadVisitorHistory = function() {
    return;
}
TechLead.prototype.isEmpty= function(o) {

    for(var p in o) {
        if (o[p] != o.constructor.prototype[p])
            return false;
    }
    return true;
}

// Get total attribution points
// Nulled out 2010-08-09 by M. Powe, Technology Leaders
TechLead.prototype.getAtp = function() {
    return;
}
// attribute daily, weekly and monthly visitor to campaigns
// Nulled out 2010-08-09 by M. Powe, Technology Leaders
TechLead.prototype.cmpnAttr = function() {
    return;
}

TechLead.prototype.toFixed=function(x) {
    var temp=this;
    temp=Math.round(temp*Math.pow(10,x))/Math.pow(10,x);
    return temp;
}
// Nulled out 2010-08-09 by M. Powe, Technology Leaders
TechLead.prototype.addCampParam = function(s,d,w,m,o,e) {
    return;
}

// Nulled out 2010-08-09 by M. Powe, Technology Leaders
TechLead.prototype.addCamp = function(s,tm) {
    return;
}

// Write our visitor history cookie after we have done what is needed
// Nulled out 2010-08-09 by M. Powe, Technology Leaders
TechLead.prototype.writeVHist = function() {
    return;
}

TechLead.prototype.getParam = function(name, source) {
    //returns an arbitrary query paramter's value
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
    var regexS = "[\\?&]"+name+"=([^&#]*)";
    var regex = new RegExp( regexS );
    var results = regex.exec(source);

    if( results == null )
        return "";
    else
        return results[1];
}

TechLead.prototype.isSearchEngine = function (uri_stem) {
    //detects search engine. if recognized,
    //returns its search phrase query parameter

    knownSE=[["yahoo","p"],["google","p"],["msn","q"],["bing","q"],["aol","query"],
    ["aol","encquery"],["lycos","query"],["ask","q"],["altavista","q"],
    ["netscape","query"],["cnn","query"],["looksmart","qt"],["about","terms"],
    ["mamma","query"],["alltheweb","q"],["gigablast","q"],["voila","rdata"],
    ["virgilio","qs"],["live","q"],["baidu","wd"],["alice","qs"],["yandex","text"],
    ["najdi","q"],["aol","q"],["club-internet","query"],["mama","query"],["seznam","q"],
    ["search","q"],["wp","szukaj"],["onet","qt"],["netsprint","q"],["google.interia","q"],
    ["szukacz","q"],["yam","k"],["pchome","q"],["kvasir","searchExpr"],["sesam","q"],["ozu","q"],
    ["terra","query"],["nostrum","query"],["mynet","q"],["ekolay","q"],
    ["search.ilse","search_for"]];

    for ( i=0; i < knownSE.length;i++) {
        if (uri_stem.indexOf(knownSE[i][0]) != -1)
            result = this.getParam(knownSE[i][1], _tag.DCS.dcsref);
        else
            result = "";

        if (result) return result;
    //complete match only if both se and its parameters
    //have been recognized
    }
    return result;
}

TechLead.prototype.prepID = function (campID) {
}

TechLead.prototype.packCampaignID = function () {
}

TechLead.prototype.checkSM = function() {
    //checks if referrer is social media
    sm = "360.yahoo.com,adjix.com,adultfriendfinder.com,advogato.org,affluence.org,amiestreet.com,aniboom.com,anobii.com,asmallworld.net,athlinks.com,atom.com,avatarsunited.com,b23.ru,badoo.com,bahu.com,balatarin.com,bebo.com,bgvip.tv,biip.no,bit.ly,blackplanet.com,blinkx.com,blip.tv,blogcn.com,blogger.com,bloglines.com,blogtv.com,bluekaffee.com,break.com,broadcaster.com,budurl.com,buzznet.com,cafemom.com,cakefinancial.com,canurl.com,care2.com,citeulike.org,classmates.com,cli.gs,cloob.com,collegetonight.com,connotea.org,couchsurfing.com,cozycot.com,crackle.com,cynapse.comproductscynin ,dailymotion.com,decenturl.com,delicious.com,delivr.com,desimartini.com,deviantart.com,diary-x.com,digg.com,diigo.com,dol2day.com,dolop.com,dontstayin.com,dwarfurl.com,easyurl.net,elftown.com,elfurl.com,engagemedia.org ,eons.com,epernicus.com,espin.com,experienceproject.com,facebook.com,faceparty.com,faces.com,famecast.com,faves.com,favorites.live.com,fetlife.com,ff.im,filmaffinity.com,fire.to,flickr.com,flixster.com,flq.us,fotolog.com,freak.to,friendsreunited.co.uk,friendster.com,fruehstueckstreff.org,fubar.com,furl.net,fuseurl.com,g02.me,gaiaonline.com,gather.com,gawkk.com,geni.com,givealink.org,go2.me,gofishcorp.com,goodreads.com,gossipreport.com,grono.net,habbo.com,helium.com,hexurl.com,hi.baidu.com,hi5.com,home.spaces.live.com,hospitalityclub.org,http:twitter.com,https:oneview.v2020-sai.com,https:researchgate.net,hyves.nl,ibm.comlotusconnections,idek.net,ign.com,imeem.com,indabamusic.com,internations.org,ipernity.com,irc-galleria.net,is.gd,italki.com,itsmy.com,iwiw.hu,ix.lt,iyouit.eu,jaiku.com,jammerdirect.com,kaixin001.com,kewego.com,kissa.be,kl.am,korta.nu,krunchd.com,last.fm,librarything.com,lifechat.net,lifeknot.com,lifelogger.com,linkedin.com,linkwad.com,livejournal.com,liveleak.com,livemocha.com,ln-s.net,loopt.us,lunarstorm.se,ma.gnolia.com,meetin.org,meettheboss.com,meetup.com,memurl.com,metacafe.com,miklos.dk,minixr.com,mister-wong.com,mixi.jp,mixx.com,mocospace.com,mog.com,moourl.com,msdn.microsoft.com,multiply.com,muxlim.com,my.opera.com,myanimelist.net,mychurch.org,myheritage.com,mylol.net,myspace.com,myspace.com ,myurl.in,myvideo.co.za,mywebsearch.com,myyearbook.com,nanoref.com,nasza-klasa.pl,netlog.com,nettby.no,newsvine.com,nexopia.com,nofrag.com,notlong.com,odnoklassniki.ru,okcupid.com,omgpop.com,opendiary.com,orkut.com,ourmedia.org,outeverywhere.com,ow.ly,pajamasmedia.com,pandora.tv,passportstamp.com,photobucket.com,phpmotion.com,ping.fm,pingsta.com,piurl.com,plaxo.com,playahead.se,playboyu.com,plurk.com,poprl.com,pownce.com,propeller.com,qicute.com,qik.com,quarterlife.com,quickblog.com,qurlyq.com,radio.userland.com,ravelry.com,rayzz.net,reallytinyurl.com,reddit.com,redirx.com,reeltime.com,reunion.com,reverbnation.com,rubyurl.com,rurl.org,rutube.ru,ryze.com,sandbox.com,scienceblogs.com,scispace.net,sendables.jibjab.com,sevenload.com,share.ovi.com,shelfari.com,shorl.com,short.ie,shorterlink.com,shortlinks.co.uk,shorturl.com,shout.to,shrinkurl.us,shurl.net,shw.me,simpy.com,simurl.com,sitebar.org,skyrock.com,smallr.com,snipr.com,snipurl.com,snurl.com,soapbox.msn.com,socialvibe.com,sonico.com,soundpedia.com,spike.com,spoke.com,stage6.com,starturl.com,stickam.com,studivz.net,stumbleupon.com,stumpedia.com,surl.co.uk,sync2it.com,tagged.com,talkbiznow.com,taltopia.com,tangle.com,technet.microsoft.com,tighturl.com,tinylink.com,tinypic.com,tinyurl.com,tinyvh.com,tr.im,traceurl.com,travbuddy.com,travellerspoint.com,tribe.net,trombi.com,trooptube.tv,truveo.com,tudou.com,tuenti.com,tv.oneworld.net,twi.bz,twine.com,twitter.com,twurl.nl,typepad.com,u.mavrev.com,ucoz.com,ur1.ca,url.ie,url9.com,urlcut.com,urlhawk.com,urli.ca,urlpass.com,url-press.com,urlx.ie,vampirefreaks.com,vbox7.com,veoh.com,viadeo.com,video.google.com,video.yahoo.com,videos.sapo.pt,vidoosh.tv,vimeo.com,vision.rambler.ru,vkontakte.ru,vox.com,vuze.com,wasabi.com,wayn.com,webbiographies.com,westhost.com,wis.dm,wiserearth.org,wordpress.com,wretch.cc,www2.mkade.com,xaddr.com,xanga.com,xiaonei.com,xing.com,xrl.us,xt3.com,yammer.com,yelp.com,yep.it,youku.com,youmeo.com,youtube.com,yuarel.com,yweb.com,ziffdavis.com,zurl.ws";

    sm=sm.split(",");
    for (i=0;i<sm.length;i++)
        if (_tag.DCS.dcsref.indexOf(sm[i])!=-1)
            _tag.WT.mc_id=_tag.WT.mc_id.replace(/Referring%20Sites/, "Social%20Media");

}

// check for eticket tracking and generate parameters
// Nulled out 2010-08-09 by M. Powe, Technology Leaders
TechLead.prototype.handleSales = function() {
    return;
}
// check for eticket tracking and generate parameters
TechLead.prototype.handleEticket = function() {

    if (typeof _tag.WT.tx_s != "undefined" && _tag.WT.tx_s) _tag.WT.z_tx_s = _tag.WT.tx_s;

    if (typeof _tag.WT.tx_s == "undefined" ||
        typeof _tag.WT.tx_u == "undefined" ||
        typeof _tag.WT.z_pst == "undefined" ) return;

    var pst = _tag.WT.z_pst.split(";");
    var price = _tag.WT.tx_s.split(";");
    var quant = _tag.WT.tx_u.split(";");
    var psp = new Array ();
    var psq = new Array ();

    for (i=0;i<pst.length;i++){
        if (pst[i] == "0" || pst[i] == "1") {
            psp[i]=0;
            psq[i]=0;
        }
        if (pst[i] == "2") {
            psp[i]=price[i];
            psq[i]=quant[i];

        }
    }
}
// check for up sell transaction and generate parameters
TechLead.prototype.handleUpsell = function() {

    if (typeof _tag.WT.tx_e == "undefined") return;
    if (typeof _tag.WT.z_us == "undefined") return;
    if(_tag.WT.tx_e == "v") return;

    var upf = _tag.WT.z_us.split(";");
    var units = _tag.WT.tx_u.split(";");
    var nupu = new Array ();
    var upu = new Array ();

    if(typeof _tag.WT.tx_e != "undefined") {
        var upv = new Array ();
        var nupv = new Array ();
        var nupf = new Array ();
        var subts = _tag.WT.tx_s.split(";");

        for (i=0;i<upf.length;i++){
            nupf[i] = 1 - upf[i];
            if (upf[i] == "1") {
                upv[i] = subts[i];
                upu[i] = units[i];
                nupv[i] = 0;
                nupu[i] = 0;
            }
            else {
                nupv[i] = subts[i];
                nupu[i] = units[i];
                upv[i] = 0;
                upu[i] = 0;
            }
        }
        _tag.WT.z_upv = upv.join(";");
        _tag.WT.z_nupf = nupf.join(";");
        _tag.WT.z_nupv = nupv.join(";");
        _tag.WT.z_nupu = nupu.join(";");

    } //end purchase

    if(_tag.WT.tx_e == "a") {
        for (i=0;i<upf.length;i++){
            if (upf[i] == "1")
            {
                upu[i] = units[i];
            }
            else
            {
                upu[i] = 0;
            }
        }
    } //end add to cart
    _tag.WT.z_upu = upu.join(";");
    return;
}

// set the site Id for the VDM
// call after dcsVar but before dcsTag

TechLead.prototype.setSiteId = function() {
  _tag.WT.site = window.location.host;
}

// check to see if this is first hit in visit
// call after dcsVar but before dcsTag

TechLead.prototype.bounceCk = function() {
    // check for first page bounce
    if(typeof _tag.WT.vt_f_s == "undefined") {
        _tag.WT.z_bounces = "0";
    } else if (_tag.WT.vt_f_s == "1" ) {
        _tag.WT.z_bounces = "1";
    } else if (_tag.WT.vt_f_s == "" || _tag.WT.vt_f_s == 0 ) {
        _tag.WT.z_bounces = "0";
    }
    // check for error bounce
    if(typeof _tag.WT.z_serrnm == "undefined") {
        _tag.WT.z_errbounce = "0";
    } else {
        var errs = _tag.WT.z_serrnm.split(";");
        for (var n=0;n<errs.length;n++) errs[n]="1";
        _tag.WT.z_errbounce = errs.join(";");
    }

}

// check for tcid cookie and set query parameter if found
TechLead.prototype.cktcid = function() {

    var name="tcid";
    var cookies=document.cookie.split("; ");
    var cmatch=[];
    var idx=0;
    var i=0;
    var namelen=name.length;
    var clen=cookies.length;
    for (i=0;i<clen;i++){
        var c=cookies[i];
        if ((c.substring(0,namelen+1))==(name+"=")){
            cmatch[idx++]=c;
        }
    }
    var cmatchCount=cmatch.length;
    if (cmatchCount>0){
        idx=0;
        _tag.WT.z_tcid = unescape(cmatch[idx].substring(namelen+1));
    }
    else{
        return null;
    }
}
TechLead.prototype.writeCookie = function(name, value, years) {
    var expire = "";
    if(years != null)
    {
        expire = new Date((new Date()).getTime() + years * 315360000000);
        expire = "; expires=" + expire.toGMTString();
    }
    document.cookie = name + "=" + escape(value) + expire +";path=/;domain="+_tag.fpcdom;
}

// Nulled out 2010-08-09 by M. Powe, Technology Leaders
TechLead.prototype.writevHistCookie = function(name, value, years) {
    return;
}
TechLead.prototype.handleAgent = function() {
    if (typeof _tag.WT.z_agent != 'undefined' && _tag.WT.z_agent==1)
        this.writeCookie('AGNT', '1', 20);
    if (_tag.dcsGetCookie('AGNT')) _tag.WT.z_agent=1;
}

//main function set - call before dcsTag
TechLead.prototype.customTL = function() {

    this.setSiteId();
    this.bounceCk();
//    this.packCampaignID();
    this.handleUpsell();
    this.handleEticket();
    this.handleAgent();
    this.cktcid();
//    this.loadVisitorHistory();
}

//end TL Customs

// WebTrends Ad Director
// Copyright (c) 1996-2007 WebTrends Inc. All rights reserved.
// $DateTime: 2007/01/31 12:23:58 $

// First party cookie implementation for use on a site using WebTrends Analytics JS Tag
// configured to use commerce parameters wt.pn_sku, wt.tx_s, wt.tx_u, and wt.tx_i.
// Apply this javascript to all page on the site (will work on just landing pages).
// Change @@CUSTID@@ in the last line to reflect the correct account number.

// Integrated by parnaudov@technologyleaders.com

function DcsDynS(cid){
    // private members
    var cname="WT_DSAI";
    var wt=(typeof(_tag.WT)=="object")?_tag.WT:{};

    // private methods
    function setAdInfo(){
        var value=getQueryParam("cshift_ck");
        if (value.length>0){
            var cur=new Date();
            var exp=new Date(cur.getTime()+315360000000);
            document.cookie=cname+"="+value+"; expires="+exp.toGMTString()+"; path=/";
        }
    }
    function getQueryParam(key){
        var qry=window.location.search.substring(1);
        if (qry.length>0){
            var params=qry.split("&");
            var count=params.length;
            for (var i=0;i<count;i++){
                var p=params[i].split("=");
                if (p[0]==key){
                    return p[1];
                }
            }
        }
        return "";
    }

    // privileged methods
    this.getClientId=function(){
        return cid;
    };
    this.getProductInfo=function(){
        var info="";
        try{
            var id=wt.pn_sku.split(";");
            var price=wt.tx_s.split(";");
            var qty=wt.tx_u.split(";");
            for (var i=0;i<id.length;i++){
                info+=(i?",":"")+id[i]+"#"+parseInt((parseFloat(price[i])*100)/parseInt(qty[i]))+"*"+qty[i];
            }
        }
        catch(e){
        }
        return info;
    };
    this.getOrderInfo=function(){
        return wt.tx_i||"";
    };
    this.getIsNew=function(){
        return 1;
    };
    this.getAdInfo=function(){
        return _tag.dcsGetCookie(cname)||"";
    };
    this.getAttribution=function(){
        return "";
    };
    this.isConvPage=function(){
        return ((typeof(wt)=="object")&&(wt.tx_e=="p"))?true:false;
    };

    // read query parameter, set cookie
    setAdInfo();
}


// Ad Director calls to be inserted after dcsTag

function adDir() {

    // maintain cookie
    var dcsDS=new DcsDynS(5165);
    // credit purchase
    if (dcsDS.isConvPage()){

        f2convert(dcsDS.getClientId(),dcsDS.getProductInfo(),dcsDS.getOrderInfo(),dcsDS.getIsNew(),dcsDS.getAdInfo());
    }
}

//end Ad Director code

/****** File: vendor/google_analytics_espanol.js ******/
// asynchronous google analytics tag


  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-304266-42']);
  _gaq.push(['_setCampNameKey', 'WT.mc_id']);    // name
  _gaq.push(['_setCampMediumKey', 'WT.mc_id']);    // medium
  _gaq.push(['_setCampSourceKey', 'WT.mc_id']);    // source
  _gaq.push(['_setCampTermKey', 'WT.term']);        // term/keyword
  _gaq.push(['_trackPageview']);
  _gaq.push(['_trackPageLoadTime']);


/****** File: reg/facebook.js ******/
if (typeof(RE) == 'undefined') {
  RE = new Object();
}

RE.popup = function(url, name, options) {
  var opts = '';
  if (options) {
    for (var k in options) {
      if (opts.length > 0) opts += ',';
      opts += k + '=' + options[k];
    }
  }
  var w = window.open(url, name, opts);
  w.focus();
  RE.waitForClose(w);
}

RE.waitForClose = function(popup) {
  var timer = setInterval(function() {
    if (popup.closed) {
      clearInterval(timer);
      window.focus();
      var dcsAct = $.cookie('dcsAct');
      // $.cookie('dcsAct', null, { 'path': '/' });
      var uri = window.location.href;
      if (dcsAct) {
        var uriSeparator = (uri.indexOf('?') >= 0) ? '&' : '?';
        uri += uriSeparator + 'dcsAct=' + dcsAct;
      }
      window.location = uri;
      // window.location.reload(true);
    }
  }, 500);
};

RE.dump = function(response) {
  var m = '';
  var k;
  for (k in response) {
    m += (k + ': ' + response[k] + '\n');
  }
  alert(m);
}

RE.FbAccount = function() {
  this.options = {'doRedirect':0 , 'doMessages':0};
  this.postSubmit = function(formName, response) {
    if (response.errors || !response.redirect) {
      return true;
    }
    else if (response.redirect.indexOf('facebook-merge') >= 0) {
      window.location = response.redirect;
      return false;
    }
    else {
      var dcsAct =
        ($('input[name=facebookAction]').val() == 'facebookRegister')
        ? 'registration'
        : 'login';
      $.cookie('dcsAct', dcsAct, { 'path': '/' });
      window.close();
    }
  }
};
RE.fb_account = new RE.FbAccount();

RE.UserLogin = function() {
  this.options = {'doRedirect':0 , 'doMessages':0};
  this.postSubmit = function(formName, response) {
    if (response.errors) {
      return true;
    }
    else {
      $('input[name=facebookAction]').val('facebookLinkRe');
      $('#facebook-account').submit();
      return false;
    }
  }
}
RE.user_login = new RE.UserLogin();

RE.setupFbAccountForm = function() {
  if ($('#facebook-account').size() == 0) return;
  $('.facebookHide').hide();
  if ($('input[name=facebookAction]').val() !=
      'facebookQueryLinkOrRegister') {
    $('.facebookAccountDisplay').hide();
  }
  $('<input type="hidden" name="formSupportObject" value="RE.fb_account"/>').
    appendTo($('#facebook-account'));
  if ($('#facebook-account input[name=facebookAction]').val() !=
           'facebookQueryLinkOrRegister') {
    $('#facebook-account').submit();
  }
  else {
    $('<input type="hidden" name="formSupportObject" ' +
      'value="RE.user_login"/>').
    appendTo($('form[name=UserLogin]'));
    $('input[name=facebookAction]').val('facebookLinkRe');
    $('#noMergeSubmit').click(function(event) {
      event.preventDefault();
      $('input[name=facebookAction]').val('facebookRegister');
      $('#facebook-account').submit();
    });
  }
}

RE.setupFbRegistration = function() {
  if ($('form[name=UserRegistration]').size() == 0) return;
  $('.facebookMessage').hide();
  $('#userEmail').change(function() {
    var loginId = $(this).val();
    $.getJSON("facebook-login-check.htm", {'loginId': loginId},
              function(json, status) {
                if (status == 'success' && json != 'error') {
                  var hidden =
                    '<input type="hidden" name="loginFacebookId" '  +
                      'value="' + json + '"/>';
                   $(hidden).appendTo($('form[name=UserRegistration]'));
                   RE.showMergeMessage(loginId);
                   $('.facebook-pop').click(RE.facebookPop);
                }
                else {
                  $('input[name=loginFacebookId]').remove();
                  $('input[name=facebookAction]').remove();
                  $('#facebookMergeMessage').hide();
                }
              });

  });
}

RE.showMergeMessage = function(loginId) {
  var text = $('#facebookMergeMessageTemplate').html();
  var newText = text.replace('$LOGIN_ID', loginId);
  $('#facebookMergeMessageText').html(newText);
  $('#facebookMergeMessage').show();
}

RE.facebookPop = function() {
  RE.popup(this.href, 'popup',
           { 'width': 900, 'height': 500,
             'scroll': 'yes', 'scrollbars': 'yes',
             'menubar': 'no', 'location': 'no' });
//    popUpWin(this.href, 'standard', 500, 400);
  return false;
}

RE.mergeReToFb = function($infoForm) {
  var expectedFbId = $('input[name=loginFacebookId]').val();
  var inFbId = $('input[name=facebookKey]', $infoForm).val();
  if (inFbId != expectedFbId) {
    $('#facebookMergeError').show();
  }
  else {
    var versionId = $('input[name=versionId]', $infoForm).val();
    var title = $('input[name=userSalutation]', $infoForm).val();
    var firstName = $('input[name=userFirstName]', $infoForm).val();
    var lastName = $('input[name=userLastName]', $infoForm).val();
    $('input[name=versionId]').val(versionId);
    $('input[name=titleName]').val(title);
    $('input[name=firstName]').val(firstName);
    $('input[name=lastName]').val(lastName);
    var actElement =
      '<input type="hidden" name="facebookAction" value="facebookLinkFb"/>';
    $(actElement).appendTo($('form[name=UserRegistration]'));
  }
}


RE.setupFbMerge = function() {
  if ($('#facebook-merge').size() == 0) return;
  window.opener.RE.mergeReToFb($('#facebook-merge'));
  window.close();
}


$(function() {
  $('.facebook-pop').click(RE.facebookPop);
  RE.setupFbAccountForm();
  RE.setupFbRegistration();
  RE.setupFbMerge();
});



$(document).ready(function(){

  $("#myaccount").hover(function(){
    $(".account-options").slideDown();
  }, function(){
  $(".account-options").slideUp();
  });

  var port = window.location.port ;
  var cookie = "au" ;

  if(port){
    if((port % 2) ==1){
     port = port-1;
    }
    cookie = cookie + port;
  }

  if (document.cookie)
  {
   var cookieVal = $.cookie(cookie);

   if(cookieVal != null){

   $('.loggedin').css("display","inline");
   $('.loginnow').css("display","none");

   var cookiecontent = cookieVal.split('|');
   var logintype = cookiecontent[0];
   var emailId = cookiecontent[1];
   var fbUserName = cookiecontent[2];

   var displayStr = (fbUserName == null) ?
     emailId :
     String(fbUserName).replace(/\"/g, '');

   $('#email' ).html(displayStr);

   } else {

   $('.loggedin').css("display","none");
   $('.loginnow').css("display","inline");
   }
  }
});

