/* funzioni javascript per sito e admin */
/* funzioni per eseguire il trim (toglie spazi all'inizio e alla fine di una stringa) */
function trim(str,chars){
	return ltrim(rtrim(str,chars),chars);
}
function ltrim(str,chars){
	chars=chars||"\\s";
	return str.replace(new RegExp("^["+chars+"]+","g"),"");
}
function rtrim(str,chars){
	chars=chars||"\\s";
	return str.replace(new RegExp("["+chars+"]+$","g"),"");
}
// end trim in js

/* con jquery */
function aggiornamentoAjax(urlAjax, azione, parametri) {
	
	$.ajax({   
		url: urlAjax+azione+'.php',
		data: parametri,
		type: 'GET',
		success: function(response) {
			
			switch (azione) {
				
				case "setStato":
				
					var aRisposta = response.split('-');
					alert(aRisposta[2]);
					
					if (aRisposta[0] != '0') {
						
						if (trim(aRisposta[1]) == '0') $('#statoUtente'+trim(aRisposta[0])).html( arrayNonAttivo[trim(aRisposta[0])] );
						else $('#statoUtente'+trim(aRisposta[0])).html( arrayAttivo[trim(aRisposta[0])] );
						
					}
					
				break;
				case "setOfferta":
				
					var aRisposta = response.split('-');
					alert(aRisposta[2]);
										
					if (aRisposta[0] != '0') {
						
						if (trim(aRisposta[1]) == '0') $('#Offerta'+trim(aRisposta[0])).html( arrayNonOfferta[trim(aRisposta[0])] );
						else $('#Offerta'+trim(aRisposta[0])).html( arrayOfferta[trim(aRisposta[0])] );
						
					}
					
				break;
				
				case "setBox":
				
					var aRisposta = response.split('-');
					alert(aRisposta[2]);
					
					if (aRisposta[0] != '0') {
						
						if (trim(aRisposta[1]) == '0') $('#statoBox'+trim(aRisposta[0])).html( arrayBoxNonAttivo[trim(aRisposta[0])] );
						else $('#statoBox'+trim(aRisposta[0])).html( arrayBoxAttivo[trim(aRisposta[0])] );
						
					}
					
				break;
				
				case "setPP":
				
					var aRisposta = response.split('-');
					alert(aRisposta[2]);
					
					if (aRisposta[0] != '0') {
						
						if (trim(aRisposta[1]) == '0') $('#statoPP'+trim(aRisposta[0])).html( arrayPPNonAttivo[trim(aRisposta[0])] );
						else $('#statoPP'+trim(aRisposta[0])).html( arrayPPAttivo[trim(aRisposta[0])] );
						
					}
					
				break;
				
				case "setMenu":
				
					var aRisposta = response.split('-');
					alert(aRisposta[2]);
					
					if (aRisposta[0] != '0') {
						
						if (trim(aRisposta[1]) == '0') $('#statoMenu'+trim(aRisposta[0])).html( arrayMenuNonAttivo[trim(aRisposta[0])] );
						else $('#statoMenu'+trim(aRisposta[0])).html( arrayMenuAttivo[trim(aRisposta[0])] );
						
					}
					
				break;
				case "loadRegioni":
				case "loadProvince":
				case "loadComuni":
				case "loadUtenteSconto":
					
					loadMyFuncModule(response);
					
				break;
				
				case "viewContents":
				case "viewContents2":
					
					$('#contenutiPagina').html(response);
					
				break;
				
				case "eliminaFoto":
				
					alert(response);
					$('#foto_utente').attr('src',$('#no_foto').val());
					$('#div_txt_foto').css('display','none');
					$('#div_txt_no_foto').css('display','block');
					
				break;
				
				case "invioMsg":
				case "invioCommento":
				case "invioSegnalazioneCommento":
				case "inviaAmico":
					var aRisposta = response.split('-');
					alert(aRisposta[1]);
					
					if (trim(aRisposta[0]) == '1') {
						$.prettyPhoto.close();
						if (azione == 'invioCommento') window.location.reload();
					}
					
				break;
				
				case "eliminaLogo":
				
					alert(response);
					$('#logo_esercizio').attr('src',$('#no_logo').val());
					$('#div_txt_logo').css('display','none');
					$('#div_txt_no_logo').css('display','block');
					
				break;
				
				case "verificaNickName":
					
					var aRisposta = response.split('-');
					$("#verNick").html(aRisposta[1]);
					$("#nickDisponibile").val(aRisposta[0]);
					
				break;
				
				case "saveTag":
				
					var aRisposta = response.split('-');
					
					if (trim(aRisposta[0]) == '0' && trim(aRisposta[1]) == '0') alert(aRisposta[2]);
					else {
					
						// ricarico
						$('#lab_'+trim(aRisposta[0])).html(trim(aRisposta[1])+' <a href="javascript:void(0);" onclick="setMod(\''+trim(aRisposta[3])+'\','+trim(aRisposta[0])+', \''+trim(aRisposta[1])+'\', \'mod\'); return false;" title="modifica il tag"><img src="'+path_http_img+'pixel.gif" class="SpriteIcoBackOffice SpriteIcoTab20x17 page_edit" alt="modifica" style="vertical-align:middle;"  border="0" /><\/a>');
						//alert(aRisposta[2]);
					}
					
					
					
				break;
				
				case "assegnaCopertina":
				
				break;
				
				default:
				
					alert(response);
			} // end switch azione
			
		} 
		});
	
} // end func aggiornamentoAjax

function setquerystring(formName) {
	
	var querystring = '';
	var modulo = document.forms[formName];
	
	var numberElement = modulo.elements.length;
	
	for(var i=0; i<numberElement; i++){
		//alert(modulo.elements[i].name+"="+modulo.elements[i].value);
		if (modulo.elements[i].value != 'undefined') {
		
			if(i<numberElement-1){ 
			   querystring+= modulo.elements[i].name+"="+encodeURIComponent(modulo.elements[i].value)+"&";
			}else{
				querystring+= modulo.elements[i].name+"="+encodeURIComponent(modulo.elements[i].value);
			}
			
		}
	}
	
	return querystring;
	
} // end func setquerystring

