(function($){$.fn.Tree=function(o){return this.each(function(){if(!this.itree){new $.cobalt.tree(this,o);}});};$.cobalt=$.cobalt||{};$.cobalt.tree=function(el,o){$.extend(this,o||{});this.init(el);};$.extend($.cobalt.tree.prototype,{oninit:null,onload:null,ontoggle:null,getChildrenUrl:'CobaltAjax.ashx?M=GetPageTree',handleClick:function(e){var el=$(e.target);if(el.is('span')){var link=el.parent();if(link.attr('href')){if(this.itree.selectLink)return this.itree.selectLink(link,e);}else return false;}var on;var end;if(el.is('li')){switch(el.attr('class')){case"guideopened":el.attr('class','guideclosed');on=false;end=false;break;case"guideclosed":el.attr('class','guideopened');on=true;end=false;break;case"guideendopened":el.attr('class','guideendclosed');on=false;end=true;break;case"guideendclosed":el.attr('class','guideendopened');on=true;end=true;break;}}else return;var ul=el.children('ul');var ajax=false;if(on){if(ul.length)ul.css({display:'block'});else{el.attr('class',end?'guideendpending':'guidepending');var pageid=el.attr('_pageid');if(pageid=='-1')pageid=el.getRow().Path||el.getRow().BasePath;this.itree.loadChildren(el,pageid,null,e.path);ajax=true;}}else ul.css({display:'none'});if(!ajax&&$.isFunction(this.itree.ontoggle))this.itree.ontoggle.call(this.itree,el);return false;},loadChildren:function(el,pageid,href,path){var it=this;var levels=it.levels||(it.expandall?-1:1);var url=$.getAjaxUrl(it.getChildrenUrl,{X:this.fields,S:1,P:pageid,H:$.encode(href),L:levels});if(url){$.ajax({url:url,success:function(data){it.renderChildren.call(it,data,el,path);}});return false;}},renderChildren:function(results,el,path){if(!results){if(!this.initialized)this.initSetup();return;}switch(el.attr('class')){case'guidepending':el.attr('class','guideopened');break;case'guideendpending':el.attr('class','guideendopened');break;}var ul=el.is('ul')?el:el.children('ul');if(!ul.length)ul=$('<ul class="itree"></ul>').appendTo(el);ul.html(results).show();if(!this.initialized)this.initSetup();else if($.isFunction(this.ontoggle))this.ontoggle.call(this,el);if($.isFunction(this.onload))this.onload.call(this,el);if(path){var link=this.element.find('a[_path='+path.toLowerCase()+']').children('span');if(link.length)this.handleClick.call(this.element[0],{target:link[0]});}},initSetup:function(){if(this.expandall){this.element.find('li.guideclosed').attr('class','guideopened').children('ul').css({display:'block'});this.element.find('li.guideendclosed').attr('class','guideendopened').children('ul').css({display:'block'});}var match=this.href&&this.expand(this.href);if($.isFunction(this.oninit))this.oninit.call(this,match);this.initialized=true;},expand:function(href){if(href){href=href.toLowerCase().replace(/'/g,'');var link=this.element.find("a[_path='"+href+"']");if(link.length){link.parent().parents('li.guideclosed,li.guideendclosed').each(function(i){var li=$(this);var end=li.is('.guideendclosed');li.attr('class',end?'guideendopened':'guideopened').children('ul').css({display:'block'});});this.selectLink(link,{});var list=this.element.parent();if(list[0].scrollHeight>list[0].offsetHeight){var pos=link[0].offsetTop;var zone={h:list[0].offsetHeight/2};zone.t=(zone.h/2)+list[0].scrollTop;if(pos<zone.t||pos>zone.t+zone.h)list[0].scrollTop=pos-zone.h;}return true;}}return false;},init:function(el){this.element=$(el);if(this.build){if(!this.element.is('ul'))this.element=$('<ul class="itree"></ul>').appendTo(el);this.loadChildren(this.element,this.pageid||0,this.href||'');}else{this.initSetup();}if($.browser.msie6)this.element.addClass('itree6');else if($.browser.msie&&$.browser.version=='7.0')this.element.addClass('itree7');this.element.bind('click',this.handleClick)[0].itree=this;}});$.fn.setTreeState=function(){return this.each(function(i){var ul=$(this).filter('ul.itree');if(ul.length){ul.children(':not(:last)').filter('[class*=end]').setTreeEnd(false);var last=ul.children(':last').setTreeEnd(true);var li=ul.parent('li');if(li.length)li.setTreeBranch(last.length>0);}});};$.fn.setTreeEnd=function(end){return this.each(function(i){var li=$(this);if(!li.is('li'))return;if(end){li.parent('ul').children('li[class*=end]').setTreeEnd(false);var cls=li.attr('class');if(!cls)li.attr('class','guideend');else if(cls.indexOf('end')<0)li.attr('class',cls.replace('guide','guideend'));}else{var cls=li.attr('class');if(cls=='guideend')li.removeAttr('class');else if(cls)li.attr('class',cls.replace('guideend','guide'));}});};$.fn.setTreeBranch=function(branch){return this.each(function(i){var li=$(this);if(!li.is('li'))return;var cls=li.attr('class');if(branch){var open=li.children('ul:visible').length>0;if(!cls)li.attr('class',open?'guideopened':'guideclosed');else if(cls=='guideend')li.attr('class',open?'guideendopened':'guideendclosed');}else{if(cls.indexOf('end')>0)li.attr('class','guideend');else if(cls)li.removeAttr('class');}});};$.preload('Shared/images/tree/GuideClosed.gif');$.preload('Shared/images/tree/GuideOpened.gif');$.preload('Shared/images/tree/GuideEndClosed.gif');$.preload('Shared/images/tree/GuideEndOpened.gif');$.preload('Shared/images/tree/GuidePending.gif');$.preload('Shared/images/tree/GuideEndPending.gif');})(jQuery);
