function ifenter(e)
{
  var keynum;

  if(window.event) // IE
  {
    keynum = e.keyCode;
  }
  else if(e.which) // Netscape/Firefox/Opera
  {
    keynum = e.which;
  }

  return keynum == 13;
}

function ifdigit(e)
{
  var keynum;

  if(window.event) // IE
  {
    keynum = e.keyCode;
  }
  else if(e.which) // Netscape/Firefox/Opera
  {
    keynum = e.which;
  }

  keychar = String.fromCharCode(keynum);
  numcheck = /\d/;
  return numcheck.test(keychar) || keynum == 8;
}

function incorval(val)
{
  return isNaN(val) || val < 0 || val.indexOf('.') != -1 || val.indexOf(',') != -1;
}

function incorflval(val)
{
  return isNaN(val) || val < 0 || val.indexOf(',') != -1;
}

function incoranyflval(val)
{
  return isNaN(val) && val != '-' || val.indexOf(',') != -1;
}

function select_innerHTML(objeto,innerHTML){
  if (window.navigator.appName.indexOf('icros')==-1)
  objeto.innerHTML=innerHTML;
  else 
  {
    /******
* select_innerHTML - corrige o bug do InnerHTML em selects no IE
* Veja o problema em: http://support.microsoft.com/default.aspx?scid=kb;en-us;276228
* Versao: 2.1 - 04/09/2007
* Autor: Micox - Nairon Jose C. Guimaraes - micoxjcg@yahoo.com.br
* @objeto(tipo HTMLobject): o select a ser alterado
* @innerHTML(tipo string): o novo valor do innerHTML
*******/
    objeto.innerHTML = ""
    var selTemp = document.createElement("micoxselect")
    var opt;
    selTemp.id="micoxselect1"
    document.body.appendChild(selTemp)
    selTemp = document.getElementById("micoxselect1")
    selTemp.style.display="none"
    if(innerHTML.indexOf("<option")<0){//se nao e option eu converto //.toLowerCase()
      innerHTML = "<option>" + innerHTML + "</option>"
    }
    innerHTML = innerHTML.replace(/<option/g,"<span").replace(/<\/option/g,"</span") //.toLowerCase()
    selTemp.innerHTML = innerHTML
    
    
    for(var i=0;i<selTemp.childNodes.length;i++){
      var spantemp = selTemp.childNodes[i];
      
      if(spantemp.tagName){     
        opt = document.createElement("OPTION")
        
        if(document.all){ //IE
          objeto.add(opt)
        }else{
          objeto.appendChild(opt)
        }       
        
        //getting attributes
        for(var j=0; j<spantemp.attributes.length ; j++){
          var attrName = spantemp.attributes[j].nodeName;
          var attrVal = spantemp.attributes[j].nodeValue;
          if(attrVal){
            try{
              opt.setAttribute(attrName,attrVal);
              opt.setAttributeNode(spantemp.attributes[j].cloneNode(true));
            }catch(e){}
          }
        }
        //getting styles
        if(spantemp.style){
          for(var y in spantemp.style){
            try{opt.style[y] = spantemp.style[y];}catch(e){}
          }
        }
        //value and text
        opt.value = spantemp.getAttribute("value")
        opt.text = spantemp.innerHTML
        //IE
        opt.selected = spantemp.getAttribute('selected');
        opt.className = spantemp.className;
      } 
    }    
    document.body.removeChild(selTemp)
    selTemp = null
  }
}
