function isFloatValue(v){
    return v != "" && !isNaN(v);
}
function isPositiveFloatValue(v){
    return v != "" && !isNaN(v) && parseFloat(v) > 0;
}
function isPositiveOrZeroFloatValue(v){
    return v != "" && !isNaN(v) && parseFloat(v) >= 0;
}
function isIntValue(v){
    return v != "" && !isNaN(v) && parseFloat(v) == parseInt(v, 10);
}
function isPositiveOrZeroIntValue(v){
    return v != "" && !isNaN(v) && parseFloat(v) == parseInt(v, 10) && parseInt(v, 10)>=0;
}
function isPositiveIntValue(v){
    return v != "" && !isNaN(v) && parseFloat(v) == parseInt(v, 10) && parseInt(v, 10)>0;
}
function isIntValueMatched(v, min, max){
    return isIntValue(v) && parseInt(v, 10) >= parseInt(min, 10) && parseInt(v, 10) <= parseInt(max, 10);
}
function preparePrice(v){
    if(!isFloatValue(v)){
        return v;
    }
    return Math.round(parseFloat(v)*100)/100;
}
function toMoney(v){
    var vv = preparePrice(v).toString()
    var i = vv.indexOf(".")
    if(i < 0)
        return "$ " + vv.toString() + ".0"
    return "$ " + vv.toString()
}

function parseDate(value){
    return new Date(parseInt(value.substring(6, 10), 10), parseInt(value.substring(0, 2), 10)-1, parseInt(value.substring(3, 5), 10));
}

/* isdate - validate date format (dd/mm/yyyy) */
function isDate(value) {
 var month, day, year, retval
  retval=false
  var date_delimiter = "/"
  if (value!=""){
	   /* check formatting of string */
	   if (value.length != 10 || value.substring(2,3)!=date_delimiter || value.substring(5,6)!=date_delimiter) {
	   }
	   else {
		 /* Month must be between 1 and 12 */ 
		 month=value.substring(0,2)
		 if (isIntValue(month) && parseInt(month,10) > 0 && parseInt(month,10) <= 12) {
		       month=parseInt(month,10)
		       day=value.substring(3,5)
		       if (isIntValue(day)) {
			     /* 30 days hath september, april, june, and november... */
			     day=parseInt(day,10)
			     if (
				  ((month!=9 && month!=4 && month!=6 && month!=11 && month !=2) && (day>=1 && day<=31)) ||
			          ((month==9 || month==4 || month==6 || month==11 && month !=2) && (day>=1 && day<=30)) ||
			          (month==2 && day>=1 && day<=28)) {
			           year=value.substring(6,10)
				   year=parseInt(year,10)
			           /* limit year to range 1900 - 2100 */
			           if ((year >= 1900) && (year<=2100)) {
				         retval=true
			           }
		             }
			
		       }
	         }
  }
 }
 return retval
}
