var spaces = " \t\r\n"+String.fromCharCode(160);

function isSpaceCharacter(ch) {
  return spaces.indexOf(ch) >-1;
}

function trim(str) {
   var s = new String(str);

   while (s.length>0 && isSpaceCharacter("" + s.charAt(s.length-1))) {
     s = s.substring(0,s.length-1);
   }

   while (s.length>0 && isSpaceCharacter(""+s.charAt(0))){
     s = s.substring(1);
   }

   return s
 }



function isEmpty(elem){
  return trim(elem.value).length==0;
}

function selectedRadio(sel){
  if(!sel || !sel.length){
     return null;
  }
  for(var i = 0; i<sel.length; i++){
     if(sel[i].checked){
        return sel[i].value;
     }
  }
  return null;
}

function isNumber(obj){
        return (obj.value.search("[^0-9 ]") == -1);
}

function isFloat(obj){
//    alert(obj.value.search("^[0-9]*\.[0-9]{"+prec+"}$") != -1);

    if ((obj.value.search("^[0-9]*\.[0-9]*$") != -1) || (obj.value.search("^[0-9]*$") != -1)) {
        return true;
    }
    else {
        return false;
    }
}

function isEmail(str) {
    if (str.search("[\\w\\._-]+@[\\w\\._-]+\\.[\\w\\._-]") == 0) {return true}
    else {return false};
}

function interrogate(what) {
//alert(what);
    var output = '';
    for (var i in what)
        output += i + ' = ' + what.i + " ; ";
    alert(output);
//    param.innerHTML = output;
}

function selectedRadio(sel){
  if(!sel || !sel.length){
     return null;
  }
  for(var i = 0; i<sel.length; i++){
     if(sel[i].checked){
        return sel[i].value;
     }
  }
  return null;
}

function checkAll(b, first_part){
   var elems = b.form.elements;
   for(var i = 0; i < elems.length; i++){
      if(elems[i].type == "checkbox" && elems[i].name.indexOf(first_part) == 0) {
         if (!elems[i].disabled) {
             elems[i].checked = b.checked;
         }
      }
   }
}

// Created by Oleg Velychko,  © Distributed Team