if(document.location.href.indexOf('#')!=-1){
	var loc,p=document.location.href.indexOf('#');
	loc=document.location.href.substr(p+1);
	if(loc==''){
		loc='homepage.dyn';
	}
	document.location.href="/"+loc;
}
if(document.getElementById){
document.write('<style type="text/css">\ndiv#l div.fs{ overflow:hidden; }\ndiv#l div.fs a{ cursor:default; }\n</style>');
}
function killev(ev) {
	if(typeof(ev)=='undefined') ev=window.event;
	if (ev.stopPropagation) ev.stopPropagation();
	ev.cancelBubble = true;
	ev.returnValue = false;
	return false;
}
function loading(par){ // display loading notification over the parent
	this.par=par;
	this.dim=document.createElement('div');
	this.dim.className='dim';
	this.loading=document.createElement('div');
	this.loading.className='loading';
	this.i=new Image();
	this.i.style.position='absolute';
	this.loading.appendChild(this.i);
	if(this.par){
		this.par.appendChild(this.loading);
		this.par.appendChild(this.dim);
		this.i.onload=function(){
			this.style.left=((this.parentNode.parentNode.offsetWidth-this.width)/2)+'px';
			this.style.top=((this.parentNode.parentNode.offsetHeight-this.height)/2)+'px';
		}
	}else{
		document.body.appendChild(this.loading);
		document.body.appendChild(this.dim);
		this.i.onload=function(){
			var ih=window.innerHeight?window.innerHeight:(document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight);
			var st=window.pageYOffset?window.pageYOffset:(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop);
			this.style.left=((document.body.offsetWidth-this.width)/2)+'px';
			this.style.top=((ih-this.height)/2+st)+'px';
		}
	}
	this.i.src='/kingfisher/style/images/loading.gif';
}
loading.prototype={
display:function(){
	if(this.par){
		this.dim.style.width=this.par.offsetWidth+'px';
		this.dim.style.height=this.par.offsetHeight+'px';
		this.loading.style.width=this.par.offsetWidth+'px';
		this.loading.style.height=this.par.offsetHeight+'px';
	}else{
		var height=window.innerHeight && window.scrollMaxY?window.innerHeight+window.scrollMaxY:(document.body.scrollHeight>document.body.offsetHeight?document.body.scrollHeight:document.body.offsetHeight);
		var width=window.innerWidth && window.scrollMaxX?window.innerWidth+window.scrollMaxX:(document.body.scrollWidth>document.body.offsetWidth?document.body.scrollWidth:document.body.offsetWidth);
		this.dim.style.width=width+'px';
		this.dim.style.height=height+'px';
		this.loading.style.width=width+'px';
		this.loading.style.height=height+'px';
	}
	this.i.onload();
	this.dim.style.visibility='visible';
	this.loading.style.visibility='visible';
},
hide:function(){
	this.dim.style.visibility="hidden";
	this.loading.style.visibility="hidden";
}
}
function fs(app,fs,li){
	if(document.getElementById){
		this.app=app;
		this.ele=fs;
		this.sld=this.ele.childNodes[0];
		this.li=li;
		var x,a;
		var ret,obj=this,e=/=(\d*)/;
		this.x=0;
		this.first=0;
		this.cur=false;
		this.old=new Object();
		this.getpos();
		window.onresize=function(){
			obj.getpos();
		}
		this.images=[];
		this.imgid=[];
		this.hover=document.createElement('div');
		this.hover.className='hover';
		this.hover.onmouseout=function(){
			obj.track(obj.old);
		}
		this.hover.onmousedown=killev;
		this.hover.ondragstart=killev;
		this.hover.onmouseup=function(){
			obj.show();
		}
		this.ele.appendChild(this.hover);
		if(this.sld){
			a=this.sld.getElementsByTagName('a');
			for(x=0;x<a.length;x++){
				ret=e.exec(a[x].href);
				this.images[x]=new Image();
				this.images[x].src=a[x].childNodes[0].src;
				this.imgid[x]=ret[1];
				a[x]._img=ret[1];
				a[x].onclick=function(){
					this.blur(); return false;
				}
			}
		}
		this.last=x-1;
		this.count=this.last;
		this.ct=this.count;
		this.handle=false;
		if(this.count>=0){
			this.fillup();
			this.enablescroll();
		}
		document.body.onmousemove=function(e){
			if(typeof(e)=='undefined') e=window.event;
			obj.track(e);
		}
	}
}
fs.prototype={
stop:function(){
	if(this.handle){
		clearInterval(this.handle);
		this.handle=false;
	}
},
enablescroll:function(){
	var obj=this;
	this.fn=1;
	this.start=new Date();
	this.start=this.start.getTime();
	this.handle=setInterval(function(){
		obj.tick();
	},40);
},
getpos:function(){
	this.bodyleft=this.li.offsetLeft+13;
	this.bodytop=this.li.offsetTop+126;
},
add:function(){
	if(this.last==this.count){
		this.last=0;
	}else{
		this.last++;
	}
	var i,obj=this,e=document.createElement('a');
	e.href='#';
	e._img=this.imgid[this.last];
	e.onclick=function(){
		this.blur(); return false;
	}
	i=new Image();
	i.src=this.images[this.last].src;
	i.width="158";
	i.height="64";
	e.appendChild(i);
	this.sld.appendChild(e);
	this.ct++;
},
fillup:function(){//adds images to fill fs
	var end;
	if(this.count<3) {
		if(this.count==0) end=5;
		if(this.count==1) end=6;
		if(this.count==2) end=7;
	}else{
		end=this.count+5;
	}
	while(this.ct<end){
		this.add();
	}
	this.loop=(end-4)*158;
},
tick:function(){
	var flag=false;
	var obj=this,c=new Date();
	if(this.fn==1){
		this.x=(c.getTime()-this.start)/20;
		while(this.x>=this.loop){
			this.start+=this.loop*20;
			this.x-=this.loop;
			flag=true;
		}
		this.ele.scrollLeft=this.x;
		if(flag){
			this.track(this.old);
		}
	}
},
loadimages:function(i,h,tt){
	var obj=this,x;
	document.body.onmousemove=function(e){
		if(typeof(e)=='undefined') e=window.event;
		obj.track(e);
	}
	for(x=this.sld.childNodes.length-1;x>=0;x--){
		this.sld.removeChild(this.sld.childNodes[x]);
	}
	this.x=0;
	this.ele.scrollLeft=0;
	e=this.app.image.getnext(tt==''?(i.length>=1?i[0]:'right'):tt,true);
	if(e){
		if(tt!=''){
			while(ii=e.childNodes[0]){
				e.removeChild(ii);
			}
			e.innerHTML=tt;
			this.app.image.flip();
		}else if(i.length>=1){
			ii=e.childNodes[0];
			while(ii&&ii.nodeName.toLowerCase!='img'){
				e.removeChild(ii);
				ii=e.childNodes[0];
			}
			if(!ii){
				ii=new Image();
				e.appendChild(ii);
			}
			var isrc='/fs.nb?size=3&id='+i[0];
			if(typeof(ii.complete)!='undefined') {
				var obj=this;
				ii.onload=function(){
					obj.app.image.flip();
				}
				ii.src=isrc;
			}else{
				ii.src=isrc;
				this.app.image.flip();
			}
		}else{
			while(ii=e.childNodes[0]){
				e.removeChild(ii);
			}
			this.app.image.flip();
		}
	}
	if((i.length<=1)&&(h)){
		var i=new Image();
		i.src='/fs.nb?size=4&id='+h;
		i.width="631";
		i.height="64";
		this.sld.appendChild(i);
		this.count=-1;
	}else if(i.length){
		for(x=0;x<i.length;x++){
			this.images[x]=new Image();
			this.images[x].src='/fs.nb?size=2&id='+i[x];
			this.images[x].width="158";
			this.images[x].height="64";
			this.imgid[x]=i[x];
		}
		this.first=0;
		this.last=-1;
		this.ct=0;
		this.count=i.length-1;
		this.stop();
		if(this.count>=0){
			this.fillup();
			this.enablescroll();
		}
	}else{
		var i=new Image();
		i.src='/kingfisher/style/images/dflt.jpg';
		i.width="631";
		i.height="64";
		this.sld.appendChild(i);
		this.count=-1;
	}
},
show:function(){
	var i,e,img=this.cur;
	while(img>this.count){
		img-=(this.count+1);
	}
	e=this.app.image.getnext(this.imgid[img],true);
	if(e){
		if(!(i=e.childNodes[0])){
			i=new Image();
			e.appendChild(i);
		}
		if(typeof(i.complete)!='undefined') {
			var obj=this;
			i.onload=function(){
				obj.app.image.flip();
			}
			if(i.src.indexOf('/fs.nb?size=3&id='+this.imgid[img])!=-1) {
				this.app.image.flip();
			} else {
				i.src='/fs.nb?size=3&id='+this.imgid[img];
			}
		}else{
			i.src='/fs.nb?size=3&id='+this.imgid[img];
			this.app.image.flip();
		}
	}
	return false;
},
track:function(ev){
	if(this.count<0){
		return;
	}
	var x=ev.pageX?ev.pageX:ev.clientX+(document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft);
	var y=ev.pageY?ev.pageY:ev.clientY+(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop);
	this.old.pageX=x;
	this.old.pageY=y;
	var inrange=(this.bodytop<=y)&&((this.bodytop+64)>=y);
	inrange=inrange&&(this.bodyleft<=x)&&((this.bodyleft+631)>=x);
	if(inrange){
		x-=this.bodyleft;
		x+=this.x;
		x=Math.floor(x/158);
		if(this.cur!==(this.first+x)) {
			var oldcur=this.cur;
			this.cur=this.first+x;
			x*=158;
			this.hover.style.left=x+'px';
			if(typeof(oldcur)=='boolean'){
				this.sx=this.x;
				//this.fn=0;
				this.hover.style.visibility="visible";
			}
		}
	}else{
		if(typeof(this.cur)!='boolean'){
			if(this.fn==0){
				this.start=new Date();
				this.start=this.start.getTime()-this.x*20;
			}
			//this.fn=1;
			this.cur=false;
			this.hover.style.visibility="hidden";
		}
	}
}
}
function region(ele,hash,z,m){
	this.ele=[];
	this.cont=ele;
	this.z=z;
	this.m=m;
	this.old=hash;
	if(!(this.ele[0]=ele.childNodes[0])){
		this.ele[0]=document.createElement('div');
		ele.appendChild(this.ele[0]);
	}
	this.ele[0].style.zIndex=z+1;
	this.ele[1]=document.createElement('div');
	this.c=0;
	this.ele[1].className=this.ele[0].className;
	this.ele[0].style.zIndex=z;
	ele.insertBefore(this.ele[1],this.ele[0]);
	this.loading=false;
	this.h=false;
}
region.prototype={
fade:function(){
	var obj=this,c=(new Date().getTime()-this.start)/500;
	if(c>1){
		c=1;
		clearInterval(this.handle);
		this.handle=false;
	}
	this.ele[this.c].style.opacity=c;
},
flip:function(){
	if(this.loading){
		this.loading.hide();
	}
	this.c=1-this.c;
	this.ele[this.c].style.zIndex=this.z+1;
	this.ele[1-this.c].style.zIndex=this.z;
	if(this.m){
		this.ele[this.c].filters[0].Apply();
		this.ele[this.c].filters[0].Play();
		this.ele[this.c].style.visibility="visible";
	}else{
		this.start=new Date().getTime();
		this.ele[this.c].style.opacity=0;
		this.ele[this.c].style.visibility="visible";
		var obj=this;
		this.handle=setInterval(function(){
			obj.fade();
		},40);
	}
},
getcurrent:function(){
	return this.ele[this.c];
},
getnext:function(hash,loader){
	if(hash&&this.old&&(this.old==hash)) {
		this.old=hash;
		return false;
	} else {
		if(loader){//show loading for this region
			if(this.loading==false){
				this.loading=new loading(this.cont);
			}
			this.loading.display();
		}
		if(this.handle){
			clearInterval(this.handle);
			this.ele[this.c].style.opacity=1;
			this.ele[this.c].style.visibility="visible";
		}
		this.old=hash;
		this.ele[1-this.c].style.visibility='hidden';
		return this.ele[1-this.c];
	}
}
}
function left(app,li,lay,cont,cclass,men,title,fse,finfo){
	this.app=app;
	this.layout=lay;
	this.menu=men;
	this.content=cont;
	this.cclass=cclass;
	this.finfo=finfo;
	this.content.style.overflow='visible';
	this.content.style.height='auto';
	this.pnav=false;
	this.title=title;
	this.fs=new fs(this.app,fse,li);
	this.cl=new Image();
	this.delayload=false;
	if(typeof(this.cl.complete)!='undefined'){
		var obj=this;
		this.cl.className='precls'
		this.cl.width='5';
		this.cl.height='5';
		this.cl.onload=function(){
			obj.app.bitsset();
			obj.checkpaging();
		}
		this.delayload=true;
		document.body.appendChild(this.cl);
	}
	if(this.content.childNodes[0]){
		this.checkpaging();
	}
}
left.prototype={
setcontent:function(cc,txt,title,i,h,tt,finfo){
	document.title=title;
	if(this.pnav){
		this.pnav.parentNode.removeChild(this.pnav);
		this.pnav=false;
	}
	this.cclass.className='c c'+cc;
	this.content.innerHTML=txt;
	this.content.style.overflow='visible';
	this.content.style.height='auto';
	this.finfo.innerHTML=finfo;
	this.title.childNodes[0].src='/kingfisher/style/images/t'+cc+'.gif';
	this.fs.loadimages(i,h,tt);
	if(!this.delayload){
		this.app.bitsset();
		this.checkpaging();
	}else{
		this.cl.src='';
		if(this.cl.src.indexOf('/kingfisher/style/images/bg'+cc+'.jpg')!=-1) {
			this.cl.onload();
		} else {
			this.cl.src='/kingfisher/style/images/bg'+cc+'.jpg';
		}
	}
},
pck:function(dd,ele){
	ele.blur();
	this.pp+=dd;
	this.pbck.style.visibility=this.pp<=1?'hidden':'visible';
	this.pnxt.style.visibility=this.pp>=this.ppag?'hidden':'visible';
	this.content.style.height=(204-(this.pp==1?this.adj:0))+"px";
	this.content.scrollTop=(this.pp-1)*204;
	return false;
},
checkpaging:function(){
	if(this.content.offsetHeight>204){
		var i,x,d,obj=this;
		var oldie=/MSIE [56]/;
		i=this.content.offsetHeight;
		this.ppag=Math.ceil(i/204);
		i=i%204;
		i=Math.ceil(i/17);
		if(i){
			i=12-i;
			for(x=0;x<i;x++){
				d=document.createElement('div');
				d.appendChild(document.createTextNode(' '));
				this.content.appendChild(d);
			}
		}
		this.pp=1;
		this.pnav=document.createElement('div');
		this.pnav.className='pnav';
		this.pbck=document.createElement('a');
		this.pbck.href='#';
		this.pbck.className='disabled';
		this.pbck.onclick=function(){
			return obj.pck(-1,this);
		}
		this.pbck.innerHTML='▲';
		this.pbck.style.visibility="hidden";
		this.pnav.appendChild(this.pbck);
		this.pnxt=document.createElement('a');
		this.pnxt.href='#';
		this.pnxt.onclick=function(){
			return obj.pck(1,this);
		}
		this.pnxt.innerHTML='▼';
		this.pnav.appendChild(this.pnxt);
		this.content.parentNode.appendChild(this.pnav);
	}
	this.content.style.height='204px';
	this.content.style.overflow='hidden';
}
}
function transit(){
	if(document.getElementById){
		var x,ct,a,cont=document.getElementById('text');
		var obj=this,menu=document.getElementById('menu')
		var finfo=document.getElementById('floatinfo');
		this.msie=/*@cc_on!@*/0;
		x=document.getElementById('c');
		this.li=document.getElementById('li');
		var hash=this.cleanurl(document.location.href);
		if(hash==''){
			hash='homepage';
		}
		this.content=new region(x,false,128,this.msie);
		this.content.ele[0].bits=new left(this,this.li,document.getElementById('v'),cont,x.childNodes[1],menu,document.getElementById('t'),document.getElementById('fs'),finfo);
		this.contentflip=false;
		this.loading=false;
		x=document.getElementById('i');
		if(x.childNodes[0]){
			if(a=x.childNodes[0].childNodes[0].src){
				a=a.replace(/.*=/,'');
			}else{
				a='';
			}
		}else{
			a='';
		}
		this.image=new region(x,a,96,this.msie);
		this.httpreq=false;
		if(this.msie){
			this.ifr=document.createElement('iframe');
			this.ifr.style.width="1px";
			this.ifr.style.height="1px";
			this.ifr.style.position="absolute";
			this.ifr.style.top="-10px";
			this.ifr.style.left="-10px";
			this.iereq=hash;
			document.body.appendChild(this.ifr);
			this.ifr.src="/ief.nb?hash="+hash;
		}else{
			this.loc=document.location.href;
		}
		this.a=false;

		function tag(a){
			var ct,x;
			for(x=0,ct=a.length;x<ct;x++){
				a[x].onclick=function(){
					return obj.linkclick(this);
				}
			}
		}

		tag(menu.getElementsByTagName('a'));
		tag(cont.getElementsByTagName('a'));
		tag(finfo.getElementsByTagName('a'));
		a=menu.getElementsByTagName('a');
		menu.c=false;
		for(x=0,ct=a.length;x<ct;x++){
			if(a[x].className=='c'){
				menu.c=a[x];
				break;
			}
		}
		if(!this.msie){
			setInterval(function(){
				if(obj.loc!=document.location.href){
					obj.loc=document.location.href;
					obj.history();
				}
			},500);
		}
	}
}
transit.prototype={
sethash:function(hash){
	if(!this.a){
		this.a=document.createElement('a');
		this.a.className='floata';
		document.body.appendChild(this.a);
	}
	hash=hash.replace(/^http:\/\/[^\/]+\//,'');
	this.a.name='#'+hash;
	window.location.hash=hash;
	if(this.msie){
		this.iereq=hash;
		this.ifr.src="/ief.nb?hash="+hash;
	}else{
		this.loc=document.location.href;
	}
	return hash;
},
menuset:function(layer,link){
	var menu=layer.bits.menu;
	if(menu.c){
		menu.c.className='';
	}
	ele=false;
	if(typeof(link)!='undefinied'){
		var x,ct,a=menu.getElementsByTagName('a');
		for(x=0,ct=a.length;x<ct;x++){
			if(a[x].href.indexOf(link)!=-1){
				ele=a[x];
				break;
			}
		}
	}
	menu.c=ele;
	if(ele){
		menu.c.className='c';
	}
},
inithttpreq:function(){
	try { return new XMLHttpRequest(); } catch(e) { }
  try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch(e) { }
	try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch(e) { }
	try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { }
	try { return ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { }
	return false;
},
createwithcl:function(ele,cla){
	var e=document.createElement(ele);
	e.className=cla;
	return e;
},
createflip:function(){
	this.contentflip=true;
	var cc=this.content.getnext(),cur=this.content.getcurrent();
	var txt,menu,tb,tr,td,h1,lft,fs,ele,x,ct,obj=this;
	h1=this.createwithcl('h1','t');
	ele=new Image();
	ele.src=cur.bits.title.childNodes[0].src;
	h1.appendChild(ele);
	cc.appendChild(h1);
	fs=this.createwithcl('div','fs');
	fs.appendChild(this.createwithcl('div','sld'));
	cc.appendChild(fs);
	lft=this.createwithcl('div','lft');
	menu=this.createwithcl('table','menu');
	menu.cellPadding="0";
	menu.cellSpacing="0";
	menu.border="0";
	tb=document.createElement('tbody');
	tr=document.createElement('tr');
	txt=cur.bits.menu.getElementsByTagName('a');
	for(x=0,ct=txt.length;x<ct;x++){
		td=document.createElement('td');
		ele=document.createElement('a');
		ele.href=txt[x].href;
		ele.onclick=function(){
			return obj.linkclick(this);
		}
		ele.innerHTML=txt[x].innerHTML;
		td.appendChild(ele);
		tr.appendChild(td);
	}
	tb.appendChild(tr);
	menu.appendChild(tb);
	lft.appendChild(menu);
	ele=this.createwithcl('div','content');
	var fi=this.createwithcl('div','floatinfo');
	txt=this.createwithcl('div','text');
	ele.appendChild(fi);
	ele.appendChild(txt);
	lft.appendChild(ele);
	cc.appendChild(lft);
	cc.bits=new left(this,this.li,document.getElementById('v'),txt,cc,menu,h1,fs,fi);
	return cc;
},
display:function(data){
	var obj=this,next;
	if(!this.contentflip){
		next=this.createflip();
	}else{
		next=this.content.getnext();
	}
	var cur=this.content.getcurrent();
	cur.bits.fs.stop();
	this.menuset(next,data.phpself);

	next.bits.setcontent(data.contentclass,data.content,data.title,data.images,data.header,data.imagetext,data.floatinfo);

	setTimeout(function(){
		eval(data.onload);
		function tag(a){
			var ct,x;
			for(x=0,ct=a.length;x<ct;x++){
				a[x].onclick=function(){
					return obj.linkclick(this);
				}
			}
		}
		tag(next.bits.content.getElementsByTagName('a'));
		tag(next.bits.finfo.getElementsByTagName('a'));
	},80);
},
bitsset:function(){
	this.loading.hide();
	this.content.flip();
},
visit:function(loc){
	if(this.loading==false) this.loading=new loading(false);
	this.loading.display();
	var eloc=loc;
	if(eloc.indexOf('?')!=-1){
		eloc+='&';
	}else{
		eloc+='?';
	}
	eloc+='data=1';
	if(this.httpreq===false){
		this.httpreq=this.inithttpreq();
	}
	if(this.httpreq){
		var obj=this;
		this.httpreq.open('GET',eloc,true);
		this.httpreq.onreadystatechange=function(){
			if(obj.httpreq.readyState==4){
				if(obj.httpreq.status==200){
					obj.display(eval('('+obj.httpreq.responseText+')'));
				}else{
					window.location.href=loc;
				}
			}
		}
		this.httpreq.send(null);
	}else{
		return true;
	}
	return false;
},
linkclick:function(ele){
	var check=/(^mailto:|^https:|\.pdf$)/;
	ele.blur();
	if(ele.target||check.test(ele.href)){
		return true;
	}
	if(ele.className=='disabled'){
		return false;
	}
	var hash=this.sethash(ele.href);
	return this.visit(hash);
},
cleanurl:function(url){
	var loc,p=url.indexOf('#');
	if(p==-1){
		loc=url.replace(/^http:\/\/[^\/]+\//,'');
	}else{
		loc=url.substr(p+1);
	}
	if(loc==''){
		loc='homepage.dyn';
	}
	return loc;
},
history:function(){
	var loc=this.cleanurl(this.loc);
	this.visit(loc);
},
iehis:function(loc){
	loc=loc.replace(/ /,'');
	if(loc!=this.iereq){
		this.iereq=loc;
		this.visit(loc);
	}
}
}
function iehis(loc){
	window._app.iehis(loc);
}

