var canvas_ok=0;

//                         |  _   |   \  _   /   | F_  |  _  |   _  |  _  |   _   /   \  _
var arr_lung = new Array(96, 20, 61, 65,28,65, 61,40,39,42,19, 40,20,45,18, 95, 50, 50, 50);
var arr_ang =  new Array(270, 0, 90,290, 0,68,270, 0,90, 0,90,180,90, 0,90,180,247,110,180);
var scala = 0.85;
var arr = 0;

// GRADIENTI
var x1 = 0;
var y1 = 20;
var x2 = 0;
var y2 = 230;
var dim_gradiente = 20;
var colore1 = "#8df1fb";	//#8df1fb
var colore2 = "#0032aa";	//#0032aa

// Variabili sfondo
var sfondo = "../../imgs_2009/immagini/testata/nuvole_intro.jpg";

// Immagini da scorrere
var elenco = new Array();
elenco[0] = "../../imgs_2009/immagini/testata/trafo_00.png";
elenco[1] = "../../imgs_2009/immagini/testata/trafo_01.png";
elenco[2] = "../../imgs_2009/immagini/testata/trafo_02.png";
var start = -300;
var partenza = start;
var arrivo = 1200;
var destinazione = 600;
var y = 0;
var l = 250;
var h = 250;
var arr = 0;


function controllo(a, lingua) {
	if(Modernizr.canvas)
		{
		var context = canvas.getContext("2d");
		
		var padre = document.getElementById("blocco_intestazione");
		var figlio = document.getElementById("testata");
		padre.removeChild(figlio);
		
		document.getElementById("canvas").height="258";

		gradiente_bottom(a, lingua);
		}
	else {
		var padre = document.getElementById("blocco_intestazione");
		var figlio = document.getElementById("canvas");
		padre.removeChild(figlio);
		
		document.getElementById("testata").style.height="298px";
		
		//document.getElementById("testata").innerHTML = "canvas non supportato";
		
		//document.getElementById("testata").style.backgroundColor = "#BBB";
		document.getElementById("testata").style.backgroundImage = "url(../../imgs_2009/immagini/testata_ita.jpg)";
		/*	
		if(lingua==1)document.getElementById("testata").style.backgroundImage = "../../imgs_2009/immagini/testata_ita.jpg";
		else if(lingua==2)document.getElementById("testata").style.backgroundImage = "../../imgs_2009/immagini/testata_eng.jpg";
		*/
		}
}

function gradiente(a, lingua) {	
	// Modifico la testata d riferimento
	var canvas = document.getElementById("canvas");
	var context = canvas.getContext("2d");
		
	//GRADIENTE 1
	var gradient1 = context.createLinearGradient(x1,y1,0,y1-a);
	gradient1.addColorStop(1, colore2);
	gradient1.addColorStop(0, colore1);
	
	context.fillStyle = gradient1;
	context.fillRect(x1,y1,955,-a);
	
	// GRADIENTE 2
	var gradient2 = context.createLinearGradient(x2,y2,0,y2+a);
	gradient2.addColorStop(0, colore1);
	gradient2.addColorStop(1, colore2);
	
	context.fillStyle = gradient2;
	context.fillRect(x2,y2,955,a);
		
	var attesa = 0;
	if(a<dim_gradiente)
		{
		a++;	
		setTimeout("gradiente("+a+", "+lingua+")", attesa);
		}
	else immagine(0);
	
	return;
	}
	
	
function immagine(alpha) {
	var canvas = document.getElementById("canvas");
	var context = canvas.getContext("2d");
	
	context.globalAlpha = alpha;
	
	var copertina = new Image();
	copertina.src = sfondo;
	context.drawImage(copertina,0,20,955,210,0,20,955,210);


	var attesa = 50;
	if(alpha<1)
		{
		alpha = alpha + 0.1;	
		setTimeout("immagine("+alpha+")", attesa);
		}
	else disegna2(40, 70, 0);
	//else dallanno(0);
	
	//img.step = 1;
	//var nuova = "../img/gradini_normale.jpg";
	//img.timer = setInterval( function() { transizione_off(img, nuova, tempo); }, tempo);
	}



function dallanno(a) {
	// Modifico la testata d riferimento
	var canvas = document.getElementById("canvas");
	var context = canvas.getContext("2d");
	
	
	//GRADIENTE 1
	var gradient1 = context.createLinearGradient(x1,y1,0,y1-a);
	gradient1.addColorStop(1, "#0032AA");
	gradient1.addColorStop(0, "#99CC33");
	
	context.fillStyle = gradient1;
	context.fillRect(x1,y1,955,-a);
	
	// GRADIENTE 2
	var gradient2 = context.createLinearGradient(x2,y2,0,y2+a);
	gradient2.addColorStop(0, "#99CC33");
	gradient2.addColorStop(1, "#0032AA");
	
	context.fillStyle = gradient2;
	context.fillRect(x2,y2,955,a);
		
	var attesa = 0;
	if(a<dim_gradiente)
		{
		a++;	
		setTimeout("dallanno("+a+")", attesa);
		}
	else disegna2(40, 70, 0);
	
	return;
	}


