﻿var randomSquares = false;
var closeText = "CHIUDI";

function moveSquare() {
	var n = Math.ceil( Math.random() * maxSquares );
				
	// move the square in an empty square
	var randPos = Math.floor( Math.random() * emptySquares.length );
	var newPos = emptySquares[ randPos ];
	var oldPos = -1;
	for( var i=0; i<squares.length; i++ ) {
		if( squares[i] == n ) {
			oldPos = i;
			break;
		}
	}
	
	if( oldPos != -1 ) {		
		if( randomSquares ) {
			do {
				var present = false;
				n = Math.ceil( Math.random() * maxSquares );
				for( var i=0; i<squares.length; i++ ) {
					if( squares[i] == n ) {
						present = true;
						break;
					}
				}
			} while( present );
		}
		
		squares[ oldPos ] = 0;
		squares[ newPos ] = n;
		emptySquares[ randPos ] = oldPos;
		
		dissolveSquare( oldPos, newPos, n );
	} else {
		moveSquare();
	}
}

function dissolveSquare( oldPos, newPos, n ) {
	var img = document.getElementById( "img" + oldPos );
	if( img.style.opacity > 0 ) {
		img.style.opacity = parseFloat( img.style.opacity ) - 0.1;
		img.style.filter = "alpha( opacity = " + parseInt( parseFloat( img.style.opacity ) * 100 ) + " )";
		
		setTimeout( "dissolveSquare( '" + oldPos + "', '" + newPos + "', '" + n + "' )", 100 );
	} else {
		var div = document.getElementById( "sq" + oldPos );
		if( div )
			div.innerHTML = "";
		redrawSquare( true, newPos, n );
	}
}

function redrawSquare( first, newPos, n ) {
	if( first ) {
		var div = document.getElementById( "sq" + newPos );
		var img = document.createElement( "img" );
		img.src = "images/sq" + n + ".jpg";
		img.id = "img" + newPos;
		img.style.opacity = 0;
		img.style.filter = "alpha( opacity = 0 )";
		if( div ) {
			div.innerHTML = "";
			div.appendChild( img );
		}
	} else {
		var img = document.getElementById( "img" + newPos );
		
		if( img.style.opacity < 1 ) {
			img.style.opacity = parseFloat( img.style.opacity ) + 0.1;
			img.style.filter = "alpha( opacity = " + parseInt( parseFloat( img.style.opacity ) * 100 ) + " )";
		} else {
			setTimeout( "moveSquare()", 1000 );
			return;
		}
	}
	
	setTimeout( "redrawSquare( false, '" + newPos + "', '" + n + "')", 100 );
}

function showBigImage( img, op ) {
	if( !op ) op = 0;
	
	var cnt = document.getElementById( "big_image" );
	if( cnt ) {
		cnt.innerHTML = "<a href=\"javascript:hideBigImage(1)\">" + closeText + "</a><br/><img src='" + img + "' onclick=\"hideBigImage(1)\" /><br/><a href=\"javascript:hideBigImage(1)\">" + closeText + "</a>";
		cnt.style.display = "block";
		cnt.style.opacity = op;
		cnt.style.filter = "alpha( opacity = " + ( op * 100 ) + " )";
		
		if( op < 1 ) {
			setTimeout( "showBigImage( '" + img + "', " + ( op + 0.1 ) + " )", 100 );
		}
	}
}

function hideBigImage(op) {
	var cnt = document.getElementById( "big_image" );
	if( cnt ) {
		cnt.style.opacity = op;
		cnt.style.filter = "alpha( opacity = " + ( op * 100 ) + " )";
		if( op > 0 )
			setTimeout( "hideBigImage( " + ( op - 0.1 ) + " )", 100 );
		else
			cnt.style.display = "none";
	}
}

