
var fi=fi||{};fi.common=fi.common||{};fi.common.ContentLoader=new function(){var _queue={};var _checkComplete=function(item){if(item.loaded&&!item.animating){$(item.container).empty();$(item.container).append(item.loadContainer);fi.common.ComponentLoader.initComponents(item.loadContainer);if(typeof(item.callback)!=="function"){try{item.callback.onBeforeShow.call();}catch(error){}}
$(item.container).delay(100).animate({opacity:1},{duration:350,complete:function(){if(typeof(item.callback)!=="function"){try{item.callback.onShown.call();}catch(error){}}else{if(item.callback&&typeof(item.callback)!=="undefined"){item.callback.call();}}}});}};var api={};api.loadContent=function(id,$container,url,callback){if(_queue[id]){_queue[id]={};}
var item={loaded:false,animating:true,container:$container,loadContainer:$('<div class="loaded-content">'),callback:callback};_queue[id]=item;$container.stop().animate({opacity:0},{duration:350,complete:function(){item.animating=false;if(typeof(callback)!=="function"){try{callback.onHidden.call();}catch(error){}}
_checkComplete(item);}});item.loadContainer.load(url,function(){item.loaded=true;if(typeof(callback)!=="function"){try{callback.onLoaded.call();}catch(error){}}
_checkComplete(item);});}
return api;};
