if(!Array.prototype.pop){Array.prototype.pop=function(){if(!this.length)returnnull;varlast=this[this.length-1];--this.length;returnlast;}}
if(!Array.prototype.push)
{Array.prototype.push=function(){for (var i=0,n=arguments.length;i<n;i++)this[this.length]=arguments[i];return this.length;}}if(!Array.prototype.indexOf){Array.prototype.indexOf=function(value,idx){if(typeof(idx)!='number')idx=0;else if(idx<0)idx=this.length+idx;for(var i=idx,n=this.length;i<n;i++)if(this[i]===value)return i;return-1;}}function Browser(){this.name=navigator.userAgent;this.isWinIE=this.isMacIE=false;this.isGecko=this.name.match(/Gecko\//);this.isSafari=this.name.match(/AppleWebKit/);this.isKHTML=this.isSafari||navigator.appVersion.match(/Konqueror|KHTML/);this.isOpera=window.opera;this.hasNS=(document.documentElement)?document.documentElement.namespaceURI:null;if(document.all&&!this.isGecko&&!this.isSafari&&!this.isOpera){this.isWinIE=this.name.match(/Win/);this.isMacIE=this.name.match(/Mac/);}}var Browser=new Browser();if(!window.Event)var Event=new Object;
Event={cache:false,getEvent:function(evnt){return(evnt)?evnt:((window.event)?window.event:null);},
getKey:function(evnt){evnt=this.getEvent(evnt);return(evnt.which)?evnt.which:evnt.keyCode;},stop:function(evnt){try{evnt.stopPropagation()}catch(err){};evnt.cancelBubble=true;try{evnt.preventDefault()}catch(err){};return(evnt.returnValue=false);},
register:function(object,type,handler){if(type=='keypress'&&(Browser.isKHTML||object.attachEvent))type='keydown';if(type=='mousewheel'&&Browser.isGecko)type='DOMMouseScroll';if(!this.cache)this.cache=[];if(object.addEventListener){this.cache.push([object,type,handler]);object.addEventListener(type,handler,false);}else if(object.attachEvent){
this.cache.push([object,type,handler]);object.attachEvent(['on',type].join(''),handler);}
else{object[['on',type].join('')]=handler;}},
deregister:function(object,type,handler){if(type=='keypress'&&(Browser.isKHTML||object.attachEvent))type='keydown';if(type=='mousewheel'&&Browser.isGecko)type='DOMMouseScroll';if(object.removeEventListener)object.removeEventListener(type,handler,false);else if(object.detachEvent)object.detachEvent(['on',type].join(''),handler);else
object[['on',type].join('')]=null;},deregisterAll:function(){if(!Event.cache)return
for(var i=0,n=Event.cache.length;i<n;i++){Event.deregister(Event.cache[i]);Event.cache[i][0]=null;}Event.cache=false;}};Event.register(window,'unload',Event.deregisterAll);document.getElemetsByClassName=function(name,target){var result=[];var object=null;var search=new RegExp(['(^|\\s)',name,'(\\s|$)'].join(''));if(target&&target.getElementsByTagName)object=target.getElementsByTagName('*');if(!object)
object=document.getElementsByTagName?document.getElementsByTagName('*'):document.all;for(var i=0,n=object.length;i<n;i++)
{var check=object[i].getAttribute('class')||object[i].className;if(check.match(search))result.push(object[i]);}return result;}
function Library(){this._path='';this._cache=[];this.lang='';this.base='';return this._init();}
Library.prototype={_init:function(){var rs_path=document.getElementsByName('X-Resource-Dir')[0];var js_path=document.getElementsByName('X-Script-Dir')[0];if(rs_path){this.base=this._check_path(rs_path.getAttribute('content'));if(!js_path)this._path=[this.base,'js/'].join('');}if(js_path)this._path=this._check_path(js_path.getAttribute('content'));return this;},
_initLang:function(){var html=document.getElementsByTagName('html')[0];if(!html)return;this.lang=html.getAttribute('xml:lang')||html.getAttribute('lang');},_check_path:function(path){if(!path)return '';if(!path.match(/\/$/))path=[path,'/'].join('');return path;},require:function(libs)
{var pre='\n<script type="text/javascript" src="';var post='.js"></script>';for(var i=0,n=libs.length;i<n;i++)
{if(this._cache.indexOf(libs[i])> -1)continue;document.write([pre,this._path,libs[i],post].join(''));this._cache.push(libs[i]);}},path:function(path){this._path=this._check_path(path);}}
var Library=new Library();Event.register(window,'load',function(){Library._initLang()});