//! ======= JSF Bootstrap (1) =======
// $Revision: #13 $
var gbN2Loaded = N2Loaded = false;
var n2LMStart = new Date();

var gaN2JSLibs = [];
var gaN2JSLibPaths = [];
var gaN2JSLibIds = [];
var gaN2CSSLibs = [];
var gaN2CSSLibPaths = [];
var n2sRTW1='onload';
var n2sRTWTBS='simplepopoverloaded';


var goN2Initializer = {
      aHandlers: [],
      aEventsRun: [],
      bCoreLoaded: false,

	runThisWhen: function (sWhen, fFn, sComment) {
	  if ( (typeof fFn != 'function') || fFn == null) return false;
	  sWhen = sWhen.toLowerCase();
	
	  this.aHandlers[this.aHandlers.length] = { sWhen: sWhen, fFn: fFn, sComment: sComment };
	  return true
	},
	run: function() {},
	isReady: function() {return false;}

};
goN2Initializer.initializeThis = goN2Initializer.runThisWhen;

function n2RunThisWhen(sWhen, fFn, sComment) {
  goN2Initializer.runThisWhen(sWhen, fFn, sComment);
}
function n2RunIfLoaded(sLibID, fFn, sComment) {
	goN2Initializer.runThisWhen(sLibID+'loaded', fFn, 'sequenced init of '+ sComment);
}

var goN2LibMon = {
	aLibs: {},
	nMONITORLOAD: -1,

	monitorLoad: function (sLibID) {
		this.aLibs[sLibID] = { sID: sLibID, nDuration: this.nMONITORLOAD };
	},

	stats: function() {}
};


//! ======= JSF Bootstrap (2) =======

var goJSFStringTableProperties = new Object();
var goJSFImageURLProperties = new Object();
var goCust = new Object();


gaN2JSLibPaths.push(
    'n2CoreLibs-utilities-25439.js',
    'n2CoreLibs-events-18500.js',
    'n2CoreLibs-simplePopover-41389.js',
    'n2CoreLibs-staticPopover-24266.js',
    'n2CoreLibs-dynUpdate-55682.js');




  var i;
  var sTags = "";
  var bIsSafari = navigator.userAgent.match(/Safari/);
  for (i in gaN2CSSLibPaths)
  {
    sTags += '<'+'l'+'i'+'n'+'k'+' '+'h'+'r'+'e'+'f'+'="'+gaN2CSSLibPaths[i]+'" type="text/css" rel="stylesheet">\n';
  }
  for (i in gaN2JSLibPaths)
  {
    goN2LibMon.monitorLoad(gaN2JSLibIds[i]);
    var sScript = '<'+'s'+'c'+'r'+'i'+'p'+'t'+' '+'s'+'r'+'c="'+gaN2JSLibPaths[i]+'" type="text/javascript"><\/script>\n';
    if (bIsSafari) document.write(sScript);
    else sTags += sScript;
  }
  document.write(sTags);

//! ======= JSF Bootstrap (End) =======




	n2RunThisWhen(n2sRTWTBS,
				  function() {
					  oYSItemPopover = new N2SimplePopover();
					  goN2Events.registerFeature('lightbox_content', 'oYSItemPopover', 'n2MouseOverHotspot', 'n2MouseOutHotspot');
					  goN2Events.setFeatureDelays('lightbox_content',200, 400, 200);
					  oYSItemPopover.initialize('YSItemPopoverDiv', 'oYSItemPopover','aShvlContent',null,'below','c');
				  },
				  'Your Store Item popover');
	n2RunThisWhen ('lastlibraryloaded',
	   function() {
			oYSItemPopover.locate = function (oHotspot) {
				var popX = oHotspot.absleft;
				var popY = oHotspot.abstop + oHotspot.height;
				
				var xMin = oHotspot.scrollLeft + 4;
				var xMax = oHotspot.scrollLeft + oHotspot.clientWidth - 4;
				var yMin = oHotspot.scrollTop + 4;
				var yMax = oHotspot.scrollTop + oHotspot.clientHeight - 19;
	
				X = popX + parseInt(oHotspot.width/2 - this.width/2);
				Y = popY;
				X = Math.min(X,xMax - this.width);
				Y = Math.min(Y,yMax - this.height);
				X = Math.max(X,xMin);
				Y = Math.max(Y,yMin);
				this._doLocate (X, Y);
			};

		});

