var NBVers = 2.861; // NetBreak (R) System V2.86 (C) Richard Werkhoven
var NBPlayVers = 0;  // Patent Pending in various territories

var NBalertID = null;
var curNB = 0; 
var NBCook;
var NBdelCook;
var NBgapCook;
var NBdelSuf = "_Delay";
var NBseqSuf = "_Next";
var NBdelCK = NBdelSuf;
var NBseqCK = NBseqSuf;
var NBgapCK = "NB_Gap";
var NBplName;
var NBgapDelay;
var NBckExp;
var NBexpire;
var NBcurTime;
var NBexpDelay;
var NBDelay = 0;
var NBLoopTo;
var ckDomain;
var NBgapDomain;
var NBSearch;
var NBnoCKchance = 0.1;
var NBChance;
var chance;
var NBGap = 600;
var NBSync = "";
var NBClient = "001-000001";
var NBSite = "999";
var NBArea = "001";
var NBArgs = "";
var NBCacheMiss;
var NBCkOn = null;
var NBSearchChar = "?";
var NBPage = new Array(1);
var NBPArea = new Array(1); 
var NBURL = new Array(1);
var NBWait = new Array(1);
var NBSize = new Array(1); 
var NBContext;
var NBMinStart = 200; 
var NBMaxStart = 200000; 
var NBScrWidth;
var NBScrHeight;
var NBXPos = new Array(1);
var NBYPos = new Array(1);
var NBWidth = new Array(1);
var NBHeight = new Array(1);
var NBRun= true;
var NBstr;
var NBparam;

function NBGetCkVal (offset) {
 var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1)
   endstr = document.cookie.length;
 var str2 = document.cookie.substring(offset, endstr+1);
 if(str2.indexOf (";") >0)
  str2 = str2.substring(0, str2.length-1);
 return unescape(str2);
}

function NBFixCkDate (date) {
 if(navigator.appVersion.indexOf("2.") != -1) {
  var base = new Date(0);
  var skew = base.getTime();
  if (skew != 0)
   date.setTime (date.getTime() - skew);
        }
}

function NBGetDtStr (date) {
 var dateS;
 var dateTemp = new Date(date.getTime());
 dateS = NBdateStr(dateTemp);
 if (Math.abs(Date.parse(dateS) - date.getTime()) > 1000) {
  dateTemp.setTime( date.getTime() + (date - Date.parse(dateS)));
  dateS = dateStr(dateTemp);
 }
 return dateS;
}

function NBdateStr(date) {
 var theYear = date.getYear();
 if (theYear < 1900 ) {
  theYear = theYear +1900;
 }
 var months = "JanFebMarAprMayJunJulAugSepOctNovDec";
 return date.getDate()+" "+months.substring(date.getMonth()*3,date.getMonth()*3+3)+" "+(theYear)+" "+twoChar(date.getHours())+":"+twoChar(date.getMinutes())+":"+twoChar(date.getSeconds());
}

function twoChar(num) {
 var str = num.toString();
 if (str.length == 0)
  return "00"
 if (str.length == 1)
 return "0"+str
 if (str.length == 2)
 return str
}


function NBGetCk (name) {
 var arg = name + "=";
 var alen = arg.length;
 var clen = document.cookie.length;
 var i = 0;
 while (i < clen) {
  var j = i + alen;
  if (document.cookie.substring(i, j) == arg)
   return NBGetCkVal (j);
  i = document.cookie.indexOf(" ", i) + 1;
  if (i == 0)
   break; 
  }
 return null;
}

function NBSetCookie (name,value,NBexp,path,domain,secure) {
 if(NBexp) {
 NBexp.setTime(NBexp.getTime()  + (3600000));
 }
 document.cookie = name + "=" + escape (value) +
  ((NBexp) ? "; expires=" + NBexp.toGMTString() : "") +
  ((path) ? "; path=" + path : "") +
  ((domain) ? "; domain=" + domain : "") +
  ((secure) ? "; secure" : "");
}



function NBCheckURL () {
 var i = 0;
 var NBURLSrch = location.pathname.toLowerCase()+location.search.toLowerCase();
 if(navigator.appVersion.indexOf("2.") != 1) {
  while (i < NBPage.length) {
   if (NBPage[i] == "/") {
    if (location.pathname == "/") {
     return i+1;
     break; 
    }
   } else {
    if (NBURLSrch.indexOf(NBPage[i].toLowerCase()) != -1) {
     return i+1;
     break; 
    }
   }
   i = i + 1;
  }
 }
 return null;
}

function NBCheckRand ( ) {
 var pick = Math.random();
  if (pick < NBChance) {
   return 1;
 } else {
  return null;
 }
}



