
// Egyszeres kiválasztó.
function getSelected(fn) {
    // Get selected radio input value.
    var i;
    if (fn.length) {
      for (i=0; i < fn.length; i++) {
        if (fn[i].checked || fn[i].selected) {
          return fn[i].value;
        }
      }
    }
    else {
      if (fn.value) {
        return fn.value;
      }
    }
    return '';
}


// Checks Enter key hit.
function searchEnter(evt, action) {
    var keyCode = null;
      
    if ( evt.which ) {
      keyCode = evt.which;
    } 
    else if( evt.keyCode ) {
      keyCode = evt.keyCode;
    }
    
    if( 13 == keyCode ) {
      eval(action);
      return false;
    }

    return true;
}

// Gyorskereső. 3 karakter után keres a "search" alapján, Enter esetén "action"-t csinálja.
function fastSearch(evt, input, search, action) {
    var keyCode = null;
      
    if ( evt.which ) {
      keyCode = evt.which;
    } 
    else if( evt.keyCode ) {
      keyCode = evt.keyCode;
    }
    
    if( 13 == keyCode ) {
      eval(action);
      return false;
    }
    else if (input.value.length > 3) {
      eval(search);
      return true;
    }

    return true;
}


// Ha onBlur eseménynél le van nyomva a CTRL, akkor nem veszi figyelembe a focust.
function handleNavi(e, default_focus)
{
  e = e||window.event;
  
  if (e.keyCode == 9 && ! e.shiftKey)
  {
    var field = document.getElementById(default_focus)
    if (field)
    {
      document.getElementById('focusItem').value = default_focus;
      //field.focus();
      //return false;
    }
  }
  else
  {
    document.getElementById('focusItem').value = '';
  }
  
  return true;
}

function setFocus(field)
{
  var div;
  if (field)
  {
    document.getElementById('focusItem').value = field;
    div = document.getElementById(field);
    if (div)
      div.focus();
  }
  else
  {
    var f = document.getElementById('focusItem').value;
    div = document.getElementById(f);
    if (div)
    {
      div.focus();
      return false;
    }
  }
  
  return true;
}

function unsetFocus()
{
  document.getElementById('focusItem').value = '';
  return true;
}

function setSelected(id, value) {
  var select = document.getElementById(id);
  if (! select)
  {
    return;
  }

    for (var i = 0; i < select.options.length; i++) {
        if (select.options[i].value == value) {
            select.selectedIndex = i
            break
        }    
    }
    return
}

// Felbukkano ablak. (popup)
function popup(url, windowName)
{
  if (!url)
    url = '';
  if (!windowName)
    windowName = 'formTarget' + (new Date().getTime());
  window.open (url, windowName);
  
  return windowName;
}

function printpopup(form, windowname)
{
  var wn = popup(windowname);
  var oldtarget = form.target;
  
  // Set target.
  document.getElementById('print').value = 1;
  form.target = wn;
  
  form.submit();
  
  // Re-set target.
  document.getElementById('print').value = '';
  form.target = oldtarget;
}

function getObj(id)
{
  return document.getElementById(id);
}

function getVal(id)
{
  var div = getObj(id);
  if (div.value)
    return div.value;
}

function toggleDiv(id, statevar)
{
  if (statevar.state == '1') // Látható -> el kell rejteni
  {
    getObj(id).style.display='none'; 
    getObj(id).style.visibility='hidden';
    statevar.state = 0;
  }
  else  // Nem látható -> meg kell jeleníteni
  {
    getObj(id).style.display='block'; 
    getObj(id).style.visibility='visible';
    statevar.state = 1;
  }
}

function changeInputType(oldObject, oType) {
  var newObject = document.createElement('input');
  newObject.type = oType;
  if(oldObject.size) newObject.size = oldObject.size;
  if(oldObject.value) newObject.value = oldObject.value;
  if(oldObject.name) newObject.name = oldObject.name;
  if(oldObject.id) newObject.id = oldObject.id;
  if(oldObject.className) newObject.className = oldObject.className;
  oldObject.parentNode.replaceChild(newObject,oldObject);
  newObject.focus();
  return newObject;
}
