1decim = 0; 2 3var SchemeWidget = function(options) { 4 var defaults = { 5 container_list: '#list_tickets', 6 container_schema: '#plan_hall_view', 7 handlers: { 8 beforeLoad: { 9 selector: '[action="get_tickets"]', 10 event: 'click', 11 callback: this.beforeLoad, 12 }, 13 load: { 14 selector: '#select_date', 15 event: 'change', 16 callback: this.loadScheme, 17 }, 18 }, 19 }; 20 21 this.options = $.extend(options, defaults); 22 this.isLoading = false; 23 24 console.log(sessionStorage.getItem('selectedEventId')) 25 26 this.initHandlers(); 27 this.addBuyListeners(); 28} 29 30SchemeWidget.prototype.addBuyListeners = function() { 31 $(document).ready(function() { 32 var selectedEventId = sessionStorage.getItem('selectedEventId'); 33 var selectedDateId = sessionStorage.getItem('selectedDateId'); 34 sessionStorage.removeItem('selectedEventId'); 35 sessionStorage.removeItem('selectedDateId'); 36 if (!(selectedEventId == null) && !(selectedDateId == null)){ 37 var btn = document.querySelector(`span[data-event="${selectedEventId}"][data-id="${selectedDateId}"]`); 38 if (btn) { 39 btn.click(); 40 } 41 } 42 }); 43} 44 45SchemeWidget.prototype.initHandlers = function () { 46 $(this.options.handlers.beforeLoad.selector).on(this.options.handlers.beforeLoad.event, {self : this}, this.options.handlers.beforeLoad.callback); 47 $(this.options.handlers.load.selector).on(this.options.handlers.load.event, {self : this}, this.options.handlers.load.callback); 48 var self = this; 49 console.log(self) 50 $('[scheme-type="list"]').on('click', function() { 51 self.switchButtonView('list'); 52 }); 53 $('[scheme-type="scheme"]').on('click', function() { 54 self.switchButtonView('scheme'); 55 }); 56}; 57 58SchemeWidget.prototype.beforeLoad = function (e) { 59 $('#wrapper_ticket_order').fadeIn('fast'); 60 var target = e.currentTarget; 61 62 if (Number($('#bottom_basket_count_ticket').text()) > 0 ) { 63 $('.bottom_basket').show(); 64 } 65 66 var forOrder = false; 67 $('#select_date option').each(function(){ 68 if ($(this).attr('for-order') != '' && $(this).attr('for-order') != undefined) { 69 forOrder = true; 70 } 71 }); 72 73 if (!forOrder) { 74 $('#list_tickets').css({'display':'none'}); 75 $('#schema_tickets').css({'display':'none'}); 76 $('#non_tickets').css({'display':'block'}); 77 $('#tickets_form').css({'display':'block'}); 78 return; 79 } 80 81 if (Number($(target).attr('data-id')) != 0) { 82 $('#select_date').val($(target).attr('data-id')).change(); 83 } 84 return; 85}; 86 87SchemeWidget.prototype.switchButtonView = function (tag) { 88 if ($('[scheme-type="' + tag + '"]').hasClass('active')) { 89 return; 90 } 91 92 $('[scheme-type="list"]').removeClass('active'); 93 $('[scheme-type="scheme"]').removeClass('active'); 94 $('[scheme-view="list"]').css({display:'none'}); 95 $('[scheme-view="scheme"]').css({display:'none'}); 96 $('[scheme-type="' + tag + '"]').addClass('active'); 97 $('[scheme-view="' + tag + '"]').css({display:'block'}); 98}; 99 100SchemeWidget.prototype.loadScheme = function (e) { 101 var self = e.data.self; 102 var dateId = $('#select_date').val(); 103 var dateStr = $('#select_date').text(); 104 105 if (self.isLoading == true) { 106 return; 107 } 108 self.isLoading = true; 109 110 $('#reload').attr('data-event', dateId); 111 $('#current_place').text($('#select_date option:selected').attr('data-place')); 112 113 var requestData = { 114 dateId: dateId, 115 time: $('#select_date option:selected').attr('data-unix'), 116 event: $('#select_date').attr('data-event'), 117 place: $('#select_date option:selected').attr('data-place'), 118 } 119 120 function sendStatisticsRequest(requestData, type) { 121 requestData['type'] = type; 122 $.ajax({ 123 url: '/api/services/statistics/', 124 method: 'POST', 125 dataType: 'json', 126 data: requestData 127 }); 128 } 129 130 function sendSchemeRequest(requestData, attempts) { 131 if (attempts <= 0) { 132 sendStatisticsRequest(requestData, 'tickets_not_found'); 133 self.isLoading = false; 134 $('#scheme-container').css({'display':'none'}); 135 $('#non_tickets').css({'display':'block'}); 136 $('#tickets_form').css({'display':'block'}); 137 $('#loadinger_ticket').fadeOut(); 138 decim = 0; 139 return; 140 } 141 $.ajax({ 142 url: '/api/services/scheme/', 143 method: 'POST', 144 dataType: 'json', 145 data: requestData, 146 success: function (response) { 147 if (Number(response.http) == 200) { 148 self.isLoading = false;
149 $('#loadinger_ticket').fadeOut(); 150 decim = 0; 151 $('#scheme-container').css({'display':'block'}); 152 $('[scheme-view="scheme"]').html(response.maps); 153 $('[scheme-view="list"]').html(response.list); 154 if (response.maps != null) { 155 self.switchButtonView('scheme'); 156 sendStatisticsRequest(requestData, 'scheme'); 157 } else { 158 sendStatisticsRequest(requestData, 'list'); 159 self.switchButtonView('list'); 160 } 161 } else { 162 if (attempts <= 0) { 163 $('#non_tickets').css({'display':'block'}); 164 $('#tickets_form').css({'display':'block'}); 165 } else { 166 setTimeout(function () { 167 sendSchemeRequest(requestData, attempts - 1); 168 }, 2500); 169 } 170 } 171 }, 172 error: function (error) { 173 sendStatisticsRequest(requestData, 'error_request'); 174 self.isLoading = false; 175 $('#scheme-container').css({'display':'none'}); 176 $('#non_tickets').css({'display':'block'}); 177 $('#tickets_form').css({'display':'block'}); 178 $('#loadinger_ticket').fadeOut(); 179 decim = 0; 180 } 181 }); 182 } 183 self.showLoading(); 184 sendSchemeRequest(requestData, 3); 185 $('#datas').val(dateStr); 186}; 187 188SchemeWidget.prototype.showLoading = function () { 189 decim = 0; 190 $('#loadinger_ticket').fadeIn(); 191 $('#progress').anim_progressbar(); 192 $('#non_tickets').css({'display':'none'}); 193 $('#scheme-container').css({'display':'none'}); 194 $('#tickets_form').css({'display':'none'}); 195 $('#success_send_order').css({'display':'none'}); 196 $('body').addClass('oh'); 197 198}; 199 200$(document).ready(function(){ 201 decim = 0; 202 203 204 205 function showBasket() { 206 if ($('.bottom_basket').css('display') == 'none') { 207 $('.bottom_basket').show(); 208 } 209 } 210 211 function hideBasket() { 212 $('.bottom_basket').hide(); 213 } 214 215 function updateBasket(data) { 216 $('#total_basket').text(data.total); 217 $('#bottom_basket_total').text(data.total); 218 $('#top_basket_count').text(data.count); 219 $('#bottom_basket_count_ticket').text(data.count); 220 if (Number(data.total) > 0) { 221 showBasket(); 222 if ($('.order > a').length === 0) { 223 $('.order').wrapInner('<a href="/order/"></a>'); 224 } 225 } else { 226 if ($('.order > a').length > 0) { 227 $('.order > a').contents().unwrap(); 228 } 229 hideBasket(); 230 } 231 } 232 233 $('#hide_basket').click(function(event){ 234 if ( !$('.basket').hasClass('hide')) { 235 $('.basket').addClass('hide'); 236 $('.basket').removeClass('popup'); 237 $('.basket').removeClass('active'); 238 } 239 }); 240 241 $('#basket_show').click(function(event){ 242 if ($('.basket').hasClass('hide') && $(event.target).attr('id') != 'hide_basket') { 243 $('.basket').addClass('active'); 244 $('.basket').removeClass('hide'); 245 } 246 }); 247 248 249 250 /* 251 ÐÐÐСТÐÐЯ С ÐÐÐÐТÐÐÐ 252 */ 253 $('#wrapper_ticket_order').on('click', '[action="seat"]', function(e){ 254 255 if (!$(e.target).is('[action="seat"]')) { 256 return; 257 } 258 259 var seat = { 260 number: $(this).val(), 261 sector: $(this).attr('zone'), 262 price: $(this).attr('price'), 263 row: $(this).attr('row'), 264 id: $(this).attr('offer'), 265 event: $(this).attr('event'), 266 place: $(this).attr('place'), 267 time: $(this).attr('time'), 268 e_ticket: $(this).attr('e-ticket'), 269 inBasket: Number($(this).attr('in-basket')) 270 } 271 272 if (seat.inBasket == 1) { 273 $(this).removeClass('in-basket'); 274 $(this).attr('in-basket', 0); 275 } else { 276 $(this).addClass('in-basket'); 277 $(this).attr('in-basket', 1); 278 } 279 280 $.ajax({ 281 url: $('#wrapper_ticket_order').attr('path-ticket'), 282 type: 'POST', 283 dataType: 'JSON', 284 data: { seat:seat }, 285 success: function(data) { 286 updateBasket(data.result); 287 } 288 }); 289 }); 290 291 $('#clear_basket').click(function(){ 292 293 $( "input[in-basket='1']" ).removeClass('in-basket'); 294 $( "input[in-basket='1']" ).attr('in-basket', 0); 295 296 $.ajax({ 297 url: $('#clear_basket').attr('path'), 298 type: 'POST', 299 dataType: 'JSON', 300 success: function(data) { 301 $('#total_basket').text(0); 302 $('#bottom_basket_total').text(0); 303 $('#top_basket_count').text(0); 304 $('#bottom_basket_count_ticket').text(0); 305 $('.bottom_basket').hide(); 306 } 307 }); 308 return false; 309 }); 310 311 $('#wrapper_ticket_order').on('click', '#reload',function(){ 312 $('#select_date').val($(this).attr('data-event')).change(); 313 return; 314 }); 315 316 $('#wrapper_ticket_order').on('click', '#go_form_without_ticket', function(){ 317 $('#non_tickets').css({'display':'none'}); 318 $('#list_tickets').css({'display':'none'}); 319 $('#schema_tickets').css({'display':'none'}); 320 $('#tickets_form_total').css({'display':'none'}); 321 $('#tickets_form').css({'display':'block'}); 322 }); 323 324 $('#send_new_tickets_order').click(function(){ 325 var errors = 0; 326 if ($('#form_order_name').val().length < 3) { 327 $('#form_order_name').addClass('error'); 328 errors++; 329 } else { 330 $('#form_order_name').removeClass('error'); 331 } 332 333 if ($('#form_order_phone').val().length < 6) { 334 $('#form_order_phone').addClass('error'); 335 errors++; 336 } else { 337 $('#form_order_phone').removeClass('error'); 338 } 339 340 if (errors > 0) { 341 return; 342 } 343 344 var path = $(this).attr('path'); 345 346 var name = $('#form_order_name').val(); 347 var date = $('#select_date option:selected').attr('data-str'); 348 var phone = $('#form_order_phone').val(); 349 var comment = $('#form_order_message').val(); 350 var place = $('#select_date option:selected').attr('data-place'); 351 var event = $('#form_order_event').val(); 352 353 if ( place == '' || place == undefined) { 354 place = $('#without_ticket_form').find('[name="place"]').val(); 355 } 356 357 $.ajax({ 358 url: path, 359 type: 'POST', 360 data: { name:name, date:date, phone:phone, comment:comment, place:place, event:event }, 361 dataType: 'JSON', 362 success: function(data) { 363 //alert('СпаÑибо за заказ! ÐаÑвка на заказ билеÑов нами полÑÑена и пÑинÑÑа к ÑаÑÑмоÑÑениÑ. ÐÑ Ð² ÑкоÑом вÑемени обÑзаÑелÑно ÑвжемÑÑ Ñ Ð²Ð°Ð¼Ð¸ Ð´Ð»Ñ ÑÑоÑÐ½ÐµÐ½Ð¸Ñ Ð´ÐµÑалей'); 364 //yaCounter34811365.reachGoal('ORDER'); 365 //$('#wrapper_ticket_order').fadeOut('fast'); 366 $('#non_tickets').css({'display':'none'}); 367 $('#list_tickets').css({'display':'none'}); 368 $('#schema_tickets').css({'display':'none'});
369 $('#tickets_form').css({'display':'none'}); 370 $('#success_send_order').css({'display':'block'}); 371 372 $('#form_order_name').val(''); 373 $('#form_order_phone').val(''); 374 $('#form_order_message').val(''); 375 } 376 }); 377 }); 378 379 $('#back_to_site, #close_ticket_order').click(function(){ 380 $('#wrapper_ticket_order').fadeOut('fast'); 381 $('.basket').removeClass('hide'); 382 $('.basket').removeClass('active'); 383 $('.bottom_basket').hide(); 384 $('body').removeClass('oh'); 385 //$('#basket').fadeOut('fast'); 386 }); 387 388 $('#show_basket').click(function(){ 389 if ($(this).hasClass('show')) { 390 $(this).removeClass('show'); 391 $(this).addClass('hide'); 392 $('#basket').addClass('hide'); 393 } else { 394 $(this).addClass('show'); 395 $(this).removeClass('hide'); 396 $('#basket').removeClass('hide'); 397 } 398 }); 399 400 /*пÑогÑеÑÑбаÑ*/ 401 jQuery.fn.anim_progressbar = function (aOptions) { 402 // ÐпÑеделÑем знаÑÐµÐ½Ð¸Ñ 403 var iCms = 1000; 404 var iMms = 32 * iCms; 405 var iHms = 3600 * iCms; 406 var iDms = 24 * 3600 * iCms; 407 408 // ÐпÑеделÑем опÑии 409 var aDefOpts = { 410 start: new Date(), // ТекÑÑее вÑÐµÐ¼Ñ 411 finish: new Date().setTime(new Date().getTime() + 32 * iCms), // ТекÑÑее вÑÐµÐ¼Ñ + 60 Ñек 412 interval: 100 413 } 414 415 var aOpts = jQuery.extend(aDefOpts, aOptions); 416 var vPb = this; 417 418 // ÐÐ°Ð¶Ð´Ñ Ð¸Ð½Ð´Ð¸ÐºÐ°ÑоÑо пÑогÑеÑÑа 419 return this.each( 420 function() { 421 var iDuration = aOpts.finish - aOpts.start; 422 // ÐÑзÑваем оÑигиналÑÐ½Ñ Ð¹Ð¸Ð½Ð´Ð¸ÐºÐ°ÑÐ¾Ñ Ð¿ÑогÑеÑÑа 423 //$(vPb).children('.pbar').progressbar(); 424 425 // ÐÑоÑеÑÑ Ð¾Ð±ÑабоÑки 426 var vInterval = setInterval( 427 function(){ 428 if (!$(vPb).is(':visible')) { 429 clearInterval(vInterval); 430 return; 431 } 432 var iLeftMs = aOpts.finish - new Date(); // ÐÑÑавÑееÑÑ Ð²ÑÐ¼ÐµÑ Ð² миллиÑекÑÐ½Ð´Ð°Ñ 433 var iElapsedMs = new Date() - aOpts.start, // ÐÑоÑедÑее вÑÐµÐ¼Ñ Ð² миллиÑекÑÐ½Ð´Ð°Ñ 434 iDays = parseInt(iLeftMs / iDms), // ÐÑоÑло дней 435 iHours = parseInt((iLeftMs - (iDays * iDms)) / iHms), // ÐÑоÑло ÑаÑов 436 iMin = parseInt((iLeftMs - (iDays * iDms) - (iHours * iHms)) / iMms), // ÐÑоÑло минÑÑ 437 iSec = parseInt((iLeftMs - (iDays * iDms) - (iMin * iMms) - (iHours * iHms)) / iCms), // ÐÑоÑло ÑекÑнд 438 iPerc = (iElapsedMs > 0) ? iElapsedMs / iDuration * 100 : 0; // ÐÑоÑÐµÐ½Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ 439 440 if (decim != 0) { 441 iPerc = decim; 442 } 443 444 // ÐÑводим ÑекÑÑее положение и пÑогÑеÑÑ 445 $(vPb).children('.percent').html('<b>'+iPerc.toFixed(1)+'%</b>'); 446 $(vPb).children('.pbar').children('.ui-progressbar-value').css('width', iPerc+'%'); 447 448 // Ð ÑлÑÑае завеÑÑÐµÐ½Ð¸Ñ 449 if (iPerc >= 100) { 450 clearInterval(vInterval); 451 $(vPb).children('.percent').html('<b>100%</b>'); 452 } 453 } ,aOpts.interval 454 ); 455 } 456 ); 457 } 458});
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.