<!--
// JavaScript Document
var bV=parseInt(navigator.appVersion);
var NN4=(document.layers) ? true : false;
var IE4=((document.all)&&(bV>=4))?true:false;


//檢查日期格式是否正確
function checkdate(chkdate) {
	if (chkdate == "") return false;
	var adate = new Date(chkdate);
	if (isNaN(adate) == true)
		return false;
	else
		return true;
}

/*
compare two date value
if date2 >= date1 return true
if date2 < date1 return false
*/
function compareDate(mdate1, mdate2) {
	if (isNaN(Date.parse(mdate1))) {
		alert("Date1: Invalid date format");
		return false;
	}
	if (isNaN(Date.parse(mdate2))) {
		alert("Date2: Invalid date format");
		return false;
	}
	var dt1 = new Date(mdate1);
	var dt2 = new Date(mdate2);
	if (dt2 >= dt1)
		return true;
	else
		return false;
		
}

//檢查email格式是否正確
function checkmail(chkval) {
	if (chkval.indexOf("@",1) < 3)
		return false;
	else
		return true;
}

//檢查email格式是否正確
function checkmail2(emailStr) {
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var firstChars=validChars
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom="(" + firstChars + validChars + "*" + ")"
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")

	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {
		//alert("Email address seems incorrect (check @ and .'s)")
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	// See if "user" is valid
	if (user.match(userPat)==null) {
		//alert("The username doesn't seem to be valid.")
		return false
	}
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		// this is an IP address
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				//alert("Destination IP address is invalid!")
				return false;
			}
		}
		return true;
	}
	// Domain is symbolic name
	var domainArray=domain.match(domainPat);
	if (domainArray==null) {
		//alert("The domain name doesn't seem to be valid.")
		return false;
	}
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) {
		return false;
	}
	if (domArr[domArr.length-1].length==2 && len<3) {
		var errStr="This address ends in two characters, which is a country";
		errStr+=" code.  Country codes must be preceded by ";
		errStr+="a hostname and category (like com, co, pub, pu, etc.)";
		return false;
	}
	if (domArr[domArr.length-1].length==3 && len<2) {
		var errStr="這個EMail沒有填寫主機名稱!";
		return false;
	}
	return true;
}


//檢查輸入的資料是否為合法的資料
//chkval : 資料值
//chklen : 檢查字元數， 0只檢查是否為空字串,有設定長度則必須大於設定的長度
//chkname : 欄位標題名稱,錯誤會顯示字串
function checkdata(chkval, chklen, chkname) {
	if (chkval == "") {
		alert("請填寫" + chkname + "欄位的資料！");
		return false;
	}
	if (chklen > 0) {
		if (chkval.length < chklen) {
			alert(chkname + "欄位的字數至少須有" + chklen + "個字！");
			return false;
		} else
			return true;
	} else {	//chklen = 0
		return true;
	}
}

//檢查輸入的資料是否為合法的資料
//chkval : 資料值
//chklen : 檢查字元數， 0只檢查是否為空字串,有設定長度則必須大於設定的長度
//chkname : 欄位標題名稱,錯誤會顯示字串
function checkdata_en(chkval, chklen, chkname) {
	if (chkval == "") {
		alert("You have to input data of " + chkname + " field.");
		return false;
	}
	if (chklen > 0) {
		if (chkval.length < chklen) {
			alert(chkname + " field require " + chklen + " words at least.");
			return false;
		} else
			return true;
	} else {	//chklen = 0
		return true;
	}
}

