/** * Created by 23rd and Walnut * www.23andwalnut.com * User: Saleem El-Amin * Date: Jun 11, 2010 * Time: 7:55:26 PM */ $(document).ready(function() { var loading_indicator = '
' + '
 
' + '' + '
'; function ie8up() { if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { //test for MSIE x.x; var ieversion = new Number(RegExp.$1) // capture x.x portion and store as a number if (ieversion >= 8) return true; else if (ieversion >= 7) return false; else if (ieversion >= 6) return false; else if (ieversion >= 5) return false; } else return true; } if (ie8up()) { $('.pagination a, .hide-messages a').live('click', function(e) { e.preventDefault(); $('#page-content').append(loading_indicator); $('#page-content-outer').load($(this).attr('href') + ' #page-content', function() { $('.loading-indicator').remove(); }); return false; }); } /** Load content into modal box **/ if (ie8up()) { $('.small-button.modal, .modal a, a.modal, .no-files a.small-button, .client-actions a, .add-item a, a.edit-icon, a.delete-icon, .project-actions a').live('click', function() { $('body').append(loading_indicator); $('#modal-body').load($(this).attr('href') + ' .form', function() { $('.loading-indicator').remove(); $('#modal').jqmShow(); var modal_y = ($(window).height() - $('#modal').height())/2; modal_y = (modal_y < 0)? 0 : modal_y; var modal_x = ($(window).width() - $('#modal').width())/2; $('#modal').css({'top':modal_y, 'left':modal_x}); }); return false; }); } function preloadImages(imageList, callback) { var i, total, loaded = 0; if (typeof imageList != 'undefined') { if ($.isArray(imageList)) { total = imageList.length; // used later for (var i = 0; i < total; i++) { images[imageList[i]] = new Image(); images[imageList[i]].onload = function() { loaded++; if (loaded == total) { if ($.isFunction(callback)) { callback(); } } }; images[imageList[i]].src = imageList[i]; } } } } var imageList = []; var images = []; var preload = [ 'application/views/images/loading.gif', 'application/views/images/small-button.png']; $('#modal').jqm(); preloadImages(preload); }); /* * jqModal - Minimalist Modaling with jQuery * (http://dev.iceburg.net/jquery/jqModal/) * * Copyright (c) 2007,2008 Brice Burgess * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * * $Version: 03/01/2009 +r14 */ (function($) { $.fn.jqm = function(o) { var p = { overlay: 50, overlayClass: 'jqmOverlay', closeClass: 'jqmClose', trigger: '.jqModal', ajax: F, ajaxText: '', target: F, modal: F, toTop: F, onShow: F, onHide: F, onLoad: F }; return this.each(function() { if (this._jqm)return H[this._jqm].c = $.extend({}, H[this._jqm].c, o); s++; this._jqm = s; H[s] = {c:$.extend(p, $.jqm.params, o),a:F,w:$(this).addClass('jqmID' + s),s:s}; if (p.trigger)$(this).jqmAddTrigger(p.trigger); }); }; $.fn.jqmAddClose = function(e) { return hs(this, e, 'jqmHide'); }; $.fn.jqmAddTrigger = function(e) { return hs(this, e, 'jqmShow'); }; $.fn.jqmShow = function(t) { return this.each(function() { t = t || window.event; $.jqm.open(this._jqm, t); }); }; $.fn.jqmHide = function(t) { return this.each(function() { t = t || window.event; $.jqm.close(this._jqm, t) }); }; $.jqm = { hash:{}, open:function(s, t) { var h = H[s],c = h.c,cc = '.' + c.closeClass,z = (parseInt(h.w.css('z-index'))),z = (z > 0) ? z : 3000,o = $('
').css({height:'100%',width:'100%',position:'fixed',left:0,top:0,'z-index':z - 1,opacity:c.overlay / 100}); if (h.a)return F; h.t = t; h.a = true; h.w.css('z-index', z); if (c.modal) { if (!A[0])L('bind'); A.push(s); } else if (c.overlay > 0)h.w.jqmAddClose(o); else o = F; h.o = (o) ? o.addClass(c.overlayClass).prependTo('body') : F; if (ie6) { $('html,body').css({height:'100%',width:'100%'}); if (o) { o = o.css({position:'absolute'})[0]; for (var y in {Top:1,Left:1})o.style.setExpression(y.toLowerCase(), "(_=(document.documentElement.scroll" + y + " || document.body.scroll" + y + "))+'px'"); } } if (c.ajax) { var r = c.target || h.w,u = c.ajax,r = (typeof r == 'string') ? $(r, h.w) : $(r),u = (u.substr(0, 1) == '@') ? $(t).attr(u.substring(1)) : u; r.html(c.ajaxText).load(u, function() { if (c.onLoad)c.onLoad.call(this, h); if (cc)h.w.jqmAddClose($(cc, h.w)); e(h); }); } else if (cc)h.w.jqmAddClose($(cc, h.w)); if (c.toTop && h.o)h.w.before('').insertAfter(h.o); (c.onShow) ? c.onShow(h) : h.w.show(); e(h); return F; }, close:function(s) { var h = H[s]; if (!h.a)return F; h.a = F; if (A[0]) { A.pop(); if (!A[0])L('unbind'); } if (h.c.toTop && h.o)$('#jqmP' + h.w[0]._jqm).after(h.w).remove(); if (h.c.onHide)h.c.onHide(h); else { h.w.hide(); if (h.o)h.o.remove(); } return F; }, params:{}}; var s = 0,H = $.jqm.hash,A = [],ie6 = $.browser.msie && ($.browser.version == "6.0"),F = false, i = $('').css({opacity:0}), e = function(h) { if (ie6)if (h.o)h.o.html('

').prepend(i); else if (!$('iframe.jqm', h.w)[0])h.w.prepend(i); f(h); }, f = function(h) { try { $(':input:visible', h.w)[0].focus(); } catch(_) { } }, L = function(t) { $()[t]("keypress", m)[t]("keydown", m)[t]("mousedown", m); }, m = function(e) { var h = H[A[A.length - 1]],r = (!$(e.target).parents('.jqmID' + h.s)[0]); if (r)f(h); return !r; }, hs = function(w, t, c) { return w.each(function() { var s = this._jqm; $(t).each(function() { if (!this[c]) { this[c] = []; $(this).click(function() { for (var i in {jqmShow:1,jqmHide:1})for (var s in this[i])if (H[this[i][s]])H[this[i][s]].w[i](this); return F; }); } this[c].push(s); }); }); }; })(jQuery);