
String.prototype.trim = function() {
  return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
  return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
  return this.replace(/\s+$/,"");
}


/*-------------------------------------------------------------------------
=CORE FUNCTIONS
-------------------------------------------------------------------------*/

function css_browser_selector(u) { var ua = u.toLowerCase(), is = function (t) { return ua.indexOf(t) > -1 }, g = 'gecko', w = 'webkit', s = 'safari', o = 'opera', m = 'mobile', h = document.documentElement, b = [(!(/opera|webtv/i.test(ua)) && /msie\s(\d)/.test(ua)) ? ('ie ie' + RegExp.$1) : is('firefox/2') ? g + ' ff2' : is('firefox/3.5') ? g + ' ff3 ff3_5' : is('firefox/3.6') ? g + ' ff3 ff3_6' : is('firefox/3') ? g + ' ff3' : is('gecko/') ? g : is('opera') ? o + (/version\/(\d+)/.test(ua) ? ' ' + o + RegExp.$1 : (/opera(\s|\/)(\d+)/.test(ua) ? ' ' + o + RegExp.$2 : '')) : is('konqueror') ? 'konqueror' : is('blackberry') ? m + ' blackberry' : is('android') ? m + ' android' : is('chrome') ? w + ' chrome' : is('iron') ? w + ' iron' : is('applewebkit/') ? w + ' ' + s + (/version\/(\d+)/.test(ua) ? ' ' + s + RegExp.$1 : '') : is('mozilla/') ? g : '', is('j2me') ? m + ' j2me' : is('iphone') ? m + ' iphone' : is('ipod') ? m + ' ipod' : is('ipad') ? m + ' ipad' : is('mac') ? 'mac' : is('darwin') ? 'mac' : is('webtv') ? 'webtv' : is('win') ? 'win' + (is('windows nt 6.0') ? ' vista' : '') : is('freebsd') ? 'freebsd' : (is('x11') || is('linux')) ? 'linux' : '', 'js']; c = b.join(' '); h.className += ' ' + c; return c; }; css_browser_selector(navigator.userAgent);

