﻿function OnPrint()
{
  var code = document.all["pageCode"];
  var id = document.all["ID"];
  
  var link = "/?code="+code.value+"&print=true";
  
  if(id!=undefined && id.value!="")
    link += "&ArticleId="+id.value;
    
  location.href = link;
}
function PageLoad()
{
  var isPrint = document.all["isPrint"];
  if(isPrint.value=="true")
    OnHideForPrint();
 
}
function OnHideForPrint()
{
  var h = document.all["trHeader"];
  var t = document.all["trToolbar"];
  var n = document.all["trNavbar"];
  var c = document.all["trCopyright"];
  
h.style.display="none";
t.style.display="none";
n.style.display="none";
c.style.display="none";

}


//для открывания и закрывания деревьев
function OnShowHide(ident)
{
	if(document.all)
    {
	var pObject = document.body.all[ident];
	var imgObject = document.body.all["img_"+ident];
	
	var isOpened=false;
	
	if(pObject!=null){
	if(pObject.length!=null){
		for(p=0; p<pObject.length; p++){
		if (pObject[p].style.display=="none")
        {
			isOpened=true;
		
			pObject[p].style.display="inline";
			if(imgObject.length!=null){
			for(i=0; i<imgObject.length; i++){
				imgObject[i].src="/Img/tree_minus.gif";
		    }
			}else
			{
				imgObject.src="/Img/tree_minus.gif";
			}

		}else{
			
			isOpened=false;
			
			pObject[p].style.display="none";
			if(imgObject.length!=null){
			for(i=0; i<imgObject.length; i++)
			{
				imgObject[i].src="/Img/tree_plus.gif";
			}
			}else
			{
				imgObject.src="/Img/tree_plus.gif";
			}
 		}
		
		}
 	}else
	{
		if (pObject.style.display=="none")
        {
			isOpened=true;
		
			pObject.style.display="inline";
			if(imgObject.length!=null){
			for(i=0; i<imgObject.length; i++)
			{
				imgObject[i].src="/Img/tree_minus.gif";
			}
			}else
			{
				imgObject.src="/Img/tree_minus.gif";
			}

		}else{
		
			isOpened=false;
		
			pObject.style.display="none";
			if(imgObject.length!=null){
			for(i=0; i<imgObject.length; i++)
			{
				imgObject[i].src="/Img/tree_plus.gif";
			}
			}else
			{
				imgObject.src="/Img/tree_plus.gif";
			}
 		}
	}
	}
 	}
	return isOpened;
		
}


function addClass(element, className) 
{
    if (element.className == null)
        element.className = "";
    element.className += " " + className;
}

function removeClass(element, className) {
    var classes, i, newClassName;

    if (element.className == null)
        return;
        
    classes = element.className.split(" ");
    
    newClassName = "";
    
    for(i = 0; i < classes.length; i++)
        if (className != classes[i])
            newClassName += " " + classes[i];
            
    element.className = newClassName;
}

function haveClass(element, className) {
    var classes = new String();
     
    if (!element || !element.className)
        return false;
        
    classes = element.className.split(" "); 
    
    for(i = 0; i < classes.length; i++)
        if (classes[i] == className)
            return true;
    
    return false;
}


/** TREE VIEW SCRIPTS **/
function treeViewStateChange(sender) {
    var myDiv, treeNodeDiv, expandIcon, inpState, inputs;
    for(treeNodeDiv = sender; treeNodeDiv != null && treeNodeDiv.tagName.toLowerCase() != "table"; treeNodeDiv = treeNodeDiv.parentNode);
    if (!treeNodeDiv) return false;
    myDiv = treeNodeDiv.nextSibling;
    
    expandIcon = treeNodeDiv.getElementsByTagName("td")[0];
    removeClass(expandIcon, "expanded");
    removeClass(expandIcon, "collapsed");
    
    inputs = treeNodeDiv.getElementsByTagName("input");
    
    for(i = 0; i < inputs.length && !inpState; i++)
        if (inputs[i].type && inputs[i].type.toLowerCase() == "hidden")
            inpState = inputs[i];
            
    if (haveClass(myDiv, "hidden")) {
        removeClass(myDiv, "hidden");
        addClass(expandIcon, "expanded");
        
        if (inpState)
            inpState.value = "e";
    }
    else {
        addClass(expandIcon, "collapsed");
        addClass(myDiv, "hidden");
        
        if (inpState)
            inpState.value = "c";
    }
}

function checkChilds(sender, checked) {
    var inputs, i, childs;
    childs = getChilds(sender);
    if (!childs) return;
    inputs = childs.getElementsByTagName("input");
    for(i = 0; i < inputs.length; i++)
        if (inputs[i].type && (inputs[i].type.toLowerCase() == "checkbox"))
            inputs[i].checked = checked; 
            
    if (haveClass(childs, "hidden") && checked)
        treeViewStateChange(sender);
}


function getChilds(sender) {
    var treeNodeDiv;
    for(treeNodeDiv = sender; treeNodeDiv && !haveClass(treeNodeDiv, "treeNode"); treeNodeDiv = treeNodeDiv.parentNode);
    if (!treeNodeDiv) return null;
    if (haveClass(treeNodeDiv.nextSibling, "childs"))
        return treeNodeDiv.nextSibling;
    else
        return null;
}

/** end of TREE VIEW SCRIPTS **/

collapsedStates = new Array();

function CollapseTreeDiv(sender, treeId) {
	var mytree, collapsed, checkboxes;
	mytree = document.getElementById(treeId);
	
	if (mytree.collapsedState)
	    mytree.collapsedState = true;
	    
	mytree.collapsedState ^= true;
	
	collapsed = mytree.collapsedState;
	
	// alert(mytree.collapsedState);
	
    if (sender)
    	sender.innerText = collapsed?
    	    (mytree.editText? mytree.editText : "edit"):
    	    (mytree.hideText? mytree.hideText : "show selected only");

    checkboxes = mytree.getElementsByTagName("input");

    if (collapsed) {
        removeClass(mytree, "haveborder");
	    mytree.style.position = "relative";
	    mytree.onmouseleave = null;
	    mytree.parentNode.style.height = null;
	    mytree.style.width = "";
    } else {
        addClass(mytree, "haveborder");
        initTreeDiv(treeId);
    	mytree.style.position = "absolute";
    	mytree.style.width = "400px";
    	mytree.onmouseleave = collapseOut;
    }

    showTreeSelectedItems(mytree, collapsed);
}

function collapseOut() {
	var el;
	el = window.event.srcElement;
	CollapseTreeDiv(el.getElementsByTagName("a")[0], el.id);
}

function initTreeDiv(treeId) {
	var el = document.getElementById(treeId);
	el.parentNode.style.height = el.clientHeight + 2;
}

function treeViewStateChange1(sender) {
    var node;
    for (node = sender; node && !haveClass(node, "node"); node = node.parentNode);
    
    if (!node || !node.nextSibling || !haveClass(node.nextSibling, "nodes")) return;
    
    if (haveClass(node.nextSibling, "hidden")) {
        removeClass(node.nextSibling, "hidden");
        removeClass(node, "collapsed");
    }
    else {
        addClass(node.nextSibling, "hidden");
        addClass(node, "collapsed");
    }
}