function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function popup(theURL) {
  window.open(theURL,'popupwindow','toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=800,height=600,top=0,left=0');
}

var Fontsize={
	init:function() {
		this.sa=['content', 'content large', 'content larger'];
		this.len=this.sa.length;
		this.size=0;
		this.targ=document.getElementById('Main');
	},
	large:function() {
		if (Fontsize.size<Fontsize.len) Fontsize.size++;
		Fontsize.targ.className=Fontsize.sa[Fontsize.size];
	},
	small:function() {
		if (Fontsize.size>0) Fontsize.size--;
		Fontsize.targ.className=Fontsize.sa[Fontsize.size];
	}
}

/* modified browser detect from quirksmode.org */
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.isIE=(this.browser=='Explorer')? true : false;
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		}
	]
};

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

var Updater={
	init:function() {
		this.colcount=4;
		this.pagelen=document.all.pagelenI.value;
		
		var cont=document.getElementById('agi_upd');
		var tab=getElementsByClass('tab_b');
		this.as=tab[0].getElementsByTagName('ul')[0].getElementsByTagName('a');
		
		for (var i=0; i<this.colcount; i++) {
			this['upd'+i]=getElementsByClass('agi_upd'+i, cont, 'td');
		}
	},
	setTimer:function(time) {
		Updater.time=time*1000;
	},
	setData:function(arr, targ) {
		if (Updater.intval!=null) clearInterval(Updater.intval);
		if (!targ) targ=Updater.as[0];
		Updater.page=0;
		Updater.tpage=Math.ceil(arr.length/Updater.pagelen);
		Updater.data=arr;
		Updater.update();
		Updater.refreshTabs(targ);
		
		if (Updater.tpage>1) Updater.intval=setInterval('Updater.update()', Updater.time);
	},
	update:function() {
		var page=0;
		var targ;
		
		for (var i=0; i<this.colcount; i++) {
			targ=Updater['upd'+i];
			
			for (var j=0; j<Updater.pagelen; j++) {
				page=j+(Updater.page*Updater.pagelen);
				if (Updater.data[page]!=null) targ[j].innerHTML=Updater.data[page][i];
				else targ[j].innerHTML='&nbsp;';
			}
			
		}
		
		Updater.page++;
		if (Updater.page>=Updater.tpage) Updater.page=0;
	},
	refreshTabs:function(fcs) {
		var len=Updater.as.length;
		for (var i=0;i<len;i++) Updater.as[i].className='';
		
		fcs.className='hoverd';
	}
}

var Slider={
	init:function() {
		this.classList=['cf_list'];
		this.tstep=(BrowserDetect.isIE)? 10 : 6;
		this.power=0.5;
		this.targ={};
	},
	slide:function(target, dir) {
		if (!Slider.targ[target]) Slider.make(target);
		var targ=Slider.targ[target].ref;
		var dest=0;
		var chk=targ.cursor;
		
		if (dir=='up') {if (targ.cursor>0) targ.cursor--;}
		else {if (targ.cursor<targ.len) targ.cursor++;}
		
		if (chk!=targ.cursor) {
			if (targ.cursor==0) dest=targ.atop[0];
			else dest=-(targ.atop[targ.cursor]-(targ.offset*2));
			dest=-(targ.atop[targ.cursor]-targ.offset);
			
			Slider.startpos=targ.offsetTop;
			Slider.target=targ;
			Slider.dest=dest;
			Slider.step=0;
			
			if (Slider.intval!=null) clearInterval(Slider.intval);
			Slider.intval=setInterval('Slider.animate()', 30);
		}
	},
	animate:function() {
		var res=Slider.easeInOut(Slider.startpos, Slider.dest, Slider.tstep, Slider.step, Slider.power);
		Slider.target.style.marginTop=res+'px';
		Slider.step++;
		if (Slider.step>Slider.tstep) Slider.denouement();
	},
	denouement:function() {
		clearInterval(Slider.intval); Slider.target.style.marginTop=Slider.dest+'px';
	},
	make:function(target) {
		Slider.targ[target]={};
		Slider.targ[target].ref=document.getElementById(target);
		var ref=Slider.targ[target].ref;
		ref.cursor=0;
		
		var eles;
		for (var p in Slider.classList) {
			eles=getElementsByClass(Slider.classList[p], ref, 'div');
			if (eles!='') break;
		}
		ref.bheight=eles[0].offsetHeight+1;
		
		ref.atop=[];
		for (var q in eles) ref.atop[q]=eles[q].offsetTop;
		
		var height=ref.parentNode.offsetHeight;
		ref.mlen=0;
		for (var i=ref.bheight; i<height; i+=ref.bheight) ref.mlen++;
		
		ref.len=eles.length-ref.mlen;
		ref.offset=ref.offsetTop;
		ref.style.marginTop='0px';
	},
	easeInOut:function(minValue,maxValue,totalSteps,actualStep,powr) {
		var delta = maxValue - minValue;
		var stepp = minValue+(Math.pow(((1 / totalSteps) * actualStep), powr) * delta);
		return Math.ceil(stepp);
	}
}

function init() {
	MM_preloadImages('images/menu_01_ov.gif','images/menu_02_ov.gif','images/menu_03_ov.gif','images/menu_04_ov.gif','images/menu_06_ov.gif','images/menu_07_ov.gif','images/menu_05_ov.gif','images/tag_02_ov.gif','images/tag_03_ov.gif','images/step_ov.gif','images/bus_01_ov.gif','images/bus_ov.gif');
	Updater.init();
}

window.onload=init;