var AjaxTabPanel = function(){

    var data = new Object();
    var selectedTabId = false;
    var baseLoadUrl = false;
	var contObject;

    var onTabClick = function(e){
        onSelectTab(this);
    }

    var onSelectTab = function(el){
        if(selectedTabId && data[selectedTabId] != undefined){
            data[selectedTabId].tabEl.className = "tab-list-item";
           //data[selectedTabId].contEl.style.display = 'none';
        }
        if(data[el.id] != undefined){

            if(data[el.id].loaded == false && baseLoadUrl){
                $(data[el.id].contEl).load(baseLoadUrl+"/"+data[el.id].contEl.id, "", function(){
                    
                    data[el.id].loaded = true;
                    data[el.id].tabEl.className = "tab-list-item active-tab";
                    data[el.id].contEl.style.display = 'block';
					
                    if(selectedTabId && data[selectedTabId] != undefined){
                        //data[selectedTabId].tabEl.className = "tab-list-item";
                        data[selectedTabId].contEl.style.display = 'none'; 
                    }
                    selectedTabId = el.id;
                });
            }else{
                data[el.id].tabEl.className = "tab-list-item active-tab";
                data[el.id].contEl.style.display = 'block';
				var newH = data[el.id].contEl.height;
				contObject.height = newH;
                if(selectedTabId && data[selectedTabId] != undefined){
                    //data[selectedTabId].tabEl.className = "tab-list-item";
                    data[selectedTabId].contEl.style.display = 'none';
                }
                selectedTabId = el.id;
            }
        }
    }

    return{
        init: function(tabList, tabContainer){
            for(var key in tabList){
                var tabEl = document.getElementById(key);
                tabEl.onclick = onTabClick;
                data[key] = new Object();
                data[key].tabEl = tabEl;
                data[key].loaded = false;
                data[key].contEl = document.getElementById(tabList[key]);
            }
			contObject = $('#'+tabContainer);
        },

        setBaseLoadUrl: function(url){
            baseLoadUrl = url;
        },

        selectTab: function(elId){
            var el = document.getElementById(elId);
            if(el){
                onSelectTab(el);
            }
        }
    }
};
