// JavaScript Document

var newsMarquee = Class.create({

	initialize: function(element,options) {		
		this.element = $(element);
		this.innerDiv = this.element.down('div');
		this.options = {
			speed: 4, 
			control: true 
		};
		Object.extend(this.options, options || {});
		
		this.playScroll();
		if (this.options.control) {
			this.addObserver();
		}
	},
	
	addObserver: function() {
		this.element.observe('mouseover', this.pauseScroll.bind(this));
		this.element.observe('mouseout', this.playScroll.bind(this));	
	},
	
	playScroll: function(){
  		this.scrolling = true;
  		this.startScroll();
	},
	
	pauseScroll: function(){
		if (this.timeout) {	
			this.timeout.stop();
			this.scrolling = false;
		}
	},
	
	startScroll: function(){ 		
		if (this.scrolling) {   		
			this.timeout = new PeriodicalExecuter(function(){
	  			this.executeScroll();
	 		}.bind(this), this.options.speed/100);
		}		
	}
		
});

var horizontalMarquee = Class.create(newsMarquee,{

	initialize: function($super,element,options) {	
		$super(element,options);

		this.initialWidth = this.element.getWidth();		
		this.childWidth = 0;		
		this.childs = this.innerDiv.childElements();
		this.childs[0].style.paddingLeft= this.initialWidth+'px';
		this.childs[this.childs.length-1].style.paddingRight= this.initialWidth+'px';
		this.childs.each(function(node) {			
 				this.childWidth += node.getWidth();
 			}.bind(this)
 		)		
  		this.innerDiv.style.width = this.childWidth+'px';
	}, 
	
	executeScroll: function() {
		if (this.element.scrollLeft > (this.element.scrollWidth-this.initialWidth)) {
    		this.element.scrollLeft = 0;
  		}
		this.element.scrollLeft = this.element.scrollLeft+1;		
	}

});


var verticalMarquee = Class.create(newsMarquee,{

	initialize: function($super,element,options) {
		$super(element,options);		
		this.initialHeight = this.element.getHeight();
		this.innerDiv.style.paddingTop = this.initialHeight+'px';
  		this.innerDiv.style.paddingBottom = this.initialHeight+'px';	
	}, 
	
	executeScroll: function() {
		if (this.element.scrollTop>=(this.element.scrollHeight-this.initialHeight)) {
			this.element.scrollTop=0; 	
		}
		this.element.scrollTop = this.element.scrollTop+1;	
	}

});

function Key (e,tasto,pulsante) {
  var keyPressed;
  if(window.event) {
    keyPressed = window.event.keyCode; // IE
  } else {
    keyPressed = e.which; // Firefox
  }

  if (keyPressed == tasto) { 
    __doPostBack(pulsante,'') 
  }

}

 function cambia0(contenuto) {
  document.getElementById("testo0").innerHTML = contenuto;
 }

function cambia(contenuto) {
  document.getElementById("testo1").innerHTML = contenuto;
}

// tempo di attesa tra un’immagine e un’altra espressa in millesimi di secondo
tempo = 7000;
tempo2 = 7500;
// creiamo la variabile elemente che verrà poi utilizzata dentro la funzione start
elemento = "";
elemento2 = "";
// Array nel quale inserire gli url delle varie immagini che si desiderano far alternare. Si possono aggiungere quanti url si vogliono
immagini = new Array();
immagini[0]='Img/TradingP.jpg';
immagini[1]='http://www.c-t-a.org/Img/InoperaPiccolo.png';
immagini[2]='http://www.c-t-a.org/Img/comunica.gif';

immagini2 = new Array();
immagini2[0]='http://www.c-t-a.org/Img/cedialogo.jpg';
immagini2[1]='Img/logoeutelsat.gif';
immagini2[2]='http://www.c-t-a.org/Img/mediasetpremium1.jpg';

function start(id){
//salva nella variabile elemento il tag img che corrisponde all’id passato
//N.B. L’elemento corrispondendente a quell’id deve esistere, in caso contrario lo script non funzionerà
elemento = window.document.getElementById(id);
//richiama la funzione immagine()
immagine();
}

function start2(id){
//salva nella variabile elemento il tag img che corrisponde all’id passato
//N.B. L’elemento corrispondendente a quell’id deve esistere, in caso contrario lo script non funzionerà
elemento2 = window.document.getElementById(id);
//richiama la funzione immagine()
immagine2();
}

function immagine(){
//Estrae un numero casuale tra 0 e la lunghezza dell’array – 1. Ad ogni valore
//corrisponde un dato url, tramite il ciclo do-while si controlla che il nuovo url non corrisponda al vecchio, se ciò
//si verifica, allora si provvede a far estrarre un altro numero, finchè gli url non sono diversi tra loro.
do{
num = Math.round((immagini.length-1)*Math.random());
}while(elemento.src == immagini[num]);
//Assegna l’url estratto in modo casuale all’immagine, cosi che l’utente possa visualizzare
//una nuova immagine sul proprio monitor
elemento.src = immagini[num];
//Richiama dopo il valore della variabile tempo la funzione immagine()
window.setTimeout("immagine()", tempo);
}

function immagine2(){
//Estrae un numero casuale tra 0 e la lunghezza dell’array – 1. Ad ogni valore
//corrisponde un dato url, tramite il ciclo do-while si controlla che il nuovo url non corrisponda al vecchio, se ciò
//si verifica, allora si provvede a far estrarre un altro numero, finchè gli url non sono diversi tra loro.
do{
num = Math.round((immagini2.length-1)*Math.random());
}while(elemento2.src == immagini2[num]);
//Assegna l’url estratto in modo casuale all’immagine, cosi che l’utente possa visualizzare
//una nuova immagine sul proprio monitor
elemento2.src = immagini2[num];
//Richiama dopo il valore della variabile tempo la funzione immagine()
window.setTimeout("immagine2()", tempo2);
}
