// JavaScript Document var backoffice; var referenceOffset; var headerSlider; var slideLength; var slideTimeout; var headerIndex; var siteWidth; $(document).ready(function() { siteWidth = $('div#Header div.leftColumn').outerWidth() + $('div#HeaderSlider').outerWidth(); // Header Slider -------------------------------------------------------------------------- if ($('div#HeaderImage img:not(div#HeaderImage div.editbutton img)').length > 0) { slideLength = $('div#HeaderImage img:not(div#HeaderImage div.editbutton img)').length; headerSlider = $('div#HeaderSlider'); for (i = 0; i < slideLength; i++) { headerSlider.find('div#HeaderNav').append(''); } headerSlider.find('img:first').addClass('activeImage').show(); //Navigation headerSlider.find('div.nav').each(function() { $(this).click(function() { clearTimeout(slideTimeout); headerSlide($(this).index() - 1) }); }); headerSlider.find('div.nav:first').addClass('activeNav'); if (backoffice != true && slideLength > 1) { slideTimeout = setTimeout(function(){ headerSlide(1); }, 5000); } } function headerSlide(index) { headerSlider.find('img.activeImage').fadeOut(500, function(){ $(this).removeClass('activeImage'); }); headerSlider.find('img:eq(' + index + ')').fadeIn(500, function(){ $(this).addClass('activeImage'); }); headerSlider.find('div.activeNav').removeClass('activeNav'); headerSlider.find('div.nav:eq(' + index + ')').addClass('activeNav'); index += 1; if (index == slideLength) { index = 0; } slideTimeout = setTimeout(function(){ headerSlide(index); }, 5000); } // Menu -------------------------------------------------------------------------- $('div#Menu a').each(function(e) { var text = $(this).text(); $(this).text($.trim(text)); }); $('div#Menu li').each(function() { $(this).mouseenter(function() { $(this).addClass('expand'); }); $(this).mouseleave(function() { $(this).removeClass('expand'); }); }); $('div#Menu > div > ul > li > a').mouseenter(function() { Cufon.refresh('div#Menu > div > ul > li > a'); }); $('div#Menu > div > ul > li > a').mouseleave(function() { Cufon.refresh('div#Menu > div > ul > li > a'); }); // Cufon -------------------------------------------------------------------------------------- Cufon.now(); Cufon.set('fontFamily', 'Flama Light'); Cufon.replace('.customFont.light'); Cufon.replace('div#HeaderTitle'); Cufon.replace('div#HeaderNav div.nav'); Cufon.replace('div#ContentTitle h1'); Cufon.set('fontFamily', 'Flama Medium'); Cufon.replace('.customFont.medium'); Cufon.replace('div#HeaderTitle strong'); Cufon.set('fontFamily', 'Flama Book'); Cufon.replace('.customFont.book'); Cufon.replace('h1:not(div#ContentTitle h1)')('h2')('h3'); Cufon.replace('div.reservation div.tabs div.tab'); //Cufon.replace('div#Menu > div > ul > li a', {hover: {'color': '#7B6C96'}}); Cufon.replace('div#Menu > div > ul > li > a'); // Selectbox -------------------------------------------------------------------------- $('div.reservation select').selectbox(); // ImageBlock -------------------------------------------------------------------------- $('div.imageColumns div.column').click(function() { var href = $(this).find('a:first').attr('href'); if (backoffice != true) { window.location = href; } }) // Language -------------------------------------------------------------------------- /* $('div#Language div.activeLanguage').toggle(function() { var language = $(this).parent(); language.find('ul').slideDown(300); }, function() { var language = $(this).parent(); language.find('ul').slideUp(300); }); $('div#Language ul li').hover(function() { $(this).addClass('hover'); }, function() { $(this).removeClass('hover'); }); */ $('div.languageSelector').each(function() { var active = $(this).find('div.active'); var selector = $(this).find('div.selector'); active.addClass(selector.find('span').parent('li').attr('class')) $(this).mouseenter(function() { selector.show() }); $(this).mouseleave(function() { selector.hide() }); selector.find('li').each(function() { $(this).append('
 