function loadMyFuncModule(stufftoeval) {  
	var dj_global = this; // global scope reference  
	if (window.execScript) {
		
		/*String.prototype.trim = function() {
			a = this.replace(/^\s+/, '');
			return a.replace(/\s+$/, '');
		};*/
		jQuery.trim(stufftoeval);
		window.execScript(stufftoeval.trim());    
		return null; // execScript doesn’t return anything  
	}  
	return dj_global.eval ? dj_global.eval(stufftoeval) : eval(stufftoeval);
}

function insertData(nomeForm,campo) {
	
	var modulo = document.forms[nomeForm];
	var campo2 = campo.replace(/_/g,'');
	//alert(campo2);
	
	if (modulo.elements[campo2+'[Y]'].value.length==4 && modulo.elements[campo2+'[m]'].value.length > 0 && modulo.elements[campo2+'[d]'].value.length > 0) modulo.elements[campo].value = modulo.elements[campo2+'[Y]'].value + '-' + modulo.elements[campo2+'[m]'].value + '-' + modulo.elements[campo2+'[d]'].value;
	else modulo.elements[campo].value = '';
	
	
} // end insertData

/* verifica la validità della partita iva italiana */
// partita iva italiana
function ControllaPIVA(pi) {
	
	if( pi == '00000000000' )  return false; //return 'Partita iva ERRATA';
	// eseguo il controllo solo se il paese è IT
	if (document.getElementById('codice_paese')) {
		if (document.getElementById('codice_paese').value!='IT') return true;
	} else return true;
	
	if( pi == '' ) return true; //return '';
	
	if( pi.length != 11 ) return false;
	//return "La lunghezza della partita IVA non è\n" + "corretta: la partita IVA dovrebbe essere lunga\n" + "esattamente 11 caratteri.\n";
	validi = "0123456789";
	
	for( i = 0; i < 11; i++ ) {
		if( validi.indexOf( pi.charAt(i) ) == -1 ) return false;
		//return "La partita IVA contiene un carattere non valido `" + pi.charAt(i) + "'.\nI caratteri validi sono le cifre.\n";
							   
	}
	
	s = 0;
	for( i = 0; i <= 9; i += 2 ) s += pi.charCodeAt(i) - '0'.charCodeAt(0);
	for( i = 1; i <= 9; i += 2 ) {
	   c = 2*( pi.charCodeAt(i) - '0'.charCodeAt(0) );
	   if( c > 9 )  c = c - 9;
	   s += c;
	}
	
	if( ( 10 - s%10 )%10 != pi.charCodeAt(10) - '0'.charCodeAt(0) ) return false;
	// return  "La partita IVA non è valida:\n" + "il codice di controllo non corrisponde.\n";
	// return '';
	return true;
}

/* verifica la validità del codice fiscale italiano */
// codice fiscale
function ControllaCF(cf) {
	
	var validi, i, s, set1, set2, setpari, setdisp;
	
	
	if( cf == '' ) return true; //return '';
	
	// eseguo il controllo solo se il paese è IT
	if (document.getElementById('codice_paese')) {
		if (document.getElementById('codice_paese').value!='IT') return true;
	} else return true;
	
	
	if( cf.length != 16 ) return false;
	//return "La lunghezza del codice fiscale non è\n"+"corretta: il codice fiscale dovrebbe essere lungo\n"+"esattamente 16 caratteri.\n";
	
	// Modifica: se è un'azienda, potrebbe essere un codice fiscale aziendale, con gli stessi parametri della partita iva ControllaPIVA(pi)
	/*if( cf.length != 16 ) {
		
		if( cf.length == 11 && document.getElementById('ragione_sociale').value!='') return ControllaPIVA(cf); else return false;
		
	}*/
	
	cf = cf.toUpperCase();
	
	
	validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	
	for( i = 0; i < 16; i++ ){
		if( validi.indexOf( cf.charAt(i) ) == -1 ) return false;															   
		// return "Il codice fiscale contiene un carattere non valido `" + cf.charAt(i) + "'.\nI caratteri validi sono le lettere e le cifre.\n";
	}
	
	set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
	setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
	s = 0;
	
	for( i = 1; i <= 13; i += 2 ) s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
	for( i = 0; i <= 14; i += 2 ) s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
	if( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) ) return false;
	// return "Il codice fiscale non è corretto:\n"+ "il codice di controllo non corrisponde.\n";
	
	//return "";
	return true;
} // enf func ControllaCF

function selezionaTutti(nomeForm, nome) {
	
	var no_selezionato = 0;
	
	// primo ciclo per verificare se c'è almeno un check non selezionato
	for (var i = 0; i < document.forms[nomeForm].length; i++) {
		if (document.forms[nomeForm].elements[i].type=='checkbox' && document.forms[nomeForm].elements[i].name.indexOf(nome)==0){
	
			if (!document.forms[nomeForm].elements[i].checked) { no_selezionato = 1; break; }
		}
	}	
	
	// secondo ciclo per selezionare/deselezionare tutti
	for (var i = 0; i < document.forms[nomeForm].length; i++) {
		if (document.forms[nomeForm].elements[i].type=='checkbox' && document.forms[nomeForm].elements[i].name.indexOf(nome)==0){
	
			if (no_selezionato==1) document.forms[nomeForm].elements[i].checked = true; else document.forms[nomeForm].elements[i].checked = false;
		}
	}	
} // end func selezionaTutti

