// $ dybase.js 2007-4-04 by Duomaxwell $

var _tv_start = true;  // 工作变量，运动状态控制

function tv_item_move(obj,speed,direction) {
	if(_tv_start) { 
		if(direction == 'left'){
			dycore.getElm(obj).scrollLeft += 10;
		}else{
			dycore.getElm(obj).scrollLeft -= 10;
		}
		setTimeout('tv_item_move("'+obj+'",'+speed+',"'+direction+'")',speed); 
	}else{
		_tv_start = true;
	}
}

function tv_item_stop() {
	_tv_start = false;
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////
//自制封装工具类

//图片切换
function onImgOver(obj) {
	var s = obj.src;
	var lastIndex = s.lastIndexOf("_");
	var lastIndex2 = s.lastIndexOf(".jpg")-1;
	var newSrc = s.substring(0, lastIndex2) + "1.jpg"
	obj.src = newSrc;
}

function onImgOut(obj) {
	var s = obj.src;
	var lastIndex = s.lastIndexOf("_");
	var lastIndex2 = s.lastIndexOf(".jpg")-1;
	var newSrc = s.substring(0, lastIndex2) + "0.jpg"
	obj.src = newSrc;
}
//图片切换

//显示对象
function showDiv(obj) {
	dycore.getElm(obj).style.display = "block";
}
//隐藏对象
function hideDiv(obj) {
	dycore.getElm(obj).style.display = "none";
}


//多次请求判断
function onYseon(){
	if(confirm("确定要删除数据么？")==true){
		if(confirm("真的确定要删除数据么？？")==true){
			if(confirm("最后一次确认！！")==true){
				return true;
			}else{
				return false;
			}
		}else{
			return false;
		}
	}else{
		return false;
	}
}

//建立一个层
function creElm(obj,tagName,id,body,position,w,h,x,y,border,borderColor){
	try{
		var tag = document.createElement(tagName);
		tag.id = id;
		tag.innerHTML = body;
		border = border + "px solid " + borderColor;
		tag.style.border = border;
		tag.style.position = position;
		tag.style.width = parseInt(w)+"px";
		tag.style.height = parseInt(h)+"px";
		tag.style.top = parseInt(y)+"px";
		tag.style.left = parseInt(x)+"px";
		if(obj != ""){
			obj.appendChilid(tag);
		}else{
			document.body.appendChild(tag);
		}
	}catch(e){
		alert(e);
	}
};

//建立一个窗口
function createDivWin(title,body,footer){
	var DivH = screen.height;
	var DivW = screen.width;
	//alert(DivH + " - " + DivW);
	var DivT = document.body.scrollTop;
	var TableT = document.body.scrollTop + 100;
	var TabL = (document.body.clientWidth/2)-200;
	//alert(DivT + " - " + TableT + " - " + TableT);
	var tempDiv = "<div id='tempDiv' style='background:#999999;position:absolute;top:"+DivT+"px;left:0px;width:"+DivW+"px;height:"+DivH+"px;filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=50,finishOpacity=100);'></div>"
	tempDiv += "<table border='0' align='center' cellspacing='0' width='500' height='400' style='background:#FFFFFF;position:absolute;top:"+TableT+"px;left:"+TabL+"px;'>";
	tempDiv += "<tr><th height='20' width='460' style='border-bottom:1px solid #999999''>";
	tempDiv += title;
	tempDiv += "</th><td height='20' width='40' style='text-align:right;border-bottom:1px solid #999999''>";
	tempDiv += "<a href='javascript:closeDivWindow()'>关闭</a>";
	tempDiv += "</td></tr><tr><td colspan='2' height='375'>";
	tempDiv += body;
	tempDiv += "</td></tr><tr><td colspan='2' height='20' style='text-align:center;border-top:1px solid #999999'>";
	tempDiv += footer;
	tempDiv += "</td></tr>";
	tempDiv += "</table>";
	var DivWindow = document.createElement("div");
	DivWindow.id="DivWin";
	DivWindow.innerHTML=tempDiv;
	document.body.onmousewheel = "false";
	document.body.style.overflow = "scroll";
	document.body.style.overflowY = "hidden";
	document.body.style.overflowX = "hidden";
	document.body.appendChild(DivWindow);
}
//关闭建立的窗口
function closeDivWindow(){
	document.body.onmousewheel = "true";
	document.body.style.overflow = "scroll";
	document.body.style.overflowY = "auto";
	document.body.style.overflowX = "auto";
	var DivWin=dycore.getElm("DivWin");
	document.body.removeChild(DivWin);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////
//封装工具类

dycore={};

dycore.isFunc=function(f){ //判断是否是funciton
	return (f && (typeof(f)=="function" || typeof(f)=="object"))
};

dycore.isObj=function(f){ //判断是否是object
	return (f && typeof(f)=="object")
};

dycore.isShow=function(obj){ //判断是否是隐藏
	if(dycore.getElm(obj).style.dispaly == "none"){
		return true;
	}else{
		return false;
	}
};


dycore.isStr=function(f){ //判断是否是string
	return (f && typeof(f)=="string")
};

dycore.rInt=function(val){ //判断是否是int
	try{
		return (!val ? 0 : (typeof(val)=="number" || (typeof(val)=="string" && val.length > 0) ? parseInt(val) : 0)) 
	}catch(E){
	}
	return 0;
};

if(!Array.prototype.push)Array.prototype.push=function(v){this[this.length]=v};

dycore.getElm=function(id){ //捕捉对象
	return document.getElementById(id);
};

dycore.getName=function(name){ //捕捉对象
	return document.getElementsByName(name);
};

dycore.getVal=function(id){ //获得数据
	return dycore.getElm(id).value;
};

dycore.setVal=function(id,Val){ //写入数据
	try{
		dycore.getElm(id).value=Val;
	}catch(e){
		alert("对象不可设置Value");
	}
};

dycore.clearVal=function(id){ //清除数据
	try{
		dycore.getElm(id).value="";
	}catch(e){
		alert("对象不可设置Value");
	}
};

dycore.bodyWidth=function(win){ //获得浏览器可用宽度
	win=win?win:window;
	return parseInt(dycore.isIE?win.document.body.clientWidth:win.innerWidth)
};

dycore.bodyHeight=function(win){ //获得浏览器可用高度
	win=win?win:window;
	return parseInt(dycore.isIE?win.document.body.clientHeight:win.innerHeight)
};

dycore.scrollTop=function(win){ //显示scrollTop
	win=win?win:window;
	return dycore.isIE?win.document.body.scrollTop :win.pageYOffset
};

dycore.scrollLeft=function(win){ //显示scrollLeft
	win=win?win:window;
	return dycore.isIE?win.document.body.scrollLeft:win.pageXOffset
};


dycore.sniff=function(){
	var c=this;
	var u=navigator.userAgent;
	c.isIE=(u.indexOf("MSIE")>0);
	c.isMac=(u.indexOf("Mac")>0);
	c.isNS=(u.indexOf("Gecko")>0);
	c.isOpera=(window.opera||u.indexOf("Opera")>0);
	c.isSafari=(u.indexOf("Safari")>0);
	if(c.isSafari){
	c.isMac=true;
	c.isNS=c.isIE=c.isOpera=false;
	}else if(c.isOpera){
	c.isNS=c.isIE=c.isSafari=false;
	}
	if(c.isIE){
	var i=navigator.appVersion.indexOf("MSIE");
	var v=navigator.appVersion.substring(i+5,i+8);
	c.isIE5=v.charAt(0)=="5";
	c.isIE6=v.charAt(0)=="6";
	c.isIE7=v.charAt(0)=="7";
	}
	c.enableElementOverFrame=true;
	if(c.isIE){
	var swfobj;
	try{
	swfobj = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
	}catch(e){}
	if(c.isObj(swfobj)) c.isSWFEnabled = true;
	else c.isSWFEnabled = false;
	}
	else if(c.isNS || c.isOpera){
	if(navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"] && navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)
	c.isSWFEnabled = true;
	else c.isSWFEnabled =false;
	}
	else c.isSWFEnabled = false;
};

try{dycore.sniff();}catch(E){}



dycore.getCookie=function(name){ //获得Cookie
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if(begin == -1){
	begin = dc.indexOf(prefix);
	if (begin != 0) return null;
	}else
	begin += 2;
	var end=dc.indexOf(";", begin);
	if(end == -1)end=dc.length;
	return unescape(dc.substring(begin + prefix.length, end));
};

dycore.setCookie=function(name,value,expires,path,domain,secure){ //设置Cookie
	document.cookie = name + "=" + escape(value) +
	((expires) ? "; expires=" + expires.toGMTString() : "") +
	((path) ? "; path=" + path : "") +
	((domain) ? "; domain=" + domain : "") +
	((secure) ? "; secure" : "");
};

dycore.deleteCookie=function(name,path,domain) { //删除Cookie
	if(dycore.getCookie(name))
	document.cookie = name + "=" + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
};

dycore.trim=function(inputString) { //整理String
	if (typeof inputString != "string") return inputString;
	var retValue = inputString;
	var ch = retValue.substring(0, 1);
	while(ch == " "){
	retValue = retValue.substring(1, retValue.length);
	ch = retValue.substring(0, 1);
	}
	ch = retValue.substring(retValue.length - 1, retValue.length);
	while(ch == " ") {
	retValue = retValue.substring(0, retValue.length - 1);
	ch = retValue.substring(retValue.length - 1, retValue.length);
	}
	return retValue;
};




dycore.cursors={
	hand:dycore.isIE5?"hand":"pointer",
	all_scroll:"all-scroll",
	move:"move",
	crosshair:"crosshair",
	_default:"default",
	n_resize:"n-resize",
	ne_resize:"ne-resize",
	e_resize:"e-resize",
	se_resize:"se-resize",
	s_resize:"s-resize",
	sw_resize:"sw-resize",
	w_resize:"w-resize",
	nw_resize:"nw-resize"
};

dycore.getFormControl=function(name){
	var c=null;
	var forms=window.document.forms;
	for(var idx=forms.length - 1;idx>=0;idx--){
	c=forms[idx][name];
	if(c)return c;
	}
	return c;
};

dycore.getFrm=function(name){
	return eval("window."+name);
};

dycore.setFrmLocation=function(frm,url){
	if(dycore.isSafari){
	if(this.isObj(frm))frm=frm.name;
	eval("window."+frm).location=url;
	}else{
	frm=dycore._getFrm(frm);
	if(frm)frm.location=url;
	}
};

dycore._getFrm=function(name){
	var frm=null;
	if(this.isObj(name))
	frm=name;
	else
	frm=eval("window."+name);
	return frm;
};

dycore._getElm=function(elm){
	if(this.isObj(elm)){
	if(elm && elm.frameElement)
	elm=elm.frameElement;
	return elm;
	}
	return document.getElementById(elm)
};

dycore.focus=function(elm){
	var c=this;
	elm=c._getFrm(elm);
	if(!elm)elm=c._getElm(elm);
	if(!elm)return;
	try{
	if(c.isFunc(elm.focus))
	elm.focus();
	else if(c.isFunc(elm.blur))
	elm.blur();
	}catch(E){}
};

dycore.print=function(frame){
	var c=this;
	frame=c._getFrm(frame);
	c.focus(frame);
	try{ if(frame&&c.isFunc(frame.print))frame.print();}catch(E){}
};

dycore.setVisibility=function(elm,visible){
	var c=this;
	elm=c._getElm(elm);
	if(elm&&elm.style){
	if(visible){
	if(elm.style.display=="none")elm.style.display="";
	if(elm.style.visibility!="visible")elm.style.visibility="visible";
	}else if(elm.style.visibility!="hidden")elm.style.visibility="hidden";
	}
};

dycore.show=function(elm){
	var c=this;
	elm=c._getElm(elm);
	if(elm&&elm.style){
	elm.style.display="";
	elm.style.visibility="visible";
	}
};

dycore.showElms=function(){
	var c=this;
		for(var i=0;i<arguments.length;i++){
			var elm=c._getElm(arguments[i]);
			if(elm&&elm.style){
			elm.style.display="";
			elm.style.visibility="visible";
		}
	}
};

dycore.hide=function(elm){
	var c=this;
	elm=c._getElm(elm);
	if(elm&&elm.style)elm.style.display="none";
};

dycore.hideElms=function(){
	var c=this;
	for(var i=0;i<arguments.length;i++){
	var elm=c._getElm(arguments[i]);
	if(elm&&elm.style)elm.style.display="none";
	}
};

dycore.showRow=function(row){
	var c=this;
	row=c._getElm(row);
	if(row&&row.style){
	row.style.display="";
	return;
	}
};

dycore.hideRow=function(row){
	var c=this;
	row=c._getElm(row);
	if(row&&row.style){
	row.style.display="none";
	return;
	}
};

dycore.showCell=function(cell){
	var c=this;
	cell=c._getElm(cell);
	if(cell&&cell.style){
	cell.style.display="block";
	}
};

dycore.hideCell=function(cell){
	var c=this;
	cell=c._getElm(cell);
	if(cell&&cell.style){
	cell.style.display="none";
	}
};

dycore.isVisible=function(elm){
	elm=this._getElm(elm);
	return (elm && elm.style && elm.style.display!="none" && elm.style.display!="hidden")
};



dycore.getW=function(elm){ //获得对象的宽
	var c=this;
	if(c.isStr(elm))elm=c.getElm(elm);
	return (elm?elm.offsetWidth:0);
};

dycore.setW=function(elm,w){ //设置对象的宽
	var c=this;
	if(c.isStr(elm))elm=c.getElm(elm);
	if(elm&&elm.style) try{elm.style.width=(dycore.isStr(w) ? w : Math.max(parseInt(w),0)+"px");}catch(E){};
};

dycore.getH=function(elm){ //获得对象的高
	var c=this;
	if(c.isStr(elm))elm=c.getElm(elm);
	return (elm?elm.offsetHeight:0);
};

dycore.setH=function(elm,h){ //设置对象的高
	var c=this;
	if(c.isStr(elm))elm=c.getElm(elm);
	if(elm&&elm.style) try{elm.style.height=(dycore.isStr(h) ? h : Math.max(parseInt(h),0)+"px");}catch(E){};
};


dycore.getZ=function(elm){ //获得对象的图层
	var c=this;
	if(c.isStr(elm))elm=c.getElm(elm);
	if(elm&&elm.style&&elm.style.zIndex>0) return elm.style.zIndex;
	return 0;
};

dycore.setZ=function(elm,zIndex){ //设置对象的图层
	var c=this;
	if(c.isStr(elm))elm=c.getElm(elm);
	if(elm&&elm.style) elm.style.zIndex=zIndex;
};



dycore.getX=function(elm){ //获得对象的x坐标
	var c=this;
	if(c.isStr(elm))elm=c.getElm(elm);
	return (elm?elm.offsetLeft:0);
};

dycore.getR=function(elm){ //获得对象的y坐标
	var c=this;
	if(c.isStr(elm))elm=c.getElm(elm);
	return (elm?elm.offsetLeft + elm.offsetWidth:0);
};

dycore.setX=function(elm,x){
	var c=this;
	if(c.isStr(elm))elm=c.getElm(elm);
	if(elm&&elm.style) elm.style.left=parseInt(x)+"px";
};

dycore.getY=function(elm){
	var c=this;
	if(c.isStr(elm))elm=c.getElm(elm);
	return (elm?elm.offsetTop:0);
};

dycore.setY=function(elm,y){
	var c=this;
	if(c.isStr(elm))elm=c.getElm(elm);
	if(elm&&elm.style) elm.style.top=parseInt(y)+"px";
};

dycore.moveTo=function(elm,x,y){
	var c=this;
	if(c.isStr(elm))elm=c.getElm(elm);
	if(elm&&elm.style){
	elm.style.left=parseInt(x)+"px";
	elm.style.top=parseInt(y)+"px";
	}
};

dycore.setSize=function(elm,w,h){
	var c=this;
	if(c.isStr(elm))elm=c.getElm(elm);
	if(elm&&elm.style){
	elm.style.width=(dycore.isStr(w)?w:Math.max(parseInt(w),0)+"px");
	elm.style.height=(dycore.isStr(h)?h:Math.max(parseInt(h),0)+"px");
	}
};

dycore.getSize=function(elm,w,h){
	var c=this;
	if(c.isStr(elm))elm=c.getElm(elm);
	if(elm){
	try{return [elm.offsetWidth,elm.offsetHeight]}catch(E){}
	}
	return [0,0];
};

dycore.setFrameSize=function(frm,w,h){
	frm=dycore._getFrm(frm);
	if(!frm)return;
	frm.width=Math.max(parseInt(w),0);
	frm.height=Math.max(parseInt(h),0);
};

dycore.getGlobalX=function(elm){
	var c=this;
	if(c.isStr(elm))elm=c.getElm(elm);
	var result=0;
	if (c.isOpera){
	while(elm){
	result+=elm.offsetLeft;
	if(elm.scrollLeft && elm.scrollLeft != elm.offsetLeft)result -= elm.scrollTop;
	elm=elm.offsetParent;
	}
	}else{
	while(elm){
	result+=elm.offsetLeft;
	if(elm.scrollLeft)result-=elm.scrollLeft;
	elm=elm.offsetParent;
	}
	}
	return result;
};

dycore.getGlobalY=function(elm){
	var c=this;
	if(c.isStr(elm))elm=c.getElm(elm);
	var result=0;
	if (c.isOpera){
	while(elm){
	result+=elm.offsetTop;
	if(elm.scrollTop && elm.scrollTop != elm.offsetTop)result -= elm.scrollTop;
	elm=elm.offsetParent;
	}
	}else{
	while(elm){
	result+=elm.offsetTop;
	if(elm.scrollTop)result-=elm.scrollTop;
	elm=elm.offsetParent;
	}
	}
	return result;
};

dycore.setBody=function(elm,html){
	var c=this;
	if(c.isStr(elm))elm=c.getElm(elm);
	if(elm){
	elm.innerHTML=html;
	}
};

dycore.getBorders=function(elm){
	var c=this;
	var b=[0,0,0,0];
	if(!c.isIE)
	return b;
	if(c.isStr(elm))elm=c.getElm(elm);
	if(elm && elm.currentStyle){
	b[0]=c.rInt(elm.currentStyle.borderLeftWidth,0);
	b[1]=c.rInt(elm.currentStyle.borderTopWidth,0);
	b[2]=c.rInt(elm.currentStyle.borderRightWidth,0);
	b[3]=c.rInt(elm.currentStyle.borderBottomWidth,0);
	}
	return b;
};

dycore.createElm=function(p,tagName,position,x,y,w,h){
	tagName=(tagName?tagName:"DIV")
	var el=document.createElement(tagName);
	if(this.isStr(p))p=this.getElm(p);
	if(this.isObj(p) && (this.isObj(p.appendChild) || this.isFunc(p.appendChild)))
	p.appendChild(el);
	else
	document.body.appendChild(el)
	if(el.style){
	if(position)el.style.position=position;
	if(x||x==0)el.style.left=parseInt(x)+"px";
	if(y||y==0)el.style.top=parseInt(y)+"px";
	if(w||w==0)el.style.width=parseInt(w)+"px";
	if(h||h==0)el.style.height=parseInt(h)+"px";
	}
	return el;
};

dycore.removeChild=function(p,c){
	if(p&&c)try{p.removeChild(c);}catch(E){}
};

dycore.removeFromParent=function(p){
	if(p)try{if(p.parentElement)p.parentElement.removeChild(p);}catch(E){}
};

dycore.loadScript=function(src){
	this.createElm(null,"script").src=src;
};

dycore.tmpElm=null;

dycore.calculateHtmlSize=function(html){
	var t=this;
	if(!t.tmpElm){
		t.tmpElm=t.createElm(null,"DIV","absolute",-10000,-10000);
	}
	t.tmpElm.innerHTML=html;
	dycore.show(t.tmpElm);
	var size=t.getSize(t.tmpElm);
	dycore.hide(t.tmpElm);
	t.tmpElm.innerHTML="";
	return size;
};

dycore.unload_funcs=null;

dycore.addToUnload=function(func){
	var t=this;
	if(t.isFunc(func)){
	if(!t.unload_funcs){
	window.onunload=dycore.onunload;
	t.unload_funcs=[];
	}
	t.unload_funcs.push(func);
	}
};

dycore.unloadObj=function(obj){
	try{
	if(obj&&this.isFunc(obj.unload))
	obj.unload();
	}catch(E){}
	return null;
};

dycore.cleanupArray=function(ar){
	if(!ar)return null;
	try{
	for(var idx=ar.length-1;idx>=0;idx--){
	try{
	var item=ar[idx];
	if(dycore.isObj(item) && dycore.isFunc(item.unload)) try{item.unload()}catch(E){};
	}catch(E){}
	ar[idx]=null;
	}
	for(var idx in ar){
	try{
	var item=ar[idx];
	if(dycore.isObj(item) && dycore.isFunc(item.unload)) try{item.unload()}catch(E){};
	}catch(E){}
	ar[idx]=null;
	}
	}catch(E){};
	return null;
};

dycore.onunload=function(){
	var t=dycore;
	t.tmpElm=null;
	if(t.unload_funcs){
	for(var idx=t.unload_funcs.length-1;idx>=0;idx--){
	try{t.unload_funcs[idx]();}catch(E){};
	t.unload_funcs[idx]=null;
	}
	t.unload_funcs=null;
	}
	window.onload=null;
	window.onunload=null;
};

window.onunload=dycore.onunload;
dycore.events={};
var _evt=dycore.events;
_evt.keyevents_target_frames=[];
_evt.keydown_funcs=[];
_evt.keypress_funcs=[];
_evt.keyup_funcs=[];
_evt.event_handlers=[];

_evt.init=function(){
	var t=_evt;
	t.addEvent(document,"keydown",t.win_onkeydown,false);
	t.addEvent(document,"keypress",t.win_onkeypress,false);
	t.addEvent(document,"keyup",t.win_onkeyup,false);
	t.propagateKeyEventsToFrame(window);
};

_evt.subscribeToEvent=function(name,handler){
	if(!name || !handler)return;
	var handlers=this.event_handlers[name];
	if(!handlers){
	handlers=[];
	this.event_handlers[name]=handlers;
	}
	handlers.push(handler);
};

_evt.fireEvent=function(name,eventSrc){
	if(!name)return;
	var win=window;
	try{
	while(window.parent && window.parent.dycore && window.parent!=win)
	win=window.parent;
	}catch(E){}
	win._evt.dispatchEvent(name,eventSrc);
};

_evt.fireLocalEvent=function(name,eventSrc){
	if(!name)return;
	this.dispatchEvent(name,eventSrc);
};

_evt.dispatchEvent=function(name,eventSrc){
	var handlers=this.event_handlers[name];
	if(handlers){
	for(var i=handlers.length-1;i>=0;i--)
	try{handlers[i](eventSrc)}catch(E){}
	}
	var frames=window.frames;
	if(!frames || frames.length==0)return;
	for(var i=frames.length-1;i>=0;i--){
	try{
	var frame=frames[i];
	if(!frame.document || !frame.dycore) continue;
	frame._evt.dispatchEvent(name,eventSrc);
	}catch(E){}
	}
};

_evt.propagateKeyEventsToFrame=function(f){
	var a=this.keyevents_target_frames;
	if(dycore.isStr(f))
	f=dycore.getFrm(f);
	if(!f)
	return;
	for(var idx=a.length-1;idx>=0;idx--)
	if(a[idx]==f)return;
	a.push(f);
};

_evt.subscribeToKeyDownEvent=function(func){
	this.subscribeToKeyEvent(func,this.keydown_funcs);
};

_evt.subscribeToKeyPressEvent=function(func){
	this.subscribeToKeyEvent(func,this.keypress_funcs);
};

_evt.subscribeToKeyUpEvent=function(func){
	this.subscribeToKeyEvent(func,this.keyup_funcs);
};

_evt.subscribeToKeyEvent=function(func,ar){
	if(func)ar.push(func);
};

_evt.getEvt=function(evt){
	return (evt) ? evt : (window.event) ? window.event : null;
};

_evt.win_onkeydown=function(evt){
	return _evt.win_onkey(evt,1);
};

_evt.win_onkeypress=function(evt){
	return _evt.win_onkey(evt,2);
};

_evt.win_onkeyup=function(evt){
	return _evt.win_onkey(evt,3);
};

_evt.win_onkey=function(evt,type){
	var t=this;
	if(!t.keyevents_target_frames)return;
	evt=t.getEvt(evt);
	if(!evt)return;
	var char_code,shift,ctrl,alt;
	char_code=(evt.keyCode) ? evt.keyCode : ((evt.which) ? evt.which : ((evt.charCode) ? evt.charCode : 0));
	shift=evt.shiftKey;
	ctrl=evt.ctrlKey;
	alt=evt.altKey;
	for(var idx=t.keyevents_target_frames.length-1;idx>=0;idx--){
	var frame=t.keyevents_target_frames[idx];
	try{
	if(frame && frame.dycore){
	if(type==1)frame._evt.onkeydown(evt,char_code,shift,ctrl,alt);
	else if(type==2)frame._evt.onkeypress(evt,char_code,shift,ctrl,alt);
	else if(type==3)frame._evt.onkeyup(evt,char_code,shift,ctrl,alt);
	}
	}catch(E){}
	if(evt.canceled)return;
	}
	return;
};

_evt.LEFT_BUTTON=1;
_evt.RIGHT_BUTTON=2;
_evt.MIDDLE_BUTTON=4;
_evt.ns_mouse_buttons=[1,4,2];
_evt.opera_mouse_buttons=[0,1,0,4];

_evt.getButton=function(evt){
	if(!evt)evt=window.event;
	if(!evt)return 0;
	if(dycore.isIE)
	return evt.button;
	else if(dycore.isNS)
	return this.ns_mouse_buttons[evt.button];
	else if(dycore.isOpera)
	return this.opera_mouse_buttons[evt.which];
	else
	return  (evt.which ? evt.which : evt.button ? evt.button : 0);
};

_evt.getTarget=function(evt){
	if(!evt)evt=window.event;
	if(!evt)return null;
	var targ;
	if(evt.srcElement)
	targ=evt.srcElement;
	else
	targ=evt.target;
	if(targ && targ.nodeType == 3)
	targ = targ.parentNode;
	return targ;
};

_evt.getKeyCode=function(evt){
	if(!evt)evt=window.event;
	if(!evt)return 0;
	return (evt.keyCode) ? evt.keyCode : ((evt.which) ? evt.which : ((evt.charCode) ? evt.charCode : 0));
};

_evt.isEsc=function(evt){
	return (this.getKeyCode(evt)==27);
};

_evt.preventBubble=function(evt){
	if(!evt)evt=window.event;
	if(dycore.isIE){
	evt.cancelBubble = true;
	evt.returnValue  = false;
	}else{
	if(evt.stopPropagation)evt.stopPropagation();
	if(evt.preventDefault)evt.preventDefault();
	if(evt.preventBubble)evt.preventBubble();
	}
	evt.canceled=true;
	return false;
};

_evt.currentkey=0;

_evt.onkeydown=function(evt,char_code,shift,ctrl,alt){
	this.currentkey=char_code;
	var ar=this.keydown_funcs;
	if(!ar)return;
	for(var idx=ar.length-1;idx>=0;idx--){
	try{
	var func=ar[idx];
	if(!dycore.isObj(func)&&dycore.isFunc(func))
	func(evt,char_code,shift,ctrl,alt);
	else if(dycore.isObj(func)&&dycore.isFunc(func.onkeydown))
	func.onkeydown(evt,char_code,shift,ctrl,alt);
	}catch(E){};
	if(evt.canceled)return;
	}
};

_evt.onkeypress=function(evt,char_code,shift,ctrl,alt){
	var ar=this.keypress_funcs;
	if(!ar)return;
	for(var idx=ar.length-1;idx>=0;idx--){
	try{
	var func=ar[idx];
	if(!dycore.isObj(func)&&dycore.isFunc(func))
	func(evt,char_code,shift,ctrl,alt);
	else if(dycore.isObj(func)&&dycore.isFunc(func.onkeypress))
	func.onkeypress(evt,char_code,shift,ctrl,alt);
	}catch(E){};
	if(evt.canceled)return;
	}
};

_evt.onkeyup=function(evt,char_code,shift,ctrl,alt){
	this.currentkey=0;
	var ar=this.keyup_funcs;
	if(!ar)return;
	for(var idx=ar.length-1;idx>=0;idx--){
	try{
	var func=ar[idx];
	if(!dycore.isObj(func)&&dycore.isFunc(func))
	func(evt,char_code,shift,ctrl,alt);
	else if(dycore.isObj(func)&&dycore.isFunc(func.onkeyup))
	func.onkeyup(evt,char_code,shift,ctrl,alt);
	}catch(E){};
	if(evt.canceled)return;
	}
};

_evt.mousePosition=function(evt){
	evt=this.getEvt(evt);
	if(evt)	return dycore.isIE?[evt.x,evt.y]:[evt.pagex,evt.pagey];
	return [0,0];
};

_evt.getClientXY=function(evt){
	evt=this.getEvt(evt);
	if(!evt)return[0,0];
	return [evt.clientX,evt.clientY];
};

_evt.getOffsetXY=function(evt){
	evt=this.getEvt(evt);
	if(!evt)return[0,0];
	if(dycore.isNS)
	return [evt.layerX,evt.layerY];
	else
	return [evt.offsetX,evt.offsetY];
};

_evt.getScreenXY=function(evt){
	evt=this.getEvt(evt);
	if(!evt)return[0,0];
	return [evt.screenX,evt.screenY];
};

_evt.addEvent=function(o,t,fn,useCapture){
	if(!dycore.isObj(o) || !dycore.isFunc(fn) || !dycore.isStr(t))
	return false;
	_evt.removeEvent(o,t,fn,useCapture);
	try{
	if(o.attachEvent)
	return o.attachEvent("on"+t,fn);
	else if(o.addEventListener){
	o.addEventListener(t,fn,useCapture);
	return true;
	}
	}catch(E){}
	return false;
};

_evt.removeEvent=function(o,t,fn,useCapture){
	if(!dycore.isObj(o) || !dycore.isFunc(fn) || !dycore.isStr(t))
	return false;
	try{
	if(o.detachEvent)
	return o.detachEvent("on"+t,fn);
	else if(o.removeEventListener){
	o.removeEventListener(t,fn, useCapture);
	return true;
	}
	}catch(E){}
	return false;
};

_evt.addOnMouseWheelEvent=function(o,fn){
	if(dycore.isIE)
	this.addEvent(o,"mousewheel",fn,false);
	else if(dycore.isNS)
	this.addEvent(o,"DOMMouseScroll",fn,true);
};

_evt.removeOnMouseWheelEvent=function(o,fn){
	if(dycore.isIE)
	this.removeEvent(o,"mousewheel",fn,false);
	else if(dycore.isNS)
	this.removeEvent(o,"DOMMouseScroll",fn,false);
};

_evt.getMouseWheelDirection=function(evt){
	if(dycore.isIE)
	return (event.wheelDelta>=0 ? -1 : 1);
	else if(dycore.isNS && evt && evt.detail)
	return (evt.detail < 0 ? -1 : 1);
	return 0;
};

_evt.onunload=function(){
	var t=_evt;
	dycore.cleanupArray(t.keyevents_target_frames);
	t.keyevents_target_frames=null;
	dycore.cleanupArray(t.keydown_funcs);
	t.keydown_funcs=null;
	dycore.cleanupArray(t.keypress_funcs);
	t.keypress_funcs=null;
	dycore.cleanupArray(t.keyup_funcs);
	t.keyup_funcs=null;
	t.removeEvent(document,"keydown",t.win_onkeydown,false);
	t.removeEvent(document,"keypress",t.win_onkeypress,false);
	t.removeEvent(document,"keyup",t.win_onkeyup,false);
};

dycore.addToUnload(_evt.onunload);
_evt.init();

wximg=function(container,defaultImgUrl,withFilter,imageUrl){
	var t=this;
	t.visible=true;
	t.defaultImgUrl=defaultImgUrl;
	t.img=dycore.createElm(container,"IMG","absolute");
	var img=t.img;
	img.wximg=t;
	img.border=0;
	img.errors=0;
	img.useFilter=false;
	img.original_src=null;
	img.inerror=false;
	img.onerror=t.img_onerror;
	img.onabort=t.img_onerror;
	if(withFilter && dycore.isIE){
	t.filter_elm=dycore.createElm(container,"DIV","absolute");
	img.onload=t.img_onload;
	}else
	t.disableFilter=function(){};
	if(imageUrl)
	t.loadImg(imageUrl, withFilter);
	return t;
};

wximg.prototype.img_onerror=function(){
	var t=this;
	if(t.inerror)return;
	try{
	t.inerror=true;
	if (t.errors<5){
	if(!t.original_src)
	t.original_src=t.src;
	t.src=t.original_src+"&error="+t.errors;
	t.errors++;
	}
	}catch(E){
	}finally{
	t.inerror=false;
	}
};

wximg.prototype.img_onload=function(){
	var t=this;
	if(!t.useFilter || !t.loading)
	return;
	t.loading=false;
	try{
	var src             =t.src;
	var visible			=t.wximg.visible;
	var elm				=t.wximg.filter_elm;
	var defaultImgUrl   =(t.wximg.defaultImgUrl ? t.wximg.defaultImgUrl : src);
	var hasFilter=false;
	var filter = "DXImageTransform.Microsoft.AlphaImageLoader";
	try{
	if(elm.filters.length > 0 && elm.filters.item(filter))
	hasFilter=true;
	}catch(E){}
	if(!hasFilter) elm.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+defaultImgUrl+"', sizingMethod='scale');"
	elm.filters.item(filter).Enabled=true;
	elm.filters.item(filter).src=src;
	elm.src=src;
	t.style.width="1px";
	t.style.height="1px";
	if(visible)
	elm.style.visibility="visible";
	t.style.visibility="hidden";
	t.src=defaultImgUrl;
	}catch(E){}
};

wximg.prototype.disableFilter=function(){
	var t=this;
	try{
	b.filter_elm.style.filter="";
	b.filter_elm.src=null;
	}catch(E){}
	t.filter_elm.style.visibility="hidden";
};

wximg.prototype.setArea=function(x,y,w,h,useFilter){
	var t=this;
	var img=t.img;
	var elm=t.filter_elm;
	img.useFilter=useFilter;
	img.style.left=x+"px";
	img.style.top=y+"px";
	img.style.width=w+"px";
	img.style.height=h+"px";
	if(useFilter && elm){
	elm.style.left=x+"px";
	elm.style.top=y+"px";
	elm.style.width=w+"px";
	elm.style.height=h+"px";
	}
};

wximg.prototype.loadImg=function(imgUrl,useFilter,hide){
	var t=this;
	var img=t.img;
	var filter_elm=t.filter_elm;
	if (typeof(useFilter)!="undefined")
	img.useFilter=useFilter;
	if(img.useFilter && filter_elm){
	if(filter_elm.src == imgUrl){
	filter_elm.style.visibility="visible";
	return;
	}
	}else if(img.src == imgUrl){
	t.disableFilter();
	img.style.visibility="visible";
	return;
	}
	t.disableFilter();
	t.visible=!hide;
	img.src=this.defaultImgUrl;
	img.errors=0;
	img.inerror=false;
	img.loading=true;
	img.original_src=imgUrl;
	img.src=imgUrl;
	if(t.visible)
	img.style.visibility="visible";
};

wximg.prototype.hide=function(){
	this.img.style.visibility="hidden";
	if(this.filter_elm)
	this.filter_elm.style.visibility="hidden";
	this.visible=false;
};

wximg.prototype.show=function(){
	if(this.filter_elm)
	this.filter_elm.style.visibility="visible";
	else
	this.img.style.visibility="visible";
	this.visible=true;
};

wximg.prototype.invalidate=function(){
	this.img.src=this.defaultImgUrl;
	this.disableFilter();
};

wximg.prototype.unload=function(){
	var t=this;
	var img=t.img;
	if(img){
	img.p=img.onabort=img.onerror=img.onload=t.img=null;
	}
	if(t.filter_elm){
	try{t.filter_elm.style.filter="";}catch(E){};
	t.filter_elm=null;
	}
};

var XmlRpc={};
XmlRpc.submitPostData=function(url,data,callbackFunc){
	var req;
	if(window.XMLHttpRequest){
	try{
	req = new XMLHttpRequest()
	}catch(e){}
	}else if(window.ActiveXObject){
	try{
	req = new ActiveXObject("Msxml2.XMLHTTP");
	}catch(e){
	try{
	req = new ActiveXObject("Microsoft.XMLHTTP");
	}catch(e){}
	}
	}
	if(!req)return;
	try{
	if (typeof(callbackFunc)=="function"){
	req.onreadystatechange=function(){
	if (req.readyState==4)
	callbackFunc(req.responseXML, req.responseText);
	}
	}
	if (data){
	req.open("POST", url, true);
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(data);
	}else{
	req.open("GET", url, true);
	req.send(null);
	}
	}catch(e){}
};

_obj_body_int = 0
function _obj_body_move(obj,speed,width,direction) {
	_obj_body_int += 10; 
	if(_obj_body_int < width) { 
		if(direction == 'left'){
			dycore.getElm(obj).scrollLeft += 10;
		}else{
			dycore.getElm(obj).scrollLeft -= 10;
		}
		setTimeout('_obj_body_move("'+obj+'",'+speed+','+width+',"'+direction+'")',speed); 
	}else{
		_obj_body_int = 0;
	}
}