$(document).ready(function () {
  
   $('body').removeClass('no-js');

  //Start Dropdown Menu

  //Fix IE6 Menu
  if ($.browser.msie && $.browser.version < 7) {
    $('#mainNav > li').addClass('first');
    $('#mainNav > li > a').addClass('menuLink');

    $('#mainNav > li').hover(function () {
      $(this).addClass('firstHover');
    },
    function () {
      $(this).removeClass('firstHover');
    });
  }

  //mouseenter
    //$('#mainNav > li:not(#mainNav > li#shop, #mainNav > li#oh)').mouseenter(function (e) {
    $('#mainNav > li').mouseenter(function (e) {
    if ($('#mainNav').find('.subMenuOverlay').length == 0) {
      $('#mainNav').find('li').eq(0).before($('<div class="subMenuOverlay"></div>'));
      if ($.browser.msie && $.browser.version < 7)
        $('#mainNav').find('.subMenuOverlay').css('z-index', -1);

    }

    var overlay = $('#mainNav').find('.subMenuOverlay');
    var subMenu = $(this).find('.subMenu');
    $(this).find('> a').css('color', '#FFFFFF');

     // stk - match menu overlay height to main container
    if($('#container').hasClass('home')) {
      var w = $('#content').width();
      var h = $('#content').height();
    }
    else if($('#content').hasClass('sliderpage')) {
      var w = $('#slider').width();
      var h = $('#slider').height();
      h+= $('#slider').offset().top - 50;
    }
    else if($('#container').hasClass('generic-fluid')) {
      var w = $('#content').width() - 16;
      var h = $('#content').height() + 60;
    }
    else {
      var w = $('#content').width();
      var h = $('#content').height();
    }    
    // Hide the video player swf while nav is open
    $('.video-player').css('visibility', 'hidden');
       
    overlay.css('height', h);
    overlay.css('width', w);
        
    overlay.stop();
    overlay.show();
    overlay.animate({ 'opacity': 1 }, 'fast');
    subMenu.show();
    /* subMenu.slideDown('fast'); */
  });

  //mouseleave
  $('#mainNav > li').mouseleave(function (e) {
  //$('#mainNav > li:not(#mainNav > li#shop)').mouseleave(function (e) {
    var overlay = $('#mainNav').find('.subMenuOverlay');
    var subMenu = $(this).find('.subMenu');
    $(this).find('> a').css('color', '#999999');
    overlay.stop();
    overlay.animate({ 'opacity': 0 }, 'fast', function () { $(this).hide(); });
    subMenu.hide();
    
    // Show the video player swf again
    $('.video-player').css('visibility', 'visible');
        
    //animated alternative
    /* subMenu.slideUp('fast'); */
  });

  //End Dropdown menu

  // Start join link
  $('#joinLink').click(function(e) {
    if(!$('#subscribeForm').hasClass('active')) {
      if($('#container').hasClass('with-slider')) {
        $('#header').slideUp('fast');
      }
      else {
        $('#logo').css('visibility', 'hidden');
      }
      $('#subscribeForm').slideDown('fast');
      $('#subscribeForm').addClass('active');
    }
    else {
      if($('#container').hasClass('with-slider')) {
        $('#header').slideDown('fast');
      }
      else {
        $('#logo').css('visibility', 'visible');
      }
      $('#subscribeForm').slideUp('fast');
      $('#subscribeForm').removeClass('active');
    }
    e.preventDefault();
  });

  $('#subscriptionClose').click(function () {
    $('#joinLink').trigger('click');
  });
  
  //Ajax Form Submission     
  $('#subForm').submit(function (e) {
    e.preventDefault();
    $.getJSON(
      this.action + "?callback=?",
      $(this).serialize(),
      function (data) {
        if ($('#subscription-confirmation').length > 0) {
          $('#subscription-confirmation').remove();
        } 
        $('#subscribeForm').append('<div id="subscription-confirmation"><div>' + data.Message + '</div></div>');
        $('#subscription-confirmation').slideDown();
     });
  });
  
  $(window).load(function() {
    //Fix Sidebar
    if($('.generic-fluid .generic-fluid-item.last').length > 0) {
      var h = $('.table-layout').height();
      $('.generic-fluid .generic-fluid-item.last').css('height', h);
    }
  });
  
  //End join link

  //Start map link

  $('#mapLink').click(function (e) {
    if ($('#footerMap').css('display') == 'none')
      $('#footerMap').slideDown('fast');
    else
      $('#footerMap').slideUp('fast');
    e.preventDefault();
  });

  //End map link

  //Start Calendar Accordion

  $('.accordion div.row').click(function (e) {
    var content = $(this).find('> div');
    if (content.css('display') == 'none') {
      $(this).parent().find('div.row > div').slideUp('fast');
      $(this).parent().find('div.row > a').removeClass('active');
      $(this).find('a').addClass('active');
      content.slideDown('fast');
    }
    e.preventDefault();
  });

  //End Calendar Accordion

  //Start Select Box

  $('.selectMenu select').each(function () {
    $(this).parent().find('span').html($(this).find('option').eq(this.selectedIndex).html());
  });

  $('.selectMenu select').change(function () {
    $(this).parent().find('span').html($(this).find('option').eq(this.selectedIndex).html());
  });

  //End Select Box


  //Radio button click functionality for the Shopping Cart's delivery types  
  $('input[type=radio]').each(function(){
    if($(this).attr('checked')) {
      $(this).next('label').addClass('active');
    }
    $(this).click(function(){
      $('label.active').removeClass('active');
      if($(this).attr('checked')) {
        $(this).next('label').addClass('active');
      }
    });
  });


  $('input[type=checkbox]').each(function () {
    if ($(this).attr('checked'))
      $(this).parent().addClass('active');
    else
      $(this).parent().removeClass('active');
  });

  $('input[type=checkbox]').change(function () {
    if ($(this).attr('checked'))
      $(this).parent().addClass('active');
    else
      $(this).parent().removeClass('active');
  });

  //Start bulur and focus event of input
  $('input[type=text], input[type=password]').each(function () {

    $(this).attr('ext_val', $(this).val());
    $(this).focus(function () {
      if ($(this).val() == $(this).attr('ext_val'))
        $(this).val('');
    });
    $(this).blur(function () {
      if ($(this).val() == '')
        $(this).val($(this).attr('ext_val'));
    });
  });

  //End input

  //Start Fix Shop Sidebar
  /*
  function fixSidebar() {
    if ($('.sidebar').height() <= $('.sidebar').parent().height()) {
      var dif = $('.sidebar').parent().innerHeight() - $('.sidebar').outerHeight();
      var last = $('.sidebar').children().last();
      last.css('min-height', last.height() + dif);
    }
  }
  $(window).load(fixSidebar);
  */
  //End Fix Shop Sidebar
  
  function shop_fix_sidebar() {
    var h1 = $('.sidebar').height();
    var h2 = $('.box.content').height();
    var diff = h2 - h1;
    if(diff > 0) {
      var last = $('.sidebar .row').last().children('div').last().children('div').last();  
      last.addClass('last');
      last.css('min-height', last.height() + diff + 7);
    }
    /*
    else {
      var last = $('.content .pagination');  
      last.addClass('last');
      last.css('min-height', last.height() + (diff * -1) - 7);
    }
    */
  }
  $(window).load(shop_fix_sidebar);


  if ($.browser.msie || $.browser.opera) {
    $('a').focus(function () {
      this.blur();
    });
  } else {
    $('a').click(function () {
      this.blur();
    });
  }

  
    });


