// encoding: utf-8
/*@cc_on/*@if(@_jscript_version<5.7)try{document.execCommand('BackgroundImageCache',0,1)}catch(e){}/*@end@*/

// ***** jqreq *****
Req(
  'fontsizer',
  'autovalidate',
  'labelizor',
  'equalizeheights',
  'x/ifixpng',
  'imgpop',
  
  function(){
    var $ = jQuery;
    
    $('body').addClass('heightfixed');
    
    $('.pgmain .wrap, .pgextra1 .wrap, .pgextra2 .wrap, .pgextra3 .wrap').equalizeHeights();
    
    // labelize search input
    $('#qstr').labelizor();
    
    if (!window.EPLICA_loggedin)
    {

      // pngfix for IE6
      if ($.browser.msie && $.browser.version < 7) {
        $('img[src$=".png"]').ifixpng();
      }
      
      //zebra tables
      $('div.article table').each(function() {
          $(this).find('tr:even').addClass('alt');
        });
      
      //popup in articles
      $('div.article div.imgbox a:has(img)')
          .each(function() {
            var imgsrc = $(this).find('img').attr('src').replace(/\/[^\/]+\/([^\/]+)$/, '/large/$1');
            $(this).attr('href', imgsrc)
          }) 
          .imgPopper({
              curtainColor : '#000000',
              curtainOpacity : '0.75'
            });
            
            
      //popup in articles
      $('div.article p img')
          .each(function() {
            var imgsrc   = $(this).attr('src').replace(/\/[^\/]+\/([^\/]+)$/, '/popup/$1'),
                wrapper  = $(this).wrap('<a />');
                wrapped  = wrapper.closest('a');
            wrapped.attr('href', imgsrc);
            wrapped
              .imgPopper({
                curtainColor : '#000000',
                curtainOpacity : '0.65'
              });
          });

          
    }
    
    //remove flicker trick
    $('#noflickerCSS').remove();

    // fontsizer
    $('div.pagestyle').fontsizer();

    // validate all forms
    $('form').autoValidate();
        
    // mnav decoration
    $('.mnav').each(function(){

        var mnav = $(this).find('.boxbody'),
            mnavLine      = $('<div class="mnav-line" />').appendTo(mnav),
            currentLink   = mnav.find('li.current:not(:has(>ul.level2)) > a'),
            onlyLevel1    = !mnav.find('.level2')[0],

            mnavLineAni = function ( hoverElm ) {
              var width = left = 0;
              if ( hoverElm[0] )
              {
                width =   hoverElm.outerWidth();
                var margins = onlyLevel1 ? hoverElm.outerWidth(true)-width : 0;
                width =   width - margins;
                left =    hoverElm.position().left + margins;
              }
              mnavLine
                  .stop()
                  .animate(
                      {
                        width: width,
                        left:  left
                      },
                      250
                    );
            };

        if ( currentLink[0] )
        {
          var width = currentLink.outerWidth(),
              margins = onlyLevel1 ? currentLink.outerWidth(true)-width : 0;
          mnavLine
              .css({
                'width':   width - margins,
                'left':    currentLink.position().left + margins,
                'bottom':  onlyLevel1 ? '-4px' : ''
                });
        }

        var lvl = onlyLevel1 ? '1' : '2',
             tOut;
        mnav.find( '.level'+ lvl +' > li' )
            .hover(
                function (e) {
                    clearTimeout( tOut );
                    mnavLineAni( $(this).find('a') );
                  },
                function (e) {
                    if ( currentLink[0] )
                    {
                      mnavLineAni( currentLink );
                    }
                    else
                    {
                      tOut = setTimeout(function(){
                          mnavLineAni( currentLink );
                        }, 300);
                    }
                  }
              );

      });
        
        
  }
);
// **** /jqreq *****

//init xfbml like button
FB.XFBML.parse();
