 function confirmdelete(){
    return confirm("確定刪除此筆資料?")
 }
 function clearall(){
    for(i=0;i<Form1.length;i++){
       type=document.Form1.elements[i].type
       if(type!="submit" && type!="reset" && type!="button" &&type!="hidden" &&type!="radio" &&type!="checkbox"){
          document.Form1.elements[i].value = ""
       }
       if ((type=="radio" || type=="checkbox") && document.Form1.elements[i].checked) {
          document.Form1.elements[i].checked = false;
       }
    }
 }

 function clearall_1(){
    for(i=0;i<Form1.length;i++){
       type=document.Form1.elements[i].type
       if(type!="submit" && type!="reset" && type!="button" &&type!="hidden" &&type!="radio" &&type!="checkbox"){
          document.Form1.elements[i].value = ""
       }
       if ((type=="radio" || type=="checkbox") && document.Form1.elements[i].checked) {
          document.Form1.elements[i].checked = false;
       }
    }

    document.Form1.submit();
 }

  function cl_ltrim(p_str,p_char)  {
     for(var i=0;i<p_str.length;)  {
         if(p_str.substr(i,1) != p_char)  break;  
         p_str = p_str.substr(i+1);
     }
     return p_str
  }
   function cl_rtrim(p_str,p_char)  {
     for(var i=p_str.length-1;i>=0;i--)  {
         if(p_str.substr(i,1) != p_char)  break;  
         p_str = p_str.substr(0,i);
     }
     return p_str
  }
  function cl_trim(p_str,p_char)  {
     p_str = cl_ltrim(p_str,p_char);
     p_str = cl_rtrim(p_str,p_char);
     return p_str;
  }

/*   
COPYRIGHT EC-SERVER ALL RIGHT RESERVED
Author : Carl 
$Id: cl_vartype.js,v 1.1.1.1 2005/07/06 08:08:53 Carl Exp $

Description : Check Variable Type
     Copy right  : wjg
     Last Modify : 2000/9/30
*/
function cl_isInteger(p_in) {
   var p_val = p_in.toString();
   for(var i=0;i<p_val.length; i++)  {
       var oneChar = p_val.charAt(i);
       if(i==0 && oneChar =="-")       continue;
       if(oneChar<"0" || oneChar>"9")  return false;
   }
   return true;
}

function cl_isPosInteger(p_in) {
   var p_val = p_in.toString();
   for(var i=0;i<p_val.length; i++)  {
       var oneChar = p_val.charAt(i);
       if(oneChar<"0" || oneChar>"9")  return false;
   }
   return true;
}

function cl_isEmpty(p_in) {
   if(p_in == null || p_in=="")  return true;
   p_val = cl_trim(p_in);
   if(p_val.length==0) return true;
   return false;
}
function cl_isEmail(str){ 
   var reg = new RegExp("^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z-]+\.)+[a-zA-Z]{2,3}$"); 
   if(str.search(reg)!=-1)
      return true;
   else 
      return false; 
}

/* Date functions 
   Written by wjg ,Last modified :2000-6-23
*/
/* function monthdays
    returns the number of days of certain month 
    determined by parameter p_year,p_month;
*/
 function monthdays(p_year,p_month)
  {
    if(p_month==1 || p_month==3 || p_month==5 || p_month==7 || p_month==8 ||p_month==10 || p_month==12 )
      return 31;
    if(p_month==4 || p_month==6 || p_month==9 || p_month==11 )
      return 30;
    if(p_month==2 && ((p_year%4==0 && p_year%100!=0) || p_year%400==0 ))
      return 29;
    return 28;
 }
 function nextmonth(p_year,p_month) {
   p_month=parseInt(p_month);
   if(p_month<12)  
    {p_month +=1; }
   else  {
      p_year +=1;
      p_month =1;
   }
   return(p_year+"-"+p_month);
  }
     
 function nextdate(p_year,p_month,p_day)  {
   if(p_day<monthdays(p_year,p_month)) 
      {p_day +=1; }
   else{
     if(p_month<12) {
         p_month +=1;
         p_day = 1;
      }
     else {
         p_year +=1;
         p_month =1;
         p_day   =1;
      }
    }
   return(p_year+"-"+p_month+"-"+p_day);
  }

