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){
$("
")
.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();
});