var A = A || {};

A.Menu = new Class({
/*
    Implements: [Options],

    options: {
        id: null,
        className: null,
        minThumbSize: 35,
        morph: {duration: 200, link: 'cancel'}
    },
*/

    initialize: function(menu, options){
        //this.setOptions(options);
        this.menu = document.id(menu);
        this.checkActiveItem();
        this.attach();
    },

    attach : function (){
        this.menu.getElements('ul li').each(function(item) {
            item.addEvents({
                'mouseenter': function(e){
                    item.addClass('hover');
                    active = this.menu.retrieve('active_item');
                    // if (active) active.removeClass('active');
                }.bind(this),
                'mouseleave': function(e){
                    item.removeClass('hover');
                    active = this.menu.retrieve('active_item');
                    // if (active) active.addClass('active');
                }.bind(this),
                'click': function(e){
                    item.removeClass('hover');
                    item.addClass('active'); // TODO remove
                    item.addClass('click');
                }.bind(this)
            });
        }, this);
    },

    checkActiveItem : function (){
        active = this.menu.getChildren('ul li.active');
        if (active[0]){
            this.menu.store('active_item', active[0]);
        } else {
            this.menu.store('active_item', false);
        }
    },
    /* TODO : toto nejak prejmenova ... a mozna udelat nejak lepe ...
        voal se to teba pokud prepinam mezi menu pomoci JS
        a zmeni se tedy active class dynamicky
    */
    change : function (){
        this.checkActiveItem();
    }
});


document.addEvent('domready', function(){
    // MooTools More Language Switch
    MooTools.lang.setLanguage('cs');
    // setting for clientcide
    Clientcide.setAssetLocation("/script/clientcide/Assets/");

    // Zakladni predelani odkazu
    $$('a[rel]').each( function(item, index ) {
        // nahrazeni rel="blank" na target="_blank"
        if(item.get('rel') == 'blank'){
            item.set('target', '_blank') ;
        }
        // prida k rel="confirm" js popup zdali pokracovat na adresu
        if(item.get('rel') == 'confirm'){
            item.addEvent('click', function(e){
                if (!confirm(item.get('title') + ' \?')){
                    e.stop();
                }
            });
        }
    });

    // pridani over textu do inputu
    $$('.fr_over_text').each(function(item, index) {
        (function(){ new OverText(item); }).delay(1000);
    });

    // skryva aprila hlasky
    $$('.page_message','.page_error','.page_notice').each(function(item, index) {
        //item.set('display','none');
        //item.tween('background','#fff').tween('opacity', 0).tween('display','none');
        (function(){ item.tween('opacity',0) }).delay(8000);
        (function(){ item.setStyle('display','none') }).delay(9000);
    });


    $$('form.validation').each(function(item, index) {
        e = new FormValidator.Tips(item);
    });

    var MainMenu = new A.Menu('menu-main');
});

