function trim(str){
	while(1){
		if(str.length == 0){
			break;
		}
		if(str.indexOf(" ") == 0){
			str = str.substring(1,str.length);
		}
		else if(str.lastIndexOf(" ",str.length) == (str.length-1)){
			str = str.substring(0,(str.length-1));
		}
		else{
			break;
		}
	}
	return str;
}

function SetSelectIndex(form, name, index){
	SelectName = eval("form."+name);

	for(i=0;i<SelectName.length;i++){
		if(SelectName.options[i].value == index){
			SelectName.selectedIndex = i;
		}
	}
}

function SelectAllItem(form, name){
  SelectItem = eval("form."+name);
  for(i=0;i<form.elements.length;i++){
  	if(form.elements[i].type == "checkbox"){
		  form.elements[i].checked = SelectItem.checked;
	  }
  }
}

function CheckWord(Str){
  var WordFormat = /^[a-zA-Z0-9]+$/;

  if(WordFormat.test(Str)){
    return true;
  }
  else{
    return false;
  }
}

function CheckNums(Str){
	var NumbreFormat = /^[0-9]+$/;

  if(NumbreFormat.test(Str)){
    return true;
  }
  else{
    return false;
  }
}

function CheckForm(form){
	var EMailFormat = /^[a-zA-Z0-9]+[a-zA-Z0-9\._-]*[a-zA-Z0-9]+@[a-zA-Z0-9]+[a-zA-Z0-9\._-]*[a-zA-Z0-9]+(\.[a-zA-Z]{2,4}$)/;
  var Pass = 1;
  var mesg = "";

  for(i=0;i<form.elements.length;i++){
    var obj = form.elements[i];

    if(obj.type == "text" || obj.type == "password"){
      obj.value = trim(obj.value);
    }

    if(obj.type == "textarea" || obj.type == "select-one" || obj.type == "text" || obj.type == "file" || obj.type == "password"){
      var mesg      = "";
      var f_require = obj.attributes["require"];
      var f_email   = obj.attributes["email"];
      var f_num     = obj.attributes["num"];
      var f_hint    = obj.attributes["hint"];
      var f_myhint  = obj.attributes["myhint"];

      var require   = (f_require != undefined)  ? f_require.value : "no";
      var email     = (f_email != undefined)    ? f_email.value   : "no";
      var num       = (f_num != undefined)      ? f_num.value     : "no";
      var hint      = (f_hint != undefined)     ? f_hint.value    : "none";
      var myhint    = (f_myhint != undefined)   ? f_myhint.value  : "none";

      if(require == "yes"){
        if(f_email != undefined && !EMailFormat.test(obj.value)){
          mesg = "請輸入正確的電子郵件(E-Mail)！";
          Pass = 0;
        }
        else if(obj.type == "file"){
          mesg = "請上傳相關檔案！";
        }
        else if(f_num != undefined && isNaN(obj.value)){
          mesg = "請輸入數字";
          Pass = 0;
        }
        else if(obj.value.length == 0 || (obj.type == "select-one" && obj.value == 0)){
          Pass = 0;
        }
      }
      else{
        if(obj.value.length >= 1){
          if(f_email != undefined && !EMailFormat.test(obj.value)){
            mesg = "請輸入正確的電子郵件(E-Mail)！";
            Pass = 0;
          }
          else if(f_num != undefined && isNaN(obj.value)){
            mesg = "請輸入數字";
            Pass = 0;
          }
        }
      }

      if(Pass == 0){
        if(hint != "none"){
          mesg = "請填寫 "+hint+" 欄位";
        }
        else if(myhint != "none"){
          mesg = myhint;
        }

        alert(mesg);
        obj.focus();
        return false;
      }
    }
  }
  return true;
}

function CheckItem(ItemId){
	var EMailFormat = /^[a-zA-Z0-9]+[a-zA-Z0-9\._-]*[a-zA-Z0-9]+@[a-zA-Z0-9]+[a-zA-Z0-9\._-]*[a-zA-Z0-9]+(\.[a-zA-Z]{2,4}$)/;
  var hint      = "";
  var mesg      = "";

  item = document.getElementById(ItemId);

  if(item.type != "text" && item.type != "textarea" && item.type != "file" && item.type != "password"){
    alert("input type is wrong !!!");
    return false;
  }

  item.value = trim(item.value);

  hint = item.attributes["hint"] == undefined ? "請輸入相關欄位！" : "請填寫 "+item.attributes["hint"].value+" 欄位！";

  if(item.value.length == 0){
    alert(hint);
    item.focus();
    return false;
  }

  return true;
}

function ErrorMesg(FormName, Mesg){
  FormName.focus();
  FormName.select();
  alert(Mesg);
}