	var arrCheck=[
		{ name: 'nome', len: 3},
		{ name: 'indirizzo', len: 3},
		{ name: 'cap', reg: /^\d+$/i},
		{ name: 'citta', len: 3},
		{ name: 'regione', reg: /^\d+$/i},
		{ name: 'provincia', nullable: true, reg: /^\w{2}$/i},
		{ name: 'capienza_min', reg: /^\d+$/i},
		{ name: 'capienza_max', reg: /^\d+$/i},
		{ name: 'mese_apertura', reg: /^\d+$/i},
		{ name: 'mese_chiusura', reg: /^\d+$/i},
		{ name: 'minimo_giorni', reg: /^\d+$/i},
		{ name: 'gestione', reg: /^\d+$/i},
		{ name: 'zona', reg: /^\d+$/i},
		{ name: 'altitudine', reg: /^\d+$/i},
		{ name: 'website', nullable: true, len: 3},
		{ name: 'responsabile', len: 3},
		{ name: 'resp_indirizzo', len: 3},
		{ name: 'resp_telefono', len: 3},
		{ name: 'posti_letto', reg: /^\d+$/i},
		{ name: 'camere', reg: /^\d+$/i},
		{ name: 'bagni', reg: /^\d+$/i},
		{ name: 'docce', reg: /^\d+$/i},
		{ name: 'spazio_esterno', reg: /^\d+$/i},
		{ name: 'stazione_km', nullable: true, reg: /^\d+[\.,]?\d*$/i},
		{ name: 'paese_km', nullable: true, reg: /^\d+[\.,]?\d*$/i},
		{ name: 'ospedale_km', nullable: true, reg: /^\d+[\.,]?\d*$/i}
	];
	
	var monthCheck=[0,31,28,31,30,31,30,31,31,30,31,30,31];
	
	function check_name(text){
		if(text && text.length>0){
			var count_upper = 0;
			var count_space = 0;
			for(i=0; i < text.length; i++) {
				if(text.charAt(i)==" ") count_space++;				
				else if(text.charAt(i).match(/[A-Z]/)) count_upper++;
			}
			if(count_upper/text.length >= 0.4) return true;
			if(count_space/text.length >= 0.4) return true;
		}
		return false;
	}
	
