
//quick doc environment sanity checking
  if (top != window) top.location.href = window.location.href; //Break out of frames 
  // if (window.location.hostname=="silicodon.net") { window.location.hostname="www.silicodon.net"; } 
  /* Combined with server redirects causing extra page reloads. Server redirect for raw directory name drops 'www'. */


function initDoc() {

/** FIXME: make compatable with DOMs, IE4+, NS4.7, NS6+ (aka Gecko) **
	//Attach local handlers as needed.
        var locH = BTCdf.locHandlers;
	for (i=0; i<locH.length; i++) {
		if (locH[i]=="onload") {BTCdf.locOnLoad=1; continue;}
		if (locH[i]=="onscroll") {BTCdf.locOnScroll=1; continue;}
		if (locH[i]=="onresize") {BTCdf.locOnResize=1; continue;}
		var fn="On"+locH[i].substring(2,3).toUpperCase()+locH[i].substring(3,locH[i].length);  //ex. fn='OnLoad' from 'onload'
		eval ("window."+locH[i]+"=BTCLoc"+fn);
		eval ("BTCdf.loc"+fn+"=1");
		alert("in loc header attachment");
	}
**********************************************************************/

	//Setup NavTab objects
	p=BTCPoint;
	BTCdf.navTabs= new Object;

	var BTCnavDemo=0;
	if (document.cookie.indexOf("state")==-1) {
		BTCnavDemo=1;
		//set a cookie that lasts for this session only
		document.cookie="state=1 ; path=/ ; domain=.silicodon.net";
	}

        BTCdf.navTabs["TopNav"]= new BTCNavTab("TopNav", new p(0,-51), [new p(0,0), new p(0,10), new p(0,21), new p(0,31)], 15, 0, 0, 3, "BTCdf.navTabs"); 

        if ((new getObj("LeftNav")).obj!=null) {
        	BTCdf.navTabs["LeftNav"]= new BTCNavTab("LeftNav", new p(-209,0), [new p(0,0), new p(51,0), new p(102,0), new p(153,0), new p(204,0)], 15, 0, 0, 3, "BTCdf.navTabs");
		var navList=["TopNav","LeftNav"];
        } else { var navList=["TopNav"]; }
	if (document.layers) {
		for (i=0; i<navList.length; i++) {
			eval("document['"+navList[i]+"'].onmouseover = function(evt) {BTCdf.navTabs['"+navList[i]+"'].Open(); };");
			eval("document['"+navList[i]+"'].onmouseout = function(evt) {BTCdf.navTabs['"+navList[i]+"'].Close(); };");
		}
	}

        BTCdf.windowState= new windowSS();
	
	//Start 100ms updates to do the scroll locking.
	BTCNavTabsUpdate(1);


	if (BTCnavDemo==1 && window.location.hostname!="search.atomz.com") {
	    BTCdf.navTabs['TopNav'].Open();
            setTimeout("BTCdf.navTabs['TopNav'].Close();", 2000);
	}
	
	//make sure we show the tab after all the possibility of having to move/change it is gone
	//document["TopNav"].hidden=false;
	_Sh('TopNav',1);


	//Call local init as needed. 
	if (BTCdf.locOnLoad==1) {BTCLocOnLoad();}
}


function BTCOnScroll () {
        BTCNavTabsUpdate(0);
        if (BTCdf.locOnScroll==1) {BTCLocOnScroll();}
}

function BTCOnResize () { 
        for (i in BTCdf.navTabs) {
	        BTCdf.navTabs[i].ScrollLock(BTCdf.navTabs[i].scrollLockBase);
	}
        if (BTCdf.locOnResize==1) {BTCLocOnResize();}
}

function BTCNavTabsUpdate (r) {
        //repeat if r==1;
	var ws= new windowSS();
	if (r!=1 || ws.scrollX!=BTCdf.windowState.scrollX || ws.scrollY!=BTCdf.windowState.scrollY) {
	      for (i in BTCdf.navTabs) {
		      BTCdf.navTabs[i].ScrollUpdate();
	      }
        BTCdf.windowState=ws;
        }
	if (r) { setTimeout("BTCNavTabsUpdate("+r+");", 100); }
}

function SetBgColor(theobj, color) {
	if (document.all || document.getElementById) { 
	        if (navigator.userAgent.indexOf("Gecko")!=-1) { 
                         theobj.style.backgroundColor=color;
                } else {
		         theobj.style.backgroundColor=color; 
                }
        }
	else if (document.layers)
  		theobj.bgColor=color;
}

function BTCNavTabEvent(tab, type, data) {
	//Types: "url", "url-offsite", "js"
	BTCdf.navTabs[tab].Close();
	if (type=="url") {
		for (i in BTCdf.navTabs) {
			BTCdf.navTabs[i].Lock(1);
		}
		//trailer= (type=="url") ? window.location.search : "";
		trailer="" //currently unused
		setTimeout("window.location.href='"+data+trailer+"'", BTCdf.navTabs[tab].BusyTime());
	}
	if (type=="url-offsite") {
	        //do nothing extra, let the target and non-inclusion of return false do the rest.
	}
	if (type == "js") {
		eval(data);
	}
}



