bam.loadSync(bam.homePath + "bam.url.js"); bam.loadSync("/scripts/bam.promotion.js"); openPromoWindow = function(page_url, width, height, game_id) { page_url = page_url || "/schedule/promotions_popup.jsp?c_id=" + club + "&puid=" + game_id.replace(/[\/-]/g, "_"); // assuming game_id will always be present width = width || 316; height = height || 300; window.open(page_url, 'mlb_promo', 'width='+width+', height='+height+',location=no,menubar=no,scrollbars=yes,status=no,toolbar=no,resizable=yes') }; bam.tixLinks = (function(){ var _props = { serviceParams : {} }; var data = {}; var _linkSettings = { "TICKETS" : { icon : "/images/schedule/icon_ticket.gif", altText : "Buy Tickets", titleText_prefix : "Buy Tickets", clickHandler : function(props) { openTIXXWindow(props.tlink, props.at); } }, "PROMOTIONS" : { icon :"/images/schedule/icon_promotions.gif", altText : "Promotion", titleText_prefix : "Promotion: ", clickHandler : function(props, evt) { width = props.width || 320; height = props.height || 300; bam.promotion.getInfo(props, evt, width, height); } } }; var _log = function(){ if (_self.debug && typeof console!="undefined"){ var args = Array.prototype.slice.call(arguments, 0); args.unshift("bam.tixLinks: "); console.log.apply(this, args); } }; var _showLink = function(props){ $(""+_linkSettings[props.cat].altText+"") .css("cursor","pointer") .click(function(evt) { _linkSettings[props.cat].clickHandler(props, evt); }) .appendTo(props.$wrap); }; var _self = { debug: false, getData : function() { return data; }, init: function(customProps) { $.extend(_props, customProps); delete _self.init; }, load: function(settings){ if (settings.serviceUrl){ // if serviceUrl was specified _log("load(): serviceUrl = " + settings.serviceUrl); var serviceParams = {}; $.extend(serviceParams, _props.serviceParams, settings.serviceParams); $.ajax({ async : false, dataType : "json", url : settings.serviceUrl, data : serviceParams, success : function(serviceData) { // get service data if (serviceData && serviceData.events){ _log("load(): received data."); // convert data (array) to a hash for faster references if (serviceData.events.game && serviceData.events.game.constructor==Array){ // handle multiple tlinks for (var i=0; i/g, ""), alt_page_url : promo.alt_page_url, /* if not null, will open a window */ width : promo.pop_up_width, height : promo.pop_up_height, cat : "PROMOTIONS", game_time_local : data[scheduleid].game_time_local, home_name_team : data[scheduleid].home_name_team, away_name_full : data[scheduleid].away_name_full, at : ((homeTeamId==_props.serviceParams.team_id)?"home":"away"), promotion : data[scheduleid].promotion }); } } }); } } return _self; })(); $(document).ready(function(){ var requestParams = bam.url.Location(window.location); var curYear = requestParams.getParam("y") || "2009"; var endYear = curYear; var curMonth = requestParams.getParam("m") || "11"; var nextMonth = parseInt(curMonth) + 1; if (nextMonth > 12){ nextMonth = 1; endYear = curYear+1; } var getTwoDigitValue = function(val){ return (val.toString().length==1) ? "0"+val : val.toString(); } var properCase = function(str) { return str.substr(0, 1).toUpperCase() + str.substr(1, str.length).toLowerCase(); }; bam.tixLinks.section = "SCHEDULE"; // (section) ? section.toUpperCase() : "DEFAULT"; bam.tixLinks.init({ serviceParams : { team_id : "null", sport_id : "1", begin_date : curYear + getTwoDigitValue(curMonth) + "01", end_date : curYear + getTwoDigitValue(nextMonth) + "01", year : curYear } }); bam.tixLinks.load({ serviceUrl : "/ticketing-client/json/Game.tiksrv", serviceParams : { site_section : "'" + bam.tixLinks.section + "'" } }); bam.tixLinks.load({ serviceUrl : "/ticketing-client/json/GamePromotion.tiksrv", serviceParams : { display_in : "'" + properCase(bam.tixLinks.section) + "'" } }); bam.tixLinks.render(); });