var map = null; var actionCandidates = null; var tooltipsApplied = false; var relatedItemId = 0; var relatedItemClass = ''; var span = 0; var relation_id = 0; function getThumbnailSize() { var size = $('#thumb_size').slider('value'); $('#album .thumbnail').css({'width':size+8, 'min-height':size+8, 'height': size+8}); $('#album .thumbnail .inner').css({'width':size+8, 'line-height':size+8, 'height': size+8}); $('#album .thumbnail img').css({'max-width':size, 'max-height':size}); setCookie('thumbnailSize', size, {path: '/', expires: 0}); } function imageMapInit(lat, lng, zoom) { map = new L.Map('map_canvas', {center: new L.LatLng(lat, lng), zoom: zoom, maxZoom: 19}); map.addControl(new L.Control.Layers({ 'OSM': new L.DeferredLayer(layerdefs.osm), 'Yandex Map': new L.DeferredLayer(layerdefs.ymap), 'Yandex Satellite': new L.DeferredLayer(layerdefs.ysat), 'Yandex Hybrid': new L.DeferredLayer(layerdefs.yhyb), 'Yandex Народная': new L.DeferredLayer(layerdefs.ypub), 'Yandex Народная Hybrid': new L.DeferredLayer(layerdefs.ypubhyb), 'Google Roadmap': new L.DeferredLayer(layerdefs.groad), 'Google Terrain': new L.DeferredLayer(layerdefs.gter), 'Google Satellite': new L.DeferredLayer(layerdefs.gsat), 'GoogleHybrid': new L.DeferredLayer(layerdefs.ghyb), 'Bing Road': new L.DeferredLayer(layerdefs.broad), 'Bing Aerial': new L.DeferredLayer(layerdefs.baer), 'Bing Aerial With Labels': new L.DeferredLayer(layerdefs.baerlab), 'MapQuest': new L.DeferredLayer(layerdefs.mqst) })); map.addControl(new L.Control.Scale({width: 100, position: 'bottomleft'})); var fullScreen = new L.Control.FullScreen(); map.addControl(fullScreen); $('.leaflet-control-zoom').parent().removeClass('leaflet-left').addClass('leaflet-right'); var count = 1; // 0 - not set $('#map_canvas .leaflet-control-layers-base input:radio') .each(function(){ $(this).val(count); count++; }); map.on('enterFullscreen exitFullscreen', function(){ setTimeout(function(){map.invalidateSize()}, 1000); }); map.on('zoomend', function(){ if(map.getZoom() > 17) { $('#map_canvas .leaflet-marker-iconlabel').addClass('zoomed'); } else { $('#map_canvas .leaflet-marker-iconlabel').removeClass('zoomed'); } }); } jQuery(function($) { $('a.notAuthorized').click(function(){ flushSpinnerMessage(Travvi.s('js.for_registered_users_only')); return false; }) $( "#dialog-createObject" ).dialog({ autoOpen: false, resizable: false, width: 'auto', height: 'auto', modal: true, draggable: false }); $('.heading.expandable').click(function(e){ if(!$(e.target).hasClass('expandable')) return; if ($(this).hasClass('active')) { $(this).removeClass('active'); $(this).siblings('.container').slideUp(); } else { $(this).addClass('active'); $(this).siblings('.container').slideDown(); } }); var reloadObjectList = function() { Spinner.show(); $('#groupFormAdd .button_holder').hide(); $('#groupFormAdd .edit_holder').show(); $('#groupFormAdd .groupsList').load('/user/object_lists/get/'+$('#object_id').val(), function(){ $('#groupFormAdd input:checkbox').checkbox({cls:'jquery-checkbox-dark', empty: '/skin/images/empty.png'}).one('change', function(){ $('#groupFormAdd .button_holder').show(); $('#groupFormAdd .edit_holder').hide(); $('#groupFormAdd a.cancel').one('click', function() { reloadObjectList(); return false; }); $('#groupFormAdd a.ok').one('click', function() { //reloadObjectList(); return false; }); }); Spinner.hide(); }); } reloadObjectList(); $('#dialog-groupEditForm').dialog({ autoOpen: false, close: function( event, ui ) { reloadObjectList(); } }); $('#groupFormAdd a.edit').click(function(){ $('#dialog-groupEditForm').dialog('open'); return false; }); $('#groupFormAdd a.ok').click(function(){ var lists = [], extended = []; $('#groupFormAdd .groupsList input:checkbox:checked').each(function(){ if($.isNumeric($(this).val())) { lists.push($(this).val()); } else { extended.push($(this).val()); } }); $.post('/user/object_lists/save_objects', {ids: [$('#object_id').val()], lists: lists, extended: extended }, function(data) { eval(data); if(success) { $('#groupFormAdd .button_holder').hide(); $('#groupFormAdd .edit_holder').show(); reloadObjectList(); } }); return false; }); $('#searchClosest').tooltip({showURL: false, positionLeft: true}); $('#createObjectCaller').click(function(){ $( "#dialog-createObject" ).dialog('open'); return false; }); $('#createSimilar').click(function(){ $('#createSimilarForm').submit(); return false; }); $('#description_language').change(function(){ $('.short_description').hide(); $('.descr_' + $(this).val()).show(); return false; }).change().selectik({width: 150}); $('#long_description_language').change(function(){ $('.long_description').hide(); $('.descr_' + $(this).val()).show(); return false; }).change().selectik({width: 150}); $('#bottom_right_container a.button').button(); $('#placesContainer a.button').button(); $('#bottom_right ul a').click(function(){ $('#bottom_right .items').hide(); $($(this).attr('href')).show(); $('#bottom_right ul a, #bottom_right a.arrow5').removeClass('current'); $(this).addClass('current'); return false; }); $('#bottom_right ul a.map_caller').click(function(){ if(map) { map.invalidateSize().fitBounds(markers.getBounds(), {padding:[10, 10], maxZoom: maxZoom }); } return false; }); $('#map_canvas .leaflet-control-layers-list input:radio').checkbox({cls:'jquery-radiobutton-white',empty: '/skin/images/empty.png'}); $('#map_canvas .leaflet-control-layers-list').append('
'); var another_slide = function(amount) { var content = $('#map_canvas .leaflet-control-layers-base'), container = $('#map_canvas .leaflet-control-layers-list'), delta = container.actual('height') - content.actual('height'); if (delta < 0) { content.css('marginTop', delta*(1-amount/100)); } } $( "#map_canvas #layersSlider" ).slider({ value: 100, orientation: "vertical", min: 0, max: 100, step: 1, slide: function( event, ui ) { another_slide(ui.value); }, change: function( event, ui ) { another_slide(ui.value); } }); $('#map_canvas .leaflet-control-layers-list').mousewheel(function(e, delta){ delta *= 5; var obj = $( "#map_canvas #layersSlider"); var newVal = obj.slider('option', 'value') + delta; newVal = Math.max(obj.slider('option', 'min'), Math.min(obj.slider('option', 'max'),newVal)); obj.slider('option', 'value', newVal); return false; }); $('#map_canvas .jquery-radiobutton-white').hover(function(){ $('#map_canvas .leaflet-control-layers').addClass('leaflet-control-layers-expanded'); }, function(){ $('#map_canvas .leaflet-control-layers').removeClass('leaflet-control-layers-expanded'); }); $('#button_holder [title]').tooltip({showURL: false}); $('.editEnabler').tooltip({showURL: false}); $( "#dialog-reviewForm" ).dialog({ autoOpen: false, resizable: false, position: ['center', 'center'], width: 'auto', height: 'auto', modal: true, draggable: false }); $('#rating').raty({ starOff: '/skin/images/rating-dark-off.png', starOn : '/skin/images/rating-dark-on.png', hints: [ Travvi.s('js.raty.1'), Travvi.s('js.raty.2'), Travvi.s('js.raty.3'), Travvi.s('js.raty.4'), Travvi.s('js.raty.5') ], target: '#rating + .result', targetKeep : true }); $('#rating [title]').attr('title', ''); $( "#reviewFormCaller, #reviewFormCallerDisabled" ).raty({ starOff: '/skin/images/rating-dark-off.png', starOn : '/skin/images/rating-dark-on.png', hints: [ Travvi.s('js.raty.1'), Travvi.s('js.raty.2'), Travvi.s('js.raty.3'), Travvi.s('js.raty.4'), Travvi.s('js.raty.5') ], noRatedMsg: function() { return $(this).attr('data-title'); }, readOnly: true, space: false, score: function() { return $(this).attr('data-score'); } }); $( "#reviewFormCaller" ).click(function(){ $( "#dialog-reviewForm" ).dialog('open'); return false; }); $( "#reviewFormCaller [title], #reviewFormCaller, #reviewFormCallerDisabled, #reviewFormCallerDisabled [title]" ).tooltip({showURL: false, clearAlt: false}); $( "#dialog-reviewForm a.submit.cancel" ).button().click(function(){ $( "#dialog-reviewForm" ).dialog('close'); return false; }); $( "#dialog-reviewForm a.submit.ok" ).button().click(function(){ if(!$('#rating input').val()) { flushSpinnerMessage(Travvi.s('js.rating_is_not_set_set_rating')); return false; } $( "#dialog-reviewForm form" ).submit(); return false; }); $('#plus').textareaCount({ 'maxCharacterSize': 90, 'originalStyle': 'originalDisplayInfo', 'displayFormat': '#left' }); $('#minus').textareaCount({ 'maxCharacterSize': 90, 'originalStyle': 'originalDisplayInfo', 'displayFormat': '#left' }); $('#comment').textareaCount({ 'maxCharacterSize': 300, 'originalStyle': 'originalDisplayInfo', 'displayFormat': '#left' }); $('#dialog-quotation').dialog({ autoOpen: false, width: 470, position: ['center', 'center'], height: 'auto', modal: true, resizable: false, draggable: false, open: function(){ if(!tooltipsApplied) { $('#share42 a').tooltip({showURL: false}); $('#quotationUrls a').zclip({ path:'/skin/js/ZeroClipboard.swf', copy:function(){return $(this).attr('href')}, clickAfter: false, setHandCursor: true, afterCopy: function(){ flushSpinnerMessage(Travvi.s('js.code_copied_in_clipboard')); } }); tooltipsApplied = true; } } }); $('a.dialog_quotation_opener').click(function(){ $('#dialog-quotation').dialog('open'); return false; }); $( "#dialog-relatedPageAdd" ).dialog({ autoOpen: false, resizable: false, width: 'auto', height: 'auto', modal: true, draggable: false, open: function() { $('#related_page_url').keyup(function(e){ if(e.keyCode == 13) { $("#dialog-relatedPageAdd a.ok").click(); return false; } }); }, close: function() { $('#related_page_url').val(''); $('#dialog-relatedPageAdd .input_field').show(); $('#dialog-relatedPageAdd .result').hide(); $("#dialog-relatedPageAdd a.ok").removeClass('nextStep'); } }); $( "a.relatedPageAddCaller" ).button().click(function(){ if($(this).hasClass('disabled')) { flushSpinnerMessage(Travvi.s('js.enter_your_account')); return false; } $("#dialog-relatedPageAdd").dialog('open'); return false; }); $("#dialog-relatedPageAdd a.cancel").button().click(function(){ $("#dialog-relatedPageAdd").dialog('close'); return false; }); $("#dialog-relatedPageAdd a.ok").button().click(function(){ if($(this).hasClass('nextStep')) { $("#dialog-relatedPageAdd").dialog('close'); Spinner.show(); $('.objects_card_container').load( '/objects/' + $('#object_id').val() + '/add_related_page', {item_id: relatedItemId, item_class: relatedItemClass}, function(response, status, xhr){ if ( status == "error" ) { flushSpinnerMessage(Travvi.s('js.server_no_responce')); } else { flushSpinnerMessage(Travvi.s('js.related_page_added')); } Spinner.hide(); } ); } else { var str = $.trim($('#related_page_url').val()); if(!str) return false; var matches = str.match(/^((http:\/\/)?([^\.]+\.)?travvi\.(com|local)\/|\/)?(objects|another_type_for_future)\/(\d+)$/); if(!matches) { $('#dialog-relatedPageAdd .result').show().html(Travvi.s('js.this_page_cannot_be_related')); return false; } relatedItemId = matches[matches.length - 1]; relatedItemClass = matches[matches.length - 2]; if(relatedItemClass == 'objects' && relatedItemId == $('#object_id').val()) { $('#dialog-relatedPageAdd .result').show().html(Travvi.s('js.page_cannot_be_related_with_itself')); return false; } Spinner.show(); $('#dialog-relatedPageAdd .input_field').hide(); $('#dialog-relatedPageAdd .result').show().load( '/objects/' + $('#object_id').val() + '/info', {item_id: relatedItemId, item_class: relatedItemClass}, function(response, status, xhr){ if ( status == "error" ) { $('#dialog-relatedPageAdd .result').html( "Sorry but there was an error: " + xhr.status + " " + xhr.statusText ); $('#dialog-relatedPageAdd .input_field').show(); } else { if(pageCanBeRelated) $("#dialog-relatedPageAdd a.ok").addClass('nextStep'); } Spinner.hide(); } ); } return false; }); $('#item_1 [title]').tooltip({showURL:false}); $('.objects_card_container').on('click', 'a.relatedPageLoad', function(){ Spinner.show(); var span = $(this).data('span'); $('.objects_card_container').load('/objects/' + $('#object_id').val() + '/related_pages/' + span, function(){ $('.objects_card_container [title]').tooltip({showURL:false}); Spinner.hide() }); return false; }); $('.objects_card_container').on('click', '#paginator a', function(){ Spinner.show(); var span = $(this).attr('href').replace('#', '') - 1; $('.objects_card_container').load('/objects/' + $('#object_id').val() + '/related_pages/' + span, function(){ $('.objects_card_container [title]').tooltip({showURL:false}); Spinner.hide() }); return false; }); $('.objects_card_container').on('change', '#paginator #current_page', function(){ var page = $(this).val(); if ( page >= 1 && page <= relatedTotalPages) { Spinner.show(); page = page - 1; $('.objects_card_container').load('/objects/' + $('#object_id').val() + '/related_pages/' + page, function(){ $('.objects_card_container [title]').tooltip({showURL:false}); Spinner.hide() }); } else { $(this).animate({ backgroundColor: "#8239AF" }, 100).animate({ backgroundColor: "#FFF" }, 1000, function(){$(this).val(relatedCurrentPage + 1);}); } return false; }); $('.objects_card_container').on('click', 'a.delete', function(){ span = $(this).data('span'); relation_id = $(this).data('relation_id'); $("#dialog-relatedConfirmDelete").dialog('open'); return false; }); $('#dialog-relatedConfirmDelete').dialog({ autoOpen: false, resizable: false, width: 'auto', height: 'auto', modal: true, draggable: false }); $("#dialog-relatedConfirmDelete a.cancel").button().click(function(){ $("#dialog-relatedConfirmDelete").dialog('close'); return false; }); $("#dialog-relatedConfirmDelete a.ok").button().click(function(){ $("#dialog-relatedConfirmDelete").dialog('close'); Spinner.show(); $('.objects_card_container').load( '/objects/delete_related_page/', { id: $('#object_id').val(), relation_id: relation_id, span: span }, function(response, status, xhr){ if ( status == "error" ) { flushSpinnerMessage(Travvi.s('js.related_page_cannot_be_deleted')); } else { $('.objects_card_container [title]').tooltip({showURL:false}); flushSpinnerMessage(Travvi.s('js.related_page_was_deleted')); } Spinner.hide() } ); return false; }); $('#object_delete').click(function(){ $("#dialog-objectConfirmDelete").dialog('open'); return false; }); $('#dialog-objectConfirmDelete').dialog({ autoOpen: false, resizable: false, width: 'auto', height: 'auto', modal: true, draggable: false }); $("#dialog-objectConfirmDelete a.cancel").button().click(function(){ $("#dialog-objectConfirmDelete").dialog('close'); return false; }); $("#dialog-objectConfirmDelete a.ok").button(); var prevStr = ''; $('#params_searchstr').keydown(function(e){ var code = e.keyCode ? e.keyCode : e.wich; if(code == 38 || code == 40) { e.preventDefault(); return false; } }).keyup(function(e){ var code = e.keyCode ? e.keyCode : e.wich; if(code == 38) { // up var obj = $('#presearch li.highlighted').prev(); if(obj.length) { $('#presearch li.highlighted').removeClass('highlighted'); obj.addClass('highlighted'); $('#params_searchstr').val(obj.text()); $(this).closest('form').data('changed', true); } return false; } if(code == 40) { // down var obj = $('#presearch li.highlighted').next(); if(obj.length) { $('#presearch li.highlighted').removeClass('highlighted'); obj.addClass('highlighted'); $('#params_searchstr').val(obj.text()); $(this).closest('form').data('changed', true); } return false; } var str = $.trim($(this).val()); if(str !== prevStr) { if(str.length > 3) { Spinner.show(); $('#presearch') .load('/objects/presearch', {searchstr: str}, function(){ Spinner.hide() }) .show(); } else { $('#presearch').hide(); } } prevStr = str; }).blur(function(){ $('#presearch').fadeOut(); }).focus(function(){ var str = $.trim($(this).val()); if(str !== prevStr) { $(this).keyup(); return; } if(str.length > 3) { $('#presearch').fadeIn(); } }); $('#presearch').on('click', 'li', function(){ $('#params_searchstr').val($(this).text()); $('#presearch').fadeOut(); return false; }); $('.searchHobby a.ok').click(function(){ $('.searchHobby form').submit(); return false; }); Spinner.hide(); });