/* easytoggle2.js
   - Simon Willison, 5th November 2003
   - See http://simon.incutio.com/archive/2003/11/06/easytoggle

*/

addEvent(window, 'load', et_init, false);

var et_toggleElements = [];

/* Initialisation */


function et_init() {
    var i, link, id, target, first, listcode, last_listcode;
    first = true;
		last_listcode = '';
		for (i = 0; (link = document.links[i]); i++) {
        if (/\btoggle\b/.exec(link.className)) {
            id = link.href.split('#')[1];
            target = document.getElementById(id);
            et_toggleElements[et_toggleElements.length] = target;
            
						listcode = id.substr(0,3);
						
						if (last_listcode != listcode) {
							first = true;
							last_listcode = listcode;
						}
						if (first) {
                first = false;
								link.parentNode.className = 'selected';
						} else {
                target.style.display = 'none';
            }
            link.onclick = et_toggle;
        }
    }
}

function et_toggle(e) {
		/* Adapted from http://www.quirksmode.org/js/events_properties.html */
    if (typeof e == 'undefined') {
        var e = window.event;
    }
    var source;
		
		if (typeof e.target != 'undefined') {
        source = e.target;
    } else if (typeof e.srcElement != 'undefined') {
        source = e.srcElement;
    } else {
        return true;
    }
    /* For most browsers, targ would now be a link element; Safari however
       returns a text node so we need to check the node type to make sure */
    if (source.nodeType == 3) {
        source = source.parentNode;
    }
		
		//set selected and clear other tabs
		var tablist = source.parentNode.parentNode.childNodes;
		for (var i = 0; tabitem = tablist[i]; i++) {
			tabitem.className = '';
		}
		source.parentNode.className = 'selected';
							
		var id = source.href.split('#')[1];
		var listcode = id.substr(0,3);    
		var elem;

		for (var i = 0; (elem = et_toggleElements[i]); i++) {

				elem_listcode = elem.id.substr(0,3);
				//alert("elem.id.substr(0,3):"+elem.id.substr(0,3));
				
				//if the element belongs to the list code of the 
				//  tab that was clicked
				if(listcode == elem_listcode) {
					if (elem.id != id) {
							elem.style.display = 'none';
					} else {
							elem.style.display = 'block';
					}					
				}

    }
		
    return false;
}

/* Thanks to Scott Andrew */
function addEvent(obj, evType, fn, useCapture){
    if (obj.addEventListener) {
        obj.addEventListener(evType, fn, useCapture);
        return true;
    } else if (obj.attachEvent) {
        var r = obj.attachEvent("on"+evType, fn);
        return r;
    } else {
	    return false;
    }
}