﻿// JScript File
var ObjetosFlexiveis = Class.create({
    initialize: function ( header, minWidth, minHeight ){
        this.header = $(header);
        this.areaUtil = 0;
        this.pageSize = 0;
        this.objetos = new Array();
        this.objetosHorizontais = new Array();
        this.minHeight = minHeight;
        this.minWidth = minWidth;
        this.assistirEventos();
    },
    addItem: function( __item, dif ) {
        this.objetos.push( {_item:__item, dif:dif } );
        this.definirTamanhoItens();
    },
    addItemClone: function( __item, dif, __clone ) {
        var _clone = new CloneSize(__clone, __item);
        this.objetos.push( {_item:__item, dif:dif, clone:_clone } );
        this.definirTamanhoItens();
    },
    addHItem: function( __item, dif ) {
        this.objetosHorizontais.push( {_item:__item, dif:dif } );
        this.definirTamanhoItens();
    },
    definirTamanhoItens: function(){

        this.pageSize = Position.getPageSize();
        this.areaUtil = this.pageSize.page.height - this.header.getHeight();

        for(var i=0; i<this.objetos.length; i++)
        {
            if($(this.objetos[i]._item).getHeight() < this.areaUtil)
            {
                $(this.objetos[i]._item).setStyle({'height': this.areaUtil - this.objetos[i].dif + 'px'});
            }
        }
        
        for(var i=0; i<this.objetosHorizontais.length; i++){
            if( this.pageSize.window.width > this.minWidth )
                $(this.objetosHorizontais[i]._item).setStyle({'width': ( $('main').getWidth() - this.objetosHorizontais[i].dif - 13 ) + 'px'});
            else
                $(this.objetosHorizontais[i]._item).setStyle({'width': ( this.minWidth - this.objetosHorizontais[i].dif - 13) + 'px'});
        }

    },
    assistirEventos: function(){
        Event.observe(window, 'load', this.definirTamanhoItens.bindAsEventListener(this));
        Event.observe(window, 'scroll', this.definirTamanhoItens.bindAsEventListener(this));
        Event.observe(window, 'resize', this.definirTamanhoItens.bindAsEventListener(this));
    }
});

var CloneSize = Class.create({
    initialize: function(menu, content)
    {
        this.menu = $(menu);
        this.content = $(content);
    },
    clonarTamanhoItems: function()
    {
        if(this.menu.getHeight() > this.content.getHeight())
            this.content.setStyle({'height': this.menu.getHeight() - 1});
        else
            this.menu.setStyle({'height': this.content.getHeight() - 1});
    }
});

