/*
 Folder View
 Version: 2.0.2
 (c) 2011 DMXzone.com
 @build 25-05-2011 14:54:10
*/
(function(f){function g(a,c){return a.replace(/\{path\}/gi,c.path||"")}function j(a){var c=$(getListRoot(a)),b=c.data("folderViewConfig");if(b){a.toggle=p;$(a).unbind("click.folderView").bind("click.folderView",function(d){d.stopPropagation();$(a).trigger("treeitemclick");if(b.onclick)try{Function("e",g(b.onclick,a)).call(a,d)}catch(l){}if($("> ul",this).length>0){if(b.clickOn=="row"&&d.target&&(d.target==this||d.target.parentNode==this)&&this.toggle(d),$(a).trigger("treefolderclick"),b.onfolderclick)try{Function("e",
g(b.onfolderclick,a)).call(a,d)}catch(e){}}else{$(a).trigger("treefileclick");if(b.onfileclick)try{Function("e",g(b.onfileclick,a)).call(a,d)}catch(f){}if(!$(a).hasClass("selected")&&($("li",c).removeClass("selected"),$(a).addClass("selected"),$(a).trigger("treefileselect"),b.onfileselect))try{Function("e",g(b.onfileselect,a)).call(a,d)}catch(j){}}});if(b.icons){var d=$(">img",a),l=!1;d.length===0&&(l=!0,d=$('<img src="'+k()+'/transparent.gif" />').prependTo(a));if($(">ul",a).length>0){if(l||d[0].className==
"file")d[0].className="folder"}else if(l||d[0].className=="folder")d[0].className="file"}b.bullets&&($(a).css("listStyle","none"),d=$('<div class="'+(b.bullets?b.bullets=="plusminus"?"plusminus":"arrow":"nobullets")+'">&nbsp;</div>'),b.clickOn=="bullet"&&d.click(function(a){this.parentNode.toggle(a)}),$("> ul",a).parent().not(":has(.plusminus, .arrow, .nobullets)").prepend(d.clone(!0)),d=null);b.struct&&(c.addClass("showStruct"),$(a).parent().find("li:last-child").addClass("lastItem").css("backgroundColor",
b.bgcolor),($(a).is(".firstnode")&&$("> ul",a).length>0||$(a).is("li:only-child"))&&$(a).css("backgroundColor","transparent"),$(a).is(".lastItem")&&$(a).css("backgroundColor",b.bgcolor),d=$("> li",c),d.add(c)[d.length===1?"addClass":"removeClass"]("singleRootFolder"));b.bgcolor&&$(c).css({backgroundColor:b.bgcolor})}}function r(a){var c=$("ul#"+a+" ul").not(":visible, :animated");if(c.length<1)m.clear();else{var c=c[0],b=c.parentNode;m.clear().add(function(c){n.call(b,function(){typeof c=="function"&&
c();r(a)})})}c=null}function s(a){var c=$("ul#"+a+" > li > ul:visible").not(":empty, :animated");if(c.length<1)m.clear();else{var c=c[0],b=c.parentNode;m.clear().add(function(c){o.call(b,c);s(a)})}c=null}function t(a){$("ul#"+a+"> div.toolbar").fadeTo("normal",0,function(){this.style.display="none"})}function v(a){a&&(t(a),$("ul#"+a).each(function(){this.toolbarTimeout&&window.clearTimeout(this.toolbarTimeout);$(this).unbind("mouseover").unbind("mouseout")}))}function k(a){a||(a="Default");return a=
(a=$('link[href$="'+a+'/treestyle.css"]').eq(0).attr("href"))?a.substr(0,a.lastIndexOf("/"))||"":""}$('<a href="'+$('head script[src$="ScriptLibrary/dmxFolderView.js"]').attr("src")+'"/>')[0].href.replace(/ScriptLibrary\/dmxFolderView\.js$/,"");var p,n,o;jQuery.fn.folderView=function(a){function c(a){var b=$('<div class="toolbar">').prependTo(a);b.append($('<a href="javascript:void(0);" class="closelink" title="Close Toolbar">X</a>').click(function(){v(a.id)}));b.append($("<span/>").append($('<a href="javascript:void(0);" class="expandlink">Expand All</a>').click(function(){r(a.id)})));
b.append($("<span/>").append($('<a href="javascript:void(0);" class="collapselink">Collapse All</a>').click(function(){s(a.id)})));b.append('<br clear="all" />');$(a).bind("mouseover",function(){this.toolbarTimeout&&window.clearTimeout(this.toolbarTimeout);this.toolbarTimeout=window.setTimeout(function(){var b=a.id;if(b&&(b=$("ul#"+b),b.length===1)){var c=b.offsetParent().offset();b.find("> div.toolbar:hidden").css({display:"block",top:c.top>20?-21:0,left:0,width:b.width()}).fadeTo("normal",1)}},
1E3)}).bind("mouseout",function(){this.toolbarTimeout&&window.clearTimeout(this.toolbarTimeout);this.toolbarTimeout=window.setTimeout(function(){t(a.id)},1E3)})}var b=$.extend({icons:null,bullets:null,clickOn:"row",slide:!1,fade:!1,speed:"normal",struct:!1,bgcolor:"",theme:"Default",toolbar:!1,async:!0,requestParams:{},filter:"",src:""},a||{});$(this).filter("ul.dmxtree[id]").each(function(){var a=$(this);this.load=function(a){var c=$(this),d=c.data("folderViewConfig");d&&a&&c.data("folderViewConfig",
$.extend({},d,{src:a}));d&&d.src&&c.empty().addSubList(d.src,"url",function(){c.trigger("onload");if(b.onload)try{Function(b.onload).call(c)}catch(a){}})};a.data("folderViewConfig",b);a[0].load();b.theme!="Default"&&$(this).addClass(b.theme);$(this).find("li").each(function(){j(this)}).eq(0).addClass("firstnode");$(" > li:only-child",this).css("background-image","none").parent().css("background-image","none");if(b.struct&&!b.bgcolor)b.bgcolor="#FFF";b.struct&&$.browser.msie&&$.browser.version<7&&
$(this).wrap('<span class="showStruct"/>');$(".lastnode",this).css("backgroundColor",b.bgcolor||"transparent");$("li:last-child",this).addClass("lastItem").css("backgroundColor",b.bgcolor||"transparent");b.toolbar&&c(this);folderViewFixIE6(this);!b.src&&b.onload&&(Function(b.onload).call(a),a.trigger("load"))})};f.toggleSubtree=function(a){($("> ul:visible",this).length>0?o:n).call(this,a)};f.openSubTree=function(a){var c=$(getListRoot(this)).data("folderViewConfig");if(c){var b=$(this);b.trigger("beforeopen");
var d=b.data("folderViewDataProvider"),f=c.slide||c.fade?c.speed||"normal":1,u=c.slide?c.fade?"show":"slideDown":"show",q=function(){$("> ul",b)[u](f,function(){b.removeClass("collapsed").trigger("afteropen");folderViewFixIE6(b[0]);b.trigger("focus");typeof a=="function"&&a();c.onfolderopen&&(Function("e",g(c.onfolderopen,b)).call(b),$(b).trigger("treefolderopen"))})};typeof d=="function"?d.call(this,q):q()}};f.closeSubTree=function(a){var c=$(getListRoot(this)).data("folderViewConfig");if(c){var b=
$(this),d=$("> ul",b);b.trigger("beforeclose");d[c.slide?c.fade?"hide":"slideUp":"hide"](c.slide||c.fade?c.speed||"normal":1,function(){b.addClass("collapsed");b.trigger("afterclose");folderViewFixIE6(b[0]);typeof a=="function"&&a();c.onfolderclose&&(Function("e",g(c.onfolderclose,b)).call(b),$(b).trigger("treefolderclose"))})}};p=f.toggleSubtree;n=f.openSubTree;o=f.closeSubTree;f.getListRoot=function(a){var c=null;for($(a).is("ul")&&(c=a);a.parentNode;)a=a.parentNode,a.tagName&&a.tagName.toUpperCase()==
"UL"&&(c=a);return c};$.fn.addSubList=function(a,c,b){var d=$(this);d.is("li")&&(d=$("<ul/>").appendTo(this),j($(this)[0]));d.filter("ul").each(function(){var d=getListRoot(this),f=$(d).data("folderViewConfig");if(f){var g=this;switch(c.toLowerCase()){case "url":if(!f.server)break;$.ajax({type:"GET",url:f.server,data:$.extend(f.requestParams,{dir:a,filter:f.filter}),dataType:"json",async:f.async,success:function(c){var e,i;for(i in c){e=$("<li>"+i+"</li>").attr("tabindex","auto");if(c[i])e[0].path=
a.replace(/\/$/,"")+"/"+i;if(c[i]&&typeof c[i]=="object"){var h=$("<ul/>");e.addClass("collapsed").append(h);e.bind("afterclose",function(a){$("> ul",a.target).empty()});e.bind("beforeopen",function(a){$("> img",a.target).addClass("progress")});e.bind("afteropen",function(a){$("> img",a.target).removeClass("progress")});e.data("folderViewDataProvider",function(a){$("> ul",this).addSubList(this.path,"url",a)})}else e.css({cursor:"default"}),typeof c[i]=="string"&&e.data("folderViewData",{path:a.replace(/\/$/,
"")+"/"+i});$(g).append(e);$(g).find("> li.lastItem").removeClass("lastItem").css("backgroundColor","transparent");j(e[0])}$(d).find("li:last-child").addClass("lastItem").css("backgroundColor",f.bgcolor);folderViewFixIE6(g);b&&b()}});break;case "object":var e,h;for(h in a)try{if(a[h]!=a)e=$("<li>"+h+"</li>"),e[0].propertyValue=a[h],a[h]&&typeof a[h]=="object"?(e.addClass("collapsed").append("<ul/>"),e.bind("afterclose",function(a){$("> ul",a.target).empty()}),e.bind("beforeopen",function(a){$("> img",
a.target).addClass("progress")}),e.bind("afteropen",function(a){$("> img",a.target).removeClass("progress")}),e.data("folderViewDataProvider",function(a){$("> ul",this).addSubList(this.propertyValue,"object",a)})):(e.css({cursor:"default"}),e.text(h)),$(this).append(e),$(this).find("> li.lastItem").removeClass("lastItem").css("backgroundColor","transparent"),j(e[0])}catch(k){}$(d).find("li:last-child").addClass("lastItem").css("backgroundColor",f.bgcolor);folderViewFixIE6(this);b&&b()}}})};f.dmxListToTree=
function(a){$(function(){$("#"+a.objId).folderView(a)})};f.folderViewFixIE6=function(a){if(!$.browser.msie)return!0;if(parseFloat($.browser.version)<5.5||parseFloat($.browser.version)>=7)return!0;a||(a="ul.dmxtree");$("ul.dmxtree").each(function(){var a="Default",b=this.className.replace(/ /g,"").replace("dmxtree","").replace("showStruct","").replace("singleRootFolder","");b+""!==""&&(a=b);$(this).find("img[src$=transparent.gif]").each(function(){if(this.style.background=="none")return!0;var b=this.parentNode.className||
"expanded";switch(this.className){case "folder":this.style.cssText="background:none !important;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+(k(a)+(b.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='"+k(a)+"/file.png', sizingMethod='scale');"}});$(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=k()+"/transparent.gif"})})};var m=new function(){var a=[],c=!1,b=function(){a.length>0?(c=!0,window.setTimeout(function(){a.shift()(b)},200)):c=!1};this.add=function(d){a.push(d);c||b()};this.clear=function(){a=[];return this}}})(window);

