// Copyright 2009, BMT Defence Services Ltd, All rights reserved.
var omTreeview=new Object();
function treeviewGet(zTreeviewID){return omTreeview[zTreeviewID].DOMObject;}
function treeviewLoad(zTreeviewID,oClick,oContextMenu,oCheckboxClick){omTreeview[zTreeviewID]=new Object();omTreeview[zTreeviewID].Treeview=new Object();omTreeview[zTreeviewID].Treeview.TreeviewID=zTreeviewID;omTreeview[zTreeviewID].Treeview.Parameters=new Object();omTreeview[zTreeviewID].DOMObject=document.getElementById(zTreeviewID+"_divTreeview");$addHandler(omTreeview[zTreeviewID].DOMObject,"click",function(){treeviewFindHide(this);});var opAnchor=omTreeview[zTreeviewID].DOMObject.firstChild;opAnchor.className="treeviewAnchor";$addHandler(opAnchor,"click",function(){treeviewClick(this);});$addHandler(opAnchor,"contextmenu",function(){treeviewContextMenu(this);});$addHandler(opAnchor,"keydown",function(){treeviewKeyDown(this);});$addHandler(omTreeview[zTreeviewID].DOMObject,"scroll",function(){treeviewFindScroll(this);});$addHandler(omTreeview[zTreeviewID].DOMObject,"resize",function(){treeviewFindResize(this);});if(omTreeview[zTreeviewID].DOMObject.ServerRender)omTreeview[zTreeviewID].Treeview.ServerRender=(omTreeview[zTreeviewID].DOMObject.ServerRender=="true");else omTreeview[zTreeviewID].Treeview.ServerRender=false;if(omTreeview[zTreeviewID].DOMObject.DataService)omTreeview[zTreeviewID].DataService=omTreeview[zTreeviewID].DOMObject.DataService;else omTreeview[zTreeviewID].DataService="TreeviewLoad";if(omTreeview[zTreeviewID].DOMObject.NodeIndent)omTreeview[zTreeviewID].Treeview.NodeIndent=omTreeview[zTreeviewID].DOMObject.NodeIndent;else omTreeview[zTreeviewID].Treeview.NodeIndent="16px";if(oClick)omTreeview[zTreeviewID].OnClick=oClick;if(oContextMenu)omTreeview[zTreeviewID].OnContextMenu=oContextMenu;if(oCheckboxClick)omTreeview[zTreeviewID].OnCheckboxClick=oCheckboxClick;if(omTreeview[zTreeviewID].DOMObject.SelectedImage)omTreeview[zTreeviewID].Treeview.SelectedImage=omTreeview[zTreeviewID].DOMObject.SelectedImage;else omTreeview[zTreeviewID].Treeview.SelectedImage=bmtWebResolveURL("~/Controls/Treeview/TreeviewSelectedBg.gif");if(omTreeview[zTreeviewID].DOMObject.HoverImage)omTreeview[zTreeviewID].Treeview.HoverImage=omTreeview[zTreeviewID].DOMObject.HoverImage;else omTreeview[zTreeviewID].Treeview.HoverImage=bmtWebResolveURL("~/Controls/Treeview/TreeviewHoverBg.gif");if(omTreeview[zTreeviewID].DOMObject.NodeCSSClass)omTreeview[zTreeviewID].Treeview.NodeCSSClass=omTreeview[zTreeviewID].DOMObject.NodeCSSClass;else omTreeview[zTreeviewID].Treeview.NodeCSSClass="treeviewNode";if(omTreeview[zTreeviewID].DOMObject.ImageCSSClass)omTreeview[zTreeviewID].Treeview.ImageCSSClass=omTreeview[zTreeviewID].DOMObject.ImageCSSClass;else omTreeview[zTreeviewID].Treeview.ImageCSSClass="treeviewImage";if(omTreeview[zTreeviewID].DOMObject.ExpandImage)omTreeview[zTreeviewID].Treeview.ExpandImage=omTreeview[zTreeviewID].DOMObject.ExpandImage;else omTreeview[zTreeviewID].Treeview.ExpandImage=bmtWebResolveURL("~/Controls/Treeview/Expand.gif");if(omTreeview[zTreeviewID].DOMObject.ExpandedImage)omTreeview[zTreeviewID].Treeview.ExpandedImage=omTreeview[zTreeviewID].DOMObject.ExpandedImage;else omTreeview[zTreeviewID].Treeview.ExpandedImage=bmtWebResolveURL("~/Controls/Treeview/Expanded.gif");if(omTreeview[zTreeviewID].DOMObject.CollapseImage)omTreeview[zTreeviewID].Treeview.CollapseImage=omTreeview[zTreeviewID].DOMObject.CollapseImage;else omTreeview[zTreeviewID].Treeview.CollapseImage=bmtWebResolveURL("~/Controls/Treeview/Collapse.gif");if(omTreeview[zTreeviewID].DOMObject.ExpandImageCSSClass)omTreeview[zTreeviewID].Treeview.ExpandImageCSSClass=omTreeview[zTreeviewID].DOMObject.ExpandImageCSSClass;else omTreeview[zTreeviewID].Treeview.ExpandImageCSSClass="treeviewExpandImage";}
function treeviewAddNode(zTreeviewID,zParentNodeID,zNodeID,zImageURL,zNodeText,lChildren,zNodeHTML,zCSSClass,zImageCSSClass,zAlternateImage,bCheckbox,bExpanded,oAttributes){if(zParentNodeID==""||!zParentNodeID)var opDivChildren=omTreeview[zTreeviewID].DOMObject.firstChild;else{var opDivChildren=controlGetElement(zTreeviewID+"_"+zParentNodeID+"_children");var opDiv=controlGetElement(zTreeviewID+"_"+zParentNodeID);treeviewUpdateChildCount(zTreeviewID,opDiv,opDivChildren);}opDivChildren.appendChild(treeviewClientRender(zTreeviewID,opDivChildren,zNodeID,zImageURL,zNodeText,lChildren,zNodeHTML,zCSSClass,zImageCSSClass,zAlternateImage,bCheckbox,bExpanded,oAttributes));}
function treeviewEditNode(zTreeviewID,zNodeID,zNodeText,zNodeHTML,zCSSClass,zImageURL){var opDiv=controlGetElement(zTreeviewID+"_"+zNodeID);var opTR=opDiv.firstChild.firstChild.firstChild;var opTable=opTR.children[opTR.children.length-1].firstChild;var opTD=opTable.firstChild.firstChild.children[1];if(zCSSClass){opTable.CSSClass=zCSSClass;if(omTreeview[zTreeviewID].SelectedNode==opTable)opTable.className=zCSSClass+"Selected";else if(omTreeview[zTreeviewID].HoverNode==opTable)opTable.className=zCSSClass+"Hover";else opTable.className=zCSSClass;}if(zNodeHTML&&zNodeHTML!="")opTD.innerHTML=zNodeHTML;else{opTD.innerText="";var opTextNode=document.createTextNode(zNodeText);opTD.appendChild(opTextNode);}if(zImageURL&&zImageURL!=""){opTable.firstChild.firstChild.firstChild.children[0].src=zImageURL;}opTR.children[opTR.children.length-1].firstChild.firstChild.firstChild.firstChild.alt=zNodeText;}
function treeviewDeleteNode(zTreeviewID,zNodeID){var opDiv;opDiv=controlGetElement(zTreeviewID+"_"+zNodeID);if(opDiv){var opTR=opDiv.firstChild.firstChild.firstChild;var opTable=opTR.children[opTR.children.length-1].firstChild;if(omTreeview[zTreeviewID].SelectedNode){if(opTable==omTreeview[zTreeviewID].SelectedNode){delete omTreeview[zTreeviewID].SelectedNode;delete omTreeview[zTreeviewID].SelectedNodeID;}}if(omTreeview[zTreeviewID].HoverNode){if(opTable==omTreeview[zTreeviewID].HoverNode){delete omTreeview[zTreeviewID].HoverNode;delete omTreeview[zTreeviewID].HoverNodeID;}}if(opDiv.parentNode.children.length==1){var opImageCell=opDiv.parentNode.parentNode.firstChild.firstChild.firstChild.firstChild;opImageCell.firstChild.src=omTreeview[zTreeviewID].Treeview.ExpandedImage;opImageCell.firstChild.alt="";opDiv.parentNode.style.display="none";}opDiv.parentNode.parentNode.ChildCount=opDiv.parentNode.children.length-1;opDiv.parentNode.removeChild(opDiv);}treeviewCheckDelete(zTreeviewID);}
function treeviewClear(zTreeviewID){opDiv=omTreeview[zTreeviewID].DOMObject;opDiv.firstChild.innerHTML="";delete omTreeview[zTreeviewID].SelectedNode;delete omTreeview[zTreeviewID].SelectedNodeID;delete omTreeview[zTreeviewID].HoverNode;delete omTreeview[zTreeviewID].HoverNodeID;}
function treeviewSelectNode(zTreeviewID,zNodeID){var opNode=controlGetElement(zTreeviewID+"_"+zNodeID);if(opNode){var opOldSelectedNode;if(omTreeview[zTreeviewID].SelectedNode){opOldSelectedNode=omTreeview[zTreeviewID].SelectedNode;}if(omTreeview[zTreeviewID].HoverNode){treeviewNodeMouseOut(omTreeview[zTreeviewID].HoverNode);}omTreeview[zTreeviewID].SelectedNodeID=zNodeID;var opTR=opNode.firstChild.firstChild.firstChild;omTreeview[zTreeviewID].SelectedNode=opTR.children[opTR.children.length-1].firstChild;if(opOldSelectedNode){omTreeview[zTreeviewID].HoverNode=opOldSelectedNode;treeviewNodeMouseOut(opOldSelectedNode);}omTreeview[zTreeviewID].HoverNodeID=zNodeID;omTreeview[zTreeviewID].HoverNode=omTreeview[zTreeviewID].SelectedNode;treeviewNodeMouseOut(omTreeview[zTreeviewID].SelectedNode);treeviewEnsureVisible(zTreeviewID,omTreeview[zTreeviewID].SelectedNode);return true;}else return false;}
function treeviewRefreshNode(zTreeviewID,zNodeID){var zpNodeID;if(zNodeID)zpNodeID=zNodeID;else{if(omTreeview[zTreeviewID].HoverNodeID)zpNodeID=omTreeview[zTreeviewID].HoverNodeID;else zpNodeID=omTreeview[zTreeviewID].SelectedNodeID;}if(zpNodeID){var opDivChidren=controlGetElement(zTreeviewID+"_"+zpNodeID+"_children");if(opDivChidren){opDivChidren.innerHTML="";var opDiv=controlGetElement(zTreeviewID+"_"+zpNodeID);opDiv.Expanded="0";opDiv.ChildCount=1;treeviewExpand(opDiv.firstChild.firstChild.firstChild.firstChild);treeviewCheckDelete(zTreeviewID);}}}
function treeviewResize(zTreeviewID,zWidth,zHeight){if(zWidth&&zWidth!="")omTreeview[zTreeviewID].DOMObject.style.width=zWidth;if(zHeight&&zHeight!="")omTreeview[zTreeviewID].DOMObject.style.height=zHeight;}
function treeviewNodeLoaded(zTreeviewID,zNodeID){if(!zNodeID){var opAnchor=controlGetElement(zTreeviewID+"_aTreeview");if(opAnchor.children.length==0)return false;else return true;}else{var opDiv=controlGetElement(zTreeviewID+"_"+zNodeID);if(opDiv){var opDivChildren=opDiv.children[1];if(parseInt(opDiv.ChildCount)>0&&opDivChildren.children.length==0)return false;else return true;}else return false;}}
function treeviewExpandNode(zTreeviewID,zNodeID,oAfterExpand){var opDiv=controlGetElement(zTreeviewID+"_"+zNodeID);if(oAfterExpand)omTreeview[zTreeviewID].OnAfterExpand=oAfterExpand;if(parseInt(opDiv.Expanded)==0){treeviewExpand(opDiv.firstChild.firstChild.firstChild.firstChild);}}
function treeviewCollapseNode(zTreeviewID,zNodeID){var opDiv=controlGetElement(zTreeviewID+"_"+zNodeID);if(parseInt(opDiv.Expanded)==1){treeviewExpand(opDiv.firstChild.firstChild.firstChild.firstChild);}}
function treeviewToggleNode(zTreeviewID,zNodeID,oAfterExpand){var opDiv=controlGetElement(zTreeviewID+"_"+zNodeID);treeviewExpand(opDiv.firstChild.firstChild.firstChild.firstChild);}
function treeviewSetProperty(zTreeviewID,zProperty,oValue){if(omTreeview[zTreeviewID].Treeview[zProperty])omTreeview[zTreeviewID].Treeview[zProperty]=oValue;else omTreeview[zTreeviewID][zProperty]=oValue;}
function treeviewGetProperty(zTreeviewID,zProperty){if(omTreeview[zTreeviewID][zProperty])return omTreeview[zTreeviewID][zProperty];else return omTreeview[zTreeviewID].Treeview[zProperty];}
function treeviewSetOnClick(zTreeviewID,oFunction){omTreeview[zTreeviewID].OnClick=oFunction;}
function treeviewSetOnContextMenu(zTreeviewID,oFunction){omTreeview[zTreeviewID].OnContextMenu=oFunction;}
function treeviewSetOnCheckboxClick(zTreeviewID,oFunction){omTreeview[zTreeviewID].OnCheckboxClick=oFunction;}
function treeviewSetCheckboxClick(zTreeviewID,zNodeID,bChecked){var opDiv=controlGetElement(zTreeviewID+"_"+zNodeID);var opTR=opDiv.firstChild.firstChild.firstChild;opTR.children[opTR.children.length-1].firstChild.checked=bChecked;}
function treeviewAddParameter(zTreeviewID,zParameter,zValue){omTreeview[zTreeviewID].Treeview.Parameters[zParameter]=zValue;}
function treeviewClearParameter(zTreeviewID,zParameter){delete omTreeview[zTreeviewID].Treeview.Parameters[zParameter];}
function treeviewClearParameters(zTreeviewID){omTreeview[zTreeviewID].Treeview.Parameters=new Object();}
function treeviewMoveNodeAfter(zTreeviewID,zNodeID,zSiblingNodeID){var opDiv=controlGetElement(zTreeviewID+"_"+zNodeID);var opDivSibling=controlGetElement(zTreeviewID+"_"+zSiblingNodeID);var opDivChildren=opDiv.parentNode;var opDivSiblingChildren=opDivSibling.parentNode;var opDivParent=opDiv.parentNode.parentNode;var opDivSiblingParent=opDivSibling.parentNode.parentNode;var opNewDiv=opDiv.cloneNode(opDiv,true);treeviewClearHighlight(opNewDiv);treeviewDeleteNode(zTreeviewID,zNodeID);if(opDivSibling.nextSibling)opDivSibling.parentNode.insertBefore(opNewDiv,opDivSibling.nextSibling);else opDivSibling.parentNode.appendChild(opNewDiv);treeviewUpdateChildCount(zTreeviewID,opDivSibling.parentNode.parentNode,opDivSibling.parentNode);}
function treeviewMoveNodeBefore(zTreeviewID,zNodeID,zSiblingNodeID){var opDiv=controlGetElement(zTreeviewID+"_"+zNodeID);var opDivSibling=controlGetElement(zTreeviewID+"_"+zSiblingNodeID);var opDivChildren=opDiv.parentNode;var opDivSiblingChildren=opDivSibling.parentNode;var opDivParent=opDiv.parentNode.parentNode;var opDivSiblingParent=opDivSibling.parentNode.parentNode;var opNewDiv=opDiv.cloneNode(opDiv,true);treeviewClearHighlight(opNewDiv);treeviewDeleteNode(zTreeviewID,zNodeID);opDivSibling.parentNode.insertBefore(opNewDiv,opDivSibling);treeviewUpdateChildCount(zTreeviewID,opDivSibling.parentNode.parentNode,opDivSibling.parentNode);}
function treeviewMoveNode(zTreeviewID,zNodeID,zParentNodeID){var opDiv=controlGetElement(zTreeviewID+"_"+zNodeID);var opDivOriginalParent=opDiv.parentNode.parentNode;var opDivParent=controlGetElement(zTreeviewID+"_"+zParentNodeID);var opDivParentChildren=controlGetElement(zTreeviewID+"_"+zParentNodeID+"_children");var opNewDiv=opDiv.cloneNode(opDiv,true);treeviewClearHighlight(opNewDiv);treeviewDeleteNode(zTreeviewID,zNodeID);opDivParentChildren.appendChild(opNewDiv);treeviewUpdateChildCount(zTreeviewID,opDivParent,opDivParentChildren);}
function treeviewMoveNodeUp(zTreeviewID,zNodeID){var opDiv=controlGetElement(zTreeviewID+"_"+zNodeID);if(opDiv.previousSibling){var opPreviousNodeDiv=opDiv.previousSibling;var zpPreviousNodeDivID=opPreviousNodeDiv.getAttribute('id');var zpPreviousNodeID=zpPreviousNodeDivID.substr(zpPreviousNodeDivID.indexOf('_')+1);var lpCurrentSortOrderValue=parseInt(treeviewGetNodeAttribute(zTreeviewID,zNodeID,"SortOrder"));var lpPreviousSortOrderValue=lpCurrentSortOrderValue-1;treeviewSetNodeAttribute(zTreeviewID,zNodeID,"SortOrder",lpPreviousSortOrderValue);treeviewSetNodeAttribute(zTreeviewID,zpPreviousNodeID,"SortOrder",lpCurrentSortOrderValue);opDiv.swapNode(opDiv.previousSibling)}}
function treeviewMoveNodeDown(zTreeviewID,zNodeID){var opDiv=controlGetElement(zTreeviewID+"_"+zNodeID);if(opDiv.nextSibling){var opNextNodeDiv=opDiv.nextSibling;var zpNextNodeDivID=opNextNodeDiv.getAttribute('id');var zpNextNodeID=zpNextNodeDivID.substr(zpNextNodeDivID.indexOf('_')+1);var lpCurrentSortOrderValue=parseInt(treeviewGetNodeAttribute(zTreeviewID,zNodeID,"SortOrder"));var lpNextSortOrderValue=lpCurrentSortOrderValue+1;treeviewSetNodeAttribute(zTreeviewID,zNodeID,"SortOrder",lpNextSortOrderValue);treeviewSetNodeAttribute(zTreeviewID,zpNextNodeID,"SortOrder",lpCurrentSortOrderValue);opDiv.swapNode(opDiv.nextSibling)}}
function treeviewNodeChangeID(zTreeviewID,zNodeID,zNewNodeID){var opDiv=controlGetElement(zTreeviewID+"_"+zNodeID);var opDivChildren=controlGetElement(zTreeviewID+"_"+zNodeID+"_children");opDiv.id=zTreeviewID+"_"+zNewNodeID;opDivChildren.id=zTreeviewID+"_"+zNewNodeID+"_children";}
function treeviewShow(zTreeviewID){controlGetElement(zTreeviewID+"_divTreeview").style.display="block";}
function treeviewHide(zTreeviewID){controlGetElement(zTreeviewID+"_divTreeview").style.display="none";}
function treeviewExists(zTreeviewID){if(controlGetElement(zTreeviewID+"_divTreeview"))return true;else return false;}
function treeviewNodeExists(zTreeviewID,zNodeID){if(controlGetElement(zTreeviewID+"_"+zNodeID))return true;else return false;}
function treeviewNodeIsLoaded(zTreeviewID,zNodeID){var opDiv=controlGetElement(zTreeviewID+"_"+zNodeID);var opDivChildren=controlGetElement(zTreeviewID+"_"+zNodeID+"_children");if(opDiv.ChildCount==0)return true;else return(opDivChildren.children.length!=0);}
function treeviewGetNodeText(zTreeviewID,zNodeID){return controlGetElement(zTreeviewID+"_"+zNodeID).firstChild.innerText;}
function treeviewNodeChildCount(zTreeviewID,zNodeID){var opDiv=controlGetElement(zTreeviewID+"_"+zNodeID);if(opDiv)return opDiv.ChildCount;}
function treeviewGetNodeAttribute(zTreeviewID,zNodeID,zAttribute){var opElement=controlGetElement(zTreeviewID+"_"+zNodeID);if(opElement)return opElement[zAttribute];}
function treeviewSetNodeAttribute(zTreeviewID,zNodeID,zAttribute,zValue){var opElement=controlGetElement(zTreeviewID+"_"+zNodeID);if(opElement)opElement[zAttribute]=zValue;}
function treeviewExecuteTrail(zTreeviewID,zNodeID,oResponseFunction,bDisplayErrors){omTreeview[zTreeviewID].Treeview.NodeID=zNodeID;omTreeview[zTreeviewID].TrailFunction=oResponseFunction;omTreeview[zTreeviewID].TrailPath=zNodeID;omTreeview[zTreeviewID].TrailDisplayErrors=bDisplayErrors;bmtAjaxDataService("TreeviewExecuteTrail",omTreeview[zTreeviewID].Treeview,treeviewExecuteTrailResponse);}
function treeviewSetExecuteTrailDisplayErrors(zTreeview,bDisplayErrors){omTreeview[zTreeview].TrailDisplayErrors=bDisplayErrors;}
function treeviewExecuteTrailResponse(oData){if(oData.ResultStatus){window.status="Done";if(omTreeview[oData.Children.TreeviewID].TrailDisplayErrors)alert(oData.Description);else omTreeview[oData.Children.TreeviewID].TrailFunction.call(null,oData.Children.TreeviewID,oData.Children.TrailPath);}else{var zpTrailPath=oData.NodeID;var zpNodeID="";var opNodes=oData.NodeID.split(",");var opNode;var opChildren;var lpTrailIndex;var lpTrailIndexLength=oData.TrailIndex.length;var bpLoad=false;for(var lpLoop=0;lpLoop<lpTrailIndexLength;lpLoop++){lpNodexIndex=lpTrailIndexLength-lpLoop;if(lpLoop==0){zpNodeID=opNodes[lpNodexIndex];opChildren=oData.Nodes;}else{zpNodeID=opNodes[lpNodexIndex]+","+zpNodeID;opChildren=opChildren[lpTrailIndex].Children;}lpTrailIndex=oData.TrailIndex[lpLoop];if(!treeviewNodeLoaded(oData.TreeviewID,zpNodeID)){oData.NodeID=zpNodeID;oData.Nodes=opChildren;oData.TrailPath=zpTrailPath;treeviewLoadDataResponse(oData);delete oData.TrailPath;bpLoad=true;treeviewExpandNode(oData.TreeviewID,zpNodeID);break;}else{treeviewExpandNode(oData.TreeviewID,zpNodeID);if(lpLoop<lpTrailIndexLength-1){opNode=opChildren[lpTrailIndex];if(!treeviewNodeExists(oData.TreeviewID,opNode.NodeID)){treeviewAddNode(oData.TreeviewID,zpNodeID,opNode.NodeID,opNode.ImageURL,opNode.NodeText,opNode.Children,opNode.NodeHTML,opNode.CSSClass,opNode.ImageCSSClass,opNode.AlternateImage,opNode.Checkbox,opNode.Expanded);oData.NodeID=opNode.NodeID;oData.Nodes=opNode.Children;oData.TrailPath=zpTrailPath;treeviewLoadDataResponse(oData);delete oData.TrailPath;bpLoad=true;treeviewExpandNode(oData.TreeviewID,zpNodeID);break;}}}}if(!bpLoad)omTreeview[oData.TreeviewID].TrailFunction.call(null,oData.TreeviewID,zpTrailPath);}}
function treeviewClearHighlight(oDivNode){var opTR=oDivNode.firstChild.firstChild.firstChild;var opTable=opTR.children[opTR.children.length-1].firstChild;var zpClassName;if(opTable.CSSClass)zpClassName=opTable.CSSClass;else zpClassName=omTreeview[opTable.TreeviewID].Treeview.NodeCSSClass;opTable.className=zpClassName;opTable.style.backgroundImage="";}
function treeviewUpdateChildCount(zTreeviewID,oDiv,oDivChildren){oDivChildren.parentNode.ChildCount=oDivChildren.children.length+1;if(oDivChildren.parentNode.ChildCount==1){if(parseInt(oDiv.Expanded)==0){var opImageCell=oDivChildren.parentNode.firstChild.firstChild.firstChild.firstChild;opImageCell.firstChild.src=omTreeview[zTreeviewID].Treeview.ExpandImage;opImageCell.firstChild.alt="Expand Node";}else{var opImageCell=oDivChildren.parentNode.firstChild.firstChild.firstChild.firstChild;opImageCell.firstChild.src=omTreeview[zTreeviewID].Treeview.CollapseImage;opImageCell.firstChild.alt="Collapse Node";oDivChildren.style.display="block";}}}
function treeviewClick(oAnchor){event.returnValue=false;var zpTreeviewID=oAnchor.parentNode.id.slice(0,oAnchor.parentNode.id.length-String("_divTreeview").length);var opTable=omTreeview[zpTreeviewID].HoverNode;if(opTable){var zpNodeID=opTable.parentNode.parentNode.parentNode.parentNode.parentNode.id;var zpNodeText=opTable.innerText;zpNodeID=zpNodeID.slice(opTable.TreeviewID.length+1,zpNodeID.length);var opOldNode;if(omTreeview[opTable.TreeviewID].HoverNode)treeviewNodeMouseOut(omTreeview[opTable.TreeviewID].HoverNode);if(omTreeview[opTable.TreeviewID].SelectedNode){if(omTreeview[opTable.TreeviewID].SelectedNode!=opTable){opOldNode=omTreeview[opTable.TreeviewID].SelectedNode;}}omTreeview[opTable.TreeviewID].SelectedNode=opTable;omTreeview[opTable.TreeviewID].SelectedNodeID=zpNodeID;if(opOldNode){omTreeview[opTable.TreeviewID].HoverNode=opOldNode;omTreeview[opTable.TreeviewID].HoverNodeID=opOldNode.parentNode.parentNode.parentNode.parentNode.parentNode.id;treeviewNodeMouseOut(opOldNode);}omTreeview[opTable.TreeviewID].HoverNode=opTable;omTreeview[opTable.TreeviewID].HoverNodeID=opTable.parentNode.parentNode.parentNode.parentNode.parentNode.id;if(opTable.CSSClass)opTable.className=opTable.CSSClass+"Selected";else opTable.className=omTreeview[opTable.TreeviewID].Treeview.NodeCSSClass+"Selected";opTable.style.backgroundImage="url("+omTreeview[opTable.TreeviewID].Treeview.SelectedImage+")";if(omTreeview[opTable.TreeviewID].OnClick)omTreeview[opTable.TreeviewID].OnClick.call(null,opTable.TreeviewID,zpNodeID,zpNodeText);}treeviewFindHide(omTreeview[zpTreeviewID].DOMObject);}
function treeviewContextMenu(oAnchor){var zpTreeviewID=oAnchor.parentNode.id.slice(0,oAnchor.parentNode.id.length-String("_divTreeview").length);if(omTreeview[zpTreeviewID].OnContextMenu){if(omTreeview[zpTreeviewID].HoverNode){var zpNodeID=omTreeview[zpTreeviewID].HoverNodeID;zpNodeID=zpNodeID.slice(zpTreeviewID.length+1,zpNodeID.length);omTreeview[zpTreeviewID].OnContextMenu.call(null,zpTreeviewID,zpNodeID,event);}event.returnValue=false;}}
function treeviewNodeMouseOver(oTable){if(omTreeview[oTable.TreeviewID].HoverNode){if(omTreeview[oTable.TreeviewID].HoverNode!=omTreeview[oTable.TreeviewID].SelectedNode){treeviewNodeMouseOut(omTreeview[oTable.TreeviewID].HoverNode);}}if(oTable.CSSClass){if(oTable.className!=oTable.CSSClass+"Hover"){if(oTable.className!=oTable.CSSClass+"Selected")oTable.className=oTable.CSSClass+"Hover";}}else{if(oTable.className!=omTreeview[oTable.TreeviewID].Treeview.NodeCSSClass+"Hover"){if(oTable.className!=omTreeview[oTable.TreeviewID].Treeview.NodeCSSClass+"Selected")oTable.className=omTreeview[oTable.TreeviewID].Treeview.NodeCSSClass+"Hover";}}oTable.style.backgroundImage="url("+omTreeview[oTable.TreeviewID].Treeview.HoverImage+")";omTreeview[oTable.TreeviewID].HoverNode=oTable;omTreeview[oTable.TreeviewID].HoverNodeID=oTable.parentNode.parentNode.parentNode.parentNode.parentNode.id;}
function treeviewNodeMouseOut(oTable){if(omTreeview[oTable.TreeviewID].HoverNode){var opTable=omTreeview[oTable.TreeviewID].HoverNode;if(event==null||!event.toElement||!opTable.contains(event.toElement)){var zpClassName;if(oTable.CSSClass)zpClassName=oTable.CSSClass;else zpClassName=omTreeview[oTable.TreeviewID].Treeview.NodeCSSClass;if(omTreeview[oTable.TreeviewID].SelectedNode==opTable){opTable.className=zpClassName+"Selected";opTable.style.backgroundImage="url("+omTreeview[oTable.TreeviewID].Treeview.SelectedImage+")";}else{opTable.className=zpClassName;opTable.style.backgroundImage="";}delete omTreeview[oTable.TreeviewID].HoverNode;delete omTreeview[oTable.TreeviewID].HoverNodeID;}}}
function treeviewExpand(oImageCell,lKeyCode){if(event)event.cancelBubble=true;var opDiv=oImageCell.parentNode.parentNode.parentNode.parentNode;var lpChildCount=parseInt(opDiv.ChildCount);if(lpChildCount==0)return;var opDivChildren=controlGetElement(opDiv.id+"_children");var lpExpanded=parseInt(opDiv.Expanded);var opTR=oImageCell.parentNode;var opNode=opTR.children[opTR.children.length-1].firstChild;var opNodeImage=opNode.firstChild.firstChild.firstChild.firstChild;if(lpExpanded==1){if(!lKeyCode||lKeyCode==109||lKeyCode==189||lKeyCode==37){opDivChildren.style.display="none";opDiv.Expanded="0";oImageCell.firstChild.src=omTreeview[opNode.TreeviewID].Treeview.ExpandImage;oImageCell.firstChild.alt="Expand Node";}}else{if(!lKeyCode||lKeyCode==107||lKeyCode==187||lKeyCode==39){opDivChildren.style.display="block";opDiv.Expanded="1";oImageCell.firstChild.src=omTreeview[opNode.TreeviewID].Treeview.CollapseImage;oImageCell.firstChild.alt="Collapse Node";}}if(opNodeImage.AlternateImage){var zpImageURL=opNodeImage.src;opNodeImage.src=opNodeImage.AlternateImage;opNodeImage.AlternateImage=zpImageURL;}if(opDivChildren.children.length==0&&lpExpanded==0){var bpServerRender;var zpDataService;if(opDiv.ServerRender)bpServerRender=(opDiv.ServerRender=="1");else bpServerRender=omTreeview[opNode.TreeviewID].Treeview.ServerRender;if(opDiv.DataService)zpDataService=opDiv.DataService;else zpDataService=omTreeview[opNode.TreeviewID].DataService;var zpNodeID=opDiv.id;zpNodeID=zpNodeID.slice(opNode.TreeviewID.length+1,zpNodeID.length);if(zpNodeID=="aTreeview")zpNodeID="";treeviewLoadData(opNode.TreeviewID,zpNodeID,zpDataService,bpServerRender,opDivChildren);}}
function treeviewLoadData(zTreeviewID,zNodeID,zDataService,bServerRender,oDivChildren){omTreeview[zTreeviewID].Treeview.NodeID=zNodeID;omTreeview[zTreeviewID].Treeview.ServerRender=bServerRender;if(!oDivChildren)oDivChildren=controlGetElement(opNode.TreeviewID+"_"+zpNodeID+"_children");oDivChildren.appendChild(treeviewClientRender(zTreeviewID,oDivChildren,"Dummy","","Loading ...",0));oDivChildren.style.display="block";bmtAjaxDataService(zDataService,omTreeview[zTreeviewID].Treeview,treeviewLoadDataResponse);}
function treeviewLoadDataResponse(oData){if(oData.ResultStatus){window.status="Done";alert(oData.Description);}else{var opDivChildren=controlGetElement(oData.TreeviewID+"_"+oData.NodeID+"_children");var opDiv=controlGetElement(oData.TreeviewID+"_"+oData.NodeID);if(opDivChildren.firstChild)opDivChildren.removeChild(opDivChildren.firstChild);opDiv.ChildCount=oData.NodeCount;if(oData.NodeCount==0){var opImage=opDiv.firstChild.firstChild.firstChild.firstChild.firstChild;opImage.src=omTreeview[oData.TreeviewID].Treeview.ExpandedImage;opDivChildren.style.display="none";}if(oData.ServerRender==true){opDivChildren.innerHTML=oData.InnerHTML;}else{var opNode;var opAppendChild=opDivChildren.appendChild;for(var lpLoop=0;lpLoop<oData.Nodes.length;lpLoop++){opNode=oData.Nodes[lpLoop];opAppendChild(treeviewClientRender(oData.TreeviewID,opDivChildren,opNode.NodeID,opNode.ImageURL,opNode.NodeText,opNode.ChildCount,opNode.NodeHTML,opNode.CSSClass,opNode.ImageCSSClass,opNode.AlternateImage,opNode.Checkbox,opNode.Expanded,opNode.Attributes));if(opNode.Children.length>0){treeviewLoadNodeChildren(oData.TreeviewID,opNode);}}}if(oData.TrailPath)omTreeview[oData.TreeviewID].TrailFunction.call(null,oData.TreeviewID,oData.TrailPath);else{if(omTreeview[oData.TreeviewID].OnAfterExpand)omTreeview[oData.TreeviewID].OnAfterExpand.call(null,oData.TreeviewID,oData.NodeID);}}}
function treeviewLoadNodeChildren(zTreeviewID,oNode){var opNode;var opDiv=controlGetElement(zTreeviewID+"_"+oNode.NodeID);opDiv.ChildCount=oNode.ChildCount;var opDivChildren=controlGetElement(zTreeviewID+"_"+oNode.NodeID+"_children");var opAppendChild=opDivChildren.appendChild;for(var lpLoop=0;lpLoop<oNode.Children.length;lpLoop++){opNode=oNode.Children[lpLoop];opAppendChild(treeviewClientRender(zTreeviewID,opDivChildren,opNode.NodeID,opNode.ImageURL,opNode.NodeText,opNode.ChildCount,opNode.NodeHTML,opNode.CSSClass,opNode.ImageCSSClass,opNode.AlternateImage,opNode.Checkbox,opNode.Expanded,opNode.Attributes));if(opNode.Children.length>0){treeviewLoadNodeChildren(zTreeviewID,opNode);}}}
function treeviewClientRender(zTreeviewID,oDivChildren,zNodeID,zImageURL,zNodeText,lChildren,zNodeHTML,zCSSClass,zImageCSSClass,zAlternateImage,bCheckbox,bExpanded,oAttributes){var opDiv=document.createElement("div");opDiv.id=zTreeviewID+"_"+zNodeID;if(!bExpanded)opDiv.Expanded="0";else opDiv.Expanded="1";opDiv.ChildCount=lChildren;if(oAttributes){for(var opAttribute in oAttributes){opDiv[opAttribute]=oAttributes[opAttribute];}}if(oDivChildren.id!=zTreeviewID+"_aTreeview")opDiv.style.marginLeft=omTreeview[zTreeviewID].Treeview.NodeIndent;else opDiv.style.marginLeft="4px";var opOuterTable=document.createElement("table");opOuterTable.cellPadding=0;opOuterTable.cellSpacing=0;var opOuterTbody=document.createElement("tbody");var opOuterTR=document.createElement("tr");var opOuterTD=document.createElement("td");opOuterTD.valign="middle";opOuterTD.style.paddingRight="3px";opOuterTD.onclick=function(){treeviewExpand(this)};var opImage=document.createElement("img");if(lChildren==0)opImage.src=omTreeview[zTreeviewID].Treeview.ExpandedImage;else{if(!bExpanded){opImage.src=omTreeview[zTreeviewID].Treeview.ExpandImage;opImage.alt="Expand Node";}else{opImage.src=omTreeview[zTreeviewID].Treeview.CollapseImage;opImage.alt="Collapse Node";}}opImage.className=omTreeview[zTreeviewID].Treeview.ExpandImageCSSClass;opOuterTD.innerHTML=opImage.outerHTML;opOuterTR.appendChild(opOuterTD);if(bCheckbox==true){opOuterTD=document.createElement("td");opOuterTD.valign="middle";opOuterTD.style.paddingRight="3px";var opCheckbox=document.createElement("input");opCheckbox.type="checkbox";opCheckbox.onclick=function(){treeviewCheckbox(this);};opOuterTD.appendChild(opCheckbox);opOuterTR.appendChild(opOuterTD);}opOuterTD=document.createElement("td");var opTable=document.createElement("table");opTable.cellPadding=1;opTable.cellSpacing=0;opTable.TreeviewID=zTreeviewID;if(bCheckbox)opTable.Checkbox="true";if(zCSSClass==""||!zCSSClass)opTable.className=omTreeview[zTreeviewID].Treeview.NodeCSSClass;else{opTable.className=zCSSClass;opTable.CSSClass=zCSSClass;}opTable.onmouseover=function(){treeviewNodeMouseOver(this);};opTable.onmouseout=function(){treeviewNodeMouseOut(this);};var opTbody=document.createElement("tbody");var opTR=document.createElement("tr");var opTD=document.createElement("td");opTD.style.paddingLeft="3px";var opImage=document.createElement("img");if(zImageURL==""||!zImageURL)opTD.style.display="none";else opImage.src=zImageURL;opImage.className=omTreeview[zTreeviewID].Treeview.ImageCSSClass;opImage.alt=zNodeText;if(zAlternateImage&&zAlternateImage!="")opImage.AlternateImage=zAlternateImage;opTD.innerHTML=opImage.outerHTML;opTR.appendChild(opTD);opTD=document.createElement("td");opTD.noWrap="nowrap";opTD.style.paddingLeft="6px";if(zNodeHTML&&zNodeHTML!="")opTD.innerHTML=zNodeHTML;else{var opTextNode=document.createTextNode(zNodeText);opTD.appendChild(opTextNode);}opTR.appendChild(opTD);opTbody.appendChild(opTR);opTable.appendChild(opTbody);opOuterTD.appendChild(opTable);opOuterTR.appendChild(opOuterTD);opOuterTbody.appendChild(opOuterTR);opOuterTable.appendChild(opOuterTbody);opDiv.appendChild(opOuterTable);var opDivChildren=document.createElement("div");opDivChildren.id=zTreeviewID+"_"+zNodeID+"_children";if(!bExpanded)opDivChildren.style.display="none";opDiv.appendChild(opDivChildren);return opDiv;}
function treeviewKeyDown(oAnchor){var zpTreeviewID=oAnchor.parentNode.id.slice(0,oAnchor.parentNode.id.length-String("_divTreeview").length);switch(event.keyCode){case 13:break;case 32:if(omTreeview[zpTreeviewID].HoverNode)opNode=omTreeview[zpTreeviewID].HoverNode;else if(omTreeview[zpTreeviewID].SelectedNode)opNode=omTreeview[zpTreeviewID].SelectedNode;if(opNode.Checkbox=="true"){var opCheckbox=opNode.parentNode.previousSibling.firstChild;opCheckbox.checked=!opCheckbox.checked;}event.returnValue=false;break;case 38:event.returnValue=false;var opTable;var opNode;if(omTreeview[zpTreeviewID].HoverNode)opNode=omTreeview[zpTreeviewID].HoverNode;else if(omTreeview[zpTreeviewID].SelectedNode)opNode=omTreeview[zpTreeviewID].SelectedNode;if(opNode){var opDiv=opNode.parentNode.parentNode.parentNode.parentNode.parentNode;while(true){if(opDiv.previousSibling){opDiv=opDiv.previousSibling;var opChildDiv;var opDivChildren=opDiv.children[opDiv.children.length-1];if(opDivChildren){while(opDivChildren.children.length>0){if(opDivChildren.style.display!="none"){opDiv=opDivChildren.children[opDivChildren.children.length-1];opDivChildren=opDiv.children[opDiv.children.length-1];}else break;}}else return;}else opDiv=opDiv.parentNode.parentNode;if(opDiv.style.display!="none")break;}if(opDiv.id!=zpTreeviewID+"_divTreeview"){var opTR=opDiv.firstChild.firstChild.firstChild;opTable=opTR.children[opTR.children.length-1].firstChild;treeviewNodeMouseOut(opNode);omTreeview[zpTreeviewID].HoverNode=opTable;omTreeview[zpTreeviewID].HoverNodeID=opDiv.id;treeviewEnsureVisible(zpTreeviewID,opTable);treeviewNodeMouseOver(opTable);}}break;case 40:event.returnValue=false;var opTable;var opNode;if(omTreeview[zpTreeviewID].HoverNode)opNode=omTreeview[zpTreeviewID].HoverNode;else if(omTreeview[zpTreeviewID].SelectedNode)opNode=omTreeview[zpTreeviewID].SelectedNode;if(opNode){var opDiv=opNode.parentNode.parentNode.parentNode.parentNode.parentNode;while(true){if(opDiv.children[1].style.display!="none"&&opDiv.children[1].children.length>0){opDiv=opDiv.children[1].firstChild;}else{if(opDiv.nextSibling)opDiv=opDiv.nextSibling;else{while(!opDiv.parentNode.parentNode.nextSibling){opDiv=opDiv.parentNode.parentNode;if(opDiv.id==zpTreeviewID+"_divTreeview")break;}if(opDiv.id!=zpTreeviewID+"_divTreeview")opDiv=opDiv.parentNode.parentNode.nextSibling;}}if(opDiv.style.display!="none")break;}if(opDiv.id!=zpTreeviewID+"_divTreeview"){var opTR=opDiv.firstChild.firstChild.firstChild;opTable=opTR.children[opTR.children.length-1].firstChild;treeviewNodeMouseOut(opNode);}}else{if(omTreeview[zpTreeviewID].DOMObject.firstChild.children.length>0){var opTR=omTreeview[zpTreeviewID].DOMObject.firstChild.firstChild.firstChild.firstChild.firstChild;opTable=opTR.children[opTR.children.length-1].firstChild;}}if(opTable){omTreeview[zpTreeviewID].HoverNode=opTable;omTreeview[zpTreeviewID].HoverNodeID=opTable.parentNode.parentNode.parentNode.parentNode.parentNode.id;treeviewEnsureVisible(zpTreeviewID,opTable);treeviewNodeMouseOver(opTable);}break;case 37:case 109:case 189:case 39:case 107:case 187:if(event.keyCode==187&&event.shiftKey==false)return;event.returnValue=false;if(omTreeview[zpTreeviewID].HoverNode){var opImageCell=omTreeview[zpTreeviewID].HoverNode.parentNode.parentNode.firstChild;switch(event.keyCode){case 37:case 109:case 189:document.body.focus();treeviewExpand(opImageCell,event.keyCode);setTimeout(function(){omTreeview[zpTreeviewID].DOMObject.firstChild.focus();},1);break;default:treeviewExpand(opImageCell,event.keyCode);break;}}break;default:if(bmtWebKeyCheck(event)==false){if(event.ctrlKey==false){var zpCharacter=String.fromCharCode(event.keyCode);treeviewFindShow(oAnchor.parentNode,zpCharacter);}}break;}}
function treeviewEnsureVisible(zTreeviewID,oNode){var opDiv=omTreeview[zTreeviewID].DOMObject;var lpDivLeft=bmtWebGetOffsetLeft(opDiv);var lpNodeTop=bmtWebGetOffsetTop(oNode);var lpNodeBottom=lpNodeTop+oNode.clientHeight;var lpTreeviewBottom=opDiv.scrollTop+opDiv.clientHeight;var lpScrollTop=opDiv.scrollTop;var lpNodeLeft=bmtWebGetOffsetLeft(oNode)-lpDivLeft;var lpNodeRight=lpNodeLeft+oNode.clientWidth;var lpTreeviewLeft=opDiv.scrollLeft;var lpTreeviewRight=opDiv.scrollLeft+opDiv.clientWidth;var lpScrollLeft=opDiv.scrollLeft;var opNodeDiv=oNode.parentNode.parentNode.parentNode.parentNode.parentNode;var lpNodeDivLeft=bmtWebGetOffsetLeft(opNodeDiv)-lpDivLeft;var bpAdjustForFind=false;var lpScrollBarRight=0;if(opDiv.scrollWidth>opDiv.clientWidth)lpScrollBarRight=23;if(lpNodeBottom>lpTreeviewBottom){lpScrollTop+=lpNodeBottom-lpTreeviewBottom;}else if(lpNodeTop<opDiv.scrollTop){bpAdjustForFind=true;lpScrollTop=lpNodeTop;}if(lpNodeRight>lpTreeviewRight){lpScrollLeft+=lpNodeRight-lpTreeviewRight;}if(lpNodeDivLeft<lpScrollLeft){lpScrollLeft=lpNodeDivLeft;}var opFindDiv=controlGetElement(opDiv.id+"_find");if(opFindDiv){if(opFindDiv.style.display!="none"){treeviewFindPosition(zTreeviewID,lpScrollTop);if(bpAdjustForFind==true){lpScrollTop-=(opFindDiv.clientHeight+2);if(lpScrollTop<0)lpScrollTop=0;}}}opDiv.scrollTop=lpScrollTop;opDiv.scrollLeft=lpScrollLeft;}
function treeviewCheckbox(oCheckbox){var opDiv=oCheckbox.parentNode.parentNode.parentNode.parentNode.parentNode;var zpTreeviewID=oCheckbox.parentNode.nextSibling.firstChild.TreeviewID;var zpNodeID=opDiv.id;zpNodeID=zpNodeID.slice(zpTreeviewID.length+1,zpNodeID.length);if(zpNodeID=="aTreeview")zpNodeID="";if(omTreeview[zpTreeviewID].OnCheckboxClick)omTreeview[zpTreeviewID].OnCheckboxClick.call(null,zpTreeviewID,zpNodeID,oCheckbox.checked);event.cancelBubble=true;}
function treeviewCheckDelete(zTreeviewID){if(omTreeview[zTreeviewID].SelectedNode){if(!controlGetElement(omTreeview[zTreeviewID].SelectedNodeID)){delete omTreeview[zTreeviewID].SelectedNode;delete omTreeview[zTreeviewID].SelectedNodeID;}}if(omTreeview[zTreeviewID].HoverNode){if(!controlGetElement(omTreeview[zTreeviewID].HoverNodeID)){delete omTreeview[zTreeviewID].HoverNode;delete omTreeview[zTreeviewID].HoverNodeID;}}}
function treeviewFindShow(oTreeview,zCharacter){var opFindDiv;var zpTreeviewID=oTreeview.id.slice(0,oTreeview.id.length-String("_divTreeview").length);if(omTreeview[zpTreeviewID].FindDOMObject)opFindDiv=omTreeview[zpTreeviewID].FindDOMObject;var opInput;if(!opFindDiv){opFindDiv=document.createElement("div");opFindDiv.className="treeviewFindDiv";opFindDiv.style.position="absolute";opFindDiv.id=oTreeview.id+"_find";opFindDiv.style.backgroundImage="url('"+bmtWebResolveURL("~/Controls/Treeview/TreeviewHoverBg.gif")+"')";var opTable=document.createElement("table");opTable.cellPadding=0;opTable.cellSpacing=0;var opTbody=document.createElement("tbody");var opTR=document.createElement("tr");var opTD=document.createElement("td");opInput=document.createElement("input");opInput.className="treeviewFind";opInput.style.width="75px";opInput.onpropertychange=function(){treeviewFindPropertyChange(oTreeview,this);};opInput.onkeydown=function(){treeviewFindKeyDown(oTreeview,this);};opInput.onclick=function(){event.cancelBubble=true;};opTD.appendChild(opInput);opTR.appendChild(opTD);opTD=document.createElement("td");var opImageTable=document.createElement("table");opImageTable.cellPadding=0;opImageTable.cellSpacing=0;var opImageTbody=document.createElement("tbody");var opImageTR=document.createElement("tr");var opImageTD=document.createElement("td");opImageTD.onmouseover=function(){treeviewFindButtonMouseOver(this.firstChild,"Previous");};opImageTD.onmouseup=function(){treeviewFindButtonMouseOver(this.firstChild,"Previous");};opImageTD.onmouseout=function(){treeviewFindButtonMouseOut(this.firstChild,"Previous");};opImageTD.onmousedown=function(){treeviewFindButtonMouseDown(this.firstChild,"Previous");};opImageTD.onclick=function(){treeviewFindPrevious(oTreeview,this.parentNode.parentNode.parentNode.parentNode.previousSibling.firstChild);event.cancelBubble=true;};opImageTD.ondblclick=function(){treeviewFindPrevious(oTreeview,this.parentNode.parentNode.parentNode.parentNode.previousSibling.firstChild);event.cancelBubble=true;};var opImage=document.createElement("img");opImage.src=bmtWebResolveURL("~/Controls/Treeview/FindPrevious.gif");opImage.style.height="8px";opImage.style.width="16px";opImage.alt="Find previous";opImageTD.innerHTML=opImage.outerHTML;opImageTR.appendChild(opImageTD);opImageTbody.appendChild(opImageTR);opImageTR=document.createElement("tr");opImageTD=document.createElement("td");opImageTD.onclick=function(){treeviewFindNext(oTreeview,this.parentNode.parentNode.parentNode.parentNode.previousSibling.firstChild);event.cancelBubble=true;};opImageTD.ondblclick=function(){treeviewFindNext(oTreeview,this.parentNode.parentNode.parentNode.parentNode.previousSibling.firstChild);event.cancelBubble=true;};opImageTD.onmouseover=function(){treeviewFindButtonMouseOver(this.firstChild,"Next");};opImageTD.onmouseup=function(){treeviewFindButtonMouseOver(this.firstChild,"Next");};opImageTD.onmouseout=function(){treeviewFindButtonMouseOut(this.firstChild,"Next");};opImageTD.onmousedown=function(){treeviewFindButtonMouseDown(this.firstChild,"Next");};opImage=document.createElement("img");opImage.src=bmtWebResolveURL("~/Controls/Treeview/FindNext.gif");opImage.style.height="8px";opImage.style.width="16px";opImage.alt="Find next";opImageTD.innerHTML=opImage.outerHTML;opImageTR.appendChild(opImageTD);opImageTbody.appendChild(opImageTR);opImageTable.appendChild(opImageTbody);opTD.appendChild(opImageTable);opTR.appendChild(opTD);opTbody.appendChild(opTR);opTable.appendChild(opTbody);opFindDiv.appendChild(opTable);oTreeview.appendChild(opFindDiv);omTreeview[zpTreeviewID].FindDOMObject=opFindDiv;}else{opInput=opFindDiv.firstChild.firstChild.firstChild.firstChild.firstChild;opInput.Override="true";opInput.value="";opInput.Override="false";}treeviewFindPosition(zpTreeviewID,oTreeview.scrollTop);opInput.focus();}
function treeviewFindPosition(zTreeview,lScrollTop){var opTreeview=omTreeview[zTreeview].DOMObject;var opFindDiv=omTreeview[zTreeview].FindDOMObject;opFindDiv.style.top=lScrollTop;opFindDiv.style.left=opTreeview.scrollLeft+opTreeview.clientWidth-parseInt(opFindDiv.clientWidth)-3;opFindDiv.style.display="block";}
function treeviewFindPropertyChange(oTreeview,oInput){if(event.propertyName=="value"&&this.Override!="true"){var zpTreeviewID=oTreeview.id.slice(0,oTreeview.id.lastIndexOf("_divTreeview"));var opNode;var bpNoSelection=false;if(omTreeview[zpTreeviewID].HoverNode)opNode=omTreeview[zpTreeviewID].HoverNode;else if(omTreeview[zpTreeviewID].SelectedNode)opNode=omTreeview[zpTreeviewID].SelectedNode;else if(omTreeview[zpTreeviewID].DOMObject.firstChild.children.length>0){bpNoSelection=true;var opTR=omTreeview[zpTreeviewID].DOMObject.firstChild.firstChild.firstChild.firstChild.firstChild;opNode=opTR.children[opTR.children.length-1].firstChild;}if(opNode){if(opNode.innerText.toUpperCase().indexOf(oInput.value.toUpperCase())==-1)treeviewFindNext(oTreeview,oInput);else if(bpNoSelection==true)treeviewNodeMouseOver(opNode);}}}
function treeviewFindHide(oTreeview){var zpTreeviewID=oTreeview.id.slice(0,oTreeview.id.length-String("_divTreeview").length);var opFindDiv=omTreeview[zpTreeviewID].FindDOMObject;if(opFindDiv)opFindDiv.style.display="none";}
function treeviewFindScroll(oTreeview){var zpTreeviewID=oTreeview.id.slice(0,oTreeview.id.length-String("_divTreeview").length);if(omTreeview[zpTreeviewID].FindDOMObject){var opFindDiv=omTreeview[zpTreeviewID].FindDOMObject;if(opFindDiv.style.display!="none"){treeviewFindPosition(zpTreeviewID,oTreeview.scrollTop);}}}
function treeviewFindResize(oTreeviewID){setTimeout(function(){treeviewFindScroll(oTreeviewID)},1);}
function treeviewFindKeyDown(oTreeview,oInput){switch(event.keyCode){case 13:treeviewClick(oTreeview.firstChild);break;case 27:treeviewFindHide(oTreeview);break;case 38:treeviewFindPrevious(oTreeview,oInput);break;case 40:treeviewFindNext(oTreeview,oInput);break;}}
function treeviewFindPrevious(oTreeview,oInput){var zpTreeviewID=oTreeview.id.slice(0,oTreeview.id.lastIndexOf("_divTreeview"));var opTable;var opNode;if(omTreeview[zpTreeviewID].HoverNode)opNode=omTreeview[zpTreeviewID].HoverNode;else if(omTreeview[zpTreeviewID].SelectedNode)opNode=omTreeview[zpTreeviewID].SelectedNode;var opOriginalNode=opNode;while(true){if(opNode){var opDiv=opNode.parentNode.parentNode.parentNode.parentNode.parentNode;while(true){if(opDiv.previousSibling){opDiv=opDiv.previousSibling;var opChildDiv;var opDivChildren=opDiv.children[opDiv.children.length-1];if(opDivChildren){while(opDivChildren.children.length>0){if(opDivChildren.style.display!="none"){opDiv=opDivChildren.children[opDivChildren.children.length-1];opDivChildren=opDiv.children[opDiv.children.length-1];}else break;}}else return;}else opDiv=opDiv.parentNode.parentNode;if(opDiv.style.display!="none")break;}if(opDiv.id!=zpTreeviewID+"_divTreeview"){var opTR=opDiv.firstChild.firstChild.firstChild;opTable=opTR.children[opTR.children.length-1].firstChild;if(opTable.innerText.toUpperCase().indexOf(oInput.value.toUpperCase())>-1){treeviewNodeMouseOut(opOriginalNode);omTreeview[zpTreeviewID].HoverNode=opTable;omTreeview[zpTreeviewID].HoverNodeID=opDiv.id;treeviewEnsureVisible(zpTreeviewID,opTable);treeviewNodeMouseOver(opTable);return;}else{opNode=opTable;}}else return;}else return;}}
function treeviewFindNext(oTreeview,oInput){var zpTreeviewID=oTreeview.id.slice(0,oTreeview.id.lastIndexOf("_divTreeview"));var opTable;var opNode;if(omTreeview[zpTreeviewID].HoverNode)opNode=omTreeview[zpTreeviewID].HoverNode;else if(omTreeview[zpTreeviewID].SelectedNode)opNode=omTreeview[zpTreeviewID].SelectedNode;if(!opNode){if(omTreeview[zpTreeviewID].DOMObject.firstChild.children.length>0){var opTR=omTreeview[zpTreeviewID].DOMObject.firstChild.firstChild.firstChild.firstChild.firstChild;opNode=opTR.children[opTR.children.length-1].firstChild;}else return;}var opOriginalNode=opNode;while(true){var opDiv=opNode.parentNode.parentNode.parentNode.parentNode.parentNode;while(true){if(opDiv.children[1].style.display!="none"&&opDiv.children[1].children.length>0){opDiv=opDiv.children[1].firstChild;}else{if(opDiv.nextSibling)opDiv=opDiv.nextSibling;else{while(!opDiv.parentNode.parentNode.nextSibling){opDiv=opDiv.parentNode.parentNode;if(opDiv.id==zpTreeviewID+"_divTreeview")break;}if(opDiv.id!=zpTreeviewID+"_divTreeview")opDiv=opDiv.parentNode.parentNode.nextSibling;}}if(opDiv.style.display!="none")break;}if(opDiv.tagName.toUpperCase()!="DIV")return;if(opDiv.id!=zpTreeviewID+"_divTreeview"){var opTR=opDiv.firstChild.firstChild.firstChild;opTable=opTR.children[opTR.children.length-1].firstChild;if(opTable.innerText.toUpperCase().indexOf(oInput.value.toUpperCase())>-1){treeviewNodeMouseOut(opOriginalNode);omTreeview[zpTreeviewID].HoverNode=opTable;omTreeview[zpTreeviewID].HoverNodeID=opTable.parentNode.parentNode.parentNode.parentNode.parentNode.id;treeviewEnsureVisible(zpTreeviewID,opTable);treeviewNodeMouseOver(opTable);return;}else{opNode=opTable;}}else return;}}
function treeviewFindButtonMouseOver(oImage,zDirection){oImage.src=bmtWebResolveURL("~/Controls/Treeview/Find"+zDirection+"Hover.gif");}
function treeviewFindButtonMouseDown(oImage,zDirection){oImage.src=bmtWebResolveURL("~/Controls/Treeview/Find"+zDirection+"MouseDown.gif");}
function treeviewFindButtonMouseOut(oImage,zDirection){oImage.src=bmtWebResolveURL("~/Controls/Treeview/Find"+zDirection+".gif");}

