//***********************************************************************************
//文件功能：多瀏覽器兼容_JS腳本核心函數構造 
//-------------------文件接收參數說明：-----------------------
//formName(表單名),elementName（物件名）
//evt（事件物件）
//id（物件ID）
//ev（事件物件）
//***********************************************************************************
//gibson 2010/03/25 將編碼改為utf-8 big5有備份PublicJSFunctions_big5_bak.js
//注意事項：對變量的定義一定要加上var

// 目的: 兼容多種瀏覽器，獲取表單物件
// 參數:formName 表單名稱 如<form name='MyForm'></form>,elementName 元素名稱 如<input type="text" value="Test" name="MyText">
// 範例: 
//       <form name='MyForm'>
//         <input type="text" value="Test" name="MyText">
//       </form>
//       將document.forms["MyForm"].item("MyText")替換成$Getelements("MyForm","MyText")
// 結果:[Object]即返回一個元素名稱為MyText的物件。
function $Getelements(formName,elementName)
{
			return document.forms[formName].elements[elementName];
}
// 目的: 集合類物件問題
// 參數:formName 表單名稱 如<form name='MyForm'></form>
// 範例: $GetForms("MyForm")
//       將document.forms("MyForm")替換成$GetForms("MyForm")
// 結果:[Object]即返回一個元素名稱為MyForm的物件。
function $GetForms(formName)
{
        return document.forms[formName];
}


// 目的: window.event火狐與IE事件處理問題
// 參數:evt 事件處理物件  ，表示瀏覽器中事件處理物件event;
// 範例: $GetEvent(event)
//       將window.event替換成$GetEvent(event)
// 如果當頁面1.asp有函數a()，a()需要調用$GetEvent(evt)時，要修改a()函數為a(evt),調用是使用a(event);
// 結果是IE瀏覽器則返回[Object]，如果是火狐瀏覽器則返回[object]。
//function $GetEvent(evt)
//{
//  evt=evt||window.event;
//  return  evt;
//}



// 目的: 火狐與IE獲取ID問題
// 參數:id 物件ID， 如<input type="text" value="Test" id="MyInput">
//      num 判斷執行類型，num=1時執行document.getElementById(id)；
//      num=2時執行parent.document.getElementById(id);
//      num=3時執行window.document.getElementById(id);
//      num=4時執行window.dialogArguments.document.getElementById(id);
//      num=5時執行window.opener.document.getElementById(id);
// 範例: $GetId("MyInput",1) 
//       1.將eval("MyInput")替換成$GetId("MyInput",1)
//       2.將document.getElementById("MyInput")替換成$GetId("MyInput",1)
//       3.將window.parent.document.getElementById("MyInput")替換成$GetId("MyInput",2);
//       4.將window.document.getElementById("MyInput")替換成$GetId("MyInput",3)
//       5.將window.dialogArguments.document.getElementById("MyInput")替換成$GetId("MyInput",4);
//       6.將window.opener.document.getElementById("MyInput")替換成$GetId("MyInput",5);
// 結果: 返回id="MyInpuy"的[object]物件
function $GetId(id,num)
{
	switch (num)
	{
		case 1:
			return document.getElementById(id);
			break;
		case 2:
			return window.parent.document.getElementById(id);
			break;
		case 3:
			return window.document.getElementById(id);
			break;
		case 4:
			return window.dialogArguments.document.getElementById(id);
			break;
		case 5:
			return window.opener.document.getElementById(id);
			break;
		default:
			//EXP_2010/03/18_huangt_增加函數參數為空的返回值；
			//return document.getElementById(id);
			if(id)
			{
				return document.getElementById(id);
			}
			else
			{
				return document.getElementById;
			}
	}
}
// 目的: event.x 火狐與IE不兼容問題
// 參數: ev 事件處理物件 ，表示瀏覽器中事件處理物件event;
// 範例: $Get_x(event)；
// 將event.x替換成$Get_x(event)
//此函數可以直接調用<div onmousedown="$Get_x(event)"></div>
//如果當頁面1.asp有函數a()，a()需要調用$Get_x(ev)時，要修改a()函數為a(ev);并添加語句ev=ev||window.event;例：
//<scrip>
//function $Get_x(ev){
//	mX=ev.x?ev.x:ev.pageX;
//  return mX;
//	}
//function a(ev){
//	 ev=ev||window.event;
//   $Get_x(ev);
//	}
//</scrip>
//調用時a的參數固定為a(event);例如：<div onmouseOver="a(event)"></div>
// 結果: 返回當前鼠標的x軸位置的坐標
function $Get_x(ev)
{
  mX=ev.x?ev.x:ev.pageX;
  return mX;
}
// 目的: event.y 火狐與IE不兼容問題
// 參數: ev 事件處理物件 ，表示瀏覽器中事件處理物件event;
// 範例: $Get_y(event)
// 將event.y替換成$Get_y(event)
//此函數可以直接調用<div onmousedown="$Get_y(event)"></div>
//如果當頁面1.asp有函數a()，a()需要調用$Get_y(ev)時，要修改a()函數為a(ev);并添加語句ev=ev||window.event;例：
//<scrip>
//function $Get_y(ev){
//	mY=ev.y?ev.y:ev.pageY;
//  return mY;
//	}
//function a(ev){
//	 ev=ev||window.event;
//   $Get_y(ev);
//	}
//</scrip>
//調用時a的參數為a(event);例如：<div onmouseOver="a(event)"></div>
// 結果: 返回當前鼠標的y軸位置的坐標

function $Get_y(ev)
{
  mY=ev.y?ev.y:ev.pageY;
  return mY;
}