// hide firebug calls from other browsers
if (!("console" in window) || !("firebug" in console)) {
  var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml","group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
  window.console = {};
  for (var i = 0; i < names.length; ++i)
  window.console[names[i]] = function() {}
}

/* ANY PROTOTYPING GOES HERE ***********************************/

// remove whitespace from both ends of string
String.prototype.trim = function() {
  return this.replace(/^\s+|\s+$/g,"");
}


/* CONFIGURATION VARS ******************************************/
var base_url = '/';


// url segments
var base_url_segment = 1; // defualt = 0
function url_segment(num) {
  return window.location.pathname.split('/')[base_url_segment + num];
}

/* START APP FUNCTIONS *****************************************/

window.addEvent('domready',function(){$E('body').addClass('hasJs');});

/* ITEM DETAILS IMAGE SWAPPER ******** */
window.addEvent('domready',function(){
  // get list of item images
  var images = $$('#item_images img');
  for (var i=0; i<images.length; i++) {
    // skip if is main image
    if (images[i].hasClass('main')) continue;
    // preload large images
    var img = document.createElement('img');
    img.src = images[i].src.replace('_thumb', '');
    // add swap action
    images[i].onclick = function() {
      // set this as main image
      $E('#item_images img.main').src = this.src.replace('_thumb', '');
      // remove active class from current active thumb
      $E('#item_images img.active').removeClass('active');
      // set this as active thumb
      this.addClass('active');
      return false;
    }
  }
});

// shipping form behaviours
window.addEvent('domready',function(){
  // set initial state
  if ($('shipping_form')) {
    // hide
    if ($('ship_deliver').checked==false) {
      $('shippingdetails').setStyle('display', 'none');
      $('stores').setStyle('display', 'block');
    }
    else {
      $('stores').setStyle('display', 'none');
    }

    // show/hide action
    $('ship_deliver').onclick = function() {
      $('shippingdetails').setStyle('display', 'block');
      $('stores').setStyle('display', 'none');
    }

    // show/hide action
    $('ship_pickup').onclick = function() {
      $('shippingdetails').setStyle('display', 'none');
      $('stores').setStyle('display', 'block');
    }

    // billing
    if ($('same_as_shipping').checked==true) {
      $('billingdetails').setStyle('display', 'none');
    }
    // show/hide action
    $('same_as_shipping').onclick = function() {
      if ($('same_as_shipping').checked==true) {
        $('billingdetails').setStyle('display', 'none');
      }
      else {
        $('billingdetails').setStyle('display', 'block');
      }
    }
  }
});

// payment type description switching
window.addEvent('domready',function(){
  var radios = $$('input[name="payment_type"]');
  for (var i=0; i<radios.length; i++) {
    radios[i].onclick = function() {
      var p = false;
      var desc = $$('p.payment_description');
      // loop over descriptions
      for (var i=0; i<desc.length; i++) {
        // remove
        desc[i].removeClass('active');
        // show selected
        if (desc[i].hasClass(this.id)) {
          $E('p.' + this.id).addClass('active');
        }
      }
    }
  }
  // show first description
  var p = $E('p.payment_description');
  if (p) p.addClass('active');
});

// toggle gift card message
window.addEvent('domready',function(){
  var msg, card;
  if (card = $('giftcard')) {
    msg = $('card_message');
    card.onclick = function() {
      var gift = $('gift_fields');
      gift.toggleClass('active');		
    }
    // default state
    if (card.checked==true) {
      $('gift_fields').addClass('active');
    }
    else {
      $('gift_fields').removeClass('active');
    }
  }
});


window.addEvent('domready',function(){
  var print = $$('.print');
  for (var i=0; i<print.length; i++) {
    print[i].onclick = function() {
      window.print();
      return false;
    }
  }
});


/* IE FIXES */
window.addEvent('domready',function(){
  // exit if IE 7 or not IE at all
  if (!window.ie || window.ie7) return false;
  // set path to spacer image
//  var spacer = '/' + (url_segment(0) ? url_segment(0)+'/' : '') + 'images/spacer.png';
  var spacer = '/images/spacer.png';
  // get all images on page
  var images = $$('img');
  // loop through images
  for (var i=0; i<images.length; i++) {
    // if image is png, load transparency
    if (images[i].src.indexOf('.png')!=-1) {
      // stop image from collapsing if no width/height set
      images[i].setStyle('width',images[i].width+'px');
      images[i].setStyle('height',images[i].height+'px');
      // apply alpha
      images[i].setStyle('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+images[i].src+'", sizingMethod="image")');
      // hide src image
      images[i].src = spacer;
    }
  }
});