function TextScroll(scrollname, div_name, div_scrollsx, div_scrolldx, up_name, down_name, up_nameDx, down_nameDx) {
	
	this.div_name = div_name;
	this.div_scrollsx = div_scrollsx;
	this.div_scrolldx = div_scrolldx;
	this.name = scrollname;
	this.scrollCursor = 0;
	this.speed = 10;
	this.timeoutID = 0;
	this.div_obj = null;
	this.up_name = up_name;
	this.dn_name = down_name;
	this.up_nameDx = up_nameDx;
	this.dn_nameDx = down_nameDx;

	//{
		if (document.getElementById) {
			div_obj = document.getElementById(this.div_name);
			div_obj2 = document.getElementById(this.div_scrollsx);
			div_obj3 = document.getElementById(this.div_scrolldx);
			if (div_obj) {
				this.div_obj = div_obj;
				this.div_obj.style.overflow = 'hidden';
				this.div_obj2 = div_obj2;
				this.div_obj2.style.overflow = 'hidden';
				this.div_obj3 = div_obj3;
				this.div_obj3.style.overflow = 'hidden';
			}
			div_up_obj = document.getElementById(this.up_name);
			div_dn_obj = document.getElementById(this.dn_name);
			div_up_objDx = document.getElementById(this.up_nameDx);
			div_dn_objDx = document.getElementById(this.dn_nameDx);
			
			if (div_up_obj && div_dn_obj) {
				
				div_up_obj.onmouseover = function() { eval(scrollname + ".scrollUp();") };
				div_up_obj.onmouseout = function() { eval(scrollname + ".stopScroll();") };
				
				div_dn_obj.onmouseover = function() { eval(scrollname + ".scrollDown();") };
				div_dn_obj.onmouseout = function() { eval(scrollname + ".stopScroll();") };
				//div_up_obj.setAttribute("onmouseover", scrollname + ".scrollUp();")
				//div_up_obj.setAttribute("onmouseout", scrollname + ".stopScroll();")

				//div_dn_obj.setAttribute("onmouseover", scrollname + ".scrollDown();")
				//div_dn_obj.setAttribute("onmouseout", scrollname + ".stopScroll();")
			}
			if (div_up_objDx && div_dn_objDx) {
			
				div_up_objDx.onmouseover = function() { eval(scrollname + ".scrollUp();") };
				div_up_objDx.onmouseout = function() { eval(scrollname + ".stopScroll();") };
				
				div_dn_objDx.onmouseover = function() { eval(scrollname + ".scrollDown();") };
				div_dn_objDx.onmouseout = function() { eval(scrollname + ".stopScroll();") };
				//div_up_objDx.setAttribute("onmouseover", scrollname + ".scrollUp();")
				//div_up_objDx.setAttribute("onmouseout", scrollname + ".stopScroll();")

				//div_dn_objDx.setAttribute("onmouseover", scrollname + ".scrollDown();")
				//div_dn_objDx.setAttribute("onmouseout", scrollname + ".stopScroll();")
			}
		}
	//}

	this.stopScroll = function() {
		clearTimeout(this.timeoutID);
	}
	
	this.scrollUp = function() {
		 if (this.div_obj) {
			this.scrollCursor = (this.scrollCursor - this.speed) < 0 ? 0 : this.scrollCursor - this.speed;
			this.div_obj.scrollTop = this.scrollCursor;
			this.div_obj2.scrollTop = this.scrollCursor;
			this.div_obj3.scrollTop = this.scrollCursor;
			this.timeoutID = setTimeout(this.name + ".scrollUp()", 60);
		}
	}
	/** originale **/
	this.scrollDown = function() {
		if (this.div_obj) {
			this.scrollCursor += this.speed;
			this.div_obj.scrollTop = this.scrollCursor;
			this.div_obj2.scrollTop = this.scrollCursor;
			this.div_obj3.scrollTop = this.scrollCursor;
			this.timeoutID = setTimeout(this.name + ".scrollDown()", 60);
		}
	}
	/** fix per scolling incrementale **/
	/*this.scrollDown = function() {
		if (this.div_obj) {
			this.scrollCursor += this.speed;
			this.div_obj.scrollTop = this.scrollCursor;
			this.div_obj2.scrollTop = this.scrollCursor;
			this.div_obj3.scrollTop = this.scrollCursor;
			if (this.div_obj.scrollTop == this.scrollCursor) {
				this.timeoutID = setTimeout(this.name + ".scrollDown()", 60);
			} 
			else {
				this.scrollCursor = this.div_obj.scrollTop-8;
			}
		}
	} */
	
	this.resetScroll = function() {
		if (this.div_obj) {
			this.div_obj.scrollTop = 0;
			this.div_obj2.scrollTop = 0;
			this.div_obj3.scrollTop = 0;
			this.scrollCursor = 0;
		}
	}
}


var div_scroll1 = null;

function initScroller(startday) {
	div_scroll1 = new TextScroll('div_scroll1', 'guidaTV', 'orariSx', 'orariDx', 'scroll_up', 'scroll_down', 'scroll_upDx', 'scroll_downDx');			
	if (startday != null) {
		setScroller(startday);
	}
}

function setScroller(startday) {
	var offset = getOffset(startday);
	if (offset > 100) {
		div_scroll1.scrollCursor = (offset - 50);
		div_scroll1.div_obj.scrollTop = div_scroll1.scrollCursor;
		div_scroll1.div_obj2.scrollTop = div_scroll1.scrollCursor;
		div_scroll1.div_obj3.scrollTop = div_scroll1.scrollCursor;
	}
}

// funzione per illuminare le categorie di programmi
function toggleClass(eE,dr){
	var o=document.getElementById(dr);
	var eM=o.className;
	if(o.className.indexOf(eE) < 0){
		if(eM!=''){
			eM=eM+" "+eE;
		}
		else eM=eE;
	}
	else eM=eM.replace(eE,'');
	o.className=eM;
}

// hide all boxes
// nb: Prototype.js is requested 
function hideDetail(cssClass) {
	var boxes = $$('div.' + cssClass);	
	for(var i = 0; i < boxes.length; i++) {
		try {
			var box = boxes[i]; 
			box.style.display = 'none';
		}
		catch ( e) {
			;
		}
	}
}

// Show the selected program detail
function showProgId(id) {
	hideDetail('box231_det');	
	var curbox = document.getElementById(id);
	curbox.style.display = 'block';
}


function getOffset(startHour) {
	var offset = 25;
	var pixels_minute = 1.6;
	
	var today=new Date();
	var h=today.getHours();
	var m=today.getMinutes();
	var min = (h * 60) + m;	
	
	if (startHour == 20) {
		offset += ( 4 * 60)* pixels_minute;
	}
	else if (startHour == 21) {
		offset += ( 3 * 60)* pixels_minute;
	}
	else if (startHour == 22) {
		offset += ( 2 * 60)* pixels_minute;
	}
	else {
		offset += ( 1 * 60)* pixels_minute;
	}
	
	offset += (min * pixels_minute);
	
	return offset;
}

function initBar(startHour) {
	var offset = getOffset(startHour);
	
	document.getElementById('oraAttuale').style.top = offset + 'px';
	
	t = setTimeout('initBar('+startHour+')',1000);
}