/*  ie6 png fix */
if ($.browser.msie && $.browser.version < 7) {
  eval(function (p, a, c, k, e, r) { e = function (c) { return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36)) }; if (!''.replace(/^/, String)) { while (c--) r[e(c)] = k[c] || e(c); k = [function (e) { return r[e] } ]; e = function () { return '\\w+' }; c = 1 }; while (c--) if (k[c]) p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c]); return p } ('2 E={J:\'E\',Z:{},1E:7(){4(x.1l&&!x.1l[6.J]){x.1l.23(6.J,\'24:25-26-27:3\')}4(1F.11){1F.11(\'28\',7(){E=29})}},1G:7(){2 a=x.1m(\'8\');x.1H.1b.1n(a,x.1H.1b.1b);2 b=a.1o;b.1c(6.J+\'\\\\:*\',\'{12:2a(#1I#2b)}\');b.1c(6.J+\'\\\\:9\',\'Q:1p;\');b.1c(\'1J.\'+6.J+\'1K\',\'12:y; 1q:y; Q:1p; z-2c:-1; 1d:-1r; 1L:1M;\');6.1o=b},1N:7(){2 a=13.2d;4(13.1e.K(\'2e\')!=-1||13.1e.K(\'1q\')!=-1){E.1f(a)}4(13.1e==\'8.1s\'){2 b=(a.F.1s==\'y\')?\'y\':\'2f\';G(2 v M a.3){a.3[v].9.8.1s=b}}4(13.1e.K(\'14\')!=-1){E.1t(a)}},1t:7(a){4(a.F.14.K(\'2g\')!=-1){2 b=a.F.14;b=1u(b.2h(b.1v(\'=\')+1,b.1v(\')\')),10)/2i;a.3.N.9.8.14=a.F.14;a.3.C.I.2j=b}},15:7(a){2k(7(){E.1f(a)},1)},2l:7(a){2 b=a.1O(\',\');G(2 i=0;i<b.2m;i++){6.1o.1c(b[i],\'12:2n(E.1P(6))\')}},1f:7(a){a.S.1Q=\'\';6.1R(a);6.16(a);6.1t(a);4(a.O){6.1S(a)}},1T:7(b){2 c=6;2 d={2o:\'16\',2p:\'16\'};4(b.17==\'A\'){2 e={2q:\'15\',2r:\'15\',2s:\'15\',2t:\'15\'};G(2 a M e){d[a]=e[a]}}G(2 h M d){b.11(\'1w\'+h,7(){c[d[h]](b)})}b.11(\'2u\',6.1N)},1x:7(a){a.8.2v=1;4(a.F.Q==\'2w\'){a.8.Q=\'2x\'}},1S:7(a){2 b={\'2y\':P,\'2z\':P,\'2A\':P};G(2 s M b){a.3.N.9.8[s]=a.F[s]}},1R:7(a){4(!a.F){1g}U{2 b=a.F}G(2 v M a.3){a.3[v].9.8.1U=b.1U}a.S.18=\'\';a.S.19=\'\';2 c=(b.18==\'1V\');2 d=P;4(b.19!=\'y\'||a.O){4(!a.O){a.D=b.19;a.D=a.D.2B(5,a.D.1v(\'")\')-5)}U{a.D=a.1h}2 e=6;4(!e.Z[a.D]){2 f=x.1m(\'1J\');e.Z[a.D]=f;f.2C=e.J+\'1K\';f.S.1Q=\'12:y; Q:1p; 1y:-1r; 1d:-1r; 1q:y;\';f.11(\'2D\',7(){6.1i=6.2E;6.1j=6.2F;e.16(a)});f.1h=a.D;f.1W(\'1i\');f.1W(\'1j\');x.1X.1n(f,x.1X.1b)}a.3.C.I.1h=a.D;d=V}a.3.C.I.1w=!d;a.3.C.I.N=\'y\';a.3.N.9.8.18=b.18;a.S.19=\'y\';a.S.18=\'1V\'},16:7(e){2 f=e.F;2 g={\'W\':e.2G+1,\'H\':e.2H+1,\'w\':6.Z[e.D].1i,\'h\':6.Z[e.D].1j,\'L\':e.2I,\'T\':e.2J,\'1k\':e.2K,\'1z\':e.2L};2 i=(g.L+g.1k==1)?1:0;2 j=7(a,l,t,w,h,o){a.2M=w+\',\'+h;a.2N=o+\',\'+o;a.2O=\'2P,1Y\'+w+\',1Y\'+w+\',\'+h+\'2Q,\'+h+\' 2R\';a.8.1i=w+\'u\';a.8.1j=h+\'u\';a.8.1y=l+\'u\';a.8.1d=t+\'u\'};j(e.3.N.9,(g.L+(e.O?0:g.1k)),(g.T+(e.O?0:g.1z)),(g.W-1),(g.H-1),0);j(e.3.C.9,(g.L+g.1k),(g.T+g.1z),(g.W),(g.H),1);2 k={\'X\':0,\'Y\':0};2 m=7(a,b){2 c=P;2S(b){1a\'1y\':1a\'1d\':k[a]=0;1A;1a\'2T\':k[a]=.5;1A;1a\'2U\':1a\'2V\':k[a]=1;1A;1I:4(b.K(\'%\')!=-1){k[a]=1u(b)*.2W}U{c=V}}2 d=(a==\'X\');k[a]=2X.2Y(c?((g[d?\'W\':\'H\']*k[a])-(g[d?\'w\':\'h\']*k[a])):1u(b));4(k[a]==0){k[a]++}};G(2 b M k){m(b,f[\'2Z\'+b])}e.3.C.I.Q=(k.X/g.W)+\',\'+(k.Y/g.H);2 n=f.30;2 p={\'T\':1,\'R\':g.W+i,\'B\':g.H,\'L\':1+i};2 q={\'X\':{\'1B\':\'L\',\'1C\':\'R\',\'d\':\'W\'},\'Y\':{\'1B\':\'T\',\'1C\':\'B\',\'d\':\'H\'}};4(n!=\'1D\'){2 c={\'T\':(k.Y),\'R\':(k.X+g.w),\'B\':(k.Y+g.h),\'L\':(k.X)};4(n.K(\'1D-\')!=-1){2 v=n.1O(\'1D-\')[1].31();c[q[v].1B]=1;c[q[v].1C]=g[q[v].d]}4(c.B>g.H){c.B=g.H}e.3.C.9.8.1Z=\'20(\'+c.T+\'u \'+(c.R+i)+\'u \'+c.B+\'u \'+(c.L+i)+\'u)\'}U{e.3.C.9.8.1Z=\'20(\'+p.T+\'u \'+p.R+\'u \'+p.B+\'u \'+p.L+\'u)\'}},1P:7(a){a.8.12=\'y\';4(a.17==\'32\'||a.17==\'33\'||a.17==\'34\'){1g}a.O=V;4(a.17==\'35\'){4(a.1h.21().K(/\\.22$/)!=-1){a.O=P;a.8.1L=\'1M\'}U{1g}}U 4(a.F.19.21().K(\'.22\')==-1){1g}2 b=E;a.3={N:{},C:{}};2 c={9:{},I:{}};G(2 r M a.3){G(2 e M c){2 d=b.J+\':\'+e;a.3[r][e]=x.1m(d)}a.3[r].9.36=V;a.3[r].9.37(a.3[r].I);a.38.1n(a.3[r].9,a)}a.3.C.9.39=\'y\';a.3.C.I.3a=\'3b\';a.3.N.I.1w=V;b.1T(a);b.1x(a);b.1x(a.3c);b.1f(a)}};3d{x.3e("3f",V,P)}3g(r){}E.1E();E.1G();', 62, 203, '||var|vml|if||this|function|style|shape|||||||||||||||||||||px|||document|none||||image|vmlBg|DD_belatedPNG|currentStyle|for||fill|ns|search||in|color|isImg|true|position||runtimeStyle||else|false||||imgSize||attachEvent|behavior|event|filter|handlePseudoHover|vmlOffsets|nodeName|backgroundColor|backgroundImage|case|firstChild|addRule|top|propertyName|applyVML|return|src|width|height|bLW|namespaces|createElement|insertBefore|styleSheet|absolute|border|10000px|display|vmlOpacity|parseInt|lastIndexOf|on|giveLayout|left|bTW|break|b1|b2|repeat|createVmlNameSpace|window|createVmlStyleSheet|documentElement|default|img|_sizeFinder|visibility|hidden|readPropertyChange|split|fixPng|cssText|vmlFill|copyImageBorders|attachHandlers|zIndex|transparent|removeAttribute|body|0l|clip|rect|toLowerCase|png|add|urn|schemas|microsoft|com|onbeforeunload|null|url|VML|index|srcElement|background|block|lpha|substring|100|opacity|setTimeout|fix|length|expression|resize|move|mouseleave|mouseenter|focus|blur|onpropertychange|zoom|static|relative|borderStyle|borderWidth|borderColor|substr|className|onload|offsetWidth|offsetHeight|clientWidth|clientHeight|offsetLeft|offsetTop|clientLeft|clientTop|coordsize|coordorigin|path|m0|l0|xe|switch|center|right|bottom|01|Math|ceil|backgroundPosition|backgroundRepeat|toUpperCase|BODY|TD|TR|IMG|stroked|appendChild|parentNode|fillcolor|type|tile|offsetParent|try|execCommand|BackgroundImageCache|catch'.split('|'), 0, {}))
  DD_belatedPNG.fix("#brands a,#museumLogo,#secondaryNav li,#secondaryNav a,.box");
}

