// encoding: utf-8
/*@cc_on/*@if(@_jscript_version<5.7)try{document.execCommand('BackgroundImageCache',0,1)}catch(e){}/*@end@*/


Req.localPath = Req.localPath || '/skin/basic/';
Req(
  'jquery 1.4',
  function(){},
  'autovalidate',
  'easing-mini',
  'equalizeheights',
  'eutils',
  'fontsizer',
  'labelizor',
  'x/bookmark',
  
  function(){

    var $ = jQuery,
        body = $('body'),

        texts = {
            is: {
                closeLabel:     'Loka',
                shareBtnLabel:  'Deila',
                fieldLabelHelp: 'Uppskriftalistinn fyrir neðan leitarreitinn, uppfærist sjálfkrafa um leið og byrjað er að slá inn leitarorð.',
                noneFoundMsg:   'Engar uppskriftir fundust með þessu leitarstreng'
              },
            en: {
                closeLabel:     'Close',
                shareBtnLabel:  'Share',
                fieldLabelHelp: 'The list below the search-field, will automatically update as you start typing.',
                noneFoundMsg:   'No recipies were found matching this search string'
              }
          },
        pageLang = body.closest('[lang]').attr('lang').toLowerCase().substr(0,2),
        txt = texts[pageLang] || texts.en;


    body
        .addClass('js-active')
        .toggleClass('alt-browser-fix', $.browser.webkit || $.browser.opera);

    
    // frontpage dropbox animation
    var dbheights = [];
    $('body.home div.dropbox')
        .each(function(i) {
            dbheights.push( $(this).find('ul').height() );
            $(this).find('ul').hide()
                .end()
                .bind('mouseenter', function(e) {
                    $(this)
                        .addClass('dbhover')
                        .find('ul')
                            .stop()
                            .css({ 'height' : 0 })
                            .animate({ 'height' : Math.max( 60, dbheights[i] ) }, 300, 'easeOut');
                  })
                  .bind('mouseleave', function(e) {
                    $(this)
                        .removeClass('dbhover')
                        .find('ul')
                            .stop()
                            .animate({ 'height' : 0 }, 300, 'easeOut');
                  })
          });
    

    if (!window.EPLICA_loggedin)
    {

      //collapsers
      $('div.dropmenu div.boxbody ul')
          .hide()
          .parent()
          .parent()
          .find('h2.boxhead a')
              .click(function(){
                  $(this).parent().parent().find('div.boxbody ul').slideToggle(300);
                  return false;
              });
      $('div.tengd_grein div.boxbody')
          .hide()
          .parent()
          .find('h4')
              .click(function(){
                  $(this).parent().parent().find('div.boxbody').slideToggle(300);
                  return false;
              })
      
      
      $('form').autoValidate();
      $('div.pagestyle').fontsizer();
      $('#qstr, #s_email, #faeda').labelizor();
      
      
      //add classes for anchor icons for filelypes
      $('div.article, div.articlelist')
          .find('a[href$=".pdf"], a[href$=".PDF"]')
              .addClass('pdf')
          .end()
          .find('a[href$=".doc"], a[href$=".DOC"], a[href$=".docx"], a[href$=".DOCX"]')
              .addClass('doc')
          .end()
          .find('a[href$=".xls"], a[href$=".XLS"], a[href$=".xlsx"], a[href$=".XLSX"]')
              .addClass('xls')
          ;

      
      //articlelist image wrapper
      $('div.pgmain div.articlelist img')
          .not('.research-project-list img')
          .each(function() {
            $(this).wrap('<div class="img-wrap-outer"><div class="img-wrap-inner"><span class="imgcropfix"></span></div></div>')
        });
      
      $(window).bind('load', function (e) {
          $('div.pgmain div.uppskriftir img')
              .each(function(){ 
                  $(this).bind('load readystatechange', function (e) {
                      $(this).css({ 'margin-top' : 40 - ($(this).height() / 2)  })
                    });
                  this.src += ''; //IE force readystate hack
                });
        });
      
      //disable anchors in quickbox headings
      $('div.quickbox h3 a')
          .click(function() {
              return false;
          });
      
      // imgpopup
      $('div.imgbox a img')
          .parent()
          .bind('click', function() {
              var imghref = $(this);
              $('div.pgwrap').append(
                  $('<div class="popup-wrapper" style="display:none;">' +
                      '<div class="popup-inner-wrapper">' +
                      '<div class="imgcontainer">' +
                        
                        '<img src="' + imghref.attr('href') + '" alt="" />' +
                        
                        '<div class="imgcontent">' +
                          '<div class="imgname">' + imghref.find('img').attr('title') + '</div>' +
                          '<div class="imgtext">' + imghref.find('img').attr('alt')  + '</div>' +
                        '</div>' +
                        
                        '<div class="act">' +
                          '<a class="close">' +
                            '<strong>' + txt.closeLabel + '</strong>' +
                          '</a>' +
                        '</div>' +
                        
                      '</div>' +
                      '</div>' +
                    '</div>')
                        .fadeIn(500)
                        .bind('click', function() {
                            $(this)
                                .fadeOut(500, function() {
                                    $(this).remove();
                                })
                        })
              );
              return false;
          });


      // research project article element manipulation
      $('.research-project .boxbody')
          .each(function(){
              var boxbody = $(this);

              boxbody.find('.framed')  // creates a set of all .framed elements
                  .prev('h2') // creates a set of all h2's preceding each .framed element
                      .andSelf() // creates a set of pairs of h2 + .framed 
                          .wrapAll('<div class="col2" />'); // wraps the resulting array in a div of class .col2
            
              boxbody.find('h1') // finds h1
                  .nextUntil('.project-dates, .buttons', true)  // creates set of elements after h1 but before .project-dates and .buttons
                      .not('.imagebox, .meta, .col2') // elements to exclude from the set 
                          .wrapAll('<div class="col1" />'); // wraps the resulting set in a div of class .col1
              
            });


    } // END if !window.EPLICA_loggedin


    //flicker trick
    $('#noflickerCSS').remove();


    $('.buttons:has(.btnback, .prenta, .senda)')
        .each(function(){
            var buttons = $(this)
                              .append('<div class="share"><a class="share" href="#">'+ txt.shareBtnLabel +'</a></div>'),
                bookmarks,
                bookmarksOpen;

            buttons.find('.share a')
                .bind('click', function (e) {
                    var clickedLink = this;
                    bookmarks = bookmarks || 
                                $('<div class="share-menu">')
                                    .insertAfter(clickedLink)
                                    .end()
                                    .hide()
                                    .bookmark({
                                        sites:   ['facebook', 'twitter', 'google'],
                                        title:   $('h1:first').text() || $('.boxhead:fist:is(h1, h2)').text(),
                                        compact: false, // defaults to `true`
                                        icons:   null
                                      });
                    bookmarksOpen ?
                        bookmarks.slideUp(250):   // close
                        bookmarks.slideDown(150); // open
                    bookmarksOpen = !bookmarksOpen;
                    $(this.parentNode).toggleClass('share-open', bookmarksOpen)
                    return false;
                  });
          });




    //file filter
    $('.articlelist-filter')
        .Req( Req.localPath+'js/filterfiles.js', function(){
            //this.quickFilterList();
          })



  }
);