currentQuote = 0;



function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if (node == null) node = document;
	if (tag == null) tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if (pattern.test(els[i].className) ) {
		    classElements[j] = els[i];
		    j++;
		}
	}
	return classElements;
}



// crossbrowser opacity
function setOpacity(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity);
    object.MozOpacity = (opacity);
    object.KhtmlOpacity = (opacity );
    object.filter = "alpha(opacity=" + opacity*100 + ")";
}



function fadeDiv(id, fadeIn) {

	//set if is fade in or out
	var opacs = new Array();
	if (fadeIn) {
		opacs = ["0",".1",".2",".3",".4",".5",".6",".7",".8",".9","1","1"];
	} else {
		opacs = ["1",".9",".8",".7",".6",".5",".4",".3",".2",".1","0","0"];
	}
	
	//set display property
	for (var i = 0; i < opacs.length; i++) {
		opacTime = setTimeout("setOpacity('"+opacs[i]+"', '"+id+"');", i*100);
		if(i == (opacs.length-1)) {
			clearTimeout(opacTime);
			return true;
		}
	}
}



function changeQuote(){

	// decides which quote to display next
	var currentId = "quote_block_" + currentQuote;
	currentQuote = (currentQuote + 1) % quotes.length;
	var nextId = "quote_block_" + currentQuote;

	//fade out old quote
	var fadeOut = fadeDiv(currentId, false);
	
	if (fadeOut) {
		//swap quotes
		var hideTime = setTimeout("document.getElementById('"+ currentId +"').style.display = 'none';" , 1200);
		var showTime = setTimeout("document.getElementById('"+ nextId +"').style.display = 'block';" , 1200);
		var fadeInTime = setTimeout("fadeDiv('"+ nextId +"', true); ", 1200);
	}
	
	var rotateTime = setTimeout ( "changeQuote();", 5000 );
}



function initJS() {

	var mainDiv = document.getElementById('content');
	quotes = getElementsByClass('quote_block',mainDiv,'div');

	for (i = 0; i < quotes.length; i++) {
		quotes[i].style.display = 'none';
		setOpacity(0,quotes[i].id);
	}

	currentQuote = Math.floor(Math.random()*quotes.length);
	quotes[currentQuote].style.display = 'block';
	setOpacity(1,quotes[currentQuote].id);

	var rotateTime = setTimeout ( "changeQuote();", 5000 );
}



window.onload = initJS;