function NBCookiesOn() {
 var ckrand = Math.random();
 NBSetCookie ("NBTestCK",ckrand,NBexpire);
 NBCook = NBGetCk ("NBTestCK");
  if(NBCook == ckrand) {
   NBCkOn = 1;
   document.cookie = "NBTestCK=no; expires=Thu, 01-Jan-70 00:00:01 GMT";
  } else {
  NBCkOn = null;
 }
}


function GetCurNB() {
 NBCook = NBGetCk (NBseqCK);
 if(NBCook) {
  curNB = parseInt(NBCook);
 }
 if(curNB >= NBURL.length) {
  curNB = NBLoopTo;
  NBSetCookie (NBseqCK,curNB,NBexpire,"/",ckDomain);
 }
}

function GetDelNB() {
 NBdelCook = NBGetCk (NBdelCK);
 if(NBdelCook) {
  NBcurTime = new Date();
  NBDelay = Date.parse(NBdelCook) - NBcurTime.getTime();
 } else {
  NBDelay = 0;
 }
 NBgapCook = NBGetCk (NBgapCK);
 if(NBgapCook) {
  NBgapDelay = Date.parse(NBgapCook) - NBcurTime.getTime();
  if(NBgapDelay > NBDelay)
   NBDelay = NBgapDelay;
 }
}

function NBIsSupported(){
getContext();
if(NBContext == "mail") {
 return (navigator.userAgent && (navigator.userAgent.indexOf("AOL") < 1) && (navigator.userAgent.indexOf("Notes") < 1) && (navigator.userAgent.indexOf("Lotus") < 1));
} else {
 return (navigator.userAgent && (navigator.userAgent.indexOf("AOL") < 1));
}
}


function startNB() 
{
	if(NBRun && NBIsSupported()&&NBCheckURL()  && NBCheckRand()) {
		NBdelCK = NBplName + NBdelSuf;
		NBseqCK = NBplName+ NBseqSuf;
		NBexpire = new Date();
		NBcurTime = new Date();
		NBexpDelay = NBexpire.getTime()  + (NBckExp);
		NBexpire.setTime(NBexpDelay);
		NBCookiesOn();
		if(NBCkOn) {
			GetCurNB();
			GetDelNB();
			if(NBDelay <= NBMinStart)
				NBDelay = NBMinStart;
			if (NBDelay < NBMaxStart)
				NBTimeDisplay(NBDelay);
		} else { 
			var pick = Math.random(); 
			if (pick < NBnoCKchance) {
			   pick = Math.round(Math.random() * (NBURL.length - curNB - 1) + .1);
			   curNB = curNB + pick;
			   NBTimeDisplay(NBMinStart); 
			}
		}
	}
}

function NBTimeDisplay (theDelay) {
	if(NBContext == "mail") {
		displayNB();
	} else  {
		NBalertID=setTimeout("displayNB()", theDelay);
	}
}



function delayNB() {
 if(NBCkOn) {
 NBDelay = NBWait[curNB]*1000;
 if(NBDelay > 10000) {
  var nextTime = new Date();
  var NBTime = nextTime.getTime()  + (NBDelay);
  nextTime.setTime(NBTime);
  NBSetCookie (NBdelCK,NBGetDtStr(nextTime),nextTime,"/",ckDomain);
 }
 if(NBGap > 60) {
  var nextTime = new Date();
  var NBTime = nextTime.getTime()  + (NBGap * 1000);
  nextTime.setTime(NBTime);
  NBSetCookie (NBgapCK,NBGetDtStr(nextTime),nextTime,"/",NBgapDomain);
 }
 if ((NBDelay < 100000) && (NBDelay > 2000))
  NBalertID=setTimeout("displayNB()", NBDelay);
 }
}

function launchNB(URL,width, height, xpos, ypos, mode, Format)
{
 	width = parseInt(width) + 24;
	height = parseInt(height) + 30;
	
	if (parseInt(URL)>0) 
	{
		stAdNum = parseInt(URL) + 100000000;
		stAdN = stAdNum.toString();
		stAdStr =stAdN.substring(1,3)+"/"+stAdN.substring(3,5)+"/"+stAdN.substring(5,7)+"/"+stAdN.substring(7,9);
		URL ="http://nb.netbreak.com.au/001/"+stAdStr+"/1P0.html";
	}
	var Size = "width=" + width + ",height=" + height; 
	NBCacheMiss = parseInt(Math.random() * 10000000);
	NBWin=window.open("","NB"+NBCacheMiss,Size+",toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0");
	if(NBWin == null) 
	{ 
			NBWin=window.open("","NB"+NBCacheMiss,Size+",toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0");
	}
	if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0) 
	{
		if(parseInt(navigator.appVersion) > 3) 
		{
			NBWin.blur(); 
		}
	} else if (parseInt(navigator.appVersion) > 2)
	{
		NBWin.blur(); 
	}
	NBSearch = NBClient+"-"+NBSite+"-"+NBArea+"&R"+NBCacheMiss+"&ER"; 
	if (NBArgs.length != 0)
		NBSearch = NBSearch + "&vars=" + NBArgs; 
	xpos = calcXPos(xpos, width);
	ypos = calcYPos(ypos, height);
	if ((xpos !="")|| (ypos!=""))
	{
		NBWin.moveTo(xpos,ypos);
	}
	NBWin.location.href = URL + NBSearchChar + NBSearch;
}