function caricaContenuti(id_template) {
	
	for (var i = 0; i<num_template; i++) {
	
		if (arrayTemplate[i] == id_template) {
		
			document.getElementById("li_"+arrayTemplate[i]).className='activelink'; 
			document.getElementById("style_"+arrayTemplate[i]).style.display = 'block';
			document.getElementById("id_template").value = id_template;
			document.getElementById("css").value = '';
			document.getElementById("img").value = '';
			
		} else {
		
			document.getElementById("li_"+arrayTemplate[i]).className=''; 
			document.getElementById("style_"+arrayTemplate[i]).style.display = 'none';
		}
	}
	
} // end func caricaContenuti

function confrontaSconti(s) {
	var sconto = document.getElementById('sconto').value * 1;
	//sconto = sconto.numberFormat("0.00");
	
	var sconto_minimo = document.getElementById('sconto_minimo').value * 1;
	//sconto_minimo = sconto_minimo.numberFormat("0.00");
	
	//alert('sconto: '+sconto+'\nsconto_minimo: '+sconto_minimo+'\nsconto>sconto_minimo: '+(sconto>sconto_minimo));
	
	return (sconto>sconto_minimo);
} // end func confrontaSconti

// offerte
function confrontaDate() {
	
	var today = new Date();
	var inizio = new Date(document.forms['fOfferta'].elements['inizio[Y]'].value, (document.forms['fOfferta'].elements['inizio[m]'].value - 1), document.forms['fOfferta'].elements['inizio[d]'].value);
	var fine = new Date(document.forms['fOfferta'].elements['fine[Y]'].value, (document.forms['fOfferta'].elements['fine[m]'].value - 1), document.forms['fOfferta'].elements['fine[d]'].value);
	
	//alert('oggi: '+today.getTime()+'\ninizio: '+inizio.getTime()+'\nfine: '+fine.getTime());
	
	// verifica che inizio sia maggiore di oggi
	if (inizio.getTime()<=today.getTime()) return false;
	
	// verifica che fine sia maggiore o uguale a inizio
	if (fine.getTime()<inizio.getTime()) return false;
	
	return true;
	
} // end func confrontaDate

// pubblicazione contenuti
function confrontaDate2() {
	
	var today = new Date();
	var datapubblicazione = new Date(document.forms['fContenuti'].elements['datapubblicazione[Y]'].value, (document.forms['fContenuti'].elements['datapubblicazione[m]'].value - 1), document.forms['fContenuti'].elements['datapubblicazione[d]'].value);
	var datafinepubblicazione = new Date(document.forms['fContenuti'].elements['datafinepubblicazione[Y]'].value, (document.forms['fContenuti'].elements['datafinepubblicazione[m]'].value - 1), document.forms['fContenuti'].elements['datafinepubblicazione[d]'].value);
	
	//alert('oggi: '+today.getTime()+'\ndatapubblicazione: '+datapubblicazione.getTime()+'\ndatafinepubblicazione: '+datafinepubblicazione.getTime());
	
	// verifica che data_pubblicazione sia maggiore di oggi
	//if (datapubblicazione.getTime()<today.getTime()) return false;
	
	// verifica che data_fine_pubblicazione sia maggiore o uguale a data_pubblicazione
	if (datafinepubblicazione.getTime()<datapubblicazione.getTime()) return false;
	
	return true;
	
} // end func confrontaDate

function moveOnMax(field,nextFieldID){
	
	if(field.value.length >= field.maxLength){
		document.getElementById(nextFieldID).focus();
	}
	
} // end func moveOnMax

function  compila_codice_card() {
	document.getElementById('codice_card').value = document.getElementById('card_1').value + document.getElementById('card_2').value + document.getElementById('card_3').value + document.getElementById('card_4').value;
} // end func compila_codice_card

function  compila_codice_richiesta() {
	document.getElementById('codice_richiesta').value = document.getElementById('card_1').value + '' + document.getElementById('card_2').value;
	//alert(document.getElementById('codice_richiesta').value);
} // end func compila_codice_richiesta

function controlla_form() {
	
	var nome = trim(document.getElementById('nome_sito').value);
	if (nome == '') {
		alert("Inserire il nome (o parte del nome) del Mini Sito da cercare");
		return false;
	}
	return true;
	
} // end func controlla_form

function seleziona_ckeck(what,id,selezionato) {
	
	// pagine, canali, sezioni
	
	switch (what) {
		
		case "pagine": // tutte le pagine
		
			for (var i in arrayPagine) {
				document.getElementById('p'+i).checked = selezionato;
				//alert('p'+i + ':' +document.getElementById('p'+i).checked);
			}
		
		break;
	
		case "canali": // tutte le pagine del canale
		
			for (var i in arrayCanali[id]) document.getElementById('p'+i).checked = selezionato;
		
		break;
		
		case "sezioni": // tutte le pagine della sezione
		
			for (var i in arraySezioni[id]) document.getElementById('p'+i).checked = selezionato;
		
		break;
		
	} // end switch
} // end func seleziona_ckeck

function deseleziona_check(id_sezione, id_canale, selezionato) {
	
	if (!selezionato) {
		if (id_sezione>0) document.getElementById('pagine_sezione'+id_sezione).checked = selezionato;
		if (id_canale>0) document.getElementById('sezioni_canale'+id_canale).checked = selezionato;
		document.getElementById('tutte_pagine').checked = selezionato;
	}
} // end func deseleziona_check

function setDestinatario(id) {
	if (document.getElementById('destinatarioMsg')) document.getElementById('destinatarioMsg').value = id;
} // end func setDestinatario

function setCommento(id) {
	if (document.getElementById('id_commento')) document.getElementById('id_commento').value = id;
} // end func setCommento

function setListe(nomeForm) {
	
	var str_liste = '';
	
	for (var i = 0; i < document.forms[nomeForm].length; i++) {
		if (document.forms[nomeForm].elements[i].type=='checkbox' && document.forms[nomeForm].elements[i].name.indexOf('liste_spedizione')==0){
	
			if (document.forms[nomeForm].elements[i].checked) str_liste += document.forms[nomeForm].elements[i].name.substr(17);
		}
	}
	document.forms[nomeForm].elements['liste'].value=str_liste;
	
} // end func setListe

