// Free for personal and non-commercial use

// http://www.jsworld.com/



var section_id;

var section_status = 0;

var menu_timeout_id;



function get_element(name) {

	if (document.all) {

		return document.all[name];

	} else {

		return document.getElementById(name);

	}

}



function collapse_menu() {

	var sections_array = new Array();

	sections_array = section_ids.split(";");

	var i = 0;

	var ul_element;

	while (sections_array[i]) {

		ul_element = get_element("menu-"+sections_array[i]);

		ul_element.style.display="none";

		i++;

	}

}



function section_on_now(tmp_section_id) {

        section_id = tmp_section_id;

        section_status = 1;

        section_show(); 

}



function menu_on() {

    if (section_status == 3) {

        clearTimeout(menu_timeout_id);

        section_status = 2;

   } 

}



function menu_off() {

    if (section_status == 2) {

        section_status = 3;

        menu_timeout_id = setTimeout("section_hide()",1000);

    }

}



function section_off() {

    if (section_status == 2) { 

        section_status = 3;

        menu_timeout_id = setTimeout("section_hide()",1000);

    } else if (section_status == 1) { 

        clearTimeout(menu_timeout_id);

        section_status = 0;

    }

}



function section_on(tmp_section_id) {

    if (section_status == 0) {

        section_status = 1;

        section_id = tmp_section_id;

        menu_timeout_id = setTimeout("section_show()",150);

    } else if (section_status == 3) {

        clearTimeout(menu_timeout_id);

        if ( section_id == tmp_section_id) {

            section_status = 2;

        } else {

            section_id = tmp_section_id;

            section_status = 1;

            section_show();

        }

    }

}



function section_show() {

    if (section_status == 1) {

        collapse_menu();

        ul_element = get_element("menu-"+section_id);

        ul_element.style.display="block"; 

        section_status = 2;

    } 

}



function section_hide() {

    if (section_status == 1) {

        section_status = 0;

    } else if (section_status == 3) {

        collapse_menu();

        section_status = 0;

    }

}
