function getKeyCode(event)
{
  if (window.event)
    return window.event.keyCode;
  else if (event)
    return event.which;
  else
    return null;
}

function limiter_keydown(limit, textid, outid, event)
{
  var text = document.getElementById(textid).value;
  var key = getKeyCode(event);

  if ((text.length >= limit) && 
      (key != 8) && (key != 46) && 
      (key != 33) && (key != 34)  && (key != 35)  && (key != 36) &&
      (key != 37) && (key != 38)  && (key != 39)  && (key != 40))
    return false;

  return true;
}

function limiter_keyup(limit, textid, outid)
{
  var text = document.getElementById(textid).value;
  var len = text.length;

  if (len > limit)
  {
    text = text.substring(0, limit);
    document.getElementById(textid).value = text;
    len = limit;
  }

  document.getElementById(outid).innerHTML = limit-len + " karakter van hátra";
}

function toMailto(sender)
{
  if (sender.href.startsWith('mailto:')) return;
  var s = new String(sender.href);
  var p = s.indexOf('KukaC');
  p = s.lastIndexOf('/', p) + 1;
  s = s.substr(p);
  s = s.replace('KukaC', '@');
  s = s.replace(/PonT/g, '.');
  sender.href = 'mailto:' + s;
}

var homelink_path = null;

function getHomeLink()
{
  if(!homelink_path) homelink_path = $('homelink').href
  return homelink_path;
}

var dropdown_visible = false;
var dd_showTimer = null;
var dd_hideTimer = new Array();
var submenu_hover = false;

function show_menuitem(menu_item, show)
{
  menu_item = $(menu_item);
  for (i = 0; i < menu_item.childNodes.length && menu_item.childNodes[i].className != 'menu_dropdown'; i++) {}
  if (i < menu_item.childNodes.length)
  {
    menu_item.childNodes[i].style.display = show ? 'block' : 'none';
  }
  dropdown_visible = show;
}

function menuitem_mouseover(sender)
{
  if (submenu_hover) return;

  window.clearTimeout(dd_hideTimer[sender.id]);
  if (sender.id == 'firstmenuitem')
  {
    sender.style.backgroundImage = 'url(' + getHomeLink() + 'assets/images/menu_bg_noarrow_hi.png)';
    dd_showTimer = window.setTimeout('dropdown_visible = true', dropdown_visible ? 10 : 400);
  }
  else
  {
    prev = sender.previousSibling.nodeName == 'LI' ? sender.previousSibling : sender.previousSibling.previousSibling;
    if (prev && prev.className != 'selected')
    {
      prev.style.backgroundImage = prev.id == 'firstmenuitem' ? 'none' : 'url(' + getHomeLink() + 'assets/images/menu_arrow.png)';
    }
    sender.style.backgroundImage = 'url(' + getHomeLink() + 'assets/images/menu_bg_hi.gif)';
    dd_showTimer = window.setTimeout('show_menuitem(\'' + sender.id + '\', true)', dropdown_visible ? 10 : 400);
  }
  for(i = 0; i < sender.childNodes.length && sender.childNodes[i].nodeName != 'A'; i++) {}
  if (i < sender.childNodes.length)
  {
    sender.childNodes[i].style.backgroundImage = 'url(' + getHomeLink() + 'assets/images/menu_bg_left_hi.png)';
    sender.childNodes[i].style.color = 'white';
  }
}

function menuitem_mouseout(sender)
{
  if (submenu_hover) return;
  
  window.clearTimeout(dd_showTimer);
  dd_hideTimer[sender.id] = window.setTimeout('show_menuitem(\'' + sender.id + '\', false)', 5);
  next = null;
  if (sender.nextSibling != null)
  {
    next = sender.nextSibling.nodeName == 'LI' ? sender.nextSibling : sender.nextSibling.nextSibling;
  }
  if (sender.id == 'firstmenuitem')
  {
    sender.style.backgroundImage = sender.className == 'selected' ? 'url(' + getHomeLink() + 'assets/images/menu_bg_noarrow.png)' : next.className == 'selected' ? 'none' : 'url(' + getHomeLink() + 'assets/images/menu_pipe.png)';
  }
  else
  {
    prev = sender.previousSibling.nodeName == 'LI' ? sender.previousSibling : sender.previousSibling.previousSibling;
    if (prev.className != 'selected')
    {
      prev.style.backgroundImage = prev.id == 'firstmenuitem' ? 'url(' + getHomeLink() + 'assets/images/menu_pipe.png)' : 'url(' + getHomeLink() + 'assets/images/menu_arrow_pipe.png)';
    }
    if (sender.className == 'selected' || sender.className == 'selected lastmenuitem_selected')
    {
      sender.style.backgroundImage =  'url(' + getHomeLink() + 'assets/images/menu_bg.png)';
      prev.style.backgroundImage = prev.id == 'firstmenuitem' ? 'none' : 'url(' + getHomeLink() + 'assets/images/menu_arrow.png)';
    }
    else
    {
      if (sender.className == 'lastmenuitem')
      {
        sender.style.backgroundImage = 'url(' + getHomeLink() + 'assets/images/menu_arrow.png)';
      }
      else
      {
        sender.style.backgroundImage = (next.className == 'selected' || next.className == 'selected lastmenuitem_selected') ? 'url(' + getHomeLink() + 'assets/images/menu_arrow.png)' : 'url(' + getHomeLink() + 'assets/images/menu_arrow_pipe.png)';
      }
    }
  }
  for(i = 0; i < sender.childNodes.length && sender.childNodes[i].nodeName != 'A'; i++) {}
  if (i < sender.childNodes.length)
  {
    sender.childNodes[i].style.backgroundImage = (sender.className == 'selected'  || sender.className == 'selected lastmenuitem_selected') ? 'url(' + getHomeLink() + 'assets/images/menu_bg_left.png)' : 'none';
    sender.childNodes[i].style.color = (sender.className == 'selected'  || sender.className == 'selected lastmenuitem_selected') ? 'white' : ((sender.id == 'menu_admin') ? 'red' : 'black');
  }
}

