var pageup="!";
var pagedown="\"";
var esc="";
var btn_left="\45";
var btn_right="\47";
var btn_up="\46";
var btn_down="\50";
var btn_enter="\15";

function otxp()
{
	var bLock = false;

	var keyevents = new Array();

	this.addEvent = function(_key,_event)
	{
		keyevents[keyevents.length] = new keyevent(_key,_event);
	}

	this.getEventArray=function()
	{
		return keyevents;
	}

	this.append = function(_otxpObj)
	{
		if(_otxpObj.constructor==otxp)
		{
			var event_array = _otxpObj.getEventArray();
			for(i=0;i<event_array.length;i++)
			{
				this.addEvent(event_array[i].nKey,event_array[i].strDo,event_array[i].obj);
			}
			document.onkeydown = onkeyeven;
		}
	}

	function onkeyeven()
	{
		if(bLock)
			return true;
		keycode=event.keyCode;
		if(keycode>=96 && keycode<=105)
			keycode=keycode - 48;
		//var temp = String.fromCharCode(keycode);//.toLowcase();
		//alert(temp);
		//document.write(temp);
		for(i=0;i<keyevents.length;i++)
		{
			var str = new String(keyevents[i].nKey);
			var temp2 = str.charCodeAt(0);
			//alert("keycode:"+keycode+"; temp2:"+temp2);
			if(temp2==keycode)
			{
				if(keyevents[i].obj)
				{
					(keyevents[i].obj).onmouseout();
					setTimeout(function(){(keyevents[i].obj).onmouseover();},100);
					setTimeout(function(){keyevents[i].attack();},700);
					setTimeout(function(){if(keyevents[i].obj){(keyevents[i].obj).onmouseout();}},800);
				}
				else
					keyevents[i].attack();
				return false;
			}
		}
	}

	function onkeyeven2(keycode)
	{
		for(i=0;i<keyevents.length;i++)
		{
			if(keyevents[i].nKey==keycode)
			{
				keyevents[i].attack();
				return;
			}
		}
	}

	function lock()
	{
		window.status="true";
		bLock=true;
		return true;
	}

	function unlock()
	{
		window.status="false";
		bLock=false;
		return true;
	}

	var objArray = document.all;
	var i=0;
	for(i=0;i<objArray.length;i++)
	{
		if(objArray[i].type=="text")
		{
			objArray[i].onfocus=function(){ return lock();}
			objArray[i].onblur=function(){ return unlock();}
		}
	}

	function keyevent(nKey,strDo,obj)
	{
		this.strDo=strDo;
		this.obj;
		this.nKey = nKey;
		this.attack=function(){eval(strDo);}

		if(obj)
		{
			this.obj=obj;
			this.obj.style.cursor="hand";
			this.obj.onclick=function(){onkeyeven2(nKey);}
		}
		else
		{
			var evenobj;
			if(nKey==pageup)
				evenobj = eval("document.all['key_even_pageup']");
			else if(nKey==pagedown)
				evenobj = eval("document.all['key_even_pagedown']");
			else if(nKey==btn_left)
	      evenobj = eval("document.all['key_even_left']");		
			else if(nKey==btn_right)
	      evenobj = eval("document.all['key_even_right']");		
			else if(nKey==btn_up)
	      evenobj = eval("document.all['key_even_up']");		
			else if(nKey==btn_down)
	      evenobj = eval("document.all['key_even_down']");	
			else if(nKey==btn_enter)
	      evenobj = eval("document.all['key_even_enter']");		
			else
				evenobj = eval("document.all['key_even_"+nKey+"']");

			if(evenobj!=null && evenobj!="undefined")
			{
				this.obj=evenobj;
				this.obj.style.cursor="hand";
				this.obj.onclick=function(){onkeyeven2(nKey);}
			}
		}
	}

	document.onkeydown = onkeyeven;
}

function goto(strUrl)
{
	location.href=strUrl;
}

function replace(strUrl,strTaget)
{
	strTaget.location.href=strUrl;
}

function openwindow(strUrl,strTitle,strCss)
{
	window.open(strUrl,strTitle,strCss);
}