﻿LeftFilter = createClass();

LeftFilter.prototype.init = function(args) {

    defaults = { caption: "", contentMgr: null, parentDiv: "FilterDiv", 
                mode: "expand" };
	for(var pr in defaults)
        this[pr] = isDefined(args[pr]) ?args[pr] :defaults[pr];
    var filter = this;
    var mode = this.mode;   
    var header = {
        tagName: "div",
        cssClass: "filterHeader", 
        style: { cursor: "pointer" },
        layout: [{
            tagName: "div", 
            cssClass: "left"
        },{
            tagName: "div", 
            cssClass: "right"
        },{
            tagName: "div", 
            cssClass: "caption",
            layout: filter.caption
        },{
            tagName: "img", 
            attributes: { src: "images/orange-on-grey-arrow.gif", alt: "" }
        }],
        handlers: {
            click: function(ev, mgr) {
                mode = (/compact/i.test(mode)) ?"expand" :"compact";
                mgr.update();
            }
        }
    };
    
    var body = {
        tagName: "div", 
        cssClass: "content",
        id: "bodyDiv",
        layout: filter.contentMgr,
        style: { display: (/compact/i.test(mode)) ?"none" :"" },
        updateFunc: function(el, mgr) {            
            el.style.display = (/compact/i.test(mode)) ?"none" :"";
        }
    };
    
    this.layout = {
        tagName: "div", 
        parent: this.parentDiv,
        layout: {
            tagName: "div",
            cssClass: "leftFilter", 
            layout: [ header, body ]
        }
    };
    
    this.domMgr = new DomMgr(this.layout);
    this.domMgr.create();
    this.body = this.domMgr.elements.bodyDiv;
};
