function isfilled(elmt){     
    if (elmt.value =="" || elmt.value==null)
    return false;
    else return true;   
}
function isnumber(elmt){     
    if (isNAN(elmt))	return false;
    else return true;   
}
function isemail(elm){    
    if(elm.value.indexOf("@") != "-1" &&
       elm.value.indexOf("@") != "0" &&
       elm.value.indexOf("@") == elm.value.lastIndexOf("@")&&      
       elm.value.indexOf(".") != "-1" &&       
       elm.value.lastIndexOf(".")!=elm.value.length-1)
    return true;
    else return false;
}
function selectAll(v) {
	f = document.form1
	n = f.elements.length
	for (i=0; i < n; i++) {
		if (f.elements[i].name == "del[]") {
			f.elements[i].checked = v;
		}
	}
	
}


// Updated by jmchiu 2006/11/30
function checkDigit(x)  {
	if (x=="")	return false;
	
	var dot=x.split(".");
	l=dot.length;
	if (l>2)  {
		return false;
	} else {
		var a1=dot[0];
		if (a1.length>3)  {
			return false;
		} else {
			for (i=0;i<a1.length;i++)  {
				temp=a1.charAt(i);
				y=parseInt(temp);
				if (!y && y!="0")  {
					return false;
				}
			}
			
			if (dot.length==2)  {
				a2=dot[1];
				if (a2.length>2)  {
					return false;
				} else {
					for (i=0;i<a2.length;i++)  {
						temp=a2.charAt(i);
						y=parseInt(temp);
						if (!y && y!="0")  {
							return false;
						}
					}
				}
			}
		}
	}
	
	return true;
}

// Add by jmchiu 2006/11/17
function get_form_checkbox_value(name) {
	var curObj=document.all(name);
	if (curObj==null) return "";
	var result="";
	if (curObj.length > 0) {
		for (var i=0; i<curObj.length; i++) {
			if (!curObj[i].checked) continue;
			result=="" ? result=curObj[i].value : result=result+","+curObj[i].value;
		}
	} else {
		curObj.checked ? result=curObj.value : "";
	}

	return result;
}

function get_form_hidden_value(name) {
	var curObj=document.all(name);
	return curObj.value;	
}

function get_form_password_value(name) {
	var curObj=document.all(name);
	return curObj.value;	
}

function get_form_radio_value(name) {
	var curObj=document.all(name);
	if (curObj.length > 0) {
		for (var i=0; i<curObj.length; i++) {
			if (!curObj[i].checked) continue;
			return curObj[i].value;
		} 
		return "";
	} else {
		if (curObj.checked)
			return curObj.value
		else
			return "";
	}	
}

function get_form_select_value(name) {
	var curObj=document.all(name);
	for (var i=0; i<curObj.length; i++) {
		if (!curObj[i].selected) continue;
		return curObj[i].value;
	}
}

function get_form_text_value(name) {
	var curObj=document.all(name);
	return curObj.value;	
}

function get_form_textarea_value(name) {
	var curObj=document.all(name);
	return curObj.value;	
}

function in_array(needle, haystack) {
	// Counter-part of in_array in PHP
	for (var i in haystack) {
		if (haystack[i]==needle) return true;
	}
	return false;	
}

function set_form_checkbox_value(name, value) {
	var curObj=document.all(name);
	var selected_values=value.split(",");
		
	// Un-select all first
	for (var i=0; i<curObj.length; i++) {
		curObj[i].checked=false;
	}
	
	// Un-select all first
	for (var i=0; i<curObj.length; i++) {
		if (!in_array(curObj[i].value, selected_values)) continue;
		curObj[i].checked=true;
	}

	return;	
}

function set_form_password_value(name, value) {
	var curObj=document.all(name);
	curObj.value=value;	
}

