Расчет Трансфера / Раннее Бронирование / Без Попутчиков
ОТКУДА Очистить
КУДА Очистить
РАССЧИТАТЬ СТОИМОСТЬ | |
/* calc4.js В этой версии добавлены саджесты для пустых полей "Откуда" и "Куда", похожие на яндекс опции*/ /*window.onerror = function (msg, url, lineNo, columnNo, error) { alert(msg+'\r\n'+ url+'\r\n'+ lineNo+'\r\n'+ columnNo+'\r\n'+ error);
return false; }*/
var myMap; var myRoute; var kmPrice; var price; var preventSelect=false;
var task1 = true;
function insertAnchor(){ var anchors = ["трансфер %Город% межгород", "%Город% по межгороду поездка", "такси %Город% между городами", "%Город% междугороднее трансфер", "%Город% такси по межгороду", "поездка %Город% между городами", "междугороднее такси %Город%", "поездка %Город% межгород", "%Город% межгород трансфер", "трансфер %Город% между городами", "поездка %Город% по межгороду", "такси %Город% междугороднее", "%Город% по межгороду поездка", "такси %Город% междугороднее", "трансфер между городами %Город%", "такси %Город% межгород", "поездка междугороднее %Город%", "по межгороду трансфер %Город%", "%Город% трансфер между городами", "%Город% межгород поездка", "такси междугороднее %Город%", "%Город% межгород трансфер", "по межгороду %Город% поездка", "такси %Город% между городами", "межгород %Город% поездка", "%Город% трансфер междугороднее", "по межгороду такси %Город%", "%Город% между городами такси", "%Город% трансфер междугороднее", "между городами %Город% поездка", "%Город% такси межгород", "трансфер %Город% по межгороду", "между городами поездка %Город%", "%Город% междугороднее такси", "по межгороду трансфер %Город%", "%Город% поездка межгород", "между городами поездка %Город%", "такси %Город% по межгороду", "трансфер межгород %Город%", "поездка %Город% междугороднее", "такси межгород %Город%", "междугороднее %Город% трансфер", "между городами %Город% поездка", "%Город% такси по межгороду", "трансфер по межгороду %Город%", "междугороднее %Город% такси", "%Город% поездка между городами", "%Город% трансфер межгород", "межгород %Город% трансфер", "между городами поездка %Город%", "%Город% по межгороду такси", "трансфер междугороднее %Город%", "межгород %Город% поездка", "такси %Город% по межгороду", "между городами %Город% такси", "междугороднее трансфер %Город%", "%Город% поездка между городами", "по межгороду %Город% трансфер", "поездка %Город% межгород", "такси междугороднее %Город%", "межгород %Город% поездка", "по межгороду трансфер %Город%", "такси между городами %Город%", "%Город% междугороднее поездка", "трансфер %Город% межгород", "по межгороду %Город% такси", "междугороднее %Город% трансфер", "%Город% поездка между городами", "такси %Город% междугороднее", "поездка %Город% межгород", "между городами такси %Город%", "трансфер по межгороду %Город%"]; var anchor = anchors[Math.floor(Math.random() * anchors.length)]; jQuery("p").each(function() { if(jQuery(this).text().includes("Как осуществляется выполнение рейсов") && typeof anchorName !== 'undefined'){ jQuery(this).before("
Все маршруты "+ anchor.replace("%Город%",anchorName) +" вы можете посмотреть перейдя по ссылке
"); return false; }}) }
function declOfNum(number, titles) { cases = [2, 0, 1, 1, 1, 2]; return titles[ (number%100>4 && number%100<20)? 2 : cases[(number%10<5)?number%10:5] ]; } function calcOrderWidth(x) { if (x.matches) { // If media query matches jQuery("#order").width(jQuery("#order .cont").width()); } else { jQuery("#order").width('100%'); } } function CarImageSelect(){ var carpath = "/wp-content/taxi/car_images/"; switch(jQuery(".paral.selected").attr("id")) { case "comfortcar": jQuery(".carimage").attr("src",carpath+"ComfortClass.png"); break; case "businesscar": jQuery(".carimage").attr("src",carpath+"BisnessClass.png"); break; case "minivancar": jQuery(".carimage").attr("src",carpath+"MinivanClass.png"); break; } } function run(){ if(jQuery('.display-name').html()=='krasnodar') { jQuery('#map').css('display','block'); } var multiRouteModel = new ymaps.multiRouter.MultiRouteModel([FromCity,ToCity],{ avoidTrafficJams: true}); var multiRouteView = new ymaps.multiRouter.MultiRoute(multiRouteModel,{boundsAutoApply: true}); myRoute && myMap.geoObjects.remove(myRoute); myMap.geoObjects.add(myRoute=multiRouteView); multiRouteView.events.add("update",function () { var routes = multiRouteView.getRoutes(); for (var i = 0, l = routes.getLength(); i < l; i++) { var route = routes.get(i); if (!route.properties.get('blocked')) { multiRouteView.setActiveRoute(route); break; } } }); multiRouteView.events.add("activeroutechange",function () { var fakeRoute = multiRouteView.getActiveRoute(); if (jQuery("#comfortcar").hasClass("selected")) { //console.log('037'); kmPrice=comfortCarPrice; if(task1){ kmPrice = 23; } //console.log('039'); price=fixedComfortCarPrice; //console.log('041'); } else if (jQuery("#businesscar").hasClass("selected")) { kmPrice=businessCarPrice; if(task1){ kmPrice = 33; } price=fixedBusinessCarPrice;} else if (jQuery("#minivancar").hasClass("selected")) {kmPrice=minivanCarPrice;price=fixedMinivanCarPrice;} var fakeLen = Math.ceil(fakeRoute.properties.get("distance").value/1000);// //var realLen = (route.getLength()/1000).toFixed(2); //var time = fakeRoute.getTime(); var time = fakeRoute.properties._data.durationInTraffic.value; // //console.log(price); if(typeof price === 'undefined'||price==""){ price=Math.ceil(fakeLen*kmPrice/100)*100; if (price<2000) price=2000; if (price%1000 == 300 ) price+=200; if (price%1000 == 400 ) price+=100; if (price%1000 == 800 ) price+=200; if (price%1000 == 900 ) price+=100; } time=Math.ceil(time/(60*30))*60*30; var days=Math.floor(time/(24*60*60)); var hours=Math.floor((time-days*24*60*60)/(60*60)); var minutes=Math.floor((time-days*24*60*60-hours*60*60)/(60)); var timeText=""; jQuery('#list').html(""); jQuery('#list').append('
'); timeText+="
"; timeText+="
"); jQuery('#list').append(timeText); jQuery('#list').append('
'); if(isPartner){ jQuery('#list').append('
','
','
'])+'
(ваша комиссия '+price*commission+' ?)'); } else{ jQuery('#list').append('
','
','
'])+'
'); }
jQuery("#order").css("display","block");
var mobileMatch = window.matchMedia("(max-width: 569px)") calcOrderWidth(mobileMatch) // Call listener function at run time mobileMatch.addListener(calcOrderWidth) // Attach listener function on state changes
})
}
function getCityFromAddress(city) { if (city=="Аэропорт, Краснодар, Краснодарский край, Россия") return "Краснодар";
if (city=="Аэропорт Платов, Ростовская область, Россия") return "Ростов";
if (city=="аэропорт Тюмень (Рощино), городской округ Тюмень") return "Тюмень";
var SeoCity = city.split(',')[0]; if (SeoCity.toLowerCase().includes("аэропорт")) { SeoCity = SeoCity.split(' ')[SeoCity.split(' ').length-1]; }
return SeoCity;
}
jQuery(document).ready(function(jQuery) {
jQuery('
Наши преимущества
Как заказать трансфер
Наши гарантии
').insertAfter(jQuery( "div.panel-grid:contains('Для Консультации Заполните Форму')").last()); jQuery('
').insertBefore(jQuery(".panel-layout>.panel-grid").last());
jQuery( "#from" ).after( '
' ); jQuery( "#to" ).after( '
' );
comfortCarPrice = jQuery('meta[name="comfortCarPrice"]').attr('content');//if(isNaN(comfortCarPrice) || comfortCarPrice == '') hour_min = 1; businessCarPrice = jQuery('meta[name="businessCarPrice"]').attr('content'); minivanCarPrice = jQuery('meta[name="minivanCarPrice"]').attr('content'); fixedComfortCarPrice = jQuery('meta[name="fixedComfortCarPrice"]').attr('content'); fixedBusinessCarPrice = jQuery('meta[name="fixedBusinessCarPrice"]').attr('content'); fixedMinivanCarPrice = jQuery('meta[name="fixedMinivanCarPrice"]').attr('content'); FromCity = jQuery('meta[name="FromCity"]').attr('content'); ToCity = jQuery('meta[name="ToCity"]').attr('content');
FromCitySeo = getCityFromAddress(jQuery('meta[name="FromCitySeo"]').attr('content')); ToCitySeo = jQuery('meta[name="ToCitySeo"]').attr('content');
var sourceText = jQuery(".form2_wrap h2").first().html();
//var SeoFromCity = getCityFromAddress(FromCity);
if (ToCitySeo != null) { ToCitySeo = getCityFromAddress(ToCitySeo); sourceText = sourceText.replace("Для заказа", "Для заказа из " + FromCitySeo +" в " + ToCitySeo); jQuery("#transferSeoOrder").html("Как заказать трансфер " + FromCitySeo + " — " + ToCitySeo); } else { sourceText = sourceText.replace("Для заказа", "Для заказа из " + FromCitySeo ); jQuery("#transferSeoOrder").html("Как заказать трансфер из " + FromCitySeo); }
jQuery(".form2_wrap h2").first().html(sourceText);
//examples=["Россия, Челябинск, Пригородный вокзал Челябинск","Россия, городской округ Город Краснодар, аэропорт Краснодар (Пашковский)"]
if (jQuery('meta[name="examples"]').attr('content')!=null) examples = JSON.parse(('['+jQuery('meta[name="examples"]').attr('content').replace(/'/g, '"')+']').replace(/'/g, '"')); else examples = null;
if(examples!=null){ jQuery.each(examples, function (i, item) { jQuery('#exampleSuggestFrom, #exampleSuggestTo').append(jQuery('
')); });
} else { jQuery('.example').remove(); jQuery('#exampleSelectTo').remove(); jQuery('#exampleSelectFrom').remove(); }
if(FromCity!=null){ jQuery("#from").val(FromCity); } else {jQuery("#go").addClass("off"); jQuery("#from").removeClass("selected"); }
if(ToCity!=null){ jQuery("#to").val(FromCity); } else {jQuery("#go").addClass("off"); jQuery("#to").removeClass("selected"); }
if(ToCity!=null){ jQuery("#to").val(ToCity); }
if(comfortCarPrice==null&&fixedComfortCarPrice==null){ jQuery("#comfortcar").remove(); jQuery("#comfortcar").removeClass("selected");
} if(businessCarPrice==null&&fixedBusinessCarPrice==null){ jQuery("#businesscar").remove(); jQuery("#businesscarprice").removeClass("selected"); } if(minivanCarPrice==null&&fixedMinivanCarPrice==null){ jQuery("#minivancar").remove(); jQuery("#minivanprice").removeClass("selected"); } jQuery(".paral").first().addClass("selected");
CarImageSelect();
jQuery( "#go" ).on('touchstart click',function() { if(jQuery("#go").hasClass("off")) jQuery('#list').html('Выберите начальную и конечную точку маршрута'); else { if (typeof yaCounter36995060 != "undefined") { yaCounter36995060.reachGoal('calcButtonPressed'); } run(); } })
jQuery.extend( { redirectPost: function(location, args) { var form = jQuery('
'); form.attr("method", "post"); form.attr("action", location);
jQuery.each( args, function( key, value ) { var field = jQuery('');
field.attr("type", "hidden"); field.attr("name", key); field.attr("value", value);
form.append(field); }); jQuery(form).appendTo('body').submit(); } });
jQuery( "#order" ).on('touchstart click',function() { /*if(jQuery("#go").hasClass("off")) jQuery('#list').html('Выберите начальную и конечную точку маршрута'); else run();*/ var autoclass = ""; switch(jQuery(".paral.selected").attr("id")) { case "comfortcar": autoclass = "Комфорт"; break; case "businesscar": autoclass = "Бизнесс класс"; break; case "minivancar": autoclass = "Минивэн"; break; }
if(!isPartner){ var redirect = '/kak-zakazat-taxi-mezhgorod.html'; var postObject={}; postObject["from"] = jQuery("#from").val(); postObject["to"] = jQuery("#to").val(); postObject["to"] = jQuery("#to").val(); postObject["price"] = price; postObject["commission"] = commission; postObject["auto-class"] = autoclass; /* if(location.href=="//city2city.ru/nizhniy_novgorod-Suzdal.html") { throw new Error(postObject["to"]); }*/
jQuery.redirectPost(redirect, postObject); } else { var redirect = '/kak-zakazat-taxi-mezhgorod.html'; var postObject={}; postObject["from"] = jQuery("#from").val(); postObject["to"] = jQuery("#to").val(); postObject["to"] = jQuery("#to").val(); postObject["price"] = price; postObject["commission"] = commission; postObject["auto-class"] = autoclass; jQuery.redirectPost(redirect, postObject); }
})
jQuery( "#clearFrom" ).on('touchstart click',function() { jQuery("#from").val(""); jQuery("#from").trigger("input"); jQuery("#from").focus(); })
jQuery( "#clearTo" ).on('touchstart click',function() { jQuery("#to").val(""); jQuery("#to").trigger("input"); jQuery("#to").focus(); })
jQuery( "#from,#to" ).on('input',function() {
jQuery(this).removeClass("selected"); jQuery("#go").addClass("off");
if(jQuery(this).val() === '') { if(!window.matchMedia('(max-width: 768px)').matches){ jQuery(this).next('.example-suggest__wrapper').find('.example-suggest').show(); } } else { jQuery('.example-suggest').hide(); } })
jQuery("#from,#to").on('focus',function(){ jQuery(this).removeClass("off");
if(jQuery(this).val() === '') { if(!window.matchMedia('(max-width: 768px)').matches){ jQuery(this).next('.example-suggest__wrapper').find('.example-suggest').show(); } } else { jQuery(this).prev(ymaps).show(); } })
jQuery("#from,#to").on('blur',function(){ jQuery(this).addClass("off");
jQuery('.example-suggest').hide(); })
jQuery( ".paral" ).on('touchstart click',function() { jQuery( ".paral" ).removeClass("selected"); jQuery(this).addClass("selected");
CarImageSelect(); console.log(422); run();
})
setTimeout(ymaps.ready(init), 3000);
function init(){ suggestViewFrom = new ymaps.SuggestView('from',{ offset: [0, 10] });
suggestViewTo = new ymaps.SuggestView('to',{ offset: [0, 10] });
function recursiveFrom(event) { jQuery("#from").addClass("selected"); if (jQuery("#to").hasClass("selected")){ jQuery("#go").removeClass("off"); }
var myGeocoder = ymaps.geocode(event.get('item').value); myGeocoder.then( function (res) { var g = res.geoObjects.get(0); var addr=g.getAddressLine(); console.log(g.getAddressLine()); if(g.getAdministrativeAreas()[0]!="Москва"&&g.getAdministrativeAreas()[0]!="Санкт-Петербург"){ addr=g.getCountry()+', '+g.getAdministrativeAreas()[0]+', '; if(typeof g.getAdministrativeAreas()[1]!=='undefined') addr+=g.getAdministrativeAreas()[1]+', '; addr+=g.getLocalities()[0]; } //jQuery('#list').html(''+addr+''); FromCity=addr; }, function (err) { console.log("Возникла ошибка: " + error.message);
}); preventSelect=true; setTimeout('preventSelect=false', 1000);
var x=event.get('item').displayName; jQuery("#from").val(x);
suggestViewFrom.destroy(); suggestViewFrom = new ymaps.SuggestView('from',{ offset: [0, 10] }); suggestViewFrom.events.add('select',recursiveFrom)
}
function recursiveTo(event) {
jQuery("#to").addClass("selected"); if (jQuery("#from").hasClass("selected")){ jQuery("#go").removeClass("off"); }
var myGeocoder = ymaps.geocode(event.get('item').value); myGeocoder.then( function (res) { var g = res.geoObjects.get(0); var addr=g.getAddressLine(); if(g.getAdministrativeAreas()[0]!="Москва"&&g.getAdministrativeAreas()[0]!="Санкт-Петербург"){ addr=g.getCountry()+', '+g.getAdministrativeAreas()[0]+', '; if(typeof g.getAdministrativeAreas()[1]!=='undefined') addr+=g.getAdministrativeAreas()[1]+', '; addr+=g.getLocalities()[0]; }
ToCity=addr; }, function (err) { console.log("Возникла ошибка: " + error.message);
}); preventSelect=true; setTimeout('preventSelect=false', 1000);
var x=event.get('item').displayName; jQuery("#to").val(x); suggestViewTo.destroy(); suggestViewTo = new ymaps.SuggestView('to',{ offset: [0, 10] }); suggestViewTo.events.add('select',recursiveTo)
}
suggestViewFrom.events.add('select', recursiveFrom); suggestViewTo.events.add('select', recursiveTo);
/* Выбор выпадающих опций-подсказок */ jQuery('#exampleSuggestFrom').on('touchstart click mousedown', '.example-suggest__item', function() { jQuery("#from").val(jQuery(this).text()); jQuery("#from").addClass("selected"); if (jQuery("#to").hasClass("selected")) { jQuery("#go").removeClass("off"); } var myGeocoder = ymaps.geocode(jQuery(this).text()); jQuery("#from").prev(ymaps).hide(); myGeocoder.then(function(res) { var g = res.geoObjects.get(0); var addr = g.getAddressLine(); if (g.getAdministrativeAreas()[0] != "Москва" && g.getAdministrativeAreas()[0] != "Санкт-Петербург") { addr = g.getCountry() + ', ' + g.getAdministrativeAreas()[0] + ', '; if (typeof g.getAdministrativeAreas()[1] !== 'undefined') addr += g.getAdministrativeAreas()[1] + ', '; addr += g.getLocalities()[0]; } FromCity = addr; jQuery("#from").prev(ymaps).hide(); }, function(err) { console.log("Возникла ошибка: " + error.message); }); });
jQuery('#exampleSuggestTo').on('touchstart click mousedown', '.example-suggest__item', function() { jQuery("#to").val(jQuery(this).text()); jQuery("#to").addClass("selected"); if (jQuery("#from").hasClass("selected")) { jQuery("#go").removeClass("off"); } var myGeocoder = ymaps.geocode(jQuery(this).text()); jQuery("#to").prev(ymaps).hide(); myGeocoder.then(function(res) { var g = res.geoObjects.get(0); var addr = g.getAddressLine(); if (g.getAdministrativeAreas()[0] != "Москва" && g.getAdministrativeAreas()[0] != "Санкт-Петербург") { addr = g.getCountry() + ', ' + g.getAdministrativeAreas()[0] + ', '; if (typeof g.getAdministrativeAreas()[1] !== 'undefined') addr += g.getAdministrativeAreas()[1] + ', '; addr += g.getLocalities()[0]; } ToCity = addr; jQuery("#to").prev(ymaps).hide(); }, function(err) { console.log("Возникла ошибка: " + error.message); }); });
myMap = new ymaps.Map("map", { center: [55.745508, 37.435225], zoom: 13 }, { searchControlProvider: 'yandex#search' });
if(!jQuery("#go").hasClass("off")){ if(!window.matchMedia('(max-width: 768px)').matches){ run(); } }
}
doinfpr(); insertAnchor(); });