function isValidInt(s)
{
  return !(isNaN(parseInt(s)) || isNaN(Number(s)));
}

function isValidIntVal(s,val)
{
  if (isValidInt(s))
	return parseInt(s) > val;
}

function isValidIntValue(s, lVal, uVal)
{
  if (isValidInt(s))
	return !(parseInt(s) < lVal || parseInt(s) > uVal);
}


function isNonNegInt(s)
{
  return (isValidInt(s) && Number(s) >= 0)
}

function isPositiveInt(s)
{
  return (isValidInt(s) && Number(s) > 0)
}


function isPositiveIntValue(s, lVal, uVal)
{
  if (isNonNegInt(s))
	return !(parseInt(s) < lVal || parseInt(s) > uVal);
}

function isPositive1Gt2(val1, val2)
{
  if (isNonNegInt(val1) && isNonNegInt(val2))
	return !(parseInt(val1) >  parseInt(val2));
}

function isPositive2Gt1(val1, val2)
{
  if (isNonNegInt(val1) && isNonNegInt(val2))
	return (parseInt(val2) >  parseInt(val1));
}

function isPositiveIntValue1(s, lVal, uVal)
{
  var flag = true;

  if(isNonEmptyTrimmed(s))
  {
    if (isNonNegInt(s))
	flag = !(parseInt(s) < lVal || parseInt(s) > uVal);
    else
	flag = false;
  }


  return flag;
}

function isValidFloat(s)
{
  return !(isNaN(parseFloat(s)) || isNaN(Number(s)));
}

function isNonNegFloat(s)
{
  return (isValidFloat(s) && Number(s) >= 0);
}

function isPositiveFloat(s)
{
  return (isValidFloat(s) && Number(s) > 0);
}


function trim(s)
{
  return s.replace(/^\s*/, "").replace(/\s*$/, "");
}

function isNonEmpty(s)
{
  return (s.length > 0);
}

function isNonEmptyTrimmed(s)
{
  return isNonEmpty(trim(s));
}

function isEmailAddr(email)
{
   var result = false;
   var theStr = new String(email)
   var index = theStr.indexOf("@");
   if (index > 0)
   {
     var pindex = theStr.indexOf(".",index);
     if ((pindex > index+1) && (theStr.length > pindex+1))
        result = true;
   }

  return result;
}

function isSingleQuote(val)
{
   var index = val.indexOf("'");
   if (index > 0)
	return false;
   else
	return true;
}

 function isSelected(elem, val)
 {
  var result = false;
  if(elem.options[elem.selectedIndex].value == val)
    result = false;
  else
    result = true;

  return result;
 }

 function validate(elem, func, message, focus)
 {
  if (!func(elem.value)) {
    window.alert(message);
    if (focus)
      elem.focus();
    return false;
  }
  else
    return true;
 }

 function validateForTab(elem, func, message)
 {
  if (!func(elem.value)) {
    window.alert(message);
    return false;
  }
  else
    return true;
 }

function checkValidationSubjekSTPM(elemen,message){

 var namaMedan = elemen;
 var medanSemasa;
 var i;
 var j;
 var lokasi;

  if(namaMedan.length>1){
   for (i=0;i<namaMedan.length;i++) {
     medanSemasa = namaMedan[i].value
     lokasi = i;
     for(j=0;j<namaMedan.length;j++){
        if (j!=lokasi) {
           if (medanSemasa == namaMedan[j].value) {
              window.alert(message);
              return false;
           }
        }
     }
   }
  }
return true;
}

function validateForTabIPT1(elem,elem2,elem3,elem4,elem5,elem6,elem7, message, focus)
 {

  if (isNonEmptyTrimmed(elem.value)) {
    if (!isNonEmptyTrimmed(elem2.value) || !isNonEmptyTrimmed(elem3.value) || !isNonEmptyTrimmed(elem4.value) || !isNonEmptyTrimmed(elem5.value) || !isNonEmptyTrimmed(elem6.value) || !isNonEmptyTrimmed(elem7.value)){
      window.alert(message);
      return false;
    }
    else return true;
  }
  else {
    return true;
  }
 }


function validateForTabKelulusanSek(elem,elem2,elem3,elem4,elem5, message)
 {

  if (isNonEmptyTrimmed(elem.value)) {
    if (!isNonEmptyTrimmed(elem2.value) || !isNonEmptyTrimmed(elem3.value) || !isNonEmptyTrimmed(elem4.value) || !isNonEmptyTrimmed(elem5.value)){
      window.alert(message);
      return false;
    }
    else return true;
  }
  else {
    return true;
  }
}



