$(document).ready(function() { 
						   



// *******************************************************
	// Meteo
	$meteo = $('#meteo');
	if ($meteo.length > 0){
		var meteotext = $.ajax({url: "/includes/myweather/get.php", async: false}).responseText;
		$meteo.html(meteotext);
	}
	
	
	var $headerIp = $('#headerIp');
	var $imgs = $headerIp.find('img')
	if ($imgs.length > 1){
		
		
	}
	
	
	// *******************************************************
	// Button 
	$('a.button, button.button').each(function(){
		var $this = $(this).removeClass('button').addClass('button_js');
		var $old = $this.clone();
		var $pre = $('<span class="pre"></span>');
		var $next = $('<span class="next"></span>');
		$this.append($pre).append($next);
		
		var width = $this.width();
		if ($.browser.mozilla && ($this.attr('href')==undefined) ){
			if($this.hasClass('button_small')){
				$pre.css({left:-3, top: -2 });
				$next.css({right:3, top: -2});
			}
			else{
				$pre.css({left:-3, top: -10 });
				$next.css({right:3, top: -10});
			}
			width+=10;
		}
		else if ($.browser.opera && ($this.attr('href')==undefined) ){
			width+=20;
		}
		else if ($.browser.msie && ($.browser.version < 7) ){
			
			$next.css({right:-1, top:0});
			$this.css({border:0});
			$pre.css('behavior','url(/cssjs/iepngfix.htc) ');
			$next.css('behavior','url(/cssjs/iepngfix.htc)');
		}

		
		$this.css({display:'block', width:width}).hover(
			function(){$(this).addClass('button_js_hover')},
			function(){$(this).removeClass('button_js_hover')}
		);
	});
	$('button.button:disabled, button.button_js:disabled').addClass('disabled');


   
	// *******************************************************
	/* Form submit button */ 
	var $submit = $('#submit_form');
	var form_success = false;
	
	$('#accept_privacy').click(function(){
		if (!$(this).attr('checked')){
			$submit.addClass('disabled');
		}
		else{
			$submit.removeClass('disabled');
		}
	});
	$submit.click(function(){
		if ($submit.hasClass('disabled')){
			alert("Devi accettare l'informativa sulla privacy!");
		}
		else{
			form_success = false;
			$('#form_contact').submit();
		
		}
		return false;
	});
	
	// *******************************************************
	// Datepicker
	$('.datepicker').each(function(){
		var $input = $(this);
		var alt = {};

		if ($input.attr('alt')!=''){
			var alt = eval('('+$input.attr('alt')+')');
		}
		
	
		$input.datepicker({
											
				onChangeMonthYear:function(year, month, inst){
					var $this = $(this);
					afterChangedDate($('.ui-datepicker-title:first').text(), function(){disable_dates($this)});
				},
				beforeShow:function(){
					var $this = $(this);
					afterChangedDate($('.ui-datepicker-title:first').text(), function(){disable_dates($this)});
				},
				numberOfMonths: alt.numberOfMonths == undefined ? 2 : alt.numberOfMonths, 
				minDate: alt.minDate == undefined ? new Date() : string2Date(alt.minDate),
				maxDate: alt.maxDate == undefined ? '+1y' : string2Date(alt.maxDate)
		});
	});
	
	
	// *******************************************************
	// Form
	var $form = $('#form_contact');
	$('input', $form).keypress(function (e) {
		if(e.which ==13){
			$form.submit();
		}
	});

	$form.submit(function(){
		var $inputs = $('input, textarea, select', $form);
		var success = true;
		var data = {};
		$inputs.each(function(){
			var $input = $(this);
			
			if ( ($input.attr('type') == 'radio') || ($input.attr('type') == 'checkbox') ){
				if ($input.attr('checked')){
					if(new String($input.attr('name')).indexOf('[]') > -1){
						if (data[$input.attr('name')] == undefined)  data[$input.attr('name')] = [];
						data[$input.attr('name')].push($input.val());
					}
					else{
						data[$input.attr('name')] = $input.val();
					}
				}
			}
			else{
				if(new String($input.attr('name')).indexOf('[]') > -1){
					if (data[$input.attr('name')] == undefined)  data[$input.attr('name')] = [];
					data[$input.attr('name')].push($input.val());
				}
				else{
					data[$input.attr('name')] = $input.val();
				}
			}
			
			if (success===true){
				var val = $.trim(new String($input.val()));
				
				// Controllo se il campo è richiesto
				if ( (new String($input.attr('alt')).indexOf('required')>-1) && (val=='') ){
					alert('Devi compilare il campo "'+ $input.attr('id')+'"');
					$input.focus();
					success = false;
				}
				// Controllo se il campo è una email
				else if ((new String($input.attr('alt')).indexOf('email')>-1)  && (! /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/.test(val) ) ){
					alert('Devi inserire un indirizzo e-mail valido!'); 
					$input.focus();
					success = false;
				}
				
			}
		})
		
		
		

		if (success){

			$.ajax({
				data:data,
				beforeSend:function(){
					$submit.before('<img src="/img/loading.gif">').hide();
				},
				type:'GET',
				dataType:'json',
				url: $form.attr('action') + '?callback=?',
				success:function(d, t){
					var $answer = $(d.result);
					if (d.success){
						$form.hide().after($answer);
					}
					else{
						alert(d.result);
					}
					//
				},
				error:function(a,b,c){

				},
				cache:false
			});
		}
		
		form_success = success;
		return false;
	});

	
	
	if ($.browser.msie && ($.browser.version<7)){
		
			$('#countries,  #headerIp, #logo img, .stars, #footer, #header, #headerText, #submit_form .pre, #submit_form .next').css('behavior', 'url("cssjs/iepngfix.htc")');
			$('#myslidemenu ul li ul li').css({clear:'both'});
			
			$('#myslidemenu').css({position:'absolute'});
			$('#myslidemenu ul li ul').css({top:50});
			$('#logo').css({clear:'both'});
			$('#title').css('margin-top', -44);
			$('#countries').css('padding', '30px 40px 30px 80px');
			//$('body').append('<script type="text/javascript" src="cssjs/iepngfix_tilebg.js"></s'+'cript>');

	}
}); 
	
