﻿/*@cc_on @*/
function OpenDialog(WindowUrl, WindowHeight, WindowWidth) {
  return window.showModalDialog(WindowUrl, "", "DialogWidth:"+WindowWidth+"px;DialogHeight:"+WindowHeight+"px;Help:No;Location:No,Status:No,MenuBar:No,ScrollBars:No,ReSizable:No");
}
function OpenWindow(WindowUrl, WindowHeight, WindowWidth, WindowTitle) {
  newWindow = window.open(encodeURI(WindowUrl), WindowTitle,'Width='+WindowWidth+',Height='+WindowHeight+',Top='+(screen.Height-WindowHeight)/2+',Left='+(screen.Width-WindowWidth)/2+',Location=0,Directories=0,Status=No,MenuBar=No,ScrollBars=Yes,ReSizable=Yes');
}
function Error(InputData, Message, Color) {
  InputData.style.backgroundColor = Color;
  alert(Message);
  if(ElementIsVisible(InputData))
    InputData.focus();
  return false;
}
function IsAllowFile(InputData, AllowFileArray) {
  if(AllowFileArray==undefined||AllowFileArray.length==0) return false;
  for(CheckNumber=0; CheckNumber<AllowFileArray.length; CheckNumber++)
    if(InputData.value.substring(InputData.value.length - AllowFileArray[CheckNumber].length, InputData.value.length).toLowerCase()==AllowFileArray[CheckNumber]) return true;
  return false;
}
function IsNull(InputData) {
  if(InputData.value.length<1) {
    return true;
  } else {
    return false;
  }
}
function IsNumber(InputData) {
  for(CheckNumber=0; CheckNumber<InputData.value.length; CheckNumber++)
    if(InputData.value.substring(CheckNumber,CheckNumber+1)!="*"&&InputData.value.substring(CheckNumber,CheckNumber+1)!="."&&InputData.value.substring(CheckNumber,CheckNumber+1)!=" "&&(InputData.value.substring(CheckNumber,CheckNumber+1)<"0"||InputData.value.substring(CheckNumber,CheckNumber+1)>"9")) return false;
  return true;
}
function IsEmail(InputData) {
  if(InputData.value.indexOf("@")>2&&InputData.value.indexOf(".", InputData.value.indexOf("@"))>InputData.value.indexOf("@"))
    return true;
  else
    return false;
}
function IsPersonalID(InputData, CheckRule) {
  if(InputData.value.substring(0,1).toUpperCase()<"A"||InputData.value.substring(0,1).toUpperCase()>"Z"||InputData.value.length!=10||(InputData.value.substring(1,2)!="1"&&InputData.value.substring(1,2)!="2"))
    return false;
  else
    if(CheckRule==true) {
      LocationNumber = new Array(10, 11, 12, 13, 14, 15, 16, 17, 34, 18, 19, 20, 21, 22, 35, 23, 24, 25, 26, 27, 28, 29, 32, 30, 31, 33);
      FirstNumber = LocationNumber[InputData.value.toUpperCase().charCodeAt(0) - 65];
      CheckNumber = Math.floor(FirstNumber / 10) + ((FirstNumber % 10) * 9);
      for(CheckPersonalID=0;CheckPersonalID<8;CheckPersonalID++)
        CheckNumber += ((InputData.value.toUpperCase().charCodeAt(CheckPersonalID + 1) - 48) * (8 - CheckPersonalID));
      if((InputData.value.toUpperCase().charCodeAt(9) - 48)==(CheckNumber % 10))
        return true;
      else
        return false;
    } else {
      return true;
    }
}
function IsDate(InputYear, InputMonth, InputDay) {
  if(InputYear<=1900) return false;
  if(InputMonth<1||InputMonth>12) return false;
  if(InputDay<1||InputDay>31) return false;
  if((InputMonth==4 || InputMonth==6 || InputMonth==9 || InputMonth==11) && InputDay==31) return false;
  if(InputMonth == 2) {
    var isleap = (InputYear % 4 == 0 && (InputYear % 100 != 0 || InputYear % 400 == 0));
    if(InputDay > 29 || (InputDay==29 && !isleap)) return false;
  }
  return true;
}
function IsSelected(InputData) {
  return (InputData.selectedIndex!=0)
}
function IsChecked(InputData) {
  CheckFlag = false;
  for(var CheckChecked=0;CheckChecked<InputData.length;CheckChecked++)
    if(InputData[CheckChecked].checked)
      CheckFlag = true;
  return CheckFlag;
}
function IsSpecialChar(InputData) {
  SpecialChar = "~!@#$%^&*()_+-=[]\{}|;':\",./\\<>? ";
  for(var CheckOffset=0;CheckOffset<InputData.value.length;CheckOffset++)
    for(var SpecialOffset=0;SpecialOffset<SpecialChar.length;SpecialOffset++)
      if(InputData.value.charAt(CheckOffset)==SpecialChar.charAt(SpecialOffset))
        return true;
  return false;
}
function IsChinese(InputData) {
  for(var CheckOffset=0;CheckOffset<InputData.value.length;CheckOffset++)
    if(escape(InputData.value.charAt(CheckOffset)).length>=4)
      return true;
  return false;
}
function LoadDefaultValue(InputData, InputValue) {
  if(InputData!=undefined) {
    if(InputData.type!=null) {
      switch(InputData.type) {
        case "text":
          InputData.value = InputValue;
          return true;
          break;
        case "select-one":
          for(CheckSelect=0;CheckSelect<InputData.length;CheckSelect++)
            if(InputData.options[CheckSelect].value==InputValue||InputData.options[CheckSelect].text==InputValue)
              InputData.selectedIndex = CheckSelect;
          return true;
          break;
        case "radio":
          for(CheckRadio=0;CheckRadio<InputData.length;CheckRadio++)
            if(InputData[CheckRadio].value==InputData)
              InputData[CheckRadio].checked = true;
            else
          	  InputData[CheckRadio].checked = false;
          return true;
          break;
        case "checkbox":
          if(InputData.value==InputValue)
            InputData.checked = true;
          else
        	  InputData.checked = false;
          return true;
          break;
        default:
          InputData.value = InputValue;
          return true;
          break;
      }
    } else {
      switch(InputData[0].type) {
    	  case "radio":
          for(CheckRadio=0;CheckRadio<InputData.length;CheckRadio++)
            if(InputData[CheckRadio].value==InputValue)
              InputData[CheckRadio].checked = true;
            else
          	  InputData[CheckRadio].checked = false;
          return true;
          break;
        case "checkbox":
      	  InputValueArray = InputValue.split(", ");
      	  for(CheckCheckBox=0;CheckCheckBox<InputData.length;CheckCheckBox++)
      	    for(CheckCheckBoxValue=0;CheckCheckBoxValue<InputValueArray.length;CheckCheckBoxValue++)
      	      if(InputData[CheckCheckBox].checked!=true)
      	        if(InputData[CheckCheckBox].value==InputValueArray[CheckCheckBoxValue])
      	          InputData[CheckCheckBox].checked = true;
      	        else
      	    	    InputData[CheckCheckBox].checked = false;
      	  return true;
          break;
        default:
          InputData.innerHTML = InputValue;
          return true;
          break;
      }
    }
  }
  return false;
}
function init_select(InputData, InputValue, HasNull) {
  if(!HasNull) {
    InputData.length = InputValue.length;
    for(CheckSelect=0;CheckSelect<InputValue.length;CheckSelect++) {
      InputData.options[CheckSelect].value = InputValue[CheckSelect];
      InputData.options[CheckSelect].text = InputValue[CheckSelect];
    }
  } else {
    InputData.length = InputValue.length + 1;
    InputData.options[0].value = "";
    InputData.options[0].text = "請選擇";
    for(CheckSelect=0;CheckSelect<InputValue.length;CheckSelect++) {
      InputData.options[CheckSelect + 1].value = InputValue[CheckSelect];
      InputData.options[CheckSelect + 1].text = InputValue[CheckSelect];
    }
  }
  InputData.selectedIndex = 0;
}
function encodeCookie(str) {
  var strRtn = "";
  for(var i=str.length-1;i>=0;i--) {
    strRtn += str.charCodeAt(i);
    if(i)
      strRtn += "a";
  }
  return strRtn;
}
function decodeCookie(str) {
  var strArr = "";
  var strRtn = "";
  strArr = unescape(str).split("a");
  for(var i=strArr.length-1;i>=0;i--)
    strRtn += String.fromCharCode(strArr[i]);
  return strRtn;
}
function getCookieVal(offset) {
  var endstr = document.cookie.indexOf (";", offset);
  if(endstr == -1) endstr = document.cookie.length;
  return decodeCookie(document.cookie.substring(offset, endstr));
}
function getSubCookie(parent, name) {
  parentValue = getCookie(parent);
  if(parentValue!=null) {
    if(parentValue.indexOf("=")>0) {
      if(parentValue.indexOf("&")>0) {
        parentArray = parentValue.split("&");
        for(i=0;i<parentArray.length;i++) {
          subArray = parentArray[i].split("=");
          if(subArray[0]==name) return subArray[1];
        }
      } else {
        parentArray = parentValue.split("=");
        if(parentArray[0]==name) return parentArray[1];
      }
    }
  }
  return null;
}
function getCookie(name) {
  var arg = name + "=";
  var alen = arg.length;
  var clen = document.cookie.length;
  var i = 0;
  while (i < clen) {
    var j = i + alen;
    if(document.cookie.substring(i, j) == arg) {
      return getCookieVal(j);
    }
    i = document.cookie.indexOf(" ", i) + 1;
    if(i == 0) {
      break;
    }
  }
  return null;
}
function setSubCookie(parent, name, value) {
  var setValue = "";
  parentValue = getCookie(parent);
  if(parentValue!=null) {
    if(parentValue.indexOf("=")>0) {
      if(parentValue.indexOf("&")>0) {
        addFlag = false;
        parentArray = parentValue.split("&");
        for(i=0;i<parentArray.length;i++) {
          subArray = parentArray[i].split("=");
          if(subArray[0]==name) {
            setValue += name + "=" + value + "&";
            addFlag = true;
          } else {
            setValue += subArray[0] + "=" + subArray[1] + "&";
          }
        }
        if(addFlag!=true) setValue += name + "=" + value;
      } else {
        parentArray = parentValue.split("=");
        if(parentArray[0]==name)
          setValue = name + "=" + value;
        else
          setValue = parentArray[0] + "=" + parentArray[1] + "&" + name + "=" + value;
      }
    } else {
      setValue = name + "=" + value;
    }
  } else {
    setValue = name + "=" + value;
  }
  if(setValue.substring(setValue.length - 1, setValue.length)=="&") setValue = setValue.substring(0, setValue.length - 1);
  setCookie(parent, setValue);
}
function setCookie(name, value) {
  var argv = setCookie.arguments;
  var argc = setCookie.arguments.length;
  var expires = (argc > 2) ? argv[2] : null;
  var path = (argc > 3) ? argv[3] : null;
  var domain = (argc > 4) ? argv[4] : null;
  var secure = (argc > 5) ? argv[5] : false;
  if(encodeCookie(value).length>4000) alert("ERROR: the Flow Cookie is to large (" + encodeCookie(value).length + "), the data in Flow Cookie could be lose.");
  document.cookie = name + "=" + encodeCookie(value) +
                    ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
                    ((path == null) ? "" : ("; path=" + path)) +
                    ((domain == null) ? "" : ("; domain=" + domain)) +
                    ((secure == true) ? "; secure" : "");
}
function deleteCookie(name) {
  var exp = new Date();
  //FixCookieDate (exp); // Correct for Mac bug
  exp.setTime (exp.getTime() - 1);  // This cookie is history
  var cval = getCookie (name);
  if(cval != null) {
    document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
  }
}
function disableAllButton(submitbutton, resetbutton, otherformobject) {
  for(i=0;i<document.all.length;i++) {
    element = document.all[i];
    if(element.type!=null) {
      elementType = element.type.toLowerCase();
      if((elementType=="button")||(elementType=="submit"&&submitbutton)||(elementType=="reset"&&resetbutton)) {
        element.disabled = true;
      } else if(otherformobject) {
        if(elementType=="text"||elementType=="select-one"||elementType=="radio"||elementType=="checkbox"||elementType=="textarea")
          if(element.readOnly!=undefined) element.readOnly = true;
      }
    }
  }
  return true;
}
function ElementIsVisible(elm) {
  if (typeof(elm.style) != "undefined" && ((typeof(elm.style.display) != "undefined" && elm.style.display == "none") ||(typeof(elm.style.visibility) != "undefined" && elm.style.visibility == "hidden"))) {
    return false;
  } else if (typeof(elm.parentNode) != "undefined" && elm.parentNode != null && elm.parentNode != elm) {
    return ElementIsVisible(elm.parentNode);
  }
  return true;
}
function MM_preloadImages() {
  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_swapImgRestore() {
  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_findObj(n, d) {
  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 && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() {
  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 MM_openBrWindow(theURL,winName,features) {
  window.open(theURL,winName,features);
}
function GotoURL(TargetURL, Parameter) {
  if(Parameter.length > 0) {
    go_form = document.createElement("form");
    go_form.action = TargetURL;
    go_form.method = "post";
    go_form.name = "dynamic_goto_form";
    if(TargetURL.indexOf("http://")>0) go_form.target = "_blank";
    if(Parameter.length>0) {
      ParameterArray = Parameter.split("&");
      for(i=0;i<ParameterArray.length;i++) {
        if(ParameterArray[i].indexOf("=")<=0) {
          alert("輸入參數格式錯誤.");
          return false;
        }
        ParameterDetailArray = ParameterArray[i].split("=");
        myinput = document.createElement("input");
        myinput.type = "hidden";
        myinput.name = ParameterDetailArray[0];
        myinput.value = ParameterDetailArray[1];
        go_form.appendChild(myinput);
      }
    }
    document.appendChild(go_form);
    go_form.submit();
  } else {
    window.location = encodeURI(TargetURL);
  }
}