function doRemoveStartEndWhiteSpace(string){
   string=""+string;
   re=/\S+(\s+\S+)*/;
   var match = string.match(re);
   var returnVal = "";
   if(match != null)
   {
      returnVal = match[0];
   }
   return returnVal;
}

function doRemoveWhiteSpace(string){
   string = ""+string;
   re=/\s*/g;
   return string.replace(re,"");
}

function isInt(string){
   var re = /^\d+$/
   return re.test(string);
}

function isSignedInt(string){
   var re = /^([+]?|[-]?)\d+$/;
   return re.test(string);
}

function isNegativeInt(string)
{
   var re = /^[-]\d+$/;
   return re.test(string);
}

// accepts float without decimal part or with one or two numbers after decimal seperator
// second parameter isSigned, if true we can have and negative floats
function isFloat(aString, isSigned, isEmptyOK) {
   if (isEmptyOK == false) {
      if (aString == "")
        return false;
   }
   PROP_thousandsSeperator = " ";
   PROP_decimalPoint = ".";
   if (isSigned == true) re = new RegExp("^(-?\\d*|-?\\d{1,3}(["+PROP_thousandsSeperator+"]\\d{3})*)(["+PROP_decimalPoint+"]?\\d{0,2})?$");
   else re = new RegExp("^(\\d*|\\d{1,3}(["+PROP_thousandsSeperator+"]\\d{3})*)(["+PROP_decimalPoint+"]?\\d{0,2})?$");
return re.test(aString);
}

function isDate(dateString, isEmptyOK) {
   if (isEmptyOK == true) {
      if (dateString == "") return true;
   }
  var days = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
  var ret = true;
  arrDatePart = dateString.split("/");
  day = arrDatePart[0];
  month = arrDatePart[1];
  year = arrDatePart[2];
  if (isNaN(day) || isNaN(month) || isNaN(year))
    ret = false;
  else {
          if (year.length == 2) year="20"+year;
    if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) {days[1] = 29;}
      else days[1] = 28;
    if (year > 1900 && year < 2070)
      if ((month < 13) && (month > 0)) {
        if ((day > days[month-1]) || (day < 1)) {
          ret = false;
        } else {}
      } else ret = false;
    else  ret = false;
  }
  return ret;
}

function isTime(timeString, isEmptyOK) {
   if (isEmptyOK == true) {
      if (timeString == "") return true;
   }
  var ret = true;
  arrTimePart = timeString.split(":");
  hour = arrTimePart[0];
  minutes = arrTimePart[1];
  if (isNaN(hour) || isNaN(minutes)) {
    ret = false;
  } else {
    if ( hour < 0 || hour > 23 ){
        ret = false;
    } else {
        if(minutes < 0 || minutes > 59){
            ret = false;
        }
    }
  }
  return ret;
}

function notFinished(){
    alert("Not finished yet!");
}