//檢查身份證號
function IDCheck(mpid) {
    var idchk = false;
    if (mpid.length == 10) {
        var idtable = new Array("A10","B11","C12","D13","E14","F15","G16","H17","J18","K19",
        	"L20","M21","N22","P23","Q24","R25","S26","T27","U28","V29","X30","Y31","W32",
        	"Z33","I34","O35");
        var IDNum = new Array(10);
		for (var ix = 0; ix < 10; ix++) {
            IDNum[ix] = mpid.charAt(ix).toUpperCase();
        }
        for (var ix = 1; ix < 10; ix++) {
            if (IDNum[ix] > "9") return false;	//idchk = false	, after 2th charactor, must be digit 0~9
        }
		var iy = 0;
        for (ix = 0; ix < 26; ix++) {
            if (idtable[ix].charAt(0) == IDNum[0]) {
                iy = ix + 1;
                break;
            }
        }
        if (iy == 0) {
        	return false;	//First charactor must be A~Z
        } else {	//check id
			if (iy == 1)
				iy = 0;
			else
				iy--;
            if ((IDNum[1] == "1") || (IDNum[1] == "2")) {
                var IDc = (parseInt(idtable[iy].charAt(1)) + (9 * parseInt(idtable[iy].charAt(2))) + (8 * parseInt(IDNum[1])) + (7 * parseInt(IDNum[2])) + 
                      (6 * parseInt(IDNum[3])) + (5 * parseInt(IDNum[4])) + (4 * parseInt(IDNum[5])) + (3 * parseInt(IDNum[6])) + (2 * parseInt(IDNum[7])) + parseInt(IDNum[8])) % 10;
				if (IDc == 0) IDc = 10;
                if (parseInt(IDNum[9]) != (10 - IDc))
                	return false;
                else
                	return true;
            } else {
                return false;
            }
        }
    } else {
      return false;	//The length of ID code less than 10
    }
}

//在座標位置顯示新視窗
function showWinOnCursor(m_url, m_winname, m_width, m_height) {
	var cur_x = window.event.screenX;
	var cur_y = window.event.screenY; 
	var max_width = screen.availWidth;
	var max_height = screen.availHeight;
	if ((cur_y + m_height) > max_height) {
		cur_y = cur_y - m_height - 40;	//視窗底部對齊座標位置
	}
	if ((cur_x + m_width) > max_width) {
		cur_x = cur_x - m_width - 20;	//視窗右方對齊座標位置
	}
	var m_parm = "scrollbars=yes,width=" + m_width + ",height=" + m_height + ",top=" + cur_y + ",left=" + cur_x;
	//alert(m_parm);
	window.open(m_url, m_winname , m_parm);
}

//在座標位置顯示新視窗, 要傳event 物件才能取到x, y座標
function showWinOnCursorEvent(evt, m_url, m_winname, m_width, m_height, exparm) {
	if (IE4) {
		var cur_x = window.event.screenX;
		var cur_y = window.event.screenY; 
	} else {
		var cur_x = evt.screenX;
		var cur_y = evt.screenY;
	}
	var max_width = screen.availWidth;
	var max_height = screen.availHeight;
	if ((cur_y + m_height) > max_height) {
		cur_y = cur_y - m_height - 40;	//視窗底部對齊座標位置
	}
	if ((cur_x + m_width) > max_width) {
		cur_x = cur_x - m_width - 20;	//視窗右方對齊座標位置
	}
	if (exparm != null) {
		exparm = exparm.replace(/[\s　]+/g, "");
		if (exparm.substr(-1, 1) != ",") exparm = exparm + ",";
	} else {
		exparm = "";
	}
	var m_parm = exparm + "width=" + m_width + ",height=" + m_height + ",top=" + cur_y + ",left=" + cur_x;
	//alert(m_parm);
	window.open(m_url, m_winname , m_parm);
}

//設定視窗的各種工具列狀態
function setBars(flag) {
	//window.fullscreen = true;
	window.locationbar.visible = flag;
	window.menubar.visible = flag;
	window.scrollbars.visible = flag;
	window.statusbar.visible = flag;
	//window.statusbar = "no"
	//window.toolbar = "no";	//.visible = flag;
	//window.personalbar.visible = flag;
}

//------------------------分類處理-----------------------
//取得大類及小類
var mcate_array = new Array();
var scate_array = new Array();

var init_cate = true;

function mcate_class(vmainid, vname) {
	this.mainid = vmainid;
	this.mainname = vname;
	return(this);
}

function scate_class(vmainid, vsubid, vname) {
	this.mainid = vmainid;
	this.subid = vsubid;	
	this.subname = vname;
	return(this);
}

