/* Rollover Scripts */

function log(v) {
    if (typeof(console) != 'undefined') {
	console.log(v);
    }
}

function addEvent( obj, type, fn ) {
  if ( obj.attachEvent ) {
    obj['e'+type+fn] = fn;
    obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
    obj.attachEvent( 'on'+type, obj[type+fn] );
  } else
    obj.addEventListener( type, fn, false );
}

function cancelEvent(e) { 
    if (e && e.preventDefault) { 
        e.preventDefault(); 
    } 
    return false; 
}


function init_rollover() {
    var r = document.getElementById('rollover');
    if (r == null) { return; }
    var content_number = 0;

    for (var i = 0; i < r.childNodes.length; i++) {
	var c = r.childNodes[i];

	if (c.tagName == 'DIV' && c.className == 'tabs') {
	    init_tabs(c);
	} else if (c.tagName == 'DIV' && c.className == 'content') {
	    c.content_number = content_number;
	    content_number += 1;
	    init_content(c);
	}
    }
}

function init_tabs(tabsElt) {
    var tab_number = 0;

    for (var i = 0; i < tabsElt.childNodes.length; i++) {
	c = tabsElt.childNodes[i];
	if (c.tagName == 'DIV' && c.className == 'tab') {
	    c.tab_number = tab_number;
	    addEvent(c, 'click', tab_click);
	    tab_number += 1;
	} 
    }
    tabs_update(-1);
}

function tab_click(e) {
    tabs_update(this.tab_number);
}

function tabs_update(active) {
    var tab_number = 0;
    var content_number = 0;

    var r = document.getElementById('rollover');

    for (var i = 0; i < r.childNodes.length; i++) {
	var c = r.childNodes[i];
	if (c.tagName == 'DIV' && c.className == 'tabs') {
	    for (var j = 0; j < c.childNodes.length; j++) {
		var t = c.childNodes[j];
		if (t.tagName == 'DIV') {
		    if (t.tab_number == active) {
			if (t.className == 'tab') {
			    t.className += ' active';
			} else {
			    t.className = t.className.replace(' active','');
			}
		    } else {
			t.className = t.className.replace(' active','');
		    }			
		    tab_number += 1;
		}
	    }
	} else if (c.tagName == 'DIV' && c.className == 'content') {

	    if (c.content_number == active) {
		if (c.style.display == 'block') {
		    c.style.display = 'none';
		} else {
		    c.style.display = 'block';
		}
	    } else {
		c.style.display = 'none';
	    }
	    content_number += 1;
	}
    }
}

function tab_close(e) {
    tabs_update(-1);
}

c_start = '<div class="top"><div class="bottom"><div class="middle"><a href="javascript:tab_close();" class="close"></a>';
c_end = '<br style="clear: both"/></div></div></div>';

function init_content(c_elt) {
    var h = c_elt.innerHTML;    
    c_elt.innerHTML = c_start + h + c_end;
}


addEvent(window, 'load', init_rollover);
