﻿            function showHide(itemId, treeId){
				
			   var field = document.getElementById(treeId + "_expandedItems")
		       var item = document.getElementById(itemId + "_children")
		       var strings
		       var retValue
		       
		       if(item.style.display == "none"){
		          item.style.display = "block"
		          if(field.value == "")
		             field.value = itemId
		          else
		             field.value += ";" + itemId
		          retValue = true
		       }else{
				  item.style.display = "none"
				  strings = field.value.split(";")
				  field.value = ""
				  for(i in strings){
                    if(strings[i] != itemId && strings[i] != "undefined" & strings[i] != ""){
                       if(field.value == "")
                          field.value = strings[i]
                       else
                          field.value += ";" + strings[i]
                    }
				  }
				  retValue = false
			   }
			   return retValue
		    }		
		    
		
		    
		    function getTreeViewLabel(id){
		        return document.getElementById(id + "_label").getAttribute("innerhtml")
		    }
		    
		    function getTreeViewCheckbox(id){
		        return document.getElementById(id + "_checkbox")
		    }
		    
		    function junctionClick(junction, child, idTreeView){
				
		        var retValue = showHide(child, idTreeView)
		        var chunks = junction.src.split("/")
		        var opositeSymbol
		        if(chunks != null){
		           if(chunks.length > 0){
		               opositeSymbol = getOpositeSymbol(chunks[chunks.length - 1]);
		               junction.src = imagesPath + opositeSymbol;		               	           
		           } 
		        } 
		        return retValue
		    }
		    
		    function getOpositeSymbol(symbol){
		       var resultSymbol = "";
		       if(symbol == "fminus.gif")
		         resultSymbol = "fplus.gif"
		       else if(symbol == "fplus.gif")
		         resultSymbol = "fminus.gif"
		       else if(symbol == "lminus.gif")
		         resultSymbol = "lplus.gif"
		       else if(symbol == "lplus.gif")
		         resultSymbol = "lminus.gif"
		       else if(symbol == "rminus.gif")
		         resultSymbol = "rplus.gif"
		       else if(symbol == "rplus.gif")
		         resultSymbol = "rminus.gif"
		       else if(symbol == "tminus.gif")
		         resultSymbol = "tplus.gif"
		       else if(symbol == "tplus.gif")
		         resultSymbol = "tminus.gif"
		       else if(symbol == "minus.gif")
		         resultSymbol = "plus.gif"
		       else if(symbol == "plus.gif")
		         resultSymbol = "minus.gif"
		       else
		         resultSymbol = "while.gif"
		       return resultSymbol;
		    }

		    
	    /************************/	    
	    /** Event of TreeView **/
	    /************************/
		function subString(str, start, finish){
		  var i = start;
		  var res = ""
		  while(i < finish){
		     res += str.charAt(i)     
		     i++;
		  }
		  return res
		}
	
		function HadCheck(checkboxid, idTreeView,idhidden){
		  var splited = checkboxid.split("_")
		  if(splited.length > 1){
			 addToSelected(getTreeViewLabel(splited[0]), idTreeView)
			 addToSelectedId(splited[0], idhidden)
			}
		}		

		function addToSelected(str, idTreeView){
		   var contents = document.getElementById(idTreeView).getAttribute("value")
		   var splited = contents.split("\n")
		   var i
		   var current 
		   var inserted = false
		   var newString = ""
		   for(i = 0; i < splited.length;i++){
			    if(splited[i] != ""){
		      	    current = subString(splited[i], 0, splited[i].length - 1)
		            if(str <= current && !inserted){
					    newString += str + "\n" 
		               inserted = true;
		            }				
				    if(str!=current)
				     newString += current + "\n"
			     }
		   }		   
		   
		   if(!inserted){
				newString += str + "\n"				
		   }
		   		   
		   document.getElementById(idTreeView).setAttribute("value", newString)
		   
		}
		
		
		function addToSelectedId(idValue, idhidden){
		  
		   var contents = document.getElementById(idhidden).getAttribute("value")
		   var splited = contents.split(";")
		   var i
		   var current 
		   var inserted = false
		   var newString = ""
		
		   for(i = 0; i < splited.length;i++){
		   
				
		      if(splited[i] != ""){
		      	current = splited[i]
		        if(idValue<= current && !inserted){
					
					if(newString==""){
					   newString += idValue										   
				    }else{
				       newString += ";" + idValue
				    }  
					
		           inserted = true;	
		        }
				
				if(idValue!=current){
			        if(newString==""){
						 
						   newString += current		   
					}else{
						   newString += ";" + current 
					}
				}

			  }
		   }
		   
		   if(!inserted){
		    	  if(newString==""){
					   newString += idValue		   
				    }else{
				       newString += ";" + idValue
				    }
		   }
		   
		   document.getElementById(idhidden).setAttribute("value", newString)
		   
		}

		
		
		function HadUncheck(checkboxid, idTreeView,idhidden){
		
		 var splited = checkboxid.split("_")
		  if(splited.length > 1){
		     removeFromSelected(getTreeViewLabel(splited[0]), idTreeView)
		     removeFromSelectedId(splited[0], idhidden)

		  }
		}
		
		function removeFromSelected(str, idTreeView){
		   var contents = document.getElementById(idTreeView).getAttribute("value")
		   var splited = contents.split("\n")
		   var i
		   var current 
		   var newString = ""
		   for(i = 0; i < splited.length; i++){
		      if(splited[i] != ""){
		        current = subString(splited[i], 0, splited[i].length - 1)
		       	if(current != str){

				   newString += current + "\n"		   
				}
			  }
		   }
		   document.getElementById(idTreeView).setAttribute("value", newString)

		} 
		
		function removeFromSelectedId(idValue, idhidden){
		   var contents = document.getElementById(idhidden).getAttribute("value")
		   var splited = contents.split(";")
		   var i
		   var current 
		   var newString = ""
		   for(i = 0; i < splited.length; i++){
		      if(splited[i] != ""){
		        current = splited[i]
		       	if(current != idValue){

					if(newString==""){
					   newString += current		   
				    }else{
				       newString += ";" + current 
				    }
				}
			  }
		   }
		   document.getElementById(idhidden).setAttribute("value", newString)

		}

