<!-- Function Name: validateNumber -->
<!-- Purpose: This function is used for validate numeric fields -->
<!-- Parameters: field -->
<!--------Function validateNumber() use Validate Numeric Only send agument Object ----------->
<!--------Examples <imput type="text" name="salary" onblur="return validateNumber(this)">--->
<!---------End Of Function ----------------------------------------------------------------------->
<!------------------------------------------------------------------------------------------------->
<!------------------------------------------------------------------------------------------------->
<!-- Function Name: isValidThaiLetter -->
<!-- Purpose: This function is used for validate Thai Charracter Field for User input -->
<!-- Parameters: field -->
<!--------Function  isValidThaiLetterr() use Validate Thai Cahrracter Only send agument Field Instance ----------->
<!--------Examples <imput type="text" name="salary" onblur="return  isValidThaiLetter(this)">--->
<!---------End Of Function ----------------------------------------------------------------------->
<!------------------------------------------------------------------------------------------------->
<!-------------------------------------------------------------------------------------------------> 
<!-- Function Name: checkDate-->
<!-- Purpose: This function is used for validate numeric fields for Date-->
<!--------Examples <imput type="text" name="salary" onblur="return checkDate(this)">--->
<!---------End Of Function ----------------------------------------------------------------------->
<!------------------------------------------------------------------------------------------------->
<!------------------------------------------------------------------------------------------------->
<!---------Function isValidEmail()---------------------------------------------->
<!--------General Purpose Use To Validate Email Input By User----------->
<!--------Function Create By Somporn Jomnasuan----------->
<!--------Function isValidEmail() use Validate Email send agument Object ----------->
<!--------Examples <imput type="text" name="email" onblur="return isValidEmail(this)">--->
<!---------End Of Function ----------------------------------------------------------------------->
<!------------------------------------------------------------------------------------------------->
<!------------------------------------------------------------------------------------------------->
<!---------Function isValidEnglishLetter()---------------------------------------------->
<!--------General Purpose Use To Validate English Letter Input By User----------->
<!--------Function Create By Somporn Jomnasuan----------->
<!--------Function isValidEnglishLetter() use Validate Email send agument Object ----------->
<!--------Examples <imput type="text" name="englishname" onblur="return isValidEnglishLetter(this)">--->
<!---------End Of Function ----------------------------------------------------------------------->
<!------------------------------------------------------------------------------------------------->
<!------------------------------------------------------------------------------------------------->
<!---------Function isValidURL()---------------------------------------------->
<!--------General Purpose Use To Validate URL Input By User----------->
<!--------URL Must InForm www.websitename.com----------->
<!--------Function Create By Somporn Jomnasuan----------->
<!--------Function isValidURL() use Validate Email send agument Object ----------->
<!--------Examples <imput type="text" name="url" onblur="return isValidURL(this)">--->
<!---------End Of Function ----------------------------------------------------------------------->
<!------------------------------------------------------------------------------------------------->
<!------------------------------------------------------------------------------------------------->
<!--------------------Function isValidPhoneNumber()----------------------->
<!-------------------onblur="return isValidPhoneNumber(this)"------------->

<!--------------------Function isValidPostalCode()----------------------->
<!------------------------onblur="return isValidPostalCode(this)"--------------->

