Captcha = {
    input : "code",
    htmlCorrect : '<img src="/images/captcha-correct.png" style="vertical-align:-4px;width:16px;height:16px"  />',
    htmlFailed : '<img src="/images/captcha-no.png" style="vertical-align:-4px;width:16px;height:16px" />',
    Required : '<img alt="You did not fill in the required field" src="/main/images/icon_error.png">',
    elements : ['code-invalid','result'],
    getElement : function() {
        for(var i = 0;i < this.elements.length;i++) {
            if($(this.elements[i])) {
                return $(this.elements[i]);
            }
        }
        return null;
    },
    check : function(e) {
        var code = e.srcElement ? e.srcElement.value : e.element().value;
        if(code.length == 6) {
            new Ajax.Request(
                '../includes/captcha-check.php', {
                    method: 'post'
                  , parameters: 'code=' + $(this.input).value
                  , onSuccess: function(transport) {
                        var res = transport.responseText;
                        if(res == 'ok') {
                            this.getElement().update(this.htmlCorrect);
                            this.getElement().show();
                            if($('send')) $('send').enable();
                        }
                        else {
                            this.getElement().update(this.htmlFailed);
                            if($('send')) $('send').disable();
                            this.getElement().show();
                        }
                    }.bind(this)
                  }
                );
        }
        else {
            this.getElement().update(this.Required);
            this.getElement().hide();
            if($('send'))  $('send').disable();
        }
    }
}

document.observe('dom:loaded', function(e) {
    if($('send') && $('send').disable) {
        $('send').disable();
    }

    var code = $('code');
    if(code && code.nodeName == 'INPUT' && code.type == 'text') {
        code.observe('keyup', Captcha.check.bindAsEventListener(Captcha));
    }

    var ttmp1 = new Image();
    ttmp1.src = '/images/captcha-correct.png';
    var ttmp2 = new Image();
    ttmp2.src = '/images/captcha-no.png';

});
