// encoding: utf-8
/*@cc_on/*@if(@_jscript_version<5.7)try{document.execCommand('BackgroundImageCache',0,1)}catch(e){}/*@end@*/

Req(
  'autovalidate',
  'curtain',
  'easing-mini',
  'eutils',
  'fontsizer',
  'fickle',
  'imgpop',
  'labelizor',
  'listscroller',
  'simplecarousel',
  'tabswitcher',
  'x/cookie',
  'x/ifixpng',

  function(){

    var $ = jQuery,
        msie = $.browser.msie,
        F = msie ? 0 : 1;

    $('body').addClass('js-active');

    $('#qstr').labelizor();

  /*
    if(window.collapseSections) {
      collapseSections.config = {
        'div.stafflist div.item' : {
          headSel     : "h3"
        }
      };

      collapseSections.init();
    }
  */

    if (!window.EPLICA_loggedin)
    {

      /* meta date elm morph */
      var isMonths = ['jan','feb','mar','apr','maí','jún','júl','ágú','sep','okt','nóv','des'],
          dateElms = $('div.item h3 .meta .date, div.blogg p.meta .date');

      dateElms.each(function(i) {
          var dateSplit = this.innerHTML.split(".");
          $(this).html('<span class="d">' + dateSplit[0] + '</span> ' +
                        '<span class="m">' + isMonths[dateSplit[1]-1] + '</span> ' +
                        '<span class="y">' + dateSplit[2] + '</span>')
                  .insertBefore( $(this).parent() );
        });

    }

    /* zebra (lefty) script for products */
    $('div.products .item').each(function(i) {
        if(i % 2 == 1) {
          $(this).addClass('itm-alt');
        }
      });



    $('.pgfoot').each(function(){
        var foot = $(this),
            tabs = foot.find('.tabnav ul.tabs');
        if (!tabs[0])
        {
          tabs = foot.find('.tabbox')
                    .makeTabbox()
                        .removeClass('tab-box')
                        .addClass('tabnav');
        }
        tabs
            .tabSwitcher({
                //cssHide: true,
                paneClass: 'tabpane-active'
              });

      });


    $('ul.tabs').tabSwitcher();



    if ($.fn.simpleCarousel) {
      $('div.carousel div.carousel-content')
          .simpleCarousel({
              item:            '.brands',
              nextBtnTemplate: '<a href="#" class="next">Næsti</a>',
              prevBtnTemplate: '<a href="#" class="prev">Fyrri</a>',
              wrap:            true
            });

      $('div.companyinfo div.newproducts ul')
          .simpleCarousel({
              item:            'li',
              nextBtnTemplate: '<a href="#" class="next">Næsti</a>',
              prevBtnTemplate: '<a href="#" class="prev">Fyrri</a>',
              wrap:            true
            });

    }


    $('div.logolisti a img, div.companyinfo div.newproducts li img, div.products .imglist img').each(function() {
        var img = $(this),
            linkElm = img.parent(),
            title = linkElm.attr('title') || img.attr('alt') || img.attr('title');
        linkElm
            .css({
                backgroundImage : 'url(' + img.attr('src') + ')',
                backgroundRepeat : 'no-repeat',
                backgroundPosition : '50% 50%'
              })
            .attr('title', title)
        img.hide();
      });


    var activateCarousel = function () {
            var itemBox = $(this),
                isInPopup = itemBox.is('.popbox'),
                listItems = itemBox.find('ul.imglist li'),
                delayTimeout;

            var imgDiv = $('<div class="img" />')
                            .bind('click', function (e) { return false; })
                            .prependTo(itemBox);
            if (!isInPopup)
            {
              imgDiv.bind('click', function (e) {
                  var imgBoxImg = this,
                      popup = $('<div class="popup popup-productimg" />');
                      imgList = listItems.eq(0).parents('.imglist').clone().wrap('<div />').parent().fin();

                  imgList
                      .css('top', $(window).scrollTop() )
                      .addClass('popbox')
                      .append(
                          $('<a class="closebtn" href="#">Loka</a>')
                              .bind('click', function (e) {
                                  popup.fickle('close');
                                  return false;
                                })
                        )
                  popup
                      .hide()
                      .append( imgList )
                      .curtain({ className:null })
                      .fickle({
                          focusTarget: null,
                          opener:   imgBoxImg,
                          fadein:   F*350,
                          fadeout:  F*250,
                          onClosed: function (e) { $(this).remove(); }
                        })
                      .appendTo('body')
                      .fickle('open');

                  imgList.find('.imglist li')
                      .removeClass('visible overflow');
                  imgList
                      .each(activateCarousel)
                      .prepend('<a class="focustarget" href="#">.</a>');
                });
            }

            listItems
                .bind('click', function (e) {
                    var li = $(this);
                        
                    if (!li.is('.current'))
                    {
                      var item = li.closest('div.item, .popbox'),
                          href = li.find('a').attr('href');

                      item.find('.imglist li').removeClass('current');
                      li.addClass('current');
                      var imgBox = item.find('div.img')
                                      .html('<span><a href="' + href + '"><img src="' + href + '" alt="" /></a></span>')

                      if (isInPopup)
                      {
                        imgBox.log().find('a').zap();
                      }
                    }
                    return false;
                  })
                .bind('mouseenter focusin', function(e){
                    if (!delayTimeout)
                    {
                      var li = $(this);
                      delayTimeout = setTimeout(function (e) {
                          li.trigger('click');
                        }, 500);
                    }
                  })
                .bind('mouseleave focusout', function (e) {
                    clearTimeout(delayTimeout);
                    delayTimeout = undefined;
                  })
                .filter(isInPopup ? '.current' : ':first')
                    .removeClass('current')
                    .trigger('click');

            var windowSize = isInPopup ? 6 : 3;
                stepSize = isInPopup ? 3 : 1,
                aspect = isInPopup ? 'horizontal' : 'vertical';
            if (listItems.length > windowSize)
            {
              listItems
                  .parent() // ul
                      .wrap('<div class="imgscrolllist" />')
                      .parent() // div.imgscrolllist
                          .listscroller({
                              item:             'li',
                              windowSize:       windowSize,
                              stepSize:         stepSize,
                              aspect:           aspect,
                              animation:        'carousel',
                              wrap:             'none',
                              overflow:         'hidden',
                              speed:            300,
                              currentPageClass: null,
                              cursorItemClass:  null
                            });
            }

          };


    // products
    $('div.products div.item')
        .each(function(){
            var itemBox = $(this);

            // Add "send to facebook" link to product items
            var anchor = itemBox.prev().attr('name');
            $('<a class="btnfacebook"><span>Senda á Facebook</span></a>')
                .attr({
                    href: 'http://www.facebook.com/sharer.php?u='+encodeURIComponent(document.location.href) + '#' + anchor +'&t='+encodeURIComponent($('div.pgmain .boxhead:first').text()+' | '+$('img.logo:first').attr('alt') )
                  })
                .appendTo( itemBox.find('div.act') );
          })
        .each(activateCarousel);




    $('#noflickerCSS').remove();

    if (msie && $.browser.version < 7)
    {
      if ($('div.brands').length > 0)
      {
        $('body').addClass('kick').removeClass('kick');
      }
      $('img[src$=".png"]').ifixpng();
    }


    /** // disabled for now...
    $('div.people').Req(
        'http://www.ntc.is/bitar/common/personas/loadEmployee.js',
        function(){ this.eplicaEmployeeLoader(); }
      );
    /**/ 

  
    // facebook button for blog
    var fButton =  $('<a class="btnfacebook">Senda á Facebook</a>')
                      .attr(
                        'href',
                        'http://www.facebook.com/sharer.php?u='+encodeURIComponent(document.location.href) +'&t='+encodeURIComponent($('div.pgmain .boxhead:first').text()+' | '+$('img.logo:first').attr('alt'))
                      );

    $('div.blogg div.boxbody')
        .append(fButton)
            .find('.btnfacebook')
                .wrap('<div class="act" />');



    // fontsizer
    $('div.pagestyle').fontsizer();

    // validate all forms
    $('form').autoValidate();


  }
);




