(function($){var k=false,plane=null;var l={o:null,container:null,cover:null,border:null,content:null,defaults:{width:'0',height:'0',title:'',modal:false,hideCallback:null,showShadow:true,invert:false},standards:{shadowCss:'',zindex:'200',bWidth:0,bHeight:0,bPaddingHor:0,bPaddingVer:0}},dialog={o:null,container:null,cover:null,border:null,content:null,defaults:{width:'0',height:'0',title:'',modal:false,hideCallback:null,showShadow:true,invert:false},standards:{shadowCss:'',zindex:'205',bWidth:0,bHeight:0,bPaddingHor:0,bPaddingVer:0}};var m=function(a,b){b=$.extend($.extend({},a.defaults),b);a.o=$.extend(b,$.extend({},a.standards));a.border.toggleClass('invert',a.o.invert);a.title.html(a.o.title);a.title.toggle(a.o.title!='');if(a.o.width!='0'&&a.o.height!='0'){var c=parseInt(a.o.width)+(parseInt(a.content.css('padding-left'))+parseInt(a.content.css('padding-right')));var d=parseInt(a.o.height)+(parseInt(a.content.css('padding-top'))+parseInt(a.content.css('padding-bottom')));a.o.bWidth=q(a,c);a.o.bHeight=r(a,d);n(a,c,d,a.o.bWidth,a.o.bHeight);o(a)}else{n(a,'','','','')}a.border.css({'z-index':a.o.zindex});a.cover.css({'z-index':parseInt(a.o.zindex)-1});if(!a.o.showShadow){a.o.shadowCss=a.cover.css('background-image');a.cover.css('background-image','none')}else if(a.cover.css('background-image')=='none'){a.cover.css('background-image',a.o.shadowCss)}};var n=function(a,b,c,d,e){a.content.css({'width':b,'height':c});a.border.css({'width':d,'height':e})};var o=function(a){var b=Math.floor((-parseInt(a.o.bWidth+a.o.bPaddingHor)/2))+'px';var c=Math.floor((-parseInt(a.o.bHeight+a.o.bPaddingVer)/2))+'px';a.border.css('margin-left',b);a.border.css('margin-top',c)};var p=function(a){if(a.o.width==0||a.o.height==0){var b=a.content.width();var c=a.content.height();a.o.bWidth=q(a,b);a.o.bHeight=r(a,c);n(a,b,c,a.o.bWidth,a.o.bHeight);o(a)}};var q=function(a,b){a.o.bPaddingHor=(parseInt(a.border.css('padding-left'))+parseInt(a.border.css('padding-right')));return b+a.o.bPaddingHor};var r=function(a,b){var c=a.o.title==''?'0px':a.title.css('line-height');c=parseInt(c.substring(0,c.length-2));a.o.bPaddingVer=(parseInt(a.border.css('padding-top'))+parseInt(a.border.css('padding-bottom')));return b+a.o.bPaddingVer+c};var s=function(a,b,c,d){var e=false,data=a;if(a!=null&&typeof a==="boolean"){e=a;data={};d=c;c=b}else if(b!=null&&typeof b==="boolean"){e=b}var f=null,options={},showCallback=null;if(!e){f=c}else{if(d!=null){showCallback=d;options=c}else if(jQuery.isFunction(c)){showCallback=c}else if(c!=null){options=c}}return[data,f,e,options,showCallback]};var t=function(a,b,c,d,e,f){a.content.html(b);if(!d){if(jQuery.isFunction(c)){c.call(b)}}else{v(a,e,f)}};var u=function(a,b,c,d,e,f,g){if(e){d=function(){v(a,f,g)}}if(d!=null&&c!=null){a.content.load(b,c,d)}else if(d!=null){a.content.load(b,d)}else if(c!=null){a.content.load(b,c)}else{a.content.load(b)}};var v=function(a,b,c){m(a,b);fn=function(){p(a);if(jQuery.isFunction(c)){c.call(a.content)}};a.container.show();fn.call(a.content)};var w=function(a){a.container.hide();if(a.o.hideCallback!=null){a.o.hideCallback.call(content)}};$.shadowbox={init:function(a){if(k==true){return}k=true;$('body').append('\r\n'+'<div id="shadowboxNormalContainer" class="shadowboxContainer">\r\n'+'\t<div class="shadowboxCover"></div>\r\n'+'\t<div class="shadowboxBorder">\r\n'+'\t\t<div class="shadowboxTitle"></div>\r\n'+'\t\t<div id="shadowbox" class="shadowboxContent"></div>\r\n'+'\t</div>\r\n'+'</div>\r\n'+'<div id="shadowboxDialogContainer" class="shadowboxContainer">\r\n'+'\t<div class="shadowboxCover"></div>\r\n'+'\t<div class="shadowboxBorder">\r\n'+'\t\t<div class="shadowboxTitle"></div>\r\n'+'\t\t<div class="shadowboxContent"></div>\r\n'+'\t</div>\r\n'+'</div>\r\n');l.container=$('#shadowboxNormalContainer');l.cover=l.container.find('.shadowboxCover');l.border=l.container.find('.shadowboxBorder');l.title=l.container.find('.shadowboxTitle');l.content=$('#shadowbox');dialog.container=$('#shadowboxDialogContainer');dialog.cover=dialog.container.find('.shadowboxCover');dialog.border=dialog.container.find('.shadowboxBorder');dialog.title=dialog.container.find('.shadowboxTitle');dialog.content=dialog.container.find('.shadowboxContent');l.cover.bind('click.shadowbox',function(){if(!l.o.modal){$.shadowbox.hide()}});dialog.cover.bind('click.shadowbox',function(){if(!dialog.o.modal){$.shadowbox.hide(dialog)}});m(l,a)},set:function(a,b,c,d){var e=s(null,b,c,d);var f=e[1],autoShow=e[2],options=e[3],showCallback=e[4];t(l,a,f,autoShow,options,showCallback)},load:function(a,b,c,d,e){b=b||null;c=c||null;d=d||null;var f=s(b,c,d,e);var g=f[0],loadCallback=f[1],autoShow=f[2],options=f[3],showCallback=f[4];u(l,a,g,loadCallback,autoShow,options,showCallback)},loadIframe:function(a,b,c,d,e){b=b||null;c=c||null;d=d||null;var f=s(b,c,d,e);var g=f[0],setCallback=f[1],autoShow=f[2],options=f[3],showCallback=f[4];a+='?'+jQuery.param(g,false);var h='<iframe src="'+a+'" frameborder="0" height="100%" width="100%" marginheight="0" marginwidth="0"><p>Your browser does not support iframes.</p></iframe>';t(l,h,setCallback,autoShow,options,showCallback)},image:function(e,f,g,h){f=f||null;g=g||null;h=h||null;var i=s(null,f,g,h);var j=i[1],autoShow=i[2],options=i[3],showCallback=i[4];l.content.addClass('shadowboxLoading');t(l,'',null,true,{title:'Loading image ...'},function(){var d=new Image();d.src=e;d.onload=function(){var a='',height='';if(options.width||options.height){if(options.width){a=' width="'+options.width+'"'}if(options.height){height=' height="'+options.height+'"'}}else{a=d.width;height=d.height;var b=($('body').width()-(q(l,a)-a))*0.90,maxHeight=($('body').height()-(r(l,height)-height))*0.90;if(a>b||height>maxHeight){if(a>b){a=' width="'+b+'"'}if(height>maxHeight){height=' height="'+maxHeight+'"'}}}var c='<img src="'+e+'" border="0" alt=""'+a+height+' style="display:block; margin:0 auto;" />';l.content.removeClass('shadowboxLoading');t(l,c,j,autoShow,options,showCallback)}})},alert:function(a,b,c){a=a.replace(/\n/g,'<br />');c=c||null;b=b||'Alert!';if(jQuery.isFunction(b)){c=b;b='Alert!'}var d='<p style="margin:0px;padding:0 0 30px 0;min-width:325px;min-height:60px;">'+a+'</p><button id="shadowboxDialogOkay" style="position:absolute;bottom:10px;right:10px;padding:0;margin:0;width:100px;height:25px;">Okay!</button>';t(dialog,d,null,true,{title:b,modal:true},function(){$('#shadowboxDialogOkay').click(function(){w(dialog);if(c!=null){c()}})})},confirm:function(c,d,e,f){c=c.replace(/\n/g,'<br />');f=f||null;e=e||null;d=d||new Array;if(f==null&&(e==null||typeof e==="string")){f=['Yes','No'];e=e!=null?e:'Confirm!'}else{f=f!=null?f:e;e=typeof e==="string"?e:'Confirm!'}var g='';for(var h in f){g+='<button id="actbtn-'+h+'" style="padding:0 3px;margin:0 0 0 3px;min-width:94px;height:25px;">'+f[h]+'</button>'}var i='<p style="margin:0px;padding:0 0 30px 0;min-width:400px;min-height:80px;">'+c+'</p><div style="position:absolute;bottom:10px;right:10px;padding:0;margin:0;">'+g+'</div>';t(dialog,i,null,true,{title:e,modal:true},function(){dialog.content.find('[id^=actbtn-]').each(function(b){$(this).click(function(){w(dialog);if(typeof d==="object"){var a=d[b];if(jQuery.isFunction(a)){a(b,$(this).html())}}else{d(b,$(this).html())}})})})},prompt:function(a,b,c,d){a=a.replace(/\n/g,'<br />');d=d||'Prompt!';buttons={okay:'Ok',cancel:'Cancel'};var e='';for(var f in buttons){e+='<button id="actbtn-'+f+'" style="padding:0 3px;margin:0 0 0 3px;min-width:94px;height:25px;">'+buttons[f]+'</button>'}var g='<p style="margin:0px;padding:0 0 10px 0;min-width:400px;min-height:50px;">'+a+'</p>'+'<div style="margin:0px;padding:0 0 35px 0;min-width:400px;">'+'<div style="padding:0;margin:0;">'+'<div style="padding:1px; border:1px inset #777;"><input id="shadowbox-prompt-input" value="'+b+'" style="padding:0;border:0; width:100%;" /></div>'+'</div>'+'</div>'+'<div style="position:absolute;bottom:10px;right:10px;padding:0;margin:0;">'+e+'</div>';t(dialog,g,null,true,{title:d,modal:true},function(){dialog.content.find('#actbtn-okay').click(function(){w(dialog);c(dialog.content.find('#shadowbox-prompt-input').val())});dialog.content.find('#actbtn-cancel').click(function(){w(dialog);c(null)})})},show:function(a,b){b=b||null;a=a||null;if(jQuery.isFunction(b)){b=a;a={}}v(l,a,b)},hide:function(){w(l)},isVisible:function(){return l.container.is(':visible')}}})(jQuery);


// uncomment the following to make shadowbox automatically initialise
$(document).ready(function(){
	$.shadowbox.init();
});