<!--Function Name: function isValidLogin(object) --------------------------------->
<!--Purpost:       to check if login name is valid, (a-z, 0-9, - , _) ------------>
<!--Usage:         onblur = "return isValidLogin(object) ------------------------->

 function validateNumber(field) {
	var valid = "0123456789,."
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
		}
		if (ok == "no") {
		alert("ตัวเลขผิด กรุณาใส่เฉพาะตัวเลข"); 
		<!-- 'Please input only numbers.' -->
		field.focus();
		//field.select();
		return false;
   }
}
function checkDate(objName) {
var datefield = objName;
if (chkdate(objName) == false) {
datefield.select();
alert("ท่านกรอกวันที่ผิดกรุณากรอกใหม่");
// 'Please input date format: dd-mm-yyyy 
datefield.focus();
return false;
}
else {
return true;
   }
}
function chkdate(objName) {
//var strDatestyle = "US"; //United States date style
var strDatestyle = "EU";  //European date style
var strDate;
var strDateArray;
var strDay;
var strMonth;
var strYear;
var intday;
var intMonth;
var intYear;
var booFound = false;
var datefield = objName;
var strSeparatorArray = new Array(" ","/");
var intElementNr;
var err = 0;
var strMonthArray = new Array(12);
strMonthArray[0] = "01";
strMonthArray[1] = "02";
strMonthArray[2] = "03";
strMonthArray[3] = "04";
strMonthArray[4] = "05";
strMonthArray[5] = "06";
strMonthArray[6] = "07";
strMonthArray[7] = "08";
strMonthArray[8] = "09";
strMonthArray[9] = "10";
strMonthArray[10] = "11";
strMonthArray[11] = "12";
strDate = datefield.value;
for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {
	if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) {
		strDateArray = strDate.split(strSeparatorArray[intElementNr]);
		if (strDateArray.length != 3) {
			err = 2;
			return false;
		}
	else {
		strDay = strDateArray[0];
		strMonth = strDateArray[1];
		strYear = strDateArray[2];
		}
	booFound = true;
	}
}
if (booFound == false) {
	if (strDate.length>5) {
		strDay = strDate.substr(0, 2);
		strMonth = strDate.substr(2, 2);
		strYear = strDate.substr(4);
	   }
}
if (strDate.length<8){
	return false;
}
if (strYear.length < 4) {
	err = 1;
	return false;
}

intday = parseInt(strDay, 10);
if (isNaN(intday)) {
	err = 2;
	return false;
}
intMonth = parseInt(strMonth, 10);
if (isNaN(intMonth)) {
	for (i = 0;i<12;i++) {
		if (strMonth == strMonthArray[i]) {
			intMonth = i+1;
			strMonth = strMonthArray[i];
			i = 12;
	   }
	}
	if (isNaN(intMonth)) {
		err = 3;
		return false;
	   }
	}
	intYear = parseInt(strYear, 10);
	if (isNaN(intYear)) {
err = 4;
return false;
}
// if (intYear <2480) { -->
//	err=4;
//	alert("กรุณากรอกปีเป็น พ.ศ.");
//	return false;
//}
//intYear = intYear - 543;
if (intMonth>12 || intMonth<1) {
err = 5;
return false;
}
if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
err = 6;
return false;
}
if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
err = 7;
return false;
}
if (intMonth == 2) {
if (intday < 1) {
err = 8;
return false;
}
if (LeapYear(intYear) == true) {
	if (intday > 29) {
		err = 9;
		return false;
	}
}
else {
	if (intday > 28) {
		err = 10;
		return false;
	}
}
}

if (strDay.length == 1) {
	strDay = "0" + strDay
}
datefield.value =  strDay + "/" + strMonthArray[intMonth-1] + "/" + strYear;
return true;
}
function LeapYear(intYear) {
	if (intYear % 100 == 0) {
		if (intYear % 400 == 0) { return true; }
	}else {
		if ((intYear % 4) == 0) { return true; }
	}
	return false;
}
function isValidEmail(object){
	param=object.value;	
	if(param==""){
		return true;
	}
	re = /[\w\-\_]{1,}\@[\w\-\_]{1,}\.\w{2,}/g;	
	result_array=param.match(re);
	if(result_array){
		return true;
	}else{
		alert("Your Email Not Valid Form ");		
		object.select();
		object.focus();
		return false;	
	}	
}

function isValidURL(object){	
//	param=object.value;
//	if(param ==""){
//		return true;	
//	}
//	re =/w{3}\.\w{3,}\.\w{2,}/;
//	array=param.match(re);
//	if(array){
//		return true;
//	}else{
//		alert("Your URL Invalid Form Must\n Use For www.yourdomain.com\or www.yourdomain.net\n or www.yourdomain.co.th or etc..");
//		object.select();
//		object.focus();
//		return false;	
//	}
	return true;
}

