function sendForm(IdButtSend, eventTo)
{
  var SrcTag;
  if(!eventTo.srcElement)SrcTag = eventTo.originalTarget;
  if(!eventTo.originalTarget)SrcTag = eventTo.srcElement;

  if(SrcTag.tagName == 'INPUT' && SrcTag.type == 'text' && eventTo.keyCode == 13)
   {
	//document.getElementById(IdButtSend).click();
    return false;
   }
  if((SrcTag.tagName != 'BUTTON') || (SrcTag.tagName == 'INPUT' && SrcTag.type != 'submit'))eventTo.cancelBubble = true;
}// end of function sendForm(this)
//#######################################################################################
function changeClass(obj, newClass)
{
	obj.className = newClass;
//	obj.style.color = "blue";
}// end of function changeClass(obj, newClass)


//#######################################################################################
function changeImg(objImg, newPath)
{
 oldPathPos = objImg.src.lastIndexOf("/") + 1;
 strfileName = objImg.src.substr(oldPathPos, (objImg.src.length-oldPathPos));
  objImg.src = objImg.src.replace(strfileName, newPath);
}// end of function changeImg(objImg, newPath)


//#######################################################################################
function window_open_href(objHref, strTarget, confirmationText)
{// function for open window in XHTML 1.1 strict - no target by anchor is allowed
 if(confirmationText!="" && typeof confirmationText !="undefined" )
 {
 	if(window.confirm(confirmationText)) window.open(objHref.href, strTarget);
 }else window.open(objHref.href, strTarget);
 return false;
}// end of function window_open_href(objHref)


//#######################################################################################
function Ctree_ShowHideNode(Img)
{
 ImgId = Img.id;
 NodeID = ImgId.replace("ImgTreeShowHide_", "");
// Node = document.getElementById("tree_UL_" + NodeID);
 arrNodes = Img.parentNode.getElementsByTagName("UL");
 Node = arrNodes[0];
 
 NodeState = Node.style.display;
 if(NodeState == "none")
 {// node is acctually hidden, show his
   Img.src = Img.src.replace("plus", "minus");
   Img.alt = "-" + Img.alt.substr(1, Img.alt.length);
   Node.style.display = "block";
   Ctree_OpenNode(NodeID, true);
 }else
 {
   Img.src = Img.src.replace("minus", "plus");  
   Img.alt = "+" + Img.alt.substr(1, Img.alt.length);
   Node.style.display = "none";
   Ctree_OpenNode(NodeID, false);
 }// end of if NodeState == none
}// end of function Ctree_ShowHideNode(Img)


//#######################################################################################
function Ctree_ShowHideNode3(objImg)
{// this function is use only if CTree->clsIntControl == 3
	idOpenedNode = objImg.id.replace("ImgTreeShowHide_", "");
	// zjisti root & intLevel stromu v documentu
		rootID = 0;
		intLevel = 0;
		actNode = objImg.parentNode;
		while(actNode.tagName == "UL" || actNode.tagName == "LI")
		{
			if(actNode.id.substr(0, 8) == "tree_UL_")
			{
				rootID = actNode.id.replace("tree_UL_", "");
				intLevel ++;
			}// end of if
			actNode = actNode.parentNode;
		}// end of while
	// end of zjisti root & intLevel stromu v documentu
	// get prefix of this node
	ImgNodes = objImg.parentNode.getElementsByTagName("IMG");
	ImgNodesLen = ImgNodes.length;
	prefix1 = Array("");
	for(i = 0; i < ImgNodesLen ; i++)
	{// use length -1 because last image is not prefix
	 if(ImgNodes[i].name == "CtreeImgTree")
	 {
		if(ImgNodes[i].alt == ' ')prefix1[i] = "0";
		else if(ImgNodes[i].alt.substr(ImgNodes[i].alt.length -1, ImgNodes[i].alt. length) == '_')prefix1[i] = "0";
		else prefix1[prefix1.length] = "1";
		//last image is T or L?
	 }
	}
	
	prefix = prefix1.join(",");
	// end of get prefix of this node
	if(document.getElementById("tree_UL_" + idOpenedNode))Ctree_ShowHideNode(objImg);
	else 
	{
		objImg.alt = "-" + objImg.alt.substr(1, objImg.alt.length);
		document.getElementById("iFrmCTreeOpenNode").src = document.location.href + "?CTreeIFrameId=" + idOpenedNode + "&CTreeIFramePrefix=" + prefix + "&CTreeIFrameRootId=" + rootID + "&CTreeIFrameIntLevel=" + intLevel;
		Ctree_OpenNode(idOpenedNode, true);
	}
}// end of function Ctree_ShowHideNode3(objImg, prefix)


