aboutsummaryrefslogtreecommitdiffstats
path: root/common/src/main/webapp/thirdparty/jquery/jquery.reveal.js
diff options
context:
space:
mode:
Diffstat (limited to 'common/src/main/webapp/thirdparty/jquery/jquery.reveal.js')
-rw-r--r--common/src/main/webapp/thirdparty/jquery/jquery.reveal.js152
1 files changed, 152 insertions, 0 deletions
diff --git a/common/src/main/webapp/thirdparty/jquery/jquery.reveal.js b/common/src/main/webapp/thirdparty/jquery/jquery.reveal.js
new file mode 100644
index 00000000..4c9504cd
--- /dev/null
+++ b/common/src/main/webapp/thirdparty/jquery/jquery.reveal.js
@@ -0,0 +1,152 @@
+
+(function($) {
+
+/*---------------------------
+ Defaults for Reveal
+----------------------------*/
+
+/*---------------------------
+ Listener for data-reveal-id attributes
+----------------------------*/
+
+ $('a[data-reveal-id]').live('click', function(e) {
+ e.preventDefault();
+ var modalLocation = $(this).attr('data-reveal-id');
+ $('#'+modalLocation).reveal($(this).data());
+ });
+
+/*---------------------------
+ Extend and Execute
+----------------------------*/
+
+ $.fn.reveal = function(options) {
+
+
+ var defaults = {
+ animation: 'fadeAndPop', //fade, fadeAndPop, none
+ animationspeed: 300, //how fast animtions are
+ closeonbackgroundclick: true, //if you click background will modal close?
+ dismissmodalclass: 'close-reveal-modal' //the class of a button or element that will close an open modal
+ };
+
+ //Extend dem' options
+ var options = $.extend({}, defaults, options);
+
+ return this.each(function() {
+
+/*---------------------------
+ Global Variables
+----------------------------*/
+ var modal = $(this),
+ topMeasure = parseInt(modal.css('top')),
+ topOffset = modal.height() + topMeasure,
+ locked = false,
+ modalBG = $('.reveal-modal-bg');
+
+/*---------------------------
+ Create Modal BG
+----------------------------*/
+ if(modalBG.length == 0) {
+ modalBG = $('<div class="reveal-modal-bg" />').insertAfter(modal);
+ }
+
+/*---------------------------
+ Open & Close Animations
+----------------------------*/
+ //Entrance Animations
+ modal.bind('reveal:open', function () {
+ modalBG.unbind('click.modalEvent');
+ $('.' + options.dismissmodalclass).unbind('click.modalEvent');
+ if(!locked) {
+ lockModal();
+ if(options.animation == "fadeAndPop") {
+ modal.css({'top': $(document).scrollTop()-topOffset, 'opacity' : 0, 'visibility' : 'visible'});
+ modalBG.fadeIn(options.animationspeed/2);
+ modal.delay(options.animationspeed/2).animate({
+ "top": $(document).scrollTop()+topMeasure + 'px',
+ "opacity" : 1
+ }, options.animationspeed,unlockModal());
+ }
+ if(options.animation == "fade") {
+ modal.css({'opacity' : 0, 'visibility' : 'visible', 'top': $(document).scrollTop()+topMeasure});
+ modalBG.fadeIn(options.animationspeed/2);
+ modal.delay(options.animationspeed/2).animate({
+ "opacity" : 1
+ }, options.animationspeed,unlockModal());
+ }
+ if(options.animation == "none") {
+ modal.css({'visibility' : 'visible', 'top':$(document).scrollTop()+topMeasure});
+ modalBG.css({"display":"block"});
+ unlockModal()
+ }
+ }
+ modal.unbind('reveal:open');
+ });
+
+ //Closing Animation
+ modal.bind('reveal:close', function () {
+ if(!locked) {
+ lockModal();
+ if(options.animation == "fadeAndPop") {
+ modalBG.delay(options.animationspeed).fadeOut(options.animationspeed);
+ modal.animate({
+ "top": $(document).scrollTop()-topOffset + 'px',
+ "opacity" : 0
+ }, options.animationspeed/2, function() {
+ modal.css({'top':topMeasure, 'opacity' : 1, 'visibility' : 'hidden'});
+ unlockModal();
+ });
+ }
+ if(options.animation == "fade") {
+ modalBG.delay(options.animationspeed).fadeOut(options.animationspeed);
+ modal.animate({
+ "opacity" : 0
+ }, options.animationspeed, function() {
+ modal.css({'opacity' : 1, 'visibility' : 'hidden', 'top' : topMeasure});
+ unlockModal();
+ });
+ }
+ if(options.animation == "none") {
+ modal.css({'visibility' : 'hidden', 'top' : topMeasure});
+ modalBG.css({'display' : 'none'});
+ }
+ }
+ modal.unbind('reveal:close');
+ });
+
+/*---------------------------
+ Open and add Closing Listeners
+----------------------------*/
+ //Open Modal Immediately
+ modal.trigger('reveal:open')
+
+ //Close Modal Listeners
+ var closeButton = $('.' + options.dismissmodalclass).bind('click.modalEvent', function () {
+ modal.trigger('reveal:close')
+ });
+
+ if(options.closeonbackgroundclick) {
+ modalBG.css({"cursor":"pointer"})
+ modalBG.bind('click.modalEvent', function () {
+ modal.trigger('reveal:close')
+ });
+ }
+ $('body').keyup(function(e) {
+ if(e.which===27){ modal.trigger('reveal:close'); } // 27 is the keycode for the Escape key
+ });
+
+
+/*---------------------------
+ Animations Locks
+----------------------------*/
+ function unlockModal() {
+ locked = false;
+ }
+ function lockModal() {
+ locked = true;
+ }
+
+ });//each call
+ }//orbit plugin call
+})(jQuery);
+