function isdefined(variable) {
  return (typeof variable != 'undefined');
}

function makeArray() {
  for (i = 0; i<makeArray.arguments.length; i++)
    this[i + 1] = makeArray.arguments[i];
}

function element_getbyname(fieldname)
{
  tmptag = document.getElementsByName(fieldname);
  if ((tmptag) && (tmptag.length > 0)) 
    return tmptag[0];
  return 0;
}

function element_getbyid(fieldid)
{
  tmptag = document.getElementById(fieldid);
  if (tmptag)
    return tmptag;
    
  return 0;
}

function isfieldvalue(fieldname)
{
  return (getfieldvalue(fieldname) != '');
}

function field_getvalue(fieldname)
{
  tmptag = element_getbyname(fieldname);
  if (tmptag) {
      tmpval = tmptag.value;
  }  
  return tmpval;
}

function field_setvalue(fieldname, value)
{
  tmptag = element_getbyname(fieldname);
  if (tmptag) {
      tmptag.value = value;
  }  
}

function isfieldnumber(fieldname)
{
  return (!isNaN(getfieldnumber(fieldname)));
}

function field_getnumber(fieldname)
{
  tmpval  = 0;
  tmptag = element_getbyname(fieldname);
  if (tmptag) {
      tmpval = Number(tmptag.value);
  }
  
  return tmpval;
}

function field_setnumber(fieldname, number) 
{
  tmptag = element_getbyname(fieldname);
  if (tmptag) {
    tmptag.value = number
  }  
}

function set_visibility(id, visibility) {
   var e = document.getElementById(id);
   if (isdefined(e)) {
     if(visibility == true)
        e.style.display = 'block';
     else
        e.style.display = 'none';
   }
}

function toggle_visibility(id) {
   var e = document.getElementById(id);
 
   if (isdefined(e)) {     
     if(e.style.display == 'none')
        e.style.display = 'block';
     else
        e.style.display = 'none';
   }
}

function toggle_caption(id, caption1, caption2) {
   var e = document.getElementById(id);
 
   if (isdefined(e)) {     
     if(e.innerText == caption1)
        e.innerText = caption1;
     else
        e.innerText = caption2;
   }
}

function toggle_image(id, filename1, filename2) {
   var e = document.getElementById(id);
   if (isdefined(e)) {     
     if(e.src.substring(e.src.lastIndexOf('/')+1) == filename1.substring(filename1.lastIndexOf('/')+1))
        e.src = filename2;
     else
        e.src = filename1;
   }
}

function elementselect_clear(optionlist) {
   // Always clear an option list from the last entry to the first
   for (x = optionlist.length; x >= 0; x--) {
      optionlist[x] = null;
   }
}

function elementselect_addoption(selectbox, optionvalue, optiontext) {
   // Add option to the bottom of the list
  try {
    selectbox.add(new Option(optiontext,optionvalue),null);
  } catch(ex){
    selectbox.add(new Option(optiontext,optionvalue));
  }   
 //  optionlist[optionlist.length] = new Option(optiontext, optionvalue);
}


function html_entity_decode(str) {

  /* Firefox (and IE if the string contains no elements surrounded by angle brackets ) */
  try{
    var ta = document.createElement("textarea");
    ta.innerHTML = str;
    return ta.value;
  } catch(e) {
  };
  
  /* Internet Explorer */
  try{
    var d = document.createElement("div");
    d.innerHTML = str.replace(/</g,"&lt;").replace(/>/g,"&gt;");
    if (typeof d.innerText != "undefined") return d.innerText; /*Sadly this strips tags as well*/
  } catch(e) { 
  }
  
}

function hashpasswordfield(idfieldoriginal, idfieldsubmit)
{
    document.getElementById(idfieldsubmit).value = hex_md5(document.getElementById('password-original').value);
    document.getElementById(idfieldoriginal).value = '';
}

function validateNumber(field) 
{ 
  if (!field) return false;

  if (field.value == '') {
    return true;
  } else
  if ( (parseFloat(field.value) != field.value) )  {
    if (Ext) {
        Ext.Msg.show({
            title: 'Chyba vstupných údajov',
            msg: 'Zadaný údaj nie je číslo.',
            icon: Ext.MessageBox.ERROR
        });
    } else {
      alert('Zadaný údaj nie je číslo.');
    }    
    field.focus(); 
    field.select();

    return false; 
  }

  return true;   
   
} 

var keypressed=false;
var keyinactive=true;

function checkCR(evt) {
    keypressed = true;
    var evt  = (evt) ? evt : ((event) ? event : null);
    var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
    if ((evt.keyCode == 13) && (node.type=="text")) {return false;}
}

document.onkeypress = checkCR;


