function $(id){
	return document.getElementById(id);
}

//檢查身份證字號
function checkID(idStr){
  // 依照字母的編號排列，存入陣列備用。
  var letters = new Array('A', 'B', 'C', 'D',
      'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M',
      'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
      'X', 'Y', 'W', 'Z', 'I', 'O');
  // 儲存各個乘數
  var multiply = new Array(1, 9, 8, 7, 6, 5,
                           4, 3, 2, 1);
  var nums = new Array(2);
  var firstChar;
  var firstNum;
  var lastNum;
  var total = 0;
  // 撰寫「正規表達式」。第一個字為英文字母，
  // 第二個字為1或2，後面跟著8個數字，不分大小寫。
  var regExpID=/^[a-z](1|2)\d{8}$/i;
  // 使用「正規表達式」檢驗格式
  if (idStr.search(regExpID)==-1) {
    // 基本格式錯誤
    alert("身份證字號格式錯誤!");
   return false;
  } else {
    // 取出第一個字元和最後一個數字。
    firstChar = idStr.charAt(0).toUpperCase();
    lastNum = idStr.charAt(9);
  }
  // 找出第一個字母對應的數字，並轉換成兩位數數字。
  for (var i=0; i<26; i++) {
    if (firstChar == letters[i]) {
      firstNum = i + 10;
      nums[0] = Math.floor(firstNum / 10);
      nums[1] = firstNum - (nums[0] * 10);
      break;
    }
  }
  // 執行加總計算
  for(var i=0; i<multiply.length; i++){
    if (i<2) {
      total += nums[i] * multiply[i];
    } else {
      total += parseInt(idStr.charAt(i-1)) *
               multiply[i];
    }
  }
  // 和最後一個數字比對

  if ((10 - (total % 10))!= lastNum && (10 - (total % 10)) % 10 != lastNum) {
    alert("身份證號碼錯誤,請重新填寫!");
    return false;
  }
  return true;
}

function MM_swapImgRestore() { //v3.0   
    var i, x, a = document.MM_sr;
    for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) x.src = x.oSrc;
}

function MM_preloadImages() { //v3.0   
    var d = document;
    if (d.images) {
        if (!d.MM_p) d.MM_p = new Array();
        var i, j = d.MM_p.length,
        a = MM_preloadImages.arguments;
        for (i = 0; i < a.length; i++)
        if (a[i].indexOf("#") != 0) {
            d.MM_p[j] = new Image;
            d.MM_p[j++].src = a[i];
        }
    }
}

function MM_findObj(n, d) { //v4.0   
    var p, i, x;
    if (!d) d = document;
    if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[n.substring(p + 1)].document;
        n = n.substring(0, p);
    }
    if (! (x = d[n]) && d.all) x = d.all[n];
    for (i = 0; ! x && i < d.forms.length; i++) x = d.forms[i][n];
    for (i = 0; ! x && d.layers && i < d.layers.length; i++) x = MM_findObj(n, d.layers[i].document);
    if (!x && document.getElementById) x = document.getElementById(n);
    return x;
}

function MM_swapImage() { //v3.0   
    var i, j = 0,
    x, a = MM_swapImage.arguments;
    document.MM_sr = new Array;
    for (i = 0; i < (a.length - 2); i += 3)
    if ((x = MM_findObj(a[i])) != null) {
        document.MM_sr[j++] = x;
        if (!x.oSrc) x.oSrc = x.src;
        x.src = a[i + 2];
    }
}

function showLayer(layerId){
	document.getElementById(layerId).style.display = 'inline'
}

function hideLayer(layerId){
	document.getElementById(layerId).style.display = 'none'
}

function swapLayer(layerId){
	var states = document.getElementById(layerId).style.display;	
	if(states == 'none' || states == ''){
		document.getElementById(layerId).style.display = 'inline'
	}else{
		document.getElementById(layerId).style.display = 'none'
	}
}

//AJAX 送出查詢字串到指定檔案 以 option組合*****
function AjaxLoadPDSize(pdc_rid,target){
	var url = 'AjaxLib/AjaxLoadPDSize.aspx?pdc_rid=' + pdc_rid;
	new Ajax.Request(url,
		{
			method:"POST",
			onSuccess: function(httpObj){
				removeOptions(target);
				
				var str = httpObj.responseText.unescapeHTML();
				str = eval("(" + str + ")");		//用eval將回傳的字串封裝成JSON物件

				//預設的空值
				$(target).options[0] = new Option('請選擇尺寸','');
				
				//將字串組成options
				for(var i = 0; i < str.data.length; i++){
					$(target).options[i+1] = new Option(str.data[i].Name,str.data[i].ID);
				};
			},
			onFailure: function(){
				
			},
			onComplete: function(){
				if(typeof(val) !== 'undefined'){
					$(target).value = val;
				}
			}
		}
	);
}

//移除指定的options
function removeOptions(obj){
	var len = $(obj).options.length;
	for (var i = len; i > 0; i--){
		$(obj).options[i] = null;
	};
}