function MM_popupMsg(msg) { //v1.0 alert(msg); } function MM_openBrWindow(theURL,winName,features) { //v2.0 window.open(theURL,winName,features); } /** functions below work with optiondisplaytree **/ var lblCheckAll = 'Check all'; var lblUnCheckAll = 'Uncheck all'; function lblSelectAll_select(CheckboxID,ControlID,TreeElement,comboBoxTextBox){ var obj = document.getElementById(CheckboxID); var labelId = eval("'" + ControlID +"_lblSelectAll'"); var label = document.getElementById(labelId); if(obj.checked){ selectAllNodes(ControlID,TreeElement); label.innerHTML = lblUnCheckAll; }else{ ResetNodes(ControlID,TreeElement,comboBoxTextBox); label.innerHTML = lblCheckAll; } } function ResetNodes(ControlID,TreeElement,comboBoxTextBox) { var tree = TreeElement; var rootNodes = tree.AllNodes; var i; eval(ControlID+"_sumnodes=0;"); var selectAllCheckbox = document.getElementById(eval("'" + ControlID +"_cbSelectAll'")); for(i=0; i < rootNodes.length; i++) { node = rootNodes[i]; //here we store first node of the tree. this can be used to identify the select all node when needed if(i==0 && eval(ControlID+"_selectAllNoteActivated")){ eval(ControlID+"_selectAllNoteValue="+node.Value); expandNode(node); } //store the sum of all the nodes if(node.Nodes == 0 && node.Value != eval(ControlID+"_selectAllNoteValue")){ eval(ControlID+"_sumnodes++;"); } node.UnCheck(); } eval(ControlID+"_iteration = 0"); selectAllCheckbox.checked = false; populateTextBox(ControlID); } function selectAllNodes(ControlID,TreeElement) { var tree = TreeElement; var rootNodes = tree.AllNodes; var i; eval(ControlID+"_iteration=0;"); for(i=0; i < rootNodes.length; i++) { node = rootNodes[i]; expandNode(node); node.Check(); if((node.Nodes == 0 && node.Value != eval(ControlID+"_selectAllNoteValue")) ){ eval(ControlID+"_iteration++;"); } } //alert( eval(ControlID+"_iteration ")); populateTextBox(ControlID); } function evaluateNode(node,ControlID){ if(node.Checked){ calculateNoOfItemsChecked(node,ControlID); }else{ calculateNoOfItemsUnChecked(node,ControlID) } } function calculateNoOfItemsChecked(node,ControlID){ var childNodes = node.Nodes; if(childNodes.length > 0){ expandNode(node); for(var u=0; u < childNodes.length; u++){ if(!childNodes[u].Checked){ subNodes = childNodes[u].Nodes; childNodes[u].Check(); if(subNodes.length > 0){ evaluateNode(childNodes[u],ControlID); }else{ eval(ControlID+"_iteration++;"); } } } }else{ eval(ControlID+"_iteration++;"); } checkParent(node,ControlID); populateTextBox(ControlID); } function calculateNoOfItemsUnChecked(node,ControlID){ var childNodes = node.Nodes; if(childNodes.length > 0){ expandNode(node); for(var u=0; u < childNodes.length; u++){ if(childNodes[u].Checked){ subNodes = childNodes[u].Nodes; childNodes[u].UnCheck(); if(subNodes.length > 0){ evaluateNode(childNodes[u],ControlID); }else{ eval(ControlID+"_iteration--;"); } } } }else{ eval(ControlID+"_iteration--;"); } unCheckParent(node,ControlID); // node.Collapse(); populateTextBox(ControlID); } function populateTextBox(ControlID) { if(eval(ControlID+"_ComboTextEnable")){ var txt = document.getElementById(eval("'"+ControlID+"_comboBoxTextBox'")); txt.value = eval(ControlID+"_ComboText").replace("{#}",eval(ControlID+"_iteration.toString()")); } } function checkParent(node,ControlID){ var parent = node.Parent; if(parent){ var childNodes = parent.Nodes; var checkedNodes = 0 //find out how many of the nodes are checked; for(var u=0; u < childNodes.length; u++){ node = childNodes[u]; if(node.Checked){ checkedNodes++; } } if(childNodes.length == checkedNodes){ parent.Check(); checkParent(parent,ControlID); } }else{ // here we check if all nodes are checked and selectAllNote has a value greater thatn 0 if(eval(ControlID+"_sumnodes") == eval(ControlID+"_iteration")){ if(eval(ControlID+"_selectAllNoteActivated")){ //find the the check all node only if selectAllNote has a value greater than 0 tree = node.TreeView; tree.FindNodeByValue(eval(ControlID+"_selectAllNoteValue")).Check(); }else if(!eval(ControlID+"_selectAllNoteActivated")){ var checkbox = document.getElementById(eval("'" + ControlID +"_cbSelectAll'")); var label = document.getElementById(eval("'" + ControlID +"_lblSelectAll'")); checkbox.checked = true; label.innerHTML = lblUnCheckAll; } } } } function unCheckParent(node,ControlID) { parentNode = node.Parent; if(parentNode){ parentNode.UnCheck(); unCheckParent(parentNode,ControlID); }else{ // here we check if all nodes are checked and selectAllNote has a value greater thatn 0 if(eval(ControlID+"_sumnodes") != eval(ControlID+"_iteration")){ if(eval(ControlID+"_selectAllNoteActivated")){ //find the the check all node only if selectAllNote has a value greater than 0 tree = node.TreeView; tree.FindNodeByValue(eval(ControlID+"_selectAllNoteValue")).UnCheck(); }else{ var checkbox = document.getElementById(eval("'" + ControlID +"_cbSelectAll'")); var label = document.getElementById(eval("'" + ControlID +"_lblSelectAll'")); checkbox.checked = false; label.innerHTML = lblCheckAll; } } } } function expandNode(node){ if(!node.Expanded){ node.Expand(); } } function toggleCollapse(PanelID) { var panel = document.getElementById(PanelID); var expand = (panel.style.display == "none"); panel.style.display = (expand ? "block" : "none"); } function toggleCollapse(PanelID, interval, step, expand,animate) { if(!animate){ var panel = document.getElementById(PanelID); var expand = (panel.style.display == "none"); panel.style.display = (expand ? "block" : "none"); }else{ var content = document.getElementById(PanelID); // wait for another animated expand/collapse action to end if (currentContent==null) { currentContent = content; var closed = (content.style.display=="none"); if((closed && expand) || (!closed && !expand)) { if (expand) content.style.display = "block"; var max_height = content.offsetHeight; var step_height = step + (expand ? 0 : -max_height); //toggleChevronIcon(content); // schedule first animated collapse/expand event content.style.height = Math.abs(step_height) + "px"; setTimeout("togglePannelAnimatingStatus(" + interval + "," + step + "," + max_height + "," + step_height + ")", interval); }else{ currentContent = null; } } //current content }//animate } function togglePannelAnimatingStatus(interval, step, max_height, step_height) { var step_height_abs = Math.abs(step_height); // schedule next animated collapse/expand event if (step_height_abs>=step && step_height_abs<=(max_height-step)) { step_height += step; currentContent.style.height = Math.abs(step_height) + "px"; setTimeout("togglePannelAnimatingStatus(" + interval + "," + step + "," + max_height + "," + step_height + ")", interval); } // animated expand/collapse done else { if (step_height_abs< elsLen; i++) { var cssclass = els[i].className; if ( cssclass. match(searchClass) ) { classElements[j] = els[i]; j++; } } return classElements; } function CloseOpenComboBoxes(TreeViewContainerID,GroupingName,animate){ var nodes = getElementsByClass(GroupingName,document,"div"); if(nodes.length > 0){ for (var i=0; i < nodes.length;i++) { node = nodes[i]; var opened = (node.style.display=="block"); if(opened && TreeViewContainerID != node.id ){ if(animate) setTimeout("toggleCollapse('"+node.id+"',"+5+","+50+","+false+","+false+")",300); else toggleCollapse(node.id,50,50,false,false); } } } } function toggleWidgets(spanId, spanIdArrow, rootURL) { var objSpan = document.getElementById(spanId); var objSpanArrow = document.getElementById(spanIdArrow); if (objSpan != null) { if (objSpan.style.display == "none") { objSpan.style.display = ""; if (objSpanArrow!= null) objSpanArrow.innerHTML = "close"; } else { objSpan.style.display = "none"; if (objSpanArrow!= null) objSpanArrow.innerHTML = "open"; } } }