 function pageLoaded() {

	//inizializza Move
	Move.init();
	Move.fps = 25; //imposta Frame al secondo (opzionale)
	Move.pps = -40; //imposta pixel al secondo (opzionale)
}

function lento() {
	Move.pps *= .80;
}

function veloce() {
	Move.pps *= 1.20;
}

function display(str) {
	$('display').update(str);	
	}
	
function displayImgBig(str) {
	$('displayImgBig').update(str);	
	}


var Move = {
	fps: 25,
	pps: 20,
	stripeWidth: 0,
	x: 0,
	status: 'stop',

	init: function(event) {
//		alert('init');		
//		this.stripeWidth = 5;
//		alert(this.stripeWidth);		
		var baseDiv = 'stripBox';
		//var msg = '';
		this.stageWidth = Element.getDimensions($('Box')).width;
		this.stripeWidth = Element.getDimensions($('baseStrip')).width;
		this.stripeHeight = Element.getDimensions($('baseStrip')).height;
		
		Event.observe($('Box'), 'click', Move.open.bindAsEventListener(Move));

		if (this.stageWidth <= this.stripeWidth)
		{		
				
			var repliche = Math.floor(this.stageWidth / this.stripeWidth)+2;
	
			//this.start();
			Event.observe($('Box'), 'mouseover', Move.freeze.bindAsEventListener(Move));
			Event.observe($('Box'), 'mouseout', Move.start.bindAsEventListener(Move));
			
			this.stripBoxWidth = (repliche + 1) * this.stripeWidth
			//duplicate stripe
			Element.setStyle($('stripBox'),{
				width: this.stripBoxWidth,
				left:  '0px'
			});
			Element.setStyle($('Box'),{
				height: this.stripeHeight
			});
			var newStripe = $(baseDiv).innerHTML; //stripe in HTML
			for (var i=0; i <= repliche; i++) {
				new Insertion.Bottom($(baseDiv), newStripe);
			}
			this.moveAgent = new PeriodicalExecuter(this.mover,1/this.fps);
		}
		
	},


	start: function(event) {
		//alert('Start');
		var myDiv;// = Event.findElement(event, 'div');
		myDiv = $('Box');
		Element.removeClassName(myDiv,'cursorPointer');
		if (Element.classNames(myDiv) != 'BoxPreview') return;
		this.moveAgent = new PeriodicalExecuter(this.mover,1/this.fps);
		this.status = 'play';
		Event.stop(event);
	},
	freeze: function(event) {
		//alert('Freez');
		var myDiv = Event.findElement(event, 'div');
		if((Element.childOf($(myDiv),$('Box'))) || (Element.classNames(myDiv)=='BoxPreview')) {
			this.moveAgent.stop();
			this.status = 'stop';
			Event.stop(event);
		}
		Element.addClassName(myDiv,'cursorPointer');
	},
	mover: function() {
		Move.x += Move.pps / Move.fps;
		if ( Move.x >= Move.stripeWidth ) {
			Move.x -= Move.stripeWidth;
			//alert('reset1');
		}
		if ( Move.x <= -Move.stripeWidth ) {
			Move.x += Move.stripeWidth;
			//alert('reset2');
		}

		var newPos = Math.floor(Move.x - (Move.stripeWidth)) + 'px'
		Element.setStyle($('stripBox'),{
			left: newPos 
		});

	},
	open: function(event) {
		var elt = Event.findElement(event,'img');
		var newX, newY
		newX = 518

		if (elt){
			var msg = "Node Type; "+$(elt).src;
			
			newY = (Element.getDimensions($(elt)).height * newX) / Element.getDimensions($(elt)).width
		
			msg += '\nNew X: '+ newX + ' --- New Y: ' + newY;
	
			var myArr = $(elt).src.split('/');
			myArr[myArr.length-2] = '518_x';
			
			var imgTag = ""
			for (var i=0;i<myArr.length-1;i++) 
				imgTag += myArr[i] + '/';
			imgTag += myArr[myArr.length-1];
			
			displayImgBig('<img src="'+imgTag +'"><div class="dida">'+$(elt).title)+'</div>';
		}
	}
}//Move

Event.observe(window, 'load', pageLoaded);