Photos
Hockey Seating Chart NEWSectionsCommentsTagsEvents
'; no_tickets += '
'; $("#available_tickets").html(no_tickets); }}).done(function(data) { }).fail(function(data) { }).always(function(data) { }); } function format_ticket_list(data){ var list_html = "";var low_price = 5;var high_price = 10; if(data!="" && data.length > 0){low_price = data[0]['price'];high_price = data[0]['price']; $(data).each(function (index, value) { //console.log(value); var ticket_id = value['ticket_id']; var section_name = value['section_name'].toLowerCase(); var row_name = value['row_name'].toLowerCase(); var their_section_id = value['their_section_id']; var splits = value['splits']; splits = splits.replace('[',''); splits = splits.replace(']',''); var provider = value['provider'] var buy_url = value['url']; if(provider == 'stubhub'){ buy_url += '?byo=true&sid='+their_section_id+'&ticket_id='+ticket_id; }else if(provider == 'ticketcity'){ buy_url += '&acv=seating_chart&utm_source=aviewfrommyseat&utm_medium=seating_chart&inventory='+ticket_id; } var price = value['price']; var currency = value['currency']; currency = get_currency_symbol(currency); var quantity = value['quantity']; if(price > high_price){high_price = price; }else if(price < low_price){low_price = price; } var this_ticket = ''; this_ticket += '
'; this_ticket += '
'; this_ticket += '
'+section_name+'
'; this_ticket += '
row '+row_name; this_ticket += ' | '+quantity; if(quantity < 2){ this_ticket += ' ticket'; }else{ this_ticket += ' tickets'; } this_ticket += ''; this_ticket += '
'; this_ticket += '
'; this_ticket += '
'+currency+price+'
'+provider+'
'; this_ticket += '
'; list_html += this_ticket; }); } // highest price foundslider_max = high_price;setup_slider();setup_price_scale(low_price, high_price, data); $("#available_tickets").html(list_html); set_up_ticket_hovers(); } function setup_price_scale(low_price, high_price, data){// data is the ticket datavar price_diff = high_price - low_price;if(price_diff > 50){var segment = Math.round((price_diff *.75) / 5);color_code = true;price1 = low_price;price2 = price1 + segment;price3 = price2 + segment;price4 = price3 + segment;price5 = price4 + segment;if(data!="" && data.length > 0){$(data).each(function (index, value) {var section_name = value['section_name'].toLowerCase();var row_name = value['row_name'].toLowerCase();var marker = section_name+':'+row_name;var this_price = value['price'];if(this_price < price2){price1_rows.push(marker); }else if(this_price < price3){price2_rows.push(marker); }else if(this_price < price4){price3_rows.push(marker); }else if(this_price < price5){price4_rows.push(marker); }else{price5_rows.push(marker); }});}$("#slider-range").addClass("color_code");switchgeoJson(current_zoom, current_section);}}function setup_slider(){$( "#slider-range" ).slider({range: true,min: 0,max: slider_max,values: [ 0, slider_max ],slide: function( event, ui ) {price_min = ui.values[ 0 ];price_max = ui.values[ 1 ];$( "#amount" ).val( "$" + price_min + " - $" + price_max );},stop: function( event, ui ) {filter_ticket_listing();readjust_sorting();}});$( "#amount" ).val( "$" + $( "#slider-range" ).slider( "values", 0 ) +" - $" + $( "#slider-range" ).slider( "values", 1 ) );} function highlight_one_section(section_to_highlight){ bgjson.eachLayer(function (layer) {var section_name = layer.feature.properties.section; if(section_name == section_to_highlight){ layer.setStyle(hoverhighlightStyle); } }); } function highlight_one_row(row_to_highlight){ allrowjson.eachLayer(function (layer) {var section_name = layer.feature.properties.section; var row_name = layer.feature.properties.row; var marker_name = section_name+':'+row_name; if(marker_name == row_to_highlight){ layer.setStyle(hoverhighlightStyle); } }); } function adjust_map_size(){var inheight = (window.innerHeight)-70; var inwidth = (window.innerWidth); var map_width = $("#sv_chart").width(); var sidebar_height = $("#sidebar").height(); //console.log(map_width); if(inwidth <= 768){ // mobile $("#sv_chart").height(350); current_zoom = 1; //switchgeoJson(current_zoom, current_section); }else{// let css handle it }} function switchgeoJson(current_zoom, current_section){var sections_with_markers = [];var rows_with_markers = []; var seats_with_markers = []; var accessible_rows_with_icons = []; var has_accessible_rows = accessible_rows.length; var has_sections_to_highlight = sections_to_highlight.length; // remove all previous markersmarkers.clearLayers();// remove prevous layersmap.removeLayer(bgjson); map.removeLayer(allrowjson);map.removeLayer(allseatjson); // set up sections shapes for highlightingbgjson = L.geoJson(sectionJson,{style: clearStyle}).addTo(map);bgjson.eachLayer(function (layer) {var section_name = layer.feature.properties.section;var is_clickable = sections_with_photos.indexOf(section_name.toLowerCase());var is_highlighted = sections_to_highlight.indexOf(section_name.toLowerCase());if(is_highlighted != -1){// generally highlight section from filterlayer.setStyle(highlightStyle);}}); allrowjson = L.geoJson(rowJson,{style: clearStyle}).addTo(map); // add seat markers allrowjson.eachLayer(function (layer) { var section_name = layer.feature.properties.section; var row_name = layer.feature.properties.row; //var seat_name = layer.feature.properties.seat; var marker_name = section_name+':'+row_name; // do the yellow row highlighting var look_for = $.trim(section_name.toLowerCase()+":"+row_name.toLowerCase()); // for showing photos var has_marker = rows_with_markers.lastIndexOf(marker_name.toLowerCase()); var has_photo = rows_with_photos.lastIndexOf(marker_name.toLowerCase()); var has_tickets = rows_with_tickets.indexOf(marker_name.toLowerCase()); // add WC icons if(has_accessible_rows > 0){ if(accessible_rows.indexOf(look_for) > -1 && accessible_rows_with_icons.indexOf(look_for) == -1){ var this_center = layer.getCenter(); var this_marker = L.marker(this_center, {icon: wcIcon}); markers.addLayer(this_marker); accessible_rows_with_icons.push(look_for); } } if(has_tickets != -1 ){ layer.setStyle(rowStyle);if(color_code == true){ // row styles should get applied hereif(price1_rows.lastIndexOf(marker_name.toLowerCase()) != -1){layer.setStyle(rowPrice1);}else if(price2_rows.lastIndexOf(marker_name.toLowerCase()) != -1){layer.setStyle(rowPrice2);}else if(price3_rows.lastIndexOf(marker_name.toLowerCase()) != -1){layer.setStyle(rowPrice3);}else if(price4_rows.lastIndexOf(marker_name.toLowerCase()) != -1){layer.setStyle(rowPrice4);}else if(price5_rows.lastIndexOf(marker_name.toLowerCase()) != -1){layer.setStyle(rowPrice5);}} // if a shape was somhow saved, but has no coordinates try{var row_location = layer.getBounds().getCenter();layer.on('mouseover', function (e) {make_mini_photo_popup([row_location['lat'], row_location['lng']], section_name, row_name, "");}); layer.on('mouseout', function (e) { map.closePopup();}); layer.on('click', function (e) { var marker_name = section_name+':'+row_name; highlight_one_row(section_name, row_name); open_gallery(section_name, row_name); pan_and_highlight_section(section_name, row_name); }); }catch{// do nothing} } });}function make_mini_photo_popup(latlng, section_name, row_name, seat_name){ // the first time green is clicked, bring map into better view if(has_scrolled == false){ has_scrolled = true; $([document.documentElement, document.body]).animate({ scrollTop: $("#chart_container").offset().top }, 500); }/* Patch to accomidate gates and things that don't have rows */ if(row_name == "empty"){ row_name = ""; }var gallery_link = 'open_gallery(\''+section_name+'\',\''+row_name+'\');'; var content = ''; content += '
'; // added for ticketing var ticket_data = get_tickets_for_section(section_name, row_name); if(ticket_data!=""){ popup .setLatLng(latlng) .setContent(content) .openOn(map); } } function get_tickets_for_section(section, row){$.getJSON( "https://aviewfrommyseat.co.uk/ajax/get_event_tickets.php?jsoncallback=?",{"event_id": "2245754", "section": section, "row": row, "quantity": number_of_tickets},function(data) {if(data!=""){// safety checksvar data_length = data.length;if(data_length > 0){var content = format_mini_ticket_content(data);$("#mini_tickets").html(content);}}}).done(function(data) { }).fail(function(data) { }).always(function(data) { });}function format_mini_ticket_content(data){var section = data[0]['section_name'];var their_section = data[0]['their_section'];var row = data[0]['row_name'];var price = data[0]['price'];var currency = data[0]['currency'];var provider = data[0]['provider'];var quantity = data[0]['quantity'];var currency_symbol = get_currency_symbol(currency);// count total tickets herevar total = 0;$(data).each(function (index, value) {var quantity = value['quantity'];total += parseFloat(quantity);});var html = '
'+currency_symbol+price+'
';return html;}function open_gallery(section_name, row_name){ $("#spotlight").fadeIn();$("#ticket_data").html("");$("#reviews").html(""); $("#review_title").html(""); // #gallery_title should get set here var content = '';var gallery_title = 'madison square garden » section '+section_name+' » row '+row_name+''; $("#gallery_title").html(gallery_title); // clear old structured data first$("#structured_data").html("");$("#structured_data").removeClass("structured_data");var first_photo = ''; /*Try and find photos for this section and row*/$.getJSON( "https://aviewfrommyseat.co.uk/ajax/venue_seat_by_type.php?jsoncallback=?",{"venue": "madison square garden", "photo_type": "hockey", "section": section_name, "row": row_name, "total": "all"},function(data) { // set up big photoif(data!="" && data.length > 0){ // set up the galleryformat_gallery(data);first_photo = data[0]['index'];// set up structured dataget_photo_tags(first_photo, section_name, row_name); $("#review_title").html('Photos in section '+section_name+', row '+row_name+''); }else{/*Try and find photos that are close to this row*/ $.getJSON( "https://aviewfrommyseat.co.uk/ajax/venue_seat_by_type.php?jsoncallback=?", {"venue": "madison square garden", "photo_type": "hockey", "section": section_name, "row": row_name, "total": "all", "close_rows":"1" }, function(data) { // set up big photo if(data!="" && data.length > 0){ // set up the gallery format_gallery(data); $("#review_title").html('Photos in section '+section_name+', close to row '+row_name+''); }else{ /*Try and find photos for this section that just match the photo type*/$.getJSON( "https://aviewfrommyseat.co.uk/ajax/venue_seat_by_type.php?jsoncallback=?",{"venue": "madison square garden", "photo_type": "", "section": section_name, "row": "", "total": "all"},function(data) {// set up big photoif(data!="" && data.length > 0){// set up the galleryformat_gallery(data);$("#review_title").html('Photos in section '+section_name+'');}else{/*Try and find photos for this section that just match the photo type*/$.getJSON( "https://aviewfrommyseat.co.uk/ajax/venue_seat_by_type.php?jsoncallback=?",{"venue": "madison square garden", "photo_type": "", "section": section_name, "row": "", "total": "all"},function(data) {// set up big photoif(data!="" && data.length > 0){// set up the galleryformat_gallery(data);$("#review_title").html('All photos in section '+section_name+'
No hockey photos found.');}else{// no photos for the section evenvar placeholder_content = '
No photo reviews available.
Be the first to share a photo from here.
';$("#reviews").html(placeholder_content);}}).done(function(data){}).fail(function(data){}).always(function(data){}); }}).done(function(data){}).fail(function(data){}).always(function(data){}); } }) .done(function(data){}) .fail(function(data){}) .always(function(data){}); }}).done(function(data) {// no photos available, get section tagsif(first_photo == ''){ get_venue_tags("madison square garden", section_name, row_name)}}).fail(function(data) {}).always(function(data) { }); // check ticketsget_gallery_tickets(section_name, row_name); } function get_gallery_tickets(section_name, row_name=""){// clear out past data$.getJSON( "https://aviewfrommyseat.co.uk/ajax/get_event_tickets.php?jsoncallback=?",{"event_id": "2245754", "section": section_name, "row": row_name, "quantity": number_of_tickets},function(data) {// set up big photoif(data != "" && data.length > 0){// set up the galleryformat_gallery_tickets(data);}}).done(function(data) { }).fail(function(data) {}).always(function(data) { });}function format_gallery_tickets(data){if(data != "" && data.length > 0){var content = '
Tickets
';content += '
';$(data).each(function (index, value) {var event_id = value['event_id'];var section_name = value['section_name']; var their_section = value['their_section'];var their_section_id = value['their_section_id'];var row_name = value['row_name'];var quantity = value['quantity'];var price = value['price'];var currency = value['currency'];var notes = value['notes'];var provider = value['provider'];var url = value['url']; var ticket_id = value['ticket_id']; if(provider == 'ticketcity'){ url += '&acv=seating_chart&utm_source=aviewfrommyseat&utm_medium=seating_chart&inventory='+ticket_id; // this part isn't working at the moment var their_section_link = their_section.replaceAll(" ","@-@");url += "#"+their_section_link; }else if(provider == 'stubhub'){ url += '?byo=true&sid='+their_section_id+'&ticket_id='+ticket_id; } if(section_name == ""){ section_name = their_section; } var currency_symbol = get_currency_symbol(currency);content += '
';content += '';content += ''+section_name+'';content += 'row '+row_name+' | '; content += ''+quantity+' tickets'; content += '';content += '';content += ''+currency_symbol+price+''+provider+'';content += '';});content += '
';$("#ticket_data").html(content);if($("#sv_photo_gallery").is(":hidden")){ // show gallery$("#sv_photo_gallery").show();// hide main scroll bar$("body").css('overflow', 'hidden');// make grey area clickable, to close gallery$("#sv_photo_gallery .grey").click(function(){$("body").css('overflow', 'auto');$("#sv_photo_gallery").hide(); switchgeoJson(current_zoom, current_section);$("#spotlight").fadeOut();});// make grey area clickable, to close gallery$("#sv_photo_gallery .close").click(function(){$("body").css('overflow', 'auto');$("#sv_photo_gallery").hide(); switchgeoJson(current_zoom, current_section);$("#spotlight").fadeOut();});}}}function format_gallery(data){ var content = ''; if(data !="" && data.length > 0){ $(data).each(function (index, value) {var index = value['index'];var image = value['image'];var venue = value['venue'];var section = value['section'];var row = value['row'];var seat = value['seat'];var member = value['member_name'];var reviews = value['reviews'];var video = value['video'];var rating = make_rating(value['rating'], 16);var note = stripslashes(value['note']);var clean_venue = clean_link_text(venue);var clean_section = clean_link_text(section);var clean_row = clean_link_text(row);var clean_seat = clean_link_text(seat);if(member == null){member = 'anonymous';}var play_button = '';if(video != ""){ play_button = '';}var photo_link = '/photo/'+index+'/'+clean_venue+'/section-'+clean_section+'/row-'+clean_row+'/seat-'+clean_seat+'/';content += '
';content += '
';content += ''+member+'';content += ''+rating+'';content += '
';content += '
';content += ''+play_button+'';content += '
';content += '
';content += '
'+venue+'
';content += '
'+note+'
';content += '
';content += '
';content += '
';content += '
'+section+'
';content += '
section
';content += '
';content += '
';content += '
'+row+'
';content += '
row
';content += '
';content += '
';content += '
'+seat+'
';content += '
seat
';content += '
';content += '
';content += '
';});}// add reviews to div$("#reviews").html(content);// show gallery$("#sv_photo_gallery").show();// hide main scroll bar$("body").css('overflow', 'hidden');// make grey area clickable, to close gallery$("#sv_photo_gallery .grey").click(function(){$("body").css('overflow', 'auto');$("#sv_photo_gallery").hide(); switchgeoJson(current_zoom, current_section);$("#spotlight").fadeOut();});// make grey area clickable, to close gallery$("#sv_photo_gallery .close").click(function(){$("body").css('overflow', 'auto');$("#sv_photo_gallery").hide(); switchgeoJson(current_zoom, current_section);$("#spotlight").fadeOut();});}function make_rating(rating, size){// 12, 16, 18var num = parseFloat(rating);num = Math.round(num*2)/2;var rating_image = '';if(num > 0){rating_image = ' dumb color coding hack */if(num == .5){rating_image += '0_5';}else if(num == 1){rating_image += '1_0';}else if(num == 1.5){rating_image += '1_5';}else if(num == 2){rating_image += '2_0';}else if(num == 2.5){rating_image += '2_5';}else if(num == 3){rating_image += '3_0';}else if(num == 3.5){rating_image += '3_5';}else if(num == 4){rating_image += '4_0';}else if(num == 4.5){rating_image += '4_5';}else if(num == 5){rating_image += '5_0';}rating_image += '.png" />';}return rating_image;}function clean_link_text(text){var clean_text = text.toLowerCase();clean_text = clean_text.split(' ').join('+');clean_text = clean_text.split('&').join('-and-');clean_text = escape(clean_text);return clean_text;}function stripslashes(str) { return (str + '').replace(/\\(.?)/g, function (s, n1) {switch (n1) {case '\\': return '\\';case '0': return '\u0000';case '': return '';default: return n1;} });}function get_currency_symbol(currency){currency = currency.toLowerCase();var symbol = "$";switch(currency) { case 'gbp':symbol = "£";break; case 'eur':symbol = "€";break; case 'cad':symbol = "$";break; case 'jpy':symbol = "¥";break; case 'aud':symbol = "$";break; case 'sek':symbol = "k";break; case 'nzd':symbol = "$";break; case 'pln':symbol = "zł";break; case 'dkk':symbol = "kr";break;}return symbol;}function find_rows_with_stat(row_stat){$.getJSON( "https://aviewfrommyseat.co.uk/ajax/venue_rows_with_stat.php?jsoncallback=?",{"venue_id": "66", "row_stat": row_stat, "photo_type": "hockey",},function(data) { make_list_of_rows_with_stat(data);}).done(function(data) { }).fail(function(data) { }).always(function(data) { });}function make_list_of_rows_with_stat(data){// clear the arrays//sections_to_highlight = [];accessible_rows = [];if(data != "" && data.length >= 1){$.each(data, function(key,val) {var combo_name = val.section.toLowerCase()+":"+val.row.toLowerCase();accessible_rows.push($.trim(combo_name));});}switchgeoJson(current_zoom);} function make_filter_request(venue_id, photo_type, filter){if(photo_type.toLowerCase() == 'all'){photo_type = '';} $.getJSON( "/ajax/venue_sections_for_filter.php?jsoncallback=?",{"venue_id": venue_id, "photo_type":photo_type, "filter": filter},function(data) {highlight_sections(data);}).done(function(data) { }).fail(function(data) { }).always(function(data) { }); } function highlight_sections(data){var section,section_shape;// clear the arrayssections_to_highlight = [];//accessible_rows = [];if(data != "" && data.length >= 1){$.each(data, function(key, val) {section = val.section_name.toLowerCase();// make an array of sections to highlightsections_to_highlight.push(section);});}// recall the layout partswitchgeoJson(current_zoom, current_section);}function get_photo_tags(photo_id, section_name, row_name){// clear old structured data first$("#structured_data").html("");$("#structured_data").removeClass("structured_data");$.getJSON( "https://aviewfrommyseat.co.uk/ajax/get_photo_tags.php?jsoncallback=?",{"photo_id": photo_id},function(data) { if(data!=""){ format_structured_data(data, section_name, row_name);}}).done(function(data) { }).fail(function(data) { }).always(function(data) { });}function get_venue_tags(venue, section_name, row_name){// clear old structured data first$("#structured_data").html("");$("#structured_data").removeClass("structured_data");$.getJSON( "https://aviewfrommyseat.co.uk/ajax/get_photo_tags.php?jsoncallback=?",{"venue": venue, "section": section_name, "row": row_name, "photo_type": "hockey"},function(data) {if(data!=""){ format_structured_data(data, section_name, row_name);}}).done(function(data) { }).fail(function(data) { }).always(function(data) { });}function format_structured_data(data, section_name, row_name){//console.log("row: "+row_name);// fallback safety, this should already be cleared$("#structured_data").html("");$("#structured_data").removeClass("structured_data");// get for format structured datavar content = '';var section_tags = data['section_tags'];var row_tags = data['row_tags'];var ratings = data['section_rating'];if(ratings != ""){ if(ratings['rating'] != 0){var stars = make_rating(ratings['rating'], 12); content += '
';content += '
Section Rating
';content += '
'+ratings['rating']+'
'; content += '
'+stars+'
';content += '
'+ratings['rating_count']+' ratings
'; content += '
'; }}if(section_tags != "" && section_name != undefined){var section_tag_string = "Section %s is tagged with";var bold_section_name = ''+section_name+'';section_tag_string = section_tag_string.replace('%s', bold_section_name); content += '
';content += ''+section_tag_string+':';content += '
';$.each(section_tags, function(key, val) {content += '';content += '✓ ';content += ''+val['question']+'';content += '';});content += '
';content += '
';}if(row_tags != "" && row_name != undefined){var row_tag_string = "Row %s is tagged with";var bold_row_name = ''+row_name+'';row_tag_string = row_tag_string.replace("%s", bold_row_name); content += '
';content += ''+row_tag_string+':';content += '
';$.each(row_tags, function(key, val) { var icon = '✓'; if(val['question'] == 'is accessible'){ icon = ''; } content += '';content += ''+icon+' ';content += ''+val['question']+'';content += '';});content += '
';content += '
';}if(content != ""){ $("#structured_data").addClass("structured_data"); $("#structured_data").html(content);}} function position_scroll_things(stickyOffset){ // zoom functions var sticky = $('.leaflet-control-container'); var chart_key = $('#chart_key'); var scroll = $(window).scrollTop(); var map_height = $("#sv_chart").height(); var zoom_home = $("#zoom_home"); if (scroll >= stickyOffset && scroll <= map_height){ sticky.addClass('fixed'); chart_key.addClass('fixed');zoom_home.addClass('fixed'); }else{ sticky.removeClass('fixed'); chart_key.removeClass('fixed');zoom_home.removeClass('fixed'); } // don't do this on mobile var window_width = $(window).width(); if(window_width >= 768){ // tickets widget var sticky = $('#all_tickets'), scroll = $(window).scrollTop()+120; if (scroll >= stickyOffset && scroll <= map_height){ sticky.addClass('fixed'); }else{ sticky.removeClass('fixed'); } } } // this positions the zoom controls and sidebar better $(function(){ var stickyOffset = $('.leaflet-control-container').offset().top; $(window).scroll(function(){ // on scroll readjust position_scroll_things(stickyOffset); }); // on load or refresh setup position_scroll_things(stickyOffset); });
PhotosTickets
Green rows have tickets