YAHOO.namespace("extension");(function(){var B=YAHOO.util.Dom,A=YAHOO.util.Event,C=YAHOO.lang;YAHOO.extension.Captcha=function(D,E){if(arguments.length){this.init(D,E)}};YAHOO.extension.Captcha.prototype={cfg:{img:null,clicker:null},_events:{imageAvailable:null,imageLoaded:null,imageReload:null},_setupConfig:function(D){if(C.isNull(D.img)||C.isNull(D.clicker)){return false}this.cfg=D;return true},_setupCallback:function(D){if(!C.isObject(D)){return false}for(type in D){if(type in this._events){this.on(type,D[type],D.scope?D.scope:D)}}if(C.isFunction(D.setCaptcha)){D.setCaptcha(this)}return true},_onImageAvailable:function(D){D.cfg.img=this;D.cfg.img.onload=function(){D._getEvent("imageLoaded").fire()};D._getEvent("imageAvailable").fire()},_getEvent:function(D){if(!(D in this._events)){return false}if(!C.isObject(this._events[D])){this._events[D]=new YAHOO.util.CustomEvent(D,this)}return this._events[D]},on:function(E,G,D){var F=this._getEvent(E);if(F){F.subscribe(G,null,D)}},reload:function(F){if(this.cfg.img&&this.cfg.img.src){this._getEvent("imageReload").fire();var E=new Date().getTime();var D=this.cfg.img.src.match(/\/hash\/([\d]{13})/);if(D){this.cfg.img.src=this.cfg.img.src.replace(D[1],E)}else{this.cfg.img.src+=(("/"==this.cfg.img.src.charAt(this.cfg.img.src.lenght))?"":"/")+"hash/"+E}}A.preventDefault(F)},init:function(D,E){if(!this._setupConfig(D)){return false}this._setupCallback(E);A.onAvailable(this.cfg.img,this._onImageAvailable,this);A.addListener(this.cfg.clicker,"click",this.reload,this,true)}}})();