function validateForTabIPT2(elem,elem2,elem3,elem4,elem5,elem6,elem7, message, focus)
 {

  if (isNonEmptyTrimmed(elem.value)) {
    if (!isNonEmptyTrimmed(elem2.value) || !isNonEmptyTrimmed(elem3.value) || !isNonEmptyTrimmed(elem4.value) || !isNonEmptyTrimmed(elem5.value) || !isNonEmptyTrimmed(elem6.value) || !isNonEmptyTrimmed(elem7.value)){
      window.alert(message);
      return false;
    }
    else return true;
  }
  else {
    return true;
  }
 }

 function validateForTabIPT3(elem,elem2,elem3,elem4,elem5,elem6,elem7, message, focus)
 {

  if (isNonEmptyTrimmed(elem.value)) {
    if (!isNonEmptyTrimmed(elem2.value) || !isNonEmptyTrimmed(elem3.value) || !isNonEmptyTrimmed(elem4.value) || !isNonEmptyTrimmed(elem5.value) || !isNonEmptyTrimmed(elem6.value) || !isNonEmptyTrimmed(elem7.value)){
      window.alert(message);
      return false;
    }
    else return true;
  }
  else {
    return true;
  }
 }

 function validate1(elem, elem1, func, message, focus)
 {
  if (!func(elem.value, elem1.value))  {
    window.alert(message);
    if (focus)
      elem1.focus();
    return false;
  }
  else
    return true;
 }

 function validate2(elem, p1, p2, func, message, focus)
 {
  if (!func(elem.value, p1, p2)) {
    window.alert(message);
    if (focus)
      elem.focus();
    return false;
  }
  else
    return true;
 }

 function validate3(elem1, elem2, func, message, focus)
 {
  if (!func(elem1.value, elem2.value)) {
  	window.alert(message);
    if (focus)
      elem1.focus();
    return false;
  }
  else
    return true;
 }

 function validate4(elem1, elem2, func, message, focus)
 {
  if (!func(elem1, elem2)) {
  	window.alert(message);
    if (focus)
      elem1.focus();
    return false;
  }
  else
    return true;
 }

 function validate5(elem, p1, func, message, focus)
 {
  if (!func(elem.value, p1)) {
    window.alert(message);
    if (focus)
      elem.focus();
    return false;
  }
  else
    return true;
 }

 function validate6(elem, func, message, focus)
 {
  if (!func(elem)) {
    window.alert(message);
    if (focus)
      elem.focus();
    return false;
  }
  else
    return true;
 }

 function validate7(elem, func, message, focus)
 {
  var theStr = new String(elem.value);

  if (theStr.length > 0) {
	  if (!func(elem.value)) {
	    window.alert(message);
	    if (focus)
	      elem.focus();
	    return false;
	  }
	  else
	    return true;
  }
  else
  	return true;
 }

 function isValidate(elem, val, func, message, focus)
 {
  if (!func(elem, val)) {
    window.alert(message);
    if (focus)
      elem.focus();
    return false;
  }
  else
    return true;
 }

function isDate2Gt1(s1, s2)
{
  var flag = false;

  var s11 = parseMDY(s1);
  var s22 = parseMDY(s2);

  var d1 = new Date(s11);
  var d2 = new Date(s22);

  flag = d1 < d2;

  return flag;
}

function isDate2GtEq1(s1, s2)
{

  var flag = false;

  var s11 = parseMDY(s1);
  var s22 = parseMDY(s2);

  var d1 = new Date(s11);
  var d2 = new Date(s22);

  flag = d1 <= d2;

  return flag;
}

function parseMDY(s1)
{
	var d1 = s1.substring(0,2);
	var m1 = s1.substring(3,5);
	var y1 = s1.substring(6,10);
	var mdy = m1 + "/" + d1 + "/" + y1;

	return mdy;

}

function isDate2NNGt1(s1, s2)
{
  var flag = false;
  flag = !isNonEmptyTrimmed(s2);

  if( !flag )
  {
	  var d1 = new Date(s1);
	  var d2 = new Date(s2);

	  flag = d1 < d2;
  }

  return flag;
}

/**
 * To control the decimal values to be entered in the columns
 */
function checkDecimal(){
	if (event.keyCode <= 45 || event.keyCode > 57 || event.keyCode == 47) event.returnValue = false;
}

/**
 * To control the numeric values to be entered in the columns
 */
function checkNumber(){
	if (event.keyCode <= 47 || event.keyCode > 57) event.returnValue = false;
}

//----rizal buat penambahan mula

function formatSalary(num) {
  if (trim(num)!=""){
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num)){
        	num = "0";
                alert("Maklumat Pendapatan Tidak Sah!!");
	}
	if(num.length >0 && num.length <12){
	 	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);
  }
  return num;
}

function upperCaseField(dtStr){
  if (dtStr!="") {
	dtStr = dtStr.toUpperCase();
	return dtStr;
  }
  return dtStr;
}

//----rizal buat penambahan tamat