/* imgGallery - simple version (no popup) of the script from portusgroup.is */
Req(true,
  'http://codecentre.eplica.is/js/utils_1.1.js',
  function() {

    var imageIndex = null,
         currentImage = null,
         viewPort,
         captionElm,
         viewImage,
         titleElm;


    var makeView = function ( src, img )
    {
      viewPort   = DOM.makeElement('<div class="imgbox"><div class="content"></div></div>');
      viewImage  = document.createElement("img");
      imgContent = DOM.makeElement('<div class="imgcontent"></div>');
      titleElm   = DOM.makeElement('<div class="imgname"></div>');
      captionElm = DOM.makeElement('<div class="imgtext"></div>');

      DOM.appendChild(titleElm,   imgContent);
      DOM.appendChild(captionElm, imgContent);

      DOM.appendChild(viewImage,  DOM.firstElmOf(viewPort));
      DOM.appendChild(imgContent, DOM.firstElmOf(viewPort));

      updateView( null, src, img, 0);

      return viewPort;
    };



    var updateView = function ( e, src, img, newIndex )
    {
      for(var i = 0; i < aElms.length; i++)
      {
        DOM.removeClass(aElms[i].parentNode, 'current');
      }

      DOM.addClass(aElms[newIndex].parentNode, 'current');

      viewImage.src = src;

      var caption = img.alt   || '';
      var title   = img.title || '';

      captionElm.innerHTML = caption;
      captionElm.style.display = (caption) ? '' : 'none';

      titleElm.innerHTML = title;
      titleElm.style.display = (title) ? '' : 'none';

      currentImage = newIndex;

      DOM.removeNode(viewImage);
      DOM.appendChild(viewImage,  DOM.firstElmOf(viewPort));

      if(is_ie.version <= 7) // timing bug fix
      {
        DOM.addClass(document.body, 'kick');
        DOM.removeClass(document.body, 'kick');
      }

      return false;

    };


    var imageIndex = DOM.get('div.blogg ul.thumbs');

    for(var i = 0; i < imageIndex.length; i++)
    {
      aElms = DOM.get('li a', imageIndex[i]);

      if(aElms.length && DOM.firstElmOf(aElms[0]))
      {
        var imgBox = makeView( aElms[0].href, DOM.firstElmOf(aElms[0]) );
        DOM.insertBefore(imgBox, imageIndex[i]);

        for(var j = 0; j < aElms.length; j++)
        {
          Event.add( aElms[j], 'click', updateView, null, aElms[j].href, DOM.firstElmOf(aElms[j]), j );
        }
      }
    }

  }
);

