//---------------------------------------------------------------------------------------------------
//   SCRIPT NAME: accordian.js
//   DESCRIPTION: Accordian
//    ASSOCIATED: none
//        AUTHOR: sales@gonline.co.za
// CREATION DATE: 06/08/2009
//      MODIFIED:
//---------------------------------------------------------------------------------------------------

<!--start-->
// Hide all accordion item bodies except the first 1 else 0
var hide = 0;

var acc_items = new Array();

function init() {

// Grab the accordion items from the page
var divs = document.getElementsByTagName( 'div' );
for ( var i = 0; i < divs.length; i++ ) { if ( divs[i].className == 'acc_item' ) acc_items.push( divs[i] ); }

// Assign onclick events to the accordion item headings
for ( var i = 0; i < acc_items.length; i++ ) { var menu = getFirstChildWithTagName( acc_items[i], 'MENU' ); menu.onclick = toggleItem; }

// Hide all accordion item bodies except the first
for ( var i = hide; i < acc_items.length; i++ ) { acc_items[i].className = 'acc_item hide'; }
}

function toggleItem() {
var itemClass = this.parentNode.className;

// Hide all items
for ( var i = 0; i < acc_items.length; i++ ) { acc_items[i].className = 'acc_item hide'; }

// Show this item if it was previously hidden
if ( itemClass == 'acc_item hide' ) { this.parentNode.className = 'acc_item'; }
}

function getFirstChildWithTagName( element, tagName ) { for ( var i = 0; i < element.childNodes.length; i++ ) { if ( element.childNodes[i].nodeName == tagName ) return element.childNodes[i]; } }

<!--start-->