function MediaServicesSBRInitLibrary() { // begin library code wrapper
if(window.goN2LibMon) { goN2LibMon.beginLoad('sbr','sbr'); }
window.ms_sbr = new Array();
window.MediaServicesSBRGeneratePopup = function (prefix, popoverObject, duObject, pageID, descLen, imgSize, urlSuffix, popupWidth) {
goN2Events.registerFeature(prefix + 'spot',
prefix + 'pop', 
'n2MouseOverHotspot',
'n2MouseOutHotspot');
popoverObject.initialize(prefix + 'popDiv', prefix + 'pop');
duObject.setTargetElementID(prefix + 'popDiv');
popoverObject.setCallback('afterShow',
function(tData)
{
if(tData.thingParams) {
var loadingDiv = goN2U.getElement(prefix + 'loading');
loadingDiv.innerHTML = duObject.sLoadingMessage;
var loadingWidth = goN2U.getElementWidth(loadingDiv);
var oHotspot = new Object();
oHotspot.oLink = new Object();
oHotspot.oLink.id = tData.linkID;
popoverObject.locate(oHotspot, loadingWidth);
var keyvals = tData.thingParams.split('~');
var params = {};
for (var i in keyvals) {
keyvals[i].match(/(.*?):(.*)/);
params[RegExp.$1] = RegExp.$2;
}
params.pageID = pageID;
params.descLen = descLen;
params.imgSize = imgSize;
params.urlSuffix = urlSuffix;
duObject.setHandler(params.ducomp, 'xd');
duObject.requestUpdate('mdp', tData.thingID, 'am', params);
}
}
);
popoverObject.configureAnimation(0,0,"","");
popoverObject.locate = function (oHotspot, popWidthOverride) { 
var area = document.getElementById(oHotspot.oLink.id);
var coords = area.coords.split(',');
var maxX = new Number(coords[0]);
var minX = new Number(coords[0]);
var maxY = new Number(coords[1]);
var minY = new Number(coords[1]);
for(var i = 0; i < coords.length; i += 2) {
var x = new Number(coords[i]);
var y = new Number(coords[i + 1]);
maxX = maxX > x ? maxX : x;
maxY = maxY > y ? maxY : y;
minX = minX < x ? minX : x;
minY = minY < y ? minY : y;
}
var imageElement = document.getElementById(prefix + 'MainImage');
var imageX = goN2U.getElementLeft(imageElement);
var imageY = goN2U.getElementTop(imageElement);
var popX = imageX + minX;
var popY = imageY + maxY;
var popwidth = popWidthOverride ? popWidthOverride : popupWidth;
var centerAdjustX = parseInt((maxX-minX)/2 - popwidth/2); 
popX = Math.max(popX + centerAdjustX, 4);
var windowMinX = goN2U.getScrollLeft() + 4;
var windowMaxX = goN2U.getScrollLeft() + goN2U.getInsideWindowWidth() - 4;
var windowMinY = goN2U.getScrollTop() + 4;
var windowMaxY = goN2U.getScrollTop() + goN2U.getInsideWindowHeight() - 19;
popX = Math.max(windowMinX, popX);
popX = Math.min(windowMaxX - popwidth, popX);
popY = Math.max(windowMinY, popY);
popY = Math.min(windowMaxY - this.height, popY);
this._doLocate (popX, popY);
};
duObject.onRequestSuccess = function(aHTML, aJSFunctions, nStatus, sRequestID) {
var oHotspot = new Object();
oHotspot.oLink = new Object();
oHotspot.oLink.id = popoverObject.linkID;
popoverObject.locate(oHotspot);
for ( var i = 0; i < aHTML.length; i++) {
aHTML[i] = "<div style='width:" + popupWidth +";'>" + aHTML[i] + "</div>";
}
duObject._onRequestSuccess(aHTML, aJSFunctions, nStatus, sRequestID);
};
}
window.MediaServicesSBRHoverBehavior = function (prefix, popover, mainImageURL, hoverImageURL) {
var mainImage = document.getElementById(prefix + "MainImage");
window.ms_sbr[prefix] = new Object();
window.ms_sbr[prefix].hoverImage = false;
window.ms_sbr[prefix].hoverHotspot = false;
window.ms_sbr[prefix].delayedShowImage = function(millis) {
if(window.ms_sbr[prefix].popovertime == undefined) {
setTimeout("window.ms_sbr['" + prefix + "'].showImage(" + millis + ")", millis);
}
window.ms_sbr[prefix].popovertime = new Date().getTime();
}
window.ms_sbr[prefix].showImage = function(millis) {
var currentTime = new Date().getTime();
if(window.ms_sbr[prefix].popovertime + millis > currentTime) {
setTimeout("window.ms_sbr['" + prefix + "'].showImage(" + millis + ")", millis);
} else if(window.ms_sbr[prefix].hoverImage == false && window.ms_sbr[prefix].hoverHotspot == false) {
mainImage.src = mainImageURL;
window.ms_sbr[prefix].popovertime = undefined;
} else {
mainImage.src = hoverImageURL;
window.ms_sbr[prefix].popovertime = undefined;
}
}
mainImage.onmouseover = function() {
window.ms_sbr[prefix].hoverImage = true;
mainImage.src = hoverImageURL;
}
mainImage.onmouseout = function() {
window.ms_sbr[prefix].hoverImage = false;
window.ms_sbr[prefix].delayedShowImage(500);
}
function hotspotShow() {
window.ms_sbr[prefix].hoverHotspot = true;
mainImage.src = hoverImageURL;
}
function hotspotHide() {
window.ms_sbr[prefix].hoverHotspot = false;
window.ms_sbr[prefix].delayedShowImage(500);
}
popover.setCallback('beforeShow', hotspotShow);
popover.setCallback('afterHide', hotspotHide);
}
if (window.goN2LibMon) { goN2LibMon.endLoad('sbr'); }
} //end library wrapper
n2RunIfLoaded("simplepopover", 
function() {n2RunIfLoaded("dynupdate", MediaServicesSBRInitLibrary, "sbr"); },
"sbr");