function Trim(e)
{
	var CounterW
	CounterW=0
	for(i=0;i<=e.length;i++)
		if (e.substr(i,1)==" ")
				CounterW+=1
		else 
				i=e.length+1
	e=e.substr(CounterW,e.length-CounterW)
	
	CounterW=0
	for(i=e.length;i>=0;i--)
		if (e.substr(i-1,1)==" ")
				CounterW+=1
		else 
				i=-2
	e=e.substr(0,e.length-CounterW)
	return e;
}
function GetRowTop(table,tr,BtnHeight)
{
	var tableChildren = table.rows;
	var Trtop=0;
	for(var i = 0 ; i < tableChildren.length ;i++ )
	{
		if(tableChildren[i].id == tr.id)
			return Trtop;
		else if(tableChildren[i].style.display != "none")
			Trtop += BtnHeight;
	}
	
	return Trtop ;
}
function ShowSubRootManage(e,SubMenu)
{
	tr = e.parentNode;
	table = tr.parentNode;
	var SubMenuTop = GetRowTop(table,tr,e.clientHeight);
	SubMenu.style.display = "";
	if(document.dir == 'rtl')
		SubMenu.style.left = table.parentNode.offsetLeft-table.parentNode.width+5;
	else
		SubMenu.style.left = eval(table.parentNode.offsetLeft)+eval(table.parentNode.width)-5;
	SubMenu.style.top  = table.parentNode.offsetTop + SubMenuTop;	
	var Down = 0;
	Down = (eval(SubMenu.style.top.substring(0,SubMenu.style.top.length-2)) + eval(SubMenu.clientHeight));
	if(Down > screen.height - 250)
		SubMenu.style.top = eval(SubMenu.style.top.substring(0,SubMenu.style.top.length-2)) - eval(SubMenu.clientHeight) + 20;
				
	return;
}
function ShowTableButton(table,TrIds)
{
	var tableChildren = table.rows;
	var trIds = TrIds.split(',')
	for(var i = 0 ; i < tableChildren.length ;i++ )
	{
		for(var j = 0 ; j < trIds.length ;j++ )
		{
			if(tableChildren[i].id == trIds[j])
			{
				tableChildren[i].style.display = "";
				break;
			}
		}
		if(j == trIds.length)
			tableChildren[i].style.display = "none";
	}
}
function ChangeMenu( MainMenu, SubMenu ){

	var TableCollection= window.parent.document.getElementsByTagName("TABLE") ;
	var MenuTable = TableCollection[8] ;
	var MainFound = false ;
	
	for(i=0; i<MenuTable.rows.length; i++)
	{
		CurrentRow = MenuTable.rows[i] ;
		for(j=0; j<CurrentRow.cells.length; j++){
			if( ( CurrentRow.cells[j].innerText == MainMenu ) && ( !MainFound ) ){
				CurrentRow.cells[j].fireEvent("onclick" )
				MainFound = true ;
			}
			else if( ( CurrentRow.cells[j].innerText == SubMenu ) && ( MainFound ) ){
				CurrentRow.cells[j].fireEvent("onmousedown" )
				return ; 
			}
			
		}
	}
}
function ChangeContextMenuPos(TreeViewContextMenu_Par,TreeObject)
{


	var obj;
	if(TreeViewContextMenu_Par != null)
		obj = TreeViewContextMenu_Par ;
	else
		obj = TreeViewContextMenu ;		
	
	var ObjWidth = obj.clientWidth;
	if(TreeObject==null)
	{
		if(obj.width != null && ObjWidth < obj.width)
			ObjWidth = obj.width;
		
		if(document.dir == 'rtl')
		{
			//obj.style.left = window.event.x+document.body.scrollLeft-ObjWidth;
		
			if(window.parent != null)
			{
				if(window.parent.document.all.MenuBar != null)
				{
					if(window.parent.document.all.MenuBar.style.display == "none")
						obj.style.left =	window.event.x - ObjWidth - (ObjWidth/2) -(document.body.scrollWidth - window.screen.availWidth - document.body.scrollLeft);
					else
						obj.style.left =	window.event.x - ObjWidth - (ObjWidth/2) -(document.body.scrollWidth - window.screen.availWidth - document.body.scrollLeft) - window.parent.document.all.MenuBar.clientWidth ;
				}
				else
					obj.style.left = window.event.x+document.body.scrollLeft - ObjWidth ;
			}
		}
		else
			obj.style.left = window.event.x+document.body.scrollLeft;
			
		
			
		obj.style.top  = window.event.y + 10 + document.body.scrollTop;

		if(window.event.y + 10 + document.body.scrollTop + obj.clientHeight > screen.height - 250)
			obj.style.top = window.event.y+10+document.body.scrollTop - obj.clientHeight;
	}
	else
	{
		TreeObjectWidth = TreeObject.clientWidth;
		if(TreeObject.width != null && TreeObjectWidth < TreeObject.width)
			TreeObjectWidth = TreeObject.width;
			
		if(document.dir == 'rtl')
			TreeObject.style.left = eval(obj.offsetLeft-TreeObjectWidth)+eval(ObjWidth);
		else
		{
			TreeObject.style.left = obj.offsetLeft;
		}
		TreeObject.style.top = obj.style.top
	}
}
function ChangeContextPos(TreeMenu)
{
	if (window.parent.Table31!=null)
		a=window.parent.Table31.clientWidth
	else 
		a=0
	
	if(document.dir == 'rtl')
	TreeMenu.style.left = window.event.x+4+document.body.scrollLeft-TreeMenu.width-a;
	else
	TreeMenu.style.left = window.event.x+4+document.body.scrollLeft;
	
	
	TreeMenu.style.top  = window.event.y-2+document.body.scrollTop;
	if(window.event.y+10+document.body.scrollTop+TreeMenu.clientHeight > screen.height-200)
		TreeMenu.style.top = window.event.y+10+document.body.scrollTop - TreeMenu.clientHeight;
}
function FreeTreeViewNodes(TreeView)//By Hazhar
{
	TreeView.onselectedindexchange	= null ;
	var RootNode = TreeView.getTreeNode("0");
	RemoveNodeChilds(RootNode)
}
function RemoveNodeChilds(node)//By Hazhar
{
	var Childs = node.getChildren();
	for(var i=Childs.length-1;i>= 0;i--)
	{
		RemoveNodeChilds(Childs[i])
	}
	node.remove();
}
function FocusTreeView(TreeView)
{
	window.onfocus = TreeViewFocus
	function TreeViewFocus()
	{
		try
		{
			TreeView.focus();
			window.onfocus = null;
			TreeView.onmouseover = null
		}
		catch(e)
		{;}
	}
	if(TreeView.getAttribute('IsPostBack') == "false")
	{
		TreeView.onmouseover = TreeViewFocus;
	}
}
function MakeConfirm(Msg)
{
	if(confirm(Msg))
	//if(confirm("ÂíÇ ãØãÆä åÓÊíÏ¿"))
		return true;
	else
	{
		window.event.returnValue = false;
		return false;
	}
}

