// encoding: utf-8
/*@cc_on/*@if(@_jscript_version<5.7)try{document.execCommand('BackgroundImageCache',0,1)}catch(e){}/*@end@*/

// ***** jqreq *****
Req(
  'autovalidate',
  'easing-mini',
  'equalizeheights',
  'eutils',
  'filtertable',
  'fontsizer',
  'imgpop',
  'labelizor',
  'listscroller',
  'mailtoenabler',
  'zebralists',
  'x/easing',
  'x/ifixpng',
  'x/innerfade',
  'x/ui-accordion',
  
  function(){
    var $ = jQuery,
        body = $('body').addClass('js-active'),
        userStylesOn = body.is('.userstyles-on'),
        isIS = $('html').attr('lang') == 'is';


    if ( !userStylesOn ) 
    {
      $('#qstr').labelizor();

      var qsboxbody = $('.qsearch .boxbody');
      qsboxbody.hide().parent()
          .find('.boxhead')
              .wrapInner('<a href="#" />')
              .bind('click', function() {
                  if(qsboxbody.is(':visible')) {
                      qsboxbody.fadeOut(200);
                  } else {
                      qsboxbody.fadeIn(100);
                      $('#qstr', qsboxbody).focus();
                  }
                  return false;
                });

      var flnav = $('.flnav'),
           flnavHover = false;
      flnav
          .find('ul').hide().end()
          .find('.boxhead')
              .wrapInner('<a href="#"/>')
              .find('a')
                  .bind('click', function() {
                      $(this).parent().parent().find('ul').slideToggle(300, 'easeInOut');
                      return false;
                  })
              .end()
          .end()
          .bind('mouseleave focusout', function(e){
              flnavHover = false;
              setTimeout(function(){
                  if(!flnavHover) {
                    flnav.find('ul').slideUp(600, 'easeOut')
                  }
                }, 400);
            })
          .bind('mouseenter focusin', function(e){
              flnavHover = true;
            });

    } 
    else //userStylesOn
    {
      $('.pgmain .imgbanner').remove();
    }

    if (body.is('.home')) 
    {
       // frontpage image carousel
      var carousel = $('.carousel');
      if (carousel.length)
      {
        var carouselUl = $('<ul />'),
            isCrossfading = carousel.is('.crossfade'),
            setMarginTop = function (e) {
                                var elm = $(this);
                                elm.css({ 'margin-top' : 114.5 - (elm[0].height/2) });
                              };
        carousel
            .prepend(carouselUl)
            .find('img')
                .each(function() {
                    var elm = $(this);
                    $('<li />')
                        .append( elm.parent().attr('href') ? elm.parent() : elm )
                        .appendTo( carouselUl );
                  })
                .one('load.carouselfix', setMarginTop)
                .filter(function () {  return !!this.height;  })
                    .trigger('load.carouselfix')
                .end()
            .end()
            .find('.boxbody, .boxhead')
                .remove();

        if (!window.EPLICA_loggedin && !userStylesOn) 
        {
            carouselUl
                .filter(':has(li:odd)') // contains more than one <li />
                    .listscroller({
                        item : 'li',
                        aspect: 'horizontal',
                        paging: false,
                        animation: isCrossfading ? 'crossfade' : 'carousel',
                        speed: 600,
                        windowSize: 1,
                        autoScrollDelay: 6000
                      });
        }
        userStylesOn  &&  carouselUl.find('li:gt(0)').remove();

      } // end carousel


      $('.bnav').equalizeHeights();
    }



    if (!window.EPLICA_loggedin && !userStylesOn)
    {
      body.not('.onecol').find('.pgmain, .pgextra2').equalizeHeights();

      $('.box-left').each(function(){
          $(this).nextUntil('.box-left').andSelf().filter('div:not(.darkbox):not(.quotes):not(.qlinks)').find('> .boxbody').equalizeHeights();
          if ($(this).is('.logobox.spanbox')) {
            $(this).nextUntil('.box-left').andSelf().filter('.spanbox').removeClass('logobox box').wrapAll('<div class="logobox logobox-spanned box-left box" />').find('.item:last').addClass('box-last');
          }
        });



      //accordion yearindex
      $('.yearindex .boxbody')
          .find('p')
              .wrap('<div />')
          .end()
          .accordion({
              header : 'h4',
              selectedClass : 'boxhead-open',
              animation : 'easeInOut',
              autoHeight : false
            });

      $('.addrss .moreolder').each(function() {
          var moreLink = $(this).find('a').attr('href');
          $(this).append('<a class="rss" href="' + moreLink + '/rss.xml">RSS</a>')
        });


      var article = $('.article')
      if (article.length) 
      {
        article.find('blockquote:not(.ath)').wrapInner('<span />');

        //popup in articles
        $('.article .imgbox a:has(img), .imagelist .thumbsview li a')
            .each(function() {
              var imgsrc = $(this).find('img').attr('src').replace(/\/[^\/]+\/([^\/]+)$/, '/large/$1');
              $(this).attr('href', imgsrc)
            })
            .add('.imagebox a:has(img)')
            .imgPopper({
                curtainColor : '#000000',
                curtainOpacity : '0.75'
              });

        //Article collapser
        var collapsearticle = article.filter('.collapse');
        if ( collapsearticle.length) {
          $('h4', collapsearticle).each(function() {
              var heading = $(this);
              heading.wrapInner('<a href="#" />');
              heading.add( heading.nextUntil('h2, h4') ).wrapAll('<div class="collapsebox" />');
            });
          $('.collapsebox', collapsearticle)
              .each(function() {
                  var collapsebox = $(this);
                  collapsebox.find('> *:not(h4)').wrapAll('<div class="collapsecontent" />').parent().hide();
                  collapsebox
                      .find('h4 a').bind('click', function() {
                          collapsebox.find('.collapsecontent').slideToggle(100);
                          collapsebox.toggleClass('collapse-open');
                          return false;
                        });
                });


          //don't print urls for specific links
          article.find('a').each(function(){
              var href = $(this).attr('href');
              if (/myschool/.test(href)) {
                $(this).addClass('nopr');
              }
            });
        }
        
          //listscroll imageboxes
          var zoomText = isIS ? 'Smelltu á myndina til að stækka' : 'Click on the image to zoom';
          
          $('.imagebox', article)
              .attr('title',zoomText)
              .filter(function(){ return $(this).find('li').length > 1; })
                  .listscroller({
                      item : 'li',
                      aspect     : 'horizontal',
                      paging     : true,
                      statusPager: true,
                      jumpPager  : false,
                      animation  : 'carousel',
                      windowSize : 1,
                      stepSize   : 1,
                      ofTotalSeparator: isIS ? ' af  ' : ' of  ',
                      labelNext  : isIS ? 'Næsta' : 'Next',
                      labelPrev  : isIS ? 'Fyrri' : 'Previous',
                      statusLabel: '',
                      titleNext  : isIS ? 'Næsta mynd' : 'Next image',
                      titlePrev  : isIS ? 'Fyrri mynd' : 'Previous image'
                    });


        var hash = document.location.href.split(/[?#]/)[1];
        if ( hash )
        {
          hash = hash.replace('id=', '#');
          $(hash).find('a').trigger('click');
        }
      }
      
      //popup window for videos
      var vidpopLinks = $('a').filter('.video, .letterbox');
      if (vidpopLinks.length) 
      {
          vidpopLinks
              .bind('click', function() {
                  var src = $(this).attr('href'),
                      vidHeight = $(this).is('.letterbox') ? '500' : '385',
                      fadespeed = $.browser.msie && $.browser.version < 9 ? 0 : 200; //disable fading in IE<9, stupid png24 alpha + opacity fading bug
                      
                  if( src.match(/youtube/i) || src.match(/vimeo/i) ) {
                    body.append(''+
                      '<div class="ipopup-curtain" style="background-color:#fff;"></div>',
                      '<div class="ipopup-container videopopup" style="display:none">' +
                        '<div class="ipopup-container-wrapper">' +
                          '<object width="640" height="385">' +
                          '<param name="movie" value="' + src + '"></param>' +
                          '<param name="allowFullScreen" value="true"></param>' +
                          '<param name="allowscriptaccess" value="always"></param>' +
                          '<embed src="' + src + '" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object>' +
                          '<div class="paging"><ul class="stepper"><li class="close"><a href="#">Loka</a></li></ul></div>' +
                        '</div>' +
                      '</div>' +
                      '');
                  } else {
                    body.append(''+
                      '<div class="ipopup-curtain" style="background-color:#fff;"></div>',
                      '<div class="ipopup-container videopopup" style="display:none">' +
                        '<div class="ipopup-container-wrapper">' +
                          '<object width="640" height="' + vidHeight + '">' +
                          '<param name="movie" value="/bitar/common/media/mediaplayer.swf"></param>' +
                          '<param name="allowFullScreen" value="true"></param>' +
                          '<param name="allowscriptaccess" value="always"></param>' +
                          '<param name="flashVars" value="file=' + src + '&autostart=true&bufferlength=4" />' +
                          '<embed flashVars="file=' + src + '&autostart=true&bufferlength=4" src="/bitar/common/media/mediaplayer.swf" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="' + vidHeight + '"></embed></object>' +
                          '<div class="paging"><ul class="stepper"><li class="close"><a href="#">Loka</a></li></ul></div>' +
                        '</div>' +
                      '</div>' +
                      '');
                  }


                  $('.ipopup-curtain')
                      .css({ opacity : '0' })
                      .animate({ opacity : '0.7' }, fadespeed)
                      .bind('click', function() {
                          $('.ipopup-curtain').fadeOut(fadespeed, function() { $(this).remove() });
                          $('.ipopup-container').fadeOut(fadespeed, function() { $(this).remove() });
                        })
                  $('.ipopup-container').css({ 'top' : $(document).scrollTop() + 10 }).fadeIn(fadespeed);

                  $('.ipopup-container .close a').bind('click', function() {
                      $('.ipopup-curtain').fadeOut(fadespeed, function() { $(this).remove() });
                      $('.ipopup-container').fadeOut(fadespeed, function() { $(this).remove() });
                      return false;
                    })

                  return false;
                });
      }


      //introbox innerfade
      $('.introbox ul')
          .filter(function(){ return $(this).find('li').length > 1 })
              .innerfade({
                  animationtype: 'fade',
                  speed: 1000,
                  timeout: 5000,
                  type: 'sequence'
                });



      //table filters
      var filtertables = $('table.filtertable');
      if (filtertables.length) 
      {
        var zebraize = function (e) {
                $(this).find('tbody')
                    .log()
                    .zebraLists({
                        items:       e? '> tr:visible' : '> tr', // during the initial run, the tbody is hidden (noflicker.js)
                        //subItems:    '.subrow',  // filter for rows to consider part of/subservient to the previous row
                        //resetItems:  '',         // filter for rows to consider to be a zebra-splitter/-resetter (like sub-headings)
                        oddClass:    '',
                        evenClass:   'even'
                      });
              };

        filtertables
            .each(function(){
                var table = $(this),
                    isDbDb = filtertables.is('.databasedatabase');
              
                if (isDbDb)
                {
                  // filter out rows in other languages - to speed up the sorting
                  var lang = table.closest('[lang]').attr('lang') || 'en';
                  table.find('tbody tr')
                              .each(function () {
                                  var rowLang = $(this).attr('lang');
                                  if ( rowLang  &&  rowLang != lang )
                                  {
                                    $(this).remove();
                                  }
                                });
                }
                table
                    .filterTable({
                        multiFilter: isDbDb,
                        includeCols: 'th:not(.nofilter)'
                      });

              })
            .bind('filter.filterTable', zebraize);

        zebraize.call( filtertables );
      }


      //enable mailto links
      $('.netfang').mailtoEnabler()
          .filter('em').zap();


      // hacks for IE6
      if ($.browser.msie && $.browser.version < 7) {
        $('.mnav li')
            .bind('mouseenter focusin', function(e){
                $(this).addClass('hover');
            })
            .bind('mouseleave focusout', function(e){
                $(this).removeClass('hover');
            })
        $('img[src$=".png"]').ifixpng();
      }


      //sharethis FTW!
      var sharethisWrap = body.not('.milli, .home, .gagnasafn, .faculty-list').find('.pgmain .wrap');
      if ( sharethisWrap.length ) 
      {
        sharethisWrap
            .append('<div class="sharethis"><span class="st_facebook" displayText="Facebook" /><span class="st_twitter" displayText="Tweet" /><span class="st_email" displayText="Email" /><span class="st_sharethis" displayText="Share" /><span class="st_plusone_button" style="position: relative; top: 4px;" /><span class="st_fblike" /></div>')
            .Req(
                'http://w.sharethis.com/button/buttons.js',
                function() {
                    stLight.options({publisher:'003b8661-1549-44d1-a33e-d481130a2827'});
                });
      }

      //Twocol listscroller
      $('.carousel').listscroller({
                        item : '.item',
                        aspect: 'horizontal',
                        paging: false,
                        animation: 'crossfade',
                        speed: 600,
                        windowSize: 1,
                        autoScrollDelay: 6000
      });

      var joblist = $('#joblist');
      if (joblist.length)
      {
        var jobfeed = 'http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&callback=?&q=' + encodeURIComponent('http://radningar.hr.is/h3_radningar/hl3r_f1/rcJobAdrss.aspx') + '&output=json_xml',
            jobs = $('<div />');
        $.getJSON(jobfeed, function(data) {
            var entries = data.responseData.feed.entries;
            if (entries)
            {
              $.each(entries, function () {
                  $('<div class="jobitm" style="margin-bottom: 1.5em;">'+
                    ' <h2><a target="_blank" href="http://radningar.hr.is/h3_radningar/hl3r_f1/'+ this.link +'">'+ this.title +'</a></h2>'+
                      this.content +
                    ' <p class="more"><a href="http://radningar.hr.is/h3_radningar/hl3r_f1/'+ this.link +'" title="'+ this.title +'" target="_blank">Sækja um starf</a></p>'+
                    '</div>').appendTo(jobs);
                });
            }
            else 
            {
              $('<p class="more">Engin laus störf í augnablikinu.</p>').appendTo(jobs);
            }
            joblist.html(jobs);
        });
        setTimeout(function(){
          if (!jobs.find('.jobitm').length)
          {
            $('<p class="more"><a target="_blank" href="http://radningar.hr.is/h3_radningar/hl3r_f1/rcJobAdrss.aspx">Starfsumsóknir</a></p>').appendTo(jobs);
            joblist.html(jobs);
          }
        }, 1500);
      }      
      
    } //end loggedin

    //requere almanak script
    $('body.almanak').Req('http://www.ru.is/skin/basic/design/almanak/almanak.js')

    $('#noflickerCSS').remove();
    $('.pagestyle').fontsizer();
    $('form').autoValidate();

  });
// **** /jqreq ***** */
