/*
 * Folder View
 * 1.03
 * Copyright(c) 2007, DMXzone.com
 */


var currentObjects=0;function dmxListToTree(prefs){if(!prefs)var prefs={};prefs.icons=prefs.icons||null;prefs.bullets=prefs.bullets||null;prefs.clickOn=prefs.clickOn||(prefs.bullets?'bullet':'row');var slide=prefs.slide=prefs.slide||false;var fade=prefs.fade=prefs.fade||false;var speed=prefs.speed=prefs.speed||null;var struct=prefs.struct||false;var bgcolor=prefs.bgcolor||'';prefs.theme=prefs.theme||'Default';var objId=prefs.objId;var toolbar=prefs.toolbar||false;if(!objId)return;$(function(){$('ul#'+objId).addClass((prefs.theme!='Default')?prefs.theme:'').find('li').each(function(){this.toggle=function(){if(slide){if(fade)$(this).find('>ul').toggle(speed||'normal');else $(this).find('>ul').slideToggle(speed||'normal');}
else $(this).find('>ul').toggle();$(this).toggleClass('collapsed')
fixIe()}}).renderAsTreeItem(prefs).eq(0).addClass('firstnode')
if(struct){var theclass=$('ul#'+objId).attr('class').replace('dmxtree','dmxtree ')
$('ul#'+objId).css('backgroundColor',bgcolor).attr('class',theclass+'showStruct').find('li:last-child').addClass('lastItem').css('backgroundColor',bgcolor)}
$('ul#'+objId+'>li:only-child').css('background-image','none')
fixIe()
if(toolbar){$('ul#'+objId).prepend('<div class="toolbar">'+' <a href="javascript:closeToolbar(\''+objId+'\');" class="closelink" title="Close Toolbar">X</a>'+' <span><a href="javascript:expandAll(\''+objId+'\');" class="expandlink">Expand All</a></span>'+' <span><a href="javascript:collapseAll(\''+objId+'\');" class="collapselink">Collapse All</a></span>'+' <br clear="all">'+'</div>').bind("mouseover",function(e){if(this.toolbarTimeout)window.clearTimeout(this.toolbarTimeout);this.toolbarTimeout=window.setTimeout('showToolbar("'+objId+'")',1000);}).bind("mouseout",function(e){if(this.toolbarTimeout)window.clearTimeout(this.toolbarTimeout);this.toolbarTimeout=window.setTimeout('hideToolbar("'+objId+'")',1000);})}});}
function dumpObject(o)
{var str='';for(var x in o){str+='\n'+x+' = '+o[x];}
return str;}
jQuery.fn.renderAsTreeItem=function(prefs){return this.each(function(i){if(prefs.clickOn=='row'){$(this).bind("click",function(ev){var e=ev||window.event;var tgt=e.target||e.srcElement;var prt=tgt.parentNode||'x';if(tgt==this||prt==this)this.toggle();});}
if(prefs.icons){$(this).prepend($(this).find('>img').length>0?'':'<img src="'+getImgPreffix()+'/transparent.gif" class="'+
($(this).find('>ul').length>0?'folder':'file')+'" />');}
if(prefs.bgcolor){$(this).css('backgroundColor',prefs.bgcolor);}
if(prefs.bullets){var li=this;$(this).css('listStyle','none').children('ul').parent().prepend('<div class="'+
(prefs.bullets=='plusminus'?'plusminus':'arrow')+'"'+
(prefs.clickOn=='bullet'?' onclick="this.parentNode.toggle()"':'')+'>&nbsp;</div>');}});};function fixIe(){if(!$.browser.msie)return true;if(parseFloat($.browser.version)<5.5)return true;$('ul.dmxtree').each(function(){var theme='Default';var c=this.className.replace(/ /g,'').replace('dmxtree','').replace('showStruct','');if(c+''!=='')theme=c;$(this).find('img[@src$=transparent.gif]').each(function(){if(this.style.background=='none')return true;var parentStyle=this.parentNode.className||'expanded';switch(this.className){case'folder':this.style.cssText='background:none !important;'+'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\''+
(getImgPreffix(theme)+
(parentStyle.indexOf('collapsed')!=-1?'/folder_closed.png':'/folder_opened.png')+'\', sizingMethod=\'scale\');');break;case'file':this.style.cssText='background:none !important;'+'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\''+
getImgPreffix(theme)+'/file.png\', sizingMethod=\'scale\');';break;default:break;}});$(this).find('img[@src$=.png]').each(function(){this.style.cssText='background:none !important;'+'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\''+
this.src+'\', sizingMethod=\'scale\');';this.setAttribute('width',this.width+'px');this.setAttribute('height',this.height+'px');this.src=getImgPreffix()+'/transparent.gif';});})}
function expandAll(listId){if(!listId)return;$('ul#'+listId+' li.collapsed').removeClass('collapsed').find(' > ul').css('display','block');}
function collapseAll(listId){if(!listId)return;$('ul#'+listId+' li:has(ul)').removeClass('expanded').addClass('collapsed').find(' > ul').css('display','none');}
function showToolbar(listId){if(!listId)return;$('ul#'+listId+'> div.toolbar').css({display:'block'});var treePos=findPos($('ul#'+listId).get(0));$('ul#'+listId+'> div.toolbar').css({top:(treePos[1]>20?(treePos[1]-21):0)+'px',left:treePos[0]+'px',width:$('ul#'+listId).get(0).offsetWidth+'px'}).fadeTo('normal',1.0,function(){})}
function hideToolbar(listId){if(!listId)return;$('ul#'+listId+'> div.toolbar').fadeTo('normal',0,function(){this.style.display='none';})}
function closeToolbar(listId){if(!listId)return;hideToolbar(listId);$('ul#'+listId).each(function(){if(this.toolbarTimeout)window.clearTimeout(this.toolbarTimeout);$(this).unbind('mouseover').unbind('mouseout')});}
function getImgPreffix(theme){if(!theme)var theme='Default';var str=$('head').find('link[@href$="'+theme+'/treestyle.css"]').attr('href');str=str.substr(0,str.lastIndexOf('/'))||'';return str;}
function findPos(obj){if(!obj)return[0,0];var curleft=curtop=0;if(obj.offsetParent){curleft=obj.offsetLeft
curtop=obj.offsetTop
while(obj=obj.offsetParent){curleft+=obj.offsetLeft
curtop+=obj.offsetTop}}
return[curleft,curtop];}