// DRAW
function draw() {
	var canvas = document.getElementById("canvas");  
	var context = canvas.getContext("2d");  
	
	//var copertina = new Image();
	//copertina.src = "../../imgs_2009/immagini/nuvole_intro.jpg";
	//alert(copertina.src);
	//context.drawImage(copertina,0,0,1000,500);
	
	//ctx.fillStyle = "rgb(200,0,0)";  
	//ctx.fillRect (10, 10, 55, 50);  
	  
	//ctx.fillStyle = "rgba(0, 0, 200, 0.5)";  
	//ctx.fillRect (30, 30, 55, 50);
	//ctx.fillStyle = "rgba(0, 200, 200, 0.5)";  
	//ctx.fillRect (20, 40, 55, 50);
	
	disegna(23, 30, arr_lung[arr], 0, arr);
	}


// DISEGNA
function disegna(x, y, lung, a, arr) {
	var canvas = document.getElementById("canvas");  
	var context = canvas.getContext("2d");
	
	var X = x;
	var Y = y;
	if(angolo==0 || angolo==90 || angolo==180 || angolo==270)lung = lung*scala;
	var angolo = arr_ang[arr];
	var angolo_rad = -1*angolo*Math.PI/180;
	var seno = Math.sin(angolo_rad);
	var coseno = Math.cos(angolo_rad);
	var tratto = 0;
		
	
	context.beginPath();
	
	
	context.strokeStyle = 'rgba(142,200,62,100)';
	//context.strokeStyle = 'rgba(0,50,171,100)';
	//context.strokeStyle = 'rgba(255,255,255,100)';
	var spessore = 1;
	context.lineWidth = spessore;
	context.moveTo(x,y);
	
	if(a!=0)
		{
		if(a<0)
			{
			a=0;
			}
		
		var incremento = 5;
		for(var i=1; i<=incremento; i++)
			{
			a++;
			if(a>=lung)break;
			}
		}
	
	if(angolo==0)
		{
		context.lineTo(x+a,y);
		X = x+a;
		}
	else if(angolo==180)
		{
		context.lineTo(x-a,y);
		X = x-a;
		}
	else if(angolo==90)
		{
		context.lineTo(x,y-a);
		Y = y-a;
		}
	else if(angolo==270)
		{
		context.lineTo(x,y+a);
		Y = y+a;
		}
	else
		{
		if(spessore>1)context.lineWidth = spessore-1;
		var x_temp = (x + coseno * a)*scala;
		var y_temp = (y + seno * a)*scala;
		context.lineTo(x_temp, y_temp);
		X = x_temp;
		Y = y_temp;
		//alert("test");
		}
		
		
	if(a==0)a=-100;
	
	// Disegno la linea
	context.stroke();
	
	var fine = 0;
	if((angolo==0 || angolo==90 || angolo==180 || angolo==270) & a>=lung)fine=1;
	else if(angolo!=0 & angolo!=90 & angolo!=180 & angolo!=270 & a>=lung)fine=1;
	
	if(fine==0)
		{
		var attesa = 0;
		setTimeout("disegna("+x+", "+y+", "+lung+", "+a+", "+arr+")", attesa);
		}
	else if(fine==1)
		{
		arr++;
		if(arr_lung.length>arr)disegna(X, Y, arr_lung[arr], 0, arr);
		//else alert("fine - Arr: " + arr);
		}
		
	//context.clearRect(340,40,300,300);
	context.fill();
	//alert("ok");
	return;
}


// DISEGNA
function disegna2(x, y, provenienza) {
	var canvas = document.getElementById("canvas");  
	var context = canvas.getContext("2d");
	var alpha = 1;
	
	context.beginPath();
	
	context.fillStyle = 'rgba(0,50,171,'+alpha+')';
	context.strokeStyle = 'rgba(150,150,150,'+alpha+')';		
	context.lineWidth = 1;
	
	context.moveTo(x,y);
	
	//arr_lung.length
	
	for(var b=0; b<arr_lung.length; b++)
		{
		var lung = arr_lung[b]*scala;
		var angolo = arr_ang[b];
		
		if(angolo==0)
			{
			context.lineTo(x+lung,y);
			x = x+lung;
			}
		else if(angolo==180)
			{
			context.lineTo(x-lung,y);
			x = x-lung;
			}
		else if(angolo==90)
			{
			context.lineTo(x,y-lung);
			y = y-lung;
			}
		else if(angolo==270)
			{
			context.lineTo(x,y+lung);
			y = y+lung;
			}
		else
			{
			var angolo_rad = -1*angolo*Math.PI/180;
			var seno = Math.sin(angolo_rad);
			var coseno = Math.cos(angolo_rad);
			
			var x_temp = x + coseno * lung;
			var y_temp = y + seno * lung;
			context.lineTo(x_temp, y_temp);
			x = x_temp;
			y = y_temp;
			}	
		}
	
	
	
	context.font = 'bold italic 19px arial';
	context.textBaseline = 'top';
	context.fillText  ('Trasformatori Srl', x, y+90);
	
	
	
	context.shadowBlur = 8;
	context.shadowColor = 'rgb(200,200,200)';
	context.fill();
	
	//context.stroke();
	
	context.shadowOffsetX = 5;
	context.shadowOffsetY = 4;
	context.shadowBlur    = 5;
	context.shadowColor   = 'rgba(0,0,0, 1)';
	context.fill();
	
	context.shadowOffsetX = 3;
	context.shadowOffsetY = 2;
	context.shadowBlur    = 0;
	context.shadowColor   = 'rgba(200, 200, 200, 1)';
	context.fill();
	
	context.shadowOffsetX = 0;
	context.shadowOffsetY = 0;
	context.shadowBlur    = 0;
	context.shadowColor   = "";
	context.fill();
	
	context.closePath();
	
	
	if(provenienza==0)galleria();
	
	return;
}





