﻿var ShoweyHidey = new function() {

    this.Setup = function() {

        var aH4 = document.body.getElementsByTagName('h4');

        for (var i = 0; i < aH4.length; i++) {
            var j = 0;
            
            var oNextSibling = aH4[i].nextSibling;
            while (oNextSibling && oNextSibling.nodeType != 1) {
                oNextSibling = oNextSibling.nextSibling
            }

            while (oNextSibling && oNextSibling.nodeName.toLowerCase() != 'h4') {
                if (oNextSibling.id == '') oNextSibling.id = 'ShoweyHidey_' + i + '_' + j;

                f.Hide(oNextSibling);
                f.AddClass(oNextSibling, 'showeyhidey');

                if (j == 0) {
                    f.AttachEvent(aH4[i], 'click', new Function('ToggleByClass(' + i + ');'));
                    f.AddClass(aH4[i], 'showeyhidey');
                    aH4[i].id = 'ShoweyHidey_' + i
                }
                
                oNextSibling = oNextSibling.nextSibling
                while (oNextSibling && oNextSibling.nodeType != 1) {
                    oNextSibling = oNextSibling.nextSibling
                }
                
                j++;
            }
        }
    }
}

function ToggleByClass(iPrefix) {
    var aH5 = f.GetObjectsByIDPrefix('ShoweyHidey_' + iPrefix, 'h5');
    for (var i = 0; i < aH5.length; i++) {
        f.Toggle(aH5[i]);
    }

    if (f.GetClass('ShoweyHidey_' + iPrefix).indexOf('expanded') > 0) {
        f.RemoveClass('ShoweyHidey_' + iPrefix, 'expanded');
    } else {
        f.AddClass('ShoweyHidey_' + iPrefix, 'expanded');
    }
    
//    var aH6 = f.GetObjectsByIDPrefix('ShoweyHidey_' + iPrefix, 'h6');
//    for (var j = 0; j < aH6.length; j++) {
//        f.Toggle(aH6[j]);
//    }

    var aP = f.GetObjectsByIDPrefix('ShoweyHidey_' + iPrefix, 'p');
    for (var j = 0; j < aP.length; j++) {
        f.Toggle(aP[j]);
    }
}

