var Util = {
    submitNewsLetterForm: function(){
        var inputs = $$('#newsletter-form .newsletter_field')
        var isValid = true;

        inputs.each(function(input){
            var el = $(input.id)
            if(el.getValue()==''){
                isValid = false;
                //$(input.id+'_invalid').update('This field cannot be empty')
                $(input.id+'_invalid').show();
            }
            else{
                $(input.id+'_invalid').hide();
                $(input.id+'_invalid').update();
            }
        })
        var emailField = $('email').getValue()
        if(emailField!=''){
            if(!/^([\w]+)(.[\w]+)*@([\w-]+\.){1,5}([A-Za-z]){2,4}$/i.test(emailField)){
                //$('email_invalid').update('Email is not valid')
                $('email_invalid').show();
                isValid = false;
            }else{
                $('email_invalid').hide();
                $('email_invalid').update()
            }
        }
        if(isValid){
            console.log('submitting')
            $('form-newsletter').request({
                onComplete: function(t){
                    console.log(t)
                }
            });
        }

    },
    submitContactusFrom:function(){
        var inputs= $$('#contactus_form .validate');
        var isValid = true;

        inputs.each(function(input){
            var el = $(input.id)
            if(el.getValue()==''){
                isValid = false;
                //$(input.id+'_invalid').update('This field cannot be empty')
                $(input.id+'_invalid').show();
            }else{
                $(input.id+'_invalid').hide();
                $(input.id+'_invalid').update()
            }
        })
        var emailField = $('email').getValue()
        if(emailField!=''){
            if(!/^([\w]+)(.[\w]+)*@([\w-]+\.){1,5}([A-Za-z]){2,4}$/i.test(emailField)){
                $('email_invalid').update('Email is not valid')
                $('email_invalid').show();
                isValid = false;
            }else{
                $('email_invalid').hide();
                $('email_invalid').update()
            }
        }

        if(!Captcha.isValidated()) {
            isValid = false;
            $('captcha-invalid').show();
        }

        if(isValid){
            $('contactus_form').request({
                onComplete: function(t){
                    var resp = t.responseJSON
                    if(resp){
                        $('contactus_form').reset();

                        var table = $('contactus-table');
                        var msg = $('contactus-confirmation');

                        //                        alert('offsetTop: ' + table.offsetTop + ', scrollTop: ' + table.offsetTop + ', clientTop: ' + table.offsetTop);

                        new Effect.Opacity(table,{
                            from:1,
                            to:0
                        });

                        msg.setStyle({
                            position: 'absolute',
                            zIndex: '1000',
                            top: table.offsetTop + 'px',
                            left: table.offsetLeft + 'px',
                            width: table.offsetWidth + 'px',
                            height: table.offsetHeight + 'px'
                        //                            backgroundColor: '#ffffff'
                        });
                        //                        msg.setOpacity(0.7);
                        msg.appear();

                    //                        Effect.Appear('contactus_confirmation',{
                    //                            afterFinish: function(){
                    //                                $('contactus_confirmation').fade();
                    //                            }
                    //                        });

                    }
                }
            });
        }
    },
    submitCustomerSupportFrom:function(){
        var inputs= $$('#customersupport_form .validate')
        var isValid = true;
        inputs.each(function(input){
            var el = $(input.id)
            if(el.getValue()==''){
                isValid = false;
                //$(input.id+'_invalid').update('This field cannot be empty')
                $(input.id+'_invalid').show();
            }else{
                $(input.id+'_invalid').hide();
                $(input.id+'_invalid').update()
            }
        })
        var emailField = $('email').getValue()
        if(emailField!=''){
            if(!/^([\w]+)(.[\w]+)*@([\w-]+\.){1,5}([A-Za-z]){2,4}$/i.test(emailField)){
                //$('email_invalid').update('Email is not valid')
                $('email_invalid').show();
                isValid = false;
            }else{
                $('email_invalid').hide();
                $('email_invalid').update()
            }
        }
        if(isValid){
            $('customersupport_form').request({
                onComplete: function(t){
                    var resp = t.responseJSON
                    if(resp){
                        $('customersupport_form').reset();
                        Effect.Appear('customersupport_confirmation',{
                            afterFinish: function(){
                                $('customersupport_confirmation').fade();
                            }
                        });
                    }
                }
            });

        }
    }
}

var Captcha = function () {

    var validated = false;

    return {
        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" />',
        isValidated: function() {
            return validated;
        },
        check : function(e) {
            var code = Event.element(e).value;
            if(code.length == 6) {
                new Ajax.Request(
                    '/site_includes/captcha-check.php'
                    , {
                        method: 'post'
                        ,
                        parameters: 'code=' + $(this.input).value
                        ,
                        onSuccess: function(transport) {
                            var res = transport.responseText;
                            if(res == 'ok') {
                                $('result').update(this.htmlCorrect);
                                //                                $('submit').enable();
                                validated = true;
                            }
                            else {
                                $('result').update(this.htmlFailed);
                            //$('submit').disable();
                            }
                        }.bind(this)
                    }
                    );
            }
            else {
                $('result').update('');
            //$('submit').disable();
            }
        }
    }

}();
