﻿/**
 * Script per la barra laterale
 * - Senza JS : Impostato nel css la barra di scorrimento laterale
 * - Con JS : Controllo il testo presente, se il testo non ci sta nel box allora
 *   modifico dimensioni box testo, levo la barre, faccio apparire la barra personalizzata e abilito JS
**/
//Imposta la visibilità del div
function setVisibility(aId,visi){
	if (document.getElementById){
		if (visi == 0) document.getElementById(aId).style.visibility = 'hidden'
		else document.getElementById(aId).style.visibility = 'visible'
	} else {
		if (visi == 0) document.getElementById(aId).visibility = 'hidden'
		else document.getElementById(aId).visibility = 'show'
	}
}

//Controlla le dimensioni del div interno
function getDimensioniBox() {
	return document.getElementById('contenuto').scrollHeight
}

//Controlla se c'è bisogno bisogno della barra laterale e di sostituire il link
function controlla() {
	if (document.getElementById) {
		//Diminuisco la larghezza
        document.getElementById('contenitore').style.width = '610px'
		//Faccio si che non si veda il testo in eccesso
        document.getElementById('contenitore').style.overflow = 'hidden'
		//Se il box è troppo grande faccio apparire i comandi di scorrimento
        if (getDimensioniBox() >= 272) {
			setVisibility('scorrimento', 1)
			//Cambio le frecce a seconda della posizione del testo.
		}
    }
	return false
}

//Contiene tutte le funzioni necessarie per lo scrolling del testo
function Scorrimento() {
	//Imposta l'intervallo di scorrimento
	vel = 50
	//Tiene conto dello spostamento effettuato
	spostamento = 0
	//Calcola la posizione del cursore
	function posizioneCursore(spostamento) {
		numero = Math.abs(spostamento)/(document.getElementById('contenuto').scrollHeight - document.getElementById('contenitore').clientHeight);
		if(numero > 1) numero = 1;
		posizione = 1 + numero * 250;		
		return posizione;
	}
	//Scorre in basso il contenuto
	function giu() {
		if (Math.abs(spostamento) <= Math.abs((document.getElementById('contenuto').scrollHeight - document.getElementById('contenitore').clientHeight)) ) {
			spostamento += 10;
			document.getElementById('contenuto').style.marginTop = (-spostamento) + 'px'
			//Sposta il cursore in basso
			document.getElementById('cursore').style.marginTop = posizioneCursore(spostamento) + 'px';
		}
	}
	//Scorre in alto il contenuto
	function su() {
		//Effettua lo scorrimento solo se è positivo
		if(spostamento >= 10) {
			spostamento -= 10;
			document.getElementById('contenuto').style.marginTop = (-spostamento) + 'px'
			document.getElementById('cursore').style.marginTop =posizioneCursore(spostamento) + 'px';
		}
	}

	//variabile di controllo per vaiGiu
	controlloGiu = false
	//Richiama giu() e poi richiama se stessa dopo tot secondi se controlloGiu è true
	function vaiGiu() {
		if (controlloGiu) {
			giu(); setTimeout(function() {vaiGiu()},vel)
		}
	}
	//Imposta controlloGiu a true e richiama vaiGiu
	this.avviaGiu = function () { controlloGiu = true; setTimeout(function() {vaiGiu()},vel);  return false;}
	//Imposta controlloGiu a false
	this.stopGiu = function () { controlloGiu=false;  return false;}
	//Variabile di controllo per vaiSu
	controlloSu = false
	//Richiama su() e poi richiama se stessa dopo tot secondi se controlloSu è true
	function vaiSu() {
		if (controlloSu) {
			su(); setTimeout(function() {vaiSu()},vel)
		}
	}
    //Imposta controlloSu a true e richiama vaiSu
    this.avviaSu = function () { controlloSu = true; setTimeout(function() {vaiSu()},vel); return false; }
    //Imposta controlloSu a false
    this.stopSu = function () { controlloSu=false; return false; }
}

var scor = new Scorrimento()

/*
 * Codice per la gestione dell'apertura dei popup con tabella
 */
function apriTabella(nometabella) {

	window.open(nometabella);
	
	return false;
}
