function $(){
	if(typeof(arguments[0])=='object'){return arguments[0];
	}else{try{ return document.getElementById(arguments[0]);}catch(e){return null;}}
}
function $N(){
	if(typeof(arguments[0])=='object'){return arguments[0];
	}else{try{ return document.getElementsByName(arguments[0]);}catch(e){return null;}}
}
function $TN(obj){
	if(typeof(arguments[1])=='object'){return arguments[1];
	}else{try{ return obj.getElementsByName(arguments[1]);}catch(e){return null;}}
}
function $T(){
	if(typeof(arguments[0])=='object'){return arguments[0];
	}else{try{ return document.getElementsByTagName(arguments[0]);}catch(e){return null;}}
}
function $TT(obj){
	if(typeof(arguments[1])=='object'){return arguments[1];
	}else{try{ return $(obj).getElementsByTagName(arguments[1]);}catch(e){return null;}}
}
function $C(){//create obj
	if(typeof(arguments[0])=='object')return arguments[0];
	else return document.createElement(arguments[0]);
}
function $TC(obj){//create obj
	if(typeof(arguments[1])=='object')return arguments[1];
	else return obj.createElement(arguments[0]);
}
function $E(){//create text
	if(typeof(arguments[0])=='object')return arguments[0];
	else return document.createTextNode(arguments[0]);
}
function $TE(obj){//create text
	if(typeof(arguments[1])=='object')return arguments[1];
	else return obj.createTextNode(arguments[0]);
}
function trim(t){
	var str=/(^\s*)|(\s*$)/g;
	return t.replace(str,"");   
}
function empty(t){ 
	return t==null||t==undefined||t.length<=0;
}
function clearNode(element){
	for(var i=0;i<element.childNodes.length;i++){
		var mNode=node(element.childNodes[i]);
		if(mNode.type==3 && !/\S/.test(mNode.value))
			mNode.prent.removeChild(element.childNodes[i]);
	}
}
function insertAfter(newElement, obj) {
	var parent = obj.parentNode;
	if(parent.lastChild == obj)parent.appendChild(newElement);
	else parent.insertBefore(newElement, obj.nextSibling);
}
function delNode(obj){
	try{
		obj.removeNode(true);
	}catch(e){
		var parent = obj.parentNode;
		parent.removeNode(obj);
	}
}
function target(e) {
    if (! e) e = event;
    return e.target || e.srcElement;
}
function Sleep(msc) {
	now = new $ate();
	exitTime = now.getTime() + msc;
	while(true){
		now = new $ate();
		if(now.getTime() > exitTime) return;
	}
} 
function getPos(el) {
	var r={ x: el.offsetLeft, y: el.offsetTop };
	if (el.offsetParent) {
		var tmp=getPos(el.offsetParent);
		r.x += tmp.x;
		r.y += tmp.y;
	}
	return r;
}
function getOs(){
	if(navigator.userAgent.indexOf("MSIE")>0)return "IE"; 
	else if(navigator.userAgent.indexOf("Firefox")>0)return "Firefox"; 
	else if(navigator.userAgent.indexOf("Safari")>0)return "Safari"; 
	else if(navigator.userAgent.indexOf("Camino")>0)return "Camino"; 
	else if(navigator.userAgent.indexOf("Gecko/")>0)return "Gecko"; 
	return 'Other';
}
var win={};
win={
    add:function(el, event, listener) {
        if (el.addEventListener){
            el.addEventListener(event, listener, false);
        } else if (el.attachEvent){
            el.attachEvent('on' + event, listener);
        }
    },
    remove:function(el, event, listener) {
        if (el.removeEventListener){
            el.removeEventListener(event, listener, false);
        } else if (el.detachEvent){
            el.detachEvent('on' + event, listener);
        }
    }
}
function inkey_str(event) {
	evt=event?event:window.event;
	if((evt.keyCode>32&&evt.keyCode<48)||(evt.keyCode>57&&evt.keyCode<65)||(evt.keyCode>90&&evt.keyCode<97)){
		evt.keyCode=0;
		evt.returnValue=false;
	}
}
function inkey_num(event) {
	evt=event?event:window.event;
	if(evt.keyCode< 45||evt.keyCode>57||evt.keyCode==47){
		evt.keyCode=0;
		evt.returnValue=false;
	}
}
function sDel(c,t){
	if(t==null||t==undefined)t=dom_t1;
	if(t=="all")t=dom_t2;
	if(confirm(t)){
		if(typeof(c)=='function'||typeof(c)=='object')c();
		else if(c=='return')return true;
		else window.location.href=c;
	}else{ return false;}
}
function mDel(c,s,t){
	if(confirm(t)){
		if(typeof(c)=='function'||typeof(c)=='object')c();
		else if(c)return true;
		else window.location.href=c;
	}else{
		if(typeof(s)=='function'||typeof(s)=='object')c();
		else if(!s)return false;
		else window.location.href=s;
	}
}
$F=(function(){
	var slice=Array.prototype.slice;
	return{
		bind:function(fun,thisp){
			var args=slice.call(arguments,2);
			return function(){
				return fun.apply(thisp,args.concat(slice.call(arguments)));
			}
		},
		bindAsEventListener:function(fun,thisp){
			var args=slice.call(arguments,2);
			return function(event){
				return fun.apply(thisp,[E.fixEvent(event)].concat(args));
			}
		} 
	} 
})();
Class=function(){
	var _class=function(){
	   this.initialize.apply(this,arguments)
	};
	for(i=0;i<arguments.length;i++){
	   superClass=arguments[i];
	   for(member in superClass.prototype)
		   _class.prototype[member]=superClass.prototype[member];
	};
	_class.child=function(){return new Class(this)};
	_class.extend=function(f){for(property in f){_class.prototype[property]=f[property]}};
	return _class;
};
function sethome(obj,url){obj.style.behavior='url(#default#homepage)';obj.setHomePage(url);}
function bookmarkit(s,t){window.external.addFavorite(s,t);}