function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	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;
}

var items = getElementsByClassName("newscontent");
var howManyItems = items.length;
var widthPerItem = 205;
var smoothness = 5; // Bugi @ korkeammat arvot?
var atNewsNow = 1;
var whereToStop;
var box = document.getElementById('newsbox');
var idleShow = 1;
var rollin;
document.getElementById('holder').style.width = howManyItems * widthPerItem + "px";

// Tämä kutsutaan klikkaamalla << tai >> (-1 tai 1)
function atNews(numba){
	if(rollin !== ""){
		clearTimeout(rollin);
		box.scrollLeft = whereToStop;
	}
	idleShow = 0;
	atNewsNow += numba;
	newsScroll(numba);
}
// Itse pyörittämisfunkkari
function newsScroll(suunta){
	if(rollin) clearTimeout(rollin);
	if(atNewsNow == howManyItems +1){
		// Ollaan vikassa uutisessa
		suunta = 0;
		atNewsNow = howManyItems;
	}
	if(atNewsNow == 0){
		// Ollaan ekassa uutisessa
		suunta = 0;
		atNewsNow = 1;
	}
	whereToStop = atNewsNow * widthPerItem - widthPerItem;
	if(box.scrollLeft != whereToStop -10 && box.scrollLeft != whereToStop +10){
		box.scrollLeft += suunta * smoothness;
		rollin = setTimeout("newsScroll('"+suunta+"');", 10);
	}
	else{
		clearTimeout(rollin);
		box.scrollLeft = whereToStop; // Heitä uutisdivin scrolli tasan tarkkaan oikean uutisen kohdalle
	}
}
// Automaaginen yhden pykälän uutistyöntö
function sirkus(){
	if(idleShow == 1){
		atNews(1);
		idleShow = 0;
	}
}
setTimeout("sirkus()", 10000);