var menubar;
var catTimer;
var scrollCheckTimer=null;
var scrollPos=0;
var scrollPosY=0;

function init_menu(){
	var mb=document.getElementById('menublock');
	menubar=new menu(MENU_ITEMS['menu'],MENU_TPL, mb);
	try{
		if(ACTIVE_MENU_ITEM.n_depth > 0){
			var content=document.getElementById('content');
			var h=content.getElementsByTagName('H2')[0];
			var nav=document.createElement('SPAN');
			nav.className='nav';
			h.insertBefore(nav, h.firstChild);
			var mip=ACTIVE_MENU_PARENT;
			var mi=ACTIVE_MENU_ITEM;
			var j=mi.n_order;
			if(mi.n_order>0){
				var l=document.createElement('A');
				l.href=mip.a_children[j-1].a_config[1];
				l.title='Back to ' + mip.a_children[j-1].a_config[0];
				nav.appendChild(l);
				l.appendChild(document.createTextNode('<<' + mip.a_children[j-1].a_config[0]));
			}
			if(++j < mip.a_children.length){
				if(nav.childNodes.length>0){
					nav.appendChild(document.createTextNode('\xA0|\xA0'));
				}
				var l=document.createElement('A');
				l.href=mip.a_children[j].a_config[1];
				l.title='Forward to ' + mip.a_children[j].a_config[0];
				nav.appendChild(l);
				l.appendChild(document.createTextNode(mip.a_children[j].a_config[0] + '>>'));
			}
			


		}
	}catch(x){}
}
function searchBlur(inp){
	if(/^\s*$/.test(inp.value)){
		inp.value="Google search...";
	}
}
function checkSearchSubmit(fm){
	if(fm.q.value!='Google search...'){
		return false;
	}
	return true;
}
function init(){
	var e=document.getElementById('blocker');
	var m=document.getElementById('content');
	var l=document.getElementById('logo');
	var mb=document.getElementById('menubanner');
	if(mb.offsetHeight > m.offsetHeight){
		m.style.height=mb.offsetHeight + 'px';
	}
	var x=getAbsX(m);
	e.style.left=x + 'px';
	try{
	doParas();
	}catch(x){alert(x)}
	try{doCat()}catch(x){}
	if(document.location.hash){
		window.scrollBy(0,0-e.scrollHeight);
	}
	scrollPos=getViewport().scrollX;
}
function doParas(){
	var imgs=new Array();
	for(var i=1;i<4;i++){
		imgs.push(new Image());
		imgs[imgs.length-1].src='/images/butt' + i + 'a.gif';
		imgs.push(new Image());
		imgs[imgs.length-1].src='/images/butt' + i + 'a-anim.gif';
	}
	var m=document.getElementById('content');
	var ps=m.getElementsByTagName('p');
	for(var i=1;i<ps.length;i++){
		if(! /nobutterfly/.test(ps[i].className) && ps[i].scrollHeight > 75){
			ps[i].style.position='relative';
			var imgf='/images/butt' + Math.ceil(Math.random()*3);
			var imgfa=imgf + 'a-anim.gif';
			imgf+='a.gif';
			var img=new Image();
			img.src=imgf;
			img.className='back_butterfly';
			img.style.left='50px';
			var pw=ps[i].scrollWidth;
			pw-=50;
			pw*=Math.random();
			var ph=ps[i].scrollHeight;
			ph-=50;
			ph*=Math.random();
			img.style.top=ph + 'px';
			img.style.left=pw + 'px';
			img.alt='';
			ps[i].insertBefore(img,ps[i].firstChild);
			var mouseover=function(evt){
				try{
					var p=evt.target;
					var butt=p.getElementsByTagName('img');
					butt[0].src=butt[0].src.replace(/\.gif$/,'-anim.gif');
				}catch(x){}
			};
			var mouseout=function(evt){
				try{
					var p=evt.target;
					var butt=p.getElementsByTagName('img');
					butt[0].src=butt[0].src.replace(/-anim/,'');
				}catch(x){}
			};
			eventListenerList.addEventListener(ps[i],'mouseover',mouseover ,false);
			eventListenerList.addEventListener(ps[i],'mouseout',mouseout, false);
		}
	}
}
function removeCat(){
	var cat=document.getElementById('caterpillar');
	document.body.removeChild(cat);
	doCat();
}
function doCat(){
	var f=function(){
		var cr=document.getElementById('credits');
		var cat=new Image();
		var vp=getViewport();
		var msg;
		var avw=vp.windowX;
		avw-=296;
		avw*=Math.random();
		cat.src='/images/caterpillar' + Math.ceil(2 * Math.random()) + '.gif';
		cat.style.position='fixed';
		cat.style.left=avw + 'px';
		cat.style.top=(vp.windowY-23) + 'px';//getAbsY(cr) - 40 ) + 'px';
		cat.style.zIndex=110;
		cat.style.width=(Math.ceil(2 * Math.random()) + 150) + 'px';//'300px';//'150px';
		cat.style.height='23px';
		cat.id='caterpillar';
		document.body.appendChild(cat);
		catTimer=setTimeout(removeCat, 3000);
	};
	catTimer=setTimeout(f,(1000 + (Math.random()*20000)));
}
function getReq(){
	var req;
	var g=function(s){
		var r=0;
		try{
			r=new ActiveXObject(s);
		}
		catch(x){}
		return r;
	};
	req=(window.XMLHttpRequest ? new XMLHttpRequest() : g('Msxml2.XMLHTTP') || g('Microsoft.XMLHTTP'));
	return req;
}
function checkEmail(elem){
	if(elem.value=='') return;
	var req=getReq();
	req.open('POST','/cgi-bin/checkemail.pl',true);
	req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	req.onreadystatechange=function(){
		if(req.readyState==4){
			if(req.status==200){
				if(! /OK/.test(req.responseText)){
					alert(req.responseText);
					elem.focus();
				}
			}
		}
	};
	req.send('email='+elem.value);
}
function scrollCheck() {
	var w=getViewport();
	if(w.scrollY != scrollPosY){
		scrollPosY=w.scrollY;
		return;
	}
	var logo=document.getElementById('logo');
	var menubanner=document.getElementById('menubanner');
	var blocker=document.getElementById('blocker');
	var content=document.getElementById('content');
	if(scrollCheckTimer != null){
		clearTimeout(scrollCheckTimer);
	}
	else {
		menubanner.style.visibility='hidden';
		logo.style.visibility='hidden';
	}
	var x=w.scrollX;
	var endScroll=function(){
		var ww=getViewport();
		if(ww.scrollX==x){
			if(ww.scrollX==0){
				menubanner.style.left='';
				logo.style.left='';
			}
			else if(scrollPos != x){
				var delta=x-scrollPos;
				logo.style.left=(getAbsX(logo) - delta) + 'px';
				menubanner.style.left=(getAbsX(menubanner) - delta) + 'px';
			}
				blocker.style.left=(getAbsX(menubanner) + menubanner.scrollWidth) + 'px';
			scrollPos=x;
			menubanner.style.visibility='visible';
			logo.style.visibility='visible';
		}
		scrollCheckTimer=null;
	};
	scrollCheckTimer=setTimeout(endScroll,1);
}
eventListenerList.addEventListener(window,'load',init,false);
eventListenerList.addEventListener(window,'unload',function(){clearTimeout(catTimer)},false);
eventListenerList.addEventListener(window,'scroll',scrollCheck,false);
eventListenerList.addEventListener(window,'resize',scrollCheck,false);

