function mousemove(t,src) { t.className = src + "on"; }
function mousedown(t,src) { t.className = src + "down"; }
function mouseout(t,src) { t.className = src + "off"; }
function mouseclick(t,src) { t.className = src + "on"; }

function Expand() {

	var el = window.event.srcElement.parentElement.parentElement.parentElement;
	var sign = el.children(0).children(0).children(0);

	switch (sign.name) 
	{
		case '-':
			sign.name = '+';
			sign.src = "/image/collapse.gif";
			sign.title = "Развернуть";
			for (var i = 1; i < el.children.length; i++)
				el.children(i).style.display = "none";
			break;
		case '+':
			sign.name = '-';
			sign.src = "/image/expand.gif";
			sign.title = "Свернуть";
			for (var i = 1; i < el.children.length; i++)
				el.children(i).style.display = "";
			break;
	}
}


// HMenu TreeView JScript File

var bE = document.all ? 0 : 1;    

function getCookie(name) {
    var prefix = name + '=';
    var cookieStartIndex = document.cookie.indexOf(prefix);
    if (cookieStartIndex == -1){
            return '';}
    var cookieEndIndex = document.cookie.indexOf(';', cookieStartIndex + prefix.length);
    if (cookieEndIndex == -1){
            cookieEndIndex = document.cookie.length;}
    return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}

function fnAddCookie(id) {
    var s = getCookie('hmenu');
    if ( s.indexOf( '['+id+'],' ) == -1 )
        document.cookie = 'hmenu='+s+'['+id+'],;path=/;';
}
            
function fnSetMark(id) {
    document.cookie='mark='+id+';path=/;';
}

function fnDelCookie(id) {
    var s = getCookie( 'hmenu' );
    if ( s.indexOf( '['+id+'],' ) != -1 ) {
        s = s.replace( '['+id+'],','' );
        document.cookie='hmenu='+s+';path=/;';
    }
}

            
function fnExpand(o, id) {

    var el   = o.parentNode.parentNode;
    var sign = el.childNodes[ bE ].childNodes[ bE ];
    switch (sign.name) 
    {
        case '-':
            fnDelCookie( id );
            sign.name  = '+';
            sign.src   = '/image/collapse.gif';
            sign.title = 'Развернуть';
            for ( var i = 1; i < el.childNodes.length; i++ ) {
	              if (el.childNodes[ i ].tagName == 'SPAN') el.childNodes[ i ].style.display = 'none';}
            break;
        case '+':
            fnAddCookie( id );
            sign.name  = '-';
            sign.src   = '/image/expand.gif';
            sign.title = 'Свернуть';
            for ( var i = 1; i < el.childNodes.length; i++ ) {
	              if (el.childNodes[ i ].tagName == 'SPAN') el.childNodes[ i ].style.display = '';}
            break;
    }
}

function fnExpandAll() 
{
    var oR = document.getElementById( 'HMenu' );
    for ( var i = 0; i < oR.childNodes.length; i++ ) 
    {
        var oN = oR.childNodes[ i ];        
	    if ( oN.tagName == 'SPAN' && oN.childNodes.length > 1 )
	    {
	        var oImg = oN.childNodes[ bE ].childNodes[ bE ];
	        if ( oImg.tagName == 'IMG' && oImg.name != '.' )
	        {
	            oImg.name          = '-';
		        oImg.src           = '/image/Expand.gif';
		        oImg.title         = 'Свернуть';
		        fnAddCookie( oImg.id );		        
	        }
            fnExpandChilds( oN );
        }
	}
}

function fnExpandChilds(o)
{
    for ( var i = 1; i < o.childNodes.length; i++ ) 
    {
        var oN = o.childNodes[ i ];
	    if ( oN.tagName == 'SPAN' ) 
	    {
	        oN.style.display = '';
	        var oImg = oN.childNodes[ bE ].childNodes[ bE ];
	        if ( oImg.tagName == 'IMG' && oImg.name != '.' && oN.childNodes.length > 1 )
	        {
	            oImg.name          = '-';
		        oImg.src           = '/image/Expand.gif';
		        oImg.title         = 'Свернуть';
		        fnAddCookie( oImg.id );			        	        
	        }
            fnExpandChilds( oN );
        }
	}
}

