// declare eventDays global
var eventDays = {};

// perform initial json request for free days
fetchEventDays();




jQuery(document).ready( function() {

	// caricamento menu braccio sinistra
    openMenuOcra(explodeMenuOcra);
	openMenuArancio(explodeMenuArancio);
	openMenuRosa(explodeMenuRosa);
	openMenuBlu(explodeMenuBlu);


	// inizializzazione contatore elementi acquistati
	refreshBasketResume();
	
	
	// gestione foto
	//jQuery("div.foto img[rel]").overlay({effect:'apple'});
	jQuery("a[rel^='prettyPhoto']").prettyPhoto();

	// gestione prompt login
	var triggers = jQuery(".modalInput").overlay({
		mask: {
			color: '#ebecff',
			loadSpeed: 200,
			opacity: 0.9
		},
		closeOnClick: false
	});
	jQuery("#prompt form").submit(function(e) {
		triggers.eq(0).overlay().close();
		var username = jQuery("input", this).eq(0).val();
		//var input = $("input", this).val()
		var password = jQuery("input", this).eq(1).val();
		alert(username+"\n"+password);
		return e.preventDefault();
	});

	/*
	// gestione video
	jQuery('a[rel="div.overlay"]').each(function() {
		var playerId = "player" + jQuery(this).attr("id").replace("video", "");
		var player = flowplayer(
						playerId,
						//"/extras/donbosco/swf/flowplayer-3.2.7.swf",
						"http://95.110.199.178:8081/extras/donbosco/swf/flowplayer-3.2.7.swf",
						//"http://www.borgodonbosco.it/extras/donbosco/swf/flowplayer-3.2.7.swf",
						{plugins:{controls:{url:'flowplayer.controls-3.2.5.swf'}}}
					);
		jQuery(this).overlay({
						mask: '#FFFFFF',
						effect: 'apple',
						onLoad: function() { player.load() },
						onClose: function() { player.unload() }
		});
	});
	*/

	
	// init del calendario
	jQuery.datepicker.regional['it'] = {
		prevText: 'Prec.', prevStatus: 'mese precedente',
		nextText: 'Succ.', nextStatus: 'mese successivo',
		monthNames: ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre'],
		monthNamesShort: ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic'],
		dayNames: ['domenica', 'lunedi', 'martedi', 'mercoledi', 'giovedi', 'venerdi', 'sabato'],
		dayNamesShort: ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'],
		dayNamesMin: ['do', 'lu', 'ma', 'me', 'gi', 've', 'sa'],
		dateFormat: 'dd/mm/yy',
		firstDay: 1
		};
	jQuery.datepicker.setDefaults(jQuery.datepicker.regional['it']);

	jQuery("#datepicker").datepicker({
		onSelect: function(dateText, inst) {
			jQuery("#colCx").load('/index.html',{'func':'calendario','data':dateText},function(){jQuery("a[rel^='prettyPhoto']").prettyPhoto();});
		},
		onChangeMonthYear: fetchEventDays,
		beforeShowDay: highlightEventDays
	});
	
	
	// inizializzazione tabella utenti registrati
	if (jQuery('#elencoRegistrati').length > 0) {
		jQuery('#elencoRegistrati').dataTable({
			"bProcessing": true,
			"bServerSide": true,
			"sAjaxSource": "/?func=ajaxDataTables"
		});
	}
	
});




function openMenuOcra(explode) {
	jQuery("#menu_ocra").load("/root/sito/categorie/la-famiglia-salesiana",{'func':'buildMenuTrunk','explode':explode});
}
function openMenuArancio(explode) {
	jQuery("#menu_arancio").load("/root/sito/categorie/oratorio",{'func':'buildMenuTrunk','explode':explode});
}
function openMenuRosa(explode) {
	jQuery("#menu_rosa").load("/root/sito/categorie/rimettere-le-ali",{'func':'buildMenuTrunk','explode':explode});
}
function openMenuBlu(explode) {
	jQuery("#menu_blu").load("/root/sito/categorie/centro-formazione-professionale",{'func':'buildMenuTrunk','explode':explode});
}




function fetchEventDays(year, month) {
    if (year == undefined || month == undefined) {
		year = (new Date).getFullYear();
		month = (new Date).getMonth() + 1;
	}
	month = (month.length === 1) ? month : '0' + month;
	var start_date = year+'-'+month;
    jQuery.post('/index.html',{'func':'calendarHilight','data':start_date}, function(data){
			eventDays = eval('(' + data + ')');
			jQuery("#datepicker").datepicker( "refresh" );
    });
}

function highlightEventDays(date) {
	var year = date.getFullYear();
	var month = date.getMonth() + 1;
	var day = date.getDate().toString();
	month = (month.length === 1) ? month : '0' + month;
	if (month == '010') {month = 10}
	if (month == '011') {month = 11}
	if (month == '012') {month = 12}
	day = (day.length > 1) ? day : '0' + day;

	return eventDays[year+"-"+month+"-"+day] != undefined ?
			[true, '', eventDays[year+"-"+month+"-"+day]+' eventi']
			:
			[false, '', 'NESSUN EVENTO IN QUESTA DATA'];
}





