+++ /dev/null
-/* Copyright (c) 2009 Alvaro A. Lima Jr http://alvarojunior.com/jquery/joverlay.html
- * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
- * Version: 0.8 (OUT 19, 2009)
- * Requires: jQuery 1.3+
- */
-
-(function($) {
-
- // Global vars
- var isIE6 = $.browser.msie && $.browser.version == 6.0; // =(
- var JOVERLAY_TIMER = null;
-
- $.fn.jOverlay = function(options) {
-
- // Element exist?
- if ( $('#jOverlay').length ) {$.closeOverlay();}
-
- // Clear Timer
- if (JOVERLAY_TIMER !== null) {
- clearTimeout( JOVERLAY_TIMER );
- }
-
- // Set Options
- var options = $.extend({}, $.fn.jOverlay.options, options || {});
-
- // success deprecated !!! Use onSuccess
- var onSuccess = options.onSuccess || options.success;
-
- var element = this.is('*') ? this : '#jOverlayContent';
-
- var position = isIE6 ? 'absolute' : 'fixed';
-
- var isImage = /([^\/\\]+)\.(png|gif|jpeg|jpg|bmp)$/i.test( options.url );
-
- var imgLoading = options.imgLoading ? "<img id='jOverlayLoading' src='"+options.imgLoading+"' style='position:"+position+"; z-index:"+(options.zIndex + 9)+";'/>" : '';
-
- // private function
- function center(id) {
- if (options.center) {
- $.center(id);
- } else if( isIE6 ) {
- $.center('#jOverlayContent',{
- 'top' : $(window).scrollTop() + 'px',
- 'marginLeft' : '',
- 'marginTop' : '',
- 'left' : ''
- });
- }
- }
-
- $('body').prepend(imgLoading + "<div id='jOverlay' />"
- + "<div id='jOverlayContent' style='position:"+position+"; z-index:"+(options.zIndex + 5)+"; display:none;'/>"
- );
-
- // Cache options
- $('#jOverlayContent').data('options', options);
-
- // Loading Centered
- $('#jOverlayLoading').load(function() {
- center(this);
- });
-
- //IE 6 FIX
- if ( isIE6 ) {
- $('select').hide();
- $('#jOverlayContent select').show();
- }
-
- // Overlay Style
- $('#jOverlay').css({
- 'backgroundColor' : options.color,
- 'position' : position,
- 'top' : '0px',
- 'left' : '0px',
- 'filter' : 'alpha(opacity='+ (options.opacity * 100) +')', // IE =(
- 'opacity' : options.opacity, // Good Browser =D
- '-khtml-opacity' : options.opacity,
- '-moz-opacity' : options.opacity,
- 'zIndex' : options.zIndex,
- 'width' : !isIE6 ? '100%' : $(window).width() + 'px',
- 'height' : !isIE6 ? '100%' : $(document).height() + 'px'
- }).show();
-
- // INNER HTML
- if ( $.trim(options.html) ) {
- $(element).html(options.html);
- }
-
- // ELEMENT
- if ( this.is('*') ) {
-
- $('#jOverlayContent').data('jOverlayElementPrev', this.prev() );
-
- $('#jOverlayContent').html(
- this.show().data('display', options.autoHide ? 'none' : this.css('display') )
- );
-
- if ( !isImage ) {
-
- center('#jOverlayContent');
-
- $('#jOverlayContent').show();
-
- // Execute callback
- if ( !options.url && $.isFunction( onSuccess ) ) {
- onSuccess( this );
- }
-
- }
-
- }
-
- // IMAGE
- if ( isImage ) {
-
- $('<img/>').load(function(){
- var resize = $.resize(this.width, this.height);
-
- $(this).css({
- width : resize.width,
- height : resize.height
- });
-
- $( element ).html(this);
-
- center('#jOverlayContent');
- center('#jOverlayLoading');
-
- $('#jOverlayLoading').fadeOut(500);
- $('#jOverlayContent').show();
-
- // Execute callback
- if ( $.isFunction( onSuccess ) ) {
- onSuccess( $(element) );
- }
-
- }).error(function(){
- alert('Image ('+options.url+') not found.');
- $.closeOverlay();
- }).attr({'src' : options.url, 'alt' : options.url});
-
- }
-
- // AJAX
- if ( options.url && !isImage ) {
-
- $.ajax({
- type: options.method,
- data: options.data,
- url: options.url,
- success: function(responseText) {
-
- $('#jOverlayLoading').fadeOut(500);
-
- $( element ).html(responseText).show();
-
- center('#jOverlayContent');
-
- // Execute callback
- if ( $.isFunction( onSuccess ) ) {
- onSuccess( responseText );
- }
-
- },
- error : function() {
- alert('URL ('+options.url+') not found.');
- $.closeOverlay();
- }
- });
-
- }
-
- // :(
- if ( isIE6 ) {
-
- // Window scroll
- $(window).scroll(function(){
- center('#jOverlayContent');
- });
-
- // Window resize
- $(window).resize(function(){
-
- $('#jOverlay').css({
- 'width' : $(window).width() + 'px',
- 'height' : $(document).height() + 'px'
- });
-
- center('#jOverlayContent');
-
- });
-
- }
-
- // Press ESC to close
- if ( options.closeOnEsc ) {
- $(document).keydown(function(event){
- if ( event.keyCode == 27 ) {
- $.closeOverlay();
- }
- });
- } else {
- $(document).unbind('keydown');
- }
-
- // Click to close
- if ( options.bgClickToClose ) {
- $('#jOverlay').click($.closeOverlay);
- }
-
- // Timeout (auto-close)
- // time in millis to wait before auto-close
- // set to 0 to disable
- if ( options.timeout && Number(options.timeout) > 0 ) {
- JOVERLAY_TIMER = window.setTimeout( $.closeOverlay, Number(options.timeout) );
- }
-
- // ADD CSS
- $('#jOverlayContent').css(options.css || {});
-
- };
-
- // Resizing large images - orginal by Christian Montoya.
- // Edited by - Cody Lindley (http://www.codylindley.com) (Thickbox 3.1)
- $.resize = function(imageWidth, imageHeight) {
- var x = $(window).width() - 150;
- var y = $(window).height() - 150;
- if (imageWidth > x) {
- imageHeight = imageHeight * (x / imageWidth);
- imageWidth = x;
- if (imageHeight > y) {
- imageWidth = imageWidth * (y / imageHeight);
- imageHeight = y;
- }
- } else if (imageHeight > y) {
- imageWidth = imageWidth * (y / imageHeight);
- imageHeight = y;
- if (imageWidth > x) {
- imageHeight = imageHeight * (x / imageWidth);
- imageWidth = x;
- }
- }
- return {'width':imageWidth, 'height':imageHeight};
- };
-
- // Centered Element
- $.center = function(element, css) {
- var element = $(element);
- var elemWidth = element.width();
-
- element.css($.extend({},{
- 'width' : elemWidth + 'px',
- 'marginLeft' : '-' + (elemWidth / 2) + 'px',
- 'marginTop' : '-' + element.height() / 2 + 'px',
- 'height' : 'auto',
- 'top' : !isIE6 ? '50%' : $(window).scrollTop() + ($(window).height() / 2) + 'px',
- 'left' : '50%'
- }, css || {}));
- };
-
- // Options default
- $.fn.jOverlay.options = {
- 'method' : 'GET',
- 'data' : '',
- 'url' : '',
- 'color' : '#000',
- 'opacity' : '0.6',
- 'zIndex' : 9999,
- 'center' : true,
- 'imgLoading' : '',
- 'bgClickToClose' : true,
- 'success' : null, // Deprecated : use onSuccess
- 'onSuccess' : null,
- 'timeout' : 0,
- 'autoHide' : true,
- 'css' : {},
- 'html' : '',
- 'closeOnEsc' : true
- };
-
- // Set default options (GLOBAL)
- // Overiding the default values.
- $.fn.jOverlay.setDefaults = function(options) {
- $.fn.jOverlay.options = $.extend({}, $.fn.jOverlay.options, options || {});
- };
-
- // Close
- $.closeOverlay = function() {
-
- var content = $('#jOverlayContent');
- var options = content.data('options');
- var elementPrev = content.data('jOverlayElementPrev');
-
- // Fix IE6 (SELECT)
- if (isIE6) { $("select").show(); }
-
- // Restore position
- if ( elementPrev ) {
- var contentChildren = content.children();
- elementPrev.after( contentChildren.css('display', contentChildren.data('display') ) );
- // Clear cache
- contentChildren.removeData('display');
- content.removeData('jOverlayElementPrev');
- }
-
- // Clear options cache
- content.removeData('options');
-
- // Remove joverlay elements
- $('#jOverlayLoading, #jOverlayContent, #jOverlay').remove();
-
- };
-
-})(jQuery);
\ No newline at end of file
+++ /dev/null
-/* Copyright (c) 2009 Alvaro A. Lima Jr http://alvarojunior.com/jquery/joverlay.html
- * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
- * Version: 0.8 (OUT 19, 2009)
- * Requires: jQuery 1.3+
- * Packer from http://dean.edwards.name/packer/
- */
-(function($){var isIE6=$.browser.msie&&$.browser.version==6.0;var JOVERLAY_TIMER=null;$.fn.jOverlay=function(options){if($('#jOverlay').length){$.closeOverlay()}if(JOVERLAY_TIMER!==null){clearTimeout(JOVERLAY_TIMER)}var options=$.extend({},$.fn.jOverlay.options,options||{});var onSuccess=options.onSuccess||options.success;var element=this.is('*')?this:'#jOverlayContent';var position=isIE6?'absolute':'fixed';var isImage=/([^\/\\]+)\.(png|gif|jpeg|jpg|bmp)$/i.test(options.url);var imgLoading=options.imgLoading?"<img id='jOverlayLoading' src='"+options.imgLoading+"' style='position:"+position+"; z-index:"+(options.zIndex+9)+";'/>":'';function center(id){if(options.center){$.center(id)}else if(isIE6){$.center('#jOverlayContent',{'top':$(window).scrollTop()+'px','marginLeft':'','marginTop':'','left':''})}}$('body').prepend(imgLoading+"<div id='jOverlay' />"+"<div id='jOverlayContent' style='position:"+position+"; z-index:"+(options.zIndex+5)+"; display:none;'/>");$('#jOverlayContent').data('options',options);$('#jOverlayLoading').load(function(){center(this)});if(isIE6){$('select').hide();$('#jOverlayContent select').show()}$('#jOverlay').css({'backgroundColor':options.color,'position':position,'top':'0px','left':'0px','filter':'alpha(opacity='+(options.opacity*100)+')','opacity':options.opacity,'-khtml-opacity':options.opacity,'-moz-opacity':options.opacity,'zIndex':options.zIndex,'width':!isIE6?'100%':$(window).width()+'px','height':!isIE6?'100%':$(document).height()+'px'}).show();if($.trim(options.html)){$(element).html(options.html)}if(this.is('*')){$('#jOverlayContent').data('jOverlayElementPrev',this.prev());$('#jOverlayContent').html(this.show().data('display',options.autoHide?'none':this.css('display')));if(!isImage){center('#jOverlayContent');$('#jOverlayContent').show();if(!options.url&&$.isFunction(onSuccess)){onSuccess(this)}}}if(isImage){$('<img/>').load(function(){var resize=$.resize(this.width,this.height);$(this).css({width:resize.width,height:resize.height});$(element).html(this);center('#jOverlayContent');center('#jOverlayLoading');$('#jOverlayLoading').fadeOut(500);$('#jOverlayContent').show();if($.isFunction(onSuccess)){onSuccess($(element))}}).error(function(){alert('Image ('+options.url+') not found.');$.closeOverlay()}).attr({'src':options.url,'alt':options.url})}if(options.url&&!isImage){$.ajax({type:options.method,data:options.data,url:options.url,success:function(responseText){$('#jOverlayLoading').fadeOut(500);$(element).html(responseText).show();center('#jOverlayContent');if($.isFunction(onSuccess)){onSuccess(responseText)}},error:function(){alert('URL ('+options.url+') not found.');$.closeOverlay()}})}if(isIE6){$(window).scroll(function(){center('#jOverlayContent')});$(window).resize(function(){$('#jOverlay').css({'width':$(window).width()+'px','height':$(document).height()+'px'});center('#jOverlayContent')})}if(options.closeOnEsc){$(document).keydown(function(event){if(event.keyCode==27){$.closeOverlay()}})}else{$(document).unbind('keydown')}if(options.bgClickToClose){$('#jOverlay').click($.closeOverlay)}if(options.timeout&&Number(options.timeout)>0){JOVERLAY_TIMER=window.setTimeout($.closeOverlay,Number(options.timeout))}$('#jOverlayContent').css(options.css||{})};$.resize=function(imageWidth,imageHeight){var x=$(window).width()-150;var y=$(window).height()-150;if(imageWidth>x){imageHeight=imageHeight*(x/imageWidth);imageWidth=x;if(imageHeight>y){imageWidth=imageWidth*(y/imageHeight);imageHeight=y}}else if(imageHeight>y){imageWidth=imageWidth*(y/imageHeight);imageHeight=y;if(imageWidth>x){imageHeight=imageHeight*(x/imageWidth);imageWidth=x}}return{'width':imageWidth,'height':imageHeight}};$.center=function(element,css){var element=$(element);var elemWidth=element.width();element.css($.extend({},{'width':elemWidth+'px','marginLeft':'-'+(elemWidth/2)+'px','marginTop':'-'+element.height()/2+'px','height':'auto','top':!isIE6?'50%':$(window).scrollTop()+($(window).height()/2)+'px','left':'50%'},css||{}))};$.fn.jOverlay.options={'method':'GET','data':'','url':'','color':'#000','opacity':'0.6','zIndex':9999,'center':true,'imgLoading':'','bgClickToClose':true,'success':null,'onSuccess':null,'timeout':0,'autoHide':true,'css':{},'html':'','closeOnEsc':true};$.fn.jOverlay.setDefaults=function(options){$.fn.jOverlay.options=$.extend({},$.fn.jOverlay.options,options||{})};$.closeOverlay=function(){var content=$('#jOverlayContent');var options=content.data('options');var elementPrev=content.data('jOverlayElementPrev');if(isIE6){$("select").show()}if(elementPrev){var contentChildren=content.children();elementPrev.after(contentChildren.css('display',contentChildren.data('display')));contentChildren.removeData('display');content.removeData('jOverlayElementPrev')}content.removeData('options');$('#jOverlayLoading, #jOverlayContent, #jOverlay').remove()}})(jQuery);
\ No newline at end of file