// JScript File
function check_all(objForm, strObjName, objCheckAll) 
{
	var checkflag = objCheckAll.checked;
	//if (checkflag == "false") 
	if (checkflag) 
	{
		for (i = 0; i < objForm.length; i++) 
		{
			if(objForm[i].name == strObjName)
			{
				objForm[i].checked = true;
			}
		}
		checkflag = "true";
		return "Uncheck All";
	}
	else 
	{
		for (i = 0; i < objForm.length; i++) 
		{
			if(objForm[i].name == strObjName)
			{
				objForm[i].checked = false;
			}
		}
		checkflag = "false";
		return "Check All"; 
	 }
}
function validateEmailv2(email)
{
// a very simple email validation checking. 
// you can add more complex email checking if it helps 
    if(email.length <= 0)
	{
	  return true;
	}
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) return false;
    if(splitted[1] != null )
    {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) return false;
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) 
      {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) return false;
      }// if
      return true;
    }

	return false;
}

function trimAll(sString) 
{
	while (sString.substring(0,1) == ' ')
	{
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}

function IsNumericDot(strText)
{
	var blnStatus = true;
	var blnDotExist = false;
	strText = strText.replace(",","");
	for (i=0 ; i< strText.length;i++){
		intText = parseInt(strText.charAt(i))
		if (isNaN(intText)){
			if (strText.charAt(i) != "."){							
				blnStatus = false;						
				break;
			}
			else{
				if (blnDotExist){
					blnStatus = false;								
					break;
				}
				else{
					blnDotExist = true;
				}
			}
		}
	}
	return blnStatus;				
}

function validImgSize(imgName, intWidth, intHeight)
{
	img = new Image();
	filename = eval("imgName;");
	img.src=(filename);
	if(img.width > intWidth)
	{
		return false;
	}
	if(img.height > intHeight)
	{
		return false;
	}
	return true;
}

function getQueryVariable(variable) //Get QueryString by javascript
{
    var query = window.location.search.substring(1);
    var vars = query.split("&");
    for (var i=0;i<vars.length;i++)
    {
        var pair = vars[i].split("=");
        if (pair[0] == variable) 
        {
            return pair[1];
        }
    } 
}

function IsNumeric(sText)
{
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
}
function formatCurrency(num) {
    num = num.toString().replace(/\$|\,/g,'');
    if(isNaN(num))
    num = "0";
    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);
}

//--- Check data format is DD/MM/YYYY or DD-MM-YYYY.
function check_date_form(fld){
    var mo, day, yr;
    var entry = fld.value;
    var re = /\b\d{1,2}[\/-]\d{1,2}[\/-]\d{4}\b/;	 //alert(entry)
    if (re.test(entry)) {
        var delimChar = (entry.indexOf("/") != -1) ? "/" : "-";
        var delim1 = entry.indexOf(delimChar);
        var delim2 = entry.lastIndexOf(delimChar);
        day = parseInt(entry.substring(0, delim1), 10);
        mo = parseInt(entry.substring(delim1+1, delim2), 10);
        yr = parseInt(entry.substring(delim2+1), 10);
        var testDate = new Date(yr, mo-1, day); //alert(testDate)
        if (testDate.getDate() == day) {
            if (testDate.getMonth() + 1 == mo) {
                if (testDate.getFullYear() == yr) {
                    return true;
                } else {
                    alert("Incorrect date format, There is a problem with the year entry.");
                }
            } else {
                alert("Incorrect date format, There is a problem with the month entry.");
            }
        } else {
            alert("Incorrect date format, There is a problem with the date entry.");
        }
    } else {
        alert("Incorrect date format, Enter as dd/mm/yyyy.");
    }
    return false;
}

//--- Change format dd/mm/yyyy to yyyy-mm-dd.
function dmy2ymd(ele, lang){ 
	//alert('dmy->ymd');
	entry = ele.value;
	if(entry=='') return entry;
	var parms = entry.split('/');
	dd =parseInt(parms[0],10);
	mm =parseInt(parms[1],10);
	if(lang=='TH'){
		yy =parseInt(parms[2],10)-543;
	}else{
		yy =parseInt(parms[2],10);
	}
	
	//--- Check date format.
	switch(mm){
		case(1) :monthDate = 31; break;
		case(2) :monthDate = 29; 
				 if(((0 == (yy % 4)) && (0 != (yy % 100))) ||(0 == yy % 400))
					  monthDate = 29;
				 else monthDate = 28;
				 break;
		case(3) :monthDate = 31; break;
		case(4) :monthDate = 30; break;
		case(5) :monthDate = 31; break;
		case(6) :monthDate = 30; break;
		case(7) :monthDate = 31; break;
		case(8) :monthDate = 31; break;
		case(9) :monthDate = 30; break;
		case(10) :monthDate = 31; break;
		case(11) :monthDate = 30; break;
		case(12) :monthDate = 31; break;
	}
	if ( isNaN(dd) || isNaN(mm) || isNaN(yy) || (dd<0) || (mm<0) || (yy<0) || (dd>monthDate) || (mm>12)) {
		alert("Date not match dd/mm/yyyy or fill over day in month or fill month over 12 month");
		ele.focus();
		return entry;
	}

	var newentry = yy+'-'+(mm<10?'0'+mm:mm)+'-'+(dd<10?'0'+dd:dd);
	return newentry ;
}
