// VERSION: 20090311.0
if(typeof(KMConfig)!="undefined"){var KM={Class:function(b){var a=function(){return(arguments[0]!==null&&this.initialize&&typeof this.initialize=="function")?this.initialize.apply(this,arguments):this};a.prototype=b;a.constructor=KM.Class;return a},Crypt:{chrsz:8,b64pad:"=",core_sha1:function(v,o){v[o>>5]|=128<<(24-o%32);v[((o+64>>9)<<4)+15]=o;var y=Array(80);var u=1732584193;var s=-271733879;var r=-1732584194;var q=271733878;var p=-1009589776;for(var l=0;l<v.length;l+=16){var n=u;var m=s;var k=r;var h=q;var f=p;for(var g=0;g<80;g++){if(g<16){y[g]=v[l+g]}else{y[g]=KM.Crypt.rol(y[g-3]^y[g-8]^y[g-14]^y[g-16],1)}var z=KM.Crypt.safe_add(KM.Crypt.safe_add(KM.Crypt.rol(u,5),KM.Crypt.sha1_ft(g,s,r,q)),KM.Crypt.safe_add(KM.Crypt.safe_add(p,y[g]),KM.Crypt.sha1_kt(g)));p=q;q=r;r=KM.Crypt.rol(s,30);s=u;u=z}u=KM.Crypt.safe_add(u,n);s=KM.Crypt.safe_add(s,m);r=KM.Crypt.safe_add(r,k);q=KM.Crypt.safe_add(q,h);p=KM.Crypt.safe_add(p,f)}return Array(u,s,r,q,p)},sha1_ft:function(e,a,g,f){if(e<20){return(a&g)|((~a)&f)}if(e<40){return a^g^f}if(e<60){return(a&g)|(a&f)|(g&f)}return a^g^f},sha1_kt:function(a){return(a<20)?1518500249:(a<40)?1859775393:(a<60)?-1894007588:-899497514},safe_add:function(a,d){var c=(a&65535)+(d&65535);var b=(a>>16)+(d>>16)+(c>>16);return(b<<16)|(c&65535)},rol:function(a,b){return(a<<b)|(a>>>(32-b))},binb2b64:function(d){var c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var f="";for(var b=0;b<d.length*4;b+=3){var e=(((d[b>>2]>>8*(3-b%4))&255)<<16)|(((d[b+1>>2]>>8*(3-(b+1)%4))&255)<<8)|((d[b+2>>2]>>8*(3-(b+2)%4))&255);for(var a=0;a<4;a++){if(b*8+a*6>d.length*32){f+=KM.Crypt.b64pad}else{f+=c.charAt((e>>6*(3-a))&63)}}}return f},str2binb:function(d){var c=[];var a=(1<<KM.Crypt.chrsz)-1;for(var b=0;b<d.length*KM.Crypt.chrsz;b+=KM.Crypt.chrsz){c[b>>5]|=(d.charCodeAt(b/KM.Crypt.chrsz)&a)<<(32-KM.Crypt.chrsz-b%32)}return c}},URL_ESCAPES:{"'":"%27","(":"%28",")":"%29","*":"%2A","~":"%7E","!":"%21","%20":"+"},str_replace:function(c,b,d){if(!d){return d}var a=[];a=d.split(c);return a.join(b)},API_VERSION:"0.91b",STRING:"string",INTEGER:"integer",FLOAT:"float",TIME_DURATION:"time_duration",TIMESTAMP:"timestamp",URL:"url",TAGS:"tags",IP_ADDRESS:"ip_address",BOOL:"bool",UNKNOWN:null,SESSION_CONTAINER:"kms__"};KM.Action=new KM.Class({initialize:function(a,b,c){this.name=a;this.props=b;this.timestamp=c;this.recorded_at="KMNOW";this.recorded_at_ts=KM.Core.main.now();this.logged=false}});KM.Core=new KM.Class({initialize:function(){this.requestIndex=0;this.actions=[];this.assigns={};this.localCookies={}},escape:function(b){b=encodeURIComponent(b);for(var a in KM.URL_ESCAPES){if(typeof(KM.URL_ESCAPES[a])=="string"){b=KM.str_replace(a,KM.URL_ESCAPES[a],b)}}return b},unescape:function(a){for(var b in KM.URL_ESCAPES){if(typeof(KM.URL_ESCAPES[b])=="string"){a=KM.str_replace(KM.URL_ESCAPES[b],b,a)}}a=decodeURIComponent(a);return a},write_to_log:function(a,g){var f=document.head?document.head:document.body;if(f&&KMConfig.LOG_URL){this.requestIndex+=1;a=KM.str_replace("\n","",a);a=KM.str_replace("\r","",a);var b=document.createElement("script");var e=new Date();var c=KMConfig.LOG_URL+((KMConfig.LOG_URL.indexOf("?")==-1)?"?":"&")+["line="+encodeURIComponent(a),"ri="+this.requestIndex,"sc="+(g?1:0),"ts="+(e.getTime())].join("&");if(c.length<=2048){b.src=c;b.type="text/javascript";b.charset="utf-8";f.appendChild(b)}}},set_current_person_id:function(a){this.set_cookie("person_id",this.sha1_b64(a))},get_current_person_id:function(){if(!this.get_cookie("person_id")){var f=new Date();var e="";if(navigator.plugins){var a=navigator.plugins.length;for(var b=0;b<a;b++){if(navigator.plugins[b]){e+=[navigator.plugins[b].name,navigator.plugins[b].description,navigator.plugins[b].filename].join("/")}}}var c=this.sha1_b64([Math.random(),f.getTime(),navigator.userAgent,navigator.vendor,e,document.referrer].join("|"));this.set_cookie("person_id",c)}return this.get_cookie("person_id")},sha1_b64:function(a){return KM.Crypt.binb2b64(KM.Crypt.core_sha1(KM.Crypt.str2binb(a),a.length*KM.Crypt.chrsz))},get_cookie:function(b){b=KMConfig.COOKIE_PREFIX+b;var e=b+"=";if(document.cookie){var a=document.cookie.split(";");for(var d=0;d<a.length;d++){var f=a[d];while(f.charAt(0)==" "){f=f.substring(1,f.length)}if(f.indexOf(e)==0){return f.substring(e.length,f.length)}}}return this.localCookies[b]},cookie_isset:function(b){b=KMConfig.COOKIE_PREFIX+b;var e=b+"=";if(document.cookie){var a=document.cookie.split(";");for(var d=0;d<a.length;d++){var f=a[d];while(f.charAt(0)==" "){f=f.substring(1,f.length)}if(f.indexOf(e)==0){return true}}}return !(typeof(this.localCookies[b])=="undefined")},set_cookie:function(c,e,d){if(d===undefined){d=157680000}c=KMConfig.COOKIE_PREFIX+c;var a;if(e===undefined){e=""}if(d){var b=new Date();b.setTime(b.getTime()+d);a="; expires="+b.toGMTString()}else{a=""}document.cookie=c+"="+e+a+"; path=/";this.localCookies[c]=e},_get_session_container:function(){var b={};var a=this.get_cookie(KM.SESSION_CONTAINER);if(!a){a=""}var f=a.split("&");for(var d=0;d<f.length;d++){var g=f[d].split("=");if(g.length==2){var c=g[0];var e=g[1];b[this.unescape(c)]=this.unescape(e)}}return b},_set_session_container:function(a){var d=[];for(var b in a){var c=a[b];if(typeof(c)!="function"){d.push(this.escape(b)+"="+this.escape(c))}}this.set_cookie(KM.SESSION_CONTAINER,d.join("&"))},set_session:function(b,c){var a=this._get_session_container();if(typeof(c)=="undefined"||c===null){c=""}a[b]=c;this._set_session_container(a)},get_session:function(b){var a=this._get_session_container();return a[b]},session_isset:function(b){var a=this._get_session_container();return typeof(a[b])!="undefined"},validate_value:function(d,e){if(d===null||d===undefined){return null}switch(e){case KM.STRING:case KM.URL:return""+d;case KM.TAGS:if(typeof(d)!="array"&&typeof(d)!="object"){d=(""+d).split(",")}var b=[];for(var c=0;c<d.length;c++){var a=(""+d[c]).toLowerCase();a=KM.str_replace(",","",a);b.push(a.replace(/^\s+/,"").replace(/\s+$/,""))}return b.join(",");case KM.BOOL:if(typeof(d)=="string"){d=d.toLowerCase();if(d=="false"||d=="0"){return 0}if(d=="null"){return null}}if(d){return 1}else{return 0}case KM.IP_ADDRESS:return""+d;case KM.INTEGER:case KM.TIME_DURATION:case KM.TIMESTAMP:switch(typeof d){case"string":var f=parseInt(d,10);if(isNaN(f)||!isFinite(f)){return null}return f;case"number":return isFinite(d)?Math.floor(d):null}break;case KM.FLOAT:switch(typeof d){case"string":var f=parseFloat(d);if(isNaN(f)||!isFinite(f)){return null}return f;case"number":return isFinite(d)?Math.round(d*1000)/1000:null}break}return null},get_type_extension:function(a){switch(a){case KM.FLOAT:return"f";case KM.INTEGER:return"i";case KM.STRING:return"s";case KM.TIME_DURATION:return"t";case KM.TIMESTAMP:return"d";case KM.URL:return"u";case KM.TAGS:return"c";case KM.BOOL:return"b";case KM.IP_ADDRESS:return"a"}return null},get_user_agent:function(){return navigator.userAgent},get_current_url:function(){var a=document.location.pathname+document.location.search+document.location.hash;return a},get_referrer:function(){return document.referrer},get_language:function(){if(typeof(navigator.userLanguage)=="string"){return navigator.userLanguage}else{if(typeof(navigator.language)=="string"){return navigator.language}}return null},is_robot:function(a){if(a){a=""+(a);a=a.toLowerCase();var d=["w3m","dillo","links","elinks","lynx"];for(var b=0;b<d.length;b++){if(a.indexOf(d[b])==0){return false}}var e=["bot","spider","search","jeeves","crawl","seek","heritrix","slurp","thumbnails","capture","ferret","webinator","scan","retriever","accelerator","upload","digg","extractor","grub","scrub"];for(var b=0;b<e.length;b++){if(a.indexOf(e[b])!=-1){return true}}var f=["mozilla","browser","iphone","lynx","mobile","opera","icab"];var c=false;for(var b=0;b<f.length;b++){if(a.indexOf(f[b])!=-1){c=true;break}}if(!c){return true}if(a.indexOf("mozilla")!=-1){if(a.indexOf("(")==-1){return true}if(!a.match(/mozilla\/\d+/)){return true}}return false}return false},do_track:function(){if(typeof(this.track)!="undefined"&&this.track!==null){return this.track}if(KMConfig.TRACK_ROBOTS){return true}if(this.get_user_agent()){return !this.is_robot(this.get_user_agent())}return true},set_do_track:function(a){this.track=a},record:function(a,b,c){if(this.do_track()){if(!b){b={}}this.actions.push(new KM.Action(a,b,c));if(KMConfig.AUTOCOMMIT===true){this.log_all_actions()}}},assign:function(a,c,b){if(this.do_track()){this.assigns[a]=[c,b]}},log_all_actions:function(){for(var a=0;a<this.actions.length;a++){var b=this.actions[a];if(!b.logged){b.logged=true;this.log_action(b.name,b.props,b.timestamp?b.timestamp:b.recorded_at)}}this.actions=[]},now:function(){var a=new Date();return Math.round(a.getTime()/1000)},log_action:function(a,j,h){var k="";k+=h?h:"KMNOW";k+="|";k+=this.escape(a);k+="|";k+=this.get_current_person_id();k+="|";var d=[];var f={};for(var e in this.assigns){if(typeof(this.assigns[e])!="function"){f[e]=this.assigns[e]}}for(e in j){if(typeof(j[e])!="function"){f[e]=j[e]}}for(e in f){var g=f[e];if(typeof(g)!="function"){e=this.escape(e);if(typeof(g)=="array"||typeof(g)=="object"){if(g.length==2){var i=g[1];var c=this.get_type_extension(i);if(c){e+="."+c;var b=this.validate_value(g[0],i);if(b!==null){b=this.escape(b);d.push(e+"="+b)}}}}}}k+=d.join("&");this.write_to_log(k)}});KM.Core.main=new KM.Core();if(KMConfig.AUTOCOMMIT=="on_page_load"){var km_page_load_func=function(){KM.Core.main.log_all_actions();KMConfig.AUTOCOMMIT=true};if(window.addEventListener){window.addEventListener("load",km_page_load_func,false)}else{if(window.attachEvent){window.attachEvent("onload",km_page_load_func)}}}};