function TranslateObjAttr(obj,propertyToSet)
{
	var sKey=obj.getAttribute('fckLang');
	if (sKey)
	{
		var s=FCKLang[sKey];
		if (s) eval('obj.'+propertyToSet+' = s');
	};

}
function TranslateElements(targetDocument,tag,propertyToSet)
{
	var aInputs=targetDocument.getElementsByTagName(tag);
	for (var i=0;i<aInputs.length;i++)
	{
		if(tag != 'img')
			{
			var sKey=aInputs[i].getAttribute('fckLang');
			var sKeyTip=aInputs[i].getAttribute('fckLangTip');
			if (sKey)
			{
				var s=FCKLang[sKey];
				if (s) 
				{
					if(aInputs[i].childNodes.length > 0)
					{
						if(aInputs[i].childNodes[0].tagName == "A")
							eval('aInputs[i].childNodes[0].'+propertyToSet+' = s');
						else
							eval('aInputs[i].'+propertyToSet+' = s');
					}
					else
						eval('aInputs[i].'+propertyToSet+' = s');
				}
			};
			if (sKeyTip)
			{
				var s=FCKLang[sKeyTip];
				if (s) eval('aInputs[i].title = s');
			};
		}
		else if(tag == 'img')
		{
			var sKey=aInputs[i].getAttribute('fckFlip');
			if (sKey)
			{
				if(document.dir == 'ltr')
					eval('aInputs[i].style.filter=\'FlipH\' ');
			};
		}
	};
}
function TranslatePage(targetDocument)
{
	this.TranslateElements(targetDocument,'A','innerText');
	this.TranslateElements(targetDocument,'Input','innerText');
	this.TranslateElements(targetDocument,'span','innerText');
	this.TranslateElements(targetDocument,'td','innerText');
	this.TranslateElements(targetDocument,'img','innerText');
	this.MakeCss(targetDocument,'td');
}
function FlipImgs()
{
	var aInputs=targetDocument.getElementsByTagName(img);
	document.getElementsByName()

}
function MakeCss(targetDocument,tag)
{
	var aInputs=targetDocument.getElementsByTagName(tag);
	for (var i=0;i<aInputs.length;i++)
	{
	
		var sKey=aInputs[i].getAttribute('fckcss');
		if (sKey)
		{
			if(tag == 'td')
			{
				if (sKey) {aInputs[i].onmouseout = TDonmouseout;aInputs[i].onmouseover = TDonmouseover;}
			}
		};
	};
}
function TDonmouseout()
{
	var sKey=this.getAttribute('fckcss');
	var sKey2=this.getAttribute('fcksubMenuId');
	this.className='';
	this.childNodes(2).className= sKey;
	if(sKey2)
		document.getElementById(sKey2).style.display='none'
}
function TDonmouseover()
{

	var sKey=this.getAttribute('fckcss');
	var sKey2=this.getAttribute('fcksubMenuId');
	
	this.className='MenuOver';
	this.childNodes(2).className= sKey+'Over';
	if(sKey2)	
		ShowSubRootManage(this,document.getElementById(sKey2));
}
function TranslatePage2(targetDocument)
{
	this.TranslateElements(targetDocument,'label','innerText');
	this.TranslateElements(targetDocument,'option','innerText');
}

