var current_page = null; // Pagina attualmente visualizzata
var current_subpage = null // Sottopagina attualmente visualizzata
//var link_hover = false;
//var press_hover = false;

var first_subpage = new Array(); // array delle sottopagine. Utile per individuare la prima
first_subpage['news'] = null;
first_subpage['gara'] = 'gara_descr';
first_subpage['regolamento'] = null;
first_subpage['programma'] = null;
first_subpage['percorso'] = 'percorso_descr';
first_subpage['iscrizioni'] = null;
first_subpage['vertical'] = null;
first_subpage['link'] = null;
first_subpage['press'] = null;
first_subpage['sponsor'] = null;

var last_subpage = new Array(); // array delle sottopagine. Utile per individuare l'ultima
last_subpage['news'] = null;
last_subpage['gara'] = null;
last_subpage['regolamento'] = null;
last_subpage['programma'] = null;
last_subpage['percorso'] = null;
last_subpage['iscrizioni'] = null;
last_subpage['vertical'] = null;
last_subpage['link'] = null;
last_subpage['press'] = null;
last_subpage['sponsor'] = null;

var background_menu = new Array();
background_menu['news'] = "#d1ff00";
background_menu['gara'] = "#d1ff00";
background_menu['regolamento'] = "#d1ff00";
background_menu['programma'] = "#d1ff00";
background_menu['percorso'] = "#d1ff00";
background_menu['iscrizioni'] = "#d1ff00";
background_menu['vertical'] = "#d1ff00";
background_menu['link'] = "#d1ff00";
background_menu['press'] = "#d1ff00";
background_menu['sponsor'] = "#d1ff00";

