////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// jQuery
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var resizeId;
var lastModal;
var customizerEnabled = 0;
var defaultColor;
var originalNavigationCode;
var navigationIsTouchingBrand;
var responsiveNavigationTriggered = false;
var lastclickinfo = new Array();
$(document).ready(function($) {
"use strict";
/*$('#spinner').bind("ajaxSend", function() {
$(this).show();
}).bind("ajaxComplete", function() {
$(this).hide();
});*/
originalNavigationCode = $(".primary-nav").html();
if( $("body").hasClass("navigation-fixed") ){
fixedNavigation(true);
}
else {
fixedNavigation(false);
}
if( customizerEnabled == 1 ){
$.getScript( "assets/misc/customizer.js", function( data, textStatus, jqxhr ) {
loadColor("load_default_color");
});
}
if( $(".tse-scrollable").length ){
$(".tse-scrollable").TrackpadScrollEmulator();
trackpadScroll("recalculate");
}
if( $(".date-picker").length ){
$(".date-picker").datepicker({
language:'it'
});
}
heroSectionHeight();
// Render hero search form ---------------------------------------------------------------------------------------------
$("select").on("rendered.bs.select", function () {
var bootstrap_css = base_url + 'assets/css/bootstrap-select.min.css';
$('head').append( $('').attr('href', bootstrap_css) );
if( !viewport.is('xs') ){
$(".search-form.vertical").css( "top", ($(".hero-section").height()/2) - ($(".search-form .wrapper").height()/2) );
}
trackpadScroll("initialize");
});
if( !viewport.is('xs') ){
$(".search-form.vertical").css( "top", ($(".hero-section").height()/2) - ($(".search-form .wrapper").height()/2) );
trackpadScroll("initialize");
}
// Social Share -------------------------------------------------------------------------------------------------------
if( $(".social-share").length ){
socialShare();
}
// Count down --------------------------------------------------------------------------------------------------------
if( $(".count-down").length ){
/*
REMOVE THIS COMMENT IN YOUR PROJECT
var year = parseInt( $(".count-down").attr("data-countdown-year"), 10 );
var month = parseInt( $(".count-down").attr("data-countdown-month"), 10 ) - 1;
var day = parseInt( $(".count-down").attr("data-countdown-day"), 10 );
$(".count-down").countdown( {until: new Date(year, month, day), padZeroes: true, format: 'HMS'} );
*/
var date = new Date();
$(".count-down").countdown( {until: new Date(date.getFullYear(), date.getMonth(), date.getDate() + 2 ), padZeroes: true, format: 'HMS'} );
}
// iCheck -------------------------------------------------------------------------------------------------------------
if ($("input[type=checkbox]").length > 0) {
$("input").iCheck();
}
if ($("input[type=radio]").length > 0) {
$("input").iCheck();
}
// Smooth Scroll ------------------------------------------------------------------------------------------------------
$('.main-nav a[href^="#"], a[href^="#"].scroll').on('click',function (e) {
e.preventDefault();
if( $(this).hasClass("to-top") ){
$('html, body').stop().animate({
'scrollTop': 0
}, 2000, 'swing');
}
else {
var target = this.hash,
$target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top
}, 2000, 'swing', function () {
window.location.hash = target;
});
}
});
// Modal after click --------------------------------------------------------------------------------------------------
$("[data-modal-external-file], .quick-detail").live("click", function(e){
e.preventDefault();
var modalTarget, modalFile;
if( $(this).closest(".item").attr("data-id") ){
modalTarget = $(this).closest(".item").attr("data-id");
modalFile = "modal_item.php";
}
else {
modalTarget = $(this).attr("data-target");
modalFile = $(this).attr("data-modal-external-file");
}
if( $(this).attr("data-close-modal") == "true" ){
lastModal.modal("hide");
setTimeout(function() {
openModal(modalTarget, modalFile);
}, 400);
}
else {
openModal(modalTarget, modalFile);
}
});
// Multiple modal hack ------------------------------------------------------------------------------------------------
$(document).on('show.bs.modal', '.modal', function () {
var zIndex = 1040 + (10 * $('.modal:visible').length);
$(this).css('z-index', zIndex);
setTimeout(function() {
$('.modal-backdrop').not('.modal-stack').css('z-index', zIndex - 1).addClass('modal-stack');
}, 0);
});
// This just makes all bootstrap native .modals jive together
/*$('.modal').on("hidden.bs.modal", function (e) {
if($('.modal:visible').length)
{
$('.modal-backdrop').first().css('z-index', parseInt($('.modal:visible').last().css('z-index')) - 10);
$('body').addClass('modal-open');
}
}).on("show.bs.modal", function (e) {
if($('.modal:visible').length)
{
$('.modal-backdrop.in').first().css('z-index', parseInt($('.modal:visible').last().css('z-index')) + 10);
$(this).css('z-index', parseInt($('.modal-backdrop.in').first().css('z-index')) + 10);
}
});*/
// Map in Row listing -------------------------------------------------------------------------------------------------
$(".item.item-row").each(function() {
var element = "map"+$(this).attr("data-id");
var place;
$(this).find(".map").attr("id", element );
var _latitude = $(this).attr("data-latitude");
var _longitude = $(this).attr("data-longitude");
if( $(this).attr("data-address") ){
place = $(this).attr("data-address");
}
else {
place = false;
}
simpleMap(_latitude,_longitude, element, false, place);
});
// Close "More" menu on click anywhere on page ------------------------------------------------------------------------
$(document).on("click", function(e){
if( e.target.className == "controls-more" ){
$(".controls-more.show").removeClass("show");
$(e.target).addClass("show");
}
else {
$(".controls-more.show").each(function() {
$(this).removeClass("show");
});
}
});
// Mobile navigation button --------------------------------------------------------------------------------------------
$(".nav-btn").on("click", function(){
$(this).toggleClass("active");
$(".primary-nav").toggleClass("show");
});
// Duplicate desired element ------------------------------------------------------------------------------------------
$(".duplicate").live("click", function(e){
e.preventDefault();
var duplicateElement = $(this).attr("href");
var parentElement = $(duplicateElement)[0].parentElement;
$(parentElement).append( $(duplicateElement)[0].outerHTML );
});
// Enable image previews in multi file input --------------------------------------------------------------------------
if( $("input[type=file].with-preview").length ){
$("input.file-upload-input").MultiFile({
list: ".file-upload-previews"
});
}
// No UI Slider -------------------------------------------------------------------------------------------------------
if( $('.ui-slider').length > 0 ){
$('.ui-slider').each(function() {
if( $("body").hasClass("rtl") ) var rtl = "rtl";
else rtl = "ltr";
var step;
if( $(this).attr('data-step') ) {
step = parseInt( $(this).attr('data-step') );
}
else {
step = 10;
}
var sliderElement = $(this).attr('id');
var element = $( '#' + sliderElement);
var valueMin = parseInt( $(this).attr('data-value-min') );
var valueMax = parseInt( $(this).attr('data-value-max') );
$(this).noUiSlider({
start: [ valueMin, valueMax ],
connect: true,
direction: rtl,
range: {
'min': valueMin,
'max': valueMax
},
step: step
});
if( $(this).attr('data-value-type') == 'price' ) {
if( $(this).attr('data-currency-placement') == 'before' ) {
$(this).Link('lower').to( $(this).children('.values').children('.value-min'), null, wNumb({ prefix: $(this).attr('data-currency'), decimals: 0, thousand: '.' }));
$(this).Link('upper').to( $(this).children('.values').children('.value-max'), null, wNumb({ prefix: $(this).attr('data-currency'), decimals: 0, thousand: '.' }));
}
else if( $(this).attr('data-currency-placement') == 'after' ){
$(this).Link('lower').to( $(this).children('.values').children('.value-min'), null, wNumb({ postfix: $(this).attr('data-currency'), decimals: 0, thousand: ' ' }));
$(this).Link('upper').to( $(this).children('.values').children('.value-max'), null, wNumb({ postfix: $(this).attr('data-currency'), decimals: 0, thousand: ' ' }));
}
}
else {
$(this).Link('lower').to( $(this).children('.values').children('.value-min'), null, wNumb({ decimals: 0 }));
$(this).Link('upper').to( $(this).children('.values').children('.value-max'), null, wNumb({ decimals: 0 }));
}
});
}
// Calendar
if( $(".calendar").length ){
var date = new Date();
var month = date.getMonth();
for( var i = 1 ; i<=12 ; i++ ){
$('.calendar-wrapper').append('
');
$("#month_"+i).zabuto_calendar({
ajax: {
url: "assets/php/calendar.php",
modal: true
},
action: function () {
var date = $("#" + this.id).data("date");
$("#modal-date").val(date);
return checkDate(this.id);
},
language: "en",
month: i,
show_previous: false,
show_next: false,
today: true,
nav_icon: {
prev: '',
next: ''
}
});
}
$(".calendar-wrapper").owlCarousel({
items: 2,
nav: true,
autoHeight: true,
navText: [],
startPosition: month
});
}
// Form Validation
$(".form-email .btn[type='submit']").on("click", function(){
var button = $(this);
var form = $(this).closest("form");
button.prepend("");
form.validate({
submitHandler: function() {
var email = base_url + "assets/external/email.php";
$.post(email, form.serialize(), function(response) {
//console.log(response);
button.find(".status").append(response);
form.addClass("submitted");
});
return false;
}
});
});
equalHeight(".container");
ratingPassive("body");
bgTransfer();
responsiveNavigation();
$('#From').selectpicker().filter('.with-ajax').ajaxSelectPicker({
ajax : {
url : base_url + 'index.php/search/from',
type : 'POST',
dataType: 'json',
// Use "{{{q}}}" as a placeholder and Ajax Bootstrap Select will
// automatically replace it with the value of the search query.
data : {
q: '{{{q}}}'
}
},
log : 0,
preprocessData: function (data) {
var i, l = data.length, array = [];
if (l) {
for (i = 0; i < l; i++) {
array.push($.extend(true, data[i], {
text : data[i].value,
value: data[i].value + "|" + data[i].coordinate + '|' + data[i].kind,
data : {
subtext: data[i].coordinate + ', ' + data[i].kind
}
}));
}
}
// You must always return a valid array when processing data. The
// data argument passed is a clone and cannot be modified directly.
return array;
},
preserveSelected: true,
processData:function(){
}
});
$('#To').selectpicker().filter('.with-ajax').ajaxSelectPicker({
ajax : {
url : base_url + 'index.php/search/to',
type : 'POST',
dataType: 'json',
// Use "{{{q}}}" as a placeholder and Ajax Bootstrap Select will
// automatically replace it with the value of the search query.
data : function() {
return { q: '{{{q}}}',
altro: $("#From option:selected").text()
};
}
},
log : 0,
preprocessData: function (data) {
var i, l = data.length, array = [];
if (l) {
for (i = 0; i < l; i++) {
array.push($.extend(true, data[i], {
text : data[i].value,
value: data[i].value + "|" + data[i].coordinate + '|' + data[i].kind,
data : {
subtext: data[i].coordinate + ', ' + data[i].kind
}
}));
}
}
// You must always return a valid array when processing data. The
// data argument passed is a clone and cannot be modified directly.
return array;
},
preserveSelected: true
});
$('select').trigger('change');
/*$('#From2').on('change', function(){
var selected = $(this).find("option:selected").val();
alert(selected);
});*/
var urlParams;
(window.onpopstate = function () {
var match,
pl = /\+/g, // Regex for replacing addition symbol with a space
search = /([^&=]+)=?([^&]*)/g,
decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); },
query = window.location.search.substring(1);
urlParams = {};
while (match = search.exec(query))
urlParams[decode(match[1])] = decode(match[2]);
})();
$(".result-item, .results-content .item").children("a").on("click", function(e){
e.preventDefault();
//openModal( $(this).parent().attr("data-id"), "modal_item.php" );
var Modal = site_url + "/search/openModal";
openModal( $(this).parent().attr("data-id"),urlParams, Modal );
});
});
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// On Load
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$(window).load(function(){
initializeOwl();
});
$(window).resize(function(){
clearTimeout(resizeId);
resizeId = setTimeout(doneResizing, 250);
});
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Functions
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function heroSectionHeight(){
if( $(".hero-section").length > 0 ){
if( viewport.is('xs') ){
$(".map-wrapper").height( $(window).height() - 25 );
$(".hero-section").height( $(".hero-section .map-wrapper").height() + $(".hero-section .search-form").height() + $(".hero-section .results").height() + 40 );
$(".has-background").css( "min-height", $(window).height() - $("#page-header").height() + "px" );
}
else {
if( $("body").hasClass("navigation-fixed") ){
$(".hero-section.full-screen").height( $(window).height() - $("#page-header nav").height() );
$(".hero-section .map-wrapper").css( "height", "100%" );
}
else {
$(".hero-section.full-screen").height( $(window).height() - $("#page-header").height() );
$(".hero-section .map-wrapper").css( "height", "100%" );
if( $(".map-wrapper").length > 0 ){
reloadMap();
}
}
}
if( !viewport.is('xs') ){
$(".search-form.vertical").css( "top", ($(".hero-section").height()/2) - ($(".search-form .wrapper").height()/2) );
}
}
}
function beepry(volo,date1,date2,adult,children,infant,k){
$.ajax({
url: base_url + "index.php/search/beepry",
method: "POST",
// dataType: "html",
data: { volo:volo,date1:date1,date2:date2,adult:adult,children:children,infant:infant },
success: function(results){
$('#flight_'+k).html('
Caricamento Voli in Corso...
');
var fields = results.split(",");
if (fields[1] == true)
{
beepryPolling(fields[0],k);
}
else{
$('#flight_'+k).html('
'+fields[0]+'
');
}
},
error : function (e) {
console.log(e);
}
});
}
function ticketmaster(){
var To = $('#ToSearch').val().split("|");
var FromDate = $('#FromDate').text();
var ToDate = $('#ToDate').text();
$('#ticketmaster').html('
');
$('#bus_'+k).html('');
}
function sportsevents365(){
$('#sportsevents365').html('
Caricamento Eventi Sportivi in Corso...
');
$('#sportsevents365').html('
Prenota il Tuo Evento Sportivo
');
}
function hotelsclick(){
$('#hotelsclick').html('
Caricamento Hotels in Corso...
');
var uri = 'https://impit.tradedoubler.com/imp?type(iframe)g(23009580)a(2953595)' + new String (Math.random()).substring (2, 11);
$('#hotelsclick').html('');
}
function bookingcom1(){
$('#bookingcom1').empty();
$('#bookingcom1').html('