function validateIsRequired(inputValue, displayAlert){
  if(inputValue == null || inputValue.length == 0){
    if(displayAlert) alert(validateErrArray[6]);
    return 6;
  }
  return -1;
}
function validateIsInteger(inputValue,allowNull,displayAlert){
  var rv = validateIsRequired(inputValue,allowNull ? false : displayAlert);
  if(rv != -1) return allowNull ? -1 : rv;
	if(!isFinite(inputValue)){
		if(displayAlert) alert(validateErrArray[1]);
		return 1;
	}
	var Value=validateAuxDelZero(inputValue);
	if(String(Value).length == String(parseInt(Value)).length) return -1;
	if(displayAlert) alert(validateErrArray[1]);
	return 1;
}

function validateIsIntegerInRange(inputValue,left,right, allowNull, displayAlert){
  var rv = validateIsRequired(inputValue,allowNull ? false : displayAlert);
  if(rv != -1) return allowNull ? -1 : rv;
	if(validateIsInteger(inputValue,false,displayAlert)==-1){
		var intValue = parseInt(inputValue);
		if((intValue>=left)&&(intValue<=right))	return -1;
	} else return 1;
	if(displayAlert) alert(printf(validateErrArray[3],left,right));
	return 3;
}

function validateIsDecimal(inputValue, allowNull, displayAlert){
  var rv = validateIsRequired(inputValue,allowNull ? false : displayAlert);
  if(rv != -1) return allowNull ? -1 : rv;
  var delimCount = 0;
  var i = 0;
  for(i = 0; i < inputValue.length; i++){
    var ch = inputValue.substring(i,i+1);
    if(ch < '0' || ch > '9'){
      if(ch !=validateDecDelim){
		    if(displayAlert) alert(validateErrArray[2]);
		    return 2;
		  } else {
		    if(delimCount++ >0){
		      if(displayAlert) alert(validateErrArray[2]);
		      return 2;
		    }
		    inputValue = inputValue.substring(0,i)+'.'+inputValue.substring(i+1,inputValue.length)
		  }
		}
	}
	if(!isFinite(inputValue)){
		if(displayAlert) alert(validateErrArray[2]);
		return 2;
	}
	return -1;
}

function validateAuxReplaceDelim(inputValue){
  if(validateDecDelim == '.') return inputValue;
	var Value= String(inputValue);
	var i=Value.indexOf(validateDecDelim);
	if(i==-1) return inputValue;
	return Value.substring(0,i)+'.'+Value.substring(i+1,Value.length);
}

function validateAuxDelZero(inputValue){
	var str = String(inputValue);
	var b = false;
	while(!b){
		if(str.substring(0,1)=='0')
		str=str.substring(1,str.length)
		else b=true;
	}
	if (str.length==0) str="0";
	return str;
}

function validateIsDecimalInRange(inputValue,left,right,allowNull,displayAlert){
  var rv = validateIsRequired(inputValue,allowNull ? false : displayAlert);
  if(rv != -1) return allowNull ? -1 : rv;
	rv = validateIsDecimal(inputValue, false, displayAlert);
	if(rv != -1) return rv;
	var dValue = parseFloat(validateAuxReplaceDelim(inputValue));
	if((dValue>=left)&&(dValue<=right)) return -1;
	if(displayAlert) alert(printf(validateErrArray[4],left,right));
	return 4;
}

function validateIsTimeInHMFormat(inputValue,allowNull,displayAlert){
  var rv = validateIsRequired(inputValue,allowNull ? false : displayAlert);
  if(rv != -1) return allowNull ? -1 : rv;
	var str = String(inputValue);
	var i=str.indexOf(':');
	if(i!=-1){
		var HH =parseInt(str.substring(0,i));
		var MM =parseInt(str.substring(i+1,str.length));
		var r1=validateIsInteger(HH, false, displayAlert);
		var r2=validateIsInteger(MM, false,  displayAlert);
		if((r1==-1)&&(r2==-1)&&(HH<=24)&&(MM<=60)&&(HH>=0)&&(MM>=0)) return -1;
	}
	if(displayAlert) alert(validateErrArray[5]);
	return 5;
}