function set_form_radio_value(name, value) {
	var curObj=document.all(name);
	// Un-checked all first
	if (curObj.length > 0) {
		for (var i=0; i<curObj.length; i++) {
			curObj[i].checked=false;
		}
	} else {
		curObj.checked=false;	
	}
	
	// Checked 
	if (curObj.length > 0) {
		for (var i=0; i<curObj.length; i++) {
			if (curObj[i].value!=value) continue;
			curObj[i].checked=true;
			return;
		}
	} else {
		if (curObj.value==value) {
			curObj.checked=true;
		}
	}	
}

function set_form_select_value(name, value) {
	var curObj=document.all(name);
	// Un-checked all first
	if (curObj.length > 0) {
		for (var i=0; i<curObj.length; i++) {
			curObj[i].selected=false;
		}
	} else {
		curObj.selected=false;	
	}
	
	// Checked 
	if (curObj.length > 0) {
		for (var i=0; i<curObj.length; i++) {
			if (curObj[i].value!=value) continue;
			curObj[i].selected=true;
			return;
		}
	} else {
		if (curObj.value==value) {
			curObj.selected=true;
		}
	}		
}

function set_form_text_value(name, value) {
	var curObj=document.all(name);
	curObj.value=value;	
}

function set_form_textarea_value(name, value) {
	var curObj=document.all(name);
	curObj.value=value;	
}

// Add by jmchiu 2006/12/01
function in_array(needle, haystack) {
	// Counter-part of in_array in PHP
	for (var i in haystack) {
		if (haystack[i]==needle) return true;
	}
	return false;	
}

// Add by jmchiu 2006/12/03
function MoveBetweenMultipleSelect(source, dest)  {
	x=get_form_select_value(source);
	if (source=="")	return;
	
	sourceObj=document.all(source);
	destObj=document.all(dest);
	
	l=destObj.length;
	temp_option=new Array();
	counter=0;
	for (i=0;i<sourceObj.length;i++)  {
		if (sourceObj[i].selected==true)  {
			destObj[l]=new Option;
			destObj[l].text=sourceObj[i].text;
			destObj[l].value=sourceObj[i].value;
			l++;
		} else {
			temp_option[counter]=new Array();
			temp_option[counter]["text"]=sourceObj[i].text;
			temp_option[counter]["value"]=sourceObj[i].value;
			counter++;
		}
	}
	
	sourceObj.length=counter;
	for (i=0;i<counter;i++)  {
		sourceObj[i].text=temp_option[i]["text"];
		sourceObj[i].value=temp_option[i]["value"];
	}
	
	for (i=0;i<sourceObj.length;i++)	sourceObj[i].selected=false;
}

// Add by jmchiu 2006/12/05
function MultipleSelectAll(name)  {
	curObj=document.all(name);
	for (i=0;i<curObj.length;i++)	curObj[i].selected=true;
}

// Add by jmchiu 2006/12/05
function get_form_multiple_select_value(name)  {
	curObj=document.all(name);
	if (curObj==null) return "";
	var result="";
	for (i=0;i<curObj.length;i++)  {
		if (curObj[i].selected==true)  {
			result=="" ? result=curObj[i].value : result=result+","+curObj[i].value;
		}
	}
	
	return result;
}

// Add by jmchiu 2006/12/12
// check the input string is A~Z,a~z,0~9
function checkNoSpecial(str)  {
	var bOK=1;
	for (i=0;i<str.length;i++)  {
		temp=str.charCodeAt(i);
		if (temp<48)	bOK=0;
		else if (temp>57 && temp <65)	bOK=0;
		else if (temp>90 && temp <97)	bOK=0;
		else if (temp>122)		bOK=0;
	}
	
	if (bOK==1)	return true;
	else		return false;
}