function title2link(str, target)
{
  target.setAttribute("link_generated", "true");

  str = str.strip().toLowerCase();
             //éáűőúöüóíä
  var from = [/\u00e9/gi,/\u00e1/gi,/\u0171/gi,/\u0151/gi,/\u00fa/gi,/\u00f6/gi,/\u00fc/gi,/\u00f3/gi,/\u00ed/gi,/\u00e4/gi];
  var to   = "eauououoia".toArray();

  for (var i = 0; i < from.length; i++)
  {
    str = str.replace(from[i], to[i]);
  }

  return str.replace(/[\.\?!,:;\'\"]/gi, "")
            .replace(/([^a-z0-9\-\.\?!,:;\'\"]|[\s])/gi, "_")
            .replace(/_{2,}/g, '_');
}

// Inputokba begépelt karaktereket ellenőrzi
// Paraméterek:
// numbersOnly: ha true, akkor csak számokat lehet beírni a mezőbe
// Használat: az ellenőrzendő input onkeydown paraméterében kell megadni:
//            return input_keydown(event, paraméterek);
function input_keydown(event, numbersOnly)
{
  var charCode = (event.which) ? event.which : event.keyCode;
  if (numbersOnly && charCode > 57 && (charCode < 96 || charCode > 105)) return false;
  return true;
}

function searchlistview_ajax_submit(source, listname)
{
  var requri = "";
  if (source.nodeName == "FORM")
  {
    requri = source.action;
    var qi = requri.indexOf("?");
    if (qi > -1) requri = requri.substring(0, qi);
    requri += "?" + source.serialize();
  }
  else if (source.nodeName == "A") requri = source.href;
  else throw "Invalid caller.";

  requri = requri.replace(/#/, "");

  if ($('debug')) $('debug').innerHTML += '<br/>Ajax URL: ' + requri;

  var ajax_zone_name = listname + "_ajax_zone";
  var loader = document.createElement("div");
  var ajax_zone = $(ajax_zone_name);
  loader.style.cssText = "position:absolute;left:0;top:0;width:100%;height:100%;background:url(/assets/images/ajax_loader2.gif) center center no-repeat;z-index:1001";
  ajax_zone.style.position = "relative";
  new Insertion.Bottom(ajax_zone, loader);
  var postBodyAddon = '';
  if (typeof searchlistview_before_ajax_callback == "function")
  {
    postBodyAddon = '&' + searchlistview_before_ajax_callback(listname);
  }

  new Ajax.Updater(ajax_zone_name,
                   requri,
                   {
                     evalScripts:true,
                     method:"POST",
                     postBody:"ajax_list=" + listname + postBodyAddon,
                     onComplete:function() {
                       if (typeof searchlistview_after_ajax_callback == "function") {
                         searchlistview_after_ajax_callback(listname);
                       }
                     }
                   });
  return false;
}

function set_print_css()
{
  try
  {
    $(document.body).toggleClassName('print');
    if (!document.getElementById("printbar"))
    {
      var printbar = document.createElement("div");
      printbar.id = "printbar";
      var printlink = "/nyomtat";
      var link = document.location.href.replace(/\/nyomtat\/?$/, "");
      printbar.innerHTML = '<input type="button" class="print" onclick="window.print()" value="Nyomtatás" /> <a href="' + link + '" onclick="return set_print_css()" class="back">Vissza</a>';
      Insertion.Top(document.body, printbar);
    }
  } catch (ex)
  {
    return true;
  }
  return false;
}

function show_send_to(url)
{
  return true;
}

