// Get an XMLHTTPRequest object (can reuse old ones)
_prevXHR=[];
function geXHR()
{
	if (getlength(_prevXHR)>0) return arraypop(_prevXHR);
	try{ return new XMLHttpRequest(); }catch(e){}
	try{ return createRequest(); }catch(e){}
	try{ return new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){}
	try{ return new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){}
}
// Return an XMLHTTPRequest object for reuse
function puXHR(o){arraypush(_prevXHR,o);}

// Do a GET, using XMLHTTPRequest
function getXML(URL, fn)
{
	var XHR = geXHR();
	XHR.open("GET", URL, true);
	XHR.onreadystatechange=function()
	{
		if (XHR.readyState!=4) return;
		fn&&fn(XHR.status==200?XHR.responseXML:null,XHR.status);
		puXHR(XHR);
	}
	XHR.send(null);
}
function ge(o,n)
{
	return o.getAttribute?o.getAttribute(n):o[n];
}
function arraypush(a,o)
{
	a[getlength(a)]=o;
}
function arraypop(a)
{
	var r = lastel(a);
	--a.length;
	return r;
}
function getlength(a)
{
	return a.length;
}
function lastel(a)
{
	return a[getlength(a)-1];
}
_timedthings={};
function runfunctionafter(fn,o,t)
{
	var n=new Date()-0;
	_timedthings[n]={fn:fn,o:o};
	setTimeout("_timedthings["+n+/*{*/"].fn(_timedthings["+n+"].o);delete _timedthings["/*}*/+n+"];",t||1);
}
_loadhandlers=[];
_loaded=0;
_basefns={};
_loadcount=1;
_parseInt=parseInt;
var iframeid;
function nowloaded(a,b)
{
	if (js[a]==1)
	{
		_loadcount--;
		js[a]=2;
		_basefns[a]=b;
	}
	if (_loadcount==0)
	{
		if (!iframeid&&parent!=window)
		{
			try
			{
				parent[/*{*/"JS07Refresh"/*}*/]();
				checkSize();
				if (iframeid) parent[/*{*/"JS07LoadComplete"/*}*/](iframeid);
				setInterval(/*{*/"checkSize()"/*}*/,55);
			}catch(e){}
		}
		for (var i=0;i<pending.length;++i)
			_basefns[pending[i].split("~")[0]](pending[i].split("~").slice(1).join("~"));
		for (var i=0;i<_loadhandlers.length;++i) _loadhandlers[i]();
		pending=[];_loadhandlers=[];
	}
}
// Get an element, by name
function getel(n)
{
	var o=_document.getElementById?_document.getElementById(n):(_document.all||_document.layers)[n];
	if (!o) o=_document.getElementsByName(n)[0];
	return o;
}
var js={$:1};
// This function gets run when the page has finished loading
function $_()
{
	_body=_document.body;
	getScroll()._o.onkeypress=ddkeypress;
	_loaded=1;
	var o={};
	for (var i=0;i<pending.length;++i)
		o[pending[i].split("~")[0]]=1;
	for (i in o) loadjs(i);
	nowloaded("$");
	
	hb();
}
function ddkeypress(ev)
{
	var evv=ev||event;
	var el=evv.srcElement||evv.target;
	
	if ((evv.charCode||evv.keyCode||evv.which)==13&&(el.type=="text"||el.type=="password"))
	{
		var f=_document.all;
		var i=el.sourceIndex;
		var dest = controldest[el.id]||controldest[el.name];
		if (dest)
		{
			var del = getel(dest);
			if (del.type=='text'||del.type=='password'||del.tagName=='textarea') {del.focus();return _false;}
			if (del.type=='submit'||del.type=='image') {del.click();return _false;}
		}
		if (!f||!i)
		{
			f=el.form.elements;
			for (i=0;i<getlength(f);++i)
				if (f[i]==el) break;
		}
		while (++i<getlength(f))
		{
			if (controldest[f[i].id||f[i].name]||controlsrc[f[i].id||f[i].name]) continue;
			if (f[i].type=='text'||f[i].type=='password'||f[i].tagName=='textarea') {f[i].focus();return _false;}
			if ((f[i].type=='submit'||f[i].type=='image')&&!ge(f[i],'ignore')) {f[i].click();return _false;}
		}
	}
	else if (_window[/*{*/"ddkeypress2"/*}*/]) ddkeypress2(ev);
}
// This function adds pending events
var pending=[];
function $$(s)
{
	// Allow people to call with as many instructions as they like
	for (var i=1;i<arguments.length;++i) $$(arguments[i]);
	pending[pending.length]=s;
	loadjs(s.split("~")[0]);
	nowloaded();
}
function loadjs(s)
{
	if (js[s]) return;
	var o=getel("bwsjs");
	if (!o) return;
	_loadcount+=1;
	js[s]=1;
	var s2=o.src.replace("0.js","0"+s+".js");
	if (!_loaded) _document.write("<script src='"+s2+"'><\/script>");
	else
	{
		if (_document.getElementById)
		{
			var el=_document.createElement('SCRIPT');
			el.defer=true;
			el.src=s2;
			_document.getElementsByTagName('HEAD')[0].appendChild(el);
		}
		else o.src=s2;
	}
}
// Get information about the document and its visible area
function getScroll()
{
	if (!_document.all||_document.compatMode=='CSS1Compat') var o=_document.documentElement;
	if (!o||o.scrollWidth==_null) o=_body||{};
	var r={_o:o, _x:o.scrollLeft||0, _y:o.scrollTop||0, _w:o.scrollWidth||0, _h:o.scrollHeight||0, _cw:o.clientWidth||_window.innerWidth||0, _ch:o.clientHeight||_window.innerHeight||0};
	if (!sizelocked) rightx=r._w;bottomy=r._h;
	r._x2=r._x+r._cw;
	r._y2=r._y+r._ch;
	return r;
}
var lastsize;
function checkSize()
{
	var thissize={};
	var o=getScroll()._o;
	thissize._w=o.scrollWidth;
	thissize._h=o.scrollHeight;
	if (!lastsize||lastsize._w!=thissize._w||lastsize._h!=thissize._h)
		parent["JS07SetSize"](iframeid,thissize._w,thissize._h);
	lastsize=thissize;
}
function hb()
{
	if (!hbloc)
	{
		var f = _document.forms;
		for (var i=getlength(f);i-->0;)
			if (f[i].action.indexOf("fs2s=")!=-1)
				hbloc=f[i].action.split("fs2s=").join("fs2hb=");
	}
	if (hbloc)
	{
		getXML(hbloc+"&random="+Math.random());
		setTimeout("hb()",60000);
	}
}
_window=window;
_document=document;
hbloc=_null=null;
_body=_null;
_true=true;
_false=false;
_movehandlers=[];
_clickhandlers=[];
//_draghandlers=[];
_overhandlers=[];
_outhandlers=[];
//_downhandlers=[];
//_scrollhandlers=[];
//_importancehandlers=[];
_baseform=_null;
sizelocked=_false;
var controldest={};
var controlsrc={};
