jQuery(function($) {
               
  $('.block-select-trainer li a').click(function() {
    $('.block-select-trainer li a').each(function() { $(this).removeClass('current'); });
    $(this).addClass('current');
  });
  
  $('.form-item-sessionID input').click(function() {
    if ( this.getAttribute('data-type') == 'wet' ) {
      confirm('Please ensure that you have confirmed this wet weather session by contacting (07) 3321 4455 before clicking the "Ok" button to proceed with your booking.');
    };

    if ( this.getAttribute('data-type') == 'uncoached' ) {
      confirm(
"Self-directed sessions are for clients who know what kind of training they are looking for in a given session.  " +
"An Activ staff member will set you up in the system and then you are free to train however you prefer.  " +
"As these sessions are shared, we may need to reset the system / courses occasionally to add new clients."
      );
    };

    if ( this.getAttribute('data-type') == 'beginner' ) {
      confirm("Only clients who are registered for the Beginners Course may register for this session. Please confirm " +
"that you are registered for the Beginners Course.");
    };
  });

  
  $('#paymentID').change(function() {
    if($(this).val() == '3') {
      $('input#voucherID').attr('disabled', '').val('');
    } else {
      $('input#voucherID').attr('disabled', 'disabled').val('');
    }
  });
    
  $("#privacy").click(function() {         
    if ($("#privacy").is(':checked')){
      $("input.form-submit").removeAttr("disabled");
    } else {
      $("input.form-submit").attr("disabled","disabled");
    }
  });
  
  function confirmBookingCancel() {
    var agree=confirm("Are you sure you want to cancel this booking?");
    if (agree) {
        return true;
    } else {
        return false;
    }
  }

  $.activ.performVoucherSearch = function() {
    $.ajax({
      url: "/booking/voucher-search",
      type: 'POST',
      data: { name: $('#voucher-name')[0].value },
      success: function(voucherRecords, textStatus, jqXHR) {
        var $table = $('#voucher-results');
        var $proto = $table.find(".prototype");

        $table.find('tbody tr').not($proto).remove();
      
        $.each(voucherRecords, function(index, voucherRecord) {
          var $voucher = $proto.clone();
          $voucher.removeClass('prototype');
          $voucher.attr('data-key', voucherRecord.key);
          $voucher.attr('data-name', voucherRecord.name);
          $voucher.attr('data-email', voucherRecord.email);
          
          $voucher.find('.key').html(voucherRecord.key);
          $voucher.find('.paidsessions').html(voucherRecord.paidsessions);
          $voucher.find('.name').html(voucherRecord.name);
          $voucher.find('.email').html(voucherRecord.email);
        
          $voucher.insertBefore($proto);
          $voucher.show();
        });
      
        $table.find('tr.activ-voucher td').click(function($this) {
          $this = $(this);
          $voucher = $this.closest('.activ-voucher');

          $('#voucher-reference')[0].value = $voucher.attr('data-key');
          $('#user-email')[0].value = $voucher.attr('data-email');
          $('#user-name')[0].value = $voucher.attr('data-name');
          
          $('.block-booking').accordion( "activate", $('#book-by-voucher') );
        });
        $table.show();
      },
      error: function() {
        alert('There was a problem finding matching vouchers');
      }
    });
  };

  $.activ.performUserSearch = function(name) {
    $.ajax({
      url: "/booking/user-search",
      type: 'POST',
      data: { name: name },
      success: function(userRecords, textStatus, jqXHR) {
        var $table = $('#user-results');
        var $proto = $table.find(".prototype");

        $table.find('tbody tr').not($proto).remove();
      
        $.each(userRecords, function(index, userRecord) {
          var $user = $proto.clone();
          $user.removeClass('prototype');
          $user.attr('data-key', userRecord.key);
          $user.attr('data-name', userRecord.name);
          $user.attr('data-email', userRecord.email);

          $user.find('.name').html(userRecord.name);
          $user.find('.email').html(userRecord.email);
        
          $user.insertBefore($proto);
          $user.show();
        });
        
        $('#user-results-loading').slideUp();
        $('#user-results').slideDown();
      
        $table.find('tr.activ-user td').click(function($this) {
          $this = $(this);
          $user = $this.closest('.activ-user');
          
          document.forms["theform"].fullname.value = $user.attr('data-name');
          document.forms["theform"].email.value = $user.attr('data-email');

          /* Lowers confusion for users - hide stuff that is no longer important */
          $('#user-results').slideUp();
        });
      },
      error: function() {
        alert('There was a problem finding matching users');
      }
    });
  };
});;
Drupal.behaviors.activ_cycle = {
  attach: function(context) {
    $ = jQuery;
    $.activ.clickCalendarItem = function(event) {
      var $target = $(event.target);
      var $container = $target.closest('.item');
      var $title = $container.find('a').first(); //a little fragile
      var $content = $container.find('.field-name-body');
      var $time = $container.find('.date-display-single');
  
      var $div = $('<div/>');
      $div.append($content.clone());
      $div.dialog({
        modal: true,
        width: '40em',
        dialogClass: 'calendar',
        'title': $time.text() + ' - ' + $title.text(),
        close: function () { $div.remove(); }
      });
    };

    $(".calendar-calendar .view-item").click($.activ.clickCalendarItem);

    $(".calendar-calendar .monthview").hover(
      function(event) {
        $(event.target).addClass('hover');
      },
      function(event) {
        $(event.target).removeClass('hover');
      }
    );

    //This stops the click on calendar item from actually loading the link
    $(".calendar-calendar .monthview .contents > a").attr('href', '#');
    
  }
};
;
/*!
 * jQuery Tools v1.2.6 - The missing UI library for the Web
 * 
 * tooltip/tooltip.js
 * 
 * NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
 * 
 * http://flowplayer.org/tools/
 * 
 */