/* function validdate 
   return false if inputs is not a valid date,
   return true if it is.

   Parameter :p_year,p_month,p_day  integer;
*/
 function validdate(p_year,p_month,p_day)
  {
   if(!(!isNaN(p_year) && p_year>1000 && p_year<=9999))
        return false;
   if(!(!isNaN(p_month) && p_month>=1 && p_month<=12))
        return false;
   if(!(!isNaN(p_day) && p_day>=1 && p_day<=monthdays(p_year,p_month)))
        return false;
   return true;
  }
 /* function isDates 
    return false if input is a valid date
    return true if it is
    
    Parameter :p_date a string with delimeter formatted like year-mon-day
               for example : 2000-2-2,2000/2/2 
 */   
 function isDates(p_date) {
    deli ='';
    for(i=0;i<=p_date.length;i++)
      { c=p_date.substring(i,i+1);
     switch (c) {
        case '-' : deli = '-'
                   break;
        case '/' : deli = '/'
                   break;  
        case ':' : deli = ':'
                   break;  
        case '.' : deli = '.'
                   break;  
        case ',' : deli = ','
                   break;  
        case "'" : deli = "'"
                   break;  
        }
      if (deli!="") break;
     }
    if(deli=="") return false;
    l_date=p_date.split(deli);
    if(l_date.length>3) return false;
    if(!validdate(l_date[0],l_date[1],l_date[2]))
       return false;
    return true;
  }
 
/*  name : datavalid 
           check datainput is valid or not
    Note : need array m_screen_field 
                      m_screen_name
		      m_null
		      m_data_type
	         var  f_length = m_screen_field.length;
    require :  cl_dates.js
               cl_vartype.js
               cl_trim.js
   By  wjg ;2000/9/30
*/
  
function getObj(p_form,p_name) {
	var obj = eval("document."+p_form+"."+p_name);
	if(!obj) return false;
	return obj;
}
function datavalid(p_form)  {
	var msg = "";
	var focusobj ;
	var flag = 1;
	for(var i=0;i<f_length;i++)  {
		if(m_data_type[i]=="l") {
			if(m_null[i]=='1')  continue;
			obj = getObj(p_form,m_screen_field[i]);  
			if(!obj) continue;
			var l_len = obj.length;
			var chk = false
			for(j=0;j<l_len;j++) {
				obj = getObj(p_form,m_screen_field[i]+"["+j+"]");  
				if(obj.checked) { chk = true;  break; }
			}
			if(chk) continue;
			msg = msg + m_screen_name[i]+ errMsg[1]+"\n";
			if(flag) {
				focusobj = obj;
				flag = 0;
			}
			continue;
		}
		//MJY530 20061226 add checkbox isNull judgement
		if(m_data_type[i] == 'x') {
			if(m_null[i]=='1')   continue;
			var chk2 = 0;
			var l_len = eval('document.'+p_form+'.elements.length');
			for(var j=0;j<l_len;j++){
				var obj = eval('document.'+p_form+'.elements['+j+']');
				var f_name = m_screen_field[i]+'[]';
				if(obj.name == f_name){
					cb_obj = obj;
					if(cb_obj.checked){
						chk2 = 1;
						break;
					}
				}
			}
			if(chk2) continue;
			msg = msg + m_screen_name[i]+ errMsg[1]+"\n";
			if(flag) {
				focusobj = cb_obj;
				flag = 0;
			}
			continue;
		} 
		//End MJY
		obj = getObj(p_form,m_screen_field[i]);
		if(!obj) continue;
		if(!m_null[i] && cl_trim(obj.value," ") == "") {
			msg =msg +  m_screen_name[i]+ errMsg[1]+"\n";
			if(flag) { focusobj = obj;  flag = 0; }
		}
		switch(m_data_type[i]){
			case "d":     // date
				if(obj.value != "" && !isDates(obj.value)) {
					msg +=  m_screen_name[i]+ errMsg[3] +" \n";
					if(flag) { focusobj = obj;  flag = 0; }
				}
				break;
			case "i":
				if(obj.value != "" && !cl_isInteger(obj.value)) {
					msg +=  m_screen_name[i]+ errMsg[2]+" \n";
					if(flag) { focusobj = obj;  flag = 0; }
				}
				break;
			case "n":	
				if(obj.value != "" && isNaN(obj.value)) {
					msg += m_screen_name[i]+ errMsg[4]+" \n";
					if(flag) { focusobj = obj;  flag = 0; }
				}
				break;
			case "f":
				if(obj.value != "" && isNaN(obj.value)) {
					msg += m_screen_name[i]+ errMsg[4] +" \n";
					if(flag) { focusobj = obj;  flag = 0; }
				}
				break;
			case "l":
				if(obj.value != "" && !cl_isInteger(obj.value))  {
					msg += m_screen_name[i]+ errMsg[2]+" \n";
					if(flag) { focusobj = obj;  flag = 0; }
				}
				break;
			case "e":
				if(obj.value != "" && !cl_isEmail(obj.value))  {
					msg += m_screen_name[i]+ errMsg[5]+" \n";
					if(flag) { focusobj = obj;  flag = 0; }
				}
				break;
		}
	}
	if(!cl_isEmpty(msg))  {
		msg = errMsg[0] + " :\n" + msg ;
		alert(msg);
		focusobj.focus();
		return false;
	}
	return true;
}

