/**
 * @author klo
 */
addEvent(window, 'load', initSub);

function initSub(){	
	var cardTabs = document.getElementById("cardTabs");
	var tabs = cardTabs.getElementsByTagName("h1");
	
	var cardPanel = new CardPanel();
	var cardBodys = document.getElementsByClassName('cardBody');
	for (var i=0; i<tabs.length; i++) {
		cardPanel.add(
			{'tab':tabs[i], 'body':cardBodys[i]}
		);
	}
	
	for (var i=0; i<tabs.length; i++) {
		addEvent(tabs[i], 'mouseover', function() { cardPanel.show(this);});
	}
}

//modified from http://www.robertnyman.com/index.php?p=256
document.getElementsByClassName = function (className, tag){
	var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
	var tag = tag || "*";
	//var elm = elm || document;
	elm = this;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

function addClassName (ele, cname) {
	if (!ele) return;
	if (hasClassName(ele, cname)) return;	//already have cname.
	if ( (typeof ele.className === 'undefined') || (ele.className === '') ) {	//if no className
		ele.className=cname;
	} else {	//already has some className.  then add with a space.
		ele.className += (' ' + cname);
	}
}

function removeClassName (ele, cname) {
	if (!ele || !hasClassName(ele, cname)) return;

	if (ele.className == cname) ele.className='';
	else {
		var re = new RegExp("\\s*\\b" + cname + "\\b");	//\b: word boundary
		ele.className = ele.className.replace(re, '');
	}
}

function hasClassName(ele, c) {
	if (!ele.className) return false;
	re = new RegExp("\\b" + c + "\\b");	//\b: word boundary
	if (re.test(ele.className)) return true;
	else return false;
}