/*
function imposeMaxLength(Object, MaxLen) {
	return (Object.value.length <= MaxLen);
} // end func imposeMaxLength
*/

function imposeMaxLength(element, maxLength) {

	console.log(element.value.length);
	if(element.value.length > maxLength) {
		var text = $(element).val().substr(0, maxLength);
		$(element).val(text); 
	}
	
} //end func imposeMaxLength

function setMod(path_ajax, id_obj, val_obj, act) {
	//alert(id_obj+' '+val_obj);
	
	switch (act) {
		case "mod":
			$('#lab_'+id_obj).html('<input type="text" value="'+val_obj+'" name="cont_'+id_obj+'" id="cont_'+id_obj+'" size="18" /> <a href="javascript:void(0);" onclick="setMod(\''+path_ajax+'\', '+id_obj+', \''+val_obj+'\', \'save\'); return false;" title="salva il tag"><img src="'+path_http_img+'pixel.gif" class="SpriteIcoBackOffice SpriteIcoTab20x17 save" alt="salva" style="vertical-align:middle;"  border="0" /><\/a>');
			$('#cont_'+id_obj).focus();
		break;
		
		case "save":
			// salvo il tag
			aggiornamentoAjax(path_ajax, 'saveTag', 'id='+id_obj+'&tag='+document.getElementById('cont_'+id_obj).value+'&path_ajax='+path_ajax);
			
		break;
	
	}
} // end func setMod 

if (!nascondiGoogle) google.load('search', '1');

if (mappaShop || MWSMap) {
	//google.load('maps', '3', { other_params: 'sensor=false&language=it&region=IT' });
	var geocoder = new google.maps.Geocoder();
	var directionDisplay;
	var directionsService = new google.maps.DirectionsService();
	google.maps.event.addDomListener(window, 'load', initialize);
	
}

$(document).ready(init);

function init() {
	
	// jqueryslidemenu
	var arrowimages={down:['downarrowclass', path_http_img+'pixel.gif', 10], right:['rightarrowclass', path_http_img+'pixel.gif']}
	//build menu with ID="myslidemenu" on page:
	jqueryslidemenu.buildmenu("myslidemenu1", arrowimages);
	jqueryslidemenu.buildmenu("myslidemenu2", arrowimages);
	
	$("#show1").click(function () { 
		$("#myslidemenu2").hide('fast');
		$("#myslidemenu1").toggle('slow');
	});
	
	$("#show2").click(function () { 
		$("#myslidemenu1").hide('fast');
		$("#myslidemenu2").toggle('slow');
	});
	
	$('.jqmSel').toggle('fast'); 
	
	// prettyPhoto
	$("a[rel^='prettyPhoto']").prettyPhoto();
	
	// jQuery Cycle Plugin
	$('#topPagina').cycle({
		fx: 'fade', // choose your transition type, ex: fade, scrollUp, shuffle, etc...
		speed: 600, 
		timeout: 3000
	});
	
	// jquery smooth scroll
	$(function(){
		$('a[href*=#]').click(function() {
			if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
				var $target = $(this.hash);
				$target = $target.length && $target || $('[name=' + this.hash.slice(1) +']');
				if ($target.length) {
					var targetOffset = $target.offset().top;
					$('html,body').animate({scrollTop: targetOffset}, 1500);
					return false;
				}
			}
		});
	});
	
	// bordi arrotondati
	// css per natale
	var oggi = new Date();
	var gg = oggi.getDate();
	var mm = oggi.getMonth();
	
	var natale = ((mm==11 && gg>7) || (mm==0 && gg<6)?true:false);
	$("div#topCurvy").corner("top 10px, cc:#"+(natale?'980001':'b0b0b0'));
	$("div.top_rounded").corner("top 10px");
	$("div.bottom_rounded").corner("bottom 10px");
	$("div.rounded").corner("10px");
	//if (natale) {
	/*
	if ($("#page_loading").get()!='') {
	
		$("#linkChiudi").click(function () { 
			$("#page_loading").fadeOut('4000');
		});
	
		setTimeout("nascondiDiv()",10000);
	
	}*/
	
	// AD gallery
	//$(document).ready(function(){
	$(function() {
		var galleries = $('.ad-gallery').adGallery({enable_keyboard_move: false});
	});
	
	// google search
	if (document.getElementById('q') && !nascondiGoogle) {
		
		//google.load('search', '1');
		//google.setOnLoadCallback(function() {
		google.search.CustomSearchControl.attachAutoCompletion(
			'005114621279384105183:xbmpjynbg2i',
			document.getElementById('q'),
			'cse-search-box');
		//});
		
	}

	// classe autocompleteoff
	$(function() {
		$('.autocompleteOff').attr('autocomplete', 'off');
	});
	if (document.getElementById('LiveClockIE')) show_clock();
	if (document.getElementById('notizieFlash')) initDOMnews('notizieFlash','up');
	
	// calendario
	if (document.getElementById('movimenti_dal')) {
	
		$(function(){
		
			var dates = $( "#movimenti_dal, #movimenti_al" ).datepicker({
				changeMonth: false,
				numberOfMonths: 1,
				gotoCurrent: true,
				onSelect: function( selectedDate ) {
					var option = this.id == "movimenti_dal" ? "minDate" : "maxDate",
						instance = $( this ).data( "datepicker" );
						date = $.datepicker.parseDate(
							instance.settings.dateFormat ||
							$.datepicker._defaults.dateFormat,
							selectedDate, instance.settings );
					dates.not( this ).datepicker( "option", option, date );
				}
			});
			$.datepicker.setDefaults($.datepicker.regional['it']);
			
			$('#movimenti_dal').datepicker( "option", "showAnim", "blind" );
			$("#movimenti_dal").datepicker( "option", "dateFormat", "dd/mm/yy");
			$('#movimenti_al').datepicker( "option", "showAnim", "blind" );
			$("#movimenti_al").datepicker( "option", "dateFormat", "dd/mm/yy");
		});
	
	}
	
	
	var _150anni = ((mm==2 && gg>14) && (mm==2 && gg<18)?true:false);
	if (_150anni && home) {
		$.prettyPhoto.open('http://www.cesenacard.it/xcc_img/150Anni.jpg','',""); //17 Marzo 2011: 150° Anniversario dell'Unità d'Italia
		window.setTimeout('$.prettyPhoto.close()', 10000);
	}
	
	var pasqua_25aprile = ((mm==3 && gg>21) && (mm==3 && gg<26)?true:false);
	if (pasqua_25aprile && home) {
		$.prettyPhoto.open('http://www.et-group.it/img/popup/pasqua_25aprile.jpg','',"");
		window.setTimeout('$.prettyPhoto.close()', 10000);
	}
	var _1maggio = ((mm==3 && gg>29) && (mm==4 && gg<2)?true:false);
	if (_1maggio && home) {
		$.prettyPhoto.open('http://www.et-group.it/img/popup/1Maggio.jpg','',"");
		window.setTimeout('$.prettyPhoto.close()', 10000);
	}
	
	var _2giugno = (mm==5 && (gg==1 || gg==2)?true:false);
	if (_2giugno && home) {
		$.prettyPhoto.open('http://www.et-group.it/img/popup/2Giugno.jpg','',"");
		window.setTimeout('$.prettyPhoto.close()', 10000);
	}
	
	//admin
	$("div.cartellaMsg").corner("dogfold tr 15px");
	$(".adorned").each(function(){
		eval($("code", this).text());
	});
	
} // end func init

