/*
 * nyroModal - jQuery Plugin
 * http://nyromodal.nyrodev.com
 *
 * Copyright (c) 2010 Cedric Nirousset (nyrodev.com)
 * Licensed under the MIT license
 *
 * $Date:2010-02-23 (Tue, 23 Feb 2010) $
 * $version:1.6.2
 */
jQuery(function($){var userAgent=navigator.userAgent.toLowerCase();var browserVersion=(userAgent.match(/.+(?:rv|webkit|khtml|opera|msie)[\/:]([\d.]+)/ )||[0,'0'])[1];var isIE6=(/msie/.test(userAgent)&&!/opera/.test(userAgent)&&parseInt(browserVersion)<7&&(!window.XMLHttpRequest||typeof(XMLHttpRequest)==='function'));var body=$('body');var currentSettings;var callingSettings;var shouldResize=false;var gallery={};varfixFF=false;var contentElt;var contentEltLast;var modal={started:false,ready:false,dataReady:false,anim:false,animContent:false,loadingShown:false,transition:false,resizing:false,closing:false,error:false,blocker:null,blockerVars:null,full:null,bg:null,loading:null,tmp:null,content:null,wrapper:null,contentWrapper:null,scripts:new Array(),scriptsShown:new Array()};
var resized={width:false,height:false,windowResizing:false};var initSettingsSize={
width:null,height:null,windowResizing:true};var windowResizeTimeout;
$.fn.nyroModal=function(settings){if(!this)return false;return this.each(function(){
var me=$(this);if(this.nodeName.toLowerCase()=='form'){me.unbind('submit.nyroModal')
.bind('submit.nyroModal', function(e){if(e.isDefaultPrevented())return false;if(me.data('nyroModalprocessing'))
return true;if(this.enctype=='multipart/form-data'){processModal($.extend(settings,{
from:this}));return true;}e.preventDefault();processModal($.extend(settings,{from:this
}));return false;});}else{me.unbind('click.nyroModal').bind('click.nyroModal',function(e){if(e.isDefaultPrevented())return false;e.preventDefault();processModal($.extend(settings,{from:this}));return false;
});}});};$.fn.nyroModalManual=function(settings){if(!this.length)processModal(settings);return this.each(function(){
processModal($.extend(settings,{from:this}));});};$.nyroModalManual=function(settings){processModal(settings);};
$.nyroModalSettings=function(settings,deep1,deep2){setCurrentSettings(settings,deep1,deep2);
if(!deep1&&modal.started){if(modal.bg&&settings.bgColor)currentSettings.updateBgColor(modal,currentSettings,function(){});
if(modal.contentWrapper&&settings.title)setTitle();

if(!modal.error&&(settings.windowResizing||(!modal.resizing&&(('width' in settings&&settings.width==currentSettings.width)||('height' in settings&&settings.height==currentSettings.height))))){
modal.resizing=true;if(modal.contentWrapper)calculateSize(true);if(modal.contentWrapper&&modal.contentWrapper.is(':visible')&&!modal.animContent){
if(fixFF)modal.content.css({position:''});currentSettings.resize(modal,currentSettings,function(){
currentSettings.windowResizing=false;modal.resizing=false;if(fixFF)modal.content.css({position:'fixed'});
if($.isFunction(currentSettings.endResize))currentSettings.endResize(modal,currentSettings);
});}}}};$.nyroModalRemove=function(){removeModal();};
$.nyroModalNext=function(){var link=getGalleryLink(1);if(link)return link.nyroModalManual(getCurrentSettingsNew());
return false;};$.nyroModalPrev=function(){var link=getGalleryLink(-1);if(link)return link.nyroModalManual(getCurrentSettingsNew());
return false;};$.fn.nyroModal.settings={debug:false,blocker:false,
windowResize:true,
modal:false,
type:'',forceType:null,from:'',hash:'',processHandler:null,
selIndicator:'nyroModalSel',formIndicator:'nyroModal',content:null,bgColor:'#000000',
ajax:{},swf:{wmode:'transparent'},width:null,height:null,
minWidth:400,minHeight:300,resizable:true,autoSizable:true,
padding:25,regexImg:'[^\.]\.(jpg|jpeg|png|tiff|gif|bmp)\s*$',
addImageDivTitle:false,defaultImgAlt:'Image',setWidthImgTitle:true,
ltr:true,gallery:null,
galleryLinks:'<a href="#" class="nyroModalPrev">Prev</a><a href="#"  class="nyroModalNext">Next</a>',
galleryCounts:galleryCounts,galleryLoop:false,zIndexStart:100,cssOpt:{bg:{position:'absolute',
overflow:'hidden',top:0,left:0,height:'100%',width:'100%'},wrapper:{
position:'absolute',top:'50%',left:'50%'},wrapper2:{},content:{},loading:{position:'absolute',
top:'50%',left:'50%',marginTop:'-50px',marginLeft:'-50px'}},
wrap:{div:'<div class="wrapper"></div>',ajax:'<div class="wrapper"></div>',form:'<div class="wrapper"></div>',
formData:'<div class="wrapper"></div>',image:'<div class="wrapperImg"></div>',swf:'<div class="wrapperSwf"></div>',
iframe:'<div class="wrapperIframe"></div>',iframeForm:'<div class="wrapperIframe"></div>',
manual:'<div class="wrapper"></div>'},
closeButton:'<a href="#" class="nyroModalClose" id="closeBut" title="close">Close</a>',
title:null,titleFromIframe:true,openSelector:'.nyroModal',closeSelector:'.nyroModalClose',
contentLoading:'<a href="#" class="nyroModalClose">Cancel</a>',errorClass:'error',
contentError:'The requested content cannot be loaded.<br />Please try again later.<br /><a href="#" class="nyroModalClose">Close</a>',
handleError:null,showBackground:showBackground,hideBackground:hideBackground,
endFillContent:null,showContent:showContent,endShowContent:null,beforeHideContent:null,
hideContent:hideContent,showTransition:showTransition,hideTransition:hideTransition,
showLoading:showLoading,hideLoading:hideLoading,resize:resize,endResize:null,
updateBgColor:updateBgColor,endRemove:null};
function processModal(settings){if(modal.loadingShown||modal.transition||modal.anim)
return;debug('processModal');modal.started=true;
callingSettings=$.extend(true, settings);setDefaultCurrentSettings(settings);
if(!modal.full)modal.blockerVars=modal.blocker=null;modal.error=false;
modal.closing=false;modal.dataReady=false;modal.scripts=new Array();modal.scriptsShown=new Array();
currentSettings.type=fileType();if(currentSettings.forceType){if(!currentSettings.content)
currentSettings.from=true;currentSettings.type=currentSettings.forceType;
currentSettings.forceType=null;}if($.isFunction(currentSettings.processHandler))
currentSettings.processHandler(currentSettings);var from=currentSettings.from;
var url=currentSettings.url;initSettingsSize.width=currentSettings.width;
initSettingsSize.height=currentSettings.height;if(currentSettings.type=='swf'){
setCurrentSettings({overflow:'visible'}, 'cssOpt', 'content');currentSettings.content='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+currentSettings.width+'" height="'+currentSettings.height+'"><param name="movie" value="'+url+'"></param>';
var tmp='';$.each(currentSettings.swf, function(name, val){currentSettings.content+='<param name="'+name+'" value="'+val+'"></param>';
tmp+=' '+name+'="'+val+'"';});currentSettings.content+='<embed src="'+url+'" type="application/x-shockwave-flash" width="'+currentSettings.width+'" height="'+currentSettings.height+'"'+tmp+'></embed></object>';
}if(from){var jFrom=$(from).blur();if(currentSettings.type=='form'){
var data=$(from).serializeArray();data.push({name:currentSettings.formIndicator, value:1});
if(currentSettings.selector)data.push({name:currentSettings.selIndicator, value:currentSettings.selector.substring(1)});
showModal();$.ajax($.extend({}, currentSettings.ajax,{url:url,data:data,
type:jFrom.attr('method')?jFrom.attr('method'):'get',success:ajaxLoaded,
error:loadingError}));debug('Form Ajax Load:'+jFrom.attr('action'));
} else if(currentSettings.type=='formData'){initModal();jFrom.attr('target', 'nyroModalIframe');
jFrom.attr('action', url);jFrom.prepend('<input type="hidden" name="'+currentSettings.formIndicator+'" value="1" />');
if(currentSettings.selector)jFrom.prepend('<input type="hidden" name="'+currentSettings.selIndicator+'" value="'+currentSettings.selector.substring(1)+'" />');
modal.tmp.html('<iframe frameborder="0" hspace="0" name="nyroModalIframe" src="javascript:\'\';"></iframe>');
$('iframe', modal.tmp).css({width:currentSettings.width,height:currentSettings.height})
.error(loadingError).load(formDataLoaded);debug('Form Data Load:'+jFrom.attr('action'));
showModal();showContentOrLoading();} else if(currentSettings.type=='image'){debug('Image Load:'+url);
var title=jFrom.attr('title')||currentSettings.defaultImgAlt;initModal();
modal.tmp.html('<img id="nyroModalImg" />').find('img').attr('alt',title);
modal.tmp.css({lineHeight:0});$('img',modal.tmp).error(loadingError).load(function(){debug('Image Loaded:'+this.src);
$(this).unbind('load');var w=modal.tmp.width();var h=modal.tmp.height();
modal.tmp.css({lineHeight:''});resized.width=w;resized.height=h;setCurrentSettings({width:w,height:h,
imgWidth:w,imgHeight:h});initSettingsSize.width=w;initSettingsSize.height=h;
setCurrentSettings({overflow:'visible'}, 'cssOpt', 'content');modal.dataReady=true;
if(modal.loadingShown||modal.transition)showContentOrLoading();}).attr('src',url);showModal();
} else if(currentSettings.type=='iframeForm'){initModal();
modal.tmp.html('<iframe frameborder="0" hspace="0" src="javascript:\'\';" name="nyroModalIframe" id="nyroModalIframe"></iframe>');
debug('Iframe Form Load:'+url);$('iframe', modal.tmp).eq(0).css({width:'100%',
height:$.support.boxModel? '99%' :'100%'}).load(iframeLoaded);modal.dataReady=true;showModal();
} else if(currentSettings.type=='iframe'){initModal();
modal.tmp.html('<iframe frameborder="0" hspace="0" src="javascript:\'\';" name="nyroModalIframe" id="nyroModalIframe"></iframe>');
debug('Iframe Load:'+url);$('iframe', modal.tmp).eq(0).css({width:'100%',
height:$.support.boxModel? '99%' :'100%'}).load(iframeLoaded);modal.dataReady=true;showModal();
} else if(currentSettings.type){debug('Content:'+currentSettings.type);initModal();modal.tmp.html(currentSettings.content);
var w=modal.tmp.width();var h=modal.tmp.height();var div=$(currentSettings.type);
if(div.length){setCurrentSettings({type:'div'});w=div.width();h=div.height();if(contentElt)
contentEltLast=contentElt;contentElt=div;modal.tmp.append(div.contents());}
initSettingsSize.width=w;initSettingsSize.height=h;setCurrentSettings({width:w,height:h});
if(modal.tmp.html())modal.dataReady=true;else loadingError();if(!modal.ready)showModal();
else endHideContent();} else{debug('Ajax Load:'+url);setCurrentSettings({type:'ajax'});
var data=currentSettings.ajax.data||{};if(currentSettings.selector){
if(typeof data=="string"){data+= '&'+currentSettings.selIndicator+'='+currentSettings.selector.substring(1);
}else{data[currentSettings.selIndicator]=currentSettings.selector.substring(1);}}showModal();
$.ajax($.extend(true, currentSettings.ajax,{url:url,success:ajaxLoaded,error:loadingError,
data:data}));}}else if(currentSettings.content){debug('Content:'+currentSettings.type);
setCurrentSettings({type:'manual'});initModal();modal.tmp.html($('<div/>').html(currentSettings.content).contents());
if(modal.tmp.html())modal.dataReady=true;else loadingError();showModal();
}else{}}function setDefaultCurrentSettings(settings){debug('setDefaultCurrentSettings');
currentSettings=$.extend(true,{},$.fn.nyroModal.settings, settings);setMargin();}
function setCurrentSettings(settings,deep1,deep2){if(modal.started){if(deep1&&deep2){
$.extend(true, currentSettings[deep1][deep2],settings);}else if(deep1){$.extend(true,currentSettings[deep1],settings);
}else{if(modal.animContent){if('width' in settings){if(!modal.resizing){
settings.setWidth=settings.width;shouldResize=true;}delete settings['width'];
}if('height' in settings){if(!modal.resizing){settings.setHeight=settings.height;
shouldResize=true;}delete settings['height'];}}$.extend(true,currentSettings,settings);}}else{
if(deep1&&deep2){$.extend(true,$.fn.nyroModal.settings[deep1][deep2],settings);
}else if(deep1){$.extend(true,$.fn.nyroModal.settings[deep1], settings);
}else{$.extend(true, $.fn.nyroModal.settings, settings);}}}function setMarginScroll(){
if(isIE6&&!modal.blocker){if(document.documentElement){
currentSettings.marginScrollLeft=document.documentElement.scrollLeft;
currentSettings.marginScrollTop=document.documentElement.scrollTop;}else{currentSettings.marginScrollLeft=document.body.scrollLeft;
currentSettings.marginScrollTop=document.body.scrollTop;}}else{currentSettings.marginScrollLeft=0;currentSettings.marginScrollTop=0;
}}function setMargin(){setMarginScroll();currentSettings.marginLeft=-(currentSettings.width+currentSettings.borderW)/2;
currentSettings.marginTop=-(currentSettings.height+currentSettings.borderH)/2;if(!modal.blocker){
currentSettings.marginLeft+= currentSettings.marginScrollLeft;currentSettings.marginTop+= currentSettings.marginScrollTop;
}}function setMarginLoading(){setMarginScroll();var outer=getOuter(modal.loading);
currentSettings.marginTopLoading=-(modal.loading.height() + outer.h.border + outer.h.padding)/2;
currentSettings.marginLeftLoading=-(modal.loading.width() + outer.w.border + outer.w.padding)/2;
if(!modal.blocker){currentSettings.marginLeftLoading+= currentSettings.marginScrollLeft;
currentSettings.marginTopLoading+= currentSettings.marginScrollTop;}}function setTitle(){
var title=$('h1#nyroModalTitle',modal.contentWrapper);if(title.length)title.text(currentSettings.title);
else modal.contentWrapper.prepend('<h1 id="nyroModalTitle">'+currentSettings.title+'</h1>');}
function initModal(){debug('initModal');if(!modal.full){if(currentSettings.debug)
setCurrentSettings({color:'white'}, 'cssOpt', 'bg');var full={zIndex:currentSettings.zIndexStart,
position:'fixed',top:0,left:0,width:'100%',height:'100%'};var contain=body;var iframeHideIE='';
if(currentSettings.blocker){modal.blocker=contain=$(currentSettings.blocker);
var pos=modal.blocker.offset();var w=modal.blocker.outerWidth();var h=modal.blocker.outerHeight();
if(isIE6){setCurrentSettings({height:'100%',width:'100%',top:0,left:0},'cssOpt','bg');}
modal.blockerVars={top:pos.top,left:pos.left,width:w,height:h};
var plusTop=(/msie/.test(userAgent) ?0:getCurCSS(body.get(0), 'borderTopWidth'));
var plusLeft=(/msie/.test(userAgent) ?0:getCurCSS(body.get(0), 'borderLeftWidth'));
full={position:'absolute',top:pos.top+plusTop,left:pos.left+plusLeft,width:w,height:h};
}else if(isIE6){body.css({marginLeft:0,marginRight:0});var w=body.width();
var h=$(window).height()+'px';if($(window).height()>=body.outerHeight()){
h=body.outerHeight()+'px';}else w+= 20;w+='px';body.css({width:w,height:h,position:'static',overflow:'hidden'
});$('html').css({overflow:'hidden'});setCurrentSettings({cssOpt:{bg:{position:'absolute',
zIndex:currentSettings.zIndexStart+1,height:'110%',width:'110%',top:currentSettings.marginScrollTop+'px',
left:currentSettings.marginScrollLeft+'px'},wrapper:{zIndex:currentSettings.zIndexStart+2},
loading:{zIndex:currentSettings.zIndexStart+3}}});
iframeHideIE=$('<iframe id="nyroModalIframeHideIe" src="javascript:\'\';"></iframe>')
.css($.extend({},currentSettings.cssOpt.bg,{opacity:0,zIndex:50,border:'none'}));}
contain.append($('<div id="nyroModalFull"><div id="nyroModalBg"></div><div id="nyroModalWrapper"><div id="nyroModalContent"></div></div><div id="nyrModalTmp"></div><div id="nyroModalLoading"></div></div>').hide());
modal.full=$('#nyroModalFull').css(full).show();modal.bg=$('#nyroModalBg').css($.extend({
backgroundColor:currentSettings.bgColor}, currentSettings.cssOpt.bg)).before(iframeHideIE);
modal.bg.bind('click.nyroModal', clickBg);modal.loading=$('#nyroModalLoading')
.css(currentSettings.cssOpt.loading).hide();modal.contentWrapper=$('#nyroModalWrapper')
.css(currentSettings.cssOpt.wrapper).hide();modal.content=$('#nyroModalContent');
modal.tmp=$('#nyrModalTmp').hide();if($.isFunction($.fn.mousewheel)){modal.content.mousewheel(function(e, d){
var elt=modal.content.get(0);if((d > 0&&elt.scrollTop==0)||(d < 0&&elt.scrollHeight - elt.scrollTop==elt.clientHeight)){
e.preventDefault();e.stopPropagation();}});}
$(document).bind('keydown.nyroModal', keyHandler);modal.content.css({width:'auto', height:'auto'});
modal.contentWrapper.css({width:'auto', height:'auto'});
if(!currentSettings.blocker&&currentSettings.windowResize){$(window).bind('resize.nyroModal', function(){
window.clearTimeout(windowResizeTimeout);windowResizeTimeout=window.setTimeout(windowResizeHandler, 200);
});}}}function windowResizeHandler(){$.nyroModalSettings(initSettingsSize);}
function showModal(){debug('showModal');if(!modal.ready){initModal();modal.anim=true;
currentSettings.showBackground(modal, currentSettings, endBackground);}else{
modal.anim=true;modal.transition=true;currentSettings.showTransition(modal, currentSettings, function(){endHideContent();modal.anim=false;showContentOrLoading();});
}}function clickBg(e){if(!currentSettings.modal)removeModal();}function keyHandler(e){
if(e.keyCode==27){if(!currentSettings.modal)removeModal();}else if(currentSettings.gallery&&modal.ready&&modal.dataReady&&!modal.anim&&!modal.transition){
if(e.keyCode==39||e.keyCode==40){e.preventDefault();$.nyroModalNext();return false;
}else if(e.keyCode==37||e.keyCode==38){e.preventDefault();$.nyroModalPrev();return false;}}}
function fileType(){var from=currentSettings.from;var url;if(from&&from.nodeName){
var jFrom=$(from);url=jFrom.attr(from.nodeName.toLowerCase()=='form' ? 'action' :'href');
if(!url)url=location.href.substring(window.location.host.length+7);currentSettings.url=url;
if(jFrom.attr('rev')=='modal')currentSettings.modal=true;currentSettings.title=jFrom.attr('title');
if(from&&from.rel&&from.rel.toLowerCase()!='nofollow'){var indexSpace=from.rel.indexOf(' ');
currentSettings.gallery=indexSpace>0?from.rel.substr(0,indexSpace):from.rel;}
var imgType=imageType(url, from);if(imgType)return imgType;if(isSwf(url))return 'swf';
var iframe=false;if(from.target&&from.target.toLowerCase()=='_blank'||(from.hostname&&from.hostname.replace(/:\d*$/,'') != window.location.hostname.replace(/:\d*$/,''))){iframe=true;
}if(from.nodeName.toLowerCase()=='form'){if(iframe)return 'iframeForm';
setCurrentSettings(extractUrlSel(url));if(jFrom.attr('enctype')=='multipart/form-data')return 'formData';
return 'form';}if(iframe)return 'iframe';}else{url=currentSettings.url;if(!currentSettings.content)
currentSettings.from=true;if(!url)return null;if(isSwf(url))return 'swf';
var reg1=new RegExp("^http://|https://", "g");if(url.match(reg1))return 'iframe';}
var imgType=imageType(url, from);if(imgType)return imgType;var tmp=extractUrlSel(url);
setCurrentSettings(tmp);if(!tmp.url)return tmp.selector;}function imageType(url,from){
var image=new RegExp(currentSettings.regexImg, 'i');if(image.test(url)){return 'image';}}
function isSwf(url){var swf=new RegExp('[^\.]\.(swf)\s*$', 'i');return swf.test(url);}
function extractUrlSel(url){var ret={url:null,selector:null};if(url){var hash=getHash(url);
var hashLoc=getHash(window.location.href);var curLoc=window.location.href.substring(0, window.location.href.length - hashLoc.length);
var req=url.substring(0, url.length - hash.length);if(req==curLoc||req==$('base').attr('href')){
ret.selector=hash;}else{ret.url=req;ret.selector=hash;}}return ret;}function loadingError(){
debug('loadingError');modal.error=true;if(!modal.ready)return;if($.isFunction(currentSettings.handleError))
currentSettings.handleError(modal, currentSettings);modal.loading.addClass(currentSettings.errorClass)
.html(currentSettings.contentError);$(currentSettings.closeSelector, modal.loading).unbind('click.nyroModal')
.bind('click.nyroModal', removeModal);setMarginLoading();modal.loading.css({marginTop:currentSettings.marginTopLoading+'px',
marginLeft:currentSettings.marginLeftLoading+'px'});}
function fillContent(){debug('fillContent');if(!modal.tmp.html())return;modal.content.html(modal.tmp.contents());
modal.tmp.empty();wrapContent();if(currentSettings.type=='iframeForm'){$(currentSettings.from)
.attr('target','nyroModalIframe').data('nyroModalprocessing',1).submit().attr('target','_blank')
.removeData('nyroModalprocessing');}if(!currentSettings.modal)
modal.wrapper.prepend(currentSettings.closeButton);if($.isFunction(currentSettings.endFillContent))
currentSettings.endFillContent(modal,currentSettings);modal.content.append(modal.scripts);
$(currentSettings.closeSelector, modal.contentWrapper).unbind('click.nyroModal')
.bind('click.nyroModal', removeModal);$(currentSettings.openSelector,modal.contentWrapper).nyroModal(getCurrentSettingsNew());
}function getCurrentSettingsNew(){return callingSettings;var currentSettingsNew=$.extend(true, {}, currentSettings);
if(resized.width)currentSettingsNew.width=null;else currentSettingsNew.width=initSettingsSize.width;
if(resized.height)currentSettingsNew.height=null;else currentSettingsNew.height=initSettingsSize.height;
currentSettingsNew.cssOpt.content.overflow='auto';return currentSettingsNew;}function wrapContent(){
debug('wrapContent');var wrap=$(currentSettings.wrap[currentSettings.type]);
modal.content.append(wrap.children().remove());modal.contentWrapper.wrapInner(wrap);
if(currentSettings.gallery){modal.content.append(currentSettings.galleryLinks);
gallery.links=$('[rel="'+currentSettings.gallery+'"], [rel^="'+currentSettings.gallery+' "]');
gallery.index=gallery.links.index(currentSettings.from);
if(currentSettings.galleryCounts&&$.isFunction(currentSettings.galleryCounts))
currentSettings.galleryCounts(gallery.index + 1,gallery.links.length, modal,currentSettings);
var currentSettingsNew=getCurrentSettingsNew();var linkPrev=getGalleryLink(-1);if(linkPrev){
var prev=$('.nyroModalPrev',modal.contentWrapper).attr('href', linkPrev.attr('href'))
.click(function(e){e.preventDefault();$.nyroModalPrev();return false;});
if(isIE6&&currentSettings.type=='swf'){prev.before($('<iframe id="nyroModalIframeHideIeGalleryPrev" src="javascript:\'\';"></iframe>').css({
position:prev.css('position'),top:prev.css('top'),left:prev.css('left'),width:prev.width(),
height:prev.height(),opacity:0,border:'none'}));}}else{$('.nyroModalPrev',modal.contentWrapper).remove();}
var linkNext=getGalleryLink(1);if(linkNext){var next=$('.nyroModalNext', modal.contentWrapper)
.attr('href', linkNext.attr('href')).click(function(e){e.preventDefault();$.nyroModalNext();
return false;});if(isIE6&&currentSettings.type=='swf'){
next.before($('<iframe id="nyroModalIframeHideIeGalleryNext" src="javascript:\'\';"></iframe>')
.css($.extend({},{position:next.css('position'),top:next.css('top'),left:next.css('left'),
width:next.width(),height:next.height(),opacity:0,border:'none'})));}}else{
$('.nyroModalNext', modal.contentWrapper).remove();}}calculateSize();}
function getGalleryLink(dir){if(currentSettings.gallery){if(!currentSettings.ltr)dir*=-1;
var index=gallery.index + dir;if(index>=0&&index<gallery.links.length)return gallery.links.eq(index);
else if(currentSettings.galleryLoop){if(index<0)return gallery.links.eq(gallery.links.length-1);
else return gallery.links.eq(0);}}return false;}function calculateSize(resizing){
debug('calculateSize');modal.wrapper=modal.contentWrapper.children('div:first');
resized.width=false;resized.height=false;if(false&&!currentSettings.windowResizing){
initSettingsSize.width=currentSettings.width;initSettingsSize.height=currentSettings.height;}
if(currentSettings.autoSizable&&(!currentSettings.width||!currentSettings.height)){
modal.contentWrapper.css({opacity:0,width:'auto',height:'auto'}).show();var tmp={width:'auto',
height:'auto'};if(currentSettings.width){tmp.width=currentSettings.width;}else if(currentSettings.type=='iframe'){
tmp.width=currentSettings.minWidth;}if(currentSettings.height){tmp.height=currentSettings.height;
} else if(currentSettings.type=='iframe'){tmp.height=currentSettings.minHeight;}modal.content.css(tmp);
if(!currentSettings.width){currentSettings.width=modal.content.outerWidth(true);
resized.width=true;}if(!currentSettings.height){currentSettings.height=modal.content.outerHeight(true);
resized.height=true;}modal.contentWrapper.css({opacity:1});if(!resizing)modal.contentWrapper.hide();}
if(currentSettings.type!='image'&&currentSettings.type!='swf'){
currentSettings.width=Math.max(currentSettings.width,currentSettings.minWidth);
currentSettings.height=Math.max(currentSettings.height,currentSettings.minHeight);}
var outerWrapper=getOuter(modal.contentWrapper);var outerWrapper2=getOuter(modal.wrapper);
var outerContent=getOuter(modal.content);var tmp={content:{
width:currentSettings.width,height:currentSettings.height},wrapper2:{
width:currentSettings.width + outerContent.w.total,height:currentSettings.height + outerContent.h.total},
wrapper:{width:currentSettings.width + outerContent.w.total + outerWrapper2.w.total,
height:currentSettings.height + outerContent.h.total + outerWrapper2.h.total}};
if(currentSettings.resizable){var maxHeight=modal.blockerVars? modal.blockerVars.height:$(window).height()
-outerWrapper.h.border-(tmp.wrapper.height-currentSettings.height);var maxWidth=modal.blockerVars?modal.blockerVars.width:$(window).width()
-outerWrapper.w.border-(tmp.wrapper.width - currentSettings.width);maxHeight-=currentSettings.padding*2;maxWidth-=currentSettings.padding*2;
if(tmp.content.height > maxHeight||tmp.content.width > maxWidth){if(currentSettings.type=='image'||currentSettings.type=='swf'){
var useW=currentSettings.imgWidth?currentSettings.imgWidth :currentSettings.width;var useH=currentSettings.imgHeight?currentSettings.imgHeight :currentSettings.height;
var diffW=tmp.content.width - useW;var diffH=tmp.content.height - useH;if(diffH < 0) diffH=0;
if(diffW<0)diffW=0;var calcH=maxHeight-diffH;var calcW=maxWidth-diffW;var ratio=Math.min(calcH/useH,calcW/useW);
calcW=Math.floor(useW*ratio);calcH=Math.floor(useH*ratio);tmp.content.height=calcH+diffH;
tmp.content.width=calcW+diffW;}else{tmp.content.height=Math.min(tmp.content.height,maxHeight);
tmp.content.width=Math.min(tmp.content.width,maxWidth);}tmp.wrapper2={
width:tmp.content.width+outerContent.w.total,height:tmp.content.height+outerContent.h.total};
tmp.wrapper={width:tmp.content.width+outerContent.w.total+outerWrapper2.w.total,
height:tmp.content.height+outerContent.h.total+outerWrapper2.h.total};}}
if(currentSettings.type=='swf'){$('object, embed',modal.content).attr('width',tmp.content.width)
.attr('height',tmp.content.height);}else if(currentSettings.type=='image'){
$('img',modal.content).css({width:tmp.content.width,height:tmp.content.height});}
modal.content.css($.extend({},tmp.content,currentSettings.cssOpt.content));
modal.wrapper.css($.extend({},tmp.wrapper2,currentSettings.cssOpt.wrapper2));
if(!resizing)modal.contentWrapper.css($.extend({}, tmp.wrapper, currentSettings.cssOpt.wrapper));
if(currentSettings.type=='image'&&currentSettings.addImageDivTitle){$('img', modal.content).removeAttr('alt');
var divTitle=$('div', modal.content);if(currentSettings.title != currentSettings.defaultImgAlt&&currentSettings.title){
if(divTitle.length==0){divTitle=$('<div>'+currentSettings.title+'</div>');modal.content.append(divTitle);
}if(currentSettings.setWidthImgTitle){var outerDivTitle=getOuter(divTitle);divTitle.css({width:(tmp.content.width + outerContent.w.padding - outerDivTitle.w.total)+'px'});
}}else if(divTitle.length=0){divTitle.remove();}}if(currentSettings.title)setTitle();
tmp.wrapper.borderW=outerWrapper.w.border;tmp.wrapper.borderH=outerWrapper.h.border;
setCurrentSettings(tmp.wrapper);setMargin();}function removeModal(e){debug('removeModal');if(e)
e.preventDefault();if(modal.full&&modal.ready){$(document).unbind('keydown.nyroModal');
if(!currentSettings.blocker)$(window).unbind('resize.nyroModal');modal.ready=false;
modal.anim=true;modal.closing=true;if(modal.loadingShown||modal.transition){
currentSettings.hideLoading(modal, currentSettings, function(){modal.loading.hide();modal.loadingShown=false;
modal.transition=false;currentSettings.hideBackground(modal, currentSettings, endRemove);});}else{if(fixFF)
modal.content.css({position:''});modal.wrapper.css({overflow:'hidden'});modal.content.css({overflow:'hidden'});
$('iframe', modal.content).hide();if($.isFunction(currentSettings.beforeHideContent)){
currentSettings.beforeHideContent(modal, currentSettings, function(){
currentSettings.hideContent(modal, currentSettings, function(){endHideContent();
currentSettings.hideBackground(modal, currentSettings, endRemove);});});}else{currentSettings.hideContent(modal, currentSettings, function(){
endHideContent();currentSettings.hideBackground(modal, currentSettings, endRemove);});}}}if(e)return false;}
function showContentOrLoading(){debug('showContentOrLoading');if(modal.ready&&!modal.anim){
if(modal.dataReady){if(modal.tmp.html()){modal.anim=true;if(modal.transition){fillContent();
modal.animContent=true;currentSettings.hideTransition(modal, currentSettings, function(){modal.loading.hide();
modal.transition=false;modal.loadingShown=false;endShowContent();});}else{
currentSettings.hideLoading(modal, currentSettings, function(){modal.loading.hide();modal.loadingShown=false;
fillContent();setMarginLoading();setMargin();modal.animContent=true;
currentSettings.showContent(modal, currentSettings, endShowContent);});}}
}else if(!modal.loadingShown&&!modal.transition){modal.anim=true;modal.loadingShown=true;if(modal.error)
loadingError();else modal.loading.html(currentSettings.contentLoading);$(currentSettings.closeSelector,modal.loading)
.unbind('click.nyroModal').bind('click.nyroModal', removeModal);setMarginLoading();
currentSettings.showLoading(modal, currentSettings, function(){modal.anim=false;showContentOrLoading();});}}}
function ajaxLoaded(data){debug('AjaxLoaded:'+this.url);if(currentSettings.selector){var tmp={};var i=0;
data=data.replace(/\r\n/gi,'nyroModalLN').replace(/<script(.|\s)*?\/script>/gi, function(x){tmp[i]=x;
return '<pre style="display:none" class=nyroModalScript rel="'+(i++)+'"></pre>';});
data=$('<div>'+data+'</div>').find(currentSettings.selector).html()
.replace(/<pre style="display:none;?" class="?nyroModalScript"? rel="(.?)"><\/pre>/gi, function(x, y, z){
return tmp[y];}).replace(/nyroModalLN/gi,"\r\n");}modal.tmp.html(filterScripts(data));if(modal.tmp.html()){
modal.dataReady=true;showContentOrLoading();}else loadingError();}
function formDataLoaded(){debug('formDataLoaded');var jFrom=$(currentSettings.from);
jFrom.attr('action',jFrom.attr('action')+currentSettings.selector);jFrom.attr('target','');
$('input[name='+currentSettings.formIndicator+']',currentSettings.from).remove();
var iframe=modal.tmp.children('iframe');
var iframeContent=iframe.unbind('load').contents().find(currentSettings.selector||'body').not('script[src]');
iframe.attr('src', 'about:blank');modal.tmp.html(iframeContent.html());if(modal.tmp.html()){
modal.dataReady=true;showContentOrLoading();}else loadingError();}function iframeLoaded(){
if((window.location.hostname&&currentSettings.url.indexOf(window.location.hostname)>-1)
||currentSettings.url.indexOf('http://')){var iframe=$('iframe', modal.full).contents();
var tmp={};if(currentSettings.titleFromIframe){tmp.title=iframe.find('title').text();
if(!tmp.title){try {tmp.title=iframe.find('title').html();} catch(err){}}}var body=iframe.find('body');
if(!currentSettings.height&&body.height())tmp.height=body.height();if(!currentSettings.width&&body.width())
tmp.width=body.width();$.extend(initSettingsSize, tmp);$.nyroModalSettings(tmp);}}
function galleryCounts(nb, total, elts, settings){if(total > 1)settings.title+=(settings.title?' - ':'')+nb+'/'+total;}
function endHideContent(){debug('endHideContent');modal.anim=false;if(contentEltLast){
contentEltLast.append(modal.content.contents());contentEltLast=null;
} else if(contentElt){contentElt.append(modal.content.contents());contentElt=null;}
modal.content.empty();gallery={};modal.contentWrapper.hide().children().remove().empty().attr('style','').hide();
if(modal.closing||modal.transition)modal.contentWrapper.hide();modal.contentWrapper
.css(currentSettings.cssOpt.wrapper).append(modal.content);showContentOrLoading();}
function endRemove(){debug('endRemove');$(document).unbind('keydown',keyHandler);modal.anim=false;
modal.full.remove();modal.full=null;if(isIE6){body.css({height:'',width:'',position:'',overflow:'',marginLeft:'',marginRight:''});
$('html').css({overflow:''});}if($.isFunction(currentSettings.endRemove))
currentSettings.endRemove(modal, currentSettings);}function endBackground(){debug('endBackground');
modal.ready=true;modal.anim=false;showContentOrLoading();}function endShowContent(){
debug('endShowContent');modal.anim=false;modal.animContent=false;
modal.contentWrapper.css({opacity:''});
fixFF=/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)&&parseFloat(browserVersion) < 1.9&&currentSettings.type != 'image';
if(fixFF)modal.content.css({position:'fixed'});modal.content.append(modal.scriptsShown);
if(currentSettings.type=='iframe')modal.content.find('iframe').attr('src', currentSettings.url);
if($.isFunction(currentSettings.endShowContent))currentSettings.endShowContent(modal, currentSettings);
if(shouldResize){shouldResize=false;$.nyroModalSettings({width:currentSettings.setWidth, height:currentSettings.setHeight});
delete currentSettings['setWidth'];delete currentSettings['setHeight'];}
if(resized.width)setCurrentSettings({width:null});if(resized.height)setCurrentSettings({height:null});}
function getHash(url){if(typeof url=='string'){var hashPos=url.indexOf('#');if(hashPos>-1)
return url.substring(hashPos);}return '';}function filterScripts(data){if(typeof data=='string')
data=data.replace(/<\/?(html|head|body)([^>]*)>/gi, '');var tmp=new Array();
$.each($.clean({0:data}, this.ownerDocument), function(){if($.nodeName(this, "script")){
if(!this.src||$(this).attr('rel')=='forceLoad'){if($(this).attr('rev')=='shown')
modal.scriptsShown.push(this);else modal.scripts.push(this);}}else tmp.push(this);});return tmp;}
function getOuter(elm){elm=elm.get(0);var ret={h:{
margin:getCurCSS(elm,'marginTop')+getCurCSS(elm,'marginBottom'),
border:getCurCSS(elm,'borderTopWidth')+getCurCSS(elm,'borderBottomWidth'),
padding:getCurCSS(elm,'paddingTop')+getCurCSS(elm,'paddingBottom')},w:{
margin:getCurCSS(elm,'marginLeft')+getCurCSS(elm,'marginRight'),
border:getCurCSS(elm,'borderLeftWidth')+getCurCSS(elm,'borderRightWidth'),
padding:getCurCSS(elm,'paddingLeft')+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;}
function getCurCSS(elm,name){var ret=parseInt($.curCSS(elm, name, true));if(isNaN(ret))ret=0;return ret;}
function debug(msg){if($.fn.nyroModal.settings.debug||currentSettings&&currentSettings.debug)
nyroModalDebug(msg,modal,currentSettings||{});}
function showBackground(elts,settings,callback){elts.bg.css({opacity:0}).fadeTo(500,0.75,callback);}
function hideBackground(elts,settings,callback){elts.bg.fadeOut(300,callback);}
function showLoading(elts,settings,callback){elts.loading.css({marginTop:settings.marginTopLoading+'px',
marginLeft:settings.marginLeftLoading+'px',opacity:0}).show().animate({opacity:1
},{complete:callback, duration:400});}function hideLoading(elts,settings,callback){callback();}
function showContent(elts, settings, callback){elts.loading.css({marginTop:settings.marginTopLoading+'px',
marginLeft:settings.marginLeftLoading+'px'}).show().animate({width:settings.width+'px',
height:settings.height+'px',marginTop:settings.marginTop+'px',marginLeft:settings.marginLeft+'px'
}, {duration:350, complete:function(){elts.contentWrapper.css({width:settings.width+'px',
height:settings.height+'px',marginTop:settings.marginTop+'px',marginLeft:settings.marginLeft+'px'})
.show();elts.loading.fadeOut(200,callback);}});}function hideContent(elts,settings,callback){
elts.contentWrapper.animate({height:'50px',width:'50px',
marginTop:(-(25+settings.borderH)/2+settings.marginScrollTop)+'px',
marginLeft:(-(25+settings.borderW)/2+settings.marginScrollLeft)+'px'
},{duration:350, complete:function(){elts.contentWrapper.hide();callback();}});}
function showTransition(elts,settings,callback){elts.loading.css({
marginTop:elts.contentWrapper.css('marginTop'),marginLeft:elts.contentWrapper.css('marginLeft'),
height:elts.contentWrapper.css('height'),width:elts.contentWrapper.css('width'),opacity:0}).show()
.fadeTo(400,1,function(){elts.contentWrapper.hide();callback();});}
function hideTransition(elts, settings, callback){elts.contentWrapper.hide().css({
width:settings.width+'px',height:settings.height+'px',marginLeft:settings.marginLeft+'px',
marginTop:settings.marginTop+'px',opacity:1});elts.loading.animate({width:settings.width+'px',
height:settings.height+'px',marginLeft:settings.marginLeft+'px',marginTop:settings.marginTop+'px'
},{complete:function(){elts.contentWrapper.show();elts.loading.fadeOut(400,function(){
elts.loading.hide();callback();});}, duration:350});}function resize(elts,settings,callback){
elts.contentWrapper.animate({width:settings.width+'px',height:settings.height+'px',
marginLeft:settings.marginLeft+'px',marginTop:settings.marginTop+'px'},{complete:callback,duration:400});}
function updateBgColor(elts,settings,callback){if(!$.fx.step.backgroundColor){
elts.bg.css({backgroundColor:settings.bgColor});callback();}else elts.bg.animate({
backgroundColor:settings.bgColor},{complete:callback, duration:400});}
$($.fn.nyroModal.settings.openSelector).nyroModal();});var tmpDebug='';
function nyroModalDebug(msg,elts,settings){if(elts.full&&elts.bg){elts.bg.prepend(msg+'<br />'+tmpDebug);
tmpDebug='';}else tmpDebug+=msg+'<br />';}
