//
Masdings.inventory = Masdings.inventory ? Masdings.inventory : {};

/**
 *
 */
Masdings.inventory.details = (function() {
   //
   var str_form_id = '#inventory_detail_add_to_basket_form',

   //
   str_thumbnail = '#product .thumbs img',

   //
   str_thumbnail_id = '#thumbnail_image',

   //
   str_zoom_anchor_id = '#jqzoom',

   //
   $obj_add_button = null,

   //
   $obj_variation = null,

   /**
    *
    */
   initialise = function() {
      //
      $("#tabs").tabs();

      //
      $obj_add_button = $(str_form_id + ' input[type="submit"]');
      $obj_variation = $(str_form_id + ' select[name="int_inventory_id"]');

      //
      $(str_thumbnail).click(swap_image);

      //
      $('#product_image').click(zoom_image);
      $('#zoom').click(zoom_image);

      //
      $obj_add_button.click(validate);
   },

   /**
    *
    */
   zoom_image = function() {
      var str_caption = $('.details h2').text();
      var arr_matches = $(str_thumbnail_id).attr('src').match(/\/product-media\/([^\/]*)/);
      tb_show(str_caption, '/product-media/' + arr_matches[1] + '/1000/1000/zoomed.jpg');

      return false;
   },

   /**
    *
    */
   swap_image = function() {
      // get new id
      var arr_matches = $(this).attr('src').match(/\/product-media\/([^\/]*)/);
      var str_selected = arr_matches[1];

      // replace main image
      var str_thumbnail_src = $(str_thumbnail_id).attr('src');
      var str_thumbnail_src = str_thumbnail_src.replace(/\/product-media\/[^\/]*/, '/product-media/' + str_selected);
      $(str_thumbnail_id).attr('src', str_thumbnail_src);

      return false;
   },

   /**
    *
    */
   validate = function(){
      if($obj_variation.val() == -1) {
         alert('Please select a size');
         return false;
      }

      return true;
   };

   Sprint.modules.add(initialise);

   return {};
}());


Masdings.inventory.countdown = (function() {
   //
   var int_deadline_hour = 14,
   //
   obj_now = new Date(),
   //
   initialise = function() {
      if(is_timer_needed() == false) {
         return;
      }

      // Set deadline
      var obj_deadline = new Date(obj_now.getFullYear(), obj_now.getMonth(), obj_now.getDate(), int_deadline_hour);

      // Start timer and display
      $('#defaultCountdown').countdown({until: obj_deadline});
      $('#next_day_delivery_countdown').show();
   },
   /**
    *
    */
   is_timer_needed = function() {
      // Dispatch is Mon Fri before 2pm.  Don't show timer if it's before 8am.
      return (obj_now.getDay() > 0 && obj_now.getDay() < 6 && obj_now.getHours() >= 8 && obj_now.getHours() < int_deadline_hour);
   };

   Sprint.modules.add(initialise);

   var obj_public = {};
   return obj_public;
}());