// fine caricamento
$(window).unload(function() {
  if (!nascondiGoogle) clearInterval(dn_interval);
});

function nascondiDiv() {
	$("#page_loading").fadeOut('4000');
} // end func nascondiDiv

function ajaxFileUpload(campoFile, fileUpload, extraParams)
{
	$("#loading")
	.ajaxStart(function(){
		$(this).show();
		$("#btnSend").hide();
	})
	.ajaxComplete(function(){
		$(this).hide();
		$("#btnSend").show();
	});
	
	$.ajaxFileUpload
	(
		{
			url:fileUpload+extraParams,
			secureuri:false,
			fileElementId:campoFile,
			dataType: 'json',
			success: function (data, status)
			{
				if(typeof(data.error) != 'undefined')
				{
					if(data.error != '')
					{
						alert(data.error);
					}else
					{
						alert(data.msg);
					}
				}
			},
			error: function (data, status, e)
			{
				alert(e);
			}
		}
	)
	
	return false;
} // end func ajaxFileUpload

// GOOGLE MAP V.3
function geocodePosition(pos) {
  geocoder.geocode({
	latLng: pos
  }, function(responses) {
	if (responses && responses.length > 0) {
	  updateMarkerAddress(responses[0].formatted_address);
	} else {
	  updateMarkerAddress('Non è possibile determinare un indirizzo in questo punto.');
	}
  });
} // end func geocodePosition
 
function updateMarkerStatus(str) {
  document.getElementById('markerStatus').innerHTML = str;
} // end func updateMarkerStatus
 
function updateMarkerPosition(latLng) {
	document.getElementById('info').innerHTML = [
		latLng.lat(),
		latLng.lng()
	].join(', ');
	
	document.getElementById('coordinate').value = [
		latLng.lat(),
		latLng.lng()
	].join(', ');  
} // end func updateMarkerPosition
 
function updateMarkerAddress(str) {
  document.getElementById('address').innerHTML = str;
} // end func updateMarkerAddress
 
function initialize() {
	iconSize = new google.maps.Size(30, 29);
	iconShop = new google.maps.MarkerImage(path_http_img+'pointMap.png', iconSize);
	shadow = new google.maps.MarkerImage(path_http_img+'pointMapShadow.png', new google.maps.Size(30, 29), new google.maps.Point(0, 0), new google.maps.Point(14, 33));
	
	if (document.getElementById('coordinate').value == '') {
	
		geocoder.geocode( { 'address': document.getElementById('indirizzo_completo').value}, function(results, status) {
			if (status == google.maps.GeocoderStatus.OK) {
				lat = results[0].geometry.location.lat();
				lng = results[0].geometry.location.lng();
				initLatLng();
			} else {
				lat = 44.138763;
				lng = 12.239134;
				initLatLng();
			}
		});
	
	} else {
		var coordinate_es = document.getElementById("coordinate").value;
		var latlngStr = coordinate_es.split(",",2);
		lat = parseFloat(latlngStr[0]);
		lng = parseFloat(latlngStr[1]);
		initLatLng();
	}
  
} // end func initialize

function initLatLng() {
	
	latLng = new google.maps.LatLng(lat, lng);
	
	map = new google.maps.Map(document.getElementById('gMapShop'), {
		zoom: 15,
		center: latLng,
		mapTypeId: google.maps.MapTypeId.ROADMAP
	});
	
	if (mappaShop) {
	
		marker = new google.maps.Marker({
			position: latLng,
			title: 'Se il marcatore non è posizionato correttamente, trascinalo fino alla posizione reale.',
			map: map,
			icon: iconShop, 
			shadow: shadow,
			draggable:true
		});
		
		// Update current position info.
		updateMarkerPosition(latLng);
		geocodePosition(latLng);
		// Add dragging event listeners.
		google.maps.event.addListener(marker, 'dragstart', function() {
			updateMarkerAddress('Dragging...');
		});
		google.maps.event.addListener(marker, 'drag', function() {
			//updateMarkerStatus('Dragging...');
			updateMarkerPosition(marker.getPosition());
		});
		google.maps.event.addListener(marker, 'dragend', function() {
			updateMarkerStatus('Drag ended');
			geocodePosition(marker.getPosition());
		});
	
	} else {
	
		if (MWSMap) {
			marker = new google.maps.Marker({
				position: latLng,
				title: 'clicca per vedere i recapiti',
				map: map,
				icon: iconShop, 
				shadow: shadow
				
			});
			var infowindow = new google.maps.InfoWindow();
			google.maps.event.addListener(marker, 'click', function() { infowindow.setContent(document.getElementById('InfoWindowTxt').innerHTML);
				infowindow.open(map, marker);  });
			
			directionsDisplay = new google.maps.DirectionsRenderer();
			directionsDisplay.setMap(map);
			directionsDisplay.setPanel(document.getElementById("directionsPanel"));

		}
	
	}
	
} // end func initLatLng