function fnCollapseAll()
{
    var oR = document.getElementById( 'HMenu' );
    for ( var i = 0; i < oR.childNodes.length; i++ ) 
    {
        var oN = oR.childNodes[ i ];        
	    if ( oN.tagName == 'SPAN' && oN.childNodes.length > 1 ) 
	    {
	        var oImg = oN.childNodes[ bE ].childNodes[ bE ];
	        if ( oImg.tagName == 'IMG' && oImg.name != '.' )
	        {
	            oImg.name          = '+';
		        oImg.src           = '/image/Collapse.gif';
		        oImg.title         = 'Развернуть';
		        fnDelCookie( oImg.id );		        
	        }
            fnCollapseChilds( oN );
        }
	}
}

function fnCollapseChilds(o)
{
    for ( var i = 1; i < o.childNodes.length; i++ ) 
    {
        var oN = o.childNodes[ i ];
	    if ( oN.tagName == 'SPAN' ) 
	    {
	        oN.style.display = 'none';
	        var oImg = oN.childNodes[ bE ].childNodes[ bE ];
	        if ( oImg.tagName == 'IMG' && oImg.name != '.' && oN.childNodes.length > 1 )
	        {
	            oImg.name          = '+';
		        oImg.src           = '/image/collapse.gif';
		        oImg.title         = 'Развернуть';
		        fnDelCookie( oImg.id );			        	        
	        }
            fnCollapseChilds( oN );
        }
	}
}

var sChain = '';
var idNode = '';
var bFound = false;

function fnSync()
{
    fnCollapseAll();

    var sUrl        = '/' + String( location.href ).split( '/' ).slice( 3 ).join( '/' );
    var sNodes      = '';
    //idNode          = getCookie( 'mark' );
    var idFirstNode = 0;
    
    //find child id and build chain to parent
    var oR =  document.getElementById( 'HMenu' );
    for ( var i = 0; i < oR.childNodes.length; i++ ) 
    {
        var oN = oR.childNodes[ i ];        
        if ( oN.tagName == 'SPAN' ) 
        {
            var oA = oN.childNodes[ bE ].childNodes[ bE+2 ];
            if ( oA && oA.tagName == 'A' )
            {
                if (! idFirstNode )
                    idFirstNode = oN.childNodes[ bE ].childNodes[ bE ].id;
                    
                if ( sUrl == oA.getAttribute( 'href', 2 ) ) 
                {
                    bFound = true;
                    idNode = oN.childNodes[ bE ].childNodes[ bE ].id;
                    break;
                }
            }
            if ( idNode == oN.childNodes[ bE ].childNodes[ bE ].id )
            {
                bFound = true;
                break;
            }
            
            if (! bFound ) 
            {
                sChain = oN.childNodes[ bE ].childNodes[ bE ].id;                
                fnGetId( sUrl, oN ); 
            }
            else 
                break;
        }
    }

    if ( bFound && sChain.length )
    {
        var a = sChain.split( ',' );
        for ( x=0; x < a.length; x++ )
            eval( "fnExpand( document.getElementById( '" + a[ x ] + "'), '" + a[ x ] + "' )" );
    }
    else
    {
        idNode = idFirstNode;
    }

    document.getElementById( idNode ).parentNode.className = 'menuItemOn';
    document.getElementById( idNode ).parentNode.onmouseout = '';
    fnSetMark( idNode );
}


function fnGetId( sUrl, o )
{
    var oR  = o;
    var idN = 0;
    for ( var i = 0; i < oR.childNodes.length; i++ ) 
    {
        if ( bFound ) return;    
        var oN = oR.childNodes[ i ];        
	    if ( oN.tagName == 'SPAN' ) 
	    {
	        var oImg = oN.childNodes[ bE ].childNodes[ bE ];
	        idN      = oImg.id;
            if ( oImg.name != '.' ) sChain += ',' + idN;
	        var oA = oN.childNodes[ bE ].childNodes[ bE+2 ];
	        if ( oA && oA.tagName == 'A' )
	            if ( sUrl == oA.getAttribute( 'href', 2 ) ) 
	            {
	                idNode = idN;
	                sChain += ',' + idN;
	                bFound = true;
                    return;
                }
            if ( idN == idNode )
            {
                sChain += ',' + idN;
                bFound = true;
                return;
            }
            if (! bFound) 
                fnGetId( sUrl, oN );
        }
	}
}

