// <![CDATA[
var top = "top";
var right = "right";
var bottom = "bottom";
var left = "left";
var direzione;
var velocita;
var divScorrevole;
var timerDivScorrevole;
var dimensione;
var divInterno;
var pulsante;
var stoppato = false;

function impostaDivScorrevole(nomeDiv, dim, dir, vel, nomePulsante) {
	dimensione = dim;
	direzione = dir
	velocita = vel;
	pulsante = nomePulsante;

	divScorrevole = document.getElementById(nomeDiv);
	timerDivScorrevole = setInterval("sposta()", velocita);

	divInterno = document.createElement("div");
	var numNodi = divScorrevole.childNodes.length;
	var i = 0;
	while (i < numNodi) {
		try {
			var unNodo = divScorrevole.childNodes[0];
			if (unNodo.tagName != null) {
				divInterno.appendChild(unNodo);
			}
			divScorrevole.removeChild(unNodo);
		} catch (e) {
		}
		i++;
	}
	divScorrevole.appendChild(divInterno);

	switch (direzione) {
	case top:
		if (navigator.appName == "Netscape"
				&& navigator.userAgent.indexOf("Navigator") == -1) {
			divInterno.style.padding = "0px 0px 0px 0px";
		} else if (navigator.appName == "Opera"
				|| navigator.appName == "Microsoft Internet Explorer") {
			divInterno.style.padding = "0px 0px " + dimensione + "px 0px";
		}
		divInterno.style.margin = dimensione + "px 0px " + dimensione
				+ "px 0px";
		break;
	case bottom:
		break;
	case left:
	case right:
		divInterno.style.padding = "0px " + dimensione + "px 0px " + dimensione
				+ "px";
		if (navigator.appVersion.indexOf("MSIE 6.0") == -1 && navigator.appVersion.indexOf("MSIE 7.0") == -1 ) {
			pre = divInterno.firstChild;
			span = document.createElement("span");
			span.appendChild(document.createTextNode(" "));
			span.style.margin = "0px " + dimensione + "px 0px 0px";
			pre.appendChild(span);
		}
		break;
	}
	aggiungiEventi();

	if (pulsante) {
		pulsante = document.getElementById(pulsante);
		settaEventiPulsante();
	}

	switch (direzione) {
	case top:
		divScorrevole.scrollTop = 0;
		break;
	case right:
		divScorrevole.scrollRight = divScorrevole.scrollWidth;
		break;
	case bottom:
		divScorrevole.scrollTop = divScorrevole.scrollHeight;
		break;
	case left:
		divScorrevole.scrollLeft = 0;
		break;
	}
}

function aggiungiEventi() {
	var numNodi = divInterno.childNodes.length;
	var i = 0;
	while (i < numNodi) {
		try {
			var unNodo = divInterno.childNodes[i];
			unNodo.onmouseover = function() {
				clearInterval(timerDivScorrevole);
			};
			unNodo.onmouseout = function() {
				if (pulsante) {
					if (!stoppato) {
						timerDivScorrevole = setInterval('sposta()', velocita);
					}
				} else {
					timerDivScorrevole = setInterval('sposta()', velocita);
				}
			};
		} catch (e) {
		}
		i++;
	}
}

function settaEventiPulsante() {
	var playStop = "play";
	try {
		var attributo = pulsante.getAttribute("playStop");
		if (attributo != null) {
			playStop = attributo;
		}
	} catch (e) {
	}
	img = pulsante.getElementsByTagName("img")[0];
	if (playStop == "play") {
		pulsante.setAttribute("playStop", "stop");
		img.src = "./immagini/pausa.gif";
		img.title = "Ferma contenuto scorrevole";
		img.alt = "";
		pulsante.alt = "Ferma contenuto scorrevole";
		pulsante.onclick = function() {
			stop();
			return false;
		};
	} else {
		pulsante.setAttribute("playStop", "play");
		img.src = "./immagini/play.gif";
		img.title = "Avvia contenuto scorrevole";
		img.alt = "";
		pulsante.alt = "Avvia contenuto scorrevole";
		pulsante.onclick = function() {
			play();
			return false;
		};
	}
}

function play() {
	timerDivScorrevole = setInterval('sposta()', velocita);
	stoppato = false;
	settaEventiPulsante();
}

function stop() {
	clearInterval(timerDivScorrevole);
	stoppato = true;
	settaEventiPulsante();
}

function sposta() {
	var vecchioScrollTop = divScorrevole.scrollTop;
	var vecchioScrollLeft = divScorrevole.scrollLeft;
	switch (direzione) {
	case top:
		divScorrevole.scrollTop = divScorrevole.scrollTop + 1;
		if (vecchioScrollTop == divScorrevole.scrollTop) {
			divScorrevole.scrollTop = 0;
		}
		break;
	case right:
		divScorrevole.scrollLeft = divScorrevole.scrollLeft - 1;
		if (vecchioScrollLeft == divScorrevole.scrollLeft) {
			divScorrevole.scrollLeft = divScorrevole.scrollWidth;
		}
		break;
	case bottom:
		divScorrevole.scrollTop = divScorrevole.scrollTop - 1;
		if (vecchioScrollTop == divScorrevole.scrollTop) {
			divScorrevole.scrollTop = divScorrevole.scrollHeight;
		}
		break;
	case left:
		divScorrevole.scrollLeft = divScorrevole.scrollLeft + 1;
		if (vecchioScrollLeft == divScorrevole.scrollLeft) {
			divScorrevole.scrollLeft = 0;
		}
		break;
	}
}
// ]]>