function calcRoute() {
  var start = document.getElementById("start").value;
  var end = document.getElementById("end").value;
  var request = {
    origin:start, 
    destination:end,
    travelMode: google.maps.DirectionsTravelMode.DRIVING
  };
  directionsService.route(request, function(response, status) {
    if (status == google.maps.DirectionsStatus.OK) {
      directionsDisplay.setDirections(response);
    }
  });
}

// END GOOGLE MAP V.3
function ajaxFileUpload2(campoFile, fileUpload, extraParams)
{
	$("#loading")
	.ajaxStart(function(){
		$(this).show();
		$("#btnUpload").hide();
	})
	.ajaxComplete(function(){
		$(this).hide();
		$("#btnUpload").show();
		
	});
	
	$.ajaxFileUpload
	(
		{
			url:fileUpload+extraParams,
			secureuri:false,
			fileElementId:campoFile,
			dataType: 'json',
			success: function (data, status)
			{
				if(typeof(data.error) != 'undefined')
				{
					if(data.error != '')
					{
						alert(data.error);
					} else
					{
						alert(data.msg);
						
						if (data.foto != '') {
							$('#foto_utente').attr('src',path_http_lib+'class/imagethumb.php?s='+path_http_upload+'foto/'+data.foto+'&w=300&h=400');
							$('#div_txt_no_foto').css('display','none');
							$('#div_txt_foto').css('display','block');
						}
						if (data.logo != '') {
							$('#logo_esercizio').attr('src',path_http_lib+'class/imagethumb.php?s='+path_http_upload+'marchi/'+data.logo+'&w=300&h=400');
							$('#div_txt_no_logo').css('display','none');
							$('#div_txt_logo').css('display','block');
						}
						
					}
				}
			},
			error: function (data, status, e)
			{
				alert(e);
			}
		}
	)
	
	return false;
} // end func ajaxFileUpload2

var windowFocus = true;
var chatHeartbeatCount = 0;
var minChatHeartbeat = 1000;
var maxChatHeartbeat = 33000;
var chatHeartbeatTime = minChatHeartbeat;
var windowTitle;
var blinkOrder = 0;

var chatBoxFocus = new Array();
var newMessages = new Array();
var newMessagesWin = new Array();
var chatBoxes = new Array();

// caricata la pagina, verifico lo stato delle chat in sessione
// se ci sono messaggi in arrivo non letti, modifico il title della pagina
$(document).ready(function(){
	windowTitle = document.title;
	if (nickname!='') startChatSession();

	$([window, document]).blur(function(){
		windowFocus = false;
	}).focus(function(){
		windowFocus = true;
		document.title = windowTitle;
	});
});

// riallinea i box
function restructureChatBoxes() {
	align = 0;
	for (x in chatBoxes) {
		chatBoxTitle = chatBoxes[x];
		if ($("#"+chatBoxTitle).css('display') != 'none') {
			if (align == 0) {
				$("#"+chatBoxTitle).css('right', '20px');
			} else {
				width = (align)*(225+7)+20;
				$("#"+chatBoxTitle).css('right', width+'px');
			}
			align++;
		}
		/*
		if ($("#chatbox_"+idutente).css('display') != 'none') {
			if (align == 0) {
				$("#chatbox_"+idutente).css('right', '20px');
			} else {
				width = (align)*(225+7)+20;
				$("#chatbox_"+idutente).css('right', width+'px');
			}
			align++;
		}*/
	}
} // end restructureChatBoxes

// apre il box chat
function chatWith(idutente,nomeutente) {
	creaChatBox(idutente,nomeutente);
	$("#chatbox_"+nomeutente+" .chatBoxTextarea").focus();
} // end chatWith