// Add by jmchiu 2006/12/12
function checkDynamicDigit(x, front, back)  {
	if (x=="")	return false;
	
	len=x.length;
	t="";
	var bLeft=0;
	for (i=0;i<len;i++)  {
		if (x.charAt(i)=="0" && bLeft==0)  {
			
		} else {
			bLeft=1;
			t=t+x.charAt(i);
		}
	}
	x=t;
	
	len=x.length;
	t="";
	var bLeft=0;
	for (i=len-1;i>=0;i--)  {
		if (x.charAt(i)=="0" && bLeft==0)  {
			
		} else {
			bLeft=1;
			t=x.charAt(i)+t;
		}
	}
	x=t;
	
	len=x.length;
	if (x.charAt(len-1)==".")  {
		t="";
		for (i=0;i<len-1;i++)  t=t+x.charAt(i);
	}
	x=t;
	
	var dot=x.split(".");
	l=dot.length;
	if (l>2)  {
		return false;
	} else if (back==0 && l>1)  {
		return false;
	} else {
		var a1=dot[0];
		if (a1.length>front && front!="")  {
			return false;
		} else {
			for (i=0;i<a1.length;i++)  {
				temp=a1.charAt(i);
				y=parseInt(temp);
				if (!y && y!="0")  {
					return false;
				}
			}
			
			if (dot.length==2)  {
				a2=dot[1];
				if (a2.length>back)  {
					return false;
				} else {
					for (i=0;i<a2.length;i++)  {
						temp=a2.charAt(i);
						y=parseInt(temp);
						if (!y && y!="0")  {
							return false;
						}
					}
				}
			}
		}
	}
	
	return true;
}

// Add by jmchiu 95/12/19
function get_form_select_prompt(name) {
	var curObj=document.all(name);
	for (var i=0; i<curObj.length; i++) {
		if (!curObj[i].selected) continue;
		return curObj[i].text;
	}
}

//vincent  2007/01/08
function get_form_text_encode_value(name) {
	var curObj=document.all(name);
	return encodeURIComponent(curObj.value);	
}

function get_form_textarea_encode_value(name) {
	var curObj=document.all(name);
	return encodeURIComponent(curObj.value);	
}

//add by vincent  2007/01/08
//判斷輸入值使否有中文字
function isnumchar(elm) {
		var str = elm.value;
		var arr = str.match(/[^\x00-\xff]/ig); 
		if(arr!=null) return false;
		else return true;
} 

//add by jmchiu 2007/03/22
//Check Date Format , Must be yyyy-mm-dd
function isDate(s)  {
	var a2=s.split("-");
	var e=true;
	
	if (a2.length!=3)  {
		e=false;
	} else {
		var na=a2;
		
		if (isPositiveInteger(na[0]) &&  isPositiveInteger(na[1]) && isPositiveInteger(na[2])) {
			var m=na[1],d=na[2];
			var y=na[0];
			if ((e) && (y<1000))	e=false;
			if (e) {
				v=new Date(y+"/"+m+"/"+d);
				if (v.getMonth()!=m-1)	e=false;
			}
		} else {
			e=false;
		}
	}

	return e;
}


/**********************************************************************/
/*Function name           :isDigit(theDigit)                              */
/*Usage of this function  :test for an digit                              */
/*Input parameter required:thedata=string for test whether is digit   */
/*Return value                  :if is digit,return true                      */
/*                           else return false                              */
/**********************************************************************/
function isDigit(theDigit)
{
  var digitArray = new Array('0','1','2','3','4','5','6','7','8','9'),j;

      for (j = 0; j < digitArray.length; j++)
         {if (theDigit == digitArray[j])
            return true
         }
   return false

}
/*************************************************************************/
/*Function name           :isPositiveInteger(theString)                  */
/*Usage of this function  :test for an +ve integer                         */
/*Input parameter required:thedata=string for test whether is +ve integer*/
/*Return value                  :if is +ve integer,return true                 */
/*                           else return false                                 */
/*function require        :isDigit                                       */
/*************************************************************************/

function isPositiveInteger(theString)
{
	var theData = new String(theString)
	var re5digit = /^\d+$/;
	for (var i = 1; i < theData.length; i++)  {
		if (theData.search(re5digit)==-1)	return false;
		else	return true;
	}
}
