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)) 
		if(objHref.href.search('javascript')==0)return true;
		else window.open(objHref.href, strTarget);
 }else
	if(objHref.href.search('javascript')==0)return true;
	else window.open(objHref.href, strTarget);
 return false;
}// end of function window_open_href(objHref)

//#############################################################################
function window_open_href_referer(objHref, strTarget, referervariable)
{// function for open window in XHTML 1.1 strict - no target by anchor is allowed
 window.open(objHref.href+referervariable+"="+location.href, strTarget);
 return false;
}// end of function window_open_href(objHref)


//#############################################################################
function Ctree_ShowHideNode(Img, noOpenNode)
{
 ImgId = Img.id;
 NodeID = ImgId.replace("ImgTreeShowHide_", "");
 arrNodes = Img.parentNode.getElementsByTagName("UL");
 if(! arrNodes.length)
	arrNodes = Img.parentNode.parentNode.getElementsByTagName("UL");
 if(arrNodes.length>0)
 {
	 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);
	   if(!noOpenNode)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);
	   if(!noOpenNode)Node.style.display = "none";
	   Ctree_OpenNode(NodeID, false);
	 }// end of if NodeState == none
 }// end of if
}// end of function Ctree_ShowHideNode(Img)

//#############################################################################
function Ctree_ShowHideNodeAjax(Img, getUrlLoad)
{
 ImgId = Img.id;
 NodeID = ImgId.replace("ImgTreeShowHide_", "");
 NOT = NodeID.substr(0, NodeID.indexOf("_"));
 NodeID = NodeID.substr(NodeID.indexOf("_")+1);
 arrNodes = Img.parentNode.getElementsByTagName("UL");
 nodeType = Img.src.substr(Img.src.length-5, 1);
 if(nodeType==2 || nodeType==3 || nodeType==5 || nodeType==6)
 {
	 switch(nodeType)
	 {
		case "2":
	 		nodeTypeNew = 3;
		    Img.src = Img.src.substr(0, Img.src.length-5)+nodeTypeNew+".gif";
		    Img.alt = Img.alt.substr(0, Img.alt.length-3) + "-" + Img.alt.substr(Img.alt.length-2);
			break;
		case "3":
			nodeTypeNew = 2;
	   		Img.src = Img.src.substr(0, Img.src.length-5)+nodeTypeNew+".gif";
		    Img.alt = Img.alt.substr(0, Img.alt.length-3) + "+" + Img.alt.substr(Img.alt.length-2);
			break;
		case "5":
			nodeTypeNew = 6;
	   		Img.src = Img.src.substr(0, Img.src.length-5)+nodeTypeNew+".gif";
		    Img.alt = Img.alt.substr(0, Img.alt.length-3) + "-" + Img.alt.substr(Img.alt.length-2);
	 		break;
		case "6":
			nodeTypeNew = 5;
			Img.src = Img.src.substr(0, Img.src.length-5)+nodeTypeNew+".gif";
	   	 	Img.alt = Img.alt.substr(0, Img.alt.length-3) + "+" + Img.alt.substr(Img.alt.length-2);
			break;
	 }// end of switch
	 if(arrNodes.length>0)
	 {
		 Node = arrNodes[0];
		 NodeState = Node.style.display;
		 if(NodeState == "none")
		 {// node is acctually hidden, show his
		   Node.style.display = "block";
		   Ctree_OpenNode(NodeID, true);
		 }else
		 {
		   Node.style.display = "none";
		   Ctree_OpenNode(NodeID, false);
		 }// end of if NodeState == none
	 }else
	 {
	 	loadSubnodes(NOT, NodeID, Img.src, getUrlLoad);
	 }// end of if
 }
}// 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].className == "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()

function openNodesOnPageAfterInit()
{
  oLIs = document.getElementsByTagName("li");
 	for(i=0;i<oLIs.length;i++)
 	{
 		if(oLIs[i].className == "menuActive")
 		{
			oAs = oLIs[i].getElementsByTagName("A");
 			//oAs[0].click();
 			MenuShowHideSubmenu(oAs[0], '_blank', false);
 		}// end of if
	}// end of for
}// end of function openNodesOnPageAfterInit()