function galleria() {	
	//disegna_immagine(url, x, y, l, h);
	
	var attesa = 5;
	disegna_immagine(partenza, destinazione, y, l, h, 0, arr);
	//setTimeout("for(var a=0; a<elenco.length; a++){disegna_immagine(elenco[a], partenza, x, y, l, h, 0);}", attesa);
	//setTimeout("disegna_immagine('"+url+"', "+partenza+", "+x+", "+y+", "+l+", "+h+", 0)", attesa);
	
	return;	
}

function disegna_immagine(partenza, x, y, l, h, ritorno, arr) {
	var canvas = document.getElementById("canvas");  
	var context = canvas.getContext("2d");
	var url = elenco[arr];
	
	//GRADIENTE 1
	var gradient1 = context.createLinearGradient(x1,y1,0,y1-dim_gradiente);
	gradient1.addColorStop(1, colore2);
	gradient1.addColorStop(0, colore1);
	
	context.fillStyle = gradient1;
	context.fillRect(x1,y1,955,-dim_gradiente);
	
	
	// GRADIENTE 2
	var gradient2 = context.createLinearGradient(x2,y2,0,y2+dim_gradiente);
	gradient2.addColorStop(0, colore1);
	gradient2.addColorStop(1, colore2);
	
	context.fillStyle = gradient2;
	context.fillRect(x2,y2,955,dim_gradiente);
	
	var background = new Image();
	background.src = sfondo;
	context.drawImage(background,0,20,955,210,0,20,955,210);
	
	var trasformatore = new Image();
	trasformatore.src = url;
	context.drawImage(trasformatore,partenza,y,l,h);
		
	if(partenza<x & ritorno==0)
		{
		var velocita = Math.round((Math.floor(destinazione-partenza))/25);
		//document.getElementById("testata").innerHTML = velocita;
		if(velocita<1)velocita=0.5;
		
		partenza=partenza+velocita;
		if(partenza>=x)partenza=x;
		setTimeout("disegna_immagine("+partenza+", "+x+", "+y+", "+l+", "+h+", "+ritorno+", "+arr+")", 5);
		}
	else if(partenza==destinazione & ritorno==0)
		{
		partenza = partenza+25;
		ritorno=1;
		setTimeout("disegna_immagine("+partenza+", "+x+", "+y+", "+l+", "+h+", "+ritorno+", "+arr+")", 3000);
		}
	else if(partenza<arrivo & ritorno==1)
		{
		partenza= partenza+25;
		setTimeout("disegna_immagine("+partenza+", "+x+", "+y+", "+l+", "+h+", 1, "+arr+")", 5);
		}
	else if(partenza==arrivo & ritorno==1)
		{
		partenza==start;
		arr++;
		if(arr==elenco.length)arr=0;
		setTimeout("disegna_immagine("+start+", "+x+", "+y+", "+l+", "+h+", 0, "+arr+")", 5);
		}
	else
		{
		if(arr==elenco.length)arr=0;
		partenza=start;
		setTimeout("disegna_immagine("+partenza+", "+x+", "+y+", "+l+", "+h+", 0, "+arr+")", 0);	
		}
	
	disegna2(40, 70, 1);
	
	return;
}


function gradiente_bottom(a, lingua) {
	var canvas = document.getElementById("canvas_bottom");
	var context = canvas.getContext("2d");
	var variazione_pos = 150;

	var gradient1 = context.createLinearGradient(x1,y2-variazione_pos,0,y2-variazione_pos-dim_gradiente);
	gradient1.addColorStop(1, colore2);
	gradient1.addColorStop(0, colore1);
	
	context.fillStyle = gradient1;
	context.fillRect(x1,y2-variazione_pos,955,-dim_gradiente);
	
	gradiente(a, lingua);
	
	return;
}








