/**
 * @package     captcha
 * @requires    yahoo, event, dom, captcha
 * @namespace   YAHOO.extension.Captcha
 * @author      gen
 * @version     SVN: $Id: captcha_event_handler_lite.js 2200 2008-12-23 14:48:47Z alex $
 */

/**
 * @description
 * Usage examples:
 *
 * Simplest event handler:
 * YAHOO.extension.Captcha.EventHandler = {
 *     imageReload: function(eventType) {alert('loading..');},
 *     imageLoaded: function(eventType) {alert('loaded');}
 * }
 * 
 * var captcha = new YAHOO.extension.Captcha('captcha_img', ['captcha_img', 'captcha_reload'], YAHOO.extension.Captcha.EventHandler);
 */

YAHOO.namespace("extension");

// put code in a closure to avoid creating global vars
(function() {
// internal shorthand
var Dom = YAHOO.util.Dom;

YAHOO.extension.Captcha.EventHandlerLite = {
    _captcha: null,
    _loading: null,
    
    setCaptcha: function(o) {
        this._captcha = o;
    },

    imageAvailable: function(eventType) {
        this._loading = new Image();
        this._loading.src = this._captcha.cfg.imageDir + '/ico-reload-moving.gif';
    },

    imageReload: function(eventType) {
        Dom.setStyle(this._captcha.cfg.img, 'opacity', 0.2);

        if (this._captcha.cfg.clicker[1]) {
            Dom.setStyle(this._captcha.cfg.clicker[1], 'display', 'none');
        }
        if (this._captcha.cfg.progress) {
            Dom.setStyle(this._captcha.cfg.progress, 'display', 'inline');
        }
    },

    imageLoaded: function(eventType) {
        Dom.setStyle(this._captcha.cfg.img, 'opacity', 1);
        
        if (this._captcha.cfg.clicker[1]) {
            Dom.setStyle(this._captcha.cfg.clicker[1], 'display', 'inline');
        }
        if (this._captcha.cfg.progress) {
            Dom.setStyle(this._captcha.cfg.progress, 'display', 'none');
        }
    }
}
})();