var LoginForm = Class.create({
    initialize: function(){

        Event.observe($$('div#login-form input.button-cancel').first(), 'click', function(event){
            Event.stop(event);

            Element.hide($('overlayer'));
            Element.hide($('login-form'));
        });

                this.form = $('userLogin');
        Event.observe(this.form, 'submit', this.login.bindAsEventListener(this));
    },

    setElement: function(element){
        this.root = element;
    },

    login: function(event){
        Event.stop(event);
        Element.hide($('userLogin-error'));
        Element.show($('userLogin-login'));

        new Ajax.Request('/user/login', {
            parameters: this.form.serialize(),
            method: 'POST',
            onSuccess: function(transport){
           
               var r = transport.responseJSON;
                if (r.status == true) {

                    if(r.ret) window.location = r.ret;
                    	else document.location.reload();//this.root.href;
                }
                else {
                    Element.hide($('userLogin-login'));
                    Element.show($('userLogin-error'));
                    //console.log(transport);
                    //alert(this.root.href);
                }
            }.bind(this)
        });
    }
});

var Login = Class.create({
    initialize: function(element){

        this.root = element;

        Event.observe(this.root, 'click', function(event){
            Event.stop(event);

            var numbers = Element.cumulativeOffset(this.root);

            var top = 110;

            if ((numbers[1] - 300) >= 110) {
                top = numbers[1] - 300;
            }

            this.showForm(top);

            rl.setElement(this.root);

        }.bind(this));
    },

    viewport: function(){
        this.pageX = (document.documentElement && document.documentElement.scrollWidth) ? document.documentElement.scrollWidth : (document.body.scrollWidth > document.body.offsetWidth) ? document.body.scrollWidth : document.body.offsetWidth;
        this.pageY = (document.documentElement && document.documentElement.scrollHeight) ? document.documentElement.scrollHeight : (document.body.scrollHeight > document.body.offsetHeight) ? document.body.scrollHeight : document.body.offsetHeight;
    },

    showForm: function(top){

        var login = $('login-form');

        Element.setStyle(login, {
            top: top+'px'
        });

        this.viewport();

        var overlay = $('overlayer');

        Element.hide($('userLogin-error'));
                    Element.setStyle(overlay , {
                        height: this.pageY + 'px'
                    });

        Element.show(overlay);
        Element.show(login);
    }
});



document.observe("dom:loaded", function(event){
    $A($$('a.login')).each(function(a){
        new Login(a);
    });

    if ($('login')){
            var list = $('navigation');
            list.childElements().each(function (li) {
                if (li.down(0).href.include('/user/mydata')) new Login(li.down(0));
            });
    }

    rl = new LoginForm();

        $$('div#overlayer , a.closeA').each(function(e) {
          Event.observe(e , 'click' , function(event) {
                Event.stop(event);
          $$('div.box-overlayer').invoke('hide');
          Element.hide($('overlayer'));
                return false;
        });
        });
});





function submitForm(form)
{
    if(!form)
    {
        document.getElementById('userLogin').action = '/user/sendpass/';
        document.getElementById('userLogin').submit();
    }
    else
    {
        document.getElementById(form).submit();
    }
}



function chmurka(obiekt,typ){
obiekt.title='';
//obiekt.parentNode.lastChild.style.display=typ?'block':'none'
document.getElementById('dymek').style.display=typ?'block':'none';
}