function isValidEnglishLetter(object){	
	param=object.value;
	re =/[^A-Za-z0-9_\s\t\n\,\.\'\;\%\$\#\*\&\@\!\"\\{\}\<\>\?\(\)\/\+\-\*\^\?\~\{\}\[\]\=\|\:]/;
	result=re.test(param);
	if(!result){		
		return true;
	}else{
		alert("This Field Use English Language Only Every Character Must Be English Number Or Underscroll");
//		alert("Use only letters (a-z), numbers (0-9), no spaces, at least 6 characters. and letters are case-insensitive.");
		object.select();
		object.focus();
		return false;
	}
}
function isValidOnlyEnglishLetter(object){	
	param=object.value;
//	re =/[^A-Za-z0-9_\s\t\n\,\.\'\;\%\$\#\*\&\@\!\"\\{\}\<\>\?\(\)\/\+\-\*\^\?\~\{\}\[\]\=\|\:]/;
	re =/[^A-Za-z0-9_]/;
	result=re.test(param);
	if(!result){		
		return true;
	}else{
		alert("This Field Use English Language Only Every Character Must Be English Number Or Underscroll");
//		alert("Use only letters (a-z), numbers (0-9), no spaces, at least 6 characters. and letters are case-insensitive.");
		object.select();
		object.focus();
		return false;
	}
}
function isValidPostalCode(object){	
	param=object.value;
	re =/[^0-9\-]/;
	result=re.test(param);
	if(!result){		
		return true;
	}else{
		alert("This Field Specific Postal Code Please Input Correct Value");
		object.select();
		object.focus();
		return false;
	}
}
function isValidFaxNumber(object){	
	param=object.value;
	re =/[^0-9\-\t\s]/;
	result=re.test(param);
	if(!result){		
		return true;
	}else{
		alert("This Field Specific Fax Number Please Input Correct Value");
		object.select();
		object.focus();
		return false;
	}
}
function isValidPhoneNumber(object){	
	param=object.value;
	re =/[^0-9\-]/;
	result=re.test(param);
	if(!result){		
		return true;
	}else{
		alert("This Field Specific Phone Number Please Input Correct Value");
		object.select();
		object.focus();
		return false;
	}
}
function isValidPagerNumber(object){	
	param=object.value;
	re =/[^0-9\-]/;
	result=re.test(param);
	if(!result){		
		return true;
	}else{
		alert("This Field Specific PAGER Number Please Input Correct Value");
		object.select();
		object.focus();
		return false;
	}
}
function isNullCheckbox(obj){
		var numelements=obj.length;
		var count_check=0;
		var brwser=chkBrowser();
		if(brwser=="IE"){
			for(i=0;i<numelements;i++){
				element=obj.elements[i];
				if(element.type=='checkbox'){					
					if(element.checked){
						count_check++;					
					}
				}		
			}	
			return count_check==0 ?true:false;	
		}else{
			return false;		
		}
}
function isNullMultiSelect(selectobj){
	if(selectobj.selectedIndex==-1){
		return true;	
	}
	return false;
}
function isNullRadios(frmobj){
		var numelements=frmobj.length;
		var count_check=0;
		var brwser=chkBrowser();
		if(brwser=="IE"){
			for(i=0;i < numelements;i++){
				element=frmobj.elements[i];
				if(element.type=='radio'){										
					if(element.checked){
						count_check++;					
					}
				}		
			}	
			return count_check==1?true:false;	
		}else{
			return true;		
		}
}
function isValidAmount(object){	
	param=object.value;
	re =/[^0-9\.\,]/;
	result=re.test(param);
	if(!result){		
		return true;
	}
	return false;
}
function isValidNumber(object){	
	param=object.value;
	re =/[^0-9\.]/;
	result=re.test(param);
	if(!result){		
		return true;
	}
	return false;
}
function isValidOnlyNumber(object){	
	param=object.value;
	re =/[^0-9]/;
	result=re.test(param);
	if(!result){		
		return true;
	}
	return false;
}
function isValidBaht(object){	
	param=object.value;
	re =/[^0-9\,]/;
	result=re.test(param);
	if(!result){		
		return true;
	}
	return false;
}
function isValidThaiLetter(txtobj){
		txt=txtobj.value;
		tlength=txt.length;
		if(txt ==""){
			return true;
		}		
		for(i=0;i<tlength;i++){
			var charcode=txt.charCodeAt(i);			
			if(!validThaiCharCode(charcode)){
				alert("This Field use Thai Only Plese Inut Only Thai Language");
				txtobj.select();
				txtobj.focus();
				return false;
			}
		}
		return false;
	}
	function chkBrowser(){
		var browser=navigator.appName;
		browser=browser.substring(0,1);
		if(browser=='N'){
			return 'NS';
		}else{
			return 'IE';		
		}
	}
	function validThaiCharCode(code){				
		var v_b=chkBrowser();	
		if(v_b=='IE'){
				//for IE Browser Thai Character Code
				if(code>=3585 && code<=3661){
					return true;
				}
				if(code>=65 && code<=90){
					return true;
				}
				if(code>=97 && code<=122){
					return true;
				}				
				//check for .,",' _-/\ & ~% tab * 		
				if(code==39 || code==34 || code==46 || code==40 || code== 41|| code==95 ){
					return true;
				}
				if( code==45 || code==47||code==92|| code==38 || code==44 || code==123){
					return true;
				}
				if(code==125 || code==91|| code==93 ||  code==60 || code==62 ||  code==126 || code==37){
					return true;
				}
				if(code==42 || code==32){
					return true;		
				}				
				if(code<=57 && code>=48){
					return true;			
				}
				return false;
		//for nestcape Browser Thai Character Code
		}else{	
		//for nestcape 
			if(code>=161 && code<=260){
				return true;	
			}
			if(code==65533){
				return true;
			}
			if(code>=65 && code<=90){
				return true;
			}
			if(code>=97 && code<=122){
				return true;
			}							
			//for numeric
			if(code>=48 && code<=57){
				return true;
			}			
			if(code==34 || code==39 || code==40 || code==41){
				return true;	
			}
			if(code==45 || code==95){
				return true;	
			}
			return false;
		} //end of END IF Check Browser					
	}

function isValidLogin(object){	
	param=object.value;
	re =/[^a-z0-9_-]/;
	result=re.test(param);
	if(!result){		
		return true;
	}else{
		msg="Please input only small English letters(a-z) with numbers [0-9] or Hyphen(-) or underscore(_)\n";
		msg=msg+"as your Login Name. ";
		alert(msg);
		object.select();
		object.focus();
		return false;
	}
}
function resetCheck()
{
	document.forms[0].f_userName.value="";
	document.forms[0].f_fuzzy.checked=false;
	document.forms[0].f_merchantNumber.value="";
	document.forms[0].f_role[0].checked=false;
	document.forms[0].f_role[1].checked=false;
	document.forms[0].f_role[2].checked=false;
	document.forms[0].f_role[3].checked=false;
	document.forms[0].f_role[4].checked=false;
	return false;
}
function modelCheck(object)
{
	if(object.value == 1) // AutoSettle
	{
		document.forms[0].f_apDepositFlag.checked=true;
		document.forms[0].f_SettleFlag.value=2;
		document.forms[0].f_PartialFlag.value=0;
		return;
	}
	if(object.value == 2)//Full Manual
	{
		document.forms[0].f_apDepositFlag.checked=false;
		document.forms[0].f_SettleFlag.value=2;
		document.forms[0].f_PartialFlag.value=0;
		document.forms[0].f_BatchCloseTime.value="";
		alert("Please not specify batch close time, if you select \"Full Manual Settle\"");
		return;
	}
	if(object.value == 3)// Full Auto
	{
		document.forms[0].f_apDepositFlag.checked=false;
		document.forms[0].f_SettleFlag.value=2;
		document.forms[0].f_PartialFlag.value=0;
		alert("Please specify batch close time, if you select \"Full Auto Settle\"");
		return;
	}
	if(object.value == 4)// Partial Manual
	{
		document.forms[0].f_apDepositFlag.checked=false;
		document.forms[0].f_SettleFlag.value=2;
		document.forms[0].f_PartialFlag.value=1;
		document.forms[0].f_BatchCloseTime.value="";
		alert("Please not specify batch close time, if you select \"Partial Manual Settle\"");
		return;
	}
	if(object.value == 5) //Partial Auto
	{
		document.forms[0].f_apDepositFlag.checked=false;
		document.forms[0].f_SettleFlag.value=2;
		document.forms[0].f_PartialFlag.value=1;
		alert("Please specify batch close time, if you select \"Partial Auto Settle\"");
		return;
	}
	if(object.value == 6) // Real Time
	{
		document.forms[0].f_apDepositFlag.checked=false;
		document.forms[0].f_SettleFlag.value=1;
		document.forms[0].f_PartialFlag.value=0;
		return;
	}
	
}
function modelCCDCheck(object)
{
	if(object.value == 1) // AutoSettle
	{
		document.forms[0].f_apDepositFlag.checked=true;
		document.forms[0].f_partial.value=0;
		return;
	}
	if(object.value == 2)//Full Manual
	{
		document.forms[0].f_apDepositFlag.checked=false;
		document.forms[0].f_partial.value=0;
		document.forms[0].f_BatchCloseTime.value="";
		alert("Please not specify batch close time, if you select \"Full Manual Settle\"");
		return;
	}
	if(object.value == 3)// Full Auto
	{
		document.forms[0].f_apDepositFlag.checked=false;
		document.forms[0].f_partial.value=0;
		alert("Please specify batch close time, if you select \"Full Auto Settle\"");
		return;
	}
	if(object.value == 4)// Partial Manual
	{
		document.forms[0].f_apDepositFlag.checked=false;
		document.forms[0].f_partial.value=1;
		document.forms[0].f_BatchCloseTime.value="";
		alert("Please not specify batch close time, if you select \"Partial Manual Settle\"");
		return;
	}
	if(object.value == 5) //Partial Auto
	{
		document.forms[0].f_apDepositFlag.checked=false;
		document.forms[0].f_partial.value=1;
		alert("Please specify batch close time, if you select \"Partial Auto Settle\"");
		return;
	}	
}
function handle() 
{
	alert("Times           Minutes         |       Times            Minutes  \n-------------------------        |       --------------------------\n 1.00                60             |       13.00               780\n 2.00              120             |       14.00               840\n 3.00              180             |       15.00               900\n 4.00              240             |       16.00               960\n 5.00              300             |       17.00             1020\n 6.00              360             |       18.00             1080\n 7.00              420             |       19.00             1140\n 8.00              480             |       20.00             1200\n 9.00              540             |       21.00             1260\n10.00             600             |       22.00             1320\n11.00             660             |       23.00             1380\n12.00             720             |       24.00                   0\n------------------------------------------------------------------\n");
}

function checkDigit(object)
{
  param = object.value;	
  var sum=0;
  var cd=0;
  var m=0;
  len = param.length;
  type = param.substring(3,4);
  var multiplier = new Array(4,3,2,7,6,5,4,3,2);
   
  if (type == 0 || type == 1 || type == 9 || type == 4)
  {
    for (var i=0; i < (len-1); i++)
    {
        m = parseInt(param.charAt(i)) * multiplier[i];
        sum += parseInt(m/10) + parseInt(m%10);
    }
    cd =  parseInt(sum%10);
    if (cd > 0)
      {
        cd = 10 - (sum%10);
      }
    else
      {
        cd = 0;
      }                                                           /* End if*/
    if (cd == parseInt(param.charAt(len-1)))
        return true;
    else
        return false;
  }
  else
  	return false;
 }

function autoCurrency(currencyValue) {
document.forms[0].f_merchantAccount.value = parseInt(currencyValue,10);
}
