//Conditions
function addCondition1_OnClick( sender, eventArgs )
{
       //????????????
       var rtnValue = form.ShowModalDialog(lims.GetFormSource("InspectionLoginTemplate.addCondition"));
       if(String.IsNullOrEmpty(rtnValue))
              return;
       rtnValue = rtnValue[0];
       
       var newNode : TreeNode = new TreeNode();
       newNode.Value = rtnValue+"**"+"";
       newNode.Text = "????:"+rtnValue;
       tvConditions.AddChild(newNode);
              var newChildNode : TreeNode = new TreeNode();
              newChildNode.Value = rtnValue+"**"+"null";
              newChildNode.Text = "??????";
              newNode.AddChild(newChildNode);
}
function addCondition2_OnClick( sender, eventArgs )
{
       //????????????
       var parentNode : TreeNode;
       parentNode = TreeNode(tvConditions.SelectedNode);
       var Vulcanize = parentNode.Value.substring(0,parentNode.Value.IndexOf("**"));
       var Aging = parentNode.Value.substring(parentNode.Value.IndexOf("**")+2);
       if(!String.IsNullOrEmpty(Aging))
              return;
       var rtnValue = form.ShowModalDialog(lims.GetFormSource("InspectionLoginTemplate.addCondition"));
       if(String.IsNullOrEmpty(rtnValue))
              return;
       rtnValue = rtnValue[0];
       
       var newNode : TreeNode = new TreeNode();
       newNode.Value = Vulcanize+"**"+rtnValue;
       newNode.Text = "????:"+rtnValue;
       parentNode.AddChild(newNode);
}
 
function delCondition_OnClick( sender, eventArgs )
{
       var selectNode : TreeNode;
       selectNode = TreeNode(tvConditions.SelectedNode);
       var parentNode : TreeNode;
       parentNode = TreeNode(tvConditions.SelectedNode.Parent);
//alert(tvConditions.Nodes.Count);
//alert(parentNode.Nodes.Count);
       
       var value = selectNode.Value;
       var Vulcanize = selectNode.Value.substring(0,value.IndexOf("**"));
       var Aging = selectNode.Value.substring(value.IndexOf("**")+2);
       var nIndex;
       if(String.IsNullOrEmpty(Aging))                        //????????
       {
              nIndex = getNodeIndex(tvConditions.Nodes,value);
              if(!String.IsNullOrEmpty(nIndex))
                     tvConditions.Nodes.RemoveAt(nIndex);
       }
       else                                                                 //????????
       {
              nIndex = getNodeIndex(parentNode.Nodes,value);
              if(!String.IsNullOrEmpty(nIndex))
                     parentNode.Nodes.RemoveAt(nIndex);
       }
}
function getNodeIndex(nodes : TreeNodeCollection, val : String)
{
       var node : TreeNode;
       for(var i=0; i<nodes.Count; i++)
       {
              node = TreeNode(nodes[i]);
              if(node.Value == val)
                     return i;
       }
       return;
}
 
//
function tvConditions_OnAfterSelect( sender, eventArgs )
{
       var Folderno = txtInspectionNo.Text.Trim();
       
       var sValue = tvConditions.SelectedNode.Value;
       var arrCondition = sValue.split('**');
       var sVulcanize = arrCondition[0];
       var sAging = arrCondition[1];
       dgSelectedSample.Data = lims.GetDataSource("InspectionLoginTemplate.dg_LoginSamples_OnDemand",
                                                                                         [Folderno,sVulcanize,sAging]);
       Application.DoEvents();
}