$(document).ready(function(){

	//$(document).pngFix();
	//$('#body_container').jScrollPane();
	//$("#scroll-pane").jScrollPane();
	//$('#scroll-pane').scrollbarPaper();

//	jQuery('#body_container').jScrollPane({
//					width:265,
//					scrollbarWidth:17,
//					scrollbarMargin:10,
//					showArrows:true,
//					arrowSize: 17,
//					wheelSpeed:71}
//				);
					
/******************************************
* Cambio macro sezione
*******************************************/
	$(".left_menu,.right_menu,.bottom_box_link").click(function () {
		// becco l'id cliccato
		var div_id = this.id;
		var new_page;

/**
 * Determino che pagina aprire
 */
		switch (div_id){
			case 'news_box':
				new_page = 'news';
				break;
			case 'gara_box':
				new_page = 'gara';
				break;
			case 'regolamento_box':
				new_page = 'regolamento';
				break;
			case 'programma_box':
				new_page = 'programma';
				break;
			case 'percorso_box':
				new_page = 'percorso';
				break;
			case 'iscrizioni_box':
				new_page = 'iscrizioni';
				break;
			case 'vertical_box':
				new_page = 'vertical';
				break;
			case 'link_box':
				new_page = 'link';
				break;
			case 'press_box':
				new_page = 'press';
				break;
			case 'sponsor_box':
				new_page = 'sponsor';
				break;
		}

		// Verifico di non cercare la stessa pagina
		if (current_page != new_page){
		// nuova sezione

			if (new_page == 'vertical' ){
				$("#body_container_sfondo").css('background', '#000000');
			} else if(current_page == 'vertical'){
				$("#body_container_sfondo").css('background', '#ffffff');
			}

			if (new_page == 'news'){	
				//$("#body_container").width(500);
				//$("#body_container").height(700);
			} else if(current_page == 'news'){
				//$("#body_container").width(480);
				//$("#body_container").height(720);
			}

			// cambio lo sfondo
			$("#middle_container").css('background-image', 'url(/img/'+new_page+'_sfondo.jpg)');
			//alert('url(imgs/'+new_page+'_sfondo.jpg)');
		
/**
 * Menu sx
 */
			// elimino la classe select
			$(".left_menu").removeClass('left_menu_select');

			// ripristino la dimensione del menu
			if (new_page != 'news'){
				$("#news_box").width(110);
			}
			if (new_page != 'gara'){
				$("#gara_box").width(80);
			}
			if (new_page != 'regolamento'){
				$("#regolamento_box").width(140);
			}
			if (new_page != 'programma'){
				$("#programma_box").width(120);
			}
			if (new_page != 'percorso'){
				$("#percorso_box").width(170);
			}
			if (new_page != 'iscrizioni'){
				$("#iscrizioni_box").width(110);
			}

			// Ingrandisco il menu selezionato
			if ( new_page != 'vertical'
					&& new_page != 'link'
					&& new_page != 'sponsor'
					&& new_page != 'press'){
				$(this).width(300);
				$(this).addClass('left_menu_select');
			}


			if (current_page == 'link' || current_page == 'press'){
				$('#'+current_page+'_box').css('background','black');
				$('#'+current_page+'_box').css('color','white');
				$('#'+current_page+'_box').css('font-weight','normal');
			}

			if (new_page == 'link' || new_page == 'press'){
				$(this).css('background',background_menu[new_page]);
				$(this).css('color','black');
				$(this).css('font-weight','bold');
			}

/**
 * Body container
 */
			if ($("#body_container").css('display') == 'none'){
			// Sono alla prima apertura del body
				$("#body_container_sfondo").fadeIn("slow");
				$("#body_container").fadeIn("slow");
				// Pulisco il contenuto precedente
				$(".content_container").fadeOut("fast");
			}

			//alert ("Current page: " + current_page + "\n new page: " + new_page + "\nlast subp: " + last_subpage[current_page] )

			// carico il contenuto adatto
			if (current_page != null){
				// Attendo il fadeOut per fare il fadeIn
				$("#"+last_subpage[current_page]+"_container").fadeOut('fast');
				$("#"+current_page+"_container").fadeOut('fast', function() {
					 $("#"+new_page+"_container").fadeIn("slow");
				});

				ripristinaOpacita(8);
				
				// ripristino il colore del menu precedente
				$("#"+last_subpage[current_page]+"_link").css('background', '#000000');
				$("#"+last_subpage[current_page]+"_link").css('color', '#ffffff');
				// setto il colore del nuovo menu
				$("#"+last_subpage[new_page]+"_link").css('background', background_menu[new_page]);
				$("#"+last_subpage[new_page]+"_link").css('color', '#000000');
			} else {
			// Sono alla prima apertura - niente fadeOut
				$("#"+new_page+"_container").fadeIn("slow", function (){
				// ripristino l'opacita' per IE
					ripristinaOpacita(8);
				});
				last_subpage[current_page] = first_subpage[new_page];

				// Setto il colore del menu selezionato
				//alert("#"+first_subpage[new_page]+"_link\n"+current_page);
				$("#"+first_subpage[new_page]+"_link").css('background', background_menu[new_page]);
				$("#"+first_subpage[new_page]+"_link").css('color', '#000000');
				 
			}

			// aggiorno la variabile di stato
			current_page = new_page;
			
			if (last_subpage[current_page]==null){
				current_subpage = first_subpage[current_page];
			} else {
				current_subpage = last_subpage[current_page];
			}

		} else if (first_subpage[current_page]!=null){
		// apro la prima pagina della sezione - solo se la sezione
		// ha delle sotto sezioni

			//alert ("Current page: " + current_page + "\n new page: " + new_page + "\nlast subp: " + last_subpage[current_page] )

			// cambio il top
			//alert("/img/"+first_subpage[current_page]+"_top.jpg");
			$(".img_top").attr("src", "/img/"+first_subpage[current_page]+"_top.jpg");

			// Attendo il fadeOut per fare il fadeIn
			$("#"+current_subpage+"_subc").fadeOut('fast', function() {
				 $("#"+first_subpage[current_page]+"_subc").fadeIn("slow");
			});

			// ripristino il colore del menu precedente
			$("#"+current_subpage+"_link").css('background', '#000000');
			$("#"+current_subpage+"_link").css('color', '#ffffff');
			// setto il colore del nuovo menu
			$("#"+first_subpage[current_page]+"_link").css('background', background_menu[current_page]);
			$("#"+first_subpage[current_page]+"_link").css('color', '#000000');

			// aggiorno la variabile di stato
			current_subpage = first_subpage[current_page];
			last_subpage[current_page] = current_subpage;
		}

	});

/******************************************
* Cambio sotto sezione
*******************************************/
	$(".internal_link").click(function () {
		// identifico il link cliccato
		var link_id = this.id;
		var new_subpage;

		// determino che pagina aprire
		switch (link_id){
			case 'gara_team_link':
				new_subpage = 'gara_team';
				break;
			case 'gara_pernottamento_link':
				new_subpage = 'gara_pernottamento';
				break;
			case 'gara_pacco_link':
				new_subpage = 'gara_pacco';
				break;
			case 'gara_piazza_link':
				new_subpage = 'gara_piazza';
				break;

			case 'percorso_climb_link':
				new_subpage = 'percorso_climb';
				break;
			case 'percorso_mtb_link':
				new_subpage = 'percorso_mtb';
				break;
			case 'percorso_kayak_link':
				new_subpage = 'percorso_kayak';
				break;
			case 'percorso_orienteering_link':
				new_subpage = 'percorso_orienteering';
				break;
			case 'percorso_teleferica_link':
				new_subpage = 'percorso_teleferica';
				break;
			case 'percorso_trial_link':
				new_subpage = 'percorso_trial';
				break;
			case 'percorso_cartina_link':
			case 'percorso_cartina_link1':
			case 'percorso_cartina_link2':
			case 'percorso_cartina_link3':
			case 'percorso_cartina_link4':
			case 'percorso_cartina_link5':
			case 'percorso_cartina_link6':
			case 'percorso_cartina_link6':
				new_subpage = 'percorso_cartina';
				break;
		}

		//alert ("Current page: " + current_page + "\nCurrent spage: " + current_subpage + "\n new subp: " + new_subpage + "\nlast subp: " + last_subpage[current_page] )
		
		// Verifico di non cercare la stessa pagina
		// TODO: Non funziona nel caso in cui appena aperta la pagina clicco sul primo link
		if (current_subpage != new_subpage || !(current_subpage == null && first_subpage[current_page] == new_subpage) ){

			// cambio il top
			$(".img_top").attr("src", "/img/"+new_subpage+"_top.jpg");
			//alert($(".img_top").attr("src"));
			
			// carico il contenuto adatto
			if (current_subpage != null){
				// Attendo il fadeOut per fare il fadeIn
				$("#"+current_subpage+"_subc").fadeOut('fast', function() {
					 $("#"+new_subpage+"_subc").fadeIn("slow");
				});

				//alert ("Current spage: " + current_subpage + "\n new subp: " + new_subpage );

				if (current_subpage != 'percorso_cartina'){
				// escludo i link non appartenenti al menu
					// ripristino il colore del menu precedente
					$("#"+current_subpage+"_link").css('background', '#000000');
					$("#"+current_subpage+"_link").css('color', '#ffffff');
				}
			
				if (new_subpage != 'percorso_cartina'){
					// setto il colore del nuovo menu
					$("#"+new_subpage+"_link").css('background', background_menu[current_page]);
					$("#"+new_subpage+"_link").css('color', '#000000');
				}

			} else {
			// Sono alla prima apertura di una sotto-pagina
			// faccio il fadeOut della pagina iniziale
				$("#"+first_subpage[current_page]+"_subc").fadeOut('fast', function() {
					 $("#"+new_subpage+"_subc").fadeIn("slow");
				});
			}
			// aggiorno la variabile di stato
			current_subpage = new_subpage;
			last_subpage[current_page] = current_subpage;
		}
	});


	$(".right_menu").hover(
		function () {
			$(this).css('background','#d1ff00');
			$(this).css('color','black');
			$(this).css('font-weight','bold');
		},
		function () {
			if (current_page+'_box' != this.id ){
				//alert('current: '+current_page+' this: '+ this.id + '_box');
				$(this).css('background','#1d1d1d');
				$(this).css('color','white');
				$(this).css('font-weight','normal');
			}
		}
	);

	$(".link_txt").hover(
		function () {
			$(this).css('background','black');
			$(this).css('color','white');
		},
		function () {
			if (current_page+'_box' != this.id ){
				//alert('current: '+current_page+' this: '+ this.id + '_box');
				$(this).css('background','');
				$(this).css('color','black');
			}
		}
	);


	//$('#body_container').jScrollPane();
	

});


