| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |  /*! * Buttons helper for fancyBox * version: 1.0.5 (Mon, 15 Oct 2012) * @requires fancyBox v2.0 or later * * Usage: *     $(".fancybox").fancybox({ *         helpers : { *             buttons: { *                 position : 'top' *             } *         } *     }); * */(function ($) {	//Shortcut for fancyBox object	var F = $.fancybox;	//Add helper object	F.helpers.buttons = {		defaults : {			skipSingle : false, // disables if gallery contains single image			position   : 'top', // 'top' or 'bottom'			tpl        : '<div id="fancybox-buttons"><ul><li><a class="btnPrev" title="Previous" href="javascript:;"></a></li><li><a class="btnPlay" title="Start slideshow" href="javascript:;"></a></li><li><a class="btnNext" title="Next" href="javascript:;"></a></li><li><a class="btnToggle" title="Toggle size" href="javascript:;"></a></li><li><a class="btnClose" title="Close" href="javascript:;"></a></li></ul></div>'		},		list : null,		buttons: null,		beforeLoad: function (opts, obj) {			//Remove self if gallery do not have at least two items			if (opts.skipSingle && obj.group.length < 2) {				obj.helpers.buttons = false;				obj.closeBtn = true;				return;			}			//Increase top margin to give space for buttons			obj.margin[ opts.position === 'bottom' ? 2 : 0 ] += 30;		},		onPlayStart: function () {			if (this.buttons) {				this.buttons.play.attr('title', 'Pause slideshow').addClass('btnPlayOn');			}		},		onPlayEnd: function () {			if (this.buttons) {				this.buttons.play.attr('title', 'Start slideshow').removeClass('btnPlayOn');			}		},		afterShow: function (opts, obj) {			var buttons = this.buttons;			if (!buttons) {				this.list = $(opts.tpl).addClass(opts.position).appendTo('body');				buttons = {					prev   : this.list.find('.btnPrev').click( F.prev ),					next   : this.list.find('.btnNext').click( F.next ),					play   : this.list.find('.btnPlay').click( F.play ),					toggle : this.list.find('.btnToggle').click( F.toggle ),					close  : this.list.find('.btnClose').click( F.close )				}			}			//Prev			if (obj.index > 0 || obj.loop) {				buttons.prev.removeClass('btnDisabled');			} else {				buttons.prev.addClass('btnDisabled');			}			//Next / Play			if (obj.loop || obj.index < obj.group.length - 1) {				buttons.next.removeClass('btnDisabled');				buttons.play.removeClass('btnDisabled');			} else {				buttons.next.addClass('btnDisabled');				buttons.play.addClass('btnDisabled');			}			this.buttons = buttons;			this.onUpdate(opts, obj);		},		onUpdate: function (opts, obj) {			var toggle;			if (!this.buttons) {				return;			}			toggle = this.buttons.toggle.removeClass('btnDisabled btnToggleOn');			//Size toggle button			if (obj.canShrink) {				toggle.addClass('btnToggleOn');			} else if (!obj.canExpand) {				toggle.addClass('btnDisabled');			}		},		beforeClose: function () {			if (this.list) {				this.list.remove();			}			this.list    = null;			this.buttons = null;		}	};}(jQuery));
 |