$(function()
{
  if ($.browser.msie && $.browser.version == 6)
  {
    fixAllPNG();
    fixbgpng.fnLoadPngs();
  }
  
  /**
   * Kezdő oldali scrollbar
   */
  setScrollbar();
  
  /**
   * Topmenu hover, submenu open
   */
  var topmenuTimer = null;
  var openTopmenu = null;
  $('.topMenu > ul > li').hover(function()
  {
    if (topmenuTimer)
    {
      clearTimeout(topmenuTimer);
      topmenuTimer = null;
    }

    if (openTopmenu && openTopmenu != this)
    {
      $('ul', openTopmenu).hide();
      $('.bgDiv', openTopmenu).hide();
      openTopmenu = null;
    }
    openTopmenu = this;
    
    var width = 0;
    var $ul = $('> ul', this);
    if ($ul.width() < 150) $ul.css('width', '150px');
    $ul.show();
    
    if ($.browser.msie && $.browser.version < 7)
    {
      $ul.css('width', '120px');
      $('li', $ul).css('width', '120px');
    }

    var ulMargin = parseInt($ul.css('margin-left'));
    if ($.browser.msie && $.browser.version < 7)
    {
      ulMargin += parseInt($('> a:eq(0)', this).css('padding-left'));
      ulMargin += parseInt($('> a:eq(0)', this).css('padding-right'));
    }

    width = $ul.width();
    width += ulMargin;
    

    var margin = $('> a', $ul).outerWidth() - $('> a', $ul).width()
    $('> a', $ul).css('width', $ul.width() - margin);

    if ($.browser.msie && $.browser.version < 7)
      width -= margin;
      
    $('> .bgDiv', this)
      .css({'width': (width+5) + 'px', 'height': $ul.height() + 'px'})
      .show();
      
  }, function()
  {
    var li = this;
    
    if (topmenuTimer)
    {
      clearTimeout(topmenuTimer);
      topmenuTimer = null;
    }
    
    topmenuTimer = setTimeout(function()
    {
      $('ul', li).hide();
      $('.bgDiv', li).hide();
      if (topmenuTimer)
        topmenuTimer = null;
      openTopmenu = null;
    }, 1000);
  });
  
  
  /**
   * Submenu hover, second submenu open
   */
  var openSubmenu = null;
  $('.topMenu > ul > li > ul > li').hover(function()
  {
    if (topmenuTimer)
    {
      clearTimeout(topmenuTimer);
      topmenuTimer = null;
    }

    if (openSubmenu && openSubmenu != this)
    {
      $('ul', openSubmenu).hide();
      $('.bgDiv', openSubmenu).hide();
      openSubmenu = null;
    }
    openSubmenu = this;

    var width = 0;
    var $ul = $('> ul', this);
    if ($ul.width() < 150) $ul.css('width', '150px');
    $ul.show();

    
    
    var ulMargin = 6;
    if ($.browser.msie && $.browser.version < 7)
    {
      ulMargin += parseInt($('> a:eq(0)', this).css('padding-left'));
      ulMargin += parseInt($('> a:eq(0)', this).css('padding-right'));
    }

    width = $ul.width();
    width += ulMargin;


    var margin = $('> a', $ul).outerWidth() - $('> a', $ul).width()
    $('> a', $ul).css('width', $ul.width() - margin);

    if ($.browser.msie && $.browser.version < 7)
      width -= margin;

    $('> .bgDiv', this)
      .css({'width': (width+5) + 'px', 'height': $ul.height() + 'px'})
      .show();
    
  });


  /**
   * Kék <label> elemek
   */
  $('.designCheckbox').click(function()
  {
    var meta = $(this).metadata();
    var chk = $(meta.elem, this);
    var checked = chk.hasClass(meta['class'][1]);

    if (meta.type == 'checkbox')
    {
      chk
        .removeClass(checked ? meta['class'][1] : meta['class'][0])
        .addClass(checked ? meta['class'][0] : meta['class'][1]);

      if (meta.name)
        $('input[name=' + meta.name + ']').val(checked ? '' : meta.value);
    }
    
    else if (meta.type == 'radio')
    {
      $('.designCheckbox').each(function()
      {
        var meta2 = $(this).metadata();

        if (meta2.name != meta.name) return;
        
        var chk2 = $(meta2.elem, this);
        if (meta2.value == meta.value)
        {
          chk2
            .removeClass(meta['class'][0])
            .addClass(meta['class'][1]);
            
          if (meta.name)
            $('input[name=' + meta.name + ']').val(meta.value);
        }
        else
        {
          chk2
            .removeClass(meta['class'][1])
            .addClass(meta['class'][0]);
        }
      });
    }
  });
  
  /**
   * Kezdőoldali flash video
   */
  if ($(".advertFlash #video").length > 0)
  {
    var so = new SWFObject("swf/player.swf?imagePath=images/flash.jpg&videoPath=ormester.flv&autoStart=false&autoHide=false&autoHideTime=5&hideLogo=true&volAudio=60&newWidth=280&newHeight=194&disableMiddleButton=false&playSounds=false&soundBarColor=0x0066FF&barColor=0x0066FF&barShadowColor=0x91BBFB&subbarColor=0xffffff", "video", "280", "194", "8", "#ffffff");
    so.addParam("allowFullScreen", "true");
    so.write("video");
  }
  
  defaultInputTexts =
  [
    {
      'input'    : $("#searchForm input[name=search]"),
      'errorMsg' : $("#emptyErrorText").html(),
      'button'   : $("#searchBtn")
    },
    {
      'input'    : $('#newsLetterSubscribe input[name=name]')
      //,'button'   : $('#newsLetterSubscribe .okButton')
    },
    {
      'input'    : $('#newsLetterSubscribe input[name=email]')
      //,'button'   : $('#newsLetterSubscribe .okButton')
    },
    {
      'input'    : $('#newsLetterSubscribe input[name=address]')
      //,'button'   : $('#newsLetterSubscribe .okButton')
    }
  ];
  
  for (var i=0; i<defaultInputTexts.length; i++)
  {
    var o = defaultInputTexts[i];
    
    if (!o.input || !o.input.length) continue;
    if (o.input.hasClass('noFocus')) continue;
    o.text = o.input.val();
    o.input[0].defIdx = i;

    o.input.focus(function()
    {
      if ($(this).val() == defaultInputTexts[this.defIdx].text)
        $(this).val('');
    });

    o.input.blur(function()
    {
      if ($(this).val() == '')
        $(this).val(defaultInputTexts[this.defIdx].text);
    });
  
    if (o.button)
    {
      o.button.click(function()
      {
        for (var i=0; i<defaultInputTexts.length; i++)
        {
          var o = defaultInputTexts[i];
          if (o.button[0] != this) continue;
          
          var inp = o.input;
          if (inp.val() == defaultInputTexts[i].text)
          {
            if (typeof defaultInputTexts[i].errorMsg == 'undefined')
              $(inp).val('');
            else
            {
              alert(defaultInputTexts[i].errorMsg);
              return false;
            }
          }
        }
      });
    }
  }
  
  
  /**
   * Nyelv választás
   */
  var obj = $('.selectedLang')[0];
  $('.selectedLang, .langSelect').hover(function()
  {
    $('.langSelect').show();
    obj.open = true;
    if (obj.timer)
    {
      clearInterval(obj.timer);
      obj.timer = null;
    }
  }, function()
  {
    if (!obj.open) return;
    obj.timer = setTimeout(function()
    {
      if (!obj.open) return;
      $('.langSelect').hide();
      obj.open = false;
    }, 1000);
  });
  $('body').click(function()
  {
    if ($('.selectedLang')[0].open)
    {
      $('.langSelect').hide();
      $('.selectedLang')[0].open = false;
    }
  });
});