function ripristinaOpacita(val){
	var cent = 0;
	var unit = 0;

	cent = val*10;
	unit = val*0.1;
	// ripristino l'opacita' per IE
	$("#body_container_sfondo").css('-ms-filter', '"progid:DXImageTransform.Microsoft.Alpha(Opacity='+cent+')"');
	$("#body_container_sfondo").css('filter', 'alpha(opacity='+cent+')');
	$("#body_container_sfondo").css('opacity', unit);
}

/**
* Function : dump()
* Arguments: The data - array,hash(associative array),object
*    The level - OPTIONAL
* Returns  : The textual representation of the array.
* This function was inspired by the print_r function of PHP.
* This will accept some data as the argument and return a
* text that will be a more readable version of the
* array/hash/object that is given.
*/
function dump(arr,level) {
var dumped_text = "";
if(!level) level = 0;

//The padding given at the beginning of the line.
var level_padding = "";
for(var j=0;j<level+1;j++) level_padding += "    ";

if(typeof(arr) == 'object') { //Array/Hashes/Objects
 for(var item in arr) {
  var value = arr[item];

  if(typeof(value) == 'object') { //If it is an array,
   dumped_text += level_padding + "'" + item + "' ...\n";
   dumped_text += dump(value,level+1);
  } else {
   dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
  }
 }
} else { //Stings/Chars/Numbers etc.
 dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
}
return dumped_text;
}


function decision(message, url){
if(confirm(message)) location.href = url;
}
