function init() {
    // quit if this function has already been called
    if (arguments.callee.done) return;

    // flag this function so we don't do the same thing twice
    arguments.callee.done = true;

    // kill the timer
    if (_timer) {
        clearInterval(_timer);
        _timer = null;
    }
   
	var clickers = document.getElementsByClassName('nav_l3');
    var contents = document.getElementsByClassName('nav_l3_clicker');
    $('nav').accordion = new fx.Accordion(contents, clickers, {opacity: true});

    clickers = $('nav_l2_clicker');
    contents = $('nav_l2');
    contents.heightfx = new fx.Combo(contents, {height: true, opacity: true, delay: 100, onComplete: function(){if ($('nav_l2').offsetHeight > 0) $('nav_l2').style.height = '1%';} });
    contents.heightfx.toggle();
    
    if (typeof clickers.onclick == 'function') var exClick = clickers.onclick;
	clickers.onclick = function() {
		if (exClick) exClick();
		contents.heightfx.toggle();
	}
    
    clickers2 = $('nav_l2_clicker_2');
    contents2 = $('nav_l2_2');
    contents2.heightfx = new fx.Combo(contents2, {height: true, opacity: true, delay: 100, onComplete: function(){if ($('nav_l2_2').offsetHeight > 0) $('nav_l2_2').style.height = '1%';} });
    contents2.heightfx.toggle();

	if (typeof clickers2.onclick == 'function') var exClick2 = clickers2.onclick;
	clickers2.onclick = function() {
		if (exClick2) exClick2();
		contents2.heightfx.toggle();
	}
};

/* for Mozilla */
if (document.addEventListener) {
    document.addEventListener("DOMContentLoaded", init, false);
}

/* for Internet Explorer */
/*@cc_on @*/
/*@if (@_win32)
    document.write("<script id=__ie_onload defer src=javascript:void(0)></script>");
    var script = document.getElementById("__ie_onload");
    script.onreadystatechange = function() {
        if (this.readyState == "complete") {
            init(); // call the onload handler
        }
    };
/*@end @*/

/* for Safari */
if (/WebKit/i.test(navigator.userAgent)) { // sniff
    var _timer = setInterval(function() {
        if (/loaded|complete/.test(document.readyState)) {
            init(); // call the onload handler
        }
    }, 10);
}

/* for other browsers */
window.onload = init;