/*
Aequus v0.3[07.08.09] (distribution)
Copyright 2007, Tadpole Solutions
http://www.tadpole-online.com
*/
aqs = {
	/*----------------------------------------------------------
	| generate event callers
	+---------------------------------------------------------*/
	ONINIT:   true, //-- generate "aqs.oninit()" caller (after package loading)
	ONLOAD:   true, //-- generate "window.onload" event caller
	ONUNLOAD: true, //-- generate "window.onunload" event caller

	/*----------------------------------------------------------
	| スクリプトパッケージ設定
	+---------------------------------------------------------*/
	packages: {
		first: [ //-- load first (before optional) "global" package
		],
		optional: { //-- optional packages (loads between "first" & "last")
			cool: [
				'prototype.js',
				'scriptaculous/effects.js'
			]
		},
		last: [ //-- load last (after optional) "global" package
			'manten.js'
		],
		attrs: { //-- default script tag attributes
			type: 'text/javascript',
			charset: '',
			defer: false
		},
		load: [] //-- optional package load id container 
	},

	/*----------------------------------------------------------
	| browser test / onbadbrowser handler
	+---------------------------------------------------------*/
	browsertest: function() {

		//-- hook [ie<7] specific css hacks
		if (!aqs.env('ie:mac')) {
			this.packages.load.push('cool');
		}
		if (aqs.env('ie:win:<7')) {
			var p = document.getElementsByTagName('link');
			for (var i = 0; i < p.length; i++) {
				if (p[i].rel != 'stylesheet') continue;
				p = p[i].href.replace(/\/[^\/]+$/, '/');
				document.write('<link rel="stylesheet" href="' + p + 'winie6.css" media="all" />');
				break;
			}
		}
		//-- bad browser
		//if (aqs.env('ie:win:<6|ff:*:<=1|sa:*:<312|op:*:<7|nn')) aqs.onbadbrowser();
	},

	onbadbrowser: function(flag) {
		if (flag) switch(flag) {
			case 'wrn' : //-- warning (slightly/possibly incompatabile)
				alert('Enter at your own risk!');
				return;
			case 'min' : //-- failed "minimal" test
				alert('Dude, not good... not good at all!');
				return;
		}
		//-- just plain bad!
		location.replace("badbrowser.html");
	}
};