') }); }); // Booking engine -------------------------------------------------------------------------- $('div.reservation').each(function(index) { var startDate = $(this).find('div.minDate span').text(); var endDate = $(this).find('div.maxDate span').text(); var minDays = $(this).find('div.minDays span').text(); var rateAccessCode = $(this).find('div.accountID span').text(); var activeID = $(this).find('div.activeID span').text(); var hideDays = $(this).find('div.hideDays span').text().split(','); var daysToDisable = new Array(); for (i = 0; i < hideDays.length; i++) { daysToDisable.push(parseInt(hideDays[i])); } var hotels = $(this).find('div.hotel select option').length; if (hotels > 1) { $(this).addClass('showHotels'); $(this).find('div.hotel select').selectbox(); } if (backoffice == true) { $(this).addClass('backoffice'); } var bookFrom = $(this).find('.bookFrom'); var bookTo = $(this).find('.bookTo'); if (isNaN(parseInt(minDays))) { minDays = 1; } if (startDate == "" && endDate == "") { bookFromDate = "today"; bookToDate = parseInt(minDays); } else if (startDate != "" && endDate == "") { startDate = startDate.split('-'); bookFromDate = new Date(startDate[2], startDate[1] - 1, startDate[0]); bookToDate = new Date(startDate[2], startDate[1] - 1, startDate[0]); bookToDate.setDate(bookToDate.getDate() + parseInt(minDays)); } else if (startDate == "" && endDate != "") { bookFromDate = "today"; endDate = endDate.split('-'); bookToDate = new Date(endDate[2], endDate[1] - 1, endDate[0]); } else if (startDate != "" && endDate != "") { startDate = startDate.split('-'); bookFromDate = new Date(startDate[2], startDate[1] - 1, startDate[0]); endDate = endDate.split('-'); bookToDate = new Date(endDate[2], endDate[1] - 1, endDate[0]); } if (activeID == 1 && rateAccessCode == '') { $(this).find('div.rates').addClass('showRates'); } if (rateAccessCode != '') { $(this).find('input.accessCode').val(rateAccessCode); } var dates = $(this).find( ".bookFrom, .bookTo" ).datepicker({ showOn: 'both', buttonImage: '/content/images/Date_Picker.jpg', minDate: 0, beforeShowDay: function( selectedDate ) { var day = selectedDate.getDay(); for (i = 0; i < daysToDisable.length; i++) { if ($.inArray(day, daysToDisable) != -1) { return [false]; } } return [true]; }, onSelect: function( selectedDate ) { var option = $(this).attr('class').replace(/\ hasDatepicker/gi, ''), instance = $( this ).data( "datepicker" ); date = $.datepicker.parseDate( instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings ); dates.not( this ).datepicker( "option", option, date); }, onClose: function( selectedDate ) { if ($(this).hasClass('bookFrom') == true) { var newDate = new Date(); newDate = bookFrom.datepicker("getDate"); newDate.setDate(newDate.getDate() + parseInt(minDays)); bookTo.datepicker("option", "minDate", newDate); bookTo.datepicker("show"); } } }); // Set dates bookFrom.datepicker("setDate", bookFromDate); bookTo.datepicker("setDate", bookToDate); // Align the selectboxes vertically to top or bottom, depending on available space if ($(this).parents('div#Content').length > 0) { var topPos = $(this).parent().position().top; var containerHeight = $('div#Content').height(); var resHeight = $(this).outerHeight(); $(this).find('div.jquery-selectbox-list').each(function() { $(this).parents('div.childrenPerRoom').addClass('selectActive'); var listHeight = $(this).height(); $(this).parents('div.childrenPerRoom').removeClass('selectActive'); if ((resHeight + listHeight + topPos) > containerHeight) { $(this).addClass('topAlign'); } }); } }); $('div.reservation').mouseenter(function() { $(this).parents('div.innerContent').addClass('topIndex'); }); $('div.reservation').mouseleave(function() { $(this).parents('div.innerContent').removeClass('topIndex'); }); $('div.reservation div.tab').click(function() { $('div.reservation div.active').removeClass('active'); $(this).addClass('active'); var tabClass = $(this).attr('id'); $('div.reservation div.' + tabClass + '').addClass('active'); Cufon.refresh('div.reservation div.tabs div.tab'); }); $('div.reservation div.childrenPerRoom a').click(function() { var childrenPerRoom = $(this).parents('div.childrenPerRoom'); childrenPerRoom.addClass('selectActive'); var selectedRooms = $(this).parents('div.reservation').find('select.rooms'); roomsChanges(selectedRooms); return false; }); $('div.reservation div.rates a').click(function() { var rates = $(this).parents('div.rates'); rates.addClass('selectActive'); return false; }); $('div.reservation select.rooms').change(function() { var selectedRooms = $(this); roomsChanges(selectedRooms); }); function roomsChanges(elem) { if (elem && elem.val()) { var count = elem.val(); if (count >= 1) $('div.childrenPerRoom div.room1').show(); else $('div.childrenPerRoom div.room1').hide(); if (count >= 2) $('div.childrenPerRoom div.room2').show(); else $('div.childrenPerRoom div.room2').hide(); if (count >= 3) $('div.childrenPerRoom div.room3').show(); else $('div.childrenPerRoom div.room3').hide(); } else { $('div.childrenPerRoom div.room1').hide(); $('div.childrenPerRoom div.room2').hide(); $('div.childrenPerRoom div.room3').hide(); } } $('div.reservation div.button').click(function() { if ($(this).parent().hasClass('myResContent')) { return; } var currentPage = location.pathname; //pageTracker._trackPageview(currentPage + '/reservation-click/search'); //_gaq.push(['_trackPageview', currentPage + '/reservation-click/search']); build_url( $(this).parents('div.reservation') ); return false; }); // Watermarks -------------------------------------------------------------------------- $('div.reservation div.rates input.accountID').watermark('Promo rate'); // Newsletter -------------------------------------------------------------------------- $('div#Newsletter a#Send').click(function() { var newsletter = $(this).parent('div#Newsletter'); var params = { email: newsletter.find('input#Email').val(), IDstato: newsletter.find('select#Country').val(), IDcliente: 102, IDcategoria: 1691 }; post_to_url('http://www.newsletterplus.it/contatti/codice/iscrizione.asp', params); return false; }); resizeWindow(); $(window).resize(function(){ resizeWindow(); }); // Forms ------------------------------------------------------------------------------- /*if ($('div.datequestion').length > 0) { $('div.datequestion input:first').addClass('text'); } */ $('div.datequestion').each(function() { $(this).find('input:first').addClass('text'); $(this).find('input:eq(1)').addClass('image'); $(this).parent().css('z-index','999'); }); $('div.datequestion input.image').click(function() { $(this).parent().parent().css('z-index', '1000'); }) }); // Booking engine script ----------------------------------------------------------------------------------------- function build_url( reservation ) { var selectedHotel = reservation.find('select[name=hotel]').val(); selectedHotel = selectedHotel.split('|'); var checkindate = reservation.find('input[name=checkindate]').val(); var checkoutdate = reservation.find('input[name=checkoutdate]').val(); var ccpSelectCity = selectedHotel[1]; var ccpSelectHotel = selectedHotel[2]; var ccpSelectCountry = selectedHotel[3]; var language = selectedHotel[4]; var rateAccessCode = reservation.find('input[name=rateAccessCode]').val(); var accountID = reservation.find('input[name=accountID]').val(); var adults = reservation.find('select[name=adults]').val(); var rooms = reservation.find('select[name=rooms]').val(); var promo = reservation.find("input[name=accountID]").val(); var child1 = reservation.find('select[name=child1]').val(); var child2 = reservation.find('select[name=child2]').val(); var child3 = reservation.find('select[name=child3]').val(); var child4 = reservation.find('select[name=child4]').val(); var child5 = reservation.find('select[name=child5]').val(); var child6 = reservation.find('select[name=child6]').val(); var children = reservation.find('select[name=children]').val(); var IBFname = selectedHotel[0]; var parts = checkindate.split('/'); var calArrivalDateField = parts[2] + '-' + parts[0] + '-' + parts[1]; parts = checkoutdate.split('/'); var calDepartureDateField = parts[2] + '-' + parts[0] + '-' + parts[1]; /* var params = { 'calArrivalDateField': calArrivalDateField, 'calDepartureDateField': calDepartureDateField, 'quick': 'quick', 'ccpSelectCity': ccpSelectCity, 'ccpSelectHotel': ccpSelectHotel, 'ccpSelectCountry': ccpSelectCountry, 'language': language }; */ var params = { 'hotel': '3551', 'promo': promo, 'adult': adults, 'rooms': rooms, 'arrive': calArrivalDateField, 'depart': calDepartureDateField, 'locale': 'en-US' }; if (rateAccessCode != 'Access code' && typeof rateAccessCode != 'undefined') params["rate"] = rateAccessCode; if (accountID != 'Promo rate' && typeof accountID != 'undefined') params["promo"] = accountID; if (parseInt(children) > 0 ) { params['child'] = children; } /* if (rooms > 1) params["adults2"] = adults; if (rooms > 2) params["adults3"] = adults; if (child1 != '') params["childrenAges1"] = child1; if (child2 != '') params["childrenAges1"] += ',' + child2; if (child3 != '') params["childrenAges2"] = child3; if (child4 != '') params["childrenAges2"] += ',' + child4; if (child5 != '') params["childrenAges3"] = child5; if (child6 != '') params["childrenAges3"] += ',' + child6; */ //post_to_url('https://www.yourreservation.net/ibe/' + IBFname + '/main.html', params, 'get'); post_to_url('https://be.synxis.com/?Hotel=3551&Chain=21125&template=GCF_GOOGLE_V1&shell=GOOGLE_V1_GCF', params, 'get'); //_gaq.push(['_link', 'https://www.yourreservation.net/ibe/' + IBFname + '/main.html']); return false; } function post_to_url(path, params, method) { method = method || "post"; // Set method to post by default, if not specified. $('form#Generated').remove(); var form = document.createElement("form"); form.setAttribute("id", 'Generated'); form.setAttribute("method", method); form.setAttribute("action", path); form.setAttribute("target", "_blank"); var paramArray = Array(); for (var key in params) { var hiddenField = document.createElement("input"); hiddenField.setAttribute("type", "hidden"); hiddenField.setAttribute("name", key); hiddenField.setAttribute("value", params[key]); paramArray.push(key + '=' + params[key]); form.appendChild(hiddenField); } if (typeof _gaq != 'undefined') { _gaq.push(function() { var pageTracker = _gat._getTrackerByName(); window.open(pageTracker._getLinkerUrl(path + '?' + paramArray.join('&'))); }); } else { document.body.appendChild(form); form.submit(); } } function resizeWindow() { var width = $(window).width(); if (width < 1000) { $('html').addClass('overflow'); } else { $('html').attr('class', ''); } }