$(document).ready(function() {


	
	$('#gest_form').submit(function (){
		var error=false;
		if($("#telefono").val().length<2) error="Devi inserire il tuo numero di telefono";
		else if($("#indirizzo").val().length<2) error="Devi inserire il tuo indirizzo";
		else if($("#cap").val().length<2) error="Devi inserire il cap";
		else if($("#citta").val().length<2) error="Devi inserire la citta'";
		else if($("#accetta:checked").length==0) error="Devi leggere e accettare le norme d'utilizzo";
		
		if(error) alert(error);
		return !error;
	});
	$('#strut_form select[name=regione]').change(function (){
		$.getJSON("?&p=gestori&aj=1&mode=province", {regione: $(this).val()}, function(data){
			$('#strut_form select[name=provincia] option').remove();
			$.each(data, function(i,item){
				$('<option>').attr("value",item.id).html(item.nome).appendTo('#strut_form select[name=provincia]');
			});
		}) ;
	});
	$('#strut_form select[name=mese_apertura], #strut_form select[name=mese_chiusura]').change(function (){
		var apertura=parseInt($('#strut_form select[name=mese_apertura]').val());
		var chiusura=parseInt($('#strut_form select[name=mese_chiusura]').val());
		if(apertura>chiusura){
			$('#strut_form select[name=mese_chiusura] option[value='+apertura+']').attr('selected', 'selected');
		}
	});
	$('#strut_form').submit(function (){
		var error=false;
		$.each(arrCheck,function(i,item){
			if(error) return;
			var obj=$('input[name='+item.name+'], select[name='+item.name+']');
			var val=obj.val();
			var label=obj.prevAll('span').html();
			if(!label) label=item.name;

			if((typeof val == 'undefined' || val=="") && item.nullable) return;
			else if((typeof val == 'undefined' || val=="") && !item.nullable) error=label+" dev'essere valorizzato";
			else if(item.len && val.length<item.len) error=label+" e' troppo corto";
			else if(item.reg && !val.match(item.reg)) error=label+" non ha un valore valido";
		});
		if($('input[name=nome]') && check_name($('input[name=nome]').val())) error="Il nome non e' valido, ci sono troppe maiuscolo o troppi spazi.";
		if(error) alert(error);
		return !error;
	});
	$('#date').DatePicker({
		flat: true,
		locale: {
					days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
					daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
					daysMin: ['Do', 'Lu', 'Ma', 'Me', 'Gi', 'Ve', 'Sa'],
					months: ['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre'],
					monthsShort: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"],
					weekMin: 'set'
				},
		closeText: 'Chiudi',
		currentText: 'Oggi',
		dateFormat: 'd/m/Y',
		date: [],
		current: typeof defDate != 'undefined'	?defDate:false,
		calendars: 2,
		mode: 'range',
		start: 1,
		onChange: function(formated, dates){
			$('#dal').val(dates[0].getTime()/1000);
			$('#al').val(dates[1].getTime()/1000);
		},
		onRender: function(date) {
			var classname=false;
			var now=new Date();
			if(occDate.length>0){
				$.each(occDate,function(i,item){
					item.dal.setMinutes(0);
					item.dal.setHours(0);
					item.dal.setSeconds(0);
					item.al.setMinutes(0);					
					item.al.setHours(0);
					item.al.setSeconds(0);
					if(!item.removed && (item.dal.valueOf()<=date.valueOf() && date.valueOf()<item.al.valueOf() || item.dal.valueOf()==date.valueOf())) classname="busyDate idocc_"+item.id;
				});
			}
			return {
				disabled: classname || date.valueOf()<now.valueOf(),
				className: classname
			}
		}
	});	
	$('a.delocc').click(function (){
		if(!confirm('Sicuro di voler cancellare l\'occupazione?')) return false;
		else{
			$.getJSON($(this).attr('href'), {aj: 1}, function(data){
				if(data){
					$('td.busyDate.idocc_'+data).removeClass('idocc_'+data).removeClass('datepickerDisabled').removeClass('busyDate');
					if(occDate.length>0){
						$.each(occDate,function(i,item){
							if(item.id==parseInt(data)) item.removed=true;
						});
					}
				}
			});
			$(this).parent('li').remove();
		}
		 return false;
	});
	$('select.mese').change(function (){
		var maxD=monthCheck[parseInt($(this).val())];
		var obj=$(this).prev('select').find('option');
		if(obj.length<maxD){
			for(var i=obj.length+1;i<=maxD;i++) $('<option>').val(i).html(i).appendTo($(this).prev('select'));
		}else if(obj.length>maxD) obj.each(function(i,item){
			if(parseInt($(item).val())>maxD) $(item).remove();
		});
	});
	$('#add_prezzo').submit(function(){
		var error=false;
		if(!$('#apersona').val().match("/^\d*[,\.]?\d+€?$/")) error='Il prezzo a persona dev\'essere un numero (eventualmente 0)';
		if(!$('#algiorno').val().match("/^\d*[,\.]?\d+€?$/")) error='Il prezzo al giorno dev\'essere un numero (eventualmente 0)';
		if(parseFloat($('#apersona').val())+parseFloat($('#algiorno').val())<=0) error='I prezzi non posso essere entrambi a 0';
		if(error) alert(error);
		return !error;
	});
	$('a.delprezzo').click(function (){
		if(!confirm('Sicuro di voler cancellare il prezzo?')) return false;
		return true;
	});
	$('span.removeImg').click(function (){
		if(!confirm('Sicuro di voler cancellare l\'immagine?')) return false;
		$.getJSON('?&p=gestori&mode=delImg', {aj :1, src: $(this).parents('a').find('img').attr("src")}, function(data){});
		$(this).parents('a').remove();
		return false;
	});
	$('#trasf_form').submit(function (){
		var error=false;
		if($("#email").val().length<1) error="Devi inserire l'email del nuovo gestore";
		else if($("#email").val()!=$("#email2").val()) error="L'email non e' ripetuta correttamente";
		if(error) alert(error);
		else{
			if(confirm('Sicuro di procedere? Confermando non potrai piu\' accedere alla struttura')) return true;
		}
		return false;
	});	
});
