(function(){var $$;$$=jQuery.fn.flash=function(htmlOptions,pluginOptions,replace,update){var block=replace||$$.replace;pluginOptions=$$.copy($$.pluginOptions,pluginOptions);if(!$$.hasFlash(pluginOptions.version)){if(pluginOptions.expressInstall&&$$.hasFlash(6,0,65)){var expressInstallOptions={flashvars:{MMredirectURL:location,MMplayerType:'PlugIn',MMdoctitle:jQuery('title').text()}};}else if(pluginOptions.update){block=update||$$.update;}else{return this;}}htmlOptions=$$.copy($$.htmlOptions,expressInstallOptions,htmlOptions);return this.each(function(){block.call(this,$$.copy(htmlOptions));});};$$.copy=function(){var options={},flashvars={};for(var i=0;i<arguments.length;i++){var arg=arguments[i];if(arg==undefined)continue;jQuery.extend(options,arg);if(arg.flashvars==undefined)continue;jQuery.extend(flashvars,arg.flashvars);}options.flashvars=flashvars;return options;};$$.hasFlash=function(){if(/hasFlash\=true/.test(location))return true;if(/hasFlash\=false/.test(location))return false;var pv=$$.hasFlash.playerVersion().match(/\d+/g);var rv=String([arguments[0],arguments[1],arguments[2]]).match(/\d+/g)||String($$.pluginOptions.version).match(/\d+/g);for(var i=0;i<3;i++){pv[i]=parseInt(pv[i]||0);rv[i]=parseInt(rv[i]||0);if(pv[i]<rv[i])return false;if(pv[i]>rv[i])return true;}return true;};$$.hasFlash.playerVersion=function(){try{try{var axo=new ActiveXObject('ShockwaveFlash.ShockwaveFlash.6');try{axo.AllowScriptAccess='always';}catch(e){return'6,0,0';}}catch(e){}return new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version').replace(/\D+/g,',').match(/^,?(.+),?$/)[1];}catch(e){try{if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){return(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g,",").match(/^,?(.+),?$/)[1];}}catch(e){}}return'0,0,0';};$$.htmlOptions={flashvars:{},pluginspage:'http://www.adobe.com/go/getflashplayer',src:'#',type:'application/x-shockwave-flash'};$$.pluginOptions={expressInstall:false,update:true,version:'6.0.65'};$$.replace=function(htmlOptions){this.innerHTML='<div class="alt">'+this.innerHTML+'</div>';jQuery(this).addClass('flash-replaced').prepend($$.transform(htmlOptions));};$$.update=function(htmlOptions){var url=String(location).split('?');url.splice(1,0,'?hasFlash=true&');url=url.join('');var msg='<p>This content requires the Flash Player. <a href="http://www.adobe.com/go/getflashplayer">Download Flash Player</a>. Already have Flash Player? <a href="'+url+'">Click here.</a></p>';this.innerHTML='<span class="alt">'+this.innerHTML+'</span>';jQuery(this).addClass('flash-update').prepend(msg);};function toAttributeString(){var s='';for(var key in this)if(typeof this[key]!='function')s+=key+'="'+this[key]+'" ';return s;};function toFlashvarsString(){var s='';for(var key in this)if(typeof this[key]!='function')s+=key+'='+encodeURIComponent(this[key])+'&';return s.replace(/&$/,'');};$$.transform=function(htmlOptions){htmlOptions.toString=toAttributeString;if(htmlOptions.flashvars)htmlOptions.flashvars.toString=toFlashvarsString;return'<embed '+String(htmlOptions)+'/>';};if(window.attachEvent){window.attachEvent("onbeforeunload",function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};});}})();
jQuery.cookie=function(key,value,options){if(arguments.length>1&&(value===null||typeof value!=="object")){options=jQuery.extend({},options);if(value===null){options.expires=-1}if(typeof options.expires==='number'){var days=options.expires,t=options.expires=new Date();t.setDate(t.getDate()+days)}return(document.cookie=[encodeURIComponent(key),'=',options.raw?String(value):encodeURIComponent(String(value)),options.expires?'; expires='+options.expires.toUTCString():'',options.path?'; path='+options.path:'',options.domain?'; domain='+options.domain:'',options.secure?'; secure':''].join(''))}options=value||{};var result,decode=options.raw?function(s){return s}:decodeURIComponent;return(result=new RegExp('(?:^|; )'+encodeURIComponent(key)+'=([^;]*)').exec(document.cookie))?decode(result[1]):null};





var showpop = true;
$(function(){


   var $toppopover = $('<div id="toppopover"></div>').prependTo('body').css({
      width:'100%',
      position: 'fixed',
      height:10,
      zIndex:1000
   });


   $toppopover.mousemove(function(e){
      popover();
   });







   $('.serviceInput input:checkbox').each(function(){
      $this = $(this);

      if ($this.is(':checked')){
         $this.parent().find('.input').show();
      }

      $this.click(function(){
         if ($(this).is(':checked')){
            $(this).parent().find('.input').show();
         }
         else{
            $(this).parent().find('.input').hide();
         }
      });

   });

	jQuery('#disponibilita').submit(function(){


      var nserv = $('#n_servizi').val();

		if((jQuery('input[name^=servizi]').length>0) && (jQuery('input[name^=servizi]:checked').length != nserv)){
			alert('Devi selezionare '+nserv+' omaggi!');
			return false;
		}

		// Giorni non validi
		var dataDa = new String(jQuery('#dataDa').val()).split('/');
		var night =  jQuery('#nnotti').val();
		var notAllow = ['15/3/2010','16/3/2010'];

		var date = new Date(parseInt(dataDa[2]), parseInt(dataDa[1]), parseInt(dataDa[0]));
		var i = 0;
		do{
			var strDate = date.getDate()+'/'+date.getMonth()+'/'+date.getFullYear();
			if (jQuery.inArray(strDate,notAllow)>-1){
				alert("Siamo spiacenti ma nel giorno "+ strDate +" non abbiamo piu' disponibilita'");
				return false;
			}
			i++;
			date = new Date(parseInt(dataDa[2]), parseInt(dataDa[1]), parseInt(dataDa[0])+i);
		}while(i<night);
	});

});


var countBox = 0;
function prevBox(){
	countBox --;
	if (countBox <0)
		countBox = jQuery('.box').length-1;
	showBox();
}

function nextBox(){
	countBox ++;
	if (countBox >jQuery('.box').length-1)
		countBox = 0;
	showBox();
}


function showBox(){
	jQuery('.box').hide();
	jQuery('.box:eq('+countBox+')').show();
}


function showroom(){
	var val = jQuery('#camera').val();
	jQuery('.camera').hide();
	jQuery('.camera[title='+val+']').show();

}


function checkForm(){
   if (! /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(jQuery('#email').val())){
      alert("L'indirizzo email non e' corretto!");
      jQuery('#email').focus();
      return false;
   }

   var dataArrivo = jQuery('#dataDa').val();
   var RegExPattern = /^((((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))|(((0[1-9]|[12]\d|3[01])(0[13578]|1[02])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|[12]\d|30)(0[13456789]|1[012])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|1\d|2[0-8])02((1[6-9]|[2-9]\d)?\d{2}))|(2902((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00))))$/;

   if (dataArrivo!=''){
      if (!dataArrivo.match(RegExPattern)){
         jQuery('#dataDa').focus();
         alert('Devi inserire la data nel formato dd/mm/yyyy.');
         return false;
      }
   }
   else{
      jQuery('#dataDa').focus();
      alert('Devi inserire le date!');
      return false;
   }

   return true

}



function updateTips(t) {
   $(".validateTips")
      .text(t)
      .addClass('ui-state-highlight');
   setTimeout(function() {
      $(".validateTips").removeClass('ui-state-highlight', 1500);
   }, 500);
}

function checkLength(o,n,min,max) {

   if ( o.val().length > max || o.val().length < min ) {
      o.addClass('ui-state-error');
      updateTips("La lunghezza " + n + " deve essere tra "+min+" e "+max+".");
      return false;
   } else {
      return true;
   }

}

function checkRegexp(o,regexp,n) {

   if ( !( regexp.test( o.val() ) ) ) {
      o.addClass('ui-state-error');
      updateTips(n);
      return false;
   } else {
      return true;
   }

}


function popover(){



   if($.cookie('MirabelloPopup')!=null){
      return;
   }

   $.cookie('MirabelloPopup', '1', { path: '/', expires: 1 });

   //var $overlay = '<div class="ui-widget-overlay"></div>';
   var dialog = ''
      + '<div id="ppup">'
      + '      <p class="validateTips"></p>'
      + '      <input type="text" name="popup_name" id="popup_name" class="name" value="Scrivi qui il tuo Nome" />'
      + '      <input type="text" name="popup_email" id="popup_email" class="email" value="Scrivi qui il tuo indirizzo Email" />'
      + '      <select name="popup_holiday" id="popup_holiday" class="holiday"> '
      + '         <option value="">Scegli il tuo tipo di vacanza ideale ...</option>'
      + '         <option value="Vacanza benessere">Vacanza benessere</option>'
      + '         <option value="Vacanza all\'aria aperta">Vacanza all\'aria aperta</option>'
      + '         <option value="Vacanza per buongustai">Vacanza per buongustai</option>'
      + '         <option value="Vacanza per famiglie con bambini">Vacanza per famiglie con bambini</option>'
      + '         <option value=" Altro"> Altro</option>'
      + '      </select>'
      + '      <input type="text" name="popup_date" id="popup_date" class="date" value="Quando preferiresti andare in ferie?" />'
      + '      <a class="submit" href="#">Aiutami a trovare l\'offerta giusta!</a>'
      + '</div>'
   ;


   $.fancybox(
		dialog,
		{
         'autoDimensions'	: false,
			'width'         	: 400,
			'height'          : 450,
			'transitionIn'		: 'none',
			'transitionOut'	: 'none',
         'onClosed'        : function(){showpop=true; $('object').css('visibility', 'visible')},
         'onComplete'      : function(){

            var $ppup = $('#ppup');
            $('object').css('visibility', 'hidden')

            $ppup.find('input').focus(function(){
               $this = $(this);
               if($this.val()==$this.attr('first')){
                  $this.val('')
               }
            }).blur(function(){
               $this = $(this);
               if($this.val()==''){
                  $this.val($this.attr('first'))
               }
            });

            $ppup.find('.date').datepicker();

            $ppup.find('input').each(function(){$(this).attr('first', $(this).val())});

            $ppup.find('.submit').click(function(){
               var name = $("#popup_name"),
                  email = $("#popup_email"),
                  holiday = $("#popup_holiday"),
                  date = $("#popup_date"),
                  allFields = $([]).add(name).add(email).add(holiday).add(date),
                  bValid = true;

               allFields.removeClass('ui-state-error');

               bValid = bValid && checkLength(name,"del nome",3,16);
               bValid = bValid && checkLength(email,"della email",6,80);
               //bValid = bValid && checkLength(holiday,"della ",5,16);
               //bValid = bValid && checkLength(date,"date",5,16);

               //bValid = bValid && checkRegexp(name,/^[a-z]([0-9a-z_])+$/i,"Username may consist of a-z, 0-9, underscores, begin with a letter.");
               // From jquery.validate.js (by joern), contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/
               bValid = bValid && checkRegexp(email,/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,"L\'email deve essere valida!");
               bValid = bValid && checkRegexp(date,/^([0-9]{1,2})\/([0-9]{1,2})\/([0-9]{2,4})$/,"La data deve essere nel formato gg/mm/YYYY");

               if (bValid) {
                  $.post(
                     'http://www.hotelmirabello.it/12all/box.php',
                     {
                        'first_name'   : name.val(),
                        'email'        : email.val(),
                        'field[19,0]'  : holiday.val(),
                        'field[20,0]'  : date.val(),
                        'nlbox[]'      : '9',
                        'funcml'       : 'add',
                        'p'            : '1002',
                        '_charset'     : 'utf-8'
                     },function(){
                        $('#ppup').html(''
                           +'<h2>Richiesta inviata!</h2>'
                           +'<p>A breve ti contatteremo!</p>'
                           +'<iframe frameborder="0" border="0" src="/popupgcode.html" style="border:0"></iframe>'
                        ).css({background:'#fff'}).height('auto');



                     }
                  )
               }
            });
         }
		}
	);




}