// disegna il box chat
function creaChatBox(idutente,chatBoxTitle,minimizeChatBox) {
	
	// se il box è già stato creato, lo visualizzo se nascosto
	if ($("#chatbox_"+idutente).length > 0) {
		if ($("#chatbox_"+idutente).css('display') == 'none') {
			$("#chatbox_"+idutente).css('display','block');
			restructureChatBoxes();
		}
		$("#chatbox_"+idutente+" .chatBoxTextarea").focus();
		return;
	}
	// dizionario: Riduci, Ripristina, Chiudi
	// altrimenti lo creo
	$(" <div />" ).attr("id","chatbox_"+idutente)
	.addClass("chatBox")
	.html('<div class="chatBoxHead"><div class="chatBoxTitle">'+chatBoxTitle+'</div><div class="chatBoxOptions"><a href="javascript:void(0)" onclick="minimizeChatBox(\''+idutente+'\',\''+chatBoxTitle+'\')" title="'+Riduci+'" class="riduciBoxChat"></a><a href="javascript:void(0)" onclick="restoreChatBox(\''+idutente+'\',\''+chatBoxTitle+'\')" title="'+Ripristina+'" class="ripristinaBoxChat"></a><a href="javascript:void(0)" onclick="chiudiChatBox(\''+idutente+'\',\''+chatBoxTitle+'\')" title="'+Chiudi+'" class="chiudiBoxChat"></a></div><br clear="all"/></div><div class="chatBoxContent"></div><div class="chatBoxInput"><textarea class="chatBoxTextarea" onkeydown="return checkChatBoxInputKey(event,this,\''+idutente+'\',\''+chatBoxTitle+'\');"></textarea></div>')
	.appendTo($( "body" ));
			   
	$("#chatbox_"+idutente).css('bottom', '0px');
	
	chatBoxeslength = 0;

	for (x in chatBoxes) {
		if ($("#chatbox_"+chatBoxes[x]).css('display') != 'none') {
			chatBoxeslength++;
		}
	}

	if (chatBoxeslength == 0) {
		$("#chatbox_"+idutente).css('right', '20px');
	} else {
		width = (chatBoxeslength)*(225+7)+20;
		$("#chatbox_"+idutente).css('right', width+'px');
	}
	
	chatBoxes.push(chatBoxTitle);

	if (minimizeChatBox == 1) {

		minimizedChatBoxes = new Array();

		if ($.cookie('chatbox_minimized')) {
			minimizedChatBoxes = $.cookie('chatbox_minimized').split(/\|/);
		}
		minimize = 0;
		for (j=0;j<minimizedChatBoxes.length;j++) {
			if (minimizedChatBoxes[j] == chatBoxTitle) {
				minimize = 1;
			}
		}

		if (minimize == 1) {
			$('#chatbox_'+idutente+' .chatBoxContent').css('display','none');
			$('#chatbox_'+idutente+' .chatBoxInput').css('display','none');
		}
		
	}

	chatBoxFocus[chatBoxTitle] = false;

	$("#chatbox_"+idutente+" .chatBoxTextarea").blur(function(){
		chatBoxFocus[chatBoxTitle] = false;
		$("#chatbox_"+idutente+" .chatBoxTextarea").removeClass('chatBoxTextareaSelected');
	}).focus(function(){
		chatBoxFocus[chatBoxTitle] = true;
		newMessages[chatBoxTitle] = false;
		$('#chatbox_'+idutente+' .chatBoxHead').removeClass('chatBoxBlink');
		$("#chatbox_"+idutente+" .chatBoxTextarea").addClass('chatBoxTextareaSelected');
	});

	$("#chatbox_"+idutente).click(function() {
		if ($('#chatbox_'+idutente+' .chatBoxContent').css('display') != 'none') {
			$("#chatbox_"+idutente+" .chatBoxTextarea").focus();
		}
	});

	$("#chatbox_"+idutente).fadeIn(); //show();
	//alert("#chatbox_"+idutente);
} // end func creaChatBox

// dizionario says...
function chatHeartbeat() {

	var itemsfound = 0;
	
	if (windowFocus == false) {
 
		var blinkNumber = 0;
		var titleChanged = 0;
		for (x in newMessagesWin) {
			if (newMessagesWin[x] == true) {
				++blinkNumber;
				if (blinkNumber >= blinkOrder) {
					document.title = x+' '+Dice+'...';
					titleChanged = 1;
					break;
				}
			}
		}
		
		if (titleChanged == 0) {
			document.title = windowTitle;
			blinkOrder = 0;
		} else {
			++blinkOrder;
		}

	} else {
		for (x in newMessagesWin) {
			newMessagesWin[x] = false;
		}
	}

	for (x in newMessages) {
		if (newMessages[x] == true) {
			if (chatBoxFocus[x] == false) {
				$('#chatbox_'+x+' .chatBoxHead').toggleClass('chatBoxBlink');
			}
		}
	}
	
	$.ajax({
	  url: path_http_ajax+"chat.php?action=chatHeartBeat",
	  cache: false,
	  dataType: "json",
	  success: function(data) {

		$.each(data.items, function(i,item){
			if (item) {

				chatBoxTitle = item.f;
				idutente = item.idf;
				
				if ($("#chatbox_"+idutente).length <= 0) {
					creaChatBox(idutente,chatBoxTitle);
				}
				if ($("#chatbox_"+idutente).css('display') == 'none') {
					$("#chatbox_"+idutente).css('display','block');
					restructureChatBoxes();
				}
				
				if (item.s == 1) {
					item.f = nickname;
				}

				if (item.s == 2) {
					$("#chatbox_"+idutente+" .chatBoxContent").append('<div class="chatBoxMessage"><span class="chatBoxInfo">'+item.m+'</span></div>');
				} else {
					newMessages[chatBoxTitle] = true;
					newMessagesWin[chatBoxTitle] = true;
					$("#chatbox_"+idutente+" .chatBoxContent").append('<div class="chatBoxMessage"><span class="chatBoxMessageFrom">'+item.f+':&nbsp;&nbsp;</span><span class="chatBoxMessageContent">'+item.m+'</span></div>');
				}

				$("#chatbox_"+idutente+" .chatBoxContent").scrollTop($("#chatbox_"+idutente+" .chatBoxContent")[0].scrollHeight);
				itemsfound += 1;
			}
		});

		chatHeartbeatCount++;

		if (itemsfound > 0) {
			chatHeartbeatTime = minChatHeartbeat;
			chatHeartbeatCount = 1;
		} else if (chatHeartbeatCount >= 10) {
			chatHeartbeatTime *= 2;
			chatHeartbeatCount = 1;
			if (chatHeartbeatTime > maxChatHeartbeat) {
				chatHeartbeatTime = maxChatHeartbeat;
			}
		}
		
		setTimeout('chatHeartbeat();',chatHeartbeatTime);
	}});
	
} // end func chatHeartbeat

// abbassa la finestra
function minimizeChatBox(idutente,chatBoxTitle) {

	if ($('#chatbox_'+idutente+' .chatBoxContent').css('display') != 'none') {  
		
		var newCookie = chatBoxTitle;

		if ($.cookie('chatbox_minimized')) {
			newCookie += '|'+$.cookie('chatbox_minimized');
		}

		$.cookie('chatbox_minimized',newCookie);
		//$('#chatbox_'+idutente+' .chatBoxContent').css('display','none');
		//$('#chatbox_'+idutente+' .chatBoxInput').css('display','none');
		$('#chatbox_'+idutente+' .chatBoxContent').slideUp();
		$('#chatbox_'+idutente+' .chatBoxInput').slideUp();
	}
	
} // end func minimizeChatBox

