PageSourceSearch

https://65050.ru/bitrix/templates/taxi_yellow/assets/package_7deff7cb337956689b3a79e2d4e82613cd5f292d.min.js

js 65050.ru collected 2026-10-02 02:06:30 UTC 161,294 bytes, 1,923 lines download raw bytes

1function TaxiDataStore()
2{var self={};self.get=function(key){var raw=$.cookie(key);if(raw){return JSON.parse(raw);}else{return null;}};self.set=function(key,value){$.cookie(key,JSON.stringify(value),{expires:365,path:"/"});};return self;};function TaxiCustomCarComponent()
3{var self={};self.enabled=false;self.createTimeout=30000;self.messages={createCarDefault:'Желаемый вами борт находится далеко, предлагаем сделать заявку на ближайший борт?'};self.owner;self._tryCreateOrderAgain=function(){};self.checkOrderCar=function(){
4var info=self.owner.lastOrderInfo;    if(info&&!info.carColor&&!info.carId&&!info.carNumber&&!info.carTime){  self.owner.modalConfirm(self.messages.createCarDefault,[{label:'Нет',callback:function(){self.owner.unlock();self.owner.rejectOrder(function(){return true;});return false;}},{label:'Да',callback:function(){self.owner.unlock();self.owner.rejectOrder(function(){  if(self.owner.lastCreateOrderValidationResult){  self.owner.createOrder(self.owner.lastCreateOrderValidationResult);}
5return false;});return true;}}]);}};self.onOrderInfoUpdating=function(ordering){if(!self.enabled){return false;}
6self.owner=ordering;if(ordering.orderId&&(ordering.customCarId>0||ordering.customCarInfo.length)){  self.enabled=false;setTimeout(function(){self.checkOrderCar();},self.createTimeout);}};return self;};function TaxiRouteComponent(){var self={};self._from=null;self._to=null;self._hotNeed={from:false,to:false};self._geoData={from:null,to:null};self.setFrom=function(value){self._from=value;self._hotNeed.from=true;};self.setTo=function(value){  self._to=value;self._hotNeed.to=true;};self.getTo=function(){return self._to;};self.getFrom=function(){return self._from;};self.hotNeedUpdate=function(isFrom){if(isFrom){return self._hotNeed.from;}else{return self._hotNeed.to;}};self.resetHotNeedUpdate=function(isFrom){  if(isFrom){self._hotNeed.from=false;}else{self._hotNeed.to=false;}};self.onGeoObjectSelect=function(geoData,isFrom)
7{if(geoData&&typeof(geoData.address)!=='undefined'&&typeof(geoData.address.location)!=='undefined'&&typeof(geoData.address.location.lat)!=='undefined'&&geoData.address.location.lat>0&&geoData.address.location.lon>0){if(isFrom){self.setFrom(geoData.address.location);self._geoData.from=geoData;}else{self.setTo(geoData.address.location);self._geoData.to=geoData;}}else{self.resetHotNeedUpdate(isFrom);if(isFrom){self.setFrom(null);self._geoData.from=null;self._hotNeed.from=false;}else{self.setTo(null);self._geoData.to=null;self._hotNeed.to=false;}}};self._createGeoLabel=function(isFrom)
8{var res='';if(isFrom){if(self._geoData.from){return self._geoData.from.label;}}else{if(self._geoData.to){return self._geoData.to.label;}}
9return res;};self._extractGeoPoint=function(obj){return[obj.lat,obj.lon];};self._createGeoPoint=function(isFrom)
10{if(isFrom){if(self._from){return self._extractGeoPoint(self._from);}}else{if(self._to){return self._extractGeoPoint(self._to);}}
11return null;};self.createTaxiRoutePoint=function(isFrom){var point={changed:true,city:"",house:"",housing:"",label:"Ленинградская область, Всеволожск",point:[60.019041,30.645577],street:"Ленинградская область, Всеволожск",value:"Ленинградская область, Всеволожск"};point.label=point.street=point.value=self._createGeoLabel(isFrom);point.point=self._createGeoPoint(isFrom);if(isFrom){point.geoData=self._geoData.from;}else{point.geoData=self._geoData.to;}
12  return point;};return self;};;function TaxiCost(){this.enabled=true;this.currentRouteData=null;this.caller=new TaxiCostDefaultCaller();};TaxiCost.prototype={display:function(cost){  },update:function(routeData){this.currentRouteData=routeData;var cost=this.caller.callCost(routeData);this.display(cost);},callCost:function(routeData){this.currentRouteData=routeData;var cost=this.caller.callCost(routeData);return cost;}};TaxiCostDefaultCaller=function(){};TaxiCostDefaultCaller.prototype={callCost:function(routeData){var len=routeData.len;var mileage=$('#tariff_travel option:selected').data('mileage');var landing=$('#tariff_travel option:selected').data('landing');var included=$('#tariff_travel option:selected').data('included');var minpricecity=$('#tariff_travel option:selected').data('minpricecity');var cost=0;var dop_cost=0;$('.dop_input:checked').each(function(){dop_cost+=Math.round($(this).data('cost'));});if((len/1000)>included)
13{cost=landing+(len/1000-included)*mileage;}
14else
15{cost=landing;}
16if(minpricecity>cost)
17{cost=minpricecity;}
18var finalCost=cost+dop_cost;finalCost=taxi.afterCallCost(finalCost);taxi.routesInfoLayout.cost=finalCost;return finalCost;}};TaxiCostRouteData=function(){this.rawFrom;this.rawTo;this.len;this.timeInMinutes;this.priorTime;};TaxiCostByTimeCaller=function(){this.tariffs=[{label:'День',options:{minCost:300,includedMinutes:20,minutePrice:10},timeCondition:{days:[1,2,3,4,5],timeIntervals:[[6*3600,22*3600]]}},{label:'Ночь',options:{minCost:400,includedMinutes:15,minutePrice:15},timeCondition:{days:[1,2,3,4,5],timeIntervals:[[22*3600,6*3600-1]]}},{label:'Праздники',options:{minCost:500,includedMinutes:15,minutePrice:20},timeCondition:{days:[6,0],timeIntervals:[[0,24*3600-1]]}}];};TaxiCostByTimeCaller.prototype={compareTimeCondition:function(tariff,day,seconds){var dayCompare=$.inArray(day,tariff.timeCondition.days)!==-1;var timeCompare=false;var timeIntervals=tariff.timeCondition.timeIntervals;for(var i in timeIntervals){var interval=timeIntervals[i];var from=interval[0];var to=interval[1];var isSimple=from<to;if(isSimple){timeCompare=from<=seconds&&seconds<=to;}else{timeCompare=from<=seconds||seconds<=to;}}
19return timeCompare&&dayCompare;},findTariffByTime:function(time){var day=time.getDay();var h=time.getHours();var m=time.getMinutes();var s=time.getSeconds();var seconds=h*3600+m*60+s;
19for(var i in this.tariffs){var current=this.tariffs[i];if(this.compareTimeCondition(current,day,seconds)){return current;}}},getDefaultTariff:function(){return this.tariffs[0];},findTariff:function(data){var time=new Date();if(data.priorTime){var rawTime=data.priorTime.replace(/(\d+).(\d+).(\d+)/,'$2/$1/$3');time=new Date(rawTime);}
20if(!time.getHours()){time=new Date();}
21var tariff=this.findTariffByTime(time);if(tariff){return tariff;}else{return this.getDefaultTariff();}},callCost:function(routeData){var cost=null;var tariff=this.findTariff(routeData);var minCost=tariff.options.minCost;var includedMinutes=tariff.options.includedMinutes;var minutePrice=tariff.options.minutePrice;if(routeData.timeInMinutes>includedMinutes){cost=minCost+(routeData.timeInMinutes-includedMinutes)*minutePrice;}else{cost=minCost;}
22finalCost=taxi.afterCallCost(cost);taxi.routesInfoLayout.cost=finalCost;return finalCost;}};;function TaxiMethod_createOrder(){this.fromCity='';this.fromStreet='';this.fromHouse='';this.fromHousing='';this.fromPorch='';this.fromLat='';this.fromLon='';this.toCity='';this.toStreet='';this.toHouse='';this.toHousing='';this.toPorch='';this.toLat='';this.toLon='';this.clientName='';this.phone='';this.priorTime='';this.customCarId='';this.customCar='';this.carType='';this.carGroupId='';this.tariffGroupId='';this.comment='';};;function TaxiMethod_createLegalOrder(){this.company = '';this.fromCity = '';this.fromStreet = '';this.fromHouse = '';this.fromHousing = '';this.fromPorch = '';this.fromLat = '';this.fromLon = '';this.toCity = '';this.toStreet = '';this.toHouse = '';this.toHousing = '';this.toPorch = '';this.toLat = '';this.toLon = '';this.orderer = '';this.carryer = '';this.phone = '';this.priorTime = '';this.countCar = '';this.carType = '';this.carGroupId = '';this.tariffGroupId = '';this.comment = '';};function TaxiErrorsInfo(){this.command='';this.count=0;this.summaryText='';this.summaryHtml='';this.errors={};};;TaxiClient=function(){var self={};self.enabled=true;self.ajaxClientUrl='/api_integration/index_client.php';self.isDevMode=true;self.log=function(variable){if(self.isDevMode){  }};self.executeQuery=function(method){if(!self.enabled){  return false;}
23if(typeof(method)!=='object'){    return false;}
24var url=self.ajaxClientUrl+'?command='+method.name;$.ajax({async:method.async,url:url,type:'post',timeout:method.timeout,data:method.params,dataType:'json',success:function(response){if(parseInt(response.status)>0){method.successCallback(response.result);}else{method.errorCallback();}},error:function(){if(method.tryCount>1){method.tryCount=method.tryCount-1;  setTimeout(function(){self.executeQuery(method);},method.tryPause);}
25method.errorCallback();}});};return self;};;TaxiMethod=function(name){var self={};self.name=name;self.timeout=45000;self.async=true;self.params={};self.tryCount=2;self.tryPause=10000;self.successCallback=function(){  };self.errorCallback=function(){};return self;};;function TaxiBitrixModalWindow()
26{var self={};self.ajaxColorBoxPath='/api_integration/include/bitrix/modal.php';self.callbacks=[];self.onClose=function(){taxi.ordering.unlock();  };self.customConfirm=function(message,buttonsOptions)
27{if(!$('#modalColorbox').length){$('div').eq(0).after('<div id="modalColorbox" style="display: none"><a class="modalColorbox cboxElement" href="'+
28self.ajaxColorBoxPath+'">hiddenModal</a></div>');$('.modalColorbox').colorbox({iframe:true,width:'90%',maxWidth:562,maxHeight:485,autoScale:true,autoDimensions:true,onComplete:function(){$('#cboxClose').hide();$(window).off('cbox_closed.modalColorbox');$(window).on('cbox_closed.modalColorbox',function(){self.onClose();$(window).off('cbox_closed.modalColorbox');});$(window).off('resize.modalColorbox');$(window).on('resize.modalColorbox',function(){$.colorbox.resize({width:($(window).width()<562)?'90%':562,height:445});}).trigger('resize.modalColorbox');}});$('#modalColorbox').data('modal_label','Внимание');$('#modalColorbox').data('modal_html',message);}
29$('#modalColorbox a').click();for(var i in buttonsOptions){var n=i;n++;var nStr=n+'';$('#modalColorbox').data('modal_button_'+nStr,buttonsOptions[i].label);taxi.modal.callbacks[n]=buttonsOptions[i].callback;}};return self;};
30
31function TaxiOrderProcess(client) {
32	if (!Object.create) {
33		Object.create = (function() {
34			function F() {
35			}
36
37			return function(o) {
38				if (arguments.length != 1) {
39					throw new Error('Object.create implementation only accepts one parameter.');
40				}
41				F.prototype = o;
42				return new F()
43			}
44		})()
45	}
46	var self = Object.create({});
47
48	self._enabled = true;
49
50	self.store = new TaxiDataStore();
51
52	self.components = {
53		customCar: new TaxiCustomCarComponent(),
54		route: new TaxiRouteComponent()
55	};
56	self.modalConfirm_useCustomCarInPriorOrder = '<p>Для предварительных заказов нельзя выбирать машину самостоятельно. Такие заказы обрабатываются автоматически.</p>' +
57	'<p>Машина назначается автоматически. Выбранная вами машина учитываться не будет.</p>' +
58	'<p>Создать заказ?</p>';
59	self.messages = {
60		errors: {
61			onOrderInfoFail: '! Произошла ошибка: не удалось обновить информацию о заказе'
62		}
63	};
64
65	self.timeouts = {
66		options: {
67			regression: {
68				enabled: true,
69				incresaseOnFailValue: 1.5,
70				limit: 10000
71			}
72		},
73		beforeFirstGetOrderInfo: 9000
74	};
75
76	self.lastOrderInfo = null;
77	self.intervalOrderInfoUpdating = 3000;
78	self._lastIntervalUpdatingCars = self.intervalUpdatingCars = 20000;
79	self.orderId = $.cookie('api_order_id');
80	self.customCarId = $.cookie('api_order_custom_car_id');
81	self.lastCreateOrderValidationResult = self.store.get('lastCreateOrderValidationResult');
82	self.useCustomCarInPriorOrder = false;
83	self.customCarInfo = $.cookie('api_order_custom_car_info');
84	self._isLocked = false;
85	self._updatingOrder = false;
86	self.needForceReAuth = false;
87	self.hideRejectLink = false;
88	self._browserKey = null;
89	self._token = null;
90	self._lastValidationResult = null;
91	self.carId = null;
92	self.orderIdLabel = null;
93
94	self.phone = null;
95	self.smsCode = null;
96	self.fromLat = null;
97	self.fromLon = null;
98	self.toLat = null;
99	self.toLon = null;
100
101	self.onError = function(message, errorInfo) {
102		alert(message);
103	};
104
105	self.isOnFinalState = function() {
106		return self.carId > 0;
107	};
108	self.getFromPoint = function() {
109		if (self.fromLat > 0 && self.fromLon > 0) {
110			var point = [self.fromLat, self.fromLon];
111			return point;
112		} else {
113			return false;
114		}
115	};
116	self.getToPoint = function() {
117		if (self.toLat > 0 && self.toLon > 0) {
118			return [self.toLat, self.toLon];
119		} else {
120			return false;
121		}
122	};
123	self.animateBusy = function() {
124
125		$('.loader').css('display', 'block');
126	};
127	self.animateUnbusy = function() {
128		$('.loader').css('display', 'none');
129	};
130	self.lock = function() {
131		self.animateBusy();
132		self._isLocked = true;
133		setTimeout(function() {
134			self.unlock();
135		}, 30000);
136	};
137	self.unlock = function() {
138		self.animateUnbusy();
139		self._isLocked = false;
140	};
141	self.isLocked = function() {
142		return self._isLocked;
143	};
144	if (!client) {
145		self.client = new TaxiClient();
146	} else {
147		self.client = client;
148	}
149
150	self.applyTimeoutsRegression = function(oldValue, callback)
151	{
152		var newValue = oldValue;
153		var options = self.timeouts.options.regression;
154		if (options.enabled) {
155			newValue = Math.round(options.incresaseOnFailValue * oldValue);
156			if (newValue > options.limit) {
157				newValue = oldValue;
158			}
159			console.log('Применена регрессия от ' + oldValue + ' до ' + newValue);
160		}
161		if (typeof (callback) === 'function') {
162			callback(newValue);
163		}
164		return newValue;
165	};
166
167	self.sendToClient = function(methodName, params, onSuccess, onFail) {
168		if (!self._enabled) {
169			console.log('Not send to client, because TaxiOrderProcess is not enabled');
170			return false;
171		}
172		var method = new TaxiMethod(methodName);
173		method.successCallback = onSuccess;
174		method.errorCallback = onFail || function() {
175			alert('Ошибка при отправке запроса!')
176		};
177		method.params = params;
178		self.client.executeQuery(method);
179	};
180	self.checkSmsAuthorization = function(validationResult) {
181		console.log('Checking SMS authorization');
182		self.phone = validationResult.paramsToValidate.phone;
183		self.sendToClient('sendSms', {
184			phone: self.phone
185		}, function(sendSmsResult) {
186			console.log(sendSmsResult);
187			if (sendSmsResult.resultCode > 0) {
188				alert('Тестовый код -- ' + sendSmsResult.resultCode);
189			}
190			if (sendSmsResult.isAuthorizedNow) {
191				self.createOrder(validationResult);
192			} else {
193				console.log('showEnterSmsCodeWindow');
194				self.showEnterSmsCodeWindow();
195			}
196		});
197	};
198	self.forceSmsAuthorization = function(onSuccess) {
199		if (!self.phone) {
200			alert('Невозможно обновить информацию о заказе, так как необходима авторизация!');
201			self.phone = prompt("Введите ваш телефон снова:");
202		}
203		if (!self.phone) {
204			return;
205		}
206		self.phone;
207		self.sendToClient('sendSms', {
208			phone: self.phone
209		}, function(sendSmsResult) {
210			console.log(sendSmsResult);
211			if (sendSmsResult.isAuthorizedNow) {
212				onSuccess();
213			} else {
214				self.showEnterSmsCodeWindow();
215			}
216		});
217	};
218	self.createLastOrder = function() {
219		if (self._lastValidationResult) {
220			self.createOrder(self._lastValidationResult);
221		}
222	};
223	self._afterCreateOrder = function(orderId)
224	{
225		self._saveCookie('api_order_id', orderId);
226		self._saveCookie('api_order_custom_car_id', self.customCarId);
227		self._saveCookie('api_order_custom_car_info', self.customCarInfo);
228		console.log('сохранен в куки номер заказа ' + orderId.toString());
229	};
230	self.onNewOrder = function() {
231		self._saveCookie('api_order_id', '');
232		self._saveCookie('api_order_custom_car_id', '');
233		self._saveCookie('api_order_custom_car_info', '');
234	};
235	self.createOrder = function(validationResult) {
236		self.lastCreateOrderValidationResult = validationResult;
237		self.store.set('lastCreateOrderValidationResult', validationResult);
238
239		console.log('Отправка заказа');
240		self.lock();
241			var createOrderQuery = new TaxiMethod('createOrder');
242			createOrderQuery.tryCount = 1;
243			createOrderQuery.params = validationResult.paramsToValidate;
244			createOrderQuery.successCallback = function(result) {
245				var orderId = result;
246				if (orderId > 0) {
247					self.orderId = orderId;
248					self.sendForm();
249					self._afterCreateOrder(orderId);
250					self.afterCreateOrder(orderId);
251					self.startOrderInfoUpdating(orderId);
252				} else {
253					self.unlock();
254					var errorsInfo = new TaxiErrorsInfo();
255					errorsInfo.summaryHtml = errorsInfo.summaryText = 'Не удалось создать заказ';
256					errorsInfo.count = 1;
257					self.displayErrors(errorsInfo);
258				}
259
260			};
261			createOrderQuery.errorCallback = function() {
262				console.log('Ошибка при выполнении запроса на создание заказа!');
263				self.onError('Возникла ошибка при создании заказа!');
264				self.unlock();
265			};
266			self.client.executeQuery(createOrderQuery);
267/*		else if (document.getElementById('myTab').attributes.legal.value == '1') {
268			var createOrderQuery = new TaxiMethod('createLegalOrder');
269			createOrderQuery.tryCount = 1;
270			createOrderQuery.params = validationResult.paramsToValidate;
271			createOrderQuery.successCallback = function(result) {
272				var orderId = result;
273				if (orderId > 0) {
274					self.orderId = orderId;
275					self.sendForm();
276					self._afterCreateOrder(orderId);
277					self.afterCreateOrder(orderId);
278					self.startOrderInfoUpdating(orderId);
279				} else {
280					self.unlock();
281					var errorsInfo = new TaxiErrorsInfo();
282					errorsInfo.summaryHtml = errorsInfo.summaryText = 'Не удалось создать заказ';
283					errorsInfo.count = 1;
284					self.displayErrors(errorsInfo);
285				}
286
287			};
288			createOrderQuery.errorCallback = function() {
289				console.log('Ошибка при выполнении запроса на создание заказа!');
290				self.onError('Возникла ошибка при создании заказа!');
291				self.unlock();
292			};
293			self.client.executeQuery(createOrderQuery);
294		}//*/
295	};
296	self.afterLogin = function(loginResult) {
297		if (loginResult.token && loginResult.browserKey) {
298			self.setToken(loginResult.token);
299			self.setBrowserKey(loginResult.browserKey);
300			console.log("Сохранен полученный токен для авторизации: " + loginResult.token);
301			console.log("Сохранен полученный ключ: " + loginResult.browserKey);
302		}
303	};
304	self.onSubmitOrderForm = function() {
305		if (self.isLocked()) {
306			return false;
307		}
308		self.lock();
309		var createOrderQuery = self.createOrderQuery();
310//		if(document.getElementById('myTab').attributes.item(2).value == '0') {
311			var validateQuery = new TaxiMethod('validateCommand');
312			validateQuery.params = {
313				command: 'createOrder',
314				paramsToValidate: createOrderQuery
315			};
316			validateQuery.successCallback = function(validationResult) {
317				self._lastValidationResult = validationResult;
318				if (validationResult.hasErrors) {
319					self.displayErrors(validationResult.errorsInfo);
320					self.unlock();
321				} else {
322					console.log(createOrderQuery);
323					self.nextActions = function(validationResult) {
324						console.log('nextActions ...');
325						self.components.customCar.enabled = false;
326						self.phone = validationResult.paramsToValidate.phone;
327						self.updateNeedSmsAuthorizationFlag(function(needSendSms) {
328							if (needSendSms == 1) {
329								self.checkSmsAuthorization(validationResult);
330							} else if (needSendSms == 0) {
331								self.createOrder(validationResult);
332							} else if (needSendSms == 2) {
333								alert('Ваш телефон в чёрном списке!');
334								self.unlock();
335							}
336						});
337					}
338					;
339					if (!self.useCustomCarInPriorOrder && createOrderQuery.priorTime && (createOrderQuery.customCar || createOrderQuery.customCar))
340					{
341						self.modalConfirm(self.modalConfirm_useCustomCarInPriorOrder,
342							[{
343								label: 'Нет',
344								callback: function() {
345									self.unlock();
346									return false;
347								}
348							},
349							{
350								label: 'Создать',
351								callback: function() {
352									self.unlock();
353									self.nextActions(validationResult);
354									return true;
355								}
356							}]
357							);
358					} else {
359						self.nextActions(validationResult);
360					}
361				}
362			};
363			validateQuery.errorCallback = function() {
364				self.unlock();
365				console.log('Ошибка при выполнении запроса!');
366			};
367			self.client.executeQuery(validateQuery);
368/*		}
369		else if(document.getElementById('myTab').attributes.item(2).value == '1')
370		{
371			console.log('validateLegalCommand');
372			var validateQuery = new TaxiMethod('validateCommand');
373			validateQuery.params = {
374				command: 'createLegalOrder',
375				paramsToValidate: createOrderQuery
376			};
377			validateQuery.successCallback = function(validationResult) {
378				self._lastValidationResult = validationResult;
379				if (validationResult.hasErrors) {
380					self.displayErrors(validationResult.errorsInfo);
381					self.unlock();
382				} else {
383					console.log(createOrderQuery);
384					self.nextActions = function(validationResult) {
385						console.log('nextActions ...');
386						self.components.customCar.enabled = false;
387						self.phone = validationResult.paramsToValidate.phone;
388						self.updateNeedSmsAuthorizationFlag(function(needSendSms) {
389							if (needSendSms == 1) {
390								self.checkSmsAuthorization(validationResult);
391							} else if (needSendSms == 0) {
392								self.createOrder(validationResult);
393							} else if (needSendSms == 2) {
394								alert('Ваш телефон в чёрном списке!');
395								self.unlock();
396							}
397						});
398					}
399					;
400					if (!self.useCustomCarInPriorOrder && createOrderQuery.priorTime && (createOrderQuery.customCar || createOrderQuery.customCar))
401					{
402						self.modalConfirm(self.modalConfirm_useCustomCarInPriorOrder,
403							[{
404								label: 'Нет',
405								callback: function() {
406									self.unlock();
407									return false;
408								}
409							},
410							{
411								label: 'Создать',
412								callback: function() {
413									self.unlock();
414									self.nextActions(validationResult);
415									return true;
416								}
417							}]
418							);
419					} else {
420						self.nextActions(validationResult);
421					}
422				}
423			};
424			validateQuery.errorCallback = function() {
425				self.unlock();
426				console.log('Ошибка при выполнении запроса!');
427			};
428			self.client.executeQuery(validateQuery);
429		}//*/
430	};
431	self.afterCreateOrder = function(orderId) {
432		console.log('Создан заказ ' + orderId.toString());
433	};
434	self.disableUpdatingCars = function() {
435		console.log('Disabling updating cars again!');
436		self._lastIntervalUpdatingCars = self.intervalUpdatingCars;
437		self.intervalUpdatingCars = 0;
438	};
439	self.enableUpdatingCars = function() {
440		console.log('Starting updating cars again!');
441		if (!self._lastIntervalUpdatingCars) {
442			self._lastIntervalUpdatingCars = 10000;
443		}
444		self.intervalUpdatingCars = self._lastIntervalUpdatingCars;
445		taxi.startNextUpdateCarMarks();
446	};
447	self.getUpdateCarsInterval = function() {
448		return self.intervalUpdatingCars;
449	};
450	self.updateOrderInfo = function(after) {
451		if (self.hideRejectLink) {
452			$(document).ready(function() {
453				$('#reject_order').hide();
454			});
455		}
456		if (self._updatingOrder) {
457			return false;
458		}
459		self._updatingOrder = true;
460		if (self.orderId > 0) {
461			var orderInfoQuery = new TaxiMethod('getOrderInfo');
462			orderInfoQuery.tryCount = 3;
463			orderInfoQuery.params = {
464				orderId: self.orderId
465			};
466			orderInfoQuery.successCallback = function(result) {
467				self.unlock();
468				if (result) {
469						self.orderIdLabel = result.idLabel;
470						self.carId = result.carId;
471						self.fromLat = result.fromLat;
472						self.fromLon = result.fromLon;
473						self.lastOrderInfo = result;
474						if (typeof (after) === 'function') {
475								after();
476						}
477						self.displayOrderInfo(result);
478				} else if (result === false) {
479				  console.log('result === false');
480					self.updateOrderInfo();
481					if (self.lastOrderInfo) {
482						self.lastOrderInfo.summaryHtml = $(self.lastOrderInfo.summaryHtml)
483						.find('div p').eq(0).append('<p>' + self.messages.errors.onOrderInfoFail + '</p>')
484						self.displayLoadingInfo(self.messages.errors.onOrderInfoFail);
485					} else {
486						self.displayLoadingInfo(self.messages.errors.onOrderInfoFail);
487					}
488						
489				}
490				if (self.components.customCar.enabled) {
491					self.components.customCar.onOrderInfoUpdating(self);
492				}
493				if (!result) {
494					self.updateOrderInfo();
495						self._updatingOrder = false;
496					self.applyTimeoutsRegression(self.intervalOrderInfoUpdating, function(newValue) {
497						self.intervalOrderInfoUpdating = newValue;
498					});
499				}
500				setTimeout(function() {
501					self.updateOrderInfo();
502				}, self.intervalOrderInfoUpdating);
503				self._updatingOrder = false;
504			};
505			orderInfoQuery.errorCallback = function() {
506				self.unlock();
507				self.applyTimeoutsRegression(self.intervalOrderInfoUpdating, function(newValue) {
508					self.intervalOrderInfoUpdating = newValue;
509				});
510				if (self.needForceReAuth) {
511					self.updateNeedSmsAuthorizationFlag(function(needSendSms) {
512						if (needSendSms == 1) {
513							self.forceSmsAuthorization(function() {
514								self.updateOrderInfo();
515							});
516						} else if (needSendSms == 0) {
517							self.updateOrderInfo();
518						}
519					});
520				}
521				self._updatingOrder = false;
522			};
523			self.client.executeQuery(orderInfoQuery);
524		}
525	};
526	self.startOrderInfoUpdating = function(orderId) {
527		if (orderId) {
528			self.orderId = orderId;
529		}
530		$('h4.title_order_info').text('Выполнено успешно. Заказ создан. Информация по заказy №' + orderId);
531		setTimeout(function() {
532			self.updateOrderInfo();
533		}, self.timeouts.beforeFirstGetOrderInfo);
534		return true;
535	};
536	self.sendForm = function() {
537		console.log("Необходимо задать метод, которые выполняет submit формы на сервер");
538	};
539	self.createOrderQuery = function() {
540		console.log("Необходимо задать метод, которые выполняет Сбор информации для создания заказа с формы - @returns TaxiMethod_createOrder");
541	};
542	self.setDefaultCity = function(defaultCity) {
543		console.log("Необходимо задать метод, который заменяет город по умолчанию на форме" + defaultCity);
544	};
545	self.displayErrors = function(errorsInfo) {
546		console.log("Необходимо задать метод, которые выполняет отображения ошибок");
547		console.log(errorsInfo);
548	};
549	self.displayOrderInfo = function(orderInfo) {
550		console.log("Необходимо задать метод, которые выполняет отображения информации о заказе");
551		console.log(orderInfo);
552	};
553	self.displayLoadingInfo = function(text) {
554		console.log("Необходимо задать метод, которыq выполняет отображения информации о статусе загрузки заказа");
555		console.log(orderInfo);
556	};
557	self.rejectOrder = function(afterReject) {
558		if (self.orderId > 0) {
559			var rejectOrderQuery = new TaxiMethod('rejectOrder');
560			rejectOrderQuery.params = {
561				orderId: self.orderId
562			};
563			rejectOrderQuery.successCallback = function(result) {
564				if (result) {
565					var stop = false;
566					if (afterReject) {
567						stop = !afterReject();
568					}
569					if (!stop) {
570						self.afterRejectOrder();
571						self.updateOrderInfo();
572					}
573				} else {
574					alert('Не удалось отменить заказ');
575				}
576			};
577			rejectOrderQuery.errorCallback = function() {
578				alert('Не удалось отменить заказ');
579			};
580			self.client.executeQuery(rejectOrderQuery);
581		}
582	};
583	self.afterRejectOrder = function() {
584		console.log('Заказ успешно отменен');
585	};
586	self.updateNeedSmsAuthorizationFlag = function(doneFunction) {
587		var query = new TaxiMethod('needSendSms');
588		if (self.phone) {
589			query.params = {
590				phone: self.phone
591			};
592		}
593		query.successCallback = function(result) {
594			doneFunction(result);
595		};
596		self.client.executeQuery(query);
597	};
598	self._saveCookie = function(key, value)
599	{
600		$.cookie(key, value,
601		{
602			expires: 365,
603			path: "/"
604		});
605	};
606	self._readCookie = function(key)
607	{
608		var res = $.cookie(key);
609		if (res) {
610			self._updateCookie(key);
611		}
612		return res;
613	};
614	self._updateCookie = function(key)
615	{
616		self._saveCookie(key, $.cookie(key));
617	};
618	self.setBrowserKey = function(key) {
619		self._browserKey = key;
620		self._saveCookie('api_browser_key', key);
621	};
622	self.getBrowserKey = function()
623	{
624		return self._browserKey = self._readCookie('api_browser_key');
625	};
626	self.setToken = function(token) {
627		self._token = token;
628		self._saveCookie('api_token', token);
629	};
630	self.getToken = function()
631	{
632		return self._token = self._readCookie('api_browser_key');
633	};
634	self.showEnterSmsCodeWindow = function() {
635		console.log("Необходимо задать метод, которые выполняет отображение окна ввода смс кода");
636	};
637
638	self.updateDefaultCity = function() {
639		self.sendToClient('getDefaultCity', {}, function(cityName) {
640			self.setDefaultCity(cityName);
641		}, function() {
642			});
643	};
644
645	self.enable = function() {
646		self._enabled = true;
647	};
648
649	self.disable = function() {
650		self._enabled = false;
651	};
652
653	self.updateCustomCarInfo = function() {
654		console.log("Необходимо задать отображение информации о выбранной вручную машине");
655	};
656	self.selectCustomCar = function(carId, label) {
657		taxi.ordering.customCarId = carId;
658		taxi.ordering.customCarInfo = label;
659		self.updateCustomCarInfo();
660	};
661	self.removeCustomCarSelection = function() {
662		self.selectCustomCar(null, '');
663	};
664	taxi.modal = new TaxiBitrixModalWindow();
665	self.modalConfirm = function(message, buttonsOptions) {
666		return taxi.modal.customConfirm(message, buttonsOptions);
667	};
668
669	self.autoInit = function() {
670		self.sendToClient('getJsInitializationCode', {}, function(code) {
671			eval(code);
672			if (self._enabled) {
673				self.updateNeedSmsAuthorizationFlag(function(result) {
674					if (result && result.length > 1) {
675						if (!self.getBrowserKey()) {
676							console.log('Сохранен ключ ' + result);
677							self.setBrowserKey(result);
678						}
679					}
680				});
681				//self.updateDefaultCity();
682			}
683		;
684		}, function() {
685			});
686	};
687
688	$(document).ready(function() {
689		self.autoInit();
690	});
691
692	return self;
693};
694
695var TaxiBitrixOrderProcess = function(client) {
696	var self = new TaxiOrderProcess(client);
697
698	self.updateCustomCarInfo = function() {
699		console.log('updateCustomCarInfo');
700		var html = '';
701		if (self.useNewTemplate()) {
702			if ($('.custom_car_info').length === 0) {
703				$('p:has("#FIELD_FIO")').before('<div class="custom_car_info">');
704			}
705			html = '<div style="display: block; margin: 10px 5px;" class="control-group   no_quickly">'
706			+ ''
707			+ ''
708			+ ''
709			+ ''
710			+ '<div class="custom_car_info"><p style="color: #000">Выбрано авто: '
711			+ self.customCarInfo
712			+ '  <a class="remove_custom_car" style="color: #555; cursor: pointer;">Отменить</a></p></div>'
713			+ '</div>'
714			+ '';
715		} else {
716			html = '<div style="display: block;" class="control-group   no_quickly">'
717			+ '<label for="FIELD_TYPE_AUTO" class="control-label ">'
718			+ 'Выбор машины'
719			+ '</label>'
720			+ '<div class="controls">'
721			+ '<div class="custom_car_info"><p style="color: #FFF">Выбрано авто: '
722			+ self.customCarInfo
723			+ '  <a class="remove_custom_car" style="color: #999; cursor: pointer;">Отменить</a></p></div>'
724			+ '</div>'
725			+ '</div>';
726		}
727
728		if (self.customCarInfo && self.customCarId > 0) {
729
730			$('.custom_car_info').html(html);
731		} else {
732			$('.custom_car_info').html('');
733		}
734		;
735		$('.remove_custom_car').on('click', function(event) {
736			event.stopPropagation();
737			event.preventDefault();
738			var _this = $(this);
739			self.removeCustomCarSelection();
740		});
741	};
742
743	self.afterConstruct = function() {
744		$('#FIELD_TEL').closest('.control-group').before('<div class="custom_car_info"></div>');
745		self.updateCustomCarInfo();
746	};
747
748	jQuery(document).ready(function($) {
749		self.afterConstruct();
750	});
751
752	self.sendForm = function() {
753		if (self.useNewTemplate()) {
754			setTimeout(function() {
755				$('.order-taxi-inner form[name=iblock_add]').submit();
756			}, 3000);
757		} else {
758			$('.knopka input').addClass('stopOrderProccess');
759			$('.knopka button[name=iblock_submit]').click();
760		}
761	};
762
763	self.createOrderQuery = function() {
764//		if (document.getElementById('myTab').attributes.item(2).value == '0') {
765			var query = new TaxiMethod_createOrder();
766
767			query.fromCity = $('#FIELD_CITY_OTKUDA').val();
768			query.fromStreet = $("#FIELD_FROM").val(); //Улица
769			query.fromHouse = $("#FIELD_FROM_HOUSE").val(); //Дом
770			query.fromHousing = $("#FIELD_FROM_HOUSING").val(); //Корпус
771			query.fromPorch = $("#FIELD_FROM_PORCH").val(); //Подъезд
772
773			query.fromLat = taxi.ordering.fromLat + ''; //Координты
774			query.fromLon = taxi.ordering.fromLon + ''; //Координты
775
776			query.toCity = $('#FIELD_CITY_KUDA').val();
777			query.toStreet = $("#FIELD_TO").val(); //Улица
778			query.toHouse = $("#FIELD_TO_HOUSE").val(); //Дом
779			query.toHousing = $("#FIELD_TO_HOUSING").val(); //Корпус
780			query.toPorch = $("#FIELD_TO_PORCH").val(); //Подъезд
781
782			query.toLat = taxi.ordering.toLat + ''; //Координты
783			query.toLon = taxi.ordering.toLon + ''; //Координты
784
785			query.phone = $("#FIELD_TEL").val(); //Телефон 
786
787			//Время предзаказа
788			if (taxi.ordering.useNewTemplate()) {
789				query.priorTime = $('.order-taxi-when-date input').val();
790			} else {
791				query.priorTime = $('label[for=FIELD_DATA] ~ .controls input').val();
792			}
793			query.carType = $('#tariff_travel option:selected').text(); //Тип авто - строкой - "Бизнес"
794			query.clientName = $("#FIELD_FIO").val(); //ФИО клиента
795			query.comment = $("#FIELD_COMM").val();
796
797			query.tariffGroupId = $('#tariff_travel option:selected').val(); //id тарифа для 373
798
799			$('label[for=FIELD_DOP] ~ .controls input[type=checkbox]:checked').each(function(index) {
800				query.comment += ' ' + $(this).closest('.checkCase ').find('label').text().toString().trim() + ', ';
801			});
802			query.customCar = taxi.ordering.customCarInfo; //Строка с описанием машины при ручном выборе
803
804			if (taxi.ordering.customCarId > 0) {
805				query.customCarId = taxi.ordering.customCarId; //ИД ручного выбора машины
806			} else {
807				query.customCarId = $("#FIELD_AUTO_ID").val(); //ИД ручного выбора машины
808			}
809/*		}
810		else if (document.getElementById('myTab').attributes.item(2).value == '1') {
811			var query = new TaxiMethod_createLegalOrder();
812
813			query.company = $.cookie('company');
814			query.fromCity = $('#FIELD_CITY_OTKUDA').val();
815			query.fromStreet = $("#FIELD_FROM").val(); //Улица
816			query.fromHouse = $("#FIELD_FROM_HOUSE").val(); //Дом
817			query.fromHousing = $("#FIELD_FROM_HOUSING").val(); //Корпус
818			query.fromPorch = $("#FIELD_FROM_PORCH").val(); //Подъезд
819			query.fromLat = taxi.ordering.fromLat + ''; //Координты
820			query.fromLon = taxi.ordering.fromLon + ''; //Координты
821			query.toCity = $('#FIELD_CITY_KUDA').val();
822			query.toStreet = $("#FIELD_TO").val(); //Улица
823			query.toHouse = $("#FIELD_TO_HOUSE").val(); //Дом
824			query.toHousing = $("#FIELD_TO_HOUSING").val(); //Корпус
825			query.toPorch = $("#FIELD_TO_PORCH").val(); //Подъезд
826			query.toLat = taxi.ordering.toLat + ''; //Координты
827			query.toLon = taxi.ordering.toLon + ''; //Координты
828			query.orderer = $('#orderer option:selected').val();                    
829			query.carryer = $('#carryer option:selected').val();                  
830			query.countCar = $("#FIELD_COUNT").val();                    
831			query.phone = $("#FIELD_TEL").val(); //Телефон 
832			//Время предзаказа
833			if (taxi.ordering.useNewTemplate()) {
834				query.priorTime = $('.order-taxi-when-date input').val();
835			} else {
836				query.priorTime = $('label[for=FIELD_DATA] ~ .controls input').val();
837			}
838			query.carType = $('#tariff_travel option:selected').text(); //Тип авто - строкой - "Бизнес"
839			query.comment = $("#FIELD_COMM").val();
840			query.tariffGroupId = $('#tariff_travel option:selected').val(); //id тарифа для 373
841		}//*/
842		return query;
843	};
844
845	self.afterCreateOrder = function(orderId) {
846		console.log('Создан заказ ' + orderId.toString());
847	};
848
849	self.displayErrors = function(errorsInfo) {
850		$('.errortext').remove();
851		if ($('#myTab').length > 0) {
852			$('#myTab').after(errorsInfo.summaryHtml);
853		} else {
854			$('.order-taxi-inner').eq(0).before(errorsInfo.summaryHtml);
855		}
856	};
857	self.displayOrderInfo = function(orderInfo) {
858		var label = '';
859		if (self.orderIdLabel) {
860			label = self.orderIdLabel;
861		} else {
862			label = self.orderId;
863		}
864		$('h4.title_order_info').text('Заказ создан. Информация по заказy №' + label);
865		$('#result_order').html(orderInfo.summaryHtml);
866		$('#loading_info').hide();
867	};
868
869	self.displayLoadingInfo = function(text) {
870		$('#loading_info').show();
871		$('#loading_info font').text(text);
872	};
873
874	self.afterRejectOrder = function() {
875		$('#reject_order').find('font').text('Заказ успешно отменен');
876		$('#reject_order').removeClass('active');
877		$(this).attr('id', '');
878	};
879
880	self.showEnterSmsCodeWindow = function() {
881		$('#colorboxEnterCode').click();
882		self.unlock();
883	};
884
885	self.setDefaultCity = function(cityName) {
886		$('#FIELD_CITY_OTKUDA').val(cityName);
887		$('#FIELD_CITY_KUDA').val(cityName);
888		var url = '/api_integration/include/bitrix/ajax_store_default_city.php';
889		$.ajax({
890			url: url,
891			type: 'post',
892			data: {
893				defaultCity: cityName
894			},
895			success: function(response) {
896			}
897		});
898	};
899
900	self.useNewTemplate = function() {
901		return $('.detailed-order-taxi-wrapper').length > 0;
902	};
903
904	return self;
905};
906
907;;(function(){if(window.google&&google.gears){return;}
908var factory=null;if(typeof GearsFactory!=='undefined'){factory=new GearsFactory();}else{try{factory=new ActiveXObject('Gears.Factory');if(factory.getBuildInfo().indexOf('ie_mobile')!=-1){factory.privateSetGlobalObject(this);}}catch(e){if((typeof navigator.mimeTypes!='undefined')&&navigator.mimeTypes["application/x-googlegears"]){factory=document.createElement("object");factory.style.display="none";factory.width=0;factory.height=0;factory.type="application/x-googlegears";document.documentElement.appendChild(factory);if(factory&&(typeof factory.create=='undefined')){factory=null;}}}}
909if(!factory){return;}
910if(!window.google){google={};}
911if(!google.gears){google.gears={factory:factory};}})();var bb_successCallback;var bb_errorCallback;var bb_blackberryTimeout_id=-1;function handleBlackBerryLocationTimeout()
912{if(bb_blackberryTimeout_id!=-1)
913{bb_errorCallback({message:"Timeout error",code:3});}}
914function handleBlackBerryLocation()
915{clearTimeout(bb_blackberryTimeout_id);bb_blackberryTimeout_id=-1;if(bb_successCallback&&bb_errorCallback)
916{if(blackberry.location.latitude==0&&blackberry.location.longitude==0)
917{bb_errorCallback({message:"Position unavailable",code:2});}
918else
919{var timestamp=null;if(blackberry.location.timestamp)
920{timestamp=new Date(blackberry.location.timestamp);}
921bb_successCallback({timestamp:timestamp,coords:{latitude:blackberry.location.latitude,longitude:blackberry.location.longitude}});}
922bb_successCallback=null;bb_errorCallback=null;}}
923var geo_position_js=function(){var pub={};var provider=null;pub.getCurrentPosition=function(successCallback,errorCallback,options)
924{provider.getCurrentPosition(successCallback,errorCallback,options);};pub.init=function()
925{try
926{if(typeof(geo_position_js_simulator)!="undefined")
927{provider=geo_position_js_simulator;}
928else if(typeof(bondi)!="undefined"&&typeof(bondi.geolocation)!="undefined")
929{provider=bondi.geolocation;}
930else if(typeof(navigator.geolocation)!="undefined")
931{provider=navigator.geolocation;pub.getCurrentPosition=function(successCallback,errorCallback,options)
932{function _successCallback(p)
933{if(typeof(p.latitude)!="undefined")
934{successCallback({timestamp:p.timestamp,coords:{latitude:p.latitude,longitude:p.longitude}});}
935else
936{successCallback(p);}}
937provider.getCurrentPosition(_successCallback,errorCallback,options);}}
938else if(typeof(window.google)!="undefined"&&typeof(google.gears)!="undefined")
939{provider=google.gears.factory.create('beta.geolocation');}
940else if(typeof(Mojo)!="undefined"&&typeof(Mojo.Service.Request)!="Mojo.Service.Request")
941{provider=true;pub.getCurrentPosition=function(successCallback,errorCallback,options)
942{parameters={};if(options)
943{if(options.enableHighAccuracy&&options.enableHighAccuracy==true)
944{parameters.accuracy=1;}
945if(options.maximumAge)
946{parameters.maximumAge=options.maximumAge;}
947if(options.responseTime)
948{if(options.responseTime<5)
949{parameters.responseTime=1;}
950else if(options.responseTime<20)
951{parameters.responseTime=2;}
952else
953{parameters.timeout=3;}}}
954r=new Mojo.Service.Request('palm://com.palm.location',{method:"getCurrentPosition",parameters:parameters,onSuccess:function(p){successCallback({timestamp:p.timestamp,coords:{latitude:p.latitude,longitude:p.longitude,heading:p.heading}});},onFailure:function(e){if(e.errorCode==1)
955{errorCallback({code:3,message:"Timeout"});}
956else if(e.errorCode==2)
957{errorCallback({code:2,message:"Position Unavailable"});}
958else
959{errorCallback({code:0,message:"Unknown Error: webOS-code"+errorCode});}}});}}
960else if(typeof(device)!="undefined"&&typeof(device.getServiceObject)!="undefined")
961{provider=device.getServiceObject("Service.Location","ILocation");pub.getCurrentPosition=function(successCallback,errorCallback,options)
962{function callback(transId,eventCode,result){if(eventCode==4)
963{errorCallback({message:"Position unavailable",code:2});}
964else
965{successCallback({timestamp:null,coords:{latitude:result.ReturnValue.Latitude,longitude:result.ReturnValue.Longitude,altitude:result.ReturnValue.Altitude,heading:result.ReturnValue.Heading}});}}
966var criteria=new Object();criteria.LocationInformationClass="BasicLocationInformation";provider.ILocation.GetLocation(criteria,callback);}}
967else if(typeof(window.blackberry)!="undefined"&&blackberry.location.GPSSupported)
968{if(typeof(blackberry.location.setAidMode)=="undefined")
969{return false;}
970blackberry.location.setAidMode(2);pub.getCurrentPosition=function(successCallback,errorCallback,options)
971{bb_successCallback=successCallback;bb_errorCallback=errorCallback;if(options['timeout'])
972{bb_blackberryTimeout_id=setTimeout("handleBlackBerryLocationTimeout()",options['timeout']);}
973else
974{bb_blackberryTimeout_id=setTimeout("handleBlackBerryLocationTimeout()",60000);}
975blackberry.location.onLocationUpdate("handleBlackBerryLocation()");blackberry.location.refreshLocation();}
976provider=blackberry.location;}}
977catch(e){alert("error="+e);if(typeof(console)!="undefined")
978{  }
979return false;}
980return provider!=null;}
981return pub;}();var Collection=function(){var self=this;this.collection=[];return{add:function(item){self.collection.push(item);},get:function(name){var item;for(var i=self.collection.length-1;i>=0;i--){if(self.collection[i].name===name){item=self.collection[i];}}
982return item;},first:function(){return self.collection[0];}};};;window["taxi"]=new function(){var self=this;self.points=[null,null];self.city='';self.geocoder=function(){};self.map=function(){};self.routeinfo=function(){};self.geocoders=new Collection();self.maps=new Collection();self.selectGeocoder=function(name){self.geocoder=self.geocoders.get(name).fn;return self;};self.setCity=function(city){self.city=city;return self;};self.startInput=function(fn){if(typeof(fn)==='function'){self.startInput=fn;}
983return self.startInput;};self.endInput=function(fn){if(typeof(fn)==='function'){self.endInput=fn;}
984return self.endInput;};return{maps:function(){return self.maps;},map:function(){return self.maps.first();},startpoint:function(point,skip){if(typeof(point)==='object'){self.points[0]=point;self.map.setPoints(self.points);skip=skip||"";self.startInput(point,skip);}
985return self.points[0];},findpoints:function(){return self.points;},endpoint:function(point,skip){if(typeof(point)==='object'){self.points[1]=point;self.map.setPoints(self.points);skip=skip||"";self.endInput(point,skip);}
986return self.points[1];},addGeocoder:function(name,fn){self.geocoders.add({name:name,fn:fn});return self;},geocoder:function(find,limit,callback){return self.geocoder.find(find,limit,callback);},mypos:function(loc,callback){return self.map.mypos(loc,callback);},addMap:function(name,fn){self.maps.add({name:name,fn:fn});return self;},selectMap:function(name){self.map=self.maps.get(name).fn;var taxiObj=this;self.map.init({geocoder:self.geocoder.find,city:self.city,mapcontainer:self.mapcontainer,points:self.points,startpoint:function(res){taxiObj.startpoint(res);},endpoint:function(res){taxiObj.endpoint(res);},startInput:function(res){self.startInput(res);},endInput:function(res){self.endInput(res);},routeinfo:function(res){self.routeinfo(res);}});return self;},init:function(param){self.routeinfo=param.routeinfo;self.startInput=param.startInput;self.endInput=param.endInput;self.setCity(param.city);self.selectGeocoder(param.geocoder);self.mapcontainer=param.mapcontainer;this.selectMap(param.map);},wayPointsData:[]};};var taxi=window["taxi"];;$(document).ready(function(){taxi.yandexRoutesStrokeColor='0000ffee';taxi.yandexRoutesOpacity=0.9;taxi.addMap('yandex',new function(){if(typeof(ymaps)==="undefined"||ymaps===null){return;}
987var yandexMap=this;window.yandexMap=this;yandexMap.route=null;yandexMap.point_source=null;yandexMap.mypos=null;yandexMap.points=null;yandexMap.lastRoute=null;taxi.yandexMap=yandexMap;function ymapsinit(){yandexMap.geocoder(yandexMap.city,1,function(res){var pos=res[0].point;if(typeof(taxi.yandexMapBehaviors)==='undefined'){taxi.yandexMapBehaviors=['default','scrollZoom','multiTouch'];}
988yandexMap.map=new ymaps.Map(yandexMap.mapcontainer,{center:[pos[0],pos[1]],zoom:11,behaviors:taxi.yandexMapBehaviors,load:['package.traffic']});yandexMap.map.controls.add('zoomControl').add('typeSelector');var traffic=new ymaps.control.TrafficControl();yandexMap.map.controls.add(traffic);});var source=window.source+'';if(source.length>0){ymaps.geocode(window.order_city+','+window.source,{results:1}).then(function(res){var firstGeoObject=res.geoObjects.get(0);if(firstGeoObject&&firstGeoObject.length>0){yandexMap.map.geoObjects.add(new ymaps.Placemark(firstGeoObject.geometry.getCoordinates(),{balloonContentBody:'Адрес посадки',hintContent:'Адрес посадки'},{}));}});}
989if(window.order&&parseInt(window.crew,10)>0)
990var fp=window.crew;else
991var fp=false;$(document).ready(function(){setTimeout(function(){taxi.updateCarMarks(yandexMap);$(document).trigger('taxi_map_afterInit');},2000);});}
992taxi.createCarCrewOrId=function(carInfo){var carIdOrCrewInfo='';if(carInfo.crewId){carIdOrCrewInfo=carIdOrCrewInfo+'Позывной: '+carInfo.crewId+"<br />";}
993return carIdOrCrewInfo;};taxi.createYandexMapCarMark=function(carInfo){var carNumberInfo='';if(carInfo.number){carNumberInfo='Гос.номер: '+carInfo.number+'<br>';}
994var carIdOrCrewInfo=taxi.createCarCrewOrId(carInfo);carInfo.label=carInfo.description+' '+carInfo.color.toLowerCase()+' '+carNumberInfo+carIdOrCrewInfo;if(carInfo.isFree){if(carInfo.crewId&&carInfo.id){carIdOrCrewInfo=carIdOrCrewInfo+"";}
995var carMark=new ymaps.Placemark([carInfo.lat,carInfo.lon],{balloonContentBody:carInfo.description+" <em>"+carInfo.color.toLowerCase()+"</em>",balloonContentFooter:carIdOrCrewInfo+carNumberInfo
996+'<a href="#" onclick="taxi.selectCar('+carInfo.id+', \''+carInfo.label
997+'\', $(this)); return false;">Выбрать авто</a>',hintContent:carInfo.description+" <em>"+carInfo.color.toLowerCase()+"</em>"},{iconImageHref:'/bitrix/templates/taxi_yellow/i/ico-taxi.png',iconImageSize:[41,36]});}else{var carMark=new ymaps.Placemark([carInfo.lat,carInfo.lon],{hintContent:carInfo.description+" <em>"+carInfo.color.toLowerCase()+"</em>"},{iconImageHref:'/bitrix/templates/taxi_yellow/i/ico-taxi-red.png',iconImageSize:[41,36]});}
998carMark.crew_code=carInfo.id;carMark.label=carInfo.label;carMark.carId=carInfo.id;return carMark;};taxi.selectCar=function(carId,label,senderA){$('#FIELD_AUTO').val('Хочу заказать машину: '+label);$('#FIELD_AUTO_ID').val(''+carId);taxi.ordering.selectCustomCar(carId,label);if(senderA){var oldOnClick=senderA.attr('onclick');var oldHtml=senderA.html();senderA.attr('onclick','return false;');senderA.html(' - Выбрано авто '+label);setTimeout(function(){senderA.attr('onclick',oldOnClick);senderA.html(oldHtml);},1000);}};taxi._clearCarsOnMap=function(){if(!yandexMap.map){return;}
999for(var carMark in yandexMap.carMarks){if(yandexMap.carMarks[carMark]===null){continue;}
1000yandexMap.map.geoObjects.remove(yandexMap.carMarks[carMark]);}};taxi._drawCarsOnMap=function(carsInfo){if(!yandexMap.map){return;}
1001taxi._clearCarsOnMap();var marks=[];for(var key in carsInfo){var carInfo=carsInfo[key];var carMark=taxi.createYandexMapCarMark(carInfo);marks[carInfo.id]=carMark;if(yandexMap&&typeof(yandexMap)!=='undefined'){yandexMap.map.geoObjects.add(marks[carInfo.id]);}}
1002yandexMap.carMarks=marks;taxi.startNextUpdateCarMarks();};taxi._addFromPointMark=function(){if(!yandexMap.map){return;}
1003var fromCoords=taxi.ordering.getFromPoint();if(fromCoords){yandexMap.map.geoObjects.add(new ymaps.Placemark(fromCoords,{balloonContentBody:'Адрес посадки',hintContent:'Адрес посадки'},{}));}};
1004
1005taxi.updateCarMarks=function(yandexMap){
1006/*var method=new TaxiMethod();if(!taxi.ordering.isOnFinalState()){
1007  method.tryCount=1;
1008	method.name='findCars';
1009	method.successCallback=function(data){taxi._drawCarsOnMap(data);};}
1010else{  taxi._addFromPointMark();method.name='getCarInfo';method.successCallback=function(carInfo){var data=[];data.push(carInfo);taxi._drawCarsOnMap(data);};method.params={carId:taxi.ordering.carId};}
1011method.errorCallback=function(){taxi.startNextUpdateCarMarks();};
1011taxi.taxiClient.executeQuery(method);//*/};
1012
1013taxi.startNextUpdateCarMarks=function(){
1014/*if(taxi.ordering.getUpdateCarsInterval()>0){setTimeout(function(){taxi.updateCarMarks(yandexMap);},taxi.ordering.getUpdateCarsInterval());}else{setTimeout(function(){taxi.startNextUpdateCarMarks();},3000);}//*/};
1015
1016window.yandexMap=yandexMap;$(document).trigger('onTaxiLoad');return{name:'yandex',init:function(params){jQuery.extend(yandexMap,params);ymaps.ready(function(){ymapsinit();});},createroute:function(){if(yandexMap.mypos){yandexMap.map.geoObjects.remove(yandexMap.mypos);}
1017yandexMap.mypos=null;yandexMap.route=null;yandexMap.source_pos=null;if(!yandexMap.points[0]||typeof(yandexMap.points[0].length)==="number"){return;}
1018if(!yandexMap.points[1]||typeof(yandexMap.points[1].length)==="number"&&yandexMap.points[0]){yandexMap.mypos=new ymaps.Placemark(yandexMap.points[0].point,{},{draggable:true});yandexMap.mypos.events.add('dragend',function(){yandexMap.geocoder(yandexMap.mypos.geometry.getCoordinates(),1,function(res){if(res){yandexMap.startpoint(res[0]);yandexMap.points[0].point=yandexMap.mypos.geometry.getCoordinates();}});});yandexMap.map.geoObjects.add(yandexMap.mypos);yandexMap.map.setCenter(yandexMap.points[0].point);return;}
1019var point=[];for(var i=0,l=yandexMap.points.length;i<l;i++){point[i]=yandexMap.points[i].point;}
1020ymaps.route(point,{mapStateAutoApply:true}).then(function(router){if(yandexMap.lastRoute){yandexMap.map.geoObjects.remove(yandexMap.lastRoute);}
1021yandexMap.route=router;yandexMap.editor=yandexMap.route.editor;yandexMap.editor.start({addWayPoints:false});var editpoint;yandexMap.editor.events.add('routeupdate',function(){if(yandexMap.route){yandexMap.routeinfo({length:yandexMap.route.getLength(),time:yandexMap.route.getJamsTime()});}}).add('waypointdragstart',function(e){var waypoint=e.get('wayPoint');editpoint=parseInt(waypoint.properties.get('iconContent'),10)-1;}).add('waypointdragend',function(e){if(typeof(editpoint)==="number"){var waypoint=e.get('wayPoint');yandexMap.geocoder(waypoint.geometry.getCoordinates(),1,function(res){if(res.length>0){switch(editpoint){case 0:yandexMap.startpoint(res[0]);break;case 1:yandexMap.endpoint(res[0]);break;}
1022taxi.wayPointsData[editpoint]=res[0].label;}else{taxi.wayPointsData[editpoint]=editpoint+1+'';yandexMap.updateWayPointsText();}});}});yandexMap.route.getPaths().options.set({strokeColor:taxi.yandexRoutesStrokeColor,opacity:taxi.yandexRoutesOpacity});yandexMap.editor.events.fire('routeupdate');yandexMap.lastRoute=yandexMap.route;yandexMap.map.geoObjects.add(yandexMap.route);yandexMap.updateWayPointsText=function(){yandexMap.route.getWayPoints().each(function(item,i){if(taxi.wayPointsData.length>i){var address=taxi.wayPointsData[i];}else{var address='';}
1023var coordinates=item.geometry.getCoordinates();var content=coordinates[0]+", "+coordinates[1];item.properties.set('balloonContentBody','<p>'
1024+address
1025+'</p>'
1026+'<span style="font-size: small">('
1027+content
1028+')</span>');});};yandexMap.updateWayPointsText();});},setPoints:function(points){yandexMap.points=points;this.createroute();},mypos:function(loc,callback){var pos=[loc.coords.latitude,loc.coords.longitude];yandexMap.geocoder(pos,1,function(res){callback();if(!res||res.length===0||res[0].length===0){return;}
1029yandexMap.startpoint(res[0]);ymaps.getZoomRange('yandex#map',res[0].point).then(function(result){yandexMap.map.setZoom(result[1]-1);});});}};});});;$(document).ready(function(){taxi.addMap('google',new function(){if(typeof(google)==="undefined"||google===null){return;}
1030var googleMap=this;googleMap.directionsService=null;googleMap.route=null;googleMap.mypos=null;return{name:'google',init:function(params){jQuery.extend(googleMap,params);googleMap.geocoder(googleMap.city,1,function(res){var pos=res[0].point;googleMap.map=new google.maps.Map(document.getElementById(googleMap.mapcontainer),{zoom:11,center:new google.maps.LatLng(pos[0],pos[1]),mapTypeId:google.maps.MapTypeId.ROADMAP});});googleMap.directionsService=new google.maps.DirectionsService();googleMap.route=new google.maps.DirectionsRenderer({draggable:false});googleMap.mypos=new google.maps.Marker();},createroute:function(){googleMap.route.setMap(null);googleMap.mypos.setMap(null);if(!googleMap.points[0]||typeof(googleMap.points[0].length)==="number"){return;}
1031if(!googleMap.points[1]||typeof(googleMap.points[1].length)==="number"&&googleMap.points[0]){var pos=googleMap.points[0].point;pos=new google.maps.LatLng(pos[0],pos[1]);googleMap.mypos=new google.maps.Marker({map:googleMap.map,draggable:true,position:pos});googleMap.mypos.setMap(googleMap.map);googleMap.map.setCenter(pos);google.maps.event.addListener(googleMap.mypos,"dragend",function(){var point=googleMap.mypos.getPosition();point=[point.lat(),point.lng()];googleMap.geocoder(point,1,function(res){if(res){googleMap.startpoint(res[0]);}});});return;}
1032googleMap.route.setMap(googleMap.map);var start=googleMap.points[0].point;start=new google.maps.LatLng(start[0],start[1]);var end=googleMap.points[1].point;end=new google.maps.LatLng(end[0],end[1]);var request={origin:start,destination:end,travelMode:google.maps.TravelMode.DRIVING};googleMap.directionsService.route(request,function(result,status){if(status===google.maps.DirectionsStatus.OK){googleMap.route.setDirections(result);}});google.maps.event.addListener(googleMap.route,'directions_changed',function(){var leg=googleMap.route.directions.routes[0].legs[0];googleMap.routeinfo({length:leg.distance.value,time:leg.duration.value});return;});},setPoints:function(points){googleMap.points=points;this.createroute();},mypos:function(loc,callback){var pos=[loc.coords.latitude,loc.coords.longitude];googleMap.geocoder(pos,1,function(res){callback();if(!res){return;}
1033googleMap.startpoint(res[0]);var pos=res[0].point;var latlng=new google.maps.LatLng(pos[0],pos[1]);var maxZoomService=new google.maps.MaxZoomService();
1033maxZoomService.getMaxZoomAtLatLng(latlng,function(response){if(response.status===google.maps.MaxZoomStatus.OK){googleMap.map.setZoom(response.zoom-3);}});googleMap.map.setCenter(latlng);});}};});});;taxi.addGeocoder('yandex',new function(){if(typeof(ymaps)==="undefined"||ymaps===null){return;}
1034return{name:'yandex',find:function(find,limit,callback){limit=limit||1;var geocodes=[];ymapsGeocoderOptions={strictBounds:false,results:limit};ymaps.geocode(find,ymapsGeocoderOptions).then(function(res){res.geoObjects.each(function(item){function internalFindLocality(item){var locality=false;var searchLocalityIn=['metaDataProperty.GeocoderMetaData.AddressDetails.Country.AdministrativeArea.Locality','metaDataProperty.GeocoderMetaData.AddressDetails.Country.Locality','metaDataProperty.GeocoderMetaData.AddressDetails.Country.AdministrativeArea.AdministrativeAreaName.Locality','metaDataProperty.GeocoderMetaData.AddressDetails.Country.AddressLine','metaDataProperty.GeocoderMetaData.AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.SubAdministrativeAreaName'];var coordinates=item.geometry.getCoordinates();var coordinatesString=coordinates[0]+", "+coordinates[1];for(var searchIndex in searchLocalityIn){locality=item.properties.get(searchLocalityIn[searchIndex]);if(locality){if(typeof(locality)==='string'){locality.LocalityName=locality;locality.PseudoStreet=coordinatesString;}
1035return locality;}}
1036locality=coordinatesString;return locality;}
1037var Locality=internalFindLocality(item);if(!Locality){return;}
1038var dependent="";var street=typeof(Locality)==='string'?Locality:"";var house,housing;house=housing="";var city=Locality.LocalityName||"";if(Locality.Thoroughfare){street=Locality.Thoroughfare.ThoroughfareName||Locality.Thoroughfare.Premise.PremiseName||Locality.PseudoStreet;if(Locality.Thoroughfare.Premise){if(Locality.Thoroughfare.Premise.PremiseNumber){house=Locality.Thoroughfare.Premise.PremiseNumber;housing=house.match(/[к][0-9]+$/i);if(housing!==null){housing=housing[0].match(/[+0-9]+$/i)[0];house=house.match(/^[0-9\/]+/i)[0];}}}}else if(Locality.DependentLocality){dependent=Locality.DependentLocality.DependentLocalityName;if(Locality.DependentLocality.Thoroughfare){street=Locality.DependentLocality.Thoroughfare.ThoroughfareName;}}else if(Locality.Premise){street=Locality.Premise.PremiseName;}
1039var c=(city)?city:"";var d=(dependent)?", "+dependent:"";var s=(street)?((city)?", "+street:street):"";var h=(house)?" "+house:"";var hs=(housing)?" корпус "+housing:"";var label=c+d+s+h+hs;var value=street;geocodes.push({point:item.geometry.getCoordinates(),street:street,city:city,label:label,house:house,housing:housing,value:value});});if(typeof(callback)==='function'){callback(geocodes);}},function(){});}};});taxi.addGeocoder('google',new function(){if(typeof(google)==="undefined"||google===null){return;}
1040var geocoder=new google.maps.Geocoder();return{name:'google',find:function(find,limit,callback){limit=limit||1;if(typeof(find)==='object'){find={'latLng':new google.maps.LatLng(find[0],find[1])};}else if(typeof(find)==='string'){find={'address':find};}
1041function getType(arr,type){for(var i=arr.length-1;i>=0;i--){if(jQuery.inArray(type,arr[i].types)!==-1){return arr[i].long_name;}}
1042return"";}
1043var geocodes=[];
1043var param={'region':'ru'};jQuery.extend(param,find);geocoder.geocode(param,function(results,status){if(status===google.maps.GeocoderStatus.OK){jQuery.each(results,function(i,result){var city,street,dependent;city=street=dependent="";var house,housing;house=housing="";city=getType(result.address_components,'locality');street=getType(result.address_components,'route');if(!street){street=getType(result.address_components,'point_of_interest');}
1044if(!street){street=getType(result.address_components,'establishment');}
1045if(!street){dependent=getType(result.address_components,'administrative_area_level_2');}
1046house=getType(result.address_components,'street_number');housing=house.match(/[к][0-9]+$/i);if(housing!==null){housing=housing[0].match(/[+0-9]+$/i)[0];house=house.match(/^[0-9\/]+/i)[0];}
1047var c=(city)?city:"";var d=(dependent)?", "+dependent:"";var s=(street)?((city)?", "+street:street):"";var h=(house)?" "+house:"";var hs=(housing)?" корпус "+housing:"";var label=c+d+s+h+hs;var value=street;var loc=result.geometry.location;geocodes.push({point:[loc.lat(),loc.lng()],city:city,street:street,label:label,house:house,housing:housing,value:value});});if(typeof(callback)==='function'){callback(geocodes);}}});}};});;taxi.addGeocoder('google',new function(){if(typeof(google)==="undefined"||google===null){return;}
1048var geocoder=new google.maps.Geocoder();return{name:'google',find:function(find,limit,callback){limit=limit||1;if(typeof(find)==='object'){find={'latLng':new google.maps.LatLng(find[0],find[1])};}else if(typeof(find)==='string'){find={'address':find};}
1049function getType(arr,type){for(var i=arr.length-1;i>=0;i--){if(jQuery.inArray(type,arr[i].types)!==-1){return arr[i].long_name;}}
1050return"";}
1051var geocodes=[];
1051var param={'region':'ru'};jQuery.extend(param,find);geocoder.geocode(param,function(results,status){if(status===google.maps.GeocoderStatus.OK){jQuery.each(results,function(i,result){var city,street,dependent;city=street=dependent="";var house,housing;house=housing="";city=getType(result.address_components,'locality');street=getType(result.address_components,'route');if(!street){street=getType(result.address_components,'point_of_interest');}
1052if(!street){street=getType(result.address_components,'establishment');}
1053if(!street){dependent=getType(result.address_components,'administrative_area_level_2');}
1054house=getType(result.address_components,'street_number');housing=house.match(/[к][0-9]+$/i);if(housing!==null){housing=housing[0].match(/[+0-9]+$/i)[0];house=house.match(/^[0-9\/]+/i)[0];}
1055var c=(city)?city:"";var d=(dependent)?", "+dependent:"";var s=(street)?((city)?", "+street:street):"";var h=(house)?" "+house:"";var hs=(housing)?" корпус "+housing:"";var label=c+d+s+h+hs;var value=street;var loc=result.geometry.location;geocodes.push({point:[loc.lat(),loc.lng()],city:city,street:street,label:label,house:house,housing:housing,value:value});});if(typeof(callback)==='function'){callback(geocodes);}}});}};});;var YandexSuggestCaller=function(){var self=this;self._lastResponse=null;self.callback=function(){};self.createResponseObject=function(data){if(data.length<3){  return false;}
1056var variants=[];for(var index in data[1]){var current=data[1][index];variants.push({type:current[0],label:current[1],fullLabel:current[2],systemData:current[3]});}
1057var response={part:data[0],variants:variants};return response;};window.function_Sj2dk83xZi450_callback=function(data){var responseObject=self.createResponseObject(data);self._lastResponse=responseObject;self.callback(responseObject);};var SuggestCallerOptions=function(){return{callback:'function_Sj2dk83xZi450_callback',part:'',lang:'ru-RU',search_type:'all',ll:'64.22769438476561,62.20712366243136',spn:'82.61718750000001,32.68027802373878',fullpath:'1',v:'5'};};self.optionsObject=new SuggestCallerOptions();self.internalGetRequest=function(){var optionsObject=self.optionsObject;if(optionsObject.part&&optionsObject.part.length>1){var url='http://suggest-maps.yandex.ru/suggest-geo';$.ajax({url:url,type:'get',data:optionsObject,dataType:'jsonp',jsonp:"jsonp",crossDomain:true,success:function(response){  }});}else{return false;}};return{part:'',callback:function(responseObject){},search_type:'all',ll:'64.22769438476561,62.20712366243136',spn:'82.61718750000001,32.68027802373878',search:function(options,callback){if(typeof(callback)!=='function'){  }
1058this.part=options.long;this.callback=callback;self.callback=callback;self.optionsObject.part=this.part;self.optionsObject.search_type=this.search_type;self.optionsObject.ll=this.ll;self.optionsObject.spn=this.spn;return self.internalGetRequest();},getLastResponse:function(){return self._lastResponse;}};};taxi.yandexSuggest=new YandexSuggestCaller();taxi.suggestCaller=taxi.yandexSuggest;;var TaxiSuggestCaller=function(){var SuggestCallerOptions=function(){return{part:'',cityGeoCode:'',city:''};};var self={};self.disableApi=false;self._lastResponse=null;self.callback=function(){};self.optionsObject=new SuggestCallerOptions();self.createResponseObject=function(data){var variants=[];for(var index in data){var current=data[index];if(self.apiMethodName==='findGeoObjects'){variants.push({type:'',label:current.label,fullLabel:current.label,geoData:current,systemData:''});}else{variants.push({type:'',label:current,fullLabel:current,systemData:''});}}
1059var response={part:data[0],variants:variants};  return response;};self.apiMethodName='findStreets';self.maxLimit=500;self.internalGetRequest=function(){var optionsObject=self.optionsObject;if(optionsObject.part&&optionsObject.part.length>1){if(self.disableApi){  taxi.yandexSuggest.search(self.options,self.callback);return false;}
1060var query=new TaxiMethod(self.apiMethodName);query.params={streetPart:optionsObject.part,maxLimit:self.maxLimit,city:optionsObject.city};query.successCallback=function(response){var responseObject=self.createResponseObject(response);self._lastResponse=responseObject;if(responseObject.variants.length===0){taxi.yandexSuggest.search(self.options,self.callback);return;}
1061self.callback(responseObject);};query.errorCallback=function(){  taxi.yandexSuggest.search(self.options,self.callback);};taxi.taxiClient.executeQuery(query);}else{return false;}};return{part:'',ajaxUrl:'/include/otaxi/ajax_otaxi_get_streets.php',city:'',cityGeoCode:'',setMaxLimit:function(maxLimit){self.maxLimit=maxLimit;},callback:function(responseObject){},search:function(options,callback){if(typeof(callback)!=='function'){  }
1062this.part=options.short;this.callback=callback;self.callback=callback;self.options=options;self.optionsObject.city=this.city;self.optionsObject.part=this.part;self.optionsObject.cityGeoCode=this.cityGeoCode;self.optionsObject.ajaxUrl=this.ajaxUrl;
1062return self.internalGetRequest();},disableApi:function(){self.disableApi=true;},setApiMethodName:function(apiMethodName)
1063{if(apiMethodName==='findStreets'||apiMethodName==='findGeoObjects'){self.apiMethodName=apiMethodName;}else{var message="Wrong api method name for taxiSuggestCaller! : "+apiMethodName;  throw message;}},getLastResponse:function(){return self._lastResponse;}};};;var OTaxiApi=function(){var self=this;self.logging=true;self.log=function(data){if(!self.logging){return;}else{  }};self.internalAjax=function(options){var data=options.data;var methodName=options.methodName;var successCallback=options.successCallback;var failCallback=options.failCallback;self.log('internalAjax:'+options.methodName);self.log(options);var url='/include/otaxi/ajax_otaxi_'+methodName+'.php';$.ajax({url:url,type:'post',data:data,dataType:'json',success:function(response){self.log(response);if(response.result){successCallback();}else{failCallback();}},error:function(){  }});};this.hasAuth=function(options,successCallback,failCallback){if(typeof(options.phone)==='undefined'){  return false;}
1064return self.internalAjax({data:options,methodName:'hasAuth',successCallback:successCallback,failCallback:failCallback});};this.validate=function(options,successCallback,failCallback){if(typeof(options.code)==='undefined'){  return false;}
1065return self.internalAjax({data:options,methodName:'validate',successCallback:successCallback,failCallback:failCallback});};this.auth=function(options,successCallback,failCallback){if(typeof(options.phone)==='undefined'||typeof(options.code)==='undefined'){  return false;}
1066return self.internalAjax({data:options,methodName:'auth',successCallback:successCallback,failCallback:failCallback});};this.requestSmsCode=function(options,successCallback,failCallback){if(typeof(options.phone)==='undefined'||typeof(options.cityGeoCode)==='undefined'){  return false;}
1067return self.internalAjax({data:options,methodName:'requestSmsCode',successCallback:successCallback,failCallback:failCallback});};this.rejectOrder=function(options,successCallback,failCallback){if(typeof(options.id)==='undefined'){  return false;}
1068return self.internalAjax({data:options,methodName:'reject_order',successCallback:successCallback,failCallback:failCallback});};this.disableRequests=false;return this;};window.otaxi=new OTaxiApi();;(function(factory){if(typeof define==='function'&&define.amd){define(['jquery'],factory);}else{factory(jQuery);}}(function($){var pluses=/\+/g;function encode(s){return config.raw?s:encodeURIComponent(s);}
1069function decode(s){return config.raw?s:decodeURIComponent(s);}
1070function stringifyCookieValue(value){return encode(config.json?JSON.stringify(value):String(value));}
1071function parseCookieValue(s){if(s.indexOf('"')===0){s=s.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,'\\');}
1072try{s=decodeURIComponent(s.replace(pluses,' '));}catch(e){return;}
1073try{return config.json?JSON.parse(s):s;}catch(e){}}
1074function read(s,converter){var value=config.raw?s:parseCookieValue(s);return $.isFunction(converter)?converter(value):value;}
1075var config=$.cookie=function(key,value,options){if(value!==undefined&&!$.isFunction(value)){options=$.extend({},config.defaults,options);if(typeof options.expires==='number'){var days=options.expires,t=options.expires=new Date();t.setDate(t.getDate()+days);}
1076return(document.cookie=[encode(key),'=',stringifyCookieValue(value),options.expires?'; expires='+options.expires.toUTCString():'',options.path?'; path='+options.path:'',options.domain?'; domain='+options.domain:'',options.secure?'; secure':''].join(''));}
1077var result=key?undefined:{};var cookies=document.cookie?document.cookie.split('; '):[];for(var i=0,l=cookies.length;i<l;i++){var parts=cookies[i].split('=');var name=decode(parts.shift());var cookie=parts.join('=');if(key&&key===name){result=read(cookie,value);break;}
1078if(!key&&(cookie=read(cookie))!==undefined){result[name]=cookie;}}
1079return result;};config.defaults={};$.removeCookie=function(key,options){if($.cookie(key)!==undefined){$.cookie(key,'',$.extend({},options,{expires:-1}));return true;}
1080return false;};}));jQuery(document).ready(function($){if($.cookie('top-panel-closed')==1){$('#top-panel').removeClass('opened');}
1081function animateShowHideTopPanel(_this){function animateClose(_this){_this.stop();_this.animate({'margin-top':"-"+_this.height()},'slow',function(){_this.removeClass('opened');$.cookie('top-panel-closed',1,{path:'/'});});}
1082function animateShow(_this){_this.stop();_this.animate({'margin-top':'0'},'slow',function(){_this.addClass('opened');$.cookie('top-panel-closed',0,{path:'/'});});}
1083if(_this.hasClass('opened')){animateClose(_this);}else{animateShow(_this);}}
1084$('.close-app, .top_border, .open-app').click(function(event){event.stopPropagation();event.preventDefault();animateShowHideTopPanel($('#top-panel'));});});;function select_city(e){$.colorbox.close();location.reload();}
1085function preloader(images,callback){var length=images.length;var count=0;$.each(images,function(i,src){var image=new Image();image.src=src;image.onload=function(){count++;if(count>=length){callback();}};});};function get_max_height(elements){var max=0;$(elements).css({"height":"auto"});elements.each(function(i,element){if(max<$(element).height()){max=$(element).height();}});return max;}
1086(function($){$.fn.extend({transition:function(prop,val){var prefix=['-webkit-','-moz-','-o-','o-',''];$(this).each(function(){var self=$(this);for(var i=prefix.length-1,pref;i>=0;i--){self.css(prefix[i]+'transition'+prop,val);};});return $(this);}});})(jQuery);jQuery(document).ready(function($){$('.colorboxEnterCode').colorbox({iframe:true,width:'90%',maxWidth:562,maxHeight:385,autoScale:true,autoDimensions:true,onComplete:function(){$('#cboxClose').hide();$(window).off('resize.colorboxEnterCode');$(window).on('resize.colorboxEnterCode',function(){$.colorbox.resize({width:($(window).width()<562)?'90%':562,height:445});}).trigger('resize.colorboxEnterCode');}});$("#FIELD_TEL").mask("8 (999) 999-99-99");if($('.detailed-order-taxi-wrapper').length){$('.sprite.date').on('click',function(event){$('img.calendar-icon').click();event.preventDefault();});}
1087$('.control-group:has(label[for=FIELD_DATA]) input, .order-taxi-when-date input').on('keydown',function(event){  if(event.keyCode>48){event.stopPropagation();event.preventDefault();}});$('#select_client').on('change',function(){var service=$('#select_client option:selected').data('client');var id=$('#select_client option:selected').data('id');$.post('/include/ajax_name_service.php',{service_name:service,service_id:id},function(data,textStatus){if(textStatus==='success'){location.reload();}});});$('.control-group:has(label[for=FIELD_DATA]) input, .order-taxi-when-date input').on('click',function(event){var _this=$(this);  if(_this.is('.order-taxi-when-date input')){_this.closest('div').find('img.calendar-icon').click();}else{_this.closest('.controls').find('img.calendar-icon').click();}});$('.control-group:has(label[for=FIELD_DATA]) input, .order-taxi-when-date input').on('change',function(){taxi.updateRoute(true);taxi.updateRoute(false);});$('#select_client').on('change',function(){var service=$('#select_client option:selected').data('client');var id=$('#select_client option:selected').data('id');$.post('/include/ajax_name_service.php',{service_name:service,service_id:id},function(data,textStatus){if(textStatus=='success'){location.reload();}});});$('.pokazat a').on('click',function()
1088{$("#map").toggleClass('active');});$('#myTab a').on('click',function(){if($(this).attr('href')=='#quick')
1089$('.no_quickly').css('display','none');else
1090$('.no_quickly').css('display','block');});$('.form_stars li').on('click',function(){$('.form_stars .star').removeClass('active');$(this).addClass('active');$('#rating_value').val($(this).index()+1);});if(!$('.detailed-order-taxi-wrapper').length){var button=$('button[name=iblock_submit]');var submit=$('input[name=iblock_submit]');button.toggle();submit.toggle();$("#submit_anketa").toggle();button.on('click',function(){submit.click();});}
1091$('.colorbox_form').colorbox({iframe:true,width:'90%',maxWidth:562,height:385,autoScale:true,autoDimensions:true,onComplete:function(){$('#cboxClose').hide();$(window).off('resize.colorbox_form');$(window).on('resize.colorbox_form',function(){$.colorbox.resize({width:($(window).width()<562)?'90%':562,height:445});}).trigger('resize.colorbox_form');}});var images=[];var thumbs=$(".thumbnails .thumbnail");thumbs.find("img").each(function(indx,element){images.push($(this).attr('src'));});preloader(images,function(){thumbs.transition('-duration','0s').css({"height":get_max_height(thumbs)});});$(window).on('resize',function(){thumbs.css({"height":get_max_height(thumbs)});});var maks=0;$(".in .serv").each(function(indx,element){if(maks<$(element).height()){maks=$(element).height();}});$(".in .serv").height(maks);});;taxi.taxiClient=new TaxiClient();taxi.suggestCaller=new TaxiSuggestCaller();taxi.ordering=new TaxiBitrixOrderProcess(taxi.taxiClient);taxi.cost=new TaxiCost
1092taxi.lastCostfromApi="";taxi._disableAdapters=false;taxi.disableAdpaters=function(){  taxi._disableAdapters=true;taxi.suggestCaller.disableApi();taxi.ordering.disable();taxi.taxiClient.enabled=false;};taxi.enableAddingCostInOrderComment=function(){taxi.ordering._oldCreateOrderQuery=taxi.ordering.createOrderQuery;taxi.ordering.createOrderQuery=function(){var createOrderData=taxi.ordering._oldCreateOrderQuery();if(taxi.routesInfoLayout.cost>0){createOrderData.comment+=' Стоимость с сайта: '+taxi.routesInfoLayout.cost+' руб';}
1093return createOrderData;};};taxi.disableRoutes=function(){taxi.routeInfoFunction=function(){};taxi.yandexRoutesOpacity=0.0;};taxi.routeInfoFunction=function(res){var len=res.length;var time=res.time;var timeLine='';if(time+1<1000*60){timeLine='<p>С учетом пробок '
1094+Math.round(time/60)+' мин.</p>';}
1095if(len>0){$('#list').attr('route-length',Math.round(len));}
1096var routeData=new TaxiCostRouteData();routeData.len=len;routeData.timeInMinutes=Math.round(time/60);routeData.rawFrom='';routeData.rawTo='';if(taxi.ordering.useNewTemplate()){routeData.priorTime=$('.order-taxi-when-date input').val();}else{routeData.priorTime=$('label[for=FIELD_DATA] ~ .controls input').val();}
1097var cost=taxi.cost.callCost(routeData);$('#list').html('<div class="control-group rez"><label class="control-label"><span class="rect"></span></label><div class="controls">'
1098+'<p id="p_order" style="display: none;"" >Стоимость поездки <span id="cost_order_from_api" style="color: white;">'+taxi.lastCostfromApi+'</span></p></div></div>');};taxi.routesInfoLayout={_config:{cost:['.order-taxi-data span:has(.price)','strong',' &#8399;','cost'],distance:['.order-taxi-data span:has(.distance)','strong',' км','distance'],time:['.order-taxi-data span:has(.time)','strong',' мин.','time']},_checkRange:function(value){return value>=1&&value<10000;},_setContol:function(_configLine,value){var baseControl=$(_configLine[0]);if(baseControl.length>0){if(value.length===0||!this._checkRange(value)){baseControl.hide().find(_configLine[1]).html('');}else{baseControl.show().find(_configLine[1]).html(value+_configLine[2]);this[_configLine[3]]=value;}}},distance:null,time:null,cost:null,setDistance:function(distance){this._setContol(this._config.distance,distance);},setTime:function(time){this._setContol(this._config.time,time);},setCost:function(cost){this._setContol(this._config.cost,cost);},hideAll:function(){this.setCost(0);this.setDistance(0);this.setTime(0);}};taxi.newRouteInfoFunction=function(res){var length=res.length;var time=res.time;if(length>0){$('#list').attr('route-length',Math.round(length));}
1099var cost=taxi.callCost(length);var info={};info.cost=Math.round(cost);info.distance=Math.round(length/1000);info.time=Math.round(time/60);taxi.routesInfoLayout.setCost(info.cost);taxi.routesInfoLayout.setDistance(info.distance);taxi.routesInfoLayout.setTime(info.time);};jQuery(document).ready(function($){taxi.routesInfoLayout.hideAll();if(taxi.ordering.useNewTemplate()){taxi.routeInfoFunction=taxi.newRouteInfoFunction;};$('#reject_order').on('click',function(event){event.stopPropagation();event.preventDefault();var _this=$(this);if(_this.hasClass('active')&&confirm('Вы действительно хотите отменить заказ?')){if(taxi.ordering.orderId>0){taxi.ordering.rejectOrder();}}});$('#new_order').on('click',function(event){event.stopPropagation();event.preventDefault();taxi.ordering.onNewOrder();if(taxi.ordering.useNewTemplate()){window.location.href='/order/';}else{window.location.href='/';}});$('#send_order_form').click('click',function(event){if(!taxi._disableAdapters){var _this=$(this);if(!_this.hasClass('stopOrderProccess')){event.stopPropagation();event.preventDefault();taxi.ordering.onSubmitOrderForm();}};});$.widget("ThreeColors.geo_autocomplete",{_init:function(){this.options._cache={};this.element.autocomplete(this.options)._renderItem=function(_ul,_item){return $('<li></li>').data('item.autocomplete',_item).append(this.options.getItemHTML(_item)).appendTo(_ul);};},options:{minLength:3,delay:300,inputType:'street',source:function(_request,_responseCallback){var city=this.options.city.val()||window.city;var cityId=0;if(parseInt(city)>0){var cityId=city;var city=this.options.city.find('option:selected').text();}
1100var house=this.options.house.val()||"";var housing=this.options.housing.val()||"";var createTerm=function(obj){var res=_request.term;if(obj.options.inputType==='street'&&city.length>0){res=city+", "+res;}else if(obj.options.inputType==='locality'){res='Россия, '+res;}else if(obj.options.inputType==='city'){res='Россия, город'+res;}
1101return res;};var self=this;var _address=_request.term;var fullAddress=createTerm(this);taxi.suggestCaller.city=city;taxi.suggestCaller.search({short:_address,long:fullAddress},function(responseObject){if(!responseObject){return;}
1102self.options._cache[_request.term]=responseObject.variants;_responseCallback(responseObject.variants);});},getItemHTML:function(_item){  return _item.label.replace(/,/gi,',<br/>');}}});$('#FIELD_FROM, #FIELD_FROM_HOUSE, #FIELD_FROM_HOUSING, #FIELD_CITY_OTKUDA, #FIELD_TO, #FIELD_TO_HOUSE, #FIELD_TO_HOUSING, #FIELD_CITY_KUDA').keypress(function(event){var _this=$(this);var lockTime=1000;var isFromControl=_this.closest('.CITY_OTKUDA-group').length>0||_this.closest('.FROM_HOUSE-group').length>0;if(event.keyCode===13){event.stopPropagation();event.preventDefault();taxi.updateRoute(isFromControl);}else{_this.data('locked',true);_this.data('pushed',true);function runAutoUpdate(sender){setTimeout(function(){if(sender.data('pushed')&&!sender.data('locked')){taxi.updateRoute(isFromControl);sender.data('pushed',false);
1102sender.data('locked',false);}else if(sender.data('pushed')&&sender.data('locked')){sender.data('locked',false);runAutoUpdate(sender);}},lockTime);}
1103taxi.ordering.components.route.resetHotNeedUpdate(isFromControl);runAutoUpdate(_this);}});$('#FIELD_CITY_OTKUDA option, #FIELD_CITY_KUDA option').on('click',function(event){var city=$(this).text();var _this=$(this);var isFromControl=_this.is('#FIELD_CITY_OTKUDA option');taxi.updateRoute(isFromControl);});$("#map").each(function(){var inputFromStreet=$("#FIELD_FROM");var inputFromHouse=$("#FIELD_FROM_HOUSE");var inputFromHousing=$("#FIELD_FROM_HOUSING");var inputFromCity=$('#FIELD_CITY_OTKUDA');var FROM_HOUSE=$(".FROM_HOUSE-group");var inputToStreet=$("#FIELD_TO");var inputToHouse=$("#FIELD_TO_HOUSE");var inputToHousing=$("#FIELD_TO_HOUSING");var inputToCity=$('#FIELD_CITY_KUDA');var TO_HOUSE=$(".TO_HOUSE-group");taxi.onDragEnd=function(geoPoint,isFromPoint){if(!geoPoint){return;}
1104function _fixGeoObject(geoObject){if(geoObject.street===geoObject.value&&geoObject.city===""){var s=geoObject.value;var m=s.match(/,(([^,]*улица|проспект|проезд|переулок|площадь)[^,]*)(,(.*)|(.*))$/i);
1104if(m){if(m[1]){geoObject.street=m[1].trim();}
1105if(m[4]){geoObject.house=m[4].trim().replace(/^,/,'');}}}}
1106_fixGeoObject(geoPoint);if(isFromPoint){taxi.ordering.fromLat=geoPoint.point[0];taxi.ordering.fromLon=geoPoint.point[1];}else{taxi.ordering.toLat=geoPoint.point[0];taxi.ordering.toLon=geoPoint.point[1];}};function getCityRow(res){if(typeof(res.city)!=='undefined'&&res.city!==null&&res.city!==window.city){var city=res.city;}else{var city=window.city;}
1107return(city)?city:'';}
1108function startInputSetValues(res,ignore){taxi.onDragEnd(res,true);if(!res)
1109return;ignore=ignore||'';if(!res.changed){res.value=res.street;res.changed=true;}
1110if(ignore.indexOf('value')<0){inputFromStreet.val(res.value);}
1111if(ignore.indexOf('house')<0){inputFromHouse.val(res.house);}
1112if(ignore.indexOf('housing')<0){inputFromHousing.val(res.housing);}
1113return res;}
1114function endInputSetValues(res,ignore){taxi.onDragEnd(res,false);if(!res)
1115return;ignore=ignore||'';if(!res.changed){res.value=res.street;res.changed=true;}
1116if(ignore.indexOf('value')<0){inputToStreet.val(res.value);}
1117if(ignore.indexOf('house')<0){inputToHouse.val(res.house);}
1118if(ignore.indexOf('housing')<0){inputToHousing.val(res.housing);}
1119return res;}
1120function writeDefaultCity(){if(!inputFromStreet.val()){inputFromCity.val(window.city);}else{FROM_HOUSE.show();}
1121if(!inputToStreet.val()){inputToCity.val(window.city);}else{TO_HOUSE.show();}}
1122function initTaxiMapObjects(){taxi.afterCallCost=function(cost){return cost;};taxi.callCost=function(length){var mileage=$('#tariff_travel option:selected').data('mileage');var landing=$('#tariff_travel option:selected').data('landing');var included=$('#tariff_travel option:selected').data('included');var minpricecity=$('#tariff_travel option:selected').data('minpricecity');var cost=0;var dop_cost=0;$('.dop_input:checked').each(function(){dop_cost+=Math.round($(this).data('cost'));});if((length/1000)>included)
1123{cost=landing+(length/1000-included)*mileage;}
1124else
1125{cost=landing;}
1126if(minpricecity>cost)
1127{cost=minpricecity;}
1128var finalCost=cost+dop_cost;finalCost=taxi.afterCallCost(finalCost);taxi.routesInfoLayout.cost=finalCost;return finalCost;};taxi.init({mapcontainer:"map",map:window.geoservice,googlemaptoken:'',geocoder:window.geoservice,city:window.city,startInput:startInputSetValues,endInput:endInputSetValues,region:'ru',routeinfo:function(res){taxi.routeInfoFunction(res);}});$('#tariff_travel').on('change',function(){var routeLength=$('#list').attr('route-length');if(routeLength>0){var cost=taxi.callCost(routeLength);$('#cost_order').text(cost);}});$('.dop_input').on('change',function(){var cost=parseInt($('#cost_order').text());if($(this).is(':checked'))
1129$('#cost_order').text(cost+Math.round($(this).data('cost')));else
1130$('#cost_order').text(cost-Math.round($(this).data('cost')));});}
1131function initCityAutoFill(){$.each([inputFromCity,inputToCity],function(){$(this).on('blur',function(){var _this=$(this);if($.trim(_this.val()).length===0){_this.val(window.city);}});});}
1132function initFindMyGeoLocation(){if(geo_position_js.init()){var findme=$('#find-me');peloader=$("<img>").attr("src","/preloader.gif").css({"margin":"7px 5px 0 -24px","float":"right"});findme.html('<div class="back target"></div>').css({"cursor":"pointer","color":"#08c"}).before(peloader.hide()).on('click',function(e){findme.hide();e.preventDefault();peloader.show();FROM_HOUSE.show();geo_position_js.getCurrentPosition(function(res){taxi.mypos(res,function(){peloader.hide();findme.show();});},function(){});});}}
1133initTaxiMapObjects();writeDefaultCity();initCityAutoFill();initFindMyGeoLocation();function initAutoComplete(autoCompleteOptions){autoCompleteOptions.cityInput.geo_autocomplete({city:autoCompleteOptions.cityInput,house:autoCompleteOptions.houseInput,housing:autoCompleteOptions.housingInput,inputType:'locality',close:function(event,ui){var isFromControl=(autoCompleteOptions.wayPointIndex==0);taxi.updateRoute(isFromControl);var old=autoCompleteOptions.cityInput.val()+"";old=old.replace(/,.*$/g,'');autoCompleteOptions.cityInput.val(old);}});autoCompleteOptions.streetInput.geo_autocomplete({city:autoCompleteOptions.cityInput,house:autoCompleteOptions.houseInput,housing:autoCompleteOptions.housingInput,inputType:'street',select:function(event,ui){var isFromControl=(autoCompleteOptions.wayPointIndex===0);if(typeof(ui.item.geoData)!=='undefined'&&typeof(ui.item.geoData.location)!=='undefined'&&ui.item.geoData.location){  var geoData=u
1133i.item.geoData;  var geoData=ui.item.geoData;taxi.ordering.components.route.onGeoObjectSelect(geoData,isFromControl);if(typeof(geoData)!=='undefined'){if(typeof(geoData.address)!=='undefined'){if(typeof(geoData.address.house)!=='undefined'){var house=geoData.address.house;if(house!==''){$('#FIELD_FROM_HOUSE').val(house);}}}}}else{taxi.ordering.components.route.resetHotNeedUpdate(isFromControl);}},close:function(event,ui){var isFromControl=(autoCompleteOptions.wayPointIndex===0);taxi.updateRoute(isFromControl);var old=autoCompleteOptions.streetInput.val()+"";old=old.replace(/,.*$/g,'');autoCompleteOptions.streetInput.val(old);}}).on('focus',function(){autoCompleteOptions.hiddenControls.show();}).on('blur',function(){if(!$(this).val()){autoCompleteOptions.taxiSetPointFunction(null);autoCompleteOptions.hiddenControls.hide().find('input').each(function(){$(this).val('');});}else{autoCompleteOptions.hiddenControls.show();}});var currentUpdateFunction=function(){  var city=autoCompleteOptions.cityInput.val()||window.city;if(parseInt(city)>0){city=autoCompleteOptions.cityInput.find('option:selected').text();}
1134var _address=city+", "
1135+autoCompleteOptions.streetInput.val()+", "
1136+autoCompleteOptions.houseInput.val()
1137+((autoCompleteOptions.housingInput.val())?" к "+autoCompleteOptions.housingInput.val():"");var isFrom=autoCompleteOptions.wayPointIndex===0;if(!taxi.ordering.components.route.hotNeedUpdate(isFrom)){taxi.geocoder(_address,1,function(res){if(res.length===0||(!res[0].street&&!res[0].city)){return;}
1138taxi.wayPointsData[autoCompleteOptions.wayPointIndex]=res[0].label;autoCompleteOptions.taxiSetPointFunction(res[0],'value,city,house,housing');});}else{var point=taxi.ordering.components.route.createTaxiRoutePoint(isFrom);autoCompleteOptions.taxiSetPointFunction(point,'value,city,house,housing');}};$.each([autoCompleteOptions.houseInput,autoCompleteOptions.housingInput],function(){$(this).on('focus',function(){$(this).data('val',$(this).val());}).on('blur',function(){autoCompleteOptions.houseInput.val(autoCompleteOptions.houseInput.val().replace("a","а").replace("b","б"));});});var res={updateFunction:currentUpdateFunction};return res;}
1139var tmp=initAutoComplete({hiddenControls:FROM_HOUSE,streetInput:inputFromStreet,cityInput:inputFromCity,houseInput:inputFromHouse,housingInput:inputFromHousing,taxiSetPointFunction:taxi.startpoint,wayPointIndex:0});taxi.updateFromFunction=tmp.updateFunction;var tmp=initAutoComplete({hiddenControls:TO_HOUSE,streetInput:inputToStreet,cityInput:inputToCity,houseInput:inputToHouse,housingInput:inputToHousing,taxiSetPointFunction:taxi.endpoint,wayPointIndex:1});taxi.updateToFunction=tmp.updateFunction;taxi.updateRoute=function(isFromControl){if(typeof(isFromControl)==='undefined'){taxi.updateFromFunction();taxi.updateToFunction();}else{if(isFromControl){taxi.updateFromFunction();}else{taxi.updateToFunction();}}};});function getTariffs(){var getTariffs=new TaxiMethod('findTariffs');getTariffs.tryCount=1;  getTariffs.successCallback=function(result){if(result&&result!=""){$('#tariffs').hide();$("label[for='FIELD_TIP']").text('Тариф');for(var i in result)
1140{var current=result[i];var currentId=current['id'];var currentLabel=current['label'];$("#tariffs").append("<option value='"+currentId+"'>"+currentLabel+"</option>");}}};getTariffs.errorCallback=function(){  };taxi.taxiClient.executeQuery(getTariffs);}
1141function callCostFromApi(){$.each([$('#FIELD_CITY_OTKUDA'),$("#FIELD_FROM"),$("#FIELD_FROM_HOUSE"),$("#FIELD_FROM_HOUSING"),$('#FIELD_CITY_KUDA'),$("#FIELD_TO"),$("#FIELD_TO_HOUSE"),$("#FIELD_TO_HOUSING"),$("#FIELD_TEL"),$("#FIELD_FIO"),$('#tariff_travel option:selected'),$('label[for=FIELD_DATA] ~ .controls input'),$('#tariffs')],function(){$(this).on('blur',function(){getCostFromApi();});});$(document).on('change','#tariffs',function(){getCostFromApi();});}
1142function getCostFromApi(){$('#cost_order_from_api').show();if(needSendToValidate()===true){var createOrderQuery=taxi.ordering.createOrderQuery();var validateQuery=new TaxiMethod('validateCommand');validateQuery.params={command:'createOrder',paramsToValidate:createOrderQuery};
1142validateQuery.successCallback=function(validationResult){if(validationResult.hasErrors){  }else{  var callCostQuery=new TaxiMethod('callCost');callCostQuery.tryCount=1;callCostQuery.params=validationResult.paramsToValidate;callCostQuery.successCallback=function(result){  if(result!==null){$('#p_order').show();$('#cost_order_from_api').html(String(result));taxi.lastCostfromApi=result;}else{$('#p_order').hide();}};callCostQuery.errorCallback=function(){  };taxi.taxiClient.executeQuery(callCostQuery);}};validateQuery.errorCallback=function(){  };taxi.taxiClient.executeQuery(validateQuery);}}
1143function needSendToValidate(){if((($('#FIELD_CITY_OTKUDA').val()!=="")&&($("#FIELD_FROM").val()!=="")&&($('#FIELD_CITY_KUDA').val()!=="")&&($("#FIELD_TO").val()!==""))||(($('#FIELD_CITY_OTKUDA').val()!=="")&&($("#FIELD_FROM_HOUSE").val()!=="")&&($('#FIELD_CITY_KUDA').val()!=="")&&($("#FIELD_TO_HOUSE").val()!=="")))
1144{  return true;}
1145else{return false;}}
1146getTariffs();callCostFromApi();});
1147;function mpSetter(){};
1148(function(e,t,i){function o(i,o,n){var r=t.createElement(i);return o&&(r.id=Z+o),n&&(r.style.cssText=n),e(r)}function n(){return i.innerHeight?i.innerHeight:e(i).height()}function r(e){var t=k.length,i=(O+e)%t;return 0>i?t+i:i}function h(e,t){return Math.round((/%/.test(e)?("x"===t?E.width():n())/100:1)*parseInt(e,10))}function l(e,t){return e.photo||e.photoRegex.test(t)}function s(e,t){return e.retinaUrl&&i.devicePixelRatio>1?t.replace(e.photoRegex,e.retinaSuffix):t}function a(e){"contains"in g[0]&&!g[0].contains(e.target)&&(e.stopPropagation(),g.focus())}function d(){var t,i=e.data(A,Y);null==i?(_=e.extend({},V),console&&console.log&&console.log("Error: cboxElement missing settings object")):_=e.extend({},i);for(t in _)e.isFunction(_[t])&&"on"!==t.slice(0,2)&&(_[t]=_[t].call(A));_.rel=_.rel||A.rel||e(A).data("rel")||"nofollow",_.href=_.href||e(A).attr("href"),_.title=_.title||A.title,"string"==typeof _.href&&(_.href=e.trim(_.href))}function c(i,o){e(t).trigger(i),dt.trigger(i),e.isFunction(o)&&o.call(A)}function u(){var e,t,i,o,n,r=Z+"Slideshow_",h="click."+Z;_.slideshow&&k[1]?(t=function(){clearTimeout(e)},i=function(){(_.loop||k[O+1])&&(e=setTimeout(Q.next,_.slideshowSpeed))},o=function(){S.html(_.slideshowStop).unbind(h).one(h,n),dt.bind(ot,i).bind(it,t).bind(nt,n),g.removeClass(r+"off").addClass(r+"on")},n=function(){t(),dt.unbind(ot,i).unbind(it,t).unbind(nt,n),S.html(_.slideshowStart).unbind(h).one(h,function(){Q.next(),o()}),g.removeClass(r+"on").addClass(r+"off")},_.slideshowAuto?o():n()):g.removeClass(r+"off "+r+"on")}function f(i){$||(A=i,d(),k=e(A),O=0,"nofollow"!==_.rel&&(k=e("."+et).filter(function(){var t,i=e.data(this,Y);return i&&(t=e(this).data("rel")||i.rel||this.rel),t===_.rel}),O=k.index(A),-1===O&&(k=k.add(A),O=k.length-1)),w.css({opacity:parseFloat(_.opacity),cursor:_.overlayClose?"pointer":"auto",visibility:"visible"}).show(),q||(q=U=!0,g.css({visibility:"hidden",display:"block"}),H=o(ct,"LoadedContent","width:0; height:0; overflow:hidden").appendTo(x),z=y.height()+T.height()+x.outerHeight(!0)-x.height(),D=b.width()+C.width()+x.outerWidth(!0)-x.width(),B=H.outerHeight(!0),N=H.outerWidth(!0),_.w=h(_.initialWidth,"x"),_.h=h(_.initialHeight,"y"),Q.position(),st&&E.bind("resize."+at+" scroll."+at,function(){w.css({width:E.width(),height:n(),top:E.scrollTop(),left:E.scrollLeft()})}).trigger("resize."+at),u(),c(tt,_.onOpen),K.add(W).hide(),P.html(_.close).show(),g.focus(),t.addEventListener&&(t.addEventListener("focus",a,!0),dt.one(rt,function(){t.removeEventListener("focus",a,!0)})),_.returnFocus&&dt.one(rt,function(){e(A).focus()})),Q.load(!0))}function p(){!g&&t.body&&(J=!1,E=e(i),g=o(ct).attr({id:Y,"class":lt?Z+(st?"IE6":"IE"):"",role:"dialog",tabindex:"-1"}).hide(),w=o(ct,"Overlay",st?"position:absolute":"").hide(),L=o(ct,"LoadingOverlay").add(o(ct,"LoadingGraphic")),v=o(ct,"Wrapper"),x=o(ct,"Content").append(W=o(ct,"Title"),M=o(ct,"Current"),R=o("button","Previous"),F=o("button","Next"),S=o("button","Slideshow"),L,P=o("button","Close")),v.append(o(ct).append(o(ct,"TopLeft"),y=o(ct,"TopCenter"),o(ct,"TopRight")),o(ct,!1,"clear:left").append(b=o(ct,"MiddleLeft"),x,C=o(ct,"MiddleRight")),o(ct,!1,"clear:left").append(o(ct,"BottomLeft"),T=o(ct,"BottomCenter"),o(ct,"BottomRight"))).find("div div").css({"float":"left"}),I=o(ct,!1,"position:absolute; width:9999px; visibility:hidden; display:none"),K=F.add(R).add(M).add(S),e(t.body).append(w,g.append(v,I)))}function m(){function i(e){e.which>1||e.shiftKey||e.altKey||e.metaKey||(e.preventDefault(),f(this))}return g?(J||(J=!0,F.click(function(){Q.next()}),R.click(function(){Q.prev()}),P.click(function(){Q.close()}),w.click(function(){_.overlayClose&&Q.close()}),e(t).bind("keydown."+Z,function(e){var t=e.keyCode;q&&_.escKey&&27===t&&(e.preventDefault(),Q.close()),q&&_.arrowKey&&k[1]&&!e.altKey&&
1148(37===t?(e.preventDefault(),R.click()):39===t&&(e.preventDefault(),F.click()))}),e.isFunction(e.fn.on)?e(t).on("click."+Z,"."+et,i):e("."+et).live("click."+Z,i)),!0):!1}var w,g,v,x,y,b,C,T,k,E,H,I,L,W,M,S,F,R,P,K,_,z,D,B,N,A,O,j,q,U,$,G,Q,X,J,V={transition:"elastic",speed:300,width:!1,initialWidth:"600",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:"450",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,inline:!1,html:!1,iframe:!1,fastIframe:!0,photo:!1,href:!1,title:!1,rel:!1,opacity:.9,preloading:!0,className:!1,retinaImage:!1,retinaUrl:!1,retinaSuffix:"@2x.$1",current:"image {current} of {total}",previous:"previous",next:"next",close:"close",xhrError:"This content failed to load.",imgError:"This image failed to load.",open:!1,returnFocus:!0,reposition:!0,loop:!0,slideshow:!1,slideshowAuto:!0,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",photoRegex:/\.(gif|png|jp(e|g|eg)|bmp|ico)((#|\?).*)?$/i,onOpen:!1,onLoad:!1,onComplete:!1,onCleanup:!1,onClosed:!1,overlayClose:!0,escKey:!0,arrowKey:!0,top:!1,bottom:!1,left:!1,right:!1,fixed:!1,data:void 0},Y="colorbox",Z="cbox",et=Z+"Element",tt=Z+"_open",it=Z+"_load",ot=Z+"_complete",nt=Z+"_cleanup",rt=Z+"_closed",ht=Z+"_purge",lt=!e.support.leadingWhitespace,st=lt&&!i.XMLHttpRequest,at=Z+"_IE6",dt=e({}),ct="div",ut=0;e.colorbox||(e(p),Q=e.fn[Y]=e[Y]=function(t,i){var o=this;if(t=t||{},p(),m()){if(e.isFunction(o))o=e("<a/>"),t.open=!0;else if(!o[0])return o;i&&(t.onComplete=i),o.each(function(){e.data(this,Y,e.extend({},e.data(this,Y)||V,t))}).addClass(et),(e.isFunction(t.open)&&t.open.call(o)||t.open)&&f(o[0])}return o},Q.position=function(e,t){function i(e){y[0].style.width=T[0].style.width=x[0].style.width=parseInt(e.style.width,10)-D+"px",x[0].style.height=b[0].style.height=C[0].style.height=parseInt(e.style.height,10)-z+"px"}var o,r,l,s=0,a=0,d=g.offset();E.unbind("resize."+Z),g.css({top:-9e4,left:-9e4}),r=E.scrollTop(),l=E.scrollLeft(),_.fixed&&!st?(d.top-=r,d.left-=l,g.css({position:"fixed"})):(s=r,a=l,g.css({position:"absolute"})),a+=_.right!==!1?Math.max(E.width()-_.w-N-D-h(_.right,"x"),0):_.left!==!1?h(_.left,"x"):Math.round(Math.max(E.width()-_.w-N-D,0)/2),s+=_.bottom!==!1?Math.max(n()-_.h-B-z-h(_.bottom,"y"),0):_.top!==!1?h(_.top,"y"):Math.round(Math.max(n()-_.h-B-z,0)/2),g.css({top:d.top,left:d.left,visibility:"visible"}),e=g.width()===_.w+N&&g.height()===_.h+B?0:e||0,v[0].style.width=v[0].style.height="9999px",o={width:_.w+N+D,height:_.h+B+z,top:s,left:a},0===e&&g.css(o),g.dequeue().animate(o,{duration:e,complete:function(){i(this),U=!1,v[0].style.width=_.w+N+D+"px",v[0].style.height=_.h+B+z+"px",_.reposition&&setTimeout(function(){E.bind("resize."+Z,Q.position)},1),t&&t()},step:function(){i(this)}})},Q.resize=function(e){q&&(e=e||{},e.width&&(_.w=h(e.width,"x")-N-D),e.innerWidth&&(_.w=h(e.innerWidth,"x")),H.css({width:_.w}
1148),e.height&&(_.h=h(e.height,"y")-B-z),e.innerHeight&&(_.h=h(e.innerHeight,"y")),e.innerHeight||e.height||(H.css({height:"auto"}),_.h=H.height()),H.css({height:_.h}),Q.position("none"===_.transition?0:_.speed))},Q.prep=function(t){function i(){return _.w=_.w||H.width(),_.w=_.mw&&_.mw<_.w?_.mw:_.w,_.w}function n(){return _.h=_.h||H.height(),_.h=_.mh&&_.mh<_.h?_.mh:_.h,_.h}if(q){var h,a="none"===_.transition?0:_.speed;H.empty().remove(),H=o(ct,"LoadedContent").append(t),H.hide().appendTo(I.show()).css({width:i(),overflow:_.scrolling?"auto":"hidden"}).css({height:n()}).prependTo(x),I.hide(),e(j).css({"float":"none"}),h=function(){function t(){lt&&g[0].style.removeAttribute("filter")}var i,n,h=k.length,d="frameBorder",u="allowTransparency";q&&(n=function(){clearTimeout(G),L.hide(),c(ot,_.onComplete)},lt&&j&&H.fadeIn(100),W.html(_.title).add(H).show(),h>1?("string"==typeof _.current&&M.html(_.current.replace("{current}",O+1).replace("{total}",h)).show(),F[_.loop||h-1>O?"show":"hide"]().html(_.next),R[_.loop||O?"show":"hide"]().html(_.previous),_.slideshow&&S.show(),_.preloading&&e.each([r(-1),r(1)],function(){var t,i,o=k[this],n=e.data(o,Y);n&&n.href?(t=n.href,e.isFunction(t)&&(t=t.call(o))):t=e(o).attr("href"),t&&l(n,t)&&(t=s(n,t),i=new Image,i.src=t)})):K.hide(),_.iframe?(i=o("iframe")[0],d in i&&(i[d]=0),u in i&&(i[u]="true"),_.scrolling||(i.scrolling="no"),e(i).attr({src:_.href,name:(new Date).getTime(),"class":Z+"Iframe",allowFullScreen:!0,webkitAllowFullScreen:!0,mozallowfullscreen:!0}).one("load",n).appendTo(H),dt.one(ht,function(){i.src="//about:blank"}),_.fastIframe&&e(i).trigger("load")):n(),"fade"===_.transition?g.fadeTo(a,1,t):t())},"fade"===_.transition?g.fadeTo(a,0,function(){Q.position(0,h)}):Q.position(a,h)}},Q.load=function(t){var n,r,a,u=Q.prep,f=++ut;U=!0,j=!1,A=k[O],t||d(),X&&g.add(w).removeClass(X),_.className&&g.add(w).addClass(_.className),X=_.className,c(ht),c(it,_.onLoad),_.h=_.height?h(_.height,"y")-B-z:_.innerHeight&&h(_.innerHeight,"y"),_.w=_.width?h(_.width,"x")-N-D:_.innerWidth&&h(_.innerWidth,"x"),_.mw=_.w,_.mh=_.h,_.maxWidth&&(_.mw=h(_.maxWidth,"x")-N-D,_.mw=_.w&&_.w<_.mw?_.w:_.mw),_.maxHeight&&(_.mh=h(_.maxHeight,"y")-B-z,_.mh=_.h&&_.h<_.mh?_.h:_.mh),n=_.href,G=setTimeout(function(){L.show()},100),_.inline?(a=o(ct).hide().insertBefore(e(n)[0]),dt.one(ht,function(){a.replaceWith(H.children())}),u(e(n))):_.iframe?u(" "):_.html?u(_.html):l(_,n)?(n=s(_,n),e(j=new Image).addClass(Z+"Photo").bind("error",function(){_.title=!1,u(o(ct,"Error").html(_.imgError))}).one("load",function(){var e;f===ut&&(_.retinaImage&&i.devicePixelRatio>1&&(j.height=j.height/i.devicePixelRatio,j.width=j.width/i.devicePixelRatio),_.scalePhotos&&(r=function(){j.height-=j.height*e,j.width-=j.width*e},_.mw&&j.width>_.mw&&(e=(j.width-_.mw)/j.width,r()),_.mh&&j.height>_.mh&&(e=(j.height-_.mh)/j.height,r())),_.h&&(j.style.marginTop=Math.max(_.mh-j.height,0)/2+"px"),k[1]&&(_.loop||k[O+1])&&(j.style.cursor="pointer",j.onclick=function(){Q.next()}),lt&&(j.style.msInterpolationMode="bicubic"),setTimeout(function(){u(j)},1))}),setTimeout(function(){j.src=n},1)):n&&I.load(n,_.data,function(t,i){f===ut&&u("error"===i?o(ct,"Error").html(_.xhrError):e(this).contents())})},Q.next=function(){!U&&k[1]&&(_.loop||k[O+1])&&(O=r(1),Q.load())},Q.prev=function(){!U&&k[1]&&(_.loop||O)&&(O=r(-1),Q.load())},Q.close=function(){q&&!$&&($=!0,q=!1,c(nt,_.onCleanup),E.unbind("."+Z+" ."+at),w.fadeTo(200,0),g.stop().fadeTo(300,0,function(){g.add(w).css({opacity:1,cursor:"auto"}).hide(),c(ht),H.empty().remove(),setTimeout(function(){$=!1,c(rt,_.onClosed)},1)}))},Q.remove=function(){e([]).add(g).add(w).remove(),g=null,e("."+et).removeData(Y).removeClass(et),e(t).unbind("click."+Z)},Q.element=function(){return e(A)},Q.settings=V)})(jQuery,document,window);
1149
1150;(function(e){function t(){var e=document.createElement("input"),t="onpaste";return e.setAttribute(t,""),"function"==typeof e[t]?"paste":"input"}var n,a=t()+".mask",r=navigator.userAgent,i=/iphone/i.test(r),o=/android/i.test(r);e.mask={definitions:{9:"[0-9]",a:"[A-Za-z]","*":"[A-Za-z0-9]"},dataName:"rawMaskFn",placeholder:"_"},e.fn.extend({caret:function(e,t){var n;if(0!==this.length&&!this.is(":hidden"))return"number"==typeof e?(t="number"==typeof t?t:e,this.each(function(){this.setSelectionRange?this.setSelectionRange(e,t):this.createTextRange&&(n=this.createTextRange(),n.collapse(!0),n.moveEnd("character",t),n.moveStart("character",e),n.select())})):(this[0].setSelectionRange?(e=this[0].selectionStart,t=this[0].selectionEnd):document.selection&&document.selection.createRange&&(n=document.selection.createRange(),e=0-n.duplicate().moveStart("character",-1e5),t=e+n.text.length),{begin:e,end:t})},unmask:function(){return this.trigger("unmask")},mask:function(t,r){var c,l,s,u,f,h;return!t&&this.length>0?(c=e(this[0]),c.data(e.mask.dataName)()):(r=e.extend({placeholder:e.mask.placeholder,completed:null},r),l=e.mask.definitions,s=[],u=h=t.length,f=null,e.each(t.split(""),function(e,t){"?"==t?(h--,u=e):l[t]?(s.push(RegExp(l[t])),null===f&&(f=s.length-1)):s.push(null)}),this.trigger("unmask").each(function(){function c(e){for(;h>++e&&!s[e];);return e}function d(e){for(;--e>=0&&!s[e];);return e}function m(e,t){var n,a;if(!(0>e)){for(n=e,a=c(t);h>n;n++)if(s[n]){if(!(h>a&&s[n].test(R[a])))break;R[n]=R[a],R[a]=r.placeholder,a=c(a)}b(),x.caret(Math.max(f,e))}}function p(e){var t,n,a,i;for(t=e,n=r.placeholder;h>t;t++)if(s[t]){if(a=c(t),i=R[t],R[t]=n,!(h>a&&s[a].test(i)))break;n=i}}function g(e){var t,n,a,r=e.which;8===r||46===r||i&&127===r?(t=x.caret(),n=t.begin,a=t.end,0===a-n&&(n=46!==r?d(n):a=c(n-1),a=46===r?c(a):a),k(n,a),m(n,a-1),e.preventDefault()):27==r&&(x.val(S),x.caret(0,y()),e.preventDefault())}function v(t){var n,a,i,l=t.which,u=x.caret();t.ctrlKey||t.altKey||t.metaKey||32>l||l&&(0!==u.end-u.begin&&(k(u.begin,u.end),m(u.begin,u.end-1)),n=c(u.begin-1),h>n&&(a=String.fromCharCode(l),s[n].test(a)&&(p(n),R[n]=a,b(),i=c(n),o?setTimeout(e.proxy(e.fn.caret,x,i),0):x.caret(i),r.completed&&i>=h&&r.completed.call(x))),t.preventDefault())}function k(e,t){var n;for(n=e;t>n&&h>n;n++)s[n]&&(R[n]=r.placeholder)}function b(){x.val(R.join(""))}function y(e){var t,n,a=x.val(),i=-1;for(t=0,pos=0;h>t;t++)if(s[t]){for(R[t]=r.placeholder;pos++<a.length;)if(n=a.charAt(pos-1),s[t].test(n)){R[t]=n,i=t;break}if(pos>a.length)break}else R[t]===a.charAt(pos)&&t!==u&&(pos++,i=t);return e?b():u>i+1?(x.val(""),k(0,h)):(b(),x.val(x.val().substring(0,i+1))),u?t:f}var x=e(this),R=e.map(t.split(""),function(e){return"?"!=e?l[e]?r.placeholder:e:void 0}),S=x.val();x.data(e.mask.dataName,function(){return e.map(R,function(e,t){return s[t]&&e!=r.placeholder?e:null}).join("")}),x.attr("readonly")||x.one("unmask",function(){x.unbind(".mask").removeData(e.mask.dataName)}).bind("focus.mask",function(){clearTimeout(n);var e;S=x.val(),e=y(),n=setTimeout(function(){b(),e==t.length?x.caret(0,e):x.caret(e)},10)}).bind("blur.mask",function(){y(),x.val()!=S&&x.change()}).bind("keydown.mask",g).bind("keypress.mask",v).bind(a,function(){setTimeout(function(){var e=y(!0);x.caret(e),r.completed&&e==x.val().length&&r.completed.call(x)},0)}),y()}))}})})(jQuery);
1151;!function(e){"use strict";e(function(){e.support.transition=function(){var e=function(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},n;for(n in t)if(e.style[n]!==undefined)return t[n]}();return e&&{end:e}}()})}(window.jQuery),!function(e){"use strict";var t='[data-dismiss="alert"]',n=function(n){e(n).on("click",t,this.close)};n.prototype.close=function(t){function s(){i.trigger("closed").remove()}var n=e(this),r=n.attr("data-target"),i;r||(r=n.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,"")),i=e(r),t&&t.preventDefault(),i.length||(i=n.hasClass("alert")?n:n.parent()),i.trigger(t=e.Event("close"));if(t.isDefaultPrevented())return;i.removeClass("in"),e.support.transition&&i.hasClass("fade")?i.on(e.support.transition.end,s):s()};var r=e.fn.alert;e.fn.alert=function(t){return this.each(function(){var r=e(this),i=r.data("alert");i||r.data("alert",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.alert.Constructor=n,e.fn.alert.noConflict=function(){return e.fn.alert=r,this},e(document).on("click.alert.data-api",t,n.prototype.close)}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.button.defaults,n)};t.prototype.setState=function(e){var t="disabled",n=this.$element,r=n.data(),i=n.is("input")?"val":"html";e+="Text",r.resetText||n.data("resetText",n[i]()),n[i](r[e]||this.options[e]),setTimeout(function(){e=="loadingText"?n.addClass(t).attr(t,t):n.removeClass(t).removeAttr(t)},0)},t.prototype.toggle=function(){var e=this.$element.closest('[data-toggle="buttons-radio"]');e&&e.find(".active").removeClass("active"),this.$element.toggleClass("active")};var n=e.fn.button;e.fn.button=function(n){return this.each(function(){var r=e(this),i=r.data("button"),s=typeof n=="object"&&n;i||r.data("button",i=new t(this,s)),n=="toggle"?i.toggle():n&&i.setState(n)})},e.fn.button.defaults={loadingText:"loading..."},e.fn.button.Constructor=t,e.fn.button.noConflict=function(){return e.fn.button=n,this},e(document).on("click.button.data-api","[data-toggle^=button]",function(t){var n=e(t.target);n.hasClass("btn")||(n=n.closest(".btn")),n.button("toggle")})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=n,this.options.pause=="hover"&&this.$element.on("mouseenter",e.proxy(this.pause,this)).on("mouseleave",e.proxy(this.cycle,this))};t.prototype={cycle:function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},getActiveIndex:function(){return this.$active=this.$element.find(".
1151item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},to:function(t){var n=this.getActiveIndex(),r=this;if(t>this.$items.length-1||t<0)return;return this.sliding?this.$element.one("slid",function(){r.to(t)}):n==t?this.pause().cycle():this.slide(t>n?"next":"prev",e(this.$items[t]))},pause:function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition.end&&(this.$element.trigger(e.support.transition.end),this.cycle()),clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},slide:function(t,n){var r=this.$element.find(".item.active"),i=n||r[t](),s=this.interval,o=t=="next"?"left":"right",u=t=="next"?"first":"last",a=this,f;this.sliding=!0,s&&this.pause(),i=i.length?i:this.$element.find(".item")[u](),f=e.Event("slide",{relatedTarget:i[0],direction:o});if(i.hasClass("active"))return;this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var t=e(a.$indicators.children()[a.getActiveIndex()]);t&&t.addClass("active")}));if(e.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(f);if(f.isDefaultPrevented())return;i.addClass(t),i[0].offsetWidth,r.addClass(o),i.addClass(o),this.$element.one(e.support.transition.end,function(){i.removeClass([t,o].join(" ")).addClass("active"),r.removeClass(["active",o].join(" ")),a.sliding=!1,setTimeout(function(){a.$element.trigger("slid")},0)})}else{this.$element.trigger(f);if(f.isDefaultPrevented())return;r.removeClass("active"),i.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return s&&this.cycle(),this}};var n=e.fn.carousel;e.fn.carousel=function(n){return this.each(function(){var r=e(this),i=r.data("carousel"),s=e.extend({},e.fn.carousel.defaults,typeof n=="object"&&n),o=typeof n=="string"?n:s.slide;i||r.data("carousel",i=new t(this,s)),typeof n=="number"?i.to(n):o?i[o]():s.interval&&i.pause().cycle()})},e.fn.carousel.defaults={interval:5e3,pause:"hover"},e.fn.carousel.Constructor=t,e.fn.carousel.noConflict=function(){return e.fn.carousel=n,this},e(document).on("click.carousel.data-api","[data-slide], [data-slide-to]",function(t){var n=e(this),r,i=e(n.attr("data-target")||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,"")),s=e.extend({},i.data(),n.data()),o;i.carousel(s),(o=n.attr("data-slide-to"))&&i.data("carousel").pause().to(o).cycle(),t.preventDefault()})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.collapse.defaults,n),this.options.parent&&(this.$parent=e(this.options.parent)),this.options.toggle&&this.toggle()};t.prototype={constructor:t,dimension:function(){var e=this.$element.hasClass("width");return e?"width":"height"},show:function(){var t,n,r,i;if(this.transitioning||this.$element.hasClass("in"))return;t=this.dimension(),n=e.camelCase(["scroll",t].join("-")),r=this.$parent&&this.$parent.find("> .accordion-group > .in");if(r&&r.length){i=r.data("collapse");if(i&&i.transitioning)return;r.collapse("hide"),i||r.data("collapse",null)}this.$element[t](0),this.transition("addClass",e.Event("show"),"shown"),e.support.transition&&this.$element[t](this.$element[0][n])},hide:function(){var t;if(this.transitioning||!this.$element.hasClass("in"))return;t=this.dimension(),this.reset(this.$element[t]()),this.transition("removeClass",e.Event("hide"),"hidden"),this.$element[t](0)},reset:function(e){var t=this.dimension();return this.$element.removeClass("collapse")[t](e||"auto")[0].offsetWidth,this.$element[e!==null?"addClass":"removeClass"]("collapse"),this},transition:function(t,n,r){var i=this,s=function(){n.type=="show"&&i.reset(),i.transitioning=0,i.$element.trigger(r)};this.$element.trigger(n);if(n.isDefaultPrevented())return;this.transitioning=1,this.$element[t]("in"),e.support.transition&&this.$element.hasClass("collapse")?this.$element.one(e.support.transition.end,s):s()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}};var n=e.fn.collapse;e.fn.collapse=function(n){return this.each(function(){var r=e(this),i=r.data("collapse"),s=e.extend({},e.fn.collapse.defaults,r.data(),typeof n=="object"&&n);i||r.data("collapse",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.collapse.defaults={toggle:!0},e.fn.collapse.Constructor=t,e.fn.collapse.noConflict=function(){return e.fn.collapse=n,this},e(document).on("click.collapse.data-api","[data-toggle=collapse]",function(t){var n=e(this),r,i=n.attr("data-target")||t.preventDefault()||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,""),s=e(i).data("c
1151ollapse")?"toggle":n.data();n[e(i).hasClass("in")?"addClass":"removeClass"]("collapsed"),e(i).collapse(s)})}(window.jQuery),!function(e){"use strict";function r(){e(t).each(function(){i(e(this)).removeClass("open")})}function i(t){var n=t.attr("data-target"),r;n||(n=t.attr("href"),n=n&&/#/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,"")),r=n&&e(n);if(!r||!r.length)r=t.parent();return r}var t="[data-toggle=dropdown]",n=function(t){var n=e(t).on("click.dropdown.data-api",this.toggle);e("html").on("click.dropdown.data-api",function(){n.parent().removeClass("open")})};n.prototype={constructor:n,toggle:function(t){var n=e(this),s,o;if(n.is(".disabled, :disabled"))return;return s=i(n),o=s.hasClass("open"),r(),o||s.toggleClass("open"),n.focus(),!1},keydown:function(n){var r,s,o,u,a,f;if(!/(38|40|27)/.test(n.keyCode))return;r=e(this),n.preventDefault(),n.stopPropagation();if(r.is(".disabled, :disabled"))return;u=i(r),a=u.hasClass("open");if(!a||a&&n.keyCode==27)return n.which==27&&u.find(t).focus(),r.click();s=e("[role=menu] li:not(.divider):visible a",u);if(!s.length)return;f=s.index(s.filter(":focus")),n.keyCode==38&&f>0&&f--,n.keyCode==40&&f<s.length-1&&f++,~f||(f=0),s.eq(f).focus()}};var s=e.fn.dropdown;e.fn.dropdown=function(t){return this.each(function(){var r=e(this),i=r.data("dropdown");i||r.data("dropdown",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.dropdown.Constructor=n,e.fn.dropdown.noConflict=function(){return e.fn.dropdown=s,this},e(document).on("click.dropdown.data-api",r).on("click.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on(".dropdown-menu",function(e){e.stopPropagation()}).on("click.dropdown.data-api",t,n.prototype.toggle).on("keydown.dropdown.data-api",t+", [role=menu]",n.prototype.keydown)}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=n,this.$element=e(t).delegate('[data-dismiss="modal"]',"click.dismiss.modal",e.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};t.prototype={constructor:t,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var t=this,n=e.Event("show");this.$element.trigger(n);if(this.isShown||n.isDefaultPrevented())return;this.isShown=!0,this.escape(),this.backdrop(function(){var n=e.support.transition&&t.$element.hasClass("fade");t.$element.parent().length||t.$element.appendTo(document.body),t.$element.show(),n&&t.$element[0].offsetWidth,t.$element.addClass("in").attr("aria-hidden",!1),t.enforceFocus(),n?t.$element.one(e.support.transition.end,function(){t.$element.focus().trigger("shown")}):t.$element.focus().trigger("shown")})},hide:function(t){t&&t.preventDefault();var n=this;t=e.Event("hide"),this.$element.trigger(t);if(!this.isShown||t.isDefaultPrevented())return;this.isShown=!1,this.escape(),e(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),e.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal()},enforceFocus:function(){var t=this;e(document).on("focusin.modal",function(e){t.$element[0]!==e.target&&!t.$element.has(e.target).length&&t.$element.focus()})},escape:function(){var e=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(t){t.which==27&&e.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var t=this,n=setTimeout(function(){t.$element.off(e.support.transition.end),t.hideModal()},500);this.$element.one(e.support.transition.end,function(){clearTimeout(n),t.hideModal()})},hideModal:function(){var e=this;this.$element.hide(),this.backdrop(function(){e.removeBackdrop(),e.$element.trigger("hidden")})},removeBackdrop:function(){this.$backdrop.remove(),this.$backdrop=null},backdrop:function(t){var n=this,r=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var i=e.support.transition&&r;this.$backdrop=e('<div class="modal-backdrop '+r+'" />').appendTo(document.body),this.$backdrop.click(this.options.backdrop=="static"?e.proxy(this.$element[0].focus,this.$element[0]):e.proxy(this.hide,this)),i&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in");if(!t)return;i?this.$backdrop.one(e.support.transition.end,t):t()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(e.support.transition.end,t):t()):t&&t()}};var n=e.fn.modal;e.fn.modal=function(n){return this.each(function(){var r=e(this),i=r.data("modal"),s=e.extend({},e.fn.modal.defaults,r.data(),typeof n=="object"&&n);i||r.data("modal",i=new t(this,s)),typeof n=="string"?i[n]():s.show&&i.show()})},e.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},e.fn.modal.Constructor=t,e.fn.modal.noConflict=function(){return e.fn.modal=n,this},e(document).on("click.modal.data-api",'[data-toggle="modal"]',function(t){var n=e(this),r=n.attr("href"),i=e(n.attr("data-target")||r&&r.replace(/.*(?=#[^\s]+$)/,"")),s=i.data("modal")?"toggle":e.extend({remote:!/#/.test(r)&&r},i.data(),n.data());t.preventDefault(),i.modal(s).one("hide",function(){n.focus()})})}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("tooltip",e,t)};t.prototype={constructor:t,init:function(t,n,r){var i,s,o,u,a;this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.enabled=!0,o=this.options.trigger.split(" ");for(a=o.length;a--;)u=o[a],u=="click"?this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this)):u!="manual"&&(i=u=="hover"?"mouseenter":"focus",s=u=="hover"?"mouseleave":"blur",this.$element.on(i+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.leave,this)));this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(t){return t=e.extend({},e.fn[this.type].defaults,this.$element.data(),t),t.delay&&typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),t}
1151,enter:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);if(!n.options.delay||!n.options.delay.show)return n.show();clearTimeout(this.timeout),n.hoverState="in",this.timeout=setTimeout(function(){n.hoverState=="in"&&n.show()},n
vendor: 14,469 bytes, line 1151
1151.options.delay.show)},leave:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!n.options.delay||!n.options.delay.hide)return n.hide();n.hoverState="out",this.timeout=setTimeout(function(){n.hoverState=="out"&&n.hide()},n.options.delay.hide)},show:function(){var t,n,r,i,s,o,u=e.Event("show");if(this.hasContent()&&this.enabled){this.$element.trigger(u);if(u.isDefaultPrevented())return;t=this.tip(),this.setContent(),this.options.animation&&t.addClass("fade"),s=typeof this.options.placement=="function"?this.options.placement.call(this,t[0],this.$element[0]):this.options.placement,t.detach().css({top:0,left:0,display:"block"}),this.options.container?t.appendTo(this.options.container):t.insertAfter(this.$element),n=this.getPosition(),r=t[0].offsetWidth,i=t[0].offsetHeight;switch(s){case"bottom":o={top:n.top+n.height,left:n.left+n.width/2-r/2};break;case"top":o={top:n.top-i,left:n.left+n.width/2-r/2};break;case"left":o={top:n.top+n.height/2-i/2,left:n.left-r};break;case"right":o={top:n.top+n.height/2-i/2,left:n.left+n.width}}this.applyPlacement(o,s),this.$element.trigger("shown")}},applyPlacement:function(e,t){var n=this.tip(),r=n[0].offsetWidth,i=n[0].offsetHeight,s,o,u,a;n.offset(e).addClass(t).addClass("in"),s=n[0].offsetWidth,o=n[0].offsetHeight,t=="top"&&o!=i&&(e.top=e.top+i-o,a=!0),t=="bottom"||t=="top"?(u=0,e.left<0&&(u=e.left*-2,e.left=0,n.offset(e),s=n[0].offsetWidth,o=n[0].offsetHeight),this.replaceArrow(u-r+s,s,"left")):this.replaceArrow(o-i,o,"top"),a&&n.offset(e)},replaceArrow:function(e,t,n){this.arrow().css(n,e?50*(1-e/t)+"%":"")},setContent:function(){var e=this.tip(),t=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](t),e.removeClass("fade in top bottom left right")},hide:function(){function i(){var t=setTimeout(function(){n.off(e.support.transition.end).detach()},500);n.one(e.support.transition.end,function(){clearTimeout(t),n.detach()})}var t=this,n=this.tip(),r=e.Event("hide");this.$element.trigger(r);if(r.isDefaultPrevented())return;return n.removeClass("in"),e.support.transition&&this.$tip.hasClass("fade")?i():n.detach(),this.$element.trigger("hidden"),this},fixTitle:function(){var e=this.$element;(e.attr("title")||typeof e.attr("data-original-title")!="string")&&e.attr("data-original-title",e.attr("title")||"").attr("title","")},hasContent:function(){return this.getTitle()},getPosition:function(){var t=this.$element[0];return e.extend({},typeof t.getBoundingClientRect=="function"?t.getBoundingClientRect():{width:t.offsetWidth,height:t.offsetHeight},this.$element.offset())},getTitle:function(){var e,t=this.$element,n=this.options;return e=t.attr("data-original-title")||(typeof n.title=="function"?n.title.call(t[0]):n.title),e},tip:function(){return this.$tip=this.$tip||e(this.options.template)},arrow:function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(t){var n=t?e(t.currentTarget)[this.type](this._options).data(this.type):this;n.tip().hasClass("in")?n.hide():n.show()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var n=e.fn.tooltip;e.fn.tooltip=function(n){return this.each(function(){var r=e(this),i=r.data("tooltip"),s=typeof n=="object"&&n;i||r.data("tooltip",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.tooltip.Constructor=t,e.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},e.fn.tooltip.noConflict=function(){return e.fn.tooltip=n,this}}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("popover",e,t)};t.prototype=e.extend({},e.fn.tooltip.Constructor.prototype,{constructor:t,setContent:function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content")[this.options.html?"html":"text"](n),e.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,t=this.$element,n=this.options;return e=(typeof n.content=="function"?n.content.call(t[0]):n.content)||t.attr("data-content"),e},tip:function(){return this.$tip||(this.$tip=e(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}});var n=e.fn.popover;e.fn.popover=function(n){return this.each(function(){var r=e(this),i=r.data("popover"),s=typeof n=="object"&&n;i||r.data("popover",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.popover.Constructor=t,e.fn.popover.defaults=e.extend({},e.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),e.fn.popover.noConflict=function(){return e.fn.popover=n,this}}(window.jQuery),!function(e){"use strict";function t(t,n){var r=e.proxy(this.process,this),i=e(t).is("body")?e(window):e(t),s;this.options=e.extend({},e.fn.scrollspy.defaults,n),this.$scrollElement=i.on("scroll.scroll-spy.data-api",r),this.selector=(this.options.target||(s=e(t).attr("href"))&&s.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.$body=e("body"),this.refresh(),this.process()}t.prototype={constructor:t,refresh:function(){var t=this,n;this.offsets=e([]),this.targets=e([]),n=this.$body.find(this.selector).map(function(){var n=e(this),r=n.data("target")||n.attr("href"),i=/^#\w/.test(r)&&e(r);return i&&i.length&&[[i.position().top+(!e.isWindow(t.$scrollElement.get(0))&&t.$scrollElement.scrollTop()),r]]||null}).sort(function(e,t){return e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},process:function(){var e=this.$scrollElement.scrollTop()+this.options.offset,t=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,n=t-this.$scrollElement.height(),r=this.offsets,i=this.targets,s=this.activeTarget,o;if(e>=n)return s!=(o=i.last()[0])&&this.activate(o);for(o=r.length;o--;)s!=i[o]&&e>=r[o]&&(!r[o+1]||e<=r[o+1])&&this.activate(i[o])},activate:function(t){var n,r;this.activeTarget=t,e(this.selector).parent(".active").removeClass("active"),r=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',n=e(r).parent("li").addClass("active"),n.parent(".dropdown-menu").length&&(n=n.closest("li.dropdown").addClass("active")),n.trigger("activate")}};var n=e.fn.scrollspy;e.fn.scrollspy=function(n){return this.each(function(){var r=e(this),i=r.data("scrollspy"),s=typeof n=="object"&&n;i||r.data("scrollspy",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.scrollspy.Constructor=t,e.fn.scrollspy.defaults={offset:10},e.fn.scrollspy.noConflict=function(){return e.fn.scrollspy=n,this},e(window).on("load",function(){e('[data-spy="scroll"]').each(function(){var t=e(this);t.scrollspy(t.data())})})}(window.jQuery),!function(e){"use strict";var t=function(t){this.element=e(t)};t.prototype={constructor:t,show:function(){var t=this.element,n=t.closest("ul:not(.dropdown-menu)"),r=t.attr("data-target"),i,s,o;r||(r=t.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,""));if(t.parent("li").hasClass("active"))return;i=n.find(".active:last a")[0],o=e.Event("show",{relatedTarget:i}),t.trigger(o);if(o.isDefaultPrevented())return;s=e(r),this.activate(t.parent("li"),n),this.activate(s,s.parent(),function(){t.trigger({type:"shown",relatedTarget:i})})},activate:function(t,n,r){function o(){i.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),t.addClass("active"),s?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu")&&t.closest("li.dropdown").addClass("active"),r&&r()}var i=n.find("> .active"),s=r&&e.support.transition&&i.hasClass("fade");s?i.one(e.support.transition.end,o):o(),i.removeClass("in")}};var n=e.fn.tab;e.fn.tab=function(n){return this.each(function(){var r=e(this),i=r.data("tab");i||r.data("tab",i=new t(this)),typeof n=="string"&&i[n]()})},e.fn.tab.Constructor=t,e.fn.tab.noConflict=function(){return e.fn.tab=n,this},e(document).on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(t){t.preventDefault(),e(this).tab("show")})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.typeahead.defaults,n),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.source=this.options.source,this.$menu=e(this.options.menu),this.shown=!1,this.listen()};t.prototype={constructor:t,select:function(){var e=this.$menu.find(".active").attr("data-value");return this.$element.val(this.updater(e)).change(),this.hide()},updater:function(e){return e},show:function(){var t=e.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});return this.$menu.insertAfter(this.$element).css({top:t.top+t.height,left:t.left}).show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(t){var n;return this.query=this.$element.val(),!this.query||this.query.length<this.options.minLength?this.shown?this.hide():this:(n=e.isFunction(this.source)?this.source(this.query,e.proxy(this.process,this)):this.source,n?this.process(n):this)},process:function(t){var n=this;return t=e.grep(t,function(e){return n.matcher(e)}),t=this.sorter(t),t.length?this.render(t.slice(0,this.options.items)).show():this.shown?this.hide():this},matcher:function(e){return~e.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(e){var t=[],n=[],r=[],i;while(i=e.shift())i.toLowerCase().indexOf(this.query.toLowerCase())?~i.indexOf(this.query)?n.push(i):r.push(i):t.push(i);return t.concat(n,r)},highlighter:function(e){var t=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");return e.replace(new RegExp("("+t+")","ig"),function(e,t){return"<strong>"+t+"</strong>"})},render:function(t){var n=this;return t=e(t).map(function(t,r){return t=e(n.options.item).attr("data-value",r),t.find("a").html(n.highlighter(r)),t[0]}),t.first().addClass("active"),this.$menu.html(t),this},next:function(t){var n=this.$menu.find(".active").removeClass("active"),r=n.next();r.length||(r=e(this.$menu.find("li")[0])),r.addClass("active")},prev:function(e){var t=this.$menu.find(".active").removeClass("active"),n=t.prev();n.length||(n=this.$menu.find("li").last()),n.addClass("active")},listen:function(){this.$element.on("focus",e.proxy(this.focus,this)).on("blur",e.proxy(this.blur,this)).on("keypress",e.proxy(this.keypress,this)).on("keyup",e.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",e.proxy(this.keydown,this)),this.$menu.on("click",e.proxy(this.click,this)).on("mouseenter","li",e.proxy(this.mouseenter,this)).on("mouseleave","li",e.proxy(this.mouseleave,this))},eventSupported:function(e){var t=e in this.$element;return t||(this.$element.setAttribute(e,"return;"),t=typeof this.$element[e]=="function"),t},move:function(e){if(!this.shown)return;switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),this.prev();break;case 40:e.preventDefault(),this.next()}e.stopPropagation()},keydown:function(t){this.suppressKeyPressRepeat=~e.inArray(t.keyCode,[40,38,9,13,27]),this.move(t)},keypress:function(e){if(this.suppressKeyPressRepeat)return;this.move(e)},keyup:function(e){switch(e.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}e.stopPropagation(),e.preventDefault()},focus:function(e){this.focused=!0},blur:function(e){this.focused=!1,!this.mousedover&&this.shown&&this.hide()},click:function(e){e.stopPropagation(),e.preventDefault(),this.select(),this.$element.focus()},mouseenter:function(t){this.mousedover=!0,this.$menu.find(".active").removeClass("active"),e(t.currentTarget).addClass("active")},mouseleave:function(e){this.mousedover=!1,!this.focused&&this.shown&&this.hide()}};var n=e.fn.typeahead;e.fn.typeahead=function(n){return this.each(function(){var r=e(this),i=r.data("typeahead"),s=typeof n=="object"&&n;i||r.data("typeahead",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.typeahead.defaults={source:[],items:8,menu:'<ul class="typeahead dropdown-menu"></ul>',item:'<li><a href="#"></a></li>',minLength:1},e.fn.typeahead.Constructor=t,e.fn.typeahead.noConflict=function(){return e.fn.typeahead=n,this},e(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(t){var n=e(this);if(n.data("typeahead"))return;n.typeahead(n.data())})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=e.extend({},e.fn.affix.defaults,n),this.$window=e(window).on("scroll.affix.data-api",e.proxy(this.checkPosition,this)).on("click.affix.data-api",e.proxy(function(){setTimeout(e.proxy(this.checkPosition,this),1)},this)),this.$element=e(t),this.checkPosition()};t.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var t=e(document).height(),n=this.$window.scrollTop(),r=this.$element.offset(),i=this.options.offset,s=i.bottom,o=i.top,u="affix affix-top affix-bottom",a;typeof i!="object"&&(s=o=i),typeof o=="function"&&(o=i.top()),typeof s=="function"&&(s=i.bottom()),a=this.unpin!=null&&n+this.unpin<=r.top?!1:s!=null&&r.top+this.$element.height()>=t-s?"bottom":o!=null&&n<=o?"top":!1;if(this.affixed===a)return;this.affixed=a,this.unpin=a=="bottom"?r.top-n:null,this.$element.removeClass(u).addClass("affix"+(a?"-"+a:""))};var n=e.fn.affix;e.fn.affix=function(n){return this.each(function(){var r=e(this),i=r.data("affix"),s=typeof n=="object"&&n;i||r.data("affix",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.affix.Constructor=t,e.fn.affix.defaults={offset:0},e.fn.affix.noConflict=function(){return e.fn.affix=n,this},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var t=e(this),n=t.data();n.offset=n.offset||{},n.offsetBottom&&(n.offset.bottom=n.offsetBottom),n.offsetTop&&(n.offset.top=n.offsetTop),t.affix(n)})})}(window.jQuery);
1151
1152;!function($){"use strict";var Tab=function(element){this.element=$(element)}
1153Tab.prototype={constructor:Tab,show:function(){var $this=this.element,$ul=$this.closest('ul:not(.dropdown-menu)'),selector=$this.attr('data-target'),previous,$target,e
1154if(!selector){selector=$this.attr('href')
1155selector=selector&&selector.replace(/.*(?=#[^\s]*$)/,'')}
1156if($this.parent('li').hasClass('active'))return
1157previous=$ul.find('.active:last a')[0]
1158e=$.Event('show',{relatedTarget:previous})
1159$this.trigger(e)
1160if(e.isDefaultPrevented())return
1161$target=$(selector)
1162this.activate($this.parent('li'),$ul)
1163this.activate($target,$target.parent(),function(){$this.trigger({type:'shown',relatedTarget:previous})})},activate:function(element,container,callback){var $active=container.find('> .active'),transition=callback&&$.support.transition&&$active.hasClass('fade')
1164function next(){$active.removeClass('active').find('> .dropdown-menu > .active').removeClass('active')
1165element.addClass('active')
1166if(transition){element[0].offsetWidth
1167element.addClass('in')}else{element.removeClass('fade')}
1168if(element.parent('.dropdown-menu')){element.closest('li.dropdown').addClass('active')}
1169callback&&callback()}
1170transition?$active.one($.support.transition.end,next):next()
1171$active.removeClass('in')}}
1172var old=$.fn.tab
1173$.fn.tab=function(option){return this.each(function(){var $this=$(this),data=$this.data('tab')
1174if(!data)$this.data('tab',(data=new Tab(this)))
1175if(typeof option=='string')data[option]()})}
1176$.fn.tab.Constructor=Tab
1177$.fn.tab.noConflict=function(){$.fn.tab=old
1178return this}
1179$(document).on('click.tab.data-api','[data-toggle="tab"], [data-toggle="pill"]',function(e){e.preventDefault()
1180$(this).tab('show')})}(window.jQuery);;(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,figcaption,figure,footer,header,hgroup,nav,section{dis
vendor: 13,724 bytes, lines 1180-1602
1180play:block}mark{background:#FF0;color:#000}</style>";c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",version:"3.6.2pre",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);
1181
1182
1183/*  var self;
1184
1185  self._saveCookie = function(key, value)
1186	{
1187		$.cookie(key, value,
1188		{
1189			expires: 1,
1190			path: "/",
1191			domain: '65050.ru'
1192		});
1193	};
1194	
1195  self._delCookie = function(key)
1196	{
1197		$.cookie(key, null,
1198		{
1199			expires: -1000,
1200			path: "/",
1201			domain: '65050.ru'
1202		});
1203  };
1204
1205function switchCommand(command, action) {
1206	switch (command) {
1207		case 'companyInfo':
1208			companyInfo();
1209			break
1210		case 'statistic':
1211			statistic();
1212			break
1213		case 'setCompanyInfo':
1214			setCompanyInfo();
1215			break
1216		case 'telephons':
1217			telephons();
1218			break
1219		case 'stuff':
1220			stuff();
1221			break
1222		case 'setTelephons':
1223			setTelephons(action);
1224			break
1225			stuff();
1226			break
1227		case 'setStuff':
1228			setStuff (action);
1229			break
1230		case 'getLegalTariff':
1231			getLegalTariff ();
1232			break
1233		case 'callLegalCost':
1234			callLegalCost ();
1235			break
1236		case 'createLegalOrder':
1237			createLegalOrder ();
1238			break
1239		case 'getLegalOrderInfo':
1240			getLegalOrderInfo ();
1241			break
1242		case 'change':
1243			change ();
1244			break
1245		default:
1246			console.log('switchCommand: не выбрана команда');
1247			break
1248	}
1249}
1250
1251function ping(command, action) {
1252	var bping = false;
1253	var client;
1254	var company = $.cookie('company');
1255	if (company !== undefined && company !== '' || company != null) {
1256    self._saveCookie('company', company);
1257			
1258		$('#login_form').hide();
1259		$('#logout_form').show();
1260			
1261		$('#cabinet').show(); 
1262
1263		var ping = new TaxiMethod();
1264		ping.name = 'pingId';
1265		client = new TaxiClient();
1266		client.executeQuery(ping);
1267		ping.successCallback = function(result) {
1268			if (result) {
1269				bping = true;
1270			}
1271			else {
1272				bping = false;
1273			}
1274			if (!bping) {
1275				console.log('Время сессии истекло!');
1276			}
1277			else {
1278				switchCommand(command, action);
1279			}
1280
1281		}	
1282		ping.errorCallback = function(result) {
1283			console.log('Ping: Ошибка подключения! Ping false.');
1284		}
1285	}
1286	else {
1287		console.log('cookie not set!');
1288	}
1289}
1290
1291function isNumeric(n) {
1292	return !isNaN(parseFloat(n)) && isFinite(n);
1293}
1294
1295function login() {
1296	var login = new TaxiMethod();
1297	login.name = 'logon';
1298	login.params = {
1299		login:$('#login').val(),
1300		password:$('#password').val()
1301	};
1302	var client = new TaxiClient();
1303	client.executeQuery(login);
1304	login.successCallback = function(result) {
1305	  $("#inputErrors").empty();
1306		if (isNumeric(result)) {
1307			self._saveCookie('company', result);
1308			
1309			ping('getLegalOrderInfo', '');
1310			ping('companyInfo', '');
1311			ping('telephons', '');
1312			ping('stuff', '');
1313		}
1314		else {
1315			$("#inputErrors").append('<p>Ошибка авторизации. Пароль или логин не верен.</p>');
1316			
1317		  self._delCookie('company');
1318			
1319			document.getElementById('li_legal').style.display = 'none';
1320		}
1321	}
1322	login.errorCallback = function(result) {
1323	    $("#inputErrors").empty();
1324			$("#inputErrors").append('<p>Ошибка! Не удалось подключится к серверу.</p>');
1325		
1326		  self._delCookie('company');
1327		
1328		$('#li_legal').hide();
1329	}
1330}
1331
1332function logout() {
1333	var company = $.cookie('company');
1334	var login = new TaxiMethod();
1335	login.name = 'logout';
1336	login.params = {
1337		company:company
1338	};
1339	var client = new TaxiClient();
1340	client.executeQuery(login);
1341	login.successCallback = function(result) {
1342		  self._delCookie('company');
1343		
1344		$('#login_form').show();
1345		$('#logout_form').hide();
1346		
1347		$('#cabinet').hide(); 
1348	}
1349	login.errorCallback = function(result) {
1350		  self._delCookie('company');
1351		
1352		$('#login_form').show();
1353		$('#logout_form').hide();
1354		
1355		$('#cabinet').hide(); 
1356	}
1357}
1358
1359function callLegalCost () {
1360	var company = $.cookie('company');
1361	if (company !== undefined && company !== '') {
1362
1363		var setData = new TaxiMethod();
1364		setData.name = 'callLegalCost';
1365		setData.params = {
1366			company:company,
1367			fromCity:$('#FIELD_CITY_OTKUDA').val(),
1368			fromStreet:$("#FIELD_FROM").val(),
1369			fromHouse:$("#FIELD_FROM_HOUSE").val(),
1370			fromHousing:$("#FIELD_FROM_HOUSING").val(),
1371			fromPorch:'',
1372			fromLat:'',
1373			fromLon:'',
1374			toCity:$('#FIELD_CITY_KUDA').val(),
1375			toStreet:$("#FIELD_TO").val(),
1376			toHouse:$("#FIELD_TO_HOUSE").val(),
1377			toHousing:$("#FIELD_TO_HOUSING").val(),
1378			toPorch:'',
1379			toLat:'',
1380			toLon:'',
1381			orderer:$('#orderer option:selected').val(),
1382			carryer:$('#carryer option:selected').val(),
1383			phone:$("#FIELD_TEL").val(),
1384			priorTime:'',
1385			countCar:$("#FIELD_COUNT").val(),
1386			carType:'',
1387			carGroupId:'',
1388			tariffGroupId:$('#tariff_travel option:selected').val(),
1389			comment:''
1390		};
1391		var client = new TaxiClient();
1392		client.executeQuery(setData);
1393		setData.successCallback = function(result) {
1394			console.log('цена из ПО получена:' + result);
1395			if (result !== null) {
1396				$('#cost_order').html(String(result));
1397				taxi.lastCostfromApi = result;
1398			} else {
1399			}
1400		}
1401	}
1402}
1403
1404function getLegalOrderInfo () {
1405  $("#orderErrors").empty();
1406
1407	var company = $.cookie('company');
1408	if (company !== undefined && company !== '') {
1409		var tariffs = new TaxiMethod();
1410		tariffs.name = 'getLegalOrderInfo';
1411		tariffs.params = {
1412			company:company
1413		};
1414		var client = new TaxiClient();
1415		client.executeQuery(tariffs);
1416		$('#orders_load').show();
1417		tariffs.successCallback = function(result) {
1418		  $('#orders_load').hide();
1419			if (result !== undefined) {
1420				if (result == '') {
1421			    $("#orderErrors").append('<p>Нет заказов на выполнении.</p>');
1422				}
1423
1424				if (result && result != "") {
1425					for(var i in result) {
1426						var status;
1427						if (result[i].states_name != undefined)
1428							status = result[i].states_name;
1429						else
1430							status ='';
1431						
1432						$("#order_table").append('<div class="order-block"><div class="number">' + explode_time(result[i].date_create) + '</div><div class="start">' + status + '</div><div class="row-fluid road"><div class="span6"><div class="a">' + result[i].addr_from + '</div></div><div class="span6"><div class="b">' + result[i].addr_to + '</div></div></div><div class="row-fluid slide" style="display: none;"><div class="hidden-row clearfix"><div class="span3 cell-name">Время подачи автомобиля</div><div class="span8">' + explode_time(result[i].date_from) + '</div></div><div class="hidden-row clearfix"><div class="span3 cell-name">Заказал</div><div class="span8">' + result[i].can_order + '</div></div><div class="hidden-row clearfix"><div class="span3 cell-name">Пассажир</div><div class="span8">' + result[i].can_carrer + '</div></div><div class="hidden-row clearfix"><div class="span3 cell-name">Тариф</div><div class="span8">' + result[i].car_class + '</div></div><div class="hidden-row clearfix"><div class="span3 cell-name">Стоимость</div><div class="span8">' + result[i].cost + ' руб.</div></div><div class="hidden-row clearfix"><div class="span3 cell-name">Автомобиль</div><div class="span8">' + result[i].car_color +  ' ' + result[i].car_mark + ' ' + result[i].car_number + '</div></div></div><a href="" class="drop"><span>Подробности</span></a></div>');
1433					}
1434				}
1435			}
1436			else {
1437			}
1438		}
1439		tariffs.errorCallback = function(result) {
1440		  $('#orders_load').hide();
1441			$("#orderErrors").append('<p>Ошибка! Нет ответа от сервера. Попробуйте снова.</p>');
1442		}
1443	}
1444}
1445
1446function getLegalTariff () {
1447  console.log('запрос тарифов юр лиц');
1448	var company = $.cookie('company');
1449	if (company !== undefined && company !== '') {
1450		var tariffs = new TaxiMethod();
1451		tariffs.name = 'findTariffsLegal';
1452		tariffs.params = {
1453			company:company
1454		};
1455		var client = new TaxiClient();
1456		client.executeQuery(tariffs);
1457		tariffs.successCallback = function(result) {
1458			if (result !== undefined) {
1459				if (result && result != "") {
1460					$('#tariff_travel').before('<select class="span12" id="tariff_travelNew"></select>');
1461					$('#tariff_travel').remove();
1462					$("#tariff_travelNew").attr("id", "tariff_travel");
1463					for (var i in result)
1464					{
1465						var current = result[i];
1466						var currentId = current['id'];
1467						var currentLabel = current['label'];
1468						$("#tariff_travel").append("<option value='" + currentId + "'>" + currentLabel + "</option>");
1469
1470					}
1471				}
1472			}
1473			else {
1474			}
1475		}
1476	}
1477}
1478
1479function companyInfo () {
1480	var company = $.cookie('company');
1481	if (company !== undefined && company !== '') {
1482		var getCompanyInfo = new TaxiMethod();
1483		getCompanyInfo.name = 'companyInfo';
1484		getCompanyInfo.params = {
1485			company:company
1486		};
1487		var client = new TaxiClient();
1488		client.executeQuery(getCompanyInfo);
1489		$('#details_load').show();
1490		getCompanyInfo.successCallback = function(result) {
1491		  $('#details_load').hide();
1492			if (result !== undefined) {
1493				$('#name').val(result.name);
1494				$('#official_name').val(result.official_name);
1495				$('#legal_street').val(result.legal_addr_id_street);
1496				$('#legal_house').val(result.legal_addr_house_number);
1497				$('#legal_build').val(result.legal_addr_building);
1498				$('#legal_apartment').val(result.legal_addr_apartment_number);
1499				$('#post_street').val(result.post_addr_id_street);
1500				$('#post_house').val(result.post_addr_house_number);
1501				$('#post_build').val(result.post_addr_building);
1502				$('#post_apartment').val(result.post_addr_apartment_number);
1503				$('#fact_street').val(result.fact_addr_id_street);
1504				$('#fact_house').val(result.fact_addr_house);
1505				$('#fact_build').val(result.fact_addr_building);
1506				$('#fact_apartment').val(result.fact_addr_apartment);
1507				$('#arrive_street').val(result.arrive_addr_id_street);
1508				$('#arrive_house').val(result.arrive_addr_house);
1509				$('#arrive_build').val(result.arrive_addr_building);
1510				$('#arrive_apartment').val(result.arrive_addr_apartment);
1511				$('#inn').val(result.inn);
1512				$('#kpp').val(result.kpp);
1513				$('#bik').val(result.bik);
1514				$('#correspondent_account').val(result.correspondent_account);
1515				$('#operating_account').val(result.operating_account);
1516				$('#balance').val(result.balans);
1517			}
1518			else {
1519			}
1520		}
1521		getCompanyInfo.errorCallback = function(result) {
1522		  $('#details_load').hide();
1523		}
1524	}
1525}
1526
1527function setCompanyInfo () {
1528	var company = $.cookie('company');
1529	if (company !== undefined && company !== '') {
1530
1531		var setData = new TaxiMethod();
1532		setData.name = 'setCompanyData';
1533		setData.params = {
1534			company:company,
1535			shortName:$('#name').val(),
1536			oficialName:$('#official_name').val(),
1537			legalStreet:$('#legal_street').val(),
1538			legalHouse:$('#legal_house').val(),
1539			legalBuilding:$('#legal_build').val(),
1540			legalApartment:$('#legal_apartment').val(),
1541			postStreet:$('#post_street').val(),
1542			postHouse:$('#post_house').val(),
1543			postBuilding:$('#post_build').val(),
1544			postApartment:$('#post_apartment').val(),
1545			actualStreet:$('#fact_street').val(),
1546			actualHouse:$('#fact_house').val(),
1547			actualBuilding:$('#fact_build').val(),
1548			actualApartment:$('#fact_apartment').val(),
1549			arriveStreet:$('#arrive_street').val(),
1550			arriveHouse:$('#arrive_house').val(),
1551			arriveBuilding:$('#arrive_build').val(),
1552			arriveApartment:$('#arrive_apartment').val(),
1553			inn:$('#inn').val(),
1554			kpp:$('#kpp').val(),
1555			bik:$('#bik').val(),
1556			correspondentAccount:$('#correspondent_account').val(),
1557			operatingAccount:$('#operating_account').val()
1558		};
1559		
1560		var client = new TaxiClient();
1561		client.executeQuery(setData);
1562		$('#details_load').show();
1563		setData.successCallback = function(result) {
1564		  $('#details_load').hide();
1565			if (result !== undefined) {
1566			  $("#set-company").empty();
1567			  $("#set-company").append('Информация успешно обновлена.');
1568			}
1569		}
1570		setData.errorCallback = function(result) {
1571			$("#set-company").empty();
1572		  $("#set-company").append('Не удалось соединится с сервером. Попробуйте снова.');
1573		  $('#details_load').hide();
1574		}
1575	}
1576}
1577
1578function statistic () {
1579	$("#stat_table").empty();
1580	$("#statErrors").empty();
1581	
1582	var dateFrom = document.getElementById('date_from').value + ' 00:00:00';
1583	var dateTo = document.getElementById('date_to').value + ' 00:00:00';
1584	var company = $.cookie('company');
1585	if (company !== undefined && company !== '') {
1586		var getStat = new TaxiMethod();
1587		getStat.name = 'statistics';
1588		getStat.params = {
1589			company:company,
1590			dateFrom:dateFrom,
1591			dateTo:dateTo
1592		};
1593		var client = new TaxiClient();
1594		client.executeQuery(getStat);
1595		$('#stat_load').show();
1596		getStat.successCallback = function(result) {
1597  		$('#stat_load').hide();
1598			if (result !== undefined) {
1599				if (result == '') {
1600			    $("#statErrors").append('<p>Нет заказов в выбранный период.</p>');
1601				}
1602
1603				for(var i in result) {
1604					var status;
1605					if (result[i].states_name != undefined)
1606						status = result[i].states_name;
1607					else
1608						status ='';
1609						
1610					$("#stat_table").append('<div class="order-block"><div class="number">' + explode_time(result[i].date_create) + '</div><div class="start">' + status + '</div><div class="row-fluid road"><div class="span6"><div class="a">' + result[i].addr_from + '</div></div><div class="span6"><div class="b">' + result[i].addr_to + '</div></div></div><div class="row-fluid slide" style="display: none;"><div class="hidden-row clearfix"><div class="span3 cell-name">Время подачи автомобиля</div><div class="span8">' + explode_time(result[i].date_begin) + '</div></div><div class="hidden-row clearfix"><div class="span3 cell-name">Время завершения</div><div class="span8">' + explode_time(result[i].date_complit) + '</div></div><div class="hidden-row clearfix"><div class="span3 cell-name">Заказал</div><div class="span8">' + result[i].can_order + '</div></div><div class="hidden-row clearfix"><div class="span3 cell-name">Пассажир</div><div class="span8">' + result[i].can_carrer + '</div></div> <div class="hidden-row clearfix"><div class="span3 cell-name">Тариф</div><div class="span8">' + result[i].car_class + '</div></div><div class="hidden-row clearfix"><div class="span3 cell-name">Стоимость</div><div class="span8">' + result[i].cost + ' руб.</div></div><div class="hidden-row clearfix"><div class="span3 cell-name">Автомобиль</div><div class="span8">' + result[i].car_color +  ' ' + result[i].car_mark + ' ' + result[i].car_number + '</div></div></div><a href="" class="drop"><span>Подробности</span></a></div>');
1611				}
1612			}
1613			else {
1614			}
1615		}
1616		getStat.errorCallback = function(result) {
1617  		$('#stat_load').hide();
1618			$("#statErrors").append('<p>Ошибка! Нет ответа от сервера. Попробуйте снова.</p>');
1619		}
1620	}
1621}
1622
1623function explode_time(result) {
1624	var date = result;
1625	var date_arr = date.split('T');
1626	var time_arr = date_arr[1].split('.');
1627	date = date_arr[0] + ' ' + time_arr[0];
1628	return date;
1629}
1630
1631function telephons () {
1632	var company = $.cookie('company');
1633	if (company !== undefined && company !== '') {
1634		var getTelephons = new TaxiMethod();
1635		getTelephons.name = 'getTelephon';
1636		getTelephons.params = {
1637			company:company
1638		};
1639		var client = new TaxiClient();
1640		client.executeQuery(getTelephons);
1641		$('#tel_load').show();
1642		getTelephons.successCallback = function(result) {
1643  		$('#tel_load').hide();
1644			if (result !== undefined) {
1645				for(var i in result) {
1646					var is_default = result[i].is_default;
1647					if (is_default == 'true')
1648						is_default = '<input type="checkbox" name="" value"" checked disabled>';
1649					else
1650						is_default = '<input type="checkbox" name="" value"" disabled>';
1651
1652					$("#telephons").append('<tr><td>' + result[i].id + '</td><td>' + result[i].contact_content + '</td><td>' + is_default + '</td></tr>');
1653				}
1654			}
1655			else {
1656			}
1657		}
1658		getTelephons.errorCallback = function(result) {
1659  		$('#tel_load').hide();
1660		}
1661	}
1662}
1663
1664function setTelephons (action) {
1665	document.getElementById('telephon_form').style.display = 'none';
1666	
1667	$("#telErrors").empty();
1668
1669	var company = $.cookie('company');
1670	if (company !== undefined && company !== '') {
1671		var id;
1672		var delData;
1673
1674		if (action == 'dell') {
1675		  id = $('#telephons').children('tr.selected').children('td:first').text();
1676		}
1677	  if (!(id > 0) && action == 'dell') {
1678		  $("#telErrors").append('<p>Ошибка! Выберите телефон из списка.</p>');
1679	  } else if (action == 'dell') {
1680		  delData = confirm('Удалить номер телефона?');
1681	  }
1682	  if (action == 'add') {
1683		  id = '';
1684	 	  delData = true;
1685	  }
1686		
1687		if (delData) {
1688			var setData = new TaxiMethod();
1689		  setData.name = 'setTelephon';
1690		  setData.params = {
1691			  company:company,
1692			  action:action,
1693			  id:id,
1694			  number:$('#tel_number').val(),
1695			  isDefault:document.getElementById("is_default").checked
1696		  };
1697	 	  var client = new TaxiClient();
1698		  client.executeQuery(setData);
1699		  $('#tel_load').show();
1700		  setData.successCallback = function(result) {
1701  		  $('#tel_load').hide();
1702			  if (result !== undefined) {
1703			  } else {
1704			  }
1705			  $("#telephons").empty();
1706			  telephons();
1707		  }
1708		  setData.errorCallback = function(result) {
1709  		  $('#tel_load').hide();
1710		  }
1711		}
1712	}
1713}
1714
1715function stuff () {
1716	var company = $.cookie('company');
1717	if (company !== undefined && company !== '') {
1718		var getStuff = new TaxiMethod();
1719		getStuff.name = 'getStuff';
1720		getStuff.params = {
1721			company:company
1722		};
1723		var client = new TaxiClient();
1724		client.executeQuery(getStuff);
1725		$('#stuffs_load').show();
1726		getStuff.successCallback = function(result) {
1727 		  $('#stuffs_load').hide();
1728			if (result !== undefined) {
1729				$("#orderer").empty();
1730				$("#carryer").empty();
1731				for(var i in result) {
1732					if (result[i].orderer == 0)
1733						$("#orderer").append("<option value='" + result[i].id + "'>" + result[i].name + " " + result[i].patronymic + " " + result[i].surname + "</option>");
1734					
1735					if (result[i].carrer == 0)
1736						$("#carryer").append("<option value='" + result[i].id + "'>" + result[i].name + " " + result[i].patronymic + " " + result[i].surname + "</option>");
1737
1738					var order = result[i].orderer;
1739					if (order != 1)
1740						order = '<input type="checkbox" name="" value"" checked disabled>';
1741					else
1742						order = '<input type="checkbox" name="" value"" disabled>';
1743					var carry = result[i].carrer;
1744					if (carry != 1)
1745						carry = '<input type="checkbox" name="" value"" checked disabled>';
1746					else
1747						carry = '<input type="checkbox" name="" value"" disabled>';
1748
1749					$("#stuff_table").append('<tr><td>' + result[i].id + '</td><td>' + result[i].surname + '</td><td>' + result[i].name + '</td><td>' + result[i].patronymic + '</td><td>' + order + '</td><td>' + carry + '</td></tr>');
1750				}
1751			}
1752			else {
1753			}
1754		}
1755		getStuff.errorCallback = function(result) {
1756  		$('#stuffs_load').hide();
1757		}
1758	}
1759}
1760
1761function setStuff (action) {
1762	document.getElementById('stuff_form').style.display = 'none';
1763	
1764	$("#stuffErrors").empty();
1765
1766	var company = $.cookie('company');
1767	if (company !== undefined && company !== '') {
1768		var id;
1769		var delData;
1770		var name;
1771		var surname;
1772		var	patronymic;
1773		var order;
1774		var carry;
1775
1776		if (action == 'del' || action == 'upd') {
1777		  id = $('#stuff_table').children('tr.selected').children('td:first').text();
1778		}
1779		if (!(id > 0) && (action == 'del' || action == 'upd')) {
1780			$("#stuffErrors").append('<p>Ошибка! Выберите сотрудника из списка.</p>');
1781		} else if (action == 'del') {
1782			name = '';
1783			surname = '';
1784		  patronymic = '';
1785			order = '';
1786  	  carry = '';
1787			delData = confirm('Удалить информацию о сотруднике?');
1788		}	else if (action == 'upd'){
1789			name = $('#stuff_name').val();
1790			surname = $('#surname').val();
1791		  patronymic = $('#patronymic').val();
1792			if (document.getElementById("order").checked) {
1793			  order = 'on';
1794			} else {
1795			  order = 'off';
1796			}
1797			if (document.getElementById("carry").checked) {
1798  	    carry = 'on';
1799			} else {
1800			  carry = 'off';
1801			}
1802			delData = true;
1803    }
1804		if  (action == 'add'){
1805			id = '';
1806			name = $('#stuff_name').val();
1807			surname = $('#surname').val();
1808		  patronymic = $('#patronymic').val();
1809			if (document.getElementById("order").checked) {
1810			  order = 'on';
1811			} else {
1812			  order = 'off';
1813			}
1814			if (document.getElementById("carry").checked) {
1815  	    carry = 'on';
1816			} else {
1817			  carry = 'off';
1818			}
1819			delData = true;
1820		}
1821
1822		if (delData) {
1823		  var setData = new TaxiMethod();
1824		  setData.name = 'setStuff';
1825		  setData.params = {
1826			  company:company,
1827			  action:action,
1828			  id:id,
1829			  name:name,
1830			  surname:surname,
1831		  	patronymic:patronymic,
1832			  order:order,
1833			  carry:carry
1834		  };
1835		  var client = new TaxiClient();
1836		  client.executeQuery(setData);
1837		  $("#stuffs_load").show();
1838
1839		  setData.successCallback = function(result) {
1840  		  $("#stuffs_load").hide();
1841			if (result !== undefined) {
1842			}
1843			else {
1844			  }
1845			  $("#stuff_table").empty();
1846			  stuff();
1847		  }
1848		  setData.errorCallback = function(result) {
1849  		  $("#stuffs_load").hide();
1850		  }
1851		}
1852	}
1853}
1854
1855function change () {
1856	var company = $.cookie('company');
1857	if (company !== undefined && company !== '') {
1858	  if ($('#chpass').val() === $('#chrepass').val()) {
1859		  var setData = new TaxiMethod();
1860		  setData.name = 'changePassword';
1861		  setData.params = {
1862			  company:company,
1863			  login:$('#chlogin').val(),
1864			  password:$('#chpass').val(),
1865		  };
1866		  var client = new TaxiClient();
1867		  client.executeQuery(setData);
1868		  $('#change_load').show();
1869		  setData.successCallback = function(result) {
1870	      $("#changeErrors").empty();
1871  		  $('#change_load').hide();
1872			  if (result !== undefined) {
1873          $("#changeErrors").append('<p>Информация успешно изменена.</p>');
1874			  } else {
1875          $("#changeErrors").append('<p>Ошибка связи. Попробуйте снова.</p>');
1876				}
1877		  }
1878		  setData.errorCallback = function(result) {
1879       	$("#changeErrors").empty();
1880  		  $('#change_load').hide();
1881        $("#changeErrors").append('<p>Пустой результат. Попробуйте снова.</p>');
1882		  }
1883		} else {
1884      $("#changeErrors").append('<p>Вы не правильно повторили пароль.</p>');
1885		}
1886	}
1887}
1888
1889var company = $.cookie('company');
1890if (company !== undefined && company !== '') {
1891	ping('getLegalOrderInfo', '');
1892	ping('companyInfo', '');
1893	ping('telephons', '');
1894	ping('stuff', '');
1895} else {
1896  $('#login_form').show();
1897	$('#logout_form').hide();
1898	$('#cabinet').hide(); 
1899}
1900
1901function hiderStuff(action) {
1902	$("#stuffErrors").empty();
1903	document.getElementById('stuff_form').style.display = 'none';
1904	
1905  if (action == 'upd') {
1906		var id = $('#stuff_table').children('tr.selected').children('td:first').text();
1907
1908		if (!(id > 0)) {
1909			$("#stuffErrors").append('<p>Ошибка! Выберите сотрудника из списка.</p>');
1910		} else {
1911		
1912	  document.getElementById('stuff_form').style.display = 'block';
1913		document.getElementById('upd_stuff').style.display = 'block';
1914		$('.addStuff').css('display', 'none');
1915		$('.updStuff').css('display', 'block');
1916		}
1917	}	else if (action == 'add') {
1918    document.getElementById('stuff_form').style.display = 'block';
1919		document.getElementById('add_stuff').style.display = 'block';
1920		$('.updStuff').css('display', 'none');
1921		$('.addStuff').css('display', 'block');
1922	}
1923}//*/

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.