Ext.namespace("Ext.ux","Ext.ux.Crypto");Ext.ux.Crypto.SHA1=function(){var b=function(d,c,f,e){switch(d){case 0:return(c&f)^(~c&e);case 1:return c^f^e;case 2:return(c&f)^(c&e)^(f&e);case 3:return c^f^e}};var a=function(c,d){return(c<<d)|(c>>>(32-d))};return{hash:function(h){var n=[1518500249,1859775393,2400959708,3395469782];h+=String.fromCharCode(128);var x=Math.ceil(h.length/4)+2;var k=Math.ceil(x/16);var m=new Array(k);for(var z=0;z<k;z++){m[z]=new Array(16);for(var y=0;y<16;y++){m[z][y]=(h.charCodeAt(z*64+y*4)<<24)|(h.charCodeAt(z*64+y*4+1)<<16)|(h.charCodeAt(z*64+y*4+2)<<8)|(h.charCodeAt(z*64+y*4+3))}}m[k-1][14]=((h.length-1)*8)/Math.pow(2,32);m[k-1][14]=Math.floor(m[k-1][14]);m[k-1][15]=((h.length-1)*8)&4294967295;var u=1732584193;var r=4023233417;var q=2562383102;var p=271733878;var o=3285377520;var f=new Array(80);var E,D,C,B,A;for(var z=0;z<k;z++){for(var v=0;v<16;v++){f[v]=m[z][v]}for(var v=16;v<80;v++){f[v]=a(f[v-3]^f[v-8]^f[v-14]^f[v-16],1)}E=u;D=r;C=q;B=p;A=o;for(var v=0;v<80;v++){var w=Math.floor(v/20);var g=(a(E,5)+b(w,D,C,B)+A+n[w]+f[v])&4294967295;A=B;B=C;C=a(D,30);D=E;E=g}u=(u+E)&4294967295;r=(r+D)&4294967295;q=(q+C)&4294967295;p=(p+B)&4294967295;o=(o+A)&4294967295}return u.toHexStr()+r.toHexStr()+q.toHexStr()+p.toHexStr()+o.toHexStr()}}}();Ext.applyIf(Number.prototype,{toHexStr:function(){var c="",a;for(var b=7;b>=0;b--){a=(this>>>(b*4))&15;c+=a.toString(16)}return c}});Ext.lib.Ajax.request=function(g,e,a,f,b){if(b){var c=b.headers;if(c){for(var d in c){if(c.hasOwnProperty(d)){this.initHeader(d,c[d],false)}}}if(b.xmlData){this.initHeader("Content-Type","text/xml",false);g="POST";f=b.xmlData}else{if(b.jsonData){this.initHeader("Content-Type","text/javascript",false);g="POST";f=typeof b.jsonData=="object"?Ext.encode(b.jsonData):b.jsonData}}if(b.sync){return this.syncRequest(g,e,a,f)}}return this.asyncRequest(g,e,a,f)};Ext.lib.Ajax.syncRequest=function(e,b,d,a){var c=this.getConnectionObject();if(!c){return null}else{c.conn.open(e,b,false);if(this.useDefaultXhrHeader){if(!this.defaultHeaders["X-Requested-With"]){this.initHeader("X-Requested-With",this.defaultXhrHeader,true)}}if(a&&this.useDefaultHeader){this.initHeader("Content-Type",this.defaultPostHeader)}if(this.hasDefaultHeaders||this.hasHeaders){this.setHeader(c)}c.conn.send(a||null);this.handleTransactionResponse(c,d);return c}};Ext.namespace("DreamOne.Toys");DreamOne.Toys.LinkTracker=function(a){DreamOne.Toys.LinkTracker.superclass.constructor.call(this,a)};Ext.extend(DreamOne.Toys.LinkTracker,Object,{initConf:null,init:function(a){this.initConf=a;this.injectTracker()},log:function(d,b,c,a){Ext.Ajax.request({sync:true,url:"/Hades/log.do",params:{app:d,category:b,info:c,extraInfo:a}})},generateId:function(a){if(a.dom.href){var c=a.parent();var b=a.next();var d=a.prev();var f=String.format("{0}-{1}-{2}-{3}",(a.dom.href),(d)?d.dom.nodeName:"null",(b)?b.dom.nodeName:"null",(c)?c.dom.nodeName:"null");var e=Ext.ux.Crypto.SHA1.hash(f);return e}},injectTracker:function(){var a=this;Ext.addBehaviors({"a@click":function(d,c){if(c==null){return}var b;if(c.nodeName=="A"){b=Ext.get(c)}else{if(c.parentNode.nodeName=="A"){b=Ext.get(c.parentNode)}}var f=a.generateId(b);if(b&&b.dom.href){a.log(a.initConf.appTag,"LinkTrack",a.initConf.infoTag,f)}}})},applyMask:function(a,e){try{var d="N/A";if(e){var c=e(a,this.generateId(a));d=c?c:"N/A"}a.mask(d);a.on("click",function(g,f){g.stopEvent()})}catch(b){}},loopOnAnchors:function(b){var a=Ext.select("a");a.each(function(d,f,e){if(d==null){return}var c;if(d.dom.nodeName=="A"){c=Ext.get(d.dom)}else{if(d.dom.parentNode.nodeName=="A"){c=Ext.get(d.dom.parentNode)}}if(c){b(c)}},this)},overlayMasks:function(b){var a=this;this.loopOnAnchors(function(c){a.applyMask(c,b)})},overlayUnmasks:function(){this.loopOnAnchors(function(a){if(a){a.unmask()}})}});
