function getElementsByClassName(strClassName, obj) { // document.getElementsByClassName doesn't work except in init() ...?
    var ar = arguments[2] || new Array();
    var re = new RegExp("\\b" + strClassName + "\\b", "g");

    if ( re.test(obj.className) ) {
        ar.push( obj );
    }
    for ( var i = 0; i < obj.childNodes.length; i++ )
        getElementsByClassName( strClassName, obj.childNodes[i], ar );
    
    return ar;
}

// vars for the menu swoosh

var exists;
var allStretch;

//the main function, call to the effect object
function init(){
	var divs = document.getElementsByClassName("stretcher");
	allStretch = new fx.MultiFadeSize(divs, {duration: 400});

	items = document.getElementsByClassName("display");
	for (i = 0; i < items.length; i++){
		var h3 = items[i];
		div = h3.nextSibling;
		h3.title = h3.className.replace("display ", "");

		if (window.location.href.indexOf(h3.title) < 0) {
			allStretch.hide(div, 'height');
			if (exists != true) exists = false;
		}
		else exists = true;

		h3.onclick = function(){
			allStretch.showThisHideOpen(this.nextSibling, 100, 'height');
		}
	}
	try{if (exists == false) $('menu').childNodes[1].fs.toggle('height');} catch(e){;}
	try{if (exists == false) $('menu').childNodes[1].fs.toggle('height');} catch(e){;}


}

// end of menu swoosh thing

var blogText; // effect object for text size

window.onload = function(){
	// assign effect
	blogText = new fx.RememberText('blog',{duration: 400});	
}

// actual function to change fonts (sizes are in em)
function resizeBlog(what) {
	var sizes = new Array();
	sizes["smallest"] = 0.6;
	sizes["smaller"] = 0.8;
	sizes["normal"] = 1;
	sizes["larger"] = 1.2;
	sizes["largest"] = 1.4;
	var start = 0.1;
	if(sizes[what]) {
		blogText.custom(start, sizes[what]);
	}
}