/**
 * jQuery.ScrollToDiv - Element scrolling using a 2D map, scrollTo and jQuery
 * Copyright (c) Federica Sibella - musings@musings.it - http://www.musings.it
 * Licensed under GPL
 * @author Federica Sibella @musings.it
 * @version 1.0
 * Last modified: 2010 April 06
 * for info write to: musings@musings.it
 */
jQuery(function( $ ){
	
 // This one is important, many browsers don't reset scroll on refreshes
 // Reset all scrollable panes to (0,0)
 $('#schermo').scrollTo( "#cinque", { margin: true } );
 // Reset the screen to (0,0)
 $.scrollTo( "#cinque", { margin: true } );
 $('#cinque').toggleClass('selected');
 
 //preparing the map
 
 var mappa = new Array(3);
 	for (i=0; i <3; i++)
	mappa[i]=new Array(3) 

 // mappa [riga][colonna] = 'id div';
 mappa[0][0] = 'uno';
 mappa[0][1] = 'due';
 mappa[0][2] = 'tre';
 mappa[1][0] = 'quattro';
 mappa[1][1] = 'cinque';
 mappa[1][2] = 'sei';
 mappa[2][0] = 'sette';
 mappa[2][1] = 'otto';
 mappa[2][2] = 'nove';

  var $target = '';
  var arrivoId = '';
  var partenzaId = '';
  var position = 0;
  var riga = 0;
  var colonna = 0;
  
  var $paneTarget = $('#schermo');

// click function for the arrows that scroll the DIVs
// right

 $('#frecciaDx').click(function(){
 	partenzaId = $('.selected').attr('id');
	i=0;
	while(i<3){
		position = $.inArray(partenzaId, mappa[i]);
		if(position!=-1){
			riga = i;
			colonna = position;
			break
		}
		else
		i++
	}
	if (colonna+1<mappa.length)//{
	arrivoId = mappa[riga][(colonna+1)];
	else
	arrivoId = mappa[riga][0];
	
	if($('div[id=' + arrivoId + ']').hasClass('nocontent') == true){
		if(riga-1>=0)
		arrivoId = mappa [(riga-1)][(colonna+1)];
		else
		arrivoId = mappa [(riga+1)][(colonna+1)];
	}
	$target = $('div[id=' + arrivoId +']');
 	$paneTarget.stop().scrollTo($target, 800, { margin: true } );
 	$('div[id=' + partenzaId +'], div[id=' + arrivoId +']').toggleClass('selected');
	//}
	//else
	//alert('finito!');
 });

//left

 $('#frecciaSx').click(function(){
 	partenzaId = $('.selected').attr('id');
	i=0;
	while(i<3){
		position = $.inArray(partenzaId, mappa[i]);
		if(position!=-1){
			riga = i;
			colonna = position;
			break
		}
		else
		i++
	}
	if (colonna-1>=0)//{
	arrivoId = mappa[riga][(colonna-1)];
	else
	arrivoId = mappa[riga][(mappa.length-1)];
	
	if($('div[id=' + arrivoId + ']').hasClass('nocontent') == true){
		if(riga-1>=0)
		arrivoId = mappa [(riga-1)][(colonna-1)];
		else
		arrivoId = mappa [(riga+1)][(colonna-1)];
	}
	$target = $('div[id=' + arrivoId +']');
 	$paneTarget.stop().scrollTo($target, 800, { margin: true } );
 	$('div[id=' + partenzaId +'], div[id=' + arrivoId +']').toggleClass('selected');
	//}
	//else
	//alert('finito!');
 });

// up

 $('#frecciaAlto').click(function(){
 	partenzaId = $('.selected').attr('id');
	i=0;
	while(i<3){
		position = $.inArray(partenzaId, mappa[i]);
		if(position!=-1){
			riga = i;
			colonna = position;
			break
		}
		else
		i++
	}
	if (riga-1>=0)//{
	arrivoId = mappa[(riga-1)][colonna];
	else
	arrivoId = mappa[(mappa.length-1)][colonna];
	
	if($('div[id=' + arrivoId + ']').hasClass('nocontent') == true){
		if(colonna-1>=0)
		arrivoId = mappa [(riga-1)][(colonna-1)];
		else
		arrivoId = mappa [(riga-1)][(colonna+1)];
	}
	$target = $('div[id=' + arrivoId +']');
 	$paneTarget.stop().scrollTo($target, 800, { margin: true } );
 	$('div[id=' + partenzaId +'], div[id=' + arrivoId +']').toggleClass('selected');
	//}
	//else
	//alert('finito!');
	});

// down

 $('#frecciaBasso').click(function(){
 	partenzaId = $('.selected').attr('id');
	i=0;
	while(i<3){
		position = $.inArray(partenzaId, mappa[i]);
		if(position!=-1){
			riga = i;
			colonna = position;
			break
		}
		else
		i++
	}
	if (riga+1<mappa.length)//{
	arrivoId = mappa[(riga+1)][colonna];
	else
	arrivoId = mappa [0][colonna];
	
	if($('div[id=' + arrivoId + ']').hasClass('nocontent') == true){
		if(colonna-1>=0)
		arrivoId = mappa [(riga+1)][(colonna-1)];
		else
		arrivoId = mappa [(riga+1)][(colonna+1)];
	}
	$target = $('div[id=' + arrivoId +']');
 	$paneTarget.stop().scrollTo($target, 800, { margin: true } );
 	$('div[id=' + partenzaId +'], div[id=' + arrivoId +']').toggleClass('selected');
	//}
	//else
	//alert('finito!');
 });
 
// other links that trigger the arrows click
 
 $('#h4dx').click(function(){
 $('#frecciaDx').click();
 });
 $('#h4sx, .contatto').click(function(){
 $('#frecciaSx').click();
 });
 $('#h4alto, .condizioni').click(function(){
 $('#frecciaAlto').click();
 });
 $('#h4basso').click(function(){
 $('#frecciaBasso').click();
 });
 
	
});


