function jsFn_Trim(inputString) {
// Removes leading and trailing spaces from the passed string. Also removes
// consecutive spaces and replaces it with one space. If something besides
// a string is passed in (null, custom object, etc.) then return the input.
	if (typeof inputString != "string") { return inputString; }
	var retValue = inputString;
	var ch = retValue.substring(0, 1);
	while (ch == " ") { // Check for spaces at the beginning of the string
		retValue = retValue.substring(1, retValue.length);
		ch = retValue.substring(0, 1);
	}
	ch = retValue.substring(retValue.length-1, retValue.length);
	while (ch == " ") { // Check for spaces at the end of the string
		retValue = retValue.substring(0, retValue.length-1);
		ch = retValue.substring(retValue.length-1, retValue.length);
	}
	while (retValue.indexOf("  ") != -1) { // Note that there are two spaces in the string - look for multiple spaces within the string
		retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
	}
	return retValue; // Return the trimmed string back to the user
} // Ends the "jsFn_trim" function

function validateNumeric(obj)
{
	if (isNaN(obj.value)) return false;
	else return true;
}

function validateInteger(obj)
{
	// ??????????????????
	tmpvalue = obj.value;
	reg=/^\d+$/;
	//-----------------------
	if((reg.test(tmpvalue)) && (parseInt(tmpvalue,10)>0)) return true;
	else return false;
}

function validateMoney(obj)
{
	reg=/^\d+(\.\d{1,2})?$/;
	if((reg.test(jsFn_Decimal2NumberFormat(obj.value))) && (stringToFloat(obj.value)>0)) return true;
	else return false;
}

function validateMinLength(obj,minlength)
{
	if (obj.value.length < minlength) return false;
	else return true;
}

function validateMaxLength(obj,maxlength)
{
	if (obj.value.length > maxlength) return false;
	else return true;
}

function validateRequired(obj)
{
	if (obj.value == null || jsFn_Trim(obj.value) == "") return false;
	else return true;
}

function validateRadio(obj,radioName)
{
	for(var i=0;i<obj.length;i++)
	{
		if (obj[i].checked) return true;	
	}
	
	alert("ต้องเลือกข้อมูล"+radioName+"อย่างใดอย่างหนึ่ง");
	return false;
}

function validateDropDown(obj,dropDownName)
{
	if (validateRequired(obj)) return true;
	
	alert("ต้องเลือกค่าของ"+dropDownName+"ค่าใดค่าหนึ่ง");
	return false;
}

function validateCheckbox(obj,textName)
{
	if(obj.type=='checkbox')
	{
		if(obj.checked)
		{
			return true;
		}
		alert("กรุณาเลือก "+textName);
		return false;
	}
	return false;
}


function validateTextField(obj,textName,depend,args)
{
	for(var i=0;i<depend.length;i++)
	{
		switch (depend[i])
			{
				case "numeric" : 
					{
						if (!validateNumeric(obj)) { alert(textName+"ต้องเป็นตัวเลขเท่านั้น"); return false; }
						break;
					}
				case "minlength" : 
					{
						if (!validateMinLength(obj,args[i])) { alert(textName+"ต้องมีความยาวอย่างน้อย "+args[i]+" ตัวอักษร"); return false; }
						break;
					}
				case "maxlength" :
					{
						if (!validateMaxLength(obj,args[i])) { alert(textName+"ต้องมีความยาวไม่เกิน "+args[i]+" ตัวอักษร"); return false; }
						break;
					}
				case "required" :
					{
						if (!validateRequired(obj)) { alert("ต้องกรอกข้อมูล"+textName); return false; }
						break;
					}
				case "integer" :
					{
						if (!validateInteger(obj)) {alert(textName+" ต้องเป็นจำนวนเต็มเท่านั้น"); return false;}
						break;
					}
				case "money" :
					{
						if (!validateMoney(obj)) {alert(textName+" ต้องเป็นจำนวนเงินเท่านั้น"); return false;}
						break;
					}
				case "cid" :
					{
						if(!validateNumeric(obj) || !validateFixLength(obj,13)){alert("เลขที่บัตรประชาชนต้องเป็นตัวเลข 13 ตัวอักษร");return false;}
						//if(!validateCityzenId(obj)){alert("เลขที่บัตรประชาชนไม่ถูกต้อง");return false;}
					}
 			}
	}
	return true;
}