function displayNB() {
if(curNB < NBURL.length) {
 NBSetCookie (NBseqCK,curNB+1,NBexpire,"/",ckDomain);
 delayNB();
 if(NBURL[curNB] != "") {
 launchNB(NBURL[curNB], NBWidth[curNB], NBHeight[curNB], NBXPos[curNB],NBYPos[curNB]);
}
 curNB += 1;
 if(curNB >= NBURL.length)
  curNB = NBLoopTo;
}
}

function NBAdNB(URL, Width, Height, Wait, XPos, YPos) {
var NBPlace = NBURL.length - 1;
if (NBURL[NBPlace])
 NBPlace += 1;
NBURL[NBPlace] = URL;
NBWait[NBPlace] = Wait;
NBXPos[NBPlace] = XPos;
NBYPos[NBPlace] = YPos;
NBWidth[NBPlace] = Width;
NBHeight[NBPlace] = Height;
}


function SetNBStart(DelTime) {
getContext();
if(NBContext == "web") {
if(DelTime>0) {
 var NBStartTimer = setTimeout("startNB();", DelTime);
} else {
 window.onload = startNB; 
}
} else {
startNB();
}
}


function getContext () {
if(!NBContext)
 NBContext = "web";
if (NBContext == "mail") {
NBGap = 0;
}
}


function screenSize() 
{
 NBScrWidth = screen.availWidth;
 NBScrHeight = screen.availHeight;
}

function calcXPos(xval, width) 
{
screenSize(); 
if (xval == "offleft")
	return -width-10;
if (xval == "left")
	return 10;
if (xval == "third")
	return (NBScrWidth/3) - (width /2);
if (xval == "center")
	
	return (NBScrWidth - width)/2;
if (xval == "rightthird")
	 return  (NBScrWidth/3)*2 - (width/2);
if (xval == "right")
	return (NBScrWidth - width) - 10;
if (xval == "offright")
	 return  NBScrWidth+10;
if (isNaN(xval) )
	xval ="";
return xval;
}


function calcYPos(yval, height) {
screenSize();
if (yval == "offtop")
 return -height-20;
if (yval == "top")
 return 30;
if (yval == "third")
 return (NBScrHeight/3) - (height)/2;
if (yval == "center")
 return (NBScrHeight - height)/2;
if (yval == "bottomthird")
 return (NBScrHeight/3)*2 - (height)/2;
if (yval == "bottom")
 return (NBScrHeight - height) - 30;
if (yval == "offbottom")
 return NBScrHeight +10;
 if (isNaN(yval) )
	yval ="";
return yval;
}


function NBIsDemo()
{
NBstr = window.location.hash + window.location.search;
var nblparam; 
left = NBstrip("nbdem", true);
if (NBparam == "o") 
{ 
	NBRun = false;
	var url = 0;
	var xpos  = "";
	var ypos = "";
	var width = 999;
	var height = 999;
	var format = "";
	var mode = null;

nblparam = NBparam; 
while (NBparam != "") { 
 left = NBstrip ("nb", true);
	switch (nblparam) 
	{
	case 'o': 
		url = left;
	break
	case 'x': 
		xpos = left;
	break
	case 'y': 
		ypos = left;
	break
	case 'f': 
		format = left;
	break
	case 'w': 
		width = left;
	break
	case 'h': 
		height = left;
	break
	case 'm': 
		mode = left;
	break
	}
	nblparam = NBparam; 
} 
NBstr = url; 
url = NBstrip('w');
if(NBstr.length) { 
 width = NBstrip('h'); 
if(NBstr.length) 
 height = NBstr;
 
}
launchNB(url,width, height ,xpos, ypos, mode, format);
}
}


function NBstrip (delim, strip) { 
 var pos;
 var leftstr;
 pos = NBstr.indexOf(delim);
 if( pos != -1)
 { 
 	leftstr = NBstr.substring(0,pos); 
	NBstr = NBstr.substring(pos + delim.length, NBstr.length); 
 	if (leftstr.charAt(leftstr.length-1) == "&") 
  		leftstr = leftstr.substring(0, leftstr.length - 1); 
  } 
 else {
  leftstr = NBstr;
  NBstr = "";
 }
 NBparam = NBstr.charAt(0); 
  if (strip) {
 NBstr = NBstr.substring(1,NBstr.length);
 if (NBstr.charAt(0) == "=")
  NBstr = NBstr.substring(1,NBstr.length); 
 }
 return leftstr;
}


NBIsDemo();