// Sajadpoor 1385/02/11  Add Function SearchTreeView_click *******************************

	function SearchTreeView_click(treeview,txtSearch)
	{
		IsFound = false;
		LastNodeIndex = treeview.selectedNodeIndex ;
		SearchTreeView(treeview,treeview.getTreeNode("0"),txtSearch);
		if (!IsFound && LastNodeIndex!='0')
		{
			LastNodeIndex = "0";
			SearchTreeView(treeview,treeview.getTreeNode("0"),txtSearch);
		}
	}
	function hasBiggerIndex(nodeIndex1,nodeIndex2)
	{
		var arrnodeIndex1 = nodeIndex1.split('.');
		var arrnodeIndex2 = nodeIndex2.split('.');
		var minLength = (arrnodeIndex2.length > arrnodeIndex1.length) ? arrnodeIndex1.length : arrnodeIndex2.length;
		for(var i = 0 ; i < minLength ; i++)
		{
			if(eval(arrnodeIndex1[i]) > eval(arrnodeIndex2[i]))
				return true;
			else if(eval(arrnodeIndex1[i]) < eval(arrnodeIndex2[i]))
				return false;
		}
		
		return (nodeIndex1 > nodeIndex2)
	}
// Sajadpoor - 1385/02/11 - Add Function SearchTreeView *************************************
// Nejatyab - 1385/02/16 - Approve Function SearchTreeView *************************************
	function SearchTreeView(treeview,SelectedNode,txtSearch)
	{		
		if (txtSearch != "")
		{
			if(IsFound)
				return;
			var txtNode = SelectedNode.getAttribute("Text");
			if(txtNode.toUpperCase().indexOf(Trim(txtSearch.toUpperCase())) != -1)
				if((hasBiggerIndex(SelectedNode.getNodeIndex(),LastNodeIndex)) || (SelectedNode.getNodeIndex() == '0' && LastNodeIndex == '0'))
					IsFound = true;
					
			if(IsFound)
			{
				treeview.selectedNodeIndex = SelectedNode.getNodeIndex();
				LastNodeIndex = SelectedNode.getNodeIndex();
			}
			else
			{
				var NodeChilds = SelectedNode.getChildren();
				SelectedNode.setAttribute("expanded",true);
				for (var i=0 ; i<NodeChilds.length ;i++)
				{
					SearchTreeView(treeview,NodeChilds[i],txtSearch);
				}
			}
		}
	}	
		function GetNodeIdUp(treeView,NoTypeOf,HidSelectNodeUp,HidNodeId,Msg)
		{
		   var SelectedNode  = treeView.getTreeNode(treeView.selectedNodeIndex);
		   var nodeIndexes = SelectedNode.getNodeIndex().split('.');
		   var NodePos = eval(nodeIndexes[nodeIndexes.length-1])
		   var NodeParent = SelectedNode.getParent();
		   var bNoPlace = false;
		   
		   	if(NodeParent == null)
				bNoPlace = true;
			else
		    if((NodePos == 0) || (NodeParent.getChildren()[NodePos-1].getAttribute("Type") == NoTypeOf))
					bNoPlace = true;
					
			if(bNoPlace)
			{
				alert(Msg);
				event.returnValue=false;
			
			}
			else
			{
				HidSelectNodeUp.value = NodeParent.getChildren()[NodePos-1].getNodeIndex();
				HidNodeId.value = SelectedNode.getAttribute('ID');
			}
			
			return ;
		}
		
		// Nejatyab - 1385/02/26 - create Function
		function GetNodeIdDown(treeView,NoTypeOf,HidSelectNodeDown,HidNodeId,Msg)
		{
		   var SelectedNode  = treeView.getTreeNode(treeView.selectedNodeIndex);
		   var nodeIndexes = SelectedNode.getNodeIndex().split('.');
		   var NodePos = eval(nodeIndexes[nodeIndexes.length-1])
		   var NodeParent = SelectedNode.getParent();
		   var bNoPlace = false;
		   
		    if(NodeParent == null)
					bNoPlace = true;
			else
		    if((NodePos == NodeParent.getChildren().length - 1) || ((NodeParent.getChildren()[NodePos+1].getAttribute("Type") == NoTypeOf)))
					bNoPlace = true;
					
			if(bNoPlace)
			{
				alert(Msg);
				event.returnValue=false;
			
			}
			else
			{
				HidSelectNodeDown.value = NodeParent.getChildren()[NodePos+1].getNodeIndex();
				HidNodeId.value = SelectedNode.getAttribute('ID');
			}
			
			return ;
		}
		
		
		function HideObject(Object)
		{
		
			Object.style.display  = "none";
			return false;
		}
		
		function HideObjectNoRet(Object)
		{	
				
			Object.style.display  = "none";		
		}
		
			
			
						
		function ShowMenu(MenuBar)
		{		
			var SelectedId1=0;
			var HidValue = "";
			var HidIdValue = "";
			
			if (document.all.MenuBar.style.display=='none')
				document.all.MenuBar.style.display='block';
			else 
				document.all.MenuBar.style.display='none';
		}
	
		function DisableRightClick(TreeView)
		{
			window.event.returnValue=false;
			
		}
		
		
		function StatusImageclick(object,IsManageOperation,TreeObject)
		{
	
				if(IsManageOperation && (object.children[0].style.display == ""))
					{
						for(var i = 1 ; i < document.getElementById(TreeObject).rows.length ;i++ )
						{
							document.getElementById(TreeObject).rows[i].cells[0].children[1].style.display = ""
							document.getElementById(TreeObject).rows[i].cells[0].children[0].style.display = "none"
							document.getElementById(TreeObject).rows[i].cells[0].children[2].style.display = "none"
						}
					}
					else
					{
						if(object.children[0].style.display == "")//Notset
						{
							object.children[0].style.display = "none"
							object.children[1].style.display = ""
						}
						else if(object.children[1].style.display == "")//Allow
						{
							object.children[2].style.display = ""
							object.children[1].style.display = "none"
						}
						else if(object.children[2].style.display == "")//Deny
						{
							object.children[0].style.display = ""
							object.children[2].style.display = "none"
						}
					}
					
		}
		
				function StatusImageOnclick(object,colindex,rowindex,TreeObject)
				{		
					 HidIdValue=document.getElementById("HidIds").value;
					 HidValue=document.getElementById("HidValues").value;						
					var StatuseId = 2;
					// var NewStatus ="";
					var NewStatus =document.getElementById("HidValues").value;
								
					if(object.children[0].style.display == "")//Notset
						{
					//allow=1--Deny==0--Notset=2
						object.children[0].style.display = "none"
						object.children[1].style.display = ""
						StatuseId=1;
						
						}
					else if(object.children[1].style.display == "")//Allow
						{
						object.children[2].style.display = ""
						object.children[1].style.display = "none"
						StatuseId=0;
						}
					else if(object.children[2].style.display == "")//Deny
						{
						object.children[0].style.display = ""
						object.children[2].style.display = "none"
						StatuseId=2;
						}				
					if(colindex == 2)
					{						
											
					if(object.parentNode.cells(colindex+2).children[0].style.display == "")//Notset
						{
						OtherStatusId=2;
						}
					else if(object.parentNode.cells(colindex+2).children[1].style.display == "")//Allow
						{
					
						OtherStatusId=1;
						}
					else if(object.parentNode.cells(colindex+2).children[2].style.display == "")//Deny
						{
			
						OtherStatusId=0;
						}	
							
						NewStatusPart =  StatuseId+","+OtherStatusId+";";
						NewStatus += StatuseId+","+OtherStatusId+";";
						
					}
					else if(colindex == 4)
					{
						if(object.parentNode.cells(colindex-2).children[0].style.display == "")//Notset
						{
				
						OtherStatusId=2;
						}
					else if(object.parentNode.cells(colindex-2).children[1].style.display == "")//Allow
						{
					
						OtherStatusId=1;
						}
					else if(object.parentNode.cells(colindex-2).children[2].style.display == "")//Deny
						{
					
						OtherStatusId=0;
						}	
						
						NewStatusPart = OtherStatusId+","+StatuseId+";";
						NewStatus += OtherStatusId+","+StatuseId+";";
						
						
					}

					if(HidIdValue!="")
					{	
													
						var IdParts			= HidIdValue.split(';');	
						
						for(var i=0 ; i<IdParts.length-1 ; i++)	
						{
							var SelectedId=  eval(object.parentNode.cells(0).innerText);
									
							if(IdParts[i]==SelectedId)//Update
							{
								var Part1=HidValue.substring(0,(i*4)-1);
								if(Part1!="")
								{
								Part1 += ";" ;
								}
								var Part2=HidValue.substring((i+1)*4);
								
								HidValue=Part1+NewStatusPart+Part2;							
								document.getElementById("HidValues").value = HidValue;																		
								return;
							}
						}				
						
					}
					var SelectedId =  eval(object.parentNode.cells(0).innerText);
					SelectedId1  =SelectedId1 + SelectedId + ";";
					document.getElementById("HidIds").value  = SelectedId1 ;
					document.getElementById("HidValues").value =  NewStatus ;

			}
			
		function StatusImageclickWithGroup(object,ObjectId,type,GroupOrUser,TreeObject)
		{
		
			if(GroupOrUser == "Group")
			{
				switch(type)
				{
					case 'Allow' :
					{
						RemoveHideValues(document.getElementById("TxtHidAllowGroups"),ObjectId) ;
						document.getElementById("TxtHidDenyGroups").value += ObjectId + ";" ;
						break;
					}
					case 'Deny' :
					{
						RemoveHideValues(document.getElementById("TxtHidDenyGroups"),ObjectId) ;
						break;
					}
					case 'NotSet' :
					{
						document.getElementById("TxtHidAllowGroups").value += ObjectId+ ";" ;
						break;
					}
				}
			}
			else if(GroupOrUser == "User")
			{
				switch(type)
				{
					case 'Allow' :
					{
						RemoveHideValues(document.getElementById("TxtHidAllowUsers"),ObjectId) ;
						document.getElementById("TxtHidDenyUsers").value += ObjectId + ";" ;
						break;
					}
					case 'Deny' :
					{
						RemoveHideValues(document.getElementById("TxtHidDenyUsers"),ObjectId) ;
						break;
					}
					case 'NotSet' :
					{ 
						document.getElementById("TxtHidAllowUsers").value += ObjectId+ ";" ;
						break;
					}
				}
			}

			if(object.children[0].style.display == "")		//Notset
			{
				object.children[0].style.display = "none"
				object.children[1].style.display = ""
			}
			else if(object.children[1].style.display == "")	//Allow
			{
				object.children[2].style.display = ""
				object.children[1].style.display = "none"
			}
			else if(object.children[2].style.display == "")	//Deny
			{
				object.children[0].style.display = ""
				object.children[2].style.display = "none"
			}
			//alert("Allow Ids "+document.getElementById("TxtHidAllowGroups").value+" \r\n Deny Ids "+document.getElementById("TxtHidDenyGroups").value);
			//alert("Allow Ids "+document.getElementById("TxtHidAllowUsers").value+" \r\n Deny Ids "+document.getElementById("TxtHidDenyUsers").value);
		}
			
		
	