if($('#calendarTable').length == 1) {
  $('table tr:first-child').addClass('first');
  $('table tr:last-child').addClass('last');
  $('table tr td:first-child').addClass('first');
  $('table tr td:last-child').addClass('last');
}




/** Mona additional functionality
 */
var mona = {
  
  video_path: false,
  video_playing: false,

  init: function(){
  
    if(
       $('#content').hasClass('page-shopHome') ||
       $('#content').hasClass('page-shopping') ||
       $('#content').hasClass('page-checkout') ||
       $('#content').hasClass('page-shipping') ||
       $('#container').hasClass('home')) {
      var percent = 12;
      var minheight = 120;
    }
    else {
       var percent = 10;
       var minheight = 110;
    }
    this.fix_topmargin(percent, minheight);
    $(window).resize(function(){
      mona.fix_topmargin(percent, minheight);
    });
    
    // Embed audio links
    $('a').each(function(){
      if($(this).attr('href') && ($(this).attr('href').indexOf('.mp3') > -1)) {      
        $(this).wrap(document.createElement('div'));
        $(this).parent('div').addClass('audio-link');
      }
   });

    // Close error messages box     
    $('.shopErrorImg').click(function() {
      $(this).parent().slideUp('fast', function() {
        $(this).remove();
      });
    });    
    
    // Custom hover error messages
    $('input').blur(function () {
      if($(this).siblings('span.shopError, span.valError, span.valBillingError').is(":visible")) {
        $(this).css('border', '1px solid #FF0066');         
      }
      else {
        $(this).css('border', '1px solid #000000');
      }
    });
    
    $('input[type=submit], input[type=image]').click(function () {
      $('input[type=text]').each(function(i, e){
        $(e).trigger('blur');
      });
      $('.shopError').each(function(){
        if($(this).is(":visible")) {
          $(this).siblings('input').css('border', '1px solid #FF0066');
          $(this).siblings('p.selectMenu').css('border', '1px solid #FF0066');
          return false;
        }
        else {
          $(this).siblings('input').css('border', '1px solid #000000');
          $(this).siblings('p.selectMenu').css('border', '1px solid #000000');
        }
      });
    });
    
    $('.shopError').each(function () {
      var messageTitle = $(this).attr('title');
      $(this).attr('title', '');
      var newDivError = $(document.createElement('div'));
      newDivError.html(messageTitle);
      newDivError.addClass('error-message-hover errorMsg');
      $(this).append(newDivError);
      
      var newDivWrap = $(document.createElement('div'));
      newDivWrap.addClass('error-input-wrap');
      $(this).siblings('input, p.selectMenu').wrap(newDivWrap);
      $(this).siblings('.error-input-wrap').append($(this));
    });
    
    $('.shopError').hover(function() {
      $(this).children('.error-message-hover').css('display', 'block');
    },
    function() {
      $(this).children('.error-message-hover').css('display', 'none');
    });
    
    $('input, p.selectMenu, span.radio').mouseenter(function(){
      if($(this).siblings('.shopError:visible').length > 0) {
        $(this).parent().find('.error-message-hover').css('display', 'block');
      }
    });
    $('input, p.selectMenu, span.radio').mouseleave(function(){
      $(this).parent().find('.error-message-hover').css('display', 'none');
    });
    
    // Embed logo swf
    $('#logo').flash({
      swf: '/images/flash/crosses_loop.swf',
      width: '100%',
      height: '100%',
      wmode: 'transparent',
      play: true
    });
    
    // Embed video links
    $('a').each(function(){
      if($(this).attr('href') && (
        $(this).attr('href').indexOf('.mov') > -1 ||
        $(this).attr('href').indexOf('.mp4') > -1 ||
        $(this).attr('href').indexOf('.flv') > -1)) {
          var v = $(this).attr('href');
          var html = $(this).html().replace(/(\r\n|\n|\r)/gm, ' ').split('|');
          var t = l = d = '';
          var t = escape(html.shift().trim());
          if(html.length > 0) l = escape(html.shift().trim());
          if(html.length > 0) d = escape(html.shift().trim());
          if($(this).find('img').length == 1) {
            var i = $(this).find('img').attr('src');
          }
          else {
            var i = '';
          }
          var e = $(document.createElement('div'));
          e.addClass('video-player');
          $(this).replaceWith(e);
          e.flash({
            swf: '/images/flash/monaplayer.swf?v='+v+'&i='+i+'&t='+t+'&l='+l+'&d='+d,
            width: 680,
            height: 510,
            wmode: 'direct',
            scale: 'showall',
            play: true
          });
        e.click(function(event){
          event.preventDefault();
        });
        e.parent().addClass('with-video');
      }
    });
    
    // Stockist lists
    if($('#stockists-links a').length > 0) {
      window.setInterval(function(){
        var id =  window.location.hash + '';
        if(!id) {
           id = '#tas';
        }
        id = id.split('#').pop();
        $('.stockists-list').each(function(){
          if($(this).attr('id') == 'stockists-' + id) {
             $(this).css('display', 'block');
          }
          else {
             $(this).css('display', 'none');
          }
        });
      }, 100);
    }
    
    // Cycle multiple images on product detail pages on click
    if($('.page-shopHome .singleView .slider-item').length == 1) {
      $('.page-shopHome .singleView .slider-item .page').each(function(){
         if($(this).find('img').attr('src') == '') {
           $(this).remove();
         }
      });
    }
    if($('.page-shopHome .singleView .slider-item .page').length > 1) {
      $('.page-shopHome .singleView .item').append('<a class="next">Next</a>');
      $('.page-shopHome .singleView .slider-item').addClass('multiple');
      $('.page-shopHome .singleView .slider-item .page').hide();
      $('.page-shopHome .singleView .slider-item .page:first').show().addClass('current');
      $('.page-shopHome .singleView .slider-item .page, .page-shopHome .singleView .item .next').click(function(){
        var curr = $('.page-shopHome .singleView .slider-item .page.current');
        var next = curr.next('.page');
        if(next.length == 0) next = curr.parent().find('.page:first');
        $(curr).removeClass('current').fadeOut();
        $(next).addClass('current').fadeIn();
      });
    }
    
    // Fix shop grid layout
    if($('table.cols').length > 0) {
      var i = 0;
      $('table.cols td').each(function(){
        if($(this).find('.item').length == 0) {
           $(this).append('<span class="add">&nbsp;</span><span class="item">&nbsp;</span>');
        }
        
        if(i == 0) {
          $(this).addClass('row-first');
          i++;
        }
        else if(i == 1) {
          $(this).addClass('row-middle');
          i++;
        }
        else {
          $(this).addClass('row-last');
          i = 0;
        }    
      });
    }
    
    // Fix shop sidebar nav
    // Remove useless .net table cells
    $('.sidebar table td:first-child').each(function () {
      if(!$(this).attr('class')) {
       $(this).remove(); 
      }
    });
    // Remove useless .net links
    $('.sidebar table td a.root.node').each(function(){
      $(this).attr('href', 'javascript:void(0);')
    });
    $('.sidebar .row a').each(function(){
      if($(this).attr('href') && $(this).attr('href').substr(0, 1) == '#') {
        $(this).remove();
      }
    });
    
  // Remove empty what's-on rows
 /*
 $('.featuredExhibition').not('.header, .download').each(function(){
    if($(this).find('h1 p').length == 0) {
      $(this).remove();
    }
  });
*/
       
    if(typeof(bg_videos) != 'undefined' && bg_videos.length > 0) {
      var v = bg_videos[Math.floor(Math.random() * bg_videos.length)];
      this.video_bg(v);
    }
    
    // Apply classes to form elements
    $('input:text').addClass('textInput');
    $('input:image').addClass('imageInput');
    $('input:checkbox').addClass('checkboxInput');
    $('input:radio').addClass('radioInput');
    
    // Create splash page
    if($('#container').hasClass('home')) {
      $('#container').css('display', 'none');
      $('#logo-splash').click(function(){
        $('#container').css('display', 'block');
        $('#logo-splash').css('display', 'none');
        return false;
      });
    }
    
  },
  
  /** Proportional top margin (actually #header height) depending on viewport size.
   *  int perc   Percentage of viewport to use as top margin.
   *  int min    Minimum pixel height of top margin.
   */
  fix_topmargin: function(perc, min){
    var h = Math.ceil($(window).height() * perc / 100);
    if(h < min) h = min;
    
    if($('#content').hasClass('page-shopHome')) {
     $('#header').css('height', h);
    }
    else if($('#container').hasClass('with-slider')) {
       $('#content').css('padding-top', h);
    }
    else {
       $('#header').css('height', h);
    }
  },
  
  /**  Inject fullscreen fixed-position swf behind main container.
   *  If use toggles video off, store that preference in a cookie to disable autoloading future video.
   *  string swf  Absolute path to the video swf.
   */
  video_bg: function(v){
    if(typeof(video_bg) == 'undefined' || !video_bg) {
       return;
    }
    
    // Initialise the cookie
    if($.cookie('video-bg') != 0) {
      $.cookie('video-bg', 1, {expires: 31, path: '/' });
    }
    if($.cookie('splash-intro') != 0) {
      $.cookie('splash-intro', 1, {path: '/' });
    }
    
    // Create the toggle link
    if($('#video-toggle').length == 0) {
      var e = $(document.createElement('a'));
      e.attr('id', 'video-toggle');
      e.html('Toggle video');
      e.data('v', v);
      e.click(function(){
        mona.video_toggle();
      });
      e.insertBefore('#container');
      $('html').addClass('video-bg');
    }
    // Embed the swf
    if($.cookie('video-bg') == 1) {
      $('#video-toggle').addClass('playing');
      var e = $(document.createElement('div'));
      e.attr('id', 'video-bg');
      e.insertBefore('#container');
      e.flash({
        swf: '/media/3152/video_bg.swf?v='+v,
        width: '100%',
        height: '100%',
        scale: 'exactfit',
        play: true
      });
    }
  
  },
  
  video_toggle: function(){
    if($('#video-toggle').hasClass('playing')) {
      $.cookie('video-bg', 0, {expires: 31, path: '/' });
      $('#video-bg').remove();
      $('#video-toggle').removeClass('playing');
    }
    else {
      $.cookie('video-bg', 1, {expires: 31, path: '/' });
      $('#video-toggle').addClass('playing');
      this.video_bg($('#video-toggle').data('v'));
    }
  }
  
  /*
  rotate_logo: function(){
    $(".mona-icons").rotate({
      angle:0,
      animateTo: 90,
      duration: 4000,    
      callback: this.rotate_logo
    });
    window.setTimeout(function() {  
      $('#body-mask').animate({ opacity : 0 }, 5000, function() {
        $('#body-mask').remove();      
      });      
    }, 7000);
  }
  */
  
};

$(document).ready(function(){
  mona.init();
});

var bg_videos = [
  '/images/video/video-bg-1.flv',
  '/images/video/loop1.flv',
  '/images/video/loop2.flv',
  '/images/video/loop3.flv',
  '/images/video/loop4.flv',
  '/images/video/loop5.flv',
  '/images/video/loop6.flv',
  '/images/video/loop7.flv',
  '/images/video/loop8.flv',
  '/images/video/loop9.flv',
  '/images/video/loop10.flv',
  '/images/video/loop11.flv',
  '/images/video/loop12.flv',
  '/images/video/loop13.flv',
  '/images/video/loop14.flv',
  '/images/video/loop15.flv',
  '/images/video/loop16.flv',
  '/images/video/loop17.flv',
  '/images/video/loop18.flv',
  '/images/video/loop19.flv',
  '/images/video/loop20.flv',
  '/images/video/loop21.flv',
  '/images/video/loop22.flv',
  '/images/video/loop23.flv',
  '/images/video/loop24.flv',
  '/images/video/loop25.flv',
  '/images/video/loop26.flv',
];