// ripristina la finestra
function restoreChatBox(idutente,chatBoxTitle) {

	if ($('#chatbox_'+idutente+' .chatBoxContent').css('display') == 'none') {  
		
		var minimizedChatBoxes = new Array();
		
		if ($.cookie('chatbox_minimized')) {
			minimizedChatBoxes = $.cookie('chatbox_minimized').split(/\|/);
		}

		var newCookie = '';

		for (i=0;i<minimizedChatBoxes.length;i++) {
			if (minimizedChatBoxes[i] != chatBoxTitle) {
				newCookie += chatBoxTitle+'|';
			}
		}

		newCookie = newCookie.slice(0, -1)

		$.cookie('chatbox_minimized', newCookie);
		//$('#chatbox_'+idutente+' .chatBoxContent').css('display','block');
		//$('#chatbox_'+idutente+' .chatBoxInput').css('display','block');
		$('#chatbox_'+idutente+' .chatBoxContent').slideDown();
		$('#chatbox_'+idutente+' .chatBoxInput').slideDown();
		$("#chatbox_"+idutente+" .chatBoxContent").scrollTop($("#chatbox_"+idutente+" .chatBoxContent")[0].scrollHeight);
		
	}
	
} // end func restoreChatBox

// chiude la chat
function chiudiChatBox(idutente,chatBoxTitle) {

	//$('#chatbox_'+idutente).css('display','none');
	$('#chatbox_'+idutente).fadeOut();
	
	restructureChatBoxes();

	$.post(path_http_ajax+"chat.php?action=closeChat", { idu: idutente, chatBox: chatBoxTitle} , function(data){
	});

} // ned func chiudiChatBox

// capta i tasti premuti nell'area messaggio, e se premuto invio, invia il msg
function checkChatBoxInputKey(event,chatBoxTextarea,idutente,chatBoxTitle) {
	 
	if(event.keyCode == 13 && event.shiftKey == 0)  {
		message = $(chatBoxTextarea).val();
		message = message.replace(/^\s+|\s+$/g,"");

		$(chatBoxTextarea).val('');
		$(chatBoxTextarea).focus();
		$(chatBoxTextarea).css('height','44px');
		if (message != '') {
			$.post(path_http_ajax+"chat.php?action=sendChat", {idto: idutente, to: chatBoxTitle, message: message} , function(data){
				message = message.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\"/g,"&quot;");
				$("#chatbox_"+idutente+" .chatBoxContent").append('<div class="chatBoxMessage"><span class="chatBoxMessageFrom">'+nickname+':&nbsp;&nbsp;</span><span class="chatBoxMessageContent">'+message+'</span></div>');
				$("#chatbox_"+idutente+" .chatBoxContent").scrollTop($("#chatbox_"+idutente+" .chatBoxContent")[0].scrollHeight);
			});
		}
		chatHeartbeatTime = minChatHeartbeat;
		chatHeartbeatCount = 1;

		return false;
	}

	var adjustedHeight = chatBoxTextarea.clientHeight;
	var maxHeight = 94;

	if (maxHeight > adjustedHeight) {
		adjustedHeight = Math.max(chatBoxTextarea.scrollHeight, adjustedHeight);
		if (maxHeight)
			adjustedHeight = Math.min(maxHeight, adjustedHeight);
		if (adjustedHeight > chatBoxTextarea.clientHeight)
			$(chatBoxTextarea).css('height',adjustedHeight+8 +'px');
	} else {
		$(chatBoxTextarea).css('overflow','auto');
	}
	 
} // end func checkChatBoxInputKey

// inizializzazione: controllo se ci sono chat aperte e messaggi non letti
function startChatSession() {  
	$.ajax({
	  url: path_http_ajax+"chat.php?action=startChatSession",
	  cache: false,
	  dataType: "json",
	  success: function(data) {
 
		nickname = data.nickname;

		$.each(data.items, function(i,item){
			if (item) {

				chatBoxTitle = item.f;
				idutente = item.idf;
				
				if ($("#chatbox_"+idutente).length <= 0) {
					creaChatBox(idutente,chatBoxTitle,1);
				}
				
				if (item.s == 1) {
					item.f = nickname;
				}

				if (item.s == 2) {
					$("#chatbox_"+idutente+" .chatBoxContent").append('<div class="chatBoxMessage"><span class="chatBoxInfo">'+item.m+'</span></div>');
				} else {
					$("#chatbox_"+idutente+" .chatBoxContent").append('<div class="chatBoxMessage"><span class="chatBoxMessageFrom">'+item.f+':&nbsp;&nbsp;</span><span class="chatBoxMessageContent">'+item.m+'</span></div>');
				}
			}
		});
		
		for (i=0;i<chatBoxes.length;i++) {
			chatBoxTitle = chatBoxes[i];
			$("#chatbox_"+idutente+" .chatBoxContent").scrollTop($("#chatbox_"+idutente+" .chatBoxContent")[0].scrollHeight);
			setTimeout('$("#chatbox_"+idutente+" .chatBoxContent").scrollTop($("#chatbox_"+idutente+" .chatBoxContent")[0].scrollHeight);', 100);
		}
	
	setTimeout('chatHeartbeat();',chatHeartbeatTime);
		
	}});
	
} // end func startChatSession

// funzione di debug per resettare la sessione della chat
function resetChat() {

	$.ajax({
	  url: path_http_ajax+"chat.php?action=resetChat",
	  cache: false,
	  success: function(response) {
 
		alert(response);
		window.location.reload();
		
		}
	});


} // end func resetChat
