//common functions
function trim(x){return x.replace(/^\s+|\s+$/g,'');}
function _aEv(obj, type, fn) { try { if (obj.addEventListener) { obj.addEventListener(type, fn, false); } else if (obj.attachEvent) { obj["e"+type+fn] = fn; obj[type+fn] = function() { obj["e"+type+fn](window.event); }; obj.attachEvent("on"+type, obj[type+fn]); }} catch (e) {}}
function _gOb(n) { return document.getElementById(n); }
function _gBTC(obj, tag, clName) { var objs = obj.getElementsByTagName(tag); var robj = new Array(); var j = 0; for (var i = 0; i < objs.length; i++) { if (_hCl(objs[i], clName)) robj[j++] = objs[i]; }; return robj; }
function _hCl(obj, clName) { var clN = ' ' + obj.className + ' '; return (clN.match(' ' + clName + ' ') != null); }
function _aCl(obj, clName) { if (_hCl(obj, clName)) return; obj.className = trim(obj.className + ' ' + clName); }
function _rCl(obj, clName) { if (!_hCl(obj, clName)) return; var clN = ' ' + obj.className + ' '; eval("obj.className = trim(clN.replace(/ " + clName + " /g,' '));"); }

var ffNav = {
 root: null,
 defaultSearchText: 'Szukaj',
 init: function(){
  var me = this;
  me.root = _gOb('ffNav');
  if(!me.root) return;  
  
  var li = me.root.getElementsByTagName('li');
  for(var i = 0; i < li.length ; i++){
   if( _hCl(li[i].parentNode, 'c0') || _hCl(li[i].parentNode, 'c1') ){
    li[i].index = 1;
    _aEv(li[i], 'mouseover', me.hover);
    _aEv(li[i], 'mouseout', me.unhover);
   }
  }
  
  me.searchInit();
  
 },
 hover: function(e){
  var el; if (window.event && window.event.srcElement) { el = window.event.srcElement; }; if (e && e.target) { el = e.target; }; if (!el) { return; }; (e.preventDefault) ? e.preventDefault() : (e.returnValue = false);
  while (el.index != 1) el = el.parentNode;
  
  var subNav = null;
  subNav = _gBTC(el, 'ul', 'sub')[0];
  if(!subNav) subNav = _gBTC(el, 'div', 'sub')[0];
  
  _aCl(el, 'hovered');
  if(subNav) subNav.style.display = 'block';
  
 },
 unhover: function(e){
  var el; if (window.event && window.event.srcElement) { el = window.event.srcElement; }; if (e && e.target) { el = e.target; }; if (!el) { return; }; (e.preventDefault) ? e.preventDefault() : (e.returnValue = false);
  while (el.index != 1) el = el.parentNode;
  
  var subNav = null;
  subNav = _gBTC(el, 'ul', 'sub')[0];
  if(!subNav) subNav = _gBTC(el, 'div', 'sub')[0];
  
  _rCl(el, 'hovered');
  if(subNav) subNav.style.display = 'none';
  
 },
 searchInit: function(){
 
  var me = this;
  var form = _gOb('ffNavSearch'); 
  var textInput = _gOb('ffSearchInput');
  var whatInput = _gOb('ffNavSearchWhat');
  var whatSwitch = _gOb('ffNavSearchSwitch');

  textInput.index = 1;
  
  //default search text change
  _aEv(textInput, 'blur', me.showDefaultSearchText);
  _aEv(textInput, 'focus', me.hideDefaultSearchText);
  
  //set active what
  var whatWeSearch = trim(whatInput.value);
  var whatOptions = whatSwitch.getElementsByTagName('span');
  for(var i = 0; i < whatOptions.length ; i++){
   if(trim(whatOptions[i].className) == whatWeSearch) { 
    _aCl(whatOptions[i].parentNode, 'active');
    break;
   }
  }
  
  //enable switching what
  var whatOptionsCtrs = whatSwitch.getElementsByTagName('li');
  for(var i = 0; i < whatOptionsCtrs.length ; i++){
   whatOptionsCtrs[i].index = 1;
   _aEv(whatOptionsCtrs[i], 'mouseover', me.hover);
   _aEv(whatOptionsCtrs[i], 'mouseout', me.unhover);
   _aEv(whatOptionsCtrs[i], 'click', me.setSearchWhat);
  }
  
  whatSwitch.index = 2;
  
  _aEv(whatSwitch, 'mouseover', me.showSearchWhat);
  _aEv(whatSwitch, 'mouseout', me.hideSearchWhat);
  
 },
 showDefaultSearchText: function(e){
  var el; if (window.event && window.event.srcElement) { el = window.event.srcElement; }; if (e && e.target) { el = e.target; }; if (!el) { return; }; (e.preventDefault) ? e.preventDefault() : (e.returnValue = false);
  while (el.index != 1) el = el.parentNode;
  
  if(trim(el.value) == '') el.value = ffNav.defaultSearchText;
 },
 hideDefaultSearchText: function(e){
  var el; if (window.event && window.event.srcElement) { el = window.event.srcElement; }; if (e && e.target) { el = e.target; }; if (!el) { return; }; (e.preventDefault) ? e.preventDefault() : (e.returnValue = false);
  while (el.index != 1) el = el.parentNode;
  
  if(trim(el.value) == ffNav.defaultSearchText) el.value = '';
 },
 showSearchWhat: function(e){
  var el; if (window.event && window.event.srcElement) { el = window.event.srcElement; }; if (e && e.target) { el = e.target; }; if (!el) { return; }; (e.preventDefault) ? e.preventDefault() : (e.returnValue = false);
  while (el.index != 2) el = el.parentNode;
  
  el.getElementsByTagName('ul')[0].style.display = 'block';
 },
 hideSearchWhat: function(e){
  var el; if (window.event && window.event.srcElement) { el = window.event.srcElement; }; if (e && e.target) { el = e.target; }; if (!el) { return; }; (e.preventDefault) ? e.preventDefault() : (e.returnValue = false);
  while (el.index != 2) el = el.parentNode;
 
  el.getElementsByTagName('ul')[0].style.display = 'none';
 },
 setSearchWhat: function(e){
  var el; if (window.event && window.event.srcElement) { el = window.event.srcElement; }; if (e && e.target) { el = e.target; }; if (!el) { return; }; (e.preventDefault) ? e.preventDefault() : (e.returnValue = false);
  while (el.index != 1) el = el.parentNode;
   
  if(trim(el.className) == 'active') return;
  
  var whatSwitch = _gOb('ffNavSearchSwitch');
  var activeOption = _gBTC(whatSwitch, 'li', 'active')[0];
  var whatInput = _gOb('ffNavSearchWhat');
  var ffSearchForm = _gOb('ffNavSearchForm');
    
  _rCl(activeOption, 'active');
  _aCl(el, 'active');
  
  whatInput.value = trim(el.getElementsByTagName('span')[0].className);
  switch(whatInput.value){
   case 'keys':
    ffSearchForm.action = '/8,0.html';
    break;
   case 'users':
    ffSearchForm.action = '/8,3.html';
    break;
  }
  el.parentNode.style.display = 'none';
 }
}

try { ffNav.init(); } catch (e) { alert(e); }