//#######################################################################################
function Ctree_Check(objChckBox, blnParent)
{
	// if is blnParent true then is function call from iframe, use as document parent.document
	if(blnParent)objDocument = parent.document;
	else objDocument = document;
// this function is call when user click on checkbox in multiselect mode
	intRoot = 0;
	blnChecked = objChckBox.checked;
// scan down levels
	Node = objChckBox.parentNode;
	// parent is LI tag contains same node and all subnodes
	Nodes = Node.getElementsByTagName("input");
	lenNodes = Nodes.length;
	for(i=0; i < lenNodes; i++)if(Nodes[i].type == "checkbox" && Nodes[i].id.substr(0 , 13) == "ChbCTreeNode_" && Nodes[i].id != objChckBox.id)Nodes[i].checked = blnChecked;
// end of scan down levels
// up levels
	if(!objChckBox.checked)
	{// not ckeckout checkboxes to up levels
		lastNodeId = objChckBox.id.replace("ChbCTreeNode_", "");
		actNode = objChckBox.parentNode;
		while ((actNode.tagName == "UL" ||  actNode.tagName == "LI") && (actNode.id  !=  ("tree_UL_" +intRoot)))
		{
			if(actNode.tagName == "UL")lastNodeId = actNode.id.replace("tree_UL_", "");
			if(actNode.tagName == "LI")objDocument.getElementById("ChbCTreeNode_" + lastNodeId).checked = false;
			actNode = actNode.parentNode;
		}// end of while
	}else// end of if
	{// checkout parent checboxes if all sub nodes are checked
		lastNodeId = objChckBox.id.replace("ChbCTreeNode_", "");
		actNode = objChckBox.parentNode;
		while ((actNode.tagName == "UL" ||  actNode.tagName == "LI") && (actNode.id  !=  ("tree_UL_" +intRoot)))
		{
			if(actNode.tagName == "UL")lastNodeId = actNode.id.replace("tree_UL_", "");
			if(actNode.tagName == "LI")
			{
				NodesInSameLevel = actNode.getElementsByTagName("INPUT");
				NodesInSameLevelCnt = NodesInSameLevel.length;
				isAllChecked = true;
				for(i = 1; i < NodesInSameLevelCnt; i++)
				{ 
					if(NodesInSameLevel[i].type == "checkbox" && !NodesInSameLevel[i].checked && NodesInSameLevel[i].id != actNode.id)
					{
						isAllChecked = false;
						break;
					}// end of if
				}// end of for
				if(isAllChecked)objDocument.getElementById("ChbCTreeNode_" + lastNodeId).checked = true;
				else break;
			}// end of if
			actNode = actNode.parentNode;
		}// end of while
	}
	//alert(document.getElementById("inptCTreeOpenedNodes").value);
}// end of function Ctree_Check(this)


//#######################################################################################
function Ctree_OpenNode(idOpenedNode, blnAdd)
{
		strOpenedNodes = document.getElementById("OpenedNodes").value;
		arrOpenedNodes = strOpenedNodes.split(",");
		newArrOpenedNodes = Array();
		lenArrOpenedNodes = arrOpenedNodes.length;
		// check if is set node in array
		for(j = 0; j < lenArrOpenedNodes; j++)
		if(arrOpenedNodes[j] != idOpenedNode)newArrOpenedNodes[newArrOpenedNodes.length] = arrOpenedNodes[j];
		if(blnAdd)newArrOpenedNodes[newArrOpenedNodes.length] = idOpenedNode;
		// end of check if is set node in array
		document.getElementById("OpenedNodes").value = newArrOpenedNodes.join(",");
}// end of function Ctree_OpenNode(idOpenedNode, blnAdd)


//#######################################################################################
function Ctree_insertNode()
{	// if exist checkbox then is multipleselect mode activated -> check if is checked parent checbox
	blnIsMultipleSelectMode = parent.document.getElementById("ChbCTreeNode_<?= $CTreeIFrameId?>");
	if(blnIsMultipleSelectMode)blnParentChecked = parent.document.getElementById("ChbCTreeNode_<?= $CTreeIFrameId?>").checked;
	parent.document.getElementById("tree_LI_<?= $CTreeIFrameId?>").innerHTML += document.getElementById("load").innerHTML;
	parent.document.getElementById("ImgTreeShowHide_<?= $CTreeIFrameId?>").src = parent.document.getElementById("ImgTreeShowHide_<?= $CTreeIFrameId?>").src.replace("plus", "minus");
	// check if is parent node checked
	if(blnIsMultipleSelectMode)
	{
		parent.document.getElementById("ChbCTreeNode_<?= $CTreeIFrameId?>").checked = blnParentChecked;
		Ctree_Check(parent.document.getElementById("ChbCTreeNode_<?= $CTreeIFrameId?>"), true);
	}// end of if
}// end of function insertNode()