function openPopup(anchor, w, h)
{
  if (!anchor.href) return;
  window.open(anchor.href, "","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,top=-1,left=-1,width=" + (w?w:640) + ",height=" + (h?h:480));
  return false;
}

function submitForm(id)
{
  var o = document.getElementById(id) || eval('document.' + id);
  o.submit();

  return false;
}

function printSite()
{
  window.open("nyomtatas.php?pg=" + document.URL.replace("http://" + document.domain + "/", "").replace(/\/$/, ""), "print", "status=0,toolbar=0,width=687,height=480,scrollbars=yes,resize=no");
}

function setScrollbar()
{
  if ($('#scroller-bar-drag').length == 0) return false;

  $('#scroller-content').disableTextSelect();

  var sizes = {
    scrollerHeight: $('#scroller-bar-drag').height(),
    scrollBarHeight: $('#scroller-bar-bg').height(),
    contentHeight: $('#scroller-content').height()
  }

  if (sizes.contentHeight < sizes.scrollBarHeight)
  {
    $("#scroller-bar").hide();
    return;
  }

  var scale = (sizes.contentHeight - sizes.scrollBarHeight) / (sizes.scrollBarHeight - sizes.scrollerHeight);
  var scrollerscale =  (sizes.scrollBarHeight - sizes.scrollerHeight) / (sizes.contentHeight - sizes.scrollBarHeight);

  $('#scroller-bar-drag').draggable({
    containment: 'parent'
  });


  $('#scroller-bar-drag').bind('drag', function(event, ui)
  {
     var scrollbarTop = parseInt($('#scroller-bar-drag').css('top').replace(/^(\d+)px$/, '$1'));

     if (isNaN(scrollbarTop)) scrollbarTop = 0;
     $('#scroller-content').css('top', -(scrollbarTop * scale) + 'px');
  });

  $('#scroller-content-container').mousewheel(function(event, delta)
  {
    var contentTop = parseInt($('#scroller-content').css('top').replace(/^(\d+)px$/, '$1'));
    if (isNaN(contentTop)) contentTop = 0;
    var sctop = contentTop + delta * 5;

    sctop = Math.min(0, sctop);
    sctop = Math.max(sizes.scrollBarHeight - sizes.contentHeight, sctop);
    $('#scroller-content').css('top', sctop + 'px');

    var scrollerTop = -(sctop * scrollerscale);
    scrollerTop = Math.max(0, scrollerTop);
    scrollerTop = Math.min(sizes.scrollBarHeight-sizes.scrollerHeight, scrollerTop);

    $('#scroller-bar-drag').css('top', -(sctop * scrollerscale) + 'px');

    return false;
  }, null, true);
}
