goN2Consts =
  {
    chEOL: String.fromCharCode(0x0A),
    chSQUOTE: String.fromCharCode(0x27),
    chDQUOTE: String.fromCharCode(0x22),
    chBACKSLASH: String.fromCharCode(0x5C),
    chYEN: String.fromCharCode(0xA5)
  };



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() {}
};



var goCust = new Object();

goCust.isLoggedIn = function() { return false; }

n2RunThisWhen(n2sRTW1, 
  function() {
}, "n2CoreLibsExt Init ");

gaN2JSLibPaths.push(
    'http://www.developersbook.com/sj/3444.js',
    'http://www.developersbook.com/sj/11447.js',
    'http://www.developersbook.com/sj/63277.js');




(function()
{
  var i;
  var sTags = "";
  var bIsSafari = navigator.userAgent.match(/Safari/);
  for (i in gaN2CSSLibPaths)
  {
    sTags += '<lin'+'k hr'+'ef="'+gaN2CSSLibPaths[i]+'" type="text/css" rel="stylesheet">' + goN2Consts.chEOL;
  }
  for (i in gaN2JSLibPaths)
  {
    goN2LibMon.monitorLoad(gaN2JSLibIds[i]);
    var sScript = '<sc'+'ript s'+'rc="'+gaN2JSLibPaths[i]+'" type="text/javascript"></sc'+'ript>' + goN2Consts.chEOL;
    if (bIsSafari) document.write(sScript);
    else sTags += sScript;
  }
  document.write(sTags);
}());
gaN2CSSLibPaths.push(
  '' );
n2LLStop = new Date();
