﻿/* 
CUSTOM CATEGORIES NAVIGATION V2.0
(c) Sistrum 2008
*/

function CustomCategoriesNavigation2(menuId)
{
    if(!menuId) menuId = "customCategoriesNavigation2";
    var selectedId = "customCategoriesNavigation2selected";

    var menu = document.getElementById(menuId);
    menu.onclick = CustomCategoriesNavigation2Toggle;

    //selected li
    var selectedMenuElem = document.getElementById("selected_category");
    
    if(selectedMenuElem)
    {    
        var ul = GetChildNodeByTagName(selectedMenuElem, "ul");
        if(ul) 
        {
            ul.style.display = "block";
            var span = GetChildNodeByTagName(selectedMenuElem, "span");
            CustomCategoriesNavigation2FormatExpander(span, true);
        }
        
        do
        {
            selectedMenuElem.style.display = "block";
            selectedMenuElem = selectedMenuElem.parentNode;
        }
        while(selectedMenuElem.parentNode.tagName.toLowerCase() != "div");
    }
}

function GetChildNodeByTagName(parent, tagName)
{
    if(!parent || !parent.childNodes || !tagName)
        return;
    tagName = tagName.toLowerCase();
    for(var i = 0; i<parent.childNodes.length; i++)
        if(parent.childNodes[i].tagName && (parent.childNodes[i].tagName.toLowerCase() == tagName))
            return parent.childNodes[i];
    return null;
}

function CustomCategoriesNavigation2Toggle()
{    
    var elem, li, ul, e, span;
    
    // dohvati event
    e = arguments.length == 1 ? arguments[0] : window.event;    	
	
	// nađi elem na koji je kliknuto
	if(e.target)
	    elem = e.target;
	else
	    if (e.srcElement) 
	        elem = e.srcElement;

    //propusti klik na href
    if(!elem || !elem.tagName || (elem.tagName.toLowerCase() == "a"))
        return;
          
    // pronađi prvi LI parent          
    li = elem;    
    while(!li.tagName || (li.tagName && (li.tagName.toLowerCase() != "li")))
        li = li.parentNode;
    
    if(li.childNodes.length == 0) return;
    
    // dohvati UL ispod kliknutog LI
    ul = GetChildNodeByTagName(li, "ul");
    if(!ul) return;    
    span = GetChildNodeByTagName(li, "span");
    
    // toggle prikaza   
    if((ul.style.display == "") || (ul.style.display == "none"))
    {
        ul.style.display = "block";
        CustomCategoriesNavigation2FormatExpander(span, true);        
    }
    else
    {
        ul.style.display = "none";    
        CustomCategoriesNavigation2FormatExpander(span, false);
    }
}


function CustomCategoriesNavigation2FormatExpander(span, isOpen)
{
    if(!span) return;
    if(isOpen)
    {
        span.innerHTML = "-";
        span.className = "category_navigation_open"
    }
    else
    {
        span.innerHTML = "+";
        span.className = "category_navigation_closed"
    }            
}