/**
 *  Document   : ContactForm
 *  Created on : 15-Jul-2010, 13:13:02
 *  Author     : Michal Wrzesniewski <mw@faktumpro.net>
 */

var DemoForm = {
    lb:false,
    show:function(){
        if(!this.lb){
            this.lb = new Lightbox({
                //                        url:'/main/sample_form.php',
                url:'/site_includes/demo_form.php?site_folder=' + $("site_folder").value + '&product_name=' + $("productName").value,
                width:515,
                height:605,
                hideReload: true,
                hideClose: true
            })
        }
        this.lb.show();


    },
    hide:function(){
        this.lb.hide();
    },
    resetValidation:function(){
        var form = $('demo-contact');

        $$('#demo-contact input, #demo-contact textarea').each(function(el){
            el.removeClassName('invalid')
            if(el.next() && el.next().hasClassName('validation')){
                el.next().hide();
            }
        })
    },
    validateForm:function(){

        this.resetValidation();

        var form = $('demo-contact');
        var inputs = $$('#demo-contact input, #demo-contact textarea');


        var isFormValid = true;
        inputs.each(function(el){
            el.removeClassName('invalid');
            el.addClassName(el.getValue()=="" ? 'invalid':'')

            if(el.name=='email' && (!/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test(el.getValue()))){
                el.addClassName('invalid')
            }
            if(el.hasClassName('invalid')){

                isFormValid = false;
                if(el.next() && el.next().hasClassName('validation')){
                    el.next().show();
                }
            }
        })
        if(!isFormValid){

            return;
        }

        $("demo-contact").request({
            onSuccess:function(resp){

                var json = resp.responseText.evalJSON();

                if(json.success){
                    $("demo-contact").remove();
                    $("siteLightboxInner").down().insert($("thankYouMessage"));
                    setTimeout(function(){
                        this.hide();
                    }.bind(this),2000)
                }else{
                    alert('Error occured during sending');
                }
            }.bind(this)
        })

    },
    submit:function(){

        this.validateForm();
    }
}
