// encoding: utf-8
/*@cc_on/*@if(@_jscript_version<5.7)try{document.execCommand('BackgroundImageCache',0,1)}catch(e){}/*@end@*/

// ***** jqreq *****
Req.localPath = Req.localPath || '/skin/basicpe/'
Req(
  'eutils',
  'fontsizer',
  'autovalidate',
  'anchortags',
  'labelizor',
  'imgpop',
  'tabswitcher',
  'listscroller',
  'mailtoenabler',
  'equalizeheights',
  'delayedhighlight',
  'fickle',
  'curtain',
  //'getmodal',

  function(){
    var $ = jQuery,
        body = $('body').addClass('js-active'),
        article = $('.article'),
        msie =   $.browser.msie   &&  parseInt($.browser.version,10)<9,  // or: $('html').is('.msie');
        isIs = $.lang() == 'is',
        scrollTop = 0;

    var texts = {
        is: {
            newWindow:        'Opnast í nýjum vafraglugga',
            fileText:         'skjal'
          },
        en: {
            newWindow:        'Opens in new window',
            fileText:         'file'
          }
      };
    texts = texts[ $.lang() ]  ||  texts.en;

    if ($.browser.safari)
    {
      //http://redrata.com/2011/07/safari-woff-select-field-crash/
      body.addClass('safari');
    }


    //cleanup
    $('.hlist br').remove();


    if (!window.EPLICA_loggedin)
    {
      
      // IE7 hack fyrir pgextra2
      if (msie && parseInt($.browser.version,10)<8)
      {
        var topHeight = $('.pgextra2').outerHeight();
        $('.pghead').css({ 'height' : topHeight + 78 });
        
      }

      //zebra tables
      $('tbody tr:nth-child(2n-1)').addClass('odd');


      article.find('a.videolink').Req(
          'q-videolinks',
          function() {
            $(this).videoLinks();
          }
        );


      //tag external urls
      var link, text, useappend, match;
      $('.pgmain, .pgextra1').find('a').anchorTags({
                usePatterns:  ['doc', 'pdf', 'xls']
              })
            .filter('.external, .file_pdf, .file_doc, .file_xls')
                .not(':has(img)')
                    .each(function() {
                        link = $(this);
                        text = '';
                        useappend = false;
                        match = this.className.match(/(^| )file_([a-z]+)( |$)/);
                        if ( match )
                        {
                          text = match[2].toUpperCase() +' '+ texts.fileText;
                        }
                        else if ( $(this).is('.external') )
                        {
                          text = texts.newWindow;
                          useappend = true;
                        }
                        if (text)
                        {
                          link
                              .attr('target', '_blank')
                              .attr('title', (link.attr('title')||link.text()) +' ('+ text+')')
                              [useappend ? 'append' : 'prepend'](' <span class="icon">('+ text +')</span> ');
                        }
                      });


      //content collapsing
      article.filter('.sos').find('h3').each(function(){
          var head = $(this);
          head.addClass('collapse-active collapse-closed').nextUntil('h2, h3, hr, .buttons').wrapAll('<div class="collapseouter" />').wrapAll('<div class="collapsebox" />').parent().parent().hide();
          head.wrapInner('<a href="#" />').bind('click', function (e) {
              head
                  .toggleClass('collapse-closed')
                  .next().slideToggle('fast');
              return false;
            });
        });


      // greinalistar á millisíðum
      var hlist = $('.hlist .item');
      hlist.each(function () {
          var itm = $(this).find('.summary'),
              lis = itm.find('li');
          if (lis.length > 2)
          {
            $('<ul class="scnd" />').append( lis.slice(Math.ceil(lis.length / 2)) ).appendTo(itm);
          }
        });
      for (var i=0, l=hlist.length; i<l; i+=3)
      {
        hlist.slice(i,i+3).equalizeHeights();
      }

      var tlist = $('.tlist .item');
      for (var i=0, l=tlist.length; i<l; i+=2)
      {
        tlist.slice(i,i+2).equalizeHeights().eq(1).addClass('right');
      }
      
      
      var kennarar = $('.pgextra1 .kennarar');
      if (!kennarar.find('.item').length)
      {
        kennarar.hide();
      }



      //Forsíðustöff
      if (body.is('.home'))
      {
        var focuslist = $('.focuslist .boxbody');
        focuslist.find('.item').each(function () {
            $(this).find('h3, .summary')
                    .wrapAll('<div class="descr" />').parent()
                    .bind('click', function (e) {
                        window.location = $(this).find('a:first').attr('href');
                      });
          });
        focuslist.listscroller({ 
            item       : '.item',
            animation  : 'crossfade',
            windowSize : 1,
            stepSize   : 1,
            paging     : true,
            statusPager: false,
            jumpPager  : true,
            autoScrollDelay: 5000,
            ofTotalSeparator  : isIs ? 'af' : 'of',
            labelNext  : isIs ? 'Næsta' : 'Next',
            labelPrev  : isIs ? 'Fyrri' : 'Previous',
            titleNext  : isIs ? 'Næsta' : 'Next',
            titlePrev  : isIs ? 'Fyrri' : 'Previous'
          })


        $('.pgmain .box').makeTabbox().tabSwitcher({ monitorFragment: false, setFragment: false });

        $('.pgmain, .pgextra1').equalizeHeights();

        var subscr = $('.subscr .boxbody');
        subscr.prev().wrapInner('<span></span>')
        subscr.find('.fi_txt input').labelizor().parent().addClass('req');
        subscr.find('.fi_txt, .fi_btn').wrapAll('<div class="form" />');
        subscr.find('.desc').append( $('<a href="#">.</a>').bind('click', function (e) { return false; }) );
        subscr.parent()
            .bind('mouseenter focusin', function (e) {
                subscr.addClass('subscr-hover').find('.form').fadeIn(150);
              })
            .bind('mouseleave', function (e) {
                subscr.removeClass('subscr-hover').find('.form').fadeOut(100);
              });

      } // end forsíða


     //popup windows
      $.fn.popup = function ( refLink ) {
          var popupElm = this;
          if ( popupElm.length) {
            var curtainElm = $.curtain({
                        className: 'popup-curtain',
                        bg:        '#ffffff',
                        opacity:   .8,
                        fixed:     true
                      });
            popupElm
                .hide()
                .appendTo('body')
                .addClass('popupblock')
                .before(curtainElm)
                .css({
                      marginLeft: - $.toInt( popupElm.outerWidth() ) / 2
                    })
                .fickle({
                    fadein: 250,
                    onOpen:   function (e) { $(this).css({ top: 150 + $(window).scrollTop() }).prev().fadeIn(100);  },
                    onClose:  function (e) { popupElm.fadeOut(150, function() { $(this).prev().fadeOut(100); }); },
                    onClosed: function (e) { refLink.log().focus(); $(window).scrollTop( scrollTop ) }
                  })
                .append('<a class="close" href="#">Loka</a>')
                .find('a.close')
                    .bind('click', function (e) {
                        popupElm.fickle('close');
                        return false;
                      })
                .end()
                .fickle('open');
            popupElm.prev().bind('click', function (e) { popupElm.fickle('close'); });
          }
          return popupElm;
      };


      //popup þjálfarar
      var tjalfarar = $('.tjalfarar .item');
      for (var i=0, l=tjalfarar.length; i<l; i+=6)
      {
        tjalfarar.slice(i,i+6).find('h3').equalizeHeights();
      }
      $('.tjalfarar .item, .kennarar .item').bind('click', function (e) {
          var link = $(this).find('a:first'),
              popupForm = link.data('popupForm');
          scrollTop = $(window).scrollTop();
          if (popupForm)
          {
            popupForm.fickle('open');
          }
          else
          {
            $.get(
                link.attr('href'),
                { justPicPos: 'pgmain' },
                function(data){
                    var popData = $(data).find('.box:first');
                    popData.find('.boxbody > *:not(h1)').wrapAll('<div class="pwrap" />').find('.netfang').mailtoEnabler();
                    popData.popup(link);
                    link.data('popupForm', popData); // store for later
                  }
              );
          }
          return false;
        });
      


      //init employee scripts
      $('div.people ').Req('/bitar/common/personas/loadEmployee.js', function(){ this.eplicaEmployeeLoader({emailSelector:'.netfang span'}); });

      $('.netfang').mailtoEnabler();
      
      // Google maps
      var mapCanvas = $('#map_canvas');
      if (mapCanvas.length)
      {
        // Google maps
        var WClaugar =   new google.maps.LatLng(64.145144, -21.878976), //y
            WCkringlan = new google.maps.LatLng(64.129962, -21.898459), //y
            WCspong =    new google.maps.LatLng(64.150196, -21.785935), //y
            WCorkuv =    new google.maps.LatLng(64.120120, -21.801817), //y
            WChfj =      new google.maps.LatLng(64.082903, -21.945151), //y
            WCmoso =     new google.maps.LatLng(64.165049, -21.725918), //y
            WCselt =     new google.maps.LatLng(64.150517, -21.992178), //y
            WCkop =      new google.maps.LatLng(64.102539, -21.879901), //y
            WCogur =     new google.maps.LatLng(64.096428, -21.804484), //y
            myOptions = {
              zoom: 11,
              center: WClaugar,
              mapTypeId: google.maps.MapTypeId.ROADMAP
            },
            map = new google.maps.Map(mapCanvas[0], myOptions),
            mapmarker = '/skin/basicpe/i/mapmarker-yellow.png',
            marker1 = new google.maps.Marker({
                        position: WClaugar,
                        map: map,
                        icon: '/skin/basicpe/i/mapmarker-red.png',
                        title:"World Class - Sundlaugavegi 30 - 105 Reykjavík"
                      }),
            marker2 = new google.maps.Marker({
                        position: WCkringlan,
                        map: map,
                        icon: mapmarker,
                        title:"World Class - Kringlunni 1 - 103 Reykjavík"
                      }),
            marker3 = new google.maps.Marker({
                        position: WCspong,
                        map: map,
                        icon: mapmarker,
                        title:"World Class - Spönginni 41 - 112 Reykjavík"
                      }),
            marker4 = new google.maps.Marker({
                        position: WCorkuv,
                        map: map,
                        icon: mapmarker,
                        title:"World Class - Hús Orkuveitunnar - Bæjarhálsi 1 - 110 Reykjavík"
                      }),
            marker5 = new google.maps.Marker({
                        position: WChfj,
                        map: map,
                        icon: mapmarker,
                        title:"World Class - Dalshrauni 1 - 220 Hafnarfirði"
                      }),
            marker6 = new google.maps.Marker({
                        position: WCmoso,
                        map: map,
                        icon: mapmarker,
                        title:"World Class - Lækjarhlíð 1a - 270 Mosfellsbæ"
                      }),
            marker7 = new google.maps.Marker({
                        position: WCselt,
                        map: map,
                        icon: mapmarker,
                        title:"World Class - Suðurströnd 8 - 170 Seltjarnarnesi"
                      }),
            marker8 = new google.maps.Marker({
                        position: WCkop,
                        map: map,
                        icon: mapmarker,
                        title:"World Class - Smáratorgi 3 - 201 Kópavogi"
                      }),
            marker9 = new google.maps.Marker({
                        position: WCogur,
                        map: map,
                        icon: mapmarker,
                        title:"World Class - Ögurhvarfi 1 - 203 Kópavogi"
                      });

            google.maps.event.addListener(marker1, 'click', function() {
              window.location = '/heilsuraektarstodvar/laugar/upplysingar/';
            });
            google.maps.event.addListener(marker2, 'click', function() {
              window.location = '/heilsuraektarstodvar/kringlan/upplysingar/';
            });
            google.maps.event.addListener(marker3, 'click', function() {
              window.location = '/heilsuraektarstodvar/spong/upplysingar/';
            });
            google.maps.event.addListener(marker4, 'click', function() {
              window.location = '/heilsuraektarstodvar/hus-orkuveitunnar/upplysingar/';
            });
            google.maps.event.addListener(marker5, 'click', function() {
              window.location = '/heilsuraektarstodvar/hafnarfjordur/upplysingar/';
            });
            google.maps.event.addListener(marker6, 'click', function() {
              window.location = '/heilsuraektarstodvar/mosfellsbaer/upplysingar/';
            });
            google.maps.event.addListener(marker7, 'click', function() {
              window.location = '/heilsuraektarstodvar/seltjarnarnes/upplysingar/';
            });
            google.maps.event.addListener(marker8, 'click', function() {
              window.location = '/heilsuraektarstodvar/kopavogur/upplysingar/';
            });
            google.maps.event.addListener(marker9, 'click', function() {
              window.location = '/heilsuraektarstodvar/ogurhvarf/upplysingar/';
            });
      }
      
    } // end loggedin
    else
    {
      var kennarar = $('.pgextra1 .kennarar .boxbody');
      if (!kennarar.find('.item').length)
      {
        kennarar.find('p').text('Enginn kennari tengdur');
      }
    }
    
    //Forsíðustöff
    if (body.is('.home'))
    {
      $('.scrollers .box').makeTabbox().tabSwitcher({ monitorFragment: false, setFragment: false });
    } // end forsíða

    
    // upcoming balloons
    $('.upcoming .boxbody').each(function () {
        var upcoming = $(this);
      
        if ( upcoming.find('li').length > 8 )
        {
          upcoming.listscroller({ 
              item       : 'li',
              aspect     : 'vertical',
              animation  : 'carousel',
              windowSize : 8,
              stepSize   : 1,
              wrap       : 'none',
              speed      : 300,
              setFocus   : false,
              ofTotalSeparator  : isIs ? 'af' : 'of',
              labelNext  : isIs ? 'Næsta' : 'Next',
              labelPrev  : isIs ? 'Fyrri' : 'Previous',
              titleNext  : isIs ? 'Næsta' : 'Next',
              titlePrev  : isIs ? 'Fyrri' : 'Previous'
          });
        }
      
        upcoming.find('li').each(function () {
            var balloon = $(this).find('.balloon').wrapInner('<div class="blwrap" />').hide().appendTo(upcoming),
                clip = upcoming.find('.listscroller-clip'),
                liElm = $(this),
                isOver = false,
                scrollOffset;
            liElm
                .bind('mouseenter', function (e) {
                    isOver = true;
                    setTimeout(function(){
                        if (isOver)
                        {
                          scrollOffset = clip.length ? clip.position().top : -4;
                          balloon.css({'bottom': ((upcoming.height() - liElm.position().top - 4) - scrollOffset)  }).fadeIn(100);
                          liElm.addClass('active');
                        }
                      }, 50);

                  })
                .bind('mouseleave', function (e) {
                    isOver = false;
                    setTimeout(function(){
                        if (!isOver)
                        {
                          liElm.removeClass('active');
                          balloon.fadeOut(75);
                        }
                      }, 100);
                  });
            balloon
                .append(
                    $('<a href="#" title="Loka" class="close">Loka</a>')
                        .bind('click', function (e) {
                            isOver = false;
                            liElm.removeClass('active');
                            balloon.fadeOut(75);
                          })
                  )
                .bind('mouseenter', function (e) {
                    isOver = true;
                  })
                .bind('mouseleave', function (e) {
                    isOver = false;
                    setTimeout(function(){
                        if (!isOver)
                        {
                          liElm.removeClass('active');
                          balloon.fadeOut(75);
                        }
                      }, 100);
                  })
          });
          
      });

    //snav
    var snav = $('.snav');
    if (snav.length)
    {
      var snavLis = snav.find('.level1 > li'),
          snavHoverLis = snavLis.filter('.branch'),
          snavRight = snav.offset().left + snav.outerWidth(),
          initSubMenu = function () {
              var subMenu = this;
              if ( !subMenu.data( '$$processed' ) )
              {
                //detect length of snav and split into columns accordingly.
                subMenu.data( '$$processed', true );
                var items = subMenu.find('> li'),
                    numItems = items.length;
  
                if ( numItems > 8  &&  !items.filter('.branch')[0] )
                {
                  subMenu
                      .removeClass('level2')
                      .addClass('l2')
                      .wrap('<div class="level2 navexpand"/>');
                  var numLists = Math.min( 3, Math.ceil( numItems / 5 )),
                      itemsPerList = Math.ceil( numItems / numLists ),
                      i = 1;
                  subMenu.parent().addClass('subs-'+numLists);
                  while (i < numLists)
                  {
                    $('<ul class="l2"/>')
                        .append( items.slice( itemsPerList*i , itemsPerList*(i+1) ) )
                        .appendTo( subMenu.parent() );
                    i++;
                  }
                }
              }
            };
  
      //prevent clicks on branches
      snavHoverLis.find('> a').click(function() { 
          if ( $(this).parent().is('.mc-timar') && window.EPLICA_loggedin ) {}
          else {
            return false;
          }
        });
      snav.find('.level2').hide();
  
      //Show/hide snav level2 (adds and removes 'focused' class).
      snav
          .delayedHighlight({
              delegate: '.level1 > li.branch',
              delay:    100 // <-- 100ms is annoyingly short delay
            })
          // check if the 2nd level in snav is flowing over pgwrap (for users with low resolution).
          // do this every time - as things may have changed via font resizing, etc. etc.
          .bind('highlighton', function (e) {
              var li = $(e.target),
                  subMenu = li.find('.level2')
                                .run(initSubMenu)  // only runs once.
                  subMenuRight = subMenu.offset().left + subMenu.outerWidth(),
                  subMenuOverflow = subMenuRight - snavRight;
              if ( subMenuOverflow >  0 )
              {
                subMenu.css( 'margin-left', parseFloat(subMenu.css('margin-left'), 10) - subMenuOverflow );
              }
              subMenu.fadeIn(150, function() { subMenu.show() });
            })
          .bind('highlightoff', function (e) {
              $(e.target).find('.level2').fadeOut(75);
            });
            
      var snavPos = snavLis.filter(':first').addClass('left').position().top;
      snavLis.each(function () {
          if ($(this).position().top != snavPos)
          {
            snavPos = $(this).position().top;
            $(this).addClass('left');
          }
        });
    }

    
    //sitemap collapser
    $('.sitemap').Req('treecollapse', function() {
        $(this).treeCollapse({ 
            branch: 'li:has(ul)', 
            doTogglers: 1, 
            toggler: '> a.expand',
            startOpen: 'ul.level1 > li:has(ul)'
          });
          
        //prevent clicks on branches
        $(this).find('.level2 > li.branch > a:not(.expand)').log().click(function() { 
            if ( $(this).parent().is('.mc-timar') && window.EPLICA_loggedin ) {}
            else {
              $(this).prev('.expand').trigger('click');
              return false;
            }
          });

        });
    
    $('.stundaskra').Req(Req.localPath + '/js/stundaskra-filter-min.js')


    $('#noFOUC-main').remove();
    $('.pagestyle').fontsizer();
    $('form').autoValidate();

    Req.loadPageScripts();

  }
);
// **** /jqreq *****

