/*
 * nyroModal v2.0.0
 * Core
 *
 * Commit b12752ee7dcdb1836c2e (09/26/2011) * 
 * 
 * Included parts:
 * - anims.fade
 * - filters.title
 * - filters.gallery
 * - filters.link
 * - filters.dom
 * - filters.data
 * - filters.image
 * - filters.swf
 * - filters.form
 * - filters.formFile
 * - filters.iframe
 * - filters.iframeForm
 * - filters.embedly
 */
jQuery(function ($, undefined) { var $w = $(window), $d = $(document), $b = $('body'), baseHref = $('base').attr('href'), _nmObj = { filters: [], callbacks: {}, loadFilter: undefined, modal: false, closeOnEscape: true, closeOnClick: true, useKeyHandler: false, showCloseButton: true, closeButton: '<a href="#" class="nyroModalClose nyroModalCloseButton nmReposition" title="close">Close</a>', stack: false, nonStackable: 'form', header: undefined, footer: undefined, galleryLoop: true, galleryCounts: true, ltr: true, imageRegex: '[^\.]\.(jpg|jpeg|png|tiff|gif|bmp)\s*$', selIndicator: 'nyroModalSel', swfObjectId: undefined, swf: { allowFullScreen: 'true', allowscriptaccess: 'always', wmode: 'transparent' }, store: {}, errorMsg: 'An error occured', elts: { all: undefined, bg: undefined, load: undefined, cont: undefined, hidden: undefined }, sizes: { initW: undefined, initH: undefined, w: undefined, h: undefined, minW: undefined, minH: undefined, wMargin: undefined, hMargin: undefined }, anim: { def: undefined, showBg: undefined, hideBg: undefined, showLoad: undefined, hideLoad: undefined, showCont: undefined, hideCont: undefined, showTrans: undefined, hideTrans: undefined, resize: undefined }, _open: false, _bgReady: false, _opened: false, _loading: false, _animated: false, _transition: false, _nmOpener: undefined, _nbContentLoading: 0, _scripts: '', _scriptsShown: '', saveObj: function () { this.opener.data('nmObj', this); }, open: function () { if (this._nmOpener) this._nmOpener._close(); this.getInternal()._pushStack(this.opener); this._opened = false; this._bgReady = false; this._open = true; this._initElts(); this._load(); this._nbContentLoading = 0; this._callAnim('showBg', $.proxy(function () { this._bgReady = true; if (this._nmOpener) { this._nmOpener._bgReady = false; this._nmOpener._loading = false; this._nmOpener._animated = false; this._nmOpener._opened = false; this._nmOpener._open = false; this._nmOpener.elts.cont = this._nmOpener.elts.hidden = this._nmOpener.elts.load = this._nmOpener.elts.bg = this._nmOpener.elts.all = undefined; this._nmOpener.saveObj(); this._nmOpener = undefined; } this._contentLoading(); }, this)); }, resize: function (recalc) { if (recalc) { this.elts.hidden.append(this.elts.cont.children().first().clone()); this.sizes.initW = this.sizes.w = this.elts.hidden.width(); this.sizes.initH = this.sizes.h = this.elts.hidden.height(); this.elts.hidden.empty(); } else { this.sizes.w = this.sizes.initW; this.sizes.h = this.sizes.initH; } this._unreposition(); this.size(); this._callAnim('resize', $.proxy(function () { this._reposition(); }, this)); }, size: function () { var maxHeight = this.getInternal().fullSize.viewH - this.sizes.hMargin, maxWidth = this.getInternal().fullSize.viewW - this.sizes.wMargin; if (this.sizes.minW && this.sizes.minW > this.sizes.w) this.sizes.w = this.sizes.minW; if (this.sizes.minH && this.sizes.minH > this.sizes.h) this.sizes.h = this.sizes.minH; if (this.sizes.h > maxHeight || this.sizes.w > maxWidth) { this.sizes.h = Math.min(this.sizes.h, maxHeight); this.sizes.w = Math.min(this.sizes.w, maxWidth); } this._callFilters('size'); }, getForNewLinks: function (elt) { var ret; if (this.stack && (!elt || this.isStackable(elt))) { ret = $.extend(true, {}, this); ret._nmOpener = undefined; ret.elts.all = undefined; } else { ret = $.extend({}, this); ret._nmOpener = this; } ret.filters = []; ret.opener = undefined; ret._open = false; return ret; }, isStackable: function (elt) { return !elt.is(this.nonStackable); }, keyHandle: function (e) { this.keyEvent = e; this._callFilters('keyHandle'); this.keyEvent = undefined; delete (this.keyEvent); }, getInternal: function () { return _internal; }, _close: function () { this.getInternal()._removeStack(this.opener); this._opened = false; this._open = false; this._callFilters('close'); }, close: function () { this._close(); this._callFilters('beforeClose'); var self = this; this._unreposition(); self._callAnim('hideCont', function () { self._callAnim('hideLoad', function () { self._callAnim('hideBg', function () { self._callFilters('afterClose'); self.elts.cont.remove(); self.elts.hidden.remove(); self.elts.load.remove(); self.elts.bg.remove(); self.elts.all.remove(); self.elts.cont = self.elts.hidden = self.elts.load = self.elts.bg = self.elts.all = undefined; }); }); }); }, _initElts: function () { if (!this.stack && this.getInternal().stack.length > 1) this.elts = this.getInternal().stack[this.getInternal().stack.length - 2]['nmObj'].elts; if (!this.elts.all || this.elts.all.closest('body').length == 0) this.elts.all = this.elts.bg = this.elts.cont = this.elts.hidden = this.elts.load = undefined; if (!this.elts.all) this.elts.all = $('<div />').appendTo(this.getInternal()._container); if (!this.elts.bg) this.elts.bg = $('<div />').hide().appendTo(this.elts.all); if (!this.elts.cont) this.elts.cont = $('<div />').hide().appendTo(this.elts.all); if (!this.elts.hidden) this.elts.hidden = $('<div />').hide().appendTo(this.elts.all); this.elts.hidden.empty(); if (!this.elts.load) this.elts.load = $('<div />').hide().appendTo(this.elts.all); this._callFilters('initElts'); }, _error: function () { this._callFilters('error'); }, _setCont: function (html, selector) { if (selector) { var tmp = [], i = 0; html = html.replace(/\r\n/gi, 'nyroModalLN').replace(/<script(.|\s)*?\/script>/gi, function (x) { tmp[i] = x; return '<pre class=nyroModalScript rel="' + (i++) + '"></pre>'; }); var cur = $('<div>' + html + '</div>').find(selector); if (cur.length) { html = cur.html().replace(/<pre class="?nyroModalScript"? rel="?(.?)"?><\/pre>/gi, function (x, y, z) { return tmp[y]; }).replace(/nyroModalLN/gi, "\r\n"); } else { this._error(); return; } } this.elts.hidden.append(this._filterScripts(html)).prepend(this.header).append(this.footer).wrapInner('<div class="nyroModal' + ucfirst(this.loadFilter) + '" />'); this.sizes.initW = this.sizes.w = this.elts.hidden.width(); this.sizes.initH = this.sizes.h = this.elts.hidden.height(); var outer = this.getInternal()._getOuter(this.elts.cont); this.sizes.hMargin = outer.h.total; this.sizes.wMargin = outer.w.total; this.size(); this.loading = false; this._callFilters('filledContent'); this._contentLoading(); }, _filterScripts: function (data) { if (typeof data != 'string') return data; this._scripts = []; this._scriptsShown = []; var start = 0, stStart = '<script', stEnd = '</script>', endLn = stEnd.length, pos, pos2, tmp; while ((pos = data.indexOf(stStart, start)) > -1) { pos2 = data.indexOf(stEnd) + endLn; tmp = $(data.substring(pos, pos2)); if (!tmp.attr('src') || tmp.attr('rel') == 'forceLoad') { if (tmp.attr('rev') == 'shown') this._scriptsShown.push(tmp.get(0)); else this._scripts.push(tmp.get(0)); } data = data.substring(0, pos) + data.substr(pos2); start = pos; } return data; }, _hasFilter: function (filter) { var ret = false; $.each(this.filters, function (i, f) { ret = ret || f == filter; }); return ret; }, _delFilter: function (filter) { this.filters = $.map(this.filters, function (v) { if (v != filter) return v; }); }, _callFilters: function (fct) { this.getInternal()._debug(fct); var ret = [], self = this; $.each(this.filters, function (i, f) { ret[f] = self._callFilter(f, fct); }); if (this.callbacks[fct] && $.isFunction(this.callbacks[fct])) this.callbacks[fct](this); return ret; }, _callFilter: function (f, fct) { if (_filters[f] && _filters[f][fct] && $.isFunction(_filters[f][fct])) return _filters[f][fct](this); return undefined; }, _callAnim: function (fct, clb) { this.getInternal()._debug(fct); this._callFilters('before' + ucfirst(fct)); if (!this._animated) { this._animated = true; if (!$.isFunction(clb)) clb = $.noop; var set = this.anim[fct] || this.anim.def || 'basic'; if (!_animations[set] || !_animations[set][fct] || !$.isFunction(_animations[set][fct])) set = 'basic'; _animations[set][fct](this, $.proxy(function () { this._animated = false; this._callFilters('after' + ucfirst(fct)); clb(); }, this)); } }, _load: function () { this.getInternal()._debug('_load'); if (!this.loading && this.loadFilter) { this.loading = true; this._callFilter(this.loadFilter, 'load'); } }, _contentLoading: function () { if (!this._animated && this._bgReady) { if (!this._transition && this.elts.cont.html().length > 0) this._transition = true; this._nbContentLoading++; if (!this.loading) { if (!this._opened) { this._opened = true; if (this._transition) { var fct = $.proxy(function () { this._writeContent(); this._callFilters('beforeShowCont'); this._callAnim('hideTrans', $.proxy(function () { this._transition = false; this._callFilters('afterShowCont'); this.elts.cont.append(this._scriptsShown); this._reposition(); }, this)); }, this); if (this._nbContentLoading == 1) { this._unreposition(); this._callAnim('showTrans', fct); } else { fct(); } } else { this._callAnim('hideLoad', $.proxy(function () { this._writeContent(); this._callAnim('showCont', $.proxy(function () { this.elts.cont.append(this._scriptsShown); this._reposition(); }, this)); }, this)); } } } else if (this._nbContentLoading == 1) { var outer = this.getInternal()._getOuter(this.elts.load); this.elts.load.css({ position: 'fixed', top: (this.getInternal().fullSize.viewH - this.elts.load.height() - outer.h.margin) / 2, left: (this.getInternal().fullSize.viewW - this.elts.load.width() - outer.w.margin) / 2 }); if (this._transition) { this._unreposition(); this._callAnim('showTrans', $.proxy(function () { this._contentLoading(); }, this)); } else { this._callAnim('showLoad', $.proxy(function () { this._contentLoading(); }, this)); } } } }, _writeContent: function () { this.elts.cont.empty().append(this.elts.hidden.contents()).append(this._scripts).append(this.showCloseButton ? this.closeButton : '').css({ position: 'fixed', width: this.sizes.w, height: this.sizes.h, top: (this.getInternal().fullSize.viewH - this.sizes.h - this.sizes.hMargin) / 2, left: (this.getInternal().fullSize.viewW - this.sizes.w - this.sizes.wMargin) / 2 }); }, _reposition: function () { var elts = this.elts.cont.find('.nmReposition'); if (elts.length) { var space = this.getInternal()._getSpaceReposition(); elts.each(function () { var me = $(this), offset = me.offset(); me.css({ position: 'fixed', top: offset.top - space.top, left: offset.left - space.left }); }); this.elts.cont.after(elts); } this.elts.cont.css('overflow', 'auto'); this._callFilters('afterReposition'); }, _unreposition: function () { this.elts.cont.css('overflow', ''); var elts = this.elts.all.find('.nmReposition'); if (elts.length) this.elts.cont.append(elts.removeAttr('style')); this._callFilters('afterUnreposition'); } }, _internal = { firstInit: true, debug: false, stack: [], fullSize: { w: 0, h: 0, wW: 0, wH: 0, viewW: 0, viewH: 0 }, nyroModal: function (opts, fullObj) { if (_internal.firstInit) { _internal._container = $('<div />').appendTo(jQuery('#aspnetForm')); $w.smartresize($.proxy(_internal._resize, _internal)); $d.bind('keydown.nyroModal', $.proxy(_internal._keyHandler, _internal)); _internal._calculateFullSize(); _internal.firstInit = false; } return this.nmInit(opts, fullObj).each(function () { _internal._init($(this).data('nmObj')); }); }, nmInit: function (opts, fullObj) { return this.each(function () { var me = $(this); if (fullObj) me.data('nmObj', $.extend(true, { opener: me }, opts)); else me.data('nmObj', me.data('nmObj') ? $.extend(true, me.data('nmObj'), opts) : $.extend(true, { opener: me }, _nmObj, opts)); }); }, nmCall: function () { return this.trigger('nyroModal'); }, nmManual: function (url, opts) { $('<a href="' + url + '"></a>').nyroModal(opts).trigger('nyroModal'); }, nmData: function (data, opts) { this.nmManual('#', $.extend({ data: data }, opts)); }, nmObj: function (opts) { $.extend(true, _nmObj, opts); }, nmInternal: function (opts) { $.extend(true, _internal, opts); }, nmAnims: function (opts) { $.extend(true, _animations, opts); }, nmFilters: function (opts) { $.extend(true, _filters, opts); }, nmTop: function () { if (_internal.stack.length) return _internal.stack[_internal.stack.length - 1]['nmObj']; return undefined; }, _debug: function (msg) { if (this.debug && window.console && window.console.log) window.console.log(msg); }, _container: undefined, _init: function (nm) { nm.filters = []; $.each(_filters, function (f, obj) { if (obj.is && $.isFunction(obj.is) && obj.is(nm)) { nm.filters.push(f); } }); nm._callFilters('initFilters'); nm._callFilters('init'); nm.opener.unbind('nyroModal.nyroModal nmClose.nyroModal nmResize.nyroModal').bind({ 'nyroModal.nyroModal': function (e) { nm.open(); return false; }, 'nmClose.nyroModal': function () { nm.close(); return false; }, 'nmResize.nyroModal': function () { nm.resize(); return false; } }); }, _scrollWidth: (function () { var scrollbarWidth; if ($.browser.msie) { var $textarea1 = $('<textarea cols="10" rows="2"></textarea>').css({ position: 'absolute', top: -1000, left: -1000 }).appendTo($b), $textarea2 = $('<textarea cols="10" rows="2" style="overflow: hidden;"></textarea>').css({ position: 'absolute', top: -1000, left: -1000 }).appendTo($b); scrollbarWidth = $textarea1.width() - $textarea2.width(); $textarea1.add($textarea2).remove(); } else { var $div = $('<div />').css({ width: 100, height: 100, overflow: 'auto', position: 'absolute', top: -1000, left: -1000 }).prependTo($b).append('<div />').find('div').css({ width: '100%', height: 200 }); scrollbarWidth = 100 - $div.width(); $div.parent().remove(); } return scrollbarWidth; })(), _selNyroModal: function (obj) { return $(obj).data('nmObj') ? true : false; }, _selNyroModalOpen: function (obj) { var me = $(obj); return me.data('nmObj') ? me.data('nmObj')._open : false; }, _keyHandler: function (e) { var nmTop = $.nmTop(); if (nmTop && nmTop.useKeyHandler) { return nmTop.keyHandle(e); } }, _pushStack: function (obj) { this.stack = $.map(this.stack, function (elA) { if (elA['nmOpener'] != obj.get(0)) return elA; }); this.stack.push({ nmOpener: obj.get(0), nmObj: $(obj).data('nmObj') }); }, _removeStack: function (obj) { this.stack = $.map(this.stack, function (elA) { if (elA['nmOpener'] != obj.get(0)) return elA; }); }, _resize: function () { var opens = $(':nmOpen').each(function () { $(this).data('nmObj')._unreposition(); }); this._calculateFullSize(); opens.trigger('nmResize'); }, _calculateFullSize: function () { this.fullSize = { w: $d.width(), h: $d.height(), wW: $w.width(), wH: $w.height() }; this.fullSize.viewW = Math.min(this.fullSize.w, this.fullSize.wW); this.fullSize.viewH = Math.min(this.fullSize.h, this.fullSize.wH); }, _getCurCSS: function (elm, name) { var ret = parseInt($.curCSS(elm, name, true)); return isNaN(ret) ? 0 : ret; }, _getOuter: function (elm) { elm = elm.get(0); var ret = { h: { margin: this._getCurCSS(elm, 'marginTop') + this._getCurCSS(elm, 'marginBottom'), border: this._getCurCSS(elm, 'borderTopWidth') + this._getCurCSS(elm, 'borderBottomWidth'), padding: this._getCurCSS(elm, 'paddingTop') + this._getCurCSS(elm, 'paddingBottom') }, w: { margin: this._getCurCSS(elm, 'marginLeft') + this._getCurCSS(elm, 'marginRight'), border: this._getCurCSS(elm, 'borderLeftWidth') + this._getCurCSS(elm, 'borderRightWidth'), padding: this._getCurCSS(elm, 'paddingLeft') + this._getCurCSS(elm, 'paddingRight')} }; ret.h.outer = ret.h.margin + ret.h.border; ret.w.outer = ret.w.margin + ret.w.border; ret.h.inner = ret.h.padding + ret.h.border; ret.w.inner = ret.w.padding + ret.w.border; ret.h.total = ret.h.outer + ret.h.padding; ret.w.total = ret.w.outer + ret.w.padding; return ret; }, _getSpaceReposition: function () { var outer = this._getOuter($b), ie7 = $.browser.msie && $.browser.version < 8 && !(screen.height <= $w.height() + 23); return { top: $w.scrollTop() - (!ie7 ? outer.h.border / 2 : 0), left: $w.scrollLeft() - (!ie7 ? outer.w.border / 2 : 0) }; }, _getHash: function (url) { if (typeof url == 'string') { var hashPos = url.indexOf('#'); if (hashPos > -1) return url.substring(hashPos); } return ''; }, _extractUrl: function (url) { var ret = { url: undefined, sel: undefined }; if (url) { var hash = this._getHash(url), hashLoc = this._getHash(window.location.href), curLoc = window.location.href.substring(0, window.location.href.length - hashLoc.length), req = url.substring(0, url.length - hash.length); ret.sel = hash; if (req != curLoc && req != baseHref) ret.url = req; } return ret; } }, _animations = { basic: { showBg: function (nm, clb) { nm.elts.bg.css({ opacity: 0.7 }).show(); clb(); }, hideBg: function (nm, clb) { nm.elts.bg.hide(); clb(); }, showLoad: function (nm, clb) { nm.elts.load.show(); clb(); }, hideLoad: function (nm, clb) { nm.elts.load.hide(); clb(); }, showCont: function (nm, clb) { nm.elts.cont.show(); clb(); }, hideCont: function (nm, clb) { nm.elts.cont.hide(); clb(); }, showTrans: function (nm, clb) { nm.elts.cont.hide(); nm.elts.load.show(); clb(); }, hideTrans: function (nm, clb) { nm.elts.cont.show(); nm.elts.load.hide(); clb(); }, resize: function (nm, clb) { nm.elts.cont.css({ width: nm.sizes.w, height: nm.sizes.h, top: (nm.getInternal().fullSize.viewH - nm.sizes.h - nm.sizes.hMargin) / 2, left: (nm.getInternal().fullSize.viewW - nm.sizes.w - nm.sizes.wMargin) / 2 }); clb(); } } }, _filters = { basic: { is: function (nm) { return true; }, init: function (nm) { if (nm.opener.attr('rev') == 'modal') nm.modal = true; if (nm.modal) nm.closeOnEscape = nm.closeOnClick = nm.showCloseButton = false; if (nm.closeOnEscape) nm.useKeyHandler = true; }, initElts: function (nm) { nm.elts.bg.addClass('nyroModalBg'); if (nm.closeOnClick) nm.elts.bg.unbind('click.nyroModal').bind('click.nyroModal', function (e) { e.preventDefault(); nm.close(); }); nm.elts.cont.addClass('nyroModalCont'); nm.elts.hidden.addClass('nyroModalCont nyroModalHidden'); nm.elts.load.addClass('nyroModalCont nyroModalLoad'); }, error: function (nm) { nm.elts.hidden.addClass('nyroModalError'); nm.elts.cont.addClass('nyroModalError'); nm._setCont(nm.errorMsg); }, beforeShowCont: function (nm) { nm.elts.cont.find('.nyroModal').each(function () { var cur = $(this); cur.nyroModal(nm.getForNewLinks(cur), true); }).end().find('.nyroModalClose').bind('click.nyroModal', function (e) { e.preventDefault(); nm.close(); }); }, keyHandle: function (nm) { if (nm.keyEvent.keyCode == 27 && nm.closeOnEscape) { nm.keyEvent.preventDefault(); nm.close(); } } }, custom: { is: function (nm) { return true; } } }; $.fn.extend({ nm: _internal.nyroModal, nyroModal: _internal.nyroModal, nmInit: _internal.nmInit, nmCall: _internal.nmCall }); $.extend({ nmManual: _internal.nmManual, nmData: _internal.nmData, nmObj: _internal.nmObj, nmInternal: _internal.nmInternal, nmAnims: _internal.nmAnims, nmFilters: _internal.nmFilters, nmTop: _internal.nmTop }); $.expr[':'].nyroModal = $.expr[':'].nm = _internal._selNyroModal; $.expr[':'].nmOpen = _internal._selNyroModalOpen; }); (function ($, sr) { var debounce = function (func, threshold, execAsap) { var timeout; return function debounced() { var obj = this, args = arguments; function delayed() { if (!execAsap) func.apply(obj, args); timeout = null; }; if (timeout) clearTimeout(timeout); else if (execAsap) func.apply(obj, args); timeout = setTimeout(delayed, threshold || 100); }; }; jQuery.fn[sr] = function (fn) { return fn ? this.bind('resize', debounce(fn)) : this.trigger(sr); }; })(jQuery, 'smartresize'); function ucfirst(str) { str += ''; var f = str.charAt(0).toUpperCase(); return f + str.substr(1); };
 jQuery(function($,undefined){$.nmAnims({fade:{showBg:function(nm,clb){nm.elts.bg.fadeTo(250,0.7,clb);},hideBg:function(nm,clb){nm.elts.bg.fadeOut(clb);},showLoad:function(nm,clb){nm.elts.load.fadeIn(clb);},hideLoad:function(nm,clb){nm.elts.load.fadeOut(clb);},showCont:function(nm,clb){nm.elts.cont.fadeIn(clb);},hideCont:function(nm,clb){nm.elts.cont.css('overflow','hidden').fadeOut(clb);},showTrans:function(nm,clb){nm.elts.load .css({position:nm.elts.cont.css('position'),top:nm.elts.cont.css('top'),left:nm.elts.cont.css('left'),width:nm.elts.cont.css('width'),height:nm.elts.cont.css('height'),marginTop:nm.elts.cont.css('marginTop'),marginLeft:nm.elts.cont.css('marginLeft')}).fadeIn(function(){nm.elts.cont.hide();clb();});},hideTrans:function(nm,clb){nm.elts.cont.css('visibility','hidden').show();nm.elts.load .css('position',nm.elts.cont.css('position')).animate({top:nm.elts.cont.css('top'),left:nm.elts.cont.css('left'),width:nm.elts.cont.css('width'),height:nm.elts.cont.css('height'),marginTop:nm.elts.cont.css('marginTop'),marginLeft:nm.elts.cont.css('marginLeft')},function(){nm.elts.cont.css('visibility','');nm.elts.load.fadeOut(clb);});},resize:function(nm,clb){nm.elts.cont.animate({width:nm.sizes.w,height:nm.sizes.h,top:(nm.getInternal().fullSize.viewH-nm.sizes.h-nm.sizes.hMargin)/2,left:(nm.getInternal().fullSize.viewW-nm.sizes.w-nm.sizes.wMargin)/2},clb);}}});$.nmObj({anim:{def:'fade'}});});;
 jQuery(function($,undefined){$.nmFilters({title:{is:function(nm){return nm.opener.is('[title]');},beforeShowCont:function(nm){var offset=nm.elts.cont.offset();nm.store.title=$('<h1 />',{text:nm.opener.attr('title')}).addClass('nyroModalTitle nmReposition');nm.elts.cont.prepend(nm.store.title);},close:function(nm){if(nm.store.title){nm.store.title.remove();nm.store.title=undefined;delete(nm.store.title);}}}});});;
 jQuery(function($,undefined){$.nmFilters({gallery:{is:function(nm){var ret=nm.opener.is('[rel]:not([rel=external], [rel=nofollow])');if(ret){var rel=nm.opener.attr('rel'),indexSpace=rel.indexOf(' '),gal=indexSpace>0?rel.substr(0,indexSpace):rel,links=$('[href][rel="'+gal+'"], [href][rel^="'+gal+' "]');if(links.length<2)ret=false;if(ret&&nm.galleryCounts&&!nm._hasFilter('title'))nm.filters.push('title');}return ret;},init:function(nm){nm.useKeyHandler=true;},keyHandle:function(nm){if(!nm._animated&&nm._opened){if(nm.keyEvent.keyCode==39||nm.keyEvent.keyCode==40){nm.keyEvent.preventDefault();nm._callFilters('galleryNext');}else if(nm.keyEvent.keyCode==37||nm.keyEvent.keyCode==38){nm.keyEvent.preventDefault();nm._callFilters('galleryPrev');}}},initElts:function(nm){var rel=nm.opener.attr('rel'),indexSpace=rel.indexOf(' ');nm.store.gallery=indexSpace>0?rel.substr(0,indexSpace):rel;nm.store.galleryLinks=$('[href][rel="'+nm.store.gallery+'"], [href][rel^="'+nm.store.gallery+' "]');nm.store.galleryIndex=nm.store.galleryLinks.index(nm.opener);},beforeShowCont:function(nm){if(nm.galleryCounts&&nm.store.title&&nm.store.galleryLinks&&nm.store.galleryLinks.length>1){var curTitle=nm.store.title.html();nm.store.title.html((curTitle.length?curTitle+' - ':'')+(nm.store.galleryIndex+1)+'/'+nm.store.galleryLinks.length);}},filledContent:function(nm){var link=this._getGalleryLink(nm,-1),append=nm.elts.hidden.find(' > div');if(link){$('<a />',{text:'previous',href:'#'}).addClass('nyroModalPrev').bind('click',function(e){e.preventDefault();nm._callFilters('galleryPrev');}).appendTo(append);}link=this._getGalleryLink(nm,1);if(link){$('<a />',{text:'next',href:'#'}).addClass('nyroModalNext').bind('click',function(e){e.preventDefault();nm._callFilters('galleryNext');}).appendTo(append);}},close:function(nm){nm.store.gallery=undefined;nm.store.galleryLinks=undefined;nm.store.galleryIndex=undefined;delete(nm.store.gallery);delete(nm.store.galleryLinks);delete(nm.store.galleryIndex);if(nm.elts.cont)nm.elts.cont.find('.nyroModalNext, .nyroModalPrev').remove();},galleryNext:function(nm){this._getGalleryLink(nm,1).nyroModal(nm.getForNewLinks(),true).click();},galleryPrev:function(nm){this._getGalleryLink(nm,-1).nyroModal(nm.getForNewLinks(),true).click();},_getGalleryLink:function(nm,dir){if(nm.store.gallery){if(!nm.ltr)dir *=-1;var index=nm.store.galleryIndex+dir;if(nm.store.galleryLinks&&index>=0&&index<nm.store.galleryLinks.length)return nm.store.galleryLinks.eq(index);else if(nm.galleryLoop&&nm.store.galleryLinks)return nm.store.galleryLinks.eq(index<0?nm.store.galleryLinks.length-1:0);}return undefined;}}});});;
 jQuery(function($,undefined){$.nmFilters({link:{is:function(nm){var ret=nm.opener.is('[href]');if(ret)nm.store.link=nm.getInternal()._extractUrl(nm.opener.attr('href'));return ret;},init:function(nm){nm.loadFilter='link';nm.opener.unbind('click.nyroModal').bind('click.nyroModal',function(e){e.preventDefault();nm.opener.trigger('nyroModal');});},load:function(nm){$.ajax({url:nm.store.link.url,data:nm.store.link.sel?[{name:nm.selIndicator,value:nm.store.link.sel.substring(1)}]:undefined,success:function(data){nm._setCont(data,nm.store.link.sel);},error:function(){nm._error();}});}}});});;
 jQuery(function($,undefined){$.nmFilters({dom:{is:function(nm){return nm._hasFilter('link')&&!nm.store.link.url&&nm.store.link.sel;},init:function(nm){nm.loadFilter='dom';},load:function(nm){nm.store.domEl=$(nm.store.link.sel);if(nm.store.domEl.length)nm._setCont(nm.store.domEl.contents());else nm._error();},close:function(nm){if(nm.store.domEl&&nm.elts.cont)nm.store.domEl.append(nm.elts.cont.find('.nyroModalDom').contents());}}});});;
 jQuery(function($,undefined){$.nmFilters({data:{is:function(nm){var ret=nm.data?true:false;if(ret){nm._delFilter('dom');}return ret;},init:function(nm){nm.loadFilter='data';},load:function(nm){nm._setCont(nm.data);}}});});;
 jQuery(function($,undefined){$.nmFilters({image:{is:function(nm){return(new RegExp(nm.imageRegex,'i')).test(nm.opener.attr('href'));},init:function(nm){nm.loadFilter='image';},load:function(nm){var url=nm.opener.attr('href');$('<img />').load(function(){nm.elts.cont.addClass('nyroModalImg');nm.elts.hidden.addClass('nyroModalImg');nm._setCont(this);}).error(function(){nm._error();}).attr('src',url);},size:function(nm){if(nm.sizes.w!=nm.sizes.initW||nm.sizes.h!=nm.sizes.initH){var ratio=Math.min(nm.sizes.w/nm.sizes.initW,nm.sizes.h/nm.sizes.initH);nm.sizes.w=nm.sizes.initW * ratio;nm.sizes.h=nm.sizes.initH * ratio;}var img=nm.loading?nm.elts.hidden.find('img'):nm.elts.cont.find('img');img.attr({width:nm.sizes.w,height:nm.sizes.h});},close:function(nm){if(nm.elts.cont){nm.elts.cont.removeClass('nyroModalImg');nm.elts.hidden.removeClass('nyroModalImg');}}}});});;
 jQuery(function($,undefined){$.nmFilters({swf:{idCounter:1,is:function(nm){return nm._hasFilter('link')&&nm.opener.is('[href$=".swf"]');},init:function(nm){nm.loadFilter='swf';},load:function(nm){if(!nm.swfObjectId)nm.swfObjectId='nyroModalSwf-'+(this.idCounter++);var url=nm.store.link.url,cont='<div><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="'+nm.swfObjectId+'" width="'+nm.sizes.w+'" height="'+nm.sizes.h+'"><param name="movie" value="'+url+'"></param>',tmp='';$.each(nm.swf,function(name,val){cont+='<param name="'+name+'" value="'+val+'"></param>';tmp+=' '+name+'="'+val+'"';});cont+='<embed src="'+url+'" type="application/x-shockwave-flash" width="'+nm.sizes.w+'" height="'+nm.sizes.h+'"'+tmp+'></embed></object></div>';nm._setCont(cont);}}});});;
 jQuery(function($,undefined){$.nmFilters({form:{is:function(nm){var ret=nm.opener.is('form');if(ret)nm.store.form=nm.getInternal()._extractUrl(nm.opener.attr('action'));return ret;},init:function(nm){nm.loadFilter='form';nm.opener.unbind('submit.nyroModal').bind('submit.nyroModal',function(e){e.preventDefault();nm.opener.trigger('nyroModal');});},load:function(nm){var data=nm.opener.serializeArray();if(nm.store.form.sel)data.push({name:nm.selIndicator,value:nm.store.form.sel.substring(1)});$.ajax({url:nm.store.form.url,data:data,type:nm.opener.attr('method')?nm.opener.attr('method'):'get',success:function(data){nm._setCont(data,nm.store.form.sel);},error:function(){nm._error();}});}}});});;
 jQuery(function($,undefined){$.nmFilters({formFile:{is:function(nm){var ret=nm.opener.is('form[enctype="multipart/form-data"]');if(ret){nm._delFilter('form');if(!nm.store.form)nm.store.form=nm.getInternal()._extractUrl(nm.opener.attr('action'));}return ret;},init:function(nm){nm.loadFilter='formFile';nm.store.formFileLoading=false;nm.opener.unbind('submit.nyroModal').bind('submit.nyroModal',function(e){if(!nm.store.formFileIframe){e.preventDefault();nm.opener.trigger('nyroModal');}else{nm.store.formFileLoading=true;}});},initElts:function(nm){var inputSel;if(nm.store.form.sel)inputSel=$('<input />',{'type':'hidden',name:nm.selIndicator,value:nm.store.form.sel.substring(1)}).appendTo(nm.opener);function rmFormFileElts(){if(inputSel){inputSel.remove();inputSel=undefined;delete(inputSel);}nm.store.formFileIframe.attr('src','about:blank').remove();nm.store.formFileIframe=undefined;delete(nm.store.formFileIframe);}nm.store.formFileIframe=$('<iframe name="nyroModalFormFile" src="javascript:\'\';" id="nyromodal-iframe-'+(new Date().getTime())+'"></iframe>').hide().load(function(){if(nm.store.formFileLoading){nm.store.formFileLoading=false;var content=nm.store.formFileIframe .unbind('load error').contents().find('body').not('script[src]');if(content&&content.html()&&content.html().length){rmFormFileElts();nm._setCont(content.html(),nm.store.form.sel);}else{var nbTry=0;fct=function(){nbTry++;var content=nm.store.formFileIframe .unbind('load error').contents().find('body').not('script[src]');if(content&&content.html()&&content.html().length){nm._setCont(content.html(),nm.store.form.sel);rmFormFileElts();}else if(nbTry<5){setTimeout(fct,25);}else{rmFormFileElts();nm._error();}};setTimeout(fct,25);}}}).error(function(){rmFormFileElts();nm._error();});nm.elts.all.append(nm.store.formFileIframe);nm.opener .attr('target','nyroModalFormFile').submit();},close:function(nm){nm.store.formFileLoading=false;if(nm.store.formFileIframe){nm.store.formFileIframe.remove();nm.store.formFileIframe=undefined;delete(nm.store.formFileIframe);}}}});});;
 jQuery(function($,undefined){$.nmFilters({iframe:{is:function(nm){var target=nm.opener.attr('target')||'',rel=nm.opener.attr('rel')||'',opener=nm.opener.get(0);return!nm._hasFilter('image')&&(target.toLowerCase()=='_blank'||rel.toLowerCase().indexOf('external')>-1||(opener.hostname&&opener.hostname.replace(/:\d*$/,'')!=window.location.hostname.replace(/:\d*$/,'')));},init:function(nm){nm.loadFilter='iframe';},load:function(nm){nm.store.iframe=$('<iframe src="javascript:\'\';" id="nyromodal-iframe-'+(new Date().getTime())+'" frameborder="0"></iframe>');nm._setCont(nm.store.iframe);},afterShowCont:function(nm){nm.store.iframe.attr('src',nm.opener.attr('href'));},close:function(nm){if(nm.store.iframe){nm.store.iframe.remove();nm.store.iframe=undefined;delete(nm.store.iframe);}}}});});;
 jQuery(function($,undefined){$.nmFilters({iframeForm:{is:function(nm){var ret=nm._hasFilter('iframe')&&nm.opener.is('form');if(ret){nm._delFilter('iframe');nm._delFilter('form');}return ret;},init:function(nm){nm.loadFilter='iframeForm';nm.store.iframeFormLoading=false;nm.store.iframeFormOrgTarget=nm.opener.attr('target');nm.opener.unbind('submit.nyroModal').bind('submit.nyroModal',function(e){if(!nm.store.iframeFormIframe){e.preventDefault();nm.opener.trigger('nyroModal');}else{nm.store.iframeFormLoading=true;}});},load:function(nm){nm.store.iframeFormIframe=$('<iframe name="nyroModalIframeForm" src="javascript:\'\';" id="nyromodal-iframe-'+(new Date().getTime())+'"></iframe>');nm._setCont(nm.store.iframeFormIframe);},afterShowCont:function(nm){nm.opener .attr('target','nyroModalIframeForm').submit();},close:function(nm){nm.store.iframeFormOrgTarget?nm.opener.attr('target',nm.store.iframeFormOrgTarget):nm.opener.removeAttr('target');delete(nm.store.formFileLoading);delete(nm.store.iframeFormOrgTarget);if(nm.store.iframeFormIframe){nm.store.iframeFormIframe.remove();nm.store.iframeFormIframe=undefined;delete(nm.store.iframeFormIframe);}}}});});;
 jQuery(function($,undefined){$.nmObj({embedlyUrl:'http://api.embed.ly/1/oembed',embedly:{key:undefined,wmode:'transparent',allowscripts:true,format:'json'}});var cache=[];$.nmFilters({embedly:{is:function(nm){if(nm._hasFilter('link')&&nm._hasFilter('iframe')&&nm.opener.attr('href')&&nm.embedly.key){if(cache[nm.opener.attr('href')]){nm.store.embedly=cache[nm.opener.attr('href')];nm._delFilter('iframe');return true;}nm.store.embedly=false;var data=nm.embedly;data.url=nm.opener.attr('href');$.ajax({url:nm.embedlyUrl,dataType:'jsonp',data:data,success:function(data){if(data.type!='error'){nm.store.embedly=data;cache[nm.opener.attr('href')]=data;nm._delFilter('iframe');nm.filters.push('embedly');nm._callFilters('initFilters');nm._callFilters('init');}}});}return false;},init:function(nm){nm.loadFilter='embedly';},load:function(nm){if(nm.store.embedly.type=='photo'){nm.filters.push('image');$('<img />').load(function(){nm.elts.cont.addClass('nyroModalImg');nm.elts.hidden.addClass('nyroModalImg');nm._setCont(this);}).error(function(){nm._error();}).attr('src',nm.store.embedly.url);}else{nm._setCont('<div>'+nm.store.embedly.html+'</div>');}},size:function(nm){if(nm.store.embedly.width&&!nm.sizes.height){nm.sizes.w=nm.store.embedly.width;nm.sizes.h=nm.store.embedly.height;}}}});});;

