/*
* jQuery SuperBox! 0.9.2 dev
* Copyright (c) 2010 Pierre Bertet (pierrebertet.net)
* Licensed under the MIT (MIT-LICENSE.txt)
*
*/
(function(h){var x,k,t,r,q,b,p,g,o,i,v,c={boxId:"superbox",boxClasses:"",overlayOpacity:0.8,boxWidth:"600",boxHeight:"400",loadTxt:"Loading...",closeTxt:"Close",prevTxt:"Previous",nextTxt:"Next",beforeOpen:function(){},afterOpen:function(){}},w={},l=false,s=h([]),a=false;h.superbox=function(){v=h.extend({},c,h.superbox.settings);if(h.browser.msie&&h.browser.version<7){s=s.add("select")}if(h.superbox.mainInit!==true){n();m();h.superbox.mainInit=true}z()};function z(){h("a[rel^=superbox],area[rel^=superbox]").each(function(){var E=h(this),G=E.attr("rel"),A=G.match(/^superbox\[([^\]]+)\]/)[1],C=A.match(/^([^#\.]+)/)[1],F=A.replace(C,"").match(/([#\.][^#\.\]]+)/g)||[],D=v.boxId,B=v.boxClasses;if(E.data("superbox_init")){return}E.data("superbox_init",true);this._relSettings=G.replace("superbox["+C+F.join("")+"]","");h.each(F,function(H,I){if(I.substr(0,1)=="#"){D=I.substr(1)}else{if(I.substr(0,1)=="."){B+=" "+I.substr(1)}}});if(C.search(/^image|gallery|iframe|content|ajax$/)!=-1){E.superbox(C,{boxId:D,boxClasses:B})}})}h.fn.superbox=function(B,A){A=h.extend({},v,A);h.superbox[B](this,A);this.click(function(C){C.preventDefault();x=this})};h.extend(h.superbox,{wait:function(A){a=true;j();y(function(){A()})},open:function(B,A){A=h.extend({},v,A);if(!a){h.superbox.wait(function(){h.superbox.open(B,A)});return}q.width(A.boxWidth+"px");$innerbox.height(A.boxHeight+"px");q.attr("id",A.boxId).attr("class",A.boxClasses);h(B).appendTo($innerbox);u(A);a=false},close:function(){e();k.fadeOut(300,function(){s.show()});l=false},image:function(C,A,B){C.click(function(){l=!!B;h.superbox.wait(function(){var G=f(C.get(0)),F=false;if(!!G){var E;if(l){E=G[1]}else{E=G[0]}if(!!E){F=E.split("x")}}var D=h('<img src="'+C.attr("href")+'" title="'+(C.attr("title")||C.text())+'" />');D.load(function(){if(!!F&&F[0]!=""){var H=F[0]-0}else{var H=D.width()+($innerbox.css("paddingLeft").slice(0,-2)-0)+($innerbox.css("paddingRight").slice(0,-2)-0)}if(!!F&&F[1]!=""){var I=F[1]-0}else{var I=D.height()}A=h.extend({},A,{boxClasses:(l?"gallery ":"image ")+A.boxClasses,boxWidth:H,boxHeight:I,beforeOpen:function(){if(l){d(C,G[0])}}});h.superbox.open(D,A)});D.appendTo($innerbox)})})},gallery:function(B,A){var C=f(B.get(0));if(!w[C[0]]){w[C[0]]=[]}w[C[0]].push(B);B.data("superboxGroupKey",w[C[0]].length-1);h.superbox.image(B,A,true)},iframe:function(B,A){B.click(function(){h.superbox.wait(function(){var D=f(B.get(0));var E=false;if(D){E=D[0].split("x")}A=h.extend({},A,{boxWidth:E[0]||A.boxWidth,boxHeight:E[1]||A.boxHeight,boxClasses:"iframe "+A.boxClasses});var C=h('<iframe title="'+B.text()+'" src="'+B.attr("href")+'" name="'+B.attr("href")+'" frameborder="0" scrolling="auto" width="'+A.boxWidth+'" height="'+A.boxHeight+'"></iframe>');C.one("load",function(){h.superbox.open(C,A)});C.appendTo($innerbox)})})},content:function(B,A){B.click(function(){h.superbox.wait(function(){var C=f(B.get(0));var D=false;if(C){D=C[0].split("x")}A=h.extend({},A,{boxWidth:D[0]||A.boxWidth,boxHeight:D[1]||A.boxHeight,boxClasses:"content "+A.boxClasses});h.superbox.open(h(B.attr("href")).clone(),A)})})},ajax:function(B,A){B.click(function(){h.superbox.wait(function(){var E=f(B.get(0));var G=false;if(E&&E[1]){G=E[1].split("x")}A=h.extend({},A,{boxWidth:G[0]||A.boxWidth,boxHeight:G[1]||A.boxHeight,boxClasses:"ajax "+A.boxClasses});var F=E[0].split("#");var D=F[0];var C=F[1]||false;h.get(D,function(H){if(C!==false){H=h(H).find("#"+C)}h.superbox.open(H,A)})})})}});function f(A){return A._relSettings.match(/([^\[\]]+)/g)}function d(C,D){g.show();l=true;var A=C.data("superboxGroupKey")+1,B=A-2;if(w[D][A]){o.removeClass("disabled").unbind("click").bind("click",function(){w[D][A].click()})}else{o.addClass("disabled").unbind("click")}if(w[D][B]){i.removeClass("disabled").unbind("click").bind("click",function(){w[D][B].click()})}else{i.addClass("disabled").unbind("click")}h(document).unbind("keydown.superbox_np").bind("keydown.superbox_np",function(E){if(E.keyCode==39){o.click()}else{if(E.keyCode==37){i.click()}}})}function e(){if(!!x){x.focus()}h(document).unbind("keydown.spbx_close").unbind("keydown.superbox_np");p.hide();g.hide();t.hide().css({position:"fixed",top:0});$innerbox.empty();x=null}function y(B){h(document).unbind("keydown.spbx_close").bind("keydown.spbx_close",function(C){if(C.keyCode==27){h.superbox.close()}});var A=function(){if(h.browser.msie&&h.browser.version<7){t.css({position:"absolute",top:"50%"})}s.hide();p.show();B()};if(l){k.css("opacity",v.overlayOpacity).show();A()}else{k.css("opacity",0).show().fadeTo(300,v.overlayOpacity,A)}}function j(){t.show();$innerbox.empty();q.css({position:"absolute",top:"-99999px"})}function u(A){A=h.extend({},v,A);p.hide();q.css({position:"static",top:0,opacity:0});if(h.browser.msie&&h.browser.version<8){q.css({position:"relative",top:"-50%"});if(h.browser.msie&&h.browser.version<7){t.css({position:"absolute",top:"50%"})}}if(h(window).height()<t.height()){t.css({position:"absolute",top:(t.offset().top+10)+"px"})}A.beforeOpen();q.fadeTo(300,1,function(){A.afterOpen()}).focus()}function n(){k=h('<div id="superbox-overlay"/>').appendTo("body").hide();t=h('<div id="superbox-wrapper"/>').appendTo("body").hide();r=h('<div id="superbox-container"/>').appendTo(t);q=h('<div id="superbox" tabindex="0"/>').appendTo(r);$innerbox=h('<div id="superbox-innerbox"/>').appendTo(q);g=h('<p class="nextprev"/>').appendTo(q).hide();i=h('<a class="prev" tabindex="0" role="button"><strong><span>'+v.prevTxt+"</span></strong></a>").appendTo(g);o=h('<a class="next" tabindex="0" role="button"><strong><span>'+v.nextTxt+"</span></strong></a>").appendTo(g);b=h('<p class="close"><a tabindex="0" role="button"><strong><span>'+v.closeTxt+"</span></strong></a></p>").prependTo(q).find("a");p=h('<p class="loading">'+v.loadTxt+"</p>").appendTo(r).hide()}function m(){k.add(t).add(b).click(function(){h.superbox.close()});q.click(function(A){A.stopPropagation()});if(!window.opera){i.add(b).add(o).keypress(function(A){if(A.keyCode===13){h(this).click()}})}}})(jQuery);

