/*
 VigLink JavaScript Library -- http://www.viglink.com

 Permission is hereby granted to create derivative works, but only for use
 with the VigLink web service.

 Copyright (c) 2010 VigLink. Rights reserved and patent(s) pending.
*/
(function(j){var g={},o,m,d,p;d={contains:function(){return Array.prototype.indexOf?function(a,b){return Array.prototype.indexOf.call(a,b)!==-1}:function(a,b){try{d.each(a,function(e){if(e===b)throw 1;})}catch(c){return true}return false}}(),each:function(a,b){var c,e;c=0;for(e=a.length;c<e;c++)b(a[c],c)},extend:function(){var a,b,c,e,f=arguments.length,i=arguments[0]||{};for(b=1;b<f;b++){e=arguments[b];if(e!==undefined&&e!==null)for(c in e){a=e[c];if(i!==a)if(a!==undefined)i[c]=a}}return i}};d.extend(d,
{bind:function(a,b){return function(){return a.apply(b,arguments)}},browser:function(){var a={},b,c=navigator.userAgent.toLowerCase().replace(/\s*[()]\s*/g,"; ").replace(/(\/[\w.]+)\s+/g,"$1; ").replace(/\;\s*$/,"").split(/;\s*/);d.each(c,function(e){b=(/[\/ :]([^\/ :]+)$/.exec(e)||[])[1];a[b?e.substr(0,e.length-b.length-1):e]=b||true});return{aol:a.aol,ie:a.msie,ios:a.mobile&&a.safari,opera:a.opera,playstation:a.playstation,version:parseInt(a.version,10)||false}}(),cache:function(){var a={},b="vglnk_"+
(new Date).getTime(),c=0;return function(e,f,i){var h=e[b];if(!(!h&&i===undefined)){h||(h=++c);if(!a[h]){e[b]=h;a[h]={}}if(i!==undefined)a[h][f]=i;return typeof f==="string"?a[h][f]:a[h]}}}(),canonicalizeHostname:function(a){if(typeof a==="string")a=d.createA(a);return a.hostname?a.hostname.toString().toLowerCase().replace(/^www\./,"").replace(/:.*$/,""):""},clone:function(a){return d.extend({},a)},createA:function(a,b){return d.createEl("a",{href:a,target:b})},createEl:function(a,b,c){var e;a=document.createElement(a);
b=b||{};c=c||{};for(e in b)a[e]=b[e];for(e in c)a.style[e]=c[e];return a},destructing:function(a){return function(b){var c=false,e;return function(){if(!c){e=b.apply(null,arguments);c=true}return e}}(a)},escapeRegExp:function(){var a;return function(b){a=a||RegExp("([.*+?^${}()|[\\]\\\\])","g");return b.replace(a,"\\$1")}}(),eventLink:function(a){a=a.target||a.srcElement;var b;do if(a.nodeType===1){b=a.tagName.toUpperCase();if(b==="A"||b==="AREA")return a}while(a=a.parentNode)},exceptionLogger:function(){var a=
function(){};return function(b,c){if(c)a=b;else return function(){if(g.dev)return b.apply(this,arguments);else try{return b.apply(this,arguments)}catch(e){a(e)}}}}(),hasAttrValue:function(a,b,c,e){e=e||" ";return(b=a[b])?d.contains(b.split(e),c):false},hasClass:function(a,b){return d.hasAttrValue(a,"className",b)},hasRel:function(a,b){return d.hasAttrValue(a,"rel",b)},isArray:function(a){return d.type(a)==="array"},isDefaultPrevented:function(a){return a.isDefaultPrevented&&a.isDefaultPrevented()||
a.returnValue===false||a.defaultPrevented===true},jsonp:function(a,b,c){var e,f;c=d.extend({fn:function(){},"return":false,timeout:null},c);if(typeof c.fn==="string")b=d.extend(b,{jsonp:c.fn});else if(typeof c.fn==="function"){e=d.destructing(c.fn);f=d.uniqid("vglnk_jsonp_");b=d.extend(b,{jsonp:f});window[f]=d.exceptionLogger(function(){e.apply(this,arguments);window[f]=undefined});c.timeout!==null&&setTimeout(d.exceptionLogger(e),c.timeout)}b=d.toQuery(b);a=d.createEl("script",{type:"text/javascript",
src:a+(b.length?"?":"")+b});if(c["return"])return a.src;else{c=document.getElementsByTagName("script")[0];c.parentNode.insertBefore(a,c)}},on:function(){var a;return function(b,c,e){var f,i;if(arguments.length===1)a=b;else{if(arguments.length===2){if(!a)return;e=c;c=b;b=a}try{f=b["on"+c]}catch(h){}if(typeof f==="function")b["on"+c]=function(k){k=k||window.event;var l=f.apply(b,arguments);k.returnValue=l!==undefined?l:k.returnValue;return k.returnValue};i=function(){if(a.enabled())return e.apply(null,
arguments)};if(b.addEventListener)b.addEventListener(c,i,false);else b.attachEvent&&b.attachEvent("on"+c,i)}}}(),preventDefault:function(a){a.preventDefault&&a.preventDefault();return a.returnValue=false},ready:function(){var a=false,b=[],c=false,e,f,i,h,k;if(document.addEventListener)i=function(){document.removeEventListener("DOMContentLoaded",i,false);k()};else if(document.attachEvent)h=function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",h);k()}};e=function(){if(!a){a=
true;if(document.readyState==="complete")return k();else if(document.addEventListener)document.addEventListener("DOMContentLoaded",i,false);else if(document.attachEvent){document.attachEvent("onreadystatechange",h);var l=false;try{l=window.frameElement===null}catch(n){}document.documentElement.doScroll&&l&&f()}d.on(window,"load",k)}};f=function(){if(!c){try{document.documentElement.doScroll("left")}catch(l){setTimeout(f,1);return}k()}};k=function(){if(!c){if(!document.body)return setTimeout(d.exceptionLogger(k),
13);c=true;if(b){d.each(b,function(l){l()});b=null}}};return function(l){e();c?l():b.push(l)}}(),reformatKeys:function(a){var b,c,e=function(f){return"_"+f.toLowerCase()};for(b in a){c=b.replace(/([A-Z])/,e);if(d.type(a[b])==="object")a[b]=d.reformatKeys(a[b]);if(c!==b){a[c]=a[b];delete a[b]}}return a},toQuery:function(a){var b,c="";for(b in a)if(a[b]!==null&&a[b]!==undefined)c+="&"+encodeURIComponent(b)+"="+encodeURIComponent(a[b]);return c.substr(1)},type:function(a){return a===null?"null":a===
undefined?"undefined":Object.prototype.toString.call(a).slice(8,-1).toLowerCase()},uniqid:function(){var a=0;return function(b){return(b?b:"")+(new Date).getTime()+a++}}()});d.traits={basicCompatibility:!d.browser.playstation,crossWindowCommunication:!(d.browser.ios&&d.browser.version&&d.browser.version<=4),jsRedirectSetsReferrer:d.browser.aol||!(d.browser.ie||d.browser.opera)};p={api:function(a,b,c){return d.jsonp(g.api_url+"/"+a,d.extend({cuid:g.cuid,format:"jsonp",key:g.key,drKey:g.key?null:g.dr_key,
loc:location.href,subId:g.sub_id,v:1},b),c)},addEventListener:function(a,b){this.fire(a,b)},click:function(){var a,b;a=function(c,e){if(e!=="_self"&&!(d.traits.crossWindowCommunication&&d.traits.jsRedirectSetsReferrer))return"go";try{if(c.document===undefined)throw true;return"jsonp"}catch(f){return"go"}};b=function(c){if(c==="_self"||d.traits.crossWindowCommunication){c=window.open("",c);c.focus();return c}};return function(c,e){e=c.target||e||"_self";e=e===window.name?"_self":e;var f,i,h=b(e),k=
a(h,e);f=d.destructing(d.bind(function(){g.time_click&&arguments.length&&this.logTime("clk");var l=Array.prototype.slice.call(arguments);l.unshift(c,h,e);this.onApiClick.apply(this,l)},this));d.cache(this,"link",typeof c==="string"?c:c.href);if(typeof c==="string"){c=d.createA(c,e);if(!this.preprocessLink(c))return f(c.href)}if(!g.enabled)return f(c.href);i=d.extend({format:k,libid:g.library_id,out:c.href,ref:document.referrer||null,reaf:g.reaffiliate||null,title:document.title,txt:c.innerHTML},{amid:d.cache(c,
"merchant_id"),key:d.cache(c,"key"),type:d.cache(c,"type")});this.logTime();if(k==="go"){if(e==="_blank"&&!d.traits.jsRedirectSetsReferrer)e=h.name=d.uniqid("win_");this.redirect(this.api("click",i,{"return":true}),h,e)}else if(h===window.self)this.api("click",i,{fn:f,timeout:g.click_timeout});else{f=d.exceptionLogger(f);setTimeout(f,g.click_timeout);h.document.open();h.callback=f;h.document.write("<html><head><title>"+c.href+'</title><script type="text/javascript" src="'+this.api("click",i,{fn:"callback",
"return":true})+'"><\/script></head></html>');h.document.close()}}}(),fire:function(){var a={};return function(b,c){var e=a[b]||{fired:false,listeners:[]};if(typeof c==="function")e.fired?c({type:b}):e.listeners.push(c);else{e.fired=true;d.each(e.listeners,function(f){typeof f==="function"&&f({type:b})});e.listeners=[]}a[b]=e}}(),enabled:function(){if(g.enabled&&o!==window&&window.vglnk&&(window.vglnk.key||typeof window.vglnk==="function"))g.enabled=false;return g.enabled},init:d.exceptionLogger(function(){if(window.jQuery&&
window.jQuery.yoxview)return false;d.exceptionLogger(d.bind(this.logException,this),true);this.initEvents();this.initNamespace();this.initDRApi();this.initOptions();this.initApi();if(this.enabled()){this.initLegacyCallbacks();this.ping()}}),initApi:function(){var a,b={};if(window.vglnk)for(a in window.vglnk)if(a.substr(-7)==="_plugin")b[a]=window.vglnk[a];m=o[j]=d.extend(function(){},{click:d.exceptionLogger(d.bind(this.click,this)),link:d.exceptionLogger(d.bind(this.link,this)),opt:d.exceptionLogger(d.bind(this.opt,
this))},m===window.vglnk?b:{})},initEvents:function(){d.on(p);d.ready(d.bind(function(){this.fire("DOMReady")},this))},initLinks:function(){d.each(document.links,d.bind(function(a){this.link(a)},this))},initNamespace:function(){if(window.vglnk&&window.vglnk.key)j="vglnk";var a=window,b=j.split("."),c;for(j=b.pop();c=b.shift();){a[c]=a[c]||{};a=a[c]}o=a;m=o[j]=o[j]||{}},initOptions:function(){this.initLegacyOptions();g=d.extend({api_url:"//api.viglink.com/api",cuid:null,dev:false,dr_key:null,enabled:d.traits.basicCompatibility,
key:null,sub_id:null,reaffiliate:false},g,m,{click_timeout:1E3,hop_timeout:2E3,debug:false,library_id:null,nofollow:{},norewrite:{},swap:{},time_click:false,time_ping:false});for(var a in g)a.substr(-7)==="_plugin"&&delete g[a]},initDRApi:function(){if(o===window&&!(window.vglnk&&window.vglnk.api_key))window.DrivingRevenue=d.exceptionLogger(d.bind(function(){g.dr_key=window.DR_id;this.enabled()&&this.ping()},this))},initLegacyOptions:function(){var a,b={DR_id:"dr_key",vglnk_api_key:"key",vglnk_cuid:"cuid",
vglnk_domain:"api_url",vglnk_reaf:"reaffiliate",vglnk_subid:"sub_id"};for(a in b)if(window[a]!==undefined){m[b[a]]=window[a];if(a==="vglnk_domain")m[b[a]]+="/api"}},initLegacyCallbacks:function(){var a,b={vl_cB:d.bind(this.onApiClick,this),vl_ping:d.bind(this.onApiPing,this),vl_disable:function(){g.enabled=false}};for(a in b)window[a]=b[a]},isRewritable:function(){var a=d.canonicalizeHostname(document.location);return function(b){var c,e="";try{c=b.hostname;e=b.protocol;c.charAt(0)}catch(f){return false}c=
d.canonicalizeHostname(b);return!(a===c||!e.match(/^https?:$/i)||g.norewrite[c]||d.hasRel(b,"norewrite")||d.hasRel(b,"noskim"))}}(),initPlugins:function(){var a,b=1,c=d.exceptionLogger(function(){var e,f,i,h=false;for(f in a){e=window.vglnk&&window.vglnk[f+"_plugin"];i=a[f];if(e&&i){e(i,d.clone(d),m);delete a[f]}else h=true}h&&setTimeout(c,Math.min(Math.max(Math.pow(2,++b),100),5E3))});return function(e){a=e;c()}}(),link:function(a){if(this.preprocessLink(a)){d.on(a,"mouseover",d.bind(this.onMouseover,
this));d.on(a,"contextmenu",d.bind(this.onContextmenu,this))}},log:function(a,b,c){var e="pixel.gif";if(a==="time"){e="time.gif";a={libId:g.library_id,time:c,type:b}}else if(a==="exception")a={e:b,o:c};else if(a==="info")a={i:b};else return;d.createEl("img").src=g.api_url+"/"+e+"?"+d.toQuery(d.extend(a,{key:g.key}))},logEvent:function(a){this.log("info","4CFEDF96."+a)},logException:function(a){if(g.debug){var b={link:d.cache(this,"link"),loc:document.location.href,UA:navigator.userAgent};if(typeof a===
"string")b.message=a;else b=d.extend(b,a);this.log("exception",a,d.toQuery(b))}},logTime:function(){var a;return function(b){if(arguments.length===0)a=(new Date).getTime();else this.log("time",b,(new Date).getTime()-a)}}(),onApiClick:d.exceptionLogger(function(a,b,c,e,f){var i=e||a.href,h=d.bind(function(){this.redirect(i,b,c||a.target)},this);if(typeof f==="object"&&(f.tracking||f.image)){e=d.createEl(f.tracking?"iframe":"img",{src:f.tracking||f.image},{height:0,width:0,visibility:"hidden"});document.body.appendChild(e);
setTimeout(d.exceptionLogger(h),f.timeout||g.hop_timeout)}else h()}),onApiPing:d.exceptionLogger(function(){g=d.extend(g,typeof arguments[4]==="object"?d.reformatKeys(arguments[4]):{});var a,b,c={2:"norewrite",3:"swap",5:"nofollow"},e=g.plugins,f=function(i){if(d.isArray(i))a[i[0]]=i[1];else a[i]=1};delete g.plugins;g.library_id=arguments[0];g.click_timeout=arguments[1];g.time_ping&&this.logTime("png");for(b in c)if(d.isArray(arguments[b])){a={};d.each(arguments[b],f);g[c[b]]=d.extend(g[c[b]],a)}this.initPlugins(e);
d.on("DOMReady",d.bind(this.initLinks,this))}),onClick:d.exceptionLogger(function(a){a=a||window.event;var b=a.ctrlKey||a.metaKey||a.altKey||a.shiftKey,c=a.which&&a.which===1||a.button===0,e=d.eventLink(a);if(e)if(c)b&&this.logEvent("keyclick");else this.logEvent("otherclick");if(!(!e||b||!c||d.isDefaultPrevented(a))){this.click(e);return d.preventDefault(a)}}),onContextmenu:d.exceptionLogger(function(){this.logEvent("rightclick")}),onMouseover:d.exceptionLogger(function(a){if((a=d.eventLink(a||window.event))&&
!d.cache(a,"evented")){d.on(a,"click",d.bind(this.onClick,this));d.cache(a,"evented",true)}}),opt:function(a){return g[a]},ping:function(){if(g.key||g.dr_key){this.logTime();this.api("ping")}},preprocessLink:function(a){if(this.isRewritable(a)){if(g.swap[a.href])a.href=g.swap[a.href];if(g.nofollow[a.href]&&!d.hasRel(a,"nofollow"))a.rel=(a.rel?a.rel+" ":"")+"nofollow";return a}},redirect:function(a,b,c){if(!d.traits.crossWindowCommunication&&!b){c=window.open(a,c);c.focus()}else if(d.traits.jsRedirectSetsReferrer)setTimeout(d.exceptionLogger(function(){if(!b||
b===window.self)window.location=a;else b.location.replace(a)}),0);else{c=d.createA(a,c);document.body.appendChild(c);c.click();c.parentNode.removeChild(c)}}};p.init()})(typeof vglnk_self==="undefined"?"vglnk":vglnk_self);window.vglnk=window.vglnk||{};
window.vglnk.link_insertion_plugin=function(j,g,o){j=g.extend({amids:[],asids:[],ast:null,platform:null,api_url:"http://api.atmalinks.com/matcher/",key:null,link_phrases:true,link_urls:false,link_target:null,link_title:"Link added by VigLink and Atma Links",per_page:null,per_phrase:1,type:"i"},j);if(j.api_url&&j.key&&(j.asids&&j.asids.length||!j.ast)&&(j.amids&&j.amids.length||j.asids&&j.asids.length)){g.createWrapper=function(b){var c,e=g.createEl("div");if(e.outerHTML){c=g.createEl("div");e.appendChild(c);
c.outerHTML="<pre>"+b+"</pre>";return e.childNodes[0]}else{e.innerHTML=b;return e}};var m={},d,p=0,a={init:function(){j.link_urls&&this.addPhrasesToMatcher(/\b(https?:\/\/(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?\u00ab\u00bb\u201c\u201d\u2018\u2019]))/i);j.link_phrases&&this.getPhrases(this.getPostIDs())},addPhrasesToMatcher:function(b){var c,e;c="";b=g.type(b)!=="array"?[b]:b;c=0;for(e=b.length;c<e;c++)b[c]=g.type(b[c])==="regexp"?
b[c].source:g.escapeRegExp(b[c]);c="(?:"+b.join("|")+")";d=RegExp(d?"(?:"+c+"|"+d.source+")":c,"gi")},getPhrases:function(b){if(!g.isArray(j.api_url))j.api_url=[j.api_url];for(var c=0,e=j.api_url.length;c<e;c++)g.jsonp(j.api_url[c],{format:"jsonp",ml:j.amids.join("|"),sl:j.asids.join("|"),sm:j.ast,pt:j.platform,i:b?b.join("|"):null,u:location.href},{fn:g.bind(a.onMatcher,a)})},getPostIDs:function(){var b,c=[],e=j.platform?{vb3:["td",/^td_post_(\d+)$/],vb4:["li",/^post_(\d+)$/],phpb:["div.post",/^p(\d+)$/],
wppr:["div",/^post-(\d+)$/]}[j.platform]:null;if(e){b=e[0].split(".");g.each(document.getElementsByTagName(b[0]),function(f){var i=f.id?f.id.match(e[1]):null;if((!b[1]||f.className.toLowerCase().match(RegExp("(^| )"+b[1].toLowerCase()+"( |$)")))&&i)c.push(i[1])})}return c.length?c:null},insertLinks:function(){var b=function(c,e,f,i){var h,k=document.createDocumentFragment();h=g.createWrapper(c.data.replace(e,"<a>"+e+"</a>"));c=h.getElementsByTagName("a")[0];c.href=f||e;c.title=j.link_title;c.target=
j.link_target;g.cache(c,"key",j.key);g.cache(c,"merchant_id",i);g.cache(c,"type",j.type);for(o.link(c);h.firstChild;)k.appendChild(h.firstChild);return k};return function(c){c=c||document.body;if(!g.hasClass(c,"nolinks")){var e,f,i=c.childNodes;c=0;for(e=i.length;c<e;c++){f=i[c];if(f.nodeType===1&&",a,applet,embed,object,head,img,input,link,map,meta,param,select,button,option,script,style,textarea,title,".indexOf(","+f.nodeName.toLowerCase()+",")===-1)this.insertLinks(f);else if(f.nodeType===3){f=
f;var h=void 0,k=void 0;if((k=f.data.match(d))&&k.length&&k[0].length){h=f;k=k;var l=void 0,n=void 0,s=void 0,r=void 0,t=0,q=document.createDocumentFragment();q.appendChild(document.createTextNode(h.data));for(l=0;l<q.childNodes.length;l++){if(!(r=k[t++]))break;n=m[r.toLowerCase()];h=q.childNodes[l];s=h.data.indexOf(r)+r.length;h.length>s&&h.splitText(s);if(!n||(!j.per_phrase||!n.count||n.count<j.per_phrase)&&(!j.per_page||p<j.per_page)){n=n||{};q.insertBefore(b(h,r,n.url,n.merchant_id),h);q.removeChild(h);
n.count++;p++;l++}}h=q;k=f.parentNode;k.insertBefore(h,f);k.removeChild(f)}}}}}}(),onMatcher:function(b){g.type(b)==="object"&&b.results&&this.loadAndLink(b.results)},loadAndLink:function(b){var c,e,f,i=[];c=0;for(e=b.length;c<e;c++){f=b[c];if(!(f.link_txt&&f.buy_url&&f.merc_id))return;i.push(f.link_txt);m[f.link_txt]={count:m[f.link_txt]?m[f.link_txt].count:0,merchant_id:f.merc_id,url:f.buy_url}}this.addPhrasesToMatcher(i);this.insertLinks()}};g.on("DOMReady",function(){a.init()})}};