function addChildren(el){
	addMultiple(el, 'Eta_Bambino', 'Età %n° bambino');
}

function afterChangedDate(before, fn){
	fn();
	setTimeout(function(){afterChangedDate(before, fn)}, 1000);
}

function string2Date(str){
	if (str.indexOf('/') == -1) return str;
	var d = str.split('/');
	return new Date(d[2], d[1]-1, d[0]);
	
}
function addMultiple(el, label, desc){
	$this = $(el);
	$('#multiple'+label).remove();
	$multiple = $('<div id="multiple'+label+'"></div>');

	var text = '';
	for (var i=0; i<$this.val(); i++){
		text+='<p><input class="inputtext smallinputtext" type="text" name="data['+label+'_'+(i+1)+']" id="'+label+'_'+(i+1)+'" value="" /><label for="'+label+'_'+(i+1)+'">'+ desc.replace('%n', i+1)+'</label></p>';
	}
	$multiple.append(text);
	
	$this.parent().after($multiple);
}

function getNDate(date){
	date = date.split('/');
	date[0] = date[0].length < 2  ? '0'+new String(date[0]) : date[0];
	date[1] = date[1].length < 2  ? '0'+new String(date[1]) : date[1];
	return parseInt(date[2]+''+date[1]+''+date[0]);
}


function array_search( needle, haystack, argStrict ) {
    var strict = !!argStrict;
    var key = '';
    for(key in haystack){
        if( (strict && haystack[key] === needle) || (!strict && haystack[key] == needle) ){
            return key;
        }
    }
    return false;
}

function disable_dates($el){
	var alt = $el.attr('alt');
	if (alt == undefined || alt==''){
		return;
	}
	alt = eval('('+alt+')');
	$('#ui-datepicker-div .ui-datepicker-group').each(function(){
															   
		year = $('.ui-datepicker-year', this).text();
		month = array_search( $('.ui-datepicker-month', this).text(), $.datepicker.regional['it'].monthNames );
		$('td', this).each(function(){
			if ($('a', this).length==0){
				return;
			}
			var n = $(this).text();
			
			alert(n);
			var $td = $(this);
			var date = getNDate(n+'/'+(parseInt(month)+1)+'/' +year);
			$.each(alt.disabledFrom, function(i, dateDisabled){
				//alert(getNDate(dateDisabled[0])+'<= '+date+ '<= '+ getNDate(dateDisabled[1]));
				if ( (getNDate(dateDisabled[0]) <= date) && (getNDate(dateDisabled[1]) >= date) ){
					//alert(date);
					$td.html('<span class="ui-state-default">'+n+'</span>').unbind('click').addClass('ui-datepicker-unselectable ui-state-disabled');
				}
			});
		});

	});
}
	