(function(){aqs.modules={'aequus':'0.3'};aqs.EVENT_METHOD=(function(){if(window.addEventListener)return 1;if(window.attachEvent)return 2;if(typeof document.readyState!='undefined')return 3;return 0;})();if(!document.getElementsByTagName||!Object.constructor||!aqs.EVENT_METHOD)aqs.onbadbrowser('min');aqs.env=function(q){var e=aqs.env;q=q.toLowerCase().split(e.dlm);for(var i=0;i<q.length;i++){q[i]=q[i].split(e.sep);var b=(q[i][0]||e.wild);var p=(q[i][1]||e.wild);var v=(q[i][2]||e.wild);var op=e.wild;if(v!=e.wild){op=v.replace(/[\d\.]+/g,'');v=parseFloat(v.replace(/[^\d\.]+/g,''));if(!op||op=='=')op=(isNaN(v))?e.wild:'==';}if((b==e.wild||b==e.browser)&&(p==e.wild||p==e.platform)&&(op==e.wild||eval(e.browser.version+op+v)))return true;}return false;};var agt=window.navigator.userAgent.toLowerCase();var e={dlm:'|',sep:':',wild:'*'};var pList=[['mac'],['win'],['unix','x11']];for(var i=0;i<pList.length;i++){var id=pList[i][0];var nPat=(pList[i][1]||id);if(e.platform)break;if(agt.indexOf(nPat)>=0){e.platform=new Object(id);e.platform[id]=true;}}var bList=[['op','opera','opera '],['ie','msie','msie '],['sa','safari','safari/'],['ff','firefox','firefox/'],['ow','omniweb','omniweb/v'],['ns','netscape','netscape/'],['mz','mozilla','rv:']];for(var i=0;i<bList.length;i++){var id=bList[i][0];var nPat=bList[i][1];var vPat=(bList[i][2]||nPat);if(e.browser)break;if(agt.indexOf(nPat)>=0){e.browser=new Object(id);e.browser[id]=true;e.browser.version=parseFloat(agt.substring(agt.indexOf(vPat)+vPat.length));}}if(agt.indexOf('mozilla')>=0){e.moz=true;e.engine='moz';e.moz_ver=parseFloat(navigator.appVersion);if(!e.browser&&document.layers){e.browser=new Object('n4');e.browser.version=e.moz_ver;}};for(var k in e)if(e[k]!==Object.prototype[k])aqs.env[k]=e[k];aqs.browsertest();e={_add_event:function(evt){if(arguments.length<2)return;var q=this['on'+evt].queue;for(var i=0;i<arguments[1].length;i++){var t=arguments[1][i];if(typeof t=='string')t=new Function(t);else if(typeof t!='function')return this._err('Bad "task" (wrong type); received ['+typeof t+'], expected [function|string].','aqs.add_on'+evt+'()');q[q.length]=t;}},_call_event:function(evt){var q=this['on'+evt].queue;if(q.shift)while(q.length>0)(q.shift())();else{for(var i=0;i<q.length;i++)q[i]();this['on'+evt].queue=[];}if('|load|unload|'.indexOf('|'+evt+'|')>=0)switch(this.EVENT_METHOD){case 1:window.removeEventListener(evt,this['on'+evt],false);break;case 2:window.detachEvent('on'+evt,this['on'+evt]);break;case 3:window['AQS_ON'+evt.toUpperCase()+'_TASKS']=null;}},_err:function(msg,func){func=(func)?func+': ':'aqs.js: ';if(window.Error)throw new Error(func+msg);else alert('ERROR>> '+func+msg);}};for(var k in e)if(e[k]!==Object.prototype[k])aqs[k]=e[k];var evts=['register','init','load','unload'];for(var i=0;i<evts.length;i++){e=evts[i];aqs['on'+e]=new Function('aqs._call_event("'+e+'");');aqs['on'+e].add=new Function('aqs._add_event("'+e+'", arguments);');aqs['on'+e].queue=[];}var me=document.getElementsByTagName('script');me=me[me.length-1];var mypath=me.src.match(/^(.+)\/[^\/]+$/)[1]+'/';var pkgs=aqs.packages.load;var q=me.src.match(/\?.+$/);if(q&&(q=q.toString().substr(1).split('&'))){for(var i=0;i<q.length;i++){q[i]=q[i].split('=');var k=q[i][0].toUpperCase();var v=q[i][1];if(k=='PKG'){v=v.split('+');for(var j=0;j<v.length;j++)pkgs[pkgs.length]=v[j];}else{if(aqs['ON'+k])k='ON'+k;else if(!b[k])continue;if(v)aqs[k]=(!v.match(/^[0nf]/i))?true:false;else aqs[k]=!aqs[k];}}}var scripts=[];for(var i=-1;i<pkgs.length+1;i++){var sid,pkg;switch(i){case-1:pkg=aqs.packages.first;break;case pkgs.length:pkg=aqs.packages.last;break;default:sid=pkgs[i];pkg=aqs.packages.optional[sid];}if(!pkg)continue;if(!pkg.join)pkg=[pkg];for(var j=0;j<pkg.length;j++){if(pkg[j].split)pkg[j]={src:pkg[j]};var src=pkg[j].src;if(!src||!src.split)return aqs._err('Source is wrong type or undefined(empty) at aqs.packages => "'+sid+'['+j+']"; expected [string], received ['+typeof src+'].');if(!src.match(/^(\/|\w+:\/{2,})/))src=mypath+src;var s=src.split(/[\[\]]/);switch(s.length){case 1:break;case 3:var h=s[0];var n=s[1].split(',');var t=s[2];s=[];for(var k=0;k<n.length;k++)s[s.length]=h+n[k]+t;break;default:return aqs._err('Malformed source "'+src+'" encountered at aqs.packages => "'+sid+'['+j+']".');}pkg[j].src=s;scripts[scripts.length]=pkg[j];}}var keys='type,charset,defer'.split(',');for(var i=0;i<scripts.length;i++){var s=scripts[i];var attrs='';for(var j=0;j<keys.length;j++){var k=keys[j];var v=s[k]||aqs.packages.attrs[k];if(v===true)v=k;if(v)attrs+=' '+k+'="'+v+'"';}for(var j=0;j<s.src.length;j++)document.write('\n<script src="'+s.src[j]+'"'+attrs+'></script>');}if(aqs.ONINIT)document.write('\n<script type="text/javascript">aqs.oninit();</script>');if(aqs.ONLOAD){switch(aqs.EVENT_METHOD){case 1:window.addEventListener('load',aqs.onload,false);break;case 2:window.attachEvent('onload',aqs.onload);break;case 3:window.AQS_ONLOAD_TASKS=function(){if(document.readyState!='complete')return;window.clearInterval(AQS_ONLOAD_TIMER);if(aqs.ONUNLOAD){var w=window.onunload;var a=aqs.onunload;if(w){var f=w.toString().match(/\{[\n\r]*(.+)[\n\r]*\}/);if(f[1])a.add(f[1]);}if(a.queue.length>0)window.onunload=a;}aqs.onload();};AQS_ONLOAD_TIMER=window.setInterval('AQS_ONLOAD_TASKS()',0);break;default:aqs._err('This browser doesn\'t support "window.onload" event attachment!');}}if(aqs.ONUNLOAD){switch(aqs.EVENT_METHOD){case 1:window.addEventListener('unload',aqs.onunload,false);break;case 2:window.attachEvent('onunload',aqs.onunload);break;}}})();
//-- WARNING: don't add script down here