function validateFixLength(obj,fixlength)
{
	if(obj.value.length == fixlength)return true;
	return false;
}

function validateCityzenId(obj)
{
	var bResult = false;
	cityzenid = obj.value;
	chksum = 0;
	j=13;
	for(i=0;;i++)
	{
		chksum += (cityzenid.substring(i,i+1))*j;
		j--;if(j==1)break;
	}
	chksum %= 11;
	chksum = 11-chksum;
	if(chksum == cityzenid.substring(cityzenid.length-1))bResult = true;
	return bResult;
}

function VirtyChar(ctrl)
{  
    if((event.keyCode < 48 || event.keyCode > 57)) // != 0-9
    {
        return true;
	}
	else
	{
		return false;
	}
}

function Virty(ctrl)
{
    if(event.keyCode==46){  // .  
      return true;
    }
    if (event.keyCode == 13)
        return true;
    if (event.keyCode < 48 || event.keyCode > 57) // 0-9
        return false;
    else
        return true;
}
/*
front คือ dataType ใน db เช่น number(5,2) front = 5 และ back = 2
*/
function VirtyBigdecimal(front,back,obj)
{		
	if(obj.indexOf(".") != -1)
	{
		if(event.keyCode==46)	// .  
				return false;	   		
		else if (event.keyCode >= 48 && event.keyCode <= 57)	 // 0-9
				return true;				
		else 
				return false;
	}
	else
	{		
		if(obj == "" && event.keyCode==46)
		{
			return false;
		}
		else
		{
			if(obj.length < (parseInt(front)-parseInt(back)))
			{		
				if(event.keyCode==46)	// .  
					  return true;	   
				if (event.keyCode < 48 || event.keyCode > 57)	 // 0-9
					return false;		
				else
					return true;
			}
			else if(obj.length == (parseInt(front)-parseInt(back)))
			{		
				if(event.keyCode==46)	// .  
					  return true;	   		
				else
					return false;
			}
			else if(obj.length > (parseInt(front)-parseInt(back)))
			{		
				if (event.keyCode >= 48 && event.keyCode <= 57)	 // 0-9
					return true;
				else
					return false;
			}
		}
	}
}
function formatCurrency(obj) 
{
	num = obj.value;
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))	{alert('ต้องกรอกเป็นจำนวนเงินเท่านั้น'); obj.focus(); return '';};
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + num + '.' + cents);
}

function countYear(idin,idout)
{
	var el =  document.getElementById(idin);
	var elid = document.getElementById(idout);
	if(el.value != '')
	{
		var now = new Date();
		alert(now);
		
		elid.value = now.getYear();
	}
	return false;
}


/*function validateCitizenId(citizenId) 
{
	if (isNaN(citizenId.value)) 
	{ 
		alert("เลขที่บัตรประชาชนต้องเป็นตัวเลขเท่านั้น"); 
		citizenId.focus();
		return false; 
	}
	else 
	{
		if (citizenId.value.length < 13 || citizenId.value.length > 13) 
		{ 
			alert("เลขที่บัตรประชาชนต้องมีความยาว 13 ตัวอักษร"); 
			citizenId.focus();
			return false; 
		}
	}
	
	return true;
}

function validateRegNo(regNo)
{
	if (isNaN(regNo.value)) 
	{ 
		alert("เลขจดทะเบียนบริษัทต้องเป็นตัวเลขเท่านั้น"); 
		regNo.focus();
		return false; 
	}
	else 
	{
		if (regNo.value.length < 13 || regNo.value.length > 13) 
		{ 
			alert("เลขจดทะเบียนบริษัทต้องมีความยาว 13 ตัวอักษร"); 
			regNo.focus();
			return false; 
		}
	}
	
	return true;
}

function validateTaxId(taxId)
{
	if (isNaN(taxId.value)) 
	{ 
		alert("เลขประจำตัวผู้เสียภาษีต้องเป็นตัวเลขเท่านั้น"); 
		taxId.focus();
		return false; 
	}
	else 
	{
		if (taxId.value.length < 13 || taxId.value.length > 13) 
		{ 
			alert("เลขประจำตัวผู้เสียภาษีต้องมีความยาว 10 ตัวอักษร"); 
			taxId.focus();
			return false; 
		}
	}
	
	return true;
}
*/

