var master_ul
var second_ul_layer
var third_ul_layer

$(document).ready(function() {
    var nav_div = document.getElementById("leftnavi")
    var uls = nav_div.getElementsByTagName("ul")
    for(var i = 0; i < uls.length; i++) {
        if (uls[i].parentNode == nav_div) {
            master_ul = uls[i]
            break
        }
    }
    second_ul_layer = new Array()
    for(var i = 0; i < uls.length; i++) {
        if(uls[i].parentNode.parentNode == master_ul) {
            second_ul_layer.push(new Object())
            index = second_ul_layer.length - 1
            second_ul_layer[index] = uls[i]
        }
    }

    third_ul_layer = new Array()
    for(var l = 0; l < second_ul_layer.length; l++) {
        for(var i = 0; i < uls.length; i++) {
            if(uls[i].parentNode.parentNode == second_ul_layer[l]) {
                third_ul_layer.push(new Object())
                index = third_ul_layer.length - 1
                third_ul_layer[index]['object'] = new Object()
                third_ul_layer[index]['object'] = uls[i]
                third_ul_layer[index]['parent'] = new Object()
                third_ul_layer[index]['parent'] = second_ul_layer[l]
            }
        }
    }

    navigation_hide_all_second_layer(true)
    navigation_show_active()
})

function navigation_hide_all_second_layer(immediately) {
    for(var i = 0; i < second_ul_layer.length; i++) {
        layer = second_ul_layer[i]
        navigation_hide_all_third_layer(layer, true)
        if(!immediately) {
			$(layer).hide('fast')
		}
		else {
			$(layer).css({'display' : 'none'})
		}
    }
}

function navigation_hide_all_third_layer(second_layer, immediately) {
    for(var i = 0; i < third_ul_layer.length; i++) {
        if(third_ul_layer[i]['parent'] == second_layer) {
			if(!immediately) {
				$(third_ul_layer[i]['object']).slideUp('fast')
			}
			else {
				$(third_ul_layer[i]['object']).css({'display' : 'none'})
			}
        }
    }
}

function navigation_show_active() {
    for(var i = 0; i < third_ul_layer.length; i++) {
        a_list = third_ul_layer[i]['object'].getElementsByTagName('a')
        for(var j = 0; j < a_list.length; j++) {
            if(a_list[j].className == 'active') {
                $(third_ul_layer[i]['parent']).css({'display':'block'})
                $(third_ul_layer[i]['object']).css({'display':'block'})
                return
            }
        }
    }
    for(var i = 0; i < second_ul_layer.length; i++) {
        a_list = second_ul_layer[i].getElementsByTagName('a')
        for(var j = 0; j < a_list.length; j++) {
            if(a_list[j].className == 'active') {
                $(second_ul_layer[i]).css({'display':'block'});
                return
            }
        }
    }
}

function navigation_open(e, category_li) {
    e.cancelBubble = true
    var ul = category_li.childNodes[1]
    var open = (ul.style.display == 'block') ? false : true;
    var ismaster = (category_li.parentNode == master_ul)	
    if(ismaster) {
        navigation_hide_all_second_layer(false)
        if(open) {
            $(ul).slideDown('fast')
        }
    }
    if(!ismaster) {
        var parent_ul = category_li.parentNode
        navigation_hide_all_third_layer(parent_ul, false)
        if(open) {
            $(ul).slideDown('fast')
        }
    }
}

function navigation_abort_event(e) {
    e.cancelBubble = true
}
