/* modules
 
@author Jacob at Goby
 @version 09/02/11
@svn goby_-150
*/

function Pod(id,node)
{var container=document.getElementById(id);container.parentNode.replaceChild(node,container);container=null;return node;}
function WidgetMgr(params)
{if(params.container.appendChild!=null)
{this.container=params.container;}
else if(document.getElementById(params.container)==null)
{this.container=new Div();this.container.target=params.container;Goby.set('widgetMgr',this);$(document).ready(function()
{var mgr=Goby.get("widgetMgr");var container=document.getElementById(mgr.container.target);if(container!=null)
container.appendChild(mgr.container);});}
else
this.container=document.getElementById(params.container);this.location=new Location(params.location);if(params.slidable)
{this.mui=new Slidable({container:$("#main").get(0),area:this.container,offset:0});this.mui.init();}
if(!Goby.has('location'))
Goby.set('location',this.location);this.initTabs(params.tabs);}
WidgetMgr.prototype=new TabMgr();WidgetMgr.prototype.getLocation=function(obj)
{return this.location;}
WidgetMgr.prototype.getWidget=function(id)
{return this.getTabByID(id);}
WidgetMgr.prototype.initTabs=function(tabs)
{for(var i in tabs)
{if(tabs[i]==null)
continue;try
{var tabData=tabs[i];var name=tabData.title;var params=tabData.params;params.mgr=this;params.title=name;params.id=i;this.tabs[i]=new window[tabData.object](params);this.displayTab(this.tabs[i]);}
catch(e)
{Goby.reportError(e);}}}
WidgetMgr.prototype.displayTab=function(tab)
{this.currentTab=tab;this.currentTab.display();}
function WidgetLoader(widget,container)
{var widgetData={};widgetData[widget.id]=widget;var widgetMgr=new WidgetMgr({container:container,tabs:widgetData});var widgetObj=widgetMgr.getWidget(widget.id);widgetObj.mgr=null;widgetMgr=null;return widgetObj;}
window['WidgetLoader']=WidgetLoader;