//初始化分類及細項陣列資料, 以第一項為主
//vcateobj_m:大類物件, vscateobj_s:細項物件, v_sidx: 清單開始索引(有的第一項是--請選擇--, 有的是空的)
function initCates(vcateobj_m, vscateobj_s, vmainobjs, vsubobjs, v_sidx) {
	if (typeof(vcateobj_m) == "undefined") {
		init_cate = false;
		return false;
	}	//沒有選項即跳出
	//with(document.fm) {
		var mainnamecnt = vcateobj_m.length -1;		//類別
		var subnamecnt = vscateobj_s.length -1;		//細項
		//vmainobjs = new Array(mainnamecnt);
		//vsubobjs = new Array(subnamecnt);
		for (var i = 1; i <= mainnamecnt; i++) {	//load all value into array
			if (IE4) {
				var vmainname_value = vcateobj_m.options(i).value;
				var vmainname_name = vcateobj_m.options(i).text;
			} else { //nescape..
				var vmainname_value = vcateobj_m.options[i].value;
				var vmainname_name = vcateobj_m.options[i].text;
			}
			var mainnameobj = new mcate_class(vmainname_value, vmainname_name);
			vmainobjs[i-1] = mainnameobj;
		}
		//alert(subnamecnt);
		
		//決定陣列索引要不要扣1
		if (v_sidx > 0)
			st_idx = 1;
		else
			st_idx = 0;
			
		for (var i = v_sidx; i <= subnamecnt; i++) {
			if (IE4) {
				var vlist_value = vscateobj_s.options(i).value;
				var vsubname_name = vscateobj_s.options(i).text;
			} else {
				var vlist_value = vscateobj_s.options[i].value;
				var vsubname_name = vscateobj_s.options[i].text;
			}
			var arytmp = vlist_value.split(":");
			var subnameobj = new scate_class(arytmp[0], arytmp[1], vsubname_name);
			vsubobjs[i - st_idx] = subnameobj;
		}
	//}
	return;
}
//大類改變同時改變小類
function MainCateChange(vcateobj_m, vscateobj_s, vsubobjs, v_sidx) {
	//with(document.fm) {
		var mcnt = vsubobjs.length;
		//決定次項目索引要不要扣1
		if (v_sidx > 0)
			st_idx = 1;
		else
			st_idx = 0;
		for (var i = 0; i < mcnt ;i++) vscateobj_s.remove(st_idx);	//remove all list items
		var mvalue = vcateobj_m.value;
		for (var i= 0; i < mcnt ; i++) {
			var m1 = vsubobjs[i].mainid;
			//alert("mainid1=" + mvalue + ", mainid2=" + m1);
			if (m1 == mvalue) {
				var oOption = document.createElement("OPTION");
				oOption.text = vsubobjs[i].subname;
				oOption.value= vsubobjs[i].subid;
				if (IE4)
					vscateobj_s.add(oOption);
				else
					vscateobj_s.add(oOption, null);
			}
		}
	//}
}

//若已有細類選擇資料，就設定為選取狀態
function MainCateChange2(vcateobj_m, vscateobj_s, vsubobjs, vold_obj, v_sidx) {
	//with(document.fm) {
		var mcnt = vsubobjs.length;
		//alert(mcnt);
		//決定次項目索引要不要扣1
		if (v_sidx > 0)
			st_idx = 1;
		else
			st_idx = 0;
		for (var i = 0; i < mcnt ;i++) vscateobj_s.remove(st_idx);	//remove all list items
		var mainnamecnt = vcateobj_m.length -1;
		for (var i= 0; i < mcnt ; i++) {	//取出subid
			var m1 = vsubobjs[i].mainid;
			if (m1 == vcateobj_m.value) {
				var oOption = document.createElement("OPTION");
				oOption.text = vsubobjs[i].subname;
				oOption.value= vsubobjs[i].subid;
				if (parseInt(vold_obj.value) == vsubobjs[i].subid) oOption.selected = true;
				if (IE4)
					vscateobj_s.add(oOption);
				else
					vscateobj_s.add(oOption, null);
			}
		}	//選取單項完成
	//}
}

-->