var NavigationItem = new Class({

    options: {
        active: false
    },

    initialize: function(eTopMenuItem) {
        this.eTopMenuItem = eTopMenuItem;


        this.eLinkImgNormal = this.eTopMenuItem.getElement('DIV.link_img_normal');
        this.eLinkImgOver = this.eTopMenuItem.getElement('DIV.link_img_over');


        this.buttonLinkImgNormal = this.eLinkImgNormal.getElement('A');

        if($defined(this.buttonLinkImgNormal)) {
            this.buttonLinkImgNormal.addEvent('mouseover', this.eventMouseOver.bind(this));
            this.buttonLinkImgNormal.addEvent('mouseout', this.eventMouseOut.bind(this));
        }

        this.buttonLinkImgOver = this.eLinkImgOver.getElement('A');

        if($defined(this.buttonLinkImgOver)) {
            this.buttonLinkImgOver.addEvent('mouseover', this.eventMouseOver.bind(this));
            this.buttonLinkImgOver.addEvent('mouseout', this.eventMouseOut.bind(this));
        }


        if(this.eTopMenuItem.get('class').contains('active')) {
            this.eventMouseOver();

            this.options.active = true;
        }
    },

    eventMouseOver: function() {
        if(!this.options.active) {
            this.eLinkImgNormal.setStyle('display', 'none');
            this.eLinkImgOver.setStyle('display', 'block');
        }
    },

    eventMouseOut: function() {
        if(!this.options.active) {
            this.eLinkImgNormal.setStyle('display', 'block');
            this.eLinkImgOver.setStyle('display', 'none');
        }
    }

});

var TabbedFrame = new Class({
	
	initialize: function(eTabbedFrame) {
		this.eTabbedFrame = eTabbedFrame;
        
		this.tabs = new Array();
        
        
        var aTab = 0;
        var i = 0;
        var tTabsArray = new Array();
		var tTabs = this.eTabbedFrame.getElements('DIV.tab');
		tTabs.each(function(element, index) {
            tTabsArray[i] = new TabbedFrameTab(element.getElement('DIV.caption'), element.getElement('DIV.content'));
            
            if(element.hasClass('active'))
                aTab = i;
            
			i++;
		});
        this.tabs = tTabsArray;
        
        
        //var tTabCaptionSize = this.tabs[0].eCaption.getSize();
        //this.eTabbedFrame.setStyle('height', tTabCaptionSize.y);
        
        //var sTabCaptionWidth = 0;
        for(j=0; j<this.tabs.length; j++) {
            this.tabs[j].setParent(this);
            
            //var tTabCaptionSize = this.tabs[j].eCaption.getSize();
            //this.tabs[j].eCaption.setStyle('left', sTabCaptionWidth);
            //sTabCaptionWidth += tTabCaptionSize.x+1;
        }
        
		
        this.tabs[aTab].eventShowContent();
	},
    
    hideAllTabsContent: function() {
        for(j=0; j<this.tabs.length; j++) {
            this.tabs[j].eventHideContent();
        }
    }
    
});

var TabbedFrameTab = new Class({
    
    initialize: function(eCaption, eContent) {
        this.eCaption = eCaption;
        this.eContent = eContent;
        
        this.eCaption.addEvent('click', this.eventShowContent.bind(this));
        this.eCaption.addEvent('mouseover', this.eventCaptionOver.bind(this));
        this.eCaption.addEvent('mouseout', this.eventCaptionOut.bind(this));
    },
    
    eventShowContent: function() {
        this.parent.hideAllTabsContent();
        
		this.eContent.setStyle('display', 'block');
        
        var tTabCaptionSize = this.eCaption.getSize();
        var tTabContentSize = this.eContent.getSize();
        //this.parent.eTabbedFrame.setStyle('height', tTabCaptionSize.y+tTabContentSize.y);
        
        this.eCaption.getParent().addClass('active');
	},
    
    eventHideContent: function() {
        this.eContent.setStyle('display', 'none');
        
        this.eCaption.getParent().removeClass('active');
    },
    
    eventCaptionOver: function() {
        this.eCaption.getParent().addClass('hover');
    },
    
    eventCaptionOut: function() {
        this.eCaption.getParent().removeClass('hover');
    },
    
    setParent: function(parent) {
        this.parent = parent;
    }
    
});

window.addEvent('domready', function() {

    var navigationitems = $$('DIV.navigation_main DIV.items DIV.item');

    navigationitems.each(function(element, index) {
        var tNavigationItem = new NavigationItem(element);
    });

	
	var tabbedframes = $$('DIV.tabbedframe');
	
    tabbedframes.each(function(element, index) {
		var tTabbedFrame = new TabbedFrame(element);
    });
	
});

