// encoding: utf-8
/*@cc_on/*@if(@_jscript_version<5.7)try{document.execCommand('BackgroundImageCache',0,1)}catch(e){}/*@end@*/

// ***** jqreq *****
Req(
  'eutils',
  'fontsizer',
  'autovalidate',
  'mailtoenabler',
  'labelizor',
  'tabswitcher',
  'https://secure.eplica.is/codecentre/jq/av.postal_is-source.js',
  function(){
    var $ = jQuery;

    // using this on enav
    $('body').addClass('js-active');

    $('#qstr').labelizor();

    //remove flicker trick
    $('#noflickerCSS').remove();


    if (!window.EPLICA_loggedin)
    {
      $('.netfang').mailtoEnabler();

      //zebra tables
      $('div.article table tr:even').addClass('alt');

      // add div for blockquote look
      $('div.article blockquote').wrapInner('<div />');
    }


    // fontsizer
    $('div.pagestyle').fontsizer();

    // validate all forms
    $('form').autoValidate();


    /* *** hnav fix *** */
    var hnavWrapper = $('<div class="hnav-wrapper" />');
    $('div.hnav')
        .after( hnavWrapper )
        .appendTo( hnavWrapper )
        .find('ul.level1 > li')
            .each(function(i){
                if(i > 0) {
                  $(this)
                      .appendTo( hnavWrapper )
                      .wrap('<div class="hnav"><div class="boxbody"><ul></ul></div>');

                  if(i % 3 == 0) {
                    $(this).parents('div.hnav').css('clear', 'left').before('<div>&nbsp;</div>'); // nbsp must for IE?
                  }
                }
              });


    // add an extra hover item
    $('div.enav li a, div.contactbox li a').wrapInner('<span />');

    // button look fix
    var btnHoverClass = 'hover';
    $('.fi_btn') // can be <p> and <div>
        .wrapInner('<div />')
            .find('div')
                .hover(function(){$(this).toggleClass(btnHoverClass);},
                        function(){$(this).toggleClass(btnHoverClass);});

    // acronym fix
    $('label acronym').each(function(i){
        $(this).parent().append($(this));
      });


    (function(){

      var pnr = $('.fi_pnr'),
          selbox = $('<select></select>'),
          pnrInput = pnr.find('input');

      selbox
          .attr({
              name: pnrInput.eq(0).attr('name'),
              id : pnrInput.eq(0).attr('id')
            })
          .appendTo(pnr);

      pnrInput.remove();

      pnr
          .addClass('fi_sel')
          .removeClass('fi_txt');

      $.each($.av.postCodes.is, function(key, val) {
          selbox.append('<option>' + key + ' - ' + val + '</option>');
        });

    })();
    
    
    // contracts 
    
    (function(){
    
        var conbox = $('div.contracts div.boxbody');
        
        $('th a', conbox)
            .bind('click', function(){
            
                var link = $(this),
                    tr = link.parents('tr');
                    
                tr.toggleClass('open');
                
                if(!link.hasClass('done'))
                {
                  link.addClass('done');
                
                  $.get(link.attr('href'), '', function(response){
                  
                    tr.after('<tr><td class="details" colspan="6">' + response +'</td></tr>');
                  
                  });
                } else {
                  tr.next().find('td.details').toggleClass('details-closed');
                }
            
                return false;
            
            })
            .parents('tr')
                .hover(function(){ $(this).addClass('hover'); }, function(){ $(this).removeClass('hover'); })
                    .find('th, td')
                      .bind('click', function(){
                          
                          $(this).parent().find('a').eq(0).trigger('click');
                    
                      });
    })();



    $('div.people').Req('http://www.mp.is/bitar/common/personas/loadEmployee.js', function(){ this.eplicaEmployeeLoader(); });
    
    
    //Tab switcher
      $('ul.tabs').tabSwitcher();
    
    
    $('#noflickerCSS').remove();

  }
);