// FUNZIONI PER IL LOGIN

function checkLogin(formId) {
  var queryString = jQuery("#"+formId).formSerialize();
  jQuery.post("/autenticazione.html",queryString,
	  function(ok) {
		if (ok == 1) {
			showBoxyTimer("<span>Benvenuto "+ jQuery("#accedi_username").val() +" e buona navigazione su Borgo Ragazzi Don Bosco.</span>",3);
			userLogin();
		} else {
			showBoxyTimer("<span>I dati inseriti non sono corretti. Controllare username e password e riprovare.</span>",2);
			userLogout();
		}
	  }
  );
}

function registerMe(formId) {
  if (registerCheckForm()) {
	  var queryString = jQuery("#"+formId).formSerialize();
	  jQuery.post("/autenticazione.html",queryString,
		  function(ok) {
			if (ok == 1) {
				showBoxyTimer("<span>Benvenuto "+ jQuery("#registrati_username").val() +", i tuoi dati sono stati registrati. Buona navigazione su Borgo Ragazzi Don Bosco.</span>",3);
				userLogin();
			} else {
				showBoxyTimer("<span>ATTENZIONE. Errore in fase di registrazione: controllare i dati inseriti e riprovare.</span>",3);
				userLogout();
			}
		  }
	  );
  } else {
	showBoxyTimer("<span>ATTENZIONE: DATI NON CORRETTI.</span>",2);
  }
}

function registerCheckForm() {
	if (!isUsername(jQuery("#registrati_username").val())) { return false; }
	else if (!isPassword(jQuery("#registrati_password").val())) { return false; }
	else if (jQuery("#registrati_password").val() != jQuery("#registrati_password_confirm").val()) { return false; }
	else if (!isEmail(jQuery("#registrati_email").val())) { return false; }
	return true;
}



// ====================================
function userLogin() {
	jQuery.cookie(loginId, "1", { path: '/' });
}

function userLogout() {
	jQuery.cookie(loginId, null);
}

function userIsLogged() {
	return jQuery.cookie(loginId) == null ? false : true;
}
// ====================================






function inviaContatti(theUrl) {
  var queryString = jQuery("#formContatti").formSerialize();
  jQuery.post("/"+theUrl,queryString,
			  function(data) {
                var msg = "<h2>Grazie per averci contattato.</h2>";
                showBoxyTimer(msg,2);
				jQuery("#formContatti")[0].reset();
			  }
  );
}






// ====================================
function showBoxy(data) {
	return new Boxy(data,
					{
						modal:true,
						unloadOnHide:true,
						fixed:false,
						title:'<b>Borgo Ragazzi Don Bosco</b>',
						closeText:''
					}
	);//.center();
}
function showBoxyTimer(data,seconds) {
	var tempo = seconds * 1000;
	return new Boxy(data,
					{
						modal:true,
						unloadOnHide:true,
						fixed:false,
						title:'<b>Borgo Ragazzi Don Bosco</b>',
						//closeText:'<b>[ CHIUDI ]</b>',
						closeable: false,
						afterShow: function() {
							var self = this;
							setTimeout(function() { self.hide(); }, tempo);
						}
					}
	);//.center();
}

//<input type='button' onClick='closeBoxy(this);'>
function closeBoxy(theInput) {
	Boxy.get(theInput).hide();
}
// ====================================





// UTILITY

function isUsername(input) {
	if (input.length == 0) { return false; }
	return true;
}

function isPassword(input) {
	if (input.length == 0) { return false; }
	return true;
}

function isEmail(emailaddressVal) {
	var hasError = false;
	var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
	var skipDomain = false;
	var emailblockReg = /^([\w-\.]+@(?!gmail.com)(?!yahoo.com)(?!hotmail.com)([\w-]+\.)+[\w-]{2,4})?$/;
	
	// controllo campo vuoto (tipo "Inserire il proprio indirizzo email")
	if (emailaddressVal == '') { hasError = true; }
	
	// Controllo struttura indirizzo (tipo "Inserire un indirizzo email valido")
	else if (!emailReg.test(emailaddressVal)) { hasError = true; }

	// DISABILITATO.
	// Filtro su domini specifici (tipo "Non usare mail di yahoo, gmail o hotmail.")
	else if (skipDomain && !emailblockReg.test(emailaddressVal)) { hasError = true }

	return !hasError;
}

function isNumber(input) {
	return (input - 0) == input && input.length > 0;
}

function isInteger(input) {
	return isNumber(input) && (parseFloat(input) == parseInt(input));
}

function testA() {
	alert( euro2number("euro 2.123.456,07 asASDAS") );
	alert( number2euro(212345607.78) );
}

function euro2number(euro) {
	return jQuery.parseNumber(euro.replace(/^\D+/,"").replace(/\D+$/,""), {format:"#,###.00", locale:"de"});
}

function number2euro(number) {
	return jQuery.formatNumber(number, {format:"#,###.00", locale:"de"}) + ' &euro;';
}