(function(a){a.tools=a.tools||{version:"v1.2.6"},a.tools.tooltip={conf:{effect:"toggle",fadeOutSpeed:"fast",predelay:0,delay:30,opacity:1,tip:0,fadeIE:!1,position:["top","center"],offset:[0,0],relative:!1,cancelDefault:!0,events:{def:"mouseenter,mouseleave",input:"focus,blur",widget:"focus mouseenter,blur mouseleave",tooltip:"mouseenter,mouseleave"},layout:"<div/>",tipClass:"tooltip"},addEffect:function(a,c,d){b[a]=[c,d]}};var b={toggle:[function(a){var b=this.getConf(),c=this.getTip(),d=b.opacity;d<1&&c.css({opacity:d}),c.show(),a.call()},function(a){this.getTip().hide(),a.call()}],fade:[function(b){var c=this.getConf();!a.browser.msie||c.fadeIE?this.getTip().fadeTo(c.fadeInSpeed,c.opacity,b):(this.getTip().show(),b())},function(b){var c=this.getConf();!a.browser.msie||c.fadeIE?this.getTip().fadeOut(c.fadeOutSpeed,b):(this.getTip().hide(),b())}]};function c(b,c,d){var e=d.relative?b.position().top:b.offset().top,f=d.relative?b.position().left:b.offset().left,g=d.position[0];e-=c.outerHeight()-d.offset[0],f+=b.outerWidth()+d.offset[1],/iPad/i.test(navigator.userAgent)&&(e-=a(window).scrollTop());var h=c.outerHeight()+b.outerHeight();g=="center"&&(e+=h/2),g=="bottom"&&(e+=h),g=d.position[1];var i=c.outerWidth()+b.outerWidth();g=="center"&&(f-=i/2),g=="left"&&(f-=i);return{top:e,left:f}}function d(d,e){var f=this,g=d.add(f),h,i=0,j=0,k=d.attr("title"),l=d.attr("data-tooltip"),m=b[e.effect],n,o=d.is(":input"),p=o&&d.is(":checkbox, :radio, select, :button, :submit"),q=d.attr("type"),r=e.events[q]||e.events[o?p?"widget":"input":"def"];if(!m)throw"Nonexistent effect \""+e.effect+"\"";r=r.split(/,\s*/);if(r.length!=2)throw"Tooltip: bad events configuration for "+q;d.bind(r[0],function(a){clearTimeout(i),e.predelay?j=setTimeout(function(){f.show(a)},e.predelay):f.show(a)}).bind(r[1],function(a){clearTimeout(j),e.delay?i=setTimeout(function(){f.hide(a)},e.delay):f.hide(a)}),k&&e.cancelDefault&&(d.removeAttr("title"),d.data("title",k)),a.extend(f,{show:function(b){if(!h){l?h=a(l):e.tip?h=a(e.tip).eq(0):k?h=a(e.layout).addClass(e.tipClass).appendTo(document.body).hide().append(k):(h=d.next(),h.length||(h=d.parent().next()));if(!h.length)throw"Cannot find tooltip for "+d}if(f.isShown())return f;h.stop(!0,!0);var o=c(d,h,e);e.tip&&h.html(d.data("title")),b=a.Event(),b.type="onBeforeShow",g.trigger(b,[o]);if(b.isDefaultPrevented())return f;o=c(d,h,e),h.css({position:"absolute",top:o.top,left:o.left}),n=!0,m[0].call(f,function(){b.type="onShow",n="full",g.trigger(b)});var p=e.events.tooltip.split(/,\s*/);h.data("__set")||(h.unbind(p[0]).bind(p[0],function(){clearTimeout(i),clearTimeout(j)}),p[1]&&!d.is("input:not(:checkbox, :radio), textarea")&&h.unbind(p[1]).bind(p[1],function(a){a.relatedTarget!=d[0]&&d.trigger(r[1].split(" ")[0])}),e.tip||h.data("__set",!0));return f},hide:function(c){if(!h||!f.isShown())return f;c=a.Event(),c.type="onBeforeHide",g.trigger(c);if(!c.isDefaultPrevented()){n=!1,b[e.effect][1].call(f,function(){c.type="onHide",g.trigger(c)});return f}},isShown:function(a){return a?n=="full":n},getConf:function(){return e},getTip:function(){return h},getTrigger:function(){return d}}),a.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","),function(b,c){a.isFunction(e[c])&&a(f).bind(c,e[c]),f[c]=function(b){b&&a(f).bind(c,b);return f}})}a.fn.tooltip=function(b){var c=this.data("tooltip");if(c)return c;b=a.extend(!0,{},a.tools.tooltip.conf,b),typeof b.position=="string"&&(b.position=b.position.split(/,?\s/)),this.each(function(){c=new d(a(this),b),a(this).data("tooltip",c)});return b.api?c:this}})(jQuery);
;
// Create a jQuery meta-namespace
jQuery.namespace = function() {
    var a=arguments, o=null, i, j, d;
    for (i=0; i<a.length; i=i+1) {
        d=a[i].split(".");
        o=window;
        for (j=0; j<d.length; j=j+1) {
            o[d[j]]=o[d[j]] || {};
            o=o[d[j]];
        }
    }
    return o;
};

//Keep application namespaced where possible
jQuery.namespace( 'jQuery.activ' );

jQuery(function($) {
    // There are multiple types of submit button that must be handled
    $("#privacy").click(function() {         
        if ($("#privacy").is(':checked')){
          $("input.form-submit, input.subscribe").removeAttr("disabled");
        } else {
          $("input.form-submit, input.subscribe").attr("disabled","disabled");
        }
    });

    //:hover is not cross browser - aka broken in IE*
    return;
    $('.block-top-navigation-menu ul li').hover( 
        function() {
            $(this).addClass('hover');
        }, 
        function() {
            $(this).removeClass('hover');
        }
    );
});;

