﻿Cufon.replace('h1');
Cufon.replace('.cufon');

function showLoader() {
  $('#ajax_loader').show();
}

function hideLoader() {
  $('#ajax_loader').hide();
}

$(document).ready(function () {
  // Loader
  $('#ajax_loader')
    .ajaxStart(showLoader)
    .ajaxStop(hideLoader)

  // Uniform
  $('select, input:checkbox, input:radio, input:file').not('.selectbox').uniform();

  // Select Box
  $('.selectbox').selectbox();

  // Trim HTML
  $('input:submit')
    .click(function () {
      var $form = $(this).parents('form');

      $('textarea', $form)
        .each(function () {
          var text = $(this).val();
          text = text.replace(/(<([a-zA-Z]{1}[^>]*)>)/ig, '');
          $(this).val(text);
        });
    });

  // Calendari
  var dates_promo =
    $("#search_promo input.dal, #search_promo input.al")
      .datepicker({
        onSelect: function (selectedDate) {
          var option = $(this).hasClass("dal") ? "minDate" : "maxDate",
          instance = $(this).data("datepicker");
          date = $.datepicker
                  .parseDate(
                      instance.settings.dateFormat || $.datepicker._defaults.dateFormat,
                      selectedDate,
                      instance.settings
                  );

          dates_promo.not(this).datepicker("option", option, date);
        }
      });

  var dates_prenotazione =
    $("#dati_prenotazione input.dal, #dati_prenotazione input.al")
      .datepicker({
        onSelect: function (selectedDate) {
          var option = $(this).hasClass("dal") ? "minDate" : "maxDate",
          instance = $(this).data("datepicker");
          date = $.datepicker
                  .parseDate(
                      instance.settings.dateFormat || $.datepicker._defaults.dateFormat,
                      selectedDate,
                      instance.settings
                  );

          dates_prenotazione.not(this).datepicker("option", option, date);
        }
      });

  var dates_box_top =
    $(".prenota input.dal, .prenota input.al")
      .datepicker({
        onSelect: function (selectedDate) {
          var option = $(this).hasClass("dal") ? "minDate" : "maxDate",
          instance = $(this).data("datepicker");
          date = $.datepicker
                  .parseDate(
                      instance.settings.dateFormat || $.datepicker._defaults.dateFormat,
                      selectedDate,
                      instance.settings
                  );

          dates_box_top.not(this).datepicker("option", option, date);
        }
      });

  var dates_box_verifica =
    $("#verifica_disponibilita input.dal, #verifica_disponibilita input.al")
      .datepicker({
        onSelect: function (selectedDate) {
          var option = $(this).hasClass("dal") ? "minDate" : "maxDate",
          instance = $(this).data("datepicker");
          date = $.datepicker
                  .parseDate(
                      instance.settings.dateFormat || $.datepicker._defaults.dateFormat,
                      selectedDate,
                      instance.settings
                  );

          dates_box_verifica.not(this).datepicker("option", option, date);
        }
      });

  // Hover sui bottoni
  $('.btn_wrapper')
    .hover(function () {
      $(this).addClass('hovered');
    },
    function () {
      $(this).removeClass('hovered');
    });

  $('.btn_big_wrapper')
    .hover(function () {
      $(this).addClass('hovered_big');
    },
    function () {
      $(this).removeClass('hovered_big');
    });

  // Focus sui textBox
  $('.txt_wrapper .txt')
    .live({
      focusin: function () {
        $(this).parent().addClass('focused');
      },

      focusout: function () {
        var $this = $(this);

        if ($this.val() == '')
          $this.parent().removeClass('focused');
      }
    })
    .each(function () {
      var $this = $(this);

      if ($this.val() != '')
        $this.parent().addClass('focused');
    });

  // Slideshow Testata
  $('.slideshow ul')
    .before('<div class="pager"></div>')
    .cycle({
      fx: 'fade',
      speed: '500',
      timeout: 5000,
      pager: '.slideshow .pager'
    });

  // Click link invia email
  $('a.ajax_email_hotel')
    .click(function () {
      $.ajax({
        url: '/it-IT/Home/addEmailSite',
        data: { idStruttura: $(this).attr('rel') },
        type: 'POST'
      });
    });

  // Click link box verifica disponibilità
  $('#verifica_disponibilita .invia')
    .click(function () {
      $('#RichiestaContatto_dal').val($('#arrivo').val());
      $('#RichiestaContatto_al').val($('#partenza').val());
      $('#RichiestaContatto_adulti').val($('#grandi').val());
      $('#RichiestaContatto_bambini').val($('#piccoli').val());
      $('#RichiestaContatto_bambini').change();
      $.uniform.update('#RichiestaContatto_bambini');
      // Scrolla fino al div della richiesta
      window.scrollBy(0, $('#richiedi_disponibilita').offset().top);
    });
});
