// encoding: utf-8
/*@cc_on/*@if(@_jscript_version<5.7)try{document.execCommand('BackgroundImageCache',0,1)}catch(e){}/*@end@*/
Req.localPath = '/skin/basic/';
Req(
  //Req.baseUrl.replace(/jq\/$/, '') + 'js/utils_1.1.js', // hardcoded into the page's <head/>
  Req.baseUrl.replace(/jq\/$/, '') + 'js/fieldsetcloner_1.0.js',
  'labelizor',
  'fontsizer',
  'autovalidate',

  function(){
    var w = window,
        $ = jQuery;
        
    $('body').addClass('js-active');        

    $('#semail, .home div.subscribe:not(.subscribe-small) #s_name, .home div.subscribe:not(.subscribe-small) #s_email').labelizor();

    /* *** products *** */
    $('div.products div.item')
        .each(function(){
            var _item = $(this),
                _headerLinks = _item.find('h3 a');

            _item.find('> span img') // on live web img has a span wrapped around it so this should be: .find('> span img')
                .each(function(i){
                    var img = $(this);
                    $('<i class="img" />')
                        .css( 'background-image', 'url('+ this.src +')' )
                        .attr({
                            title: this.alt || undefined
                          })
                        .append(img)
                        .prependTo( _headerLinks[i] );
                  });

          });



    $('#noflickerCSS').remove();


          
    $('div.productlist').Req(
        Req.localPath + 'js/jquery.ui.spinner-min.js',
        Req.localPath + 'js/jquery.prettynum-1.0-min.js',

        function() { 
          var total = $(this).find('span.total'),
               subtotal = $(this).find('span.sum');
          $(this).find('tbody tr')
                .each(function(i) {
                    var tr = $(this),
                        imgToPop = tr.find('td:first img');

                    if(i%2==0) { tr.addClass('alt') }

                    imgToPop
                      .wrap('<span class="img"></span>')
                        .parent()
                            .bind('mouseenter', function() { imgToPop.show(0); })
                            .bind('mouseleave', function() { imgToPop.hide(0); });

                    var inputField = tr.find('input'),
                        price = tr.find('span.price'),
                        samtals = tr.find('span.sum');
                    inputField.spinner({ min: 0 }).parent().find('.ui-spinner-up').attr('title', 'Fleiri').end().find('.ui-spinner-down').attr('title', 'Færri');

                    inputField
                        .bind('change keyup spinchange', function (e) {
                            samtals.text( $.prettyNum.make( parseInt(price.text().replace(/\D/g, ''), 10) * inputField.val(), this, (e.type != 'change') ) );
                            var sum = 0;
                            subtotal.each(function(i) {
                                sum += parseInt( $(this).text().replace(/\D/g, ''), 10);
                              });
                            total.text( $.prettyNum.make(sum, this, (e.type != 'change')) );
                          })
                        //.trigger('change');
                  });
        }
      );



    /* *** product *** */
    $('div.product').Req( Req.localPath + 'js/productpage.js?v2' );




    /* *** outlets *** */
    var outletsInner = DOM.get('div.outlets div.boxbody')[0];
    if(outletsInner)
    {
      var outletItems = DOM.get('div.outlets div.item'),
          outlets = [
            'Reykjavík||158||326', // name, position left, position top,
            'Akureyri||345||117',
            'Borgarnes||101||292',
            'Reykjanesbær||34||335'
          ];
      for(var i = 0; i < outlets.length; i++)
      {
        var newElm = document.createElement('a'),
            split = outlets[i].split('||');
        
        newElm.className = 'dot';
        newElm.href = '#';
        newElm.innerHTML = split[0];
        newElm.style.left = split[1] + "px";
        newElm.style.top = split[2] + "px";
        
        EEvent.add(newElm, 'mouseover', function(e, place) {
          for(var j = 0; j < outletItems.length; j++)
          {
            var itemHeader = DOM.get('h3 a', outletItems[j])[0].innerHTML.toLowerCase();
          
            if(itemHeader.indexOf(place) == -1)
            {
              DOM.addClass(outletItems[j], 'item-disabled');
            }
          }
        }, null, split[0].toLowerCase());
        
        
        EEvent.add(newElm, 'mouseout', function(e) {
          for(var j = 0; j < outletItems.length; j++)
          {
            DOM.removeClass(outletItems[j], 'item-disabled');
          }
        });
        
        EEvent.add(newElm, 'click', EEvent.kill);
        
        DOM.appendChild(newElm, outletsInner);
      }
    }



    if (window.fieldsetCloner)
    {
      fieldsetCloner.config['fieldset.repeatable'] = {
        addBtnTemplate : '<div class="myfunkybtn"><strong><a href="#" class="%{className}" title="%{tooltip}">%{label}</a></strong></div>'
      };
      fieldsetCloner.texts.is.rowName = 'viðhengi';
      fieldsetCloner.texts.en.rowName = 'address';
      fieldsetCloner.init();
    }


    
    // creditcard v2 img popup
    (function() {
      var imgId = 'ccdigits',
          ccv2img = document.getElementById(imgId);
      
      function toggle()
      {
        if(ccv2img.style.display == 'none') {
          ccv2img.style.display = 'inline';
        } else {
          ccv2img.style.display = 'none';
        }
      }
      
      if(ccv2img) {
        ccv2img.style.display = 'none';
        
        var newLink = DOM.node('<a href="#' + imgId + '">Hjálp</a>');
        
        EEvent.add(newLink, 'click', function(){ toggle(); return false; });
        EEvent.add(ccv2img, 'click', function(){ toggle(); return false; });
        
        DOM.insertBefore(newLink, ccv2img);
      }
    
    })();


    // only show cartstatus list when not in checkout
    if(!$('div.co').length > 0)
    {
      $('div.cartstatus')
        .removeClass('close') // open up
        .pause(5000) // wait for it...
        .animate({ height: '27px' }, 500); // ... and close again
    }


    // automatic retrieval of personal information based on icelandic Kennitala
    var setupAutoFill = function(cfg){
        this.each(function(){
            var form = $(this),
                ktfield = form.find('input[name="'+ cfg.ktFieldname +'"]');
            if (ktfield.length)
            {
              var success,
                   fields = cfg.fillFields;
              $.each(fields, function(key, val){
                  var field = typeof val == 'string' ? form.find('input[name="'+ val +'"]') : $(val);
                  fields[key] = field;
                  if (field.length)
                  {
                    success = 1;
                  }
                  else
                  {
                    delete fields[key];
                  }
                });
              if (success)
              {
                ktfield
                  .bind('change', function (e) {
                      var ktfield = $(this);
                      
                      if ( ktfield.val() && ktfield.isValid() )
                      {
                        $.ajax({
                           type: 'GET',
                           url: '/ws/thjodskra/'+ktfield.val(),
                           dataType: 'text/xml',
                           success: function(data) {
                                
                                var xml;
                                if ($.browser.msie && typeof data == "string") {
                                    xml = new ActiveXObject("Microsoft.XMLDOM");
                                    xml.async = false;
                                    xml.loadXML(data);                
                                } else {
                                    xml = data;
                                }

                                xmlDoc = $(xml);

                                if ( xmlDoc.find('Ktala').text() )
                                {
                                  /* !fields.name.val() && */ fields.name.val( xmlDoc.find('Nafn').text() );
                                  /* !fields.addr.val() && */ fields.addr.val( xmlDoc.find('Heimili').text() );
                                  /* !fields.post.val() && */ fields.post.val(
                                      xmlDoc.find('Ponr').text() +
                                      (cfg.addLocalityToZip ? ' - '+xmlDoc.find('Pfang').text() : '')
                                    );
                                }
                           }
                       }); //close $.ajax(
                       
                      }
                    })
                  .trigger('change');
              }
            }
          }); 
      };

    $('.sendaheim form:has(:hidden[value="frm_hagkaupheim"])').run(setupAutoFill, [{
          ktFieldname: 'kt',
          addLocalityToZip: true,
          fillFields: {
              name: 'name',
              addr: 'address1',
              post: 'pnr'
            }
        }]
      );
      
    $('div.co-step2 form')
        .each(function(){
        
            if($(this).attr('action') == '/karfa/register')
            {
                $(this).run(setupAutoFill, [{
                  ktFieldname: 'Kennitala',
                  //addLocalityToZip: false,
                  fillFields: {
                      name: 'FullName',
                      addr: 'AddressName',
                      post: 'ZipCode'
                    }
                }]
              );
            }
        });

      

    $('.toggleforgotten').click(function (){
        $('.forgottenpassword').slideToggle('normal');
    });
      
      
    $('div.pagestyle').fontsizer();
    $('form').autoValidate();
  }
);




