//!--------------------------------------------------------------------------------------------
//! Copyright (c) 2002 Acer Inc.
//! Author : Matt Tasi   2003/06/06
//!
//! Modification Log :
//! Vers    Date                  By          Notes
//! -----  ---------------  ---------------  ------------------------------------------------
//! 1.0.0  2003/06/06       Matt Tasi       Create
//! 1.0.1  2004/04/05       Freda Lee       新增只可輸入數字，不含負號
//! 1.0.2  2004/04/13       Michael Lee    修改lockFloat, 包括負號 除了數字跟小數點以外, 其他全部檔掉
//!--------------------------------------------------------------------------------------------

//=============================================
//desc:		數字鎖定(使用KeyPress觸發)，允許輸入負號
//input:
//output:
//=============================================
function lockNum()
{
	if (event.keyCode==13) return;
	if ((event.keyCode < 48) || (event.keyCode > 58))
	{
		if (event.keyCode!=45)
			event.keyCode = 0;
	}

}

//=============================================
//desc:		浮點數字鎖定(使用KeyPress觸發)
//input:
//output:
//=============================================
function lockFloat()
{
	if (event.keyCode==13) return;

	if ((event.keyCode < 46) || (event.keyCode > 58))
		//if (event.keyCode != 45) 
			event.keyCode = 0;

}

//=============================================
//desc:		英文字母鎖定(使用KeyPress觸發)
//input:
//output:
//=============================================
function lockAlpha()
{

	if (event.keyCode==13 ||event.keyCode==32) return;

	if ((event.keyCode < 65) || (event.keyCode > 90&&event.keyCode <97 ||event.keyCode >122 ))

		event.keyCode = 0;

}

//=============================================
//desc:		英文字母鎖定大寫(KeyPress)
//input:
//output:
//=============================================
function lockUpper()
{
	if (event.keyCode==13) return;

	if ((event.keyCode >= 97) && (event.keyCode <= 122))

		event.keyCode = event.keyCode-32;

}

//=============================================
//desc:		英數字鎖定(使用KeyPress觸發)
//input:
//output:
//=============================================
function lockAlphaNum()
{

	if (event.keyCode==13) return;

	if ((event.keyCode < 65) || (event.keyCode > 90&&event.keyCode <97 ||event.keyCode >122 ))
	{
		if ((event.keyCode < 48) || (event.keyCode > 58))
		{
			if (event.keyCode!=45)
				event.keyCode = 0;
		}
	}

	if ((event.keyCode >= 97) && (event.keyCode <= 122))
		event.keyCode = event.keyCode-32;
}

//=============================================
//desc:		disable/enable object
//input:	formx	- form name or index
//		elementx- element name or index
//		state	- true/false
//output:
//=============================================
function setEnable(formx,elementx,state)
{
	if (isNaN(formx))
	{
		if (isNaN(elementx))
			return eval(formx + '.' + elementx + '.disabled = ' + !state);
		else
			return eval(formx + '.elements[elementx].disabled = ' + !state);
	} else {
		if (isNaN(elementx))
			return eval('window.document.forms['+formx+'].' + elementx + '.disabled = ' + !state);
		else
			return window.document.forms[formx].elements[elementx].disabled = !state;
	}
 }

//=============================================
//desc:		disable/enable all
//input:	formx	- form name or index
//		elementx- element name or index
//		state	- true/false
//output:
//=============================================
function setEnableAll(formx,state)
{
	if (isNaN(formx))
	{
		for(i=0;i<eval( formx + '.elements.length');i++){
		    eval(formx + '.' + 'elements['+i + '].disabled = ' + !state);
		}
	} else {
		for(i=0;i<eval('window.document.forms[' + formx + '].elements.length');i++){
		    eval('window.document.forms[' + formx + '].' + 'elements['+i + '].disabled = ' + !state);
		}
	}
}

function stopInput(obj) {

	switch (event.keyCode) {
		case 8 : //Backspace
			obj.value = "";
			return false;
		case 46 : //Delete
			obj.value = "";
			return false;
		case 9 : break; //Tab
		case 16 : break; //Shift
		case 17 : break; //Ctrl
		case 18 : break; //Alt
		default :
			showMessage("110");
			event.returnValue=false;
	}
	return true;
}

//新增,修改 submit
function submitInputData(thisform) {
	if(!thisform.fireEvent("onsubmit")) return;
	switch(thisform.mode.value) {
		case "RETRIEVE" :
			thisform.mode.value = "UPDATE";
			break;
		case "UPDATE" :
			break;
		default :
			thisform.mode.value = "INSERT";
	}
	thisform.submit();
}

//清除以輔助視窗帶入資料之主鍵值欄位
function resetKeyData(obj,keyobj) {
	if (trim(obj.value) == "")
			keyobj.value = "";
}
//=============================================
//desc:		數字鎖定(使用KeyPress觸發)，不可輸入負號
//input:
//output:
//=============================================
function lockNoNegNum(evt)
{
	var keynum;

	if(window.event) { //IE
		evt=window.event;
		keynum=evt.keyCode;
	} else { //Firefox/Safari
		keynum=evt.which;		
	}

	if(keynum==8) return true; //backspace
	if(keynum==9) return true; //tab
	if(keynum==13) return true; //enter
	if(keynum>=37 && keynum<=40) return true; //arrow keys
	if(evt.ctrlKey || evt.ctrlKey || evt.altKey || evt.metaKey) return true; //control keys
	
	if (keynum >= 48 && keynum <= 57) {

		return true;
		
	} else {
	
		var pattern=/\w/;
		var keychar = String.fromCharCode(keynum);

		if(pattern.test(keychar)) {
			return false;
			
		} else {
		
			return true;
			
		}
		
	
	}
	
	return true;
}
