/*ADOBE SYSTEMS INCORPORATED
Copyright 2007 Adobe Systems Incorporated
All Rights Reserved.

NOTICE:  Adobe permits you to use, modify, and distribute this file in accordance with the
terms of the Adobe license agreement accompanying it.  If you have received this file from a
source other than Adobe, then your use, modification, or distribution of it requires the prior
written permission of Adobe.*/
if(!ColdFusion.Tree){
ColdFusion.Tree={};
}
ColdFusion.Tree.AttributesCollection=function(){
this.cache=true;
this.fontname=null;
this.bold=false;
this.italic=false;
this.completepath=false;
this.appendkey=false;
this.delimiter=null;
this.formname=null;
this.fontsize=null;
this.formparamname=null;
this.prevspanid=null;
this.prevspanbackground=null;
this.images={};
this.images.folder=_cf_ajaxscriptsrc+"/resources/cf/images/FolderClose.gif";
this.images.cd=_cf_ajaxscriptsrc+"/resources/cf/images/Cd.png";
this.images.computer=_cf_ajaxscriptsrc+"/resources/cf/images/Computer.png";
this.images.document=_cf_ajaxscriptsrc+"/resources/cf/images/Document.gif";
this.images.element=_cf_ajaxscriptsrc+"/resources/cf/images/Elements.png";
this.images.floppy=_cf_ajaxscriptsrc+"/resources/cf/images/Floppy.png";
this.images.fixed=_cf_ajaxscriptsrc+"/resources/cf/images/HardDrive.png";
this.images.remote=_cf_ajaxscriptsrc+"/resources/cf/images/NetworkDrive.png";
this.imagesopen={};
this.imagesopen.folder=_cf_ajaxscriptsrc+"/resources/cf/images/FolderOpen.gif";
this.imagesopen.cd=_cf_ajaxscriptsrc+"/resources/cf/images/Cd.png";
this.imagesopen.computer=_cf_ajaxscriptsrc+"/resources/cf/images/Computer.png";
this.imagesopen.document=_cf_ajaxscriptsrc+"/resources/cf/images/Document.gif";
this.imagesopen.element=_cf_ajaxscriptsrc+"/resources/cf/images/Elements.png";
this.imagesopen.floppy=_cf_ajaxscriptsrc+"/resources/cf/images/Floppy.png";
this.imagesopen.fixed=_cf_ajaxscriptsrc+"/resources/cf/images/HardDrive.png";
this.imagesopen.remote=_cf_ajaxscriptsrc+"/resources/cf/images/NetworkDrive.png";
this.eventcount=0;
this.eventHandlers=new Array();
this.nodeCounter=0;
};
ColdFusion.Tree.refresh=function(_50){
var _51=ColdFusion.objectCache[_50];
var _52=ColdFusion.objectCache[_50+"collection"];
if(!_51||YAHOO.widget.TreeView.prototype.isPrototypeOf(_51)==false){
ColdFusion.handleError(null,"tree.refresh.notfound","widget",[_50],null,null,true);
return;
}
if(!_52.dynLoadFunction){
ColdFusion.Log.info("tree.refresh.statictree","widget");
return;
}
_52.dynLoadFunction.call(null,_51.getRoot());
ColdFusion.Log.info("tree.refresh.success","widget",[_50]);
};
ColdFusion.Tree.getTreeObject=function(_53){
if(!_53){
ColdFusion.handleError(null,"tree.gettreeobject.emptyname","widget",null,null,null,true);
return;
}
var _54=ColdFusion.objectCache[_53];
if(_54==null||YAHOO.widget.TreeView.prototype.isPrototypeOf(_54)==false){
ColdFusion.handleError(null,"tree.gettreeobject.notfound","widget",[_53],null,null,true);
return;
}
return _54;
};
ColdFusion.Tree.loadNodes=function(_55,_56){
var i=0;
var _58=ColdFusion.objectCache[_56.treeid+"collection"];
var _59=ColdFusion.objectCache[_56.treeid];
var _5a;
var _5b=false;
if(_55&&typeof (_55.length)=="number"&&!_55.toUpperCase){
if(_55.length>0&&typeof (_55[0])!="object"){
_5b=true;
}
}else{
_5b=true;
}
if(_5b){
ColdFusion.handleError(_59.onbinderror,"tree.loadnodes.invalidbindvalue","widget",[_56.treeid]);
return;
}
if(_56.parent&&!_56.parent.isRoot()){
_59.removeChildren(_56.parent);
}else{
if(_56.parent&&_56.parent.hasChildren()){
_59.removeChildren(_56.parent);
_56.parent=_59.getRoot();
}
}
if(!_56.parent.leafnode){
for(i=0;i<_55.length;i++){
var _5c=_58.nodeCounter++;
var _5d={};
_5d.id=_55[i].VALUE;
if(typeof (_55[i].DISPLAY)==undefined||_55[i].DISPLAY==null){
_5d.label=_55[i].VALUE;
}else{
_5d.label=_55[i].DISPLAY;
}
_5d.expand=_55[i].EXPAND;
_5d.appendkey=_55[i].APPENDKEY;
_5d.href=_55[i].HREF;
_5d.img=_55[i].IMG;
_5d.imgOpen=_55[i].IMGOPEN;
_5d.imgid="_cf_image"+_5c;
_5d.spanid="_cf_span"+_5c;
_5d.target=_55[i].TARGET;
if(_58.appendkey&&_58.appendkey==true&&_5d.href){
var _5e=new String(_5d.href);
_5e=_5e.toLowerCase();
if(_5e.indexOf("javascript")<0){
if(_5e.indexOf("?")>=0){
_5d.href=_55[i].HREF+"&";
}else{
_5d.href=_55[i].HREF+"?";
}
_5d.href=_5d.href+"CFTREEITEMKEY="+_5d.id;
}
}
var _5f="";
if(_5d.img){
if(_58.images[_5d.img]){
_5f="<img src='"+_58.images[_5d.img]+"' id='"+_5d.imgid+"' style='border:0'/>&nbsp;";
}else{
_5f="<img src='"+_5d.img+"' id='"+_5d.imgid+"' style='border:0'/>&nbsp;";
}
}
if(_58.fontname||_58.italic==true||_58.bold==true||_58.fontsize){
_5f=_5f+"<span id='"+_5d.spanid+"' style='";
if(_58.fontname){
_5f=_5f+"font-family:"+_58.fontname+";";
}
if(_58.italic==true){
_5f=_5f+"font-style:italic;";
}
if(_58.bold==true){
_5f=_5f+"font-weight:bold;";
}
if(_58.fontsize){
_5f=_5f+"font-size:"+_58.fontsize+";";
}
_5f=_5f+"'>"+_5d.label+"</span>";
_5d.label=_5f;
}else{
_5d.label=_5f+"<span id='"+_5d.spanid+"'  >"+_5d.label+"</span>";
}
_5d.childrenFetched=false;
var _60=new YAHOO.widget.TextNode(_5d,_56.parent,false);
var _61=false;
if(_55[i].LEAFNODE&&_55[i].LEAFNODE==true){
_61=true;
_60.leafnode=true;
_60.iconMode=1;
}
if(_61==true||(_5d.expand&&_5d.expand==true)){
_60.expand();
}
}
}
if(!_56.parent.isRoot()){
_56.parent.data.childrenFetched=true;
}
if(_56.onCompleteCallBack){
_56.onCompleteCallBack.call();
}else{
_56.parent.tree.draw();
}
ColdFusion.Log.info("tree.loadnodes.success","widget",[_56.treeid]);
};
ColdFusion.Tree.onExpand=function(_62){
if(_62.isRoot()){
return;
}
var _63=ColdFusion.objectCache[_62.tree.id+"collection"];
if(_62.data.imgOpen&&typeof (_62.leafnode)=="undefined"){
var _64=ColdFusion.DOM.getElement(_62.data.imgid,_62.tree.id);
var src;
if(_63.imagesopen[_62.data.imgOpen]){
src=_63.imagesopen[_62.data.imgOpen];
}else{
src=_62.data.imgOpen;
}
_64.src=src;
}
if(_63.cache==false&&_62.data.childrenFetched==false&&_63.dynLoadFunction){
_62.tree.removeChildren(_62);
}
};
ColdFusion.Tree.onCollapse=function(_66){
if(_66.isRoot()){
return;
}
var _67=ColdFusion.objectCache[_66.tree.id+"collection"];
if(_66.data.img){
var _68=ColdFusion.DOM.getElement(_66.data.imgid,_66.tree.id);
var src;
if(_67.images[_66.data.img]){
src=_67.images[_66.data.img];
}else{
src=_66.data.img;
}
_68.src=src;
}
_66.data.childrenFetched=false;
};
ColdFusion.Tree.formPath=function(_6a,_6b){
var _6c=ColdFusion.objectCache[_6a.tree.id+"collection"];
if(_6c.completepath==true&&_6a.isRoot()){
return "";
}else{
if(_6c.completepath==false&&_6a.parent.isRoot()){
return "";
}
}
if(!_6b){
_6b=_6a;
}
var _6d=ColdFusion.Tree.formPath(_6a.parent,_6b);
_6d=_6d+_6a.data.id;
if(_6b.data.id!=_6a.data.id){
_6d=_6d+_6c.delimiter;
}
return _6d;
};
ColdFusion.Tree.onLabelClick=function(_6e){
var _6f="";
var _70=ColdFusion.objectCache[_6e.tree.id+"collection"];
var _6f=ColdFusion.Tree.formPath(_6e);
if(_70.prevspanid){
var _71=ColdFusion.DOM.getElement(_70.prevspanid,_6e.tree.id);
if(_71.style){
_71.style.backgroundColor=_70.prevspanbackground;
}
}
var _72=ColdFusion.DOM.getElement(_6e.data.spanid,_6e.tree.id);
if(_72&&_72.style){
_70.prevspanbackground=_72.style.backgroundColor;
}
_72.style.backgroundColor="lightblue";
_70.prevspanid=_6e.data.spanid;
_6e.tree._cf_path=_6f;
_6e.tree._cf_node=_6e.data.id;
var val="PATH="+_6f+"; NODE="+_6e.data.id;
updateHiddenValue(val,_70.formname,_70.formparamname);
ColdFusion.Tree.fireSelectionChangeEvent(_6e.tree.id,_70.formname);
};
ColdFusion.Tree.fireSelectionChangeEvent=function(id,_75){
ColdFusion.Log.info("tree.fireselectionchangeevent.fire","widget",[id]);
ColdFusion.Event.callBindHandlers(id,_75,"change");
};
ColdFusion.Tree.getObject=function(_76){
var _77={};
_77.id=_76.value;
if(_76.href&&_76.href!="null"){
_77.href=_76.href;
}
_77.target=_76.target;
_77.label=_76.label;
_77.display=_76.display;
_77.img=_76.img;
_77.imgOpen=_76.imgOpen;
_77.imgid=_76.imgid;
_77.spanid=_76.spanid;
_77.childrenfetched=_76.childrenfetched;
return _77;
};
ColdFusion.Tree.initializeTree=function(_78,_79,_7a,_7b,_7c,_7d,_7e,_7f,_80,_81,_82,_83){
var _84=new YAHOO.widget.TreeView(_78);
_84.subscribe("expand",ColdFusion.Tree.onExpand);
_84.subscribe("collapse",ColdFusion.Tree.onCollapse);
_84.subscribe("labelClick",ColdFusion.Tree.onLabelClick);
_84._cf_getAttribute=function(_85){
_85=_85.toUpperCase();
if(_85=="PATH"){
return _84._cf_path;
}else{
if(_85=="NODE"){
return _84._cf_node;
}else{
return null;
}
}
};
_84.onbinderror=_81;
ColdFusion.objectCache[_78]=_84;
var _86=new ColdFusion.Tree.AttributesCollection();
_86.cache=_79;
_86.italic=_7a;
_86.bold=_7b;
_86.completepath=_7c;
_86.delimiter=_7e;
_86.appendkey=_7d;
_86.formname=_7f;
_86.formparamname=_80;
_86.fontsize=_82;
_86.fontname=_83;
ColdFusion.objectCache[_78+"collection"]=_86;
ColdFusion.Log.info("tree.initializetree.success","widget",[_78]);
return _84;
};

