var InnoTree={};InnoTree.isIE=(navigator.userAgent.indexOf("MSIE")>-1);InnoTree.isOP=(navigator.userAgent.indexOf("Opera")>-1);InnoTree.isNN=(navigator.userAgent.indexOf("Firefox")>-1||navigator.userAgent.indexOf("Netscape")>-1);InnoTree.isSF=(navigator.userAgent.indexOf("Safari")>-1);InnoTree.Tree=function(opts){var ref=this;var selectedNode=null;var timer;if(opts.container==null){return false;}if(opts.url==null){return false;}if(typeof(opts.container)=="string"){opts.container=document.getElementById(opts.container);}this.url=opts.url;this.container=opts.container;if(opts.selection){ref.container.onclick=function(evt){var src,node;if(document.all){src=event.srcElement;}else{src=evt.target;}if(src.tagName.toLowerCase()!="span"){return false;}var nodeBody=InnoTree.getParent(src,"tbody");var nodeRow=InnoTree.getParent(src,"tr");var nodeCell=InnoTree.getParent(src,"td");var parentNode=InnoTree.getParent(nodeBody,"tr");if(parentNode==null){parentNode=-1;}else{parentNode=parentNode.id;}if(nodeBody.className.indexOf("node")>-1){subnodeRow=InnoTree.getNextSibling(InnoTree.getParent(src,"tr"));if(nodeBody.className.indexOf("close")>-1){nodeBody.className=nodeBody.className.replace("close","open");if(subnodeRow.className.indexOf("load")>-1){ref.loader(nodeBody,subnodeRow);}}else{if(src.className.indexOf("label")==-1){nodeBody.className=nodeBody.className.replace("open","close");}}}else{if(opts.selection=="single"){if(selectedNode!=null){selectedNode.getElementsByTagName("tr")[0].className=selectedNode.getElementsByTagName("tr")[0].className.replace(/select/gi,"");}nodeRow.className+=" select";selectedNode=nodeBody;if(opts.callback){opts.callback(nodeBody.id,InnoTree.getLastChild(InnoTree.getLastChild(nodeRow)).innerHTML);}}else{if(opts.selection=="multiple"){if(nodeRow.className.indexOf("select")==-1){nodeRow.className+=" select";if(opts.callback){opts.callback(nodeBody.id,InnoTree.getLastChild(InnoTree.getLastChild(nodeRow)).innerHTML,true);}}else{nodeRow.className=nodeRow.className.replace(/select/gi,"");if(opts.callback){opts.callback(nodeBody.id,InnoTree.getLastChild(InnoTree.getLastChild(nodeRow)).innerHTML,false);}}}}}function ishidden(o){try{o.focus();}catch(e){return true;}return false;}};}else{ref.container.onclick=function(evt){var src,node;if(document.all){src=event.srcElement;}else{src=evt.target;}if(src.tagName.toLowerCase()!="span"){return false;}var nodeBody=InnoTree.getParent(src,"tbody");var nodeRow=InnoTree.getParent(src,"tr");var nodeCell=InnoTree.getParent(src,"td");var parentNode=InnoTree.getParent(nodeBody,"tr");if(parentNode==null){parentNode=-1;}else{parentNode=parentNode.id;}if(nodeBody.className.indexOf("node")>-1){subnodeRow=InnoTree.getNextSibling(InnoTree.getParent(src,"tr"));if(src.className.indexOf("icon")!=-1&&nodeBody.className.indexOf("close")>-1){nodeBody.className=nodeBody.className.replace("close","open");if(subnodeRow.className.indexOf("load")>-1){ref.loader(nodeBody,subnodeRow);}}else{if(src.className.indexOf("label")==-1){nodeBody.className=nodeBody.className.replace("open","close");}}if(src.className.indexOf("label")>-1){if(selectedNode!=null){selectedNode.getElementsByTagName("tr")[0].className=selectedNode.getElementsByTagName("tr")[0].className.replace(/select/gi,"");}nodeRow.className+=" select";selectedNode=nodeBody;if(opts.callback){opts.callback(nodeBody.id,parentNode);}}else{if(selectedNode!=null&&(document.all?ishidden(selectedNode):selectedNode.offsetWidth==0)){selectedNode.getElementsByTagName("tr")[0].className=selectedNode.getElementsByTagName("tr")[0].className.replace(/select/gi,"");nodeRow.className+=" select";selectedNode=nodeBody;}}}else{if(selectedNode!=null){selectedNode.getElementsByTagName("tr")[0].className=selectedNode.getElementsByTagName("tr")[0].className.replace(/select/gi,"");}nodeRow.className+=" select";selectedNode=nodeBody;if(opts.callback){opts.callback(nodeBody.id,parentNode);}}function ishidden(o){try{o.focus();}catch(e){return true;}return false;}};}if(opts.selected&&opts.selection=="single"){var select=InnoTree.getInnerElementById(ref.container,"tbody",opts.selected);if(select){selectedNode=select;InnoTree.getFirstChild(selectedNode).className+=" select";}}if(opts.selected&&opts.selection=="multiple"){var selected=opts.selected.split(",");for(var count=0;count<selected.length;count++){if(selected[count]==""){continue;}var select=InnoTree.getInnerElementById(ref.container,"tbody","leaf_"+selected[count]);if(select){InnoTree.getFirstChild(select).className+=" select";opts.callback(select.id,InnoTree.getLastChild(InnoTree.getLastChild(InnoTree.getFirstChild(select))).innerHTML,true);}}}this.loader=function(nb,obj,fn){var snr=nb.getElementsByTagName("tr")[1];var snc=snr.getElementsByTagName("td")[1];var id=parseFloat(nb.id.split("_")[1]);snr.style.display="";function response(resp){snc.innerHTML=resp.responseText;if(obj!=null){obj.className=obj.className.replace("load","");}if(InnoTree.isIE&&!InnoTree.getFirstChild(snc).hasChildNodes()){snr.style.display="none";}if(!InnoTree.isIE&&!InnoTree.getFirstChild(snc).hasChildNodes()){snr.style.display="none";}if(fn){fn();}}InnoTree.AjaxRequest(ref.url+"&parentFolderId="+id,{success:response});};this.selectNode=function(id){var select=InnoTree.getInnerElementById(ref.container,"tbody","node_"+id.split("_")[1]);if(select){if(selectedNode!=null){selectedNode.getElementsByTagName("tr")[0].className=selectedNode.getElementsByTagName("tr")[0].className.replace(/select/gi,"");}selectedNode=select;var parentNode=InnoTree.getParent(selectedNode,"tr");InnoTree.getFirstChild(selectedNode).className+=" select";if(opts.callback){opts.callback(selectedNode.id,parentNode.id);}}};this.selectLeaf=function(id){var select=InnoTree.getInnerElementById(ref.container,"tbody","leaf_"+id.split("_")[1]);if(select){if(selectedNode!=null){selectedNode.getElementsByTagName("tr")[0].className=selectedNode.getElementsByTagName("tr")[0].className.replace(/select/gi,"");}selectedNode=select;var parentNode=InnoTree.getParent(selectedNode,"tr");InnoTree.getFirstChild(selectedNode).className+=" select";if(opts.callback){opts.callback(selectedNode.id,parentNode);}}};this.deleteNode=function(id){var node=InnoTree.getInnerElementById(this.container,"tbody",id);node.parentNode.removeChild(node);};this.reloadNode=function(id,selected){var node=InnoTree.getInnerElementById(this.container,"tbody","node_"+id.split("_")[1]);var selectNew=function(){if(selected!=null&&selected!=""){ref.selectLeaf(selected);}nodeBody.className=nodeBody.className.replace("close","open");};ref.loader(node,null,selectNew);};this.setCurrentLabel=function(newlabel){InnoTree.getLastChild(InnoTree.getLastChild(InnoTree.getFirstChild(selectedNode))).innerHTML=newlabel;};};InnoTree.getParent=function(obj,tag){obj=obj.parentNode;while(obj!=null&&obj.tagName!=tag.toUpperCase()){obj=obj.parentNode;}return obj;};InnoTree.getFirstChild=function(obj){if(!obj.hasChildNodes()){return null;}if(obj.firstChild.nodeName=="#text"){return obj.firstChild.nextSibling;}else{return obj.firstChild;}};InnoTree.getLastChild=function(obj){if(!obj.hasChildNodes()){return null;}if(obj.lastChild.nodeName=="#text"){return obj.lastChild.previousSibling;}else{return obj.lastChild;}};InnoTree.getPreviousSibling=function gps(obj){if(!obj.previousSibling){return null;}if(obj.previousSibling.nodeName=="#text"){return obj.previousSibling.previousSibling;}else{return obj.previousSibling;}};InnoTree.getNextSibling=function gns(obj){if(!obj.nextSibling){return null;}if(obj.nextSibling.nodeName=="#text"){return obj.nextSibling.nextSibling;}else{return obj.nextSibling;}};InnoTree.getInnerElementById=function(obj,tag,id){var children=null;if(tag==null){children=obj.childNodes;}else{children=obj.getElementsByTagName(tag);}for(var count=0;count<children.length;count++){if(children[count].nodeName!="#text"&&children[count].nodeName!="#comment"){if(children[count].id==id){return children[count];}}}return null;};InnoTree.AjaxRequest=function(url,callback){function CreateHttpRequest(){try{return new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP");}catch(e){}try{return new XMLHttpRequest();}catch(e){}showJSError("Browser does not support HTTP Request",null);return null;}function sendRequest(url,method){var xmlHttpObject=CreateHttpRequest();xmlHttpObject.onreadystatechange=function(){if(xmlHttpObject.readyState==4||xmlHttpObject.readyState=="complete"){if(xmlHttpObject.status==200){if(method.success!=null){method.success(xmlHttpObject);}}else{if(method.failure!=null){method.failure(xmlHttpObject);}}xmlHttpObject=null;}};xmlHttpObject.open("POST",url,true);xmlHttpObject.setRequestHeader("Content-type","application/x-www-form-urlencoded");xmlHttpObject.setRequestHeader("Content-length",0);xmlHttpObject.send(null);}sendRequest(url,callback);};
