/*
* jQuery SuperBox! 0.9.1
* Copyright (c) 2009 Pierre Bertet (pierrebertet.net)
* Licensed under the MIT (MIT-LICENSE.txt)
*
*/
(function(i){
    var l,t,r,q,a,p,h,o,j,w,b={
        boxId:"superbox",
        boxClasses:"",
        overlayOpacity:0.8,
        boxWidth:"600",
        boxHeight:"400",
        loadTxt:"Loading...",
        closeTxt:"Close",
        prevTxt:"Previous",
        nextTxt:"Next",
        beforeShow:function(){}
    },x={},m=false,s=i([]);
    i.superbox=function(){
        w=i.extend({},b,i.superbox.settings);
        if(i.browser.msie&&i.browser.version<7){
            s=s.add("select")
        }
        n();
        z()
        };

    function z(){
        i("a[rel^=superbox],area[rel^=superbox]").each(function(){
            var D=i(this),F=D.attr("rel"),B=F.match(/^superbox\[([^#\.\]]+)/)[1],E=F.replace("superbox","").match(/([#\.][^#\.\]]+)/g)||[],C=w.boxId,A=w.boxClasses;
            this._relSettings=F.replace("superbox["+B+E.join("")+"]","");
            i.each(E,function(G,H){
                if(H.substr(0,1)=="#"){
                    C=H.substr(1)
                }else{
                    if(H.substr(0,1)=="."){
                        A+=" "+H.substr(1)
                        }
                    }
            });
        if(B.search(/^image|gallery|iframe|content|ajax$/)!=-1){
            D.superbox(B,{
                boxId:C,
                boxClasses:A
            })
        }
    })
}
i.fn.superbox=function(B,A){
    A=i.extend({},w,A);
    i.superbox[B](this,A)
    };

i.extend(i.superbox,{
    image:function(C,A,B){
        var E=f(C.get(0)),D=false;
        if(E&&B=="gallery"){
            D=E[1]
            }else{
            if(E){
                D=E[0]
                }
            }
        C.click(function(F){
        F.preventDefault();
        k();
        if(B=="gallery"){
            c(C,E[0])
            }
            y(function(){
            var H=false,G;
            if(D){
                H=D.split("x")
                }
                G=i('<img src="'+C.attr("href")+'" title="'+(C.attr("title")||C.text())+'" />');
            G.load(function(){
                g(G,H);
                e({
                    boxClasses:"image "+A.boxClasses,
                    boxId:A.boxId
                    });
                u()
                }).appendTo($innerbox)
        })
        })
    },
gallery:function(B,A){
    var C=f(B.get(0));
    if(!x[C[0]]){
        x[C[0]]=[]
        }
        x[C[0]].push(B);
    B.get(0)._superboxGroupKey=(x[C[0]].length-1);
    i.superbox.image(B,A,"gallery")
    },
iframe:function(B,A){
    var C=f(B.get(0));
    B.click(function(D){
        D.preventDefault();
        k();
        y(function(){
            var F=false,E;
            if(C){
                F=C[0].split("x")
            }
            A=i.extend({},A,{
                boxWidth:F[0]||A.boxWidth,
                boxHeight:F[1]||A.boxHeight
                });
            E=i('<iframe src="'+B.attr("href")+'" name="'+B.attr("href")+'" frameborder="0" scrolling="auto" hspace="0" width="'+A.boxWidth+'" height="'+A.boxHeight+'"></iframe>');
            E.load(function(){
                q.width(A.boxWidth+"px");
                $innerbox.height(A.boxHeight+"px");
                e({
                    boxClasses:"iframe "+A.boxClasses,
                    boxId:A.boxId
                    });
                u()
                }).appendTo($innerbox)
            })
        })
    },
content:function(B,A){
    var C=f(B.get(0));
    B.click(function(D){
        D.preventDefault();
        k();
        y(function(){
            var E=false;
            if(C){
                E=C[0].split("x")
                }
                A=i.extend({},A,{
                boxWidth:E[0]||A.boxWidth,
                boxHeight:E[1]||A.boxHeight
                });
            q.width(A.boxWidth+"px");
            $innerbox.height(A.boxHeight+"px");
            i(B.attr("href")).clone().appendTo($innerbox).show();
            e({
                boxClasses:"content "+A.boxClasses,
                boxId:A.boxId
                });
            u()
            })
        })
    },
ajax:function(B,A){
    var C=f(B.get(0));
    B.click(function(D){
        D.preventDefault();
        k();
        y(function(){
            var E=false;
            if(C&&C[3]){
                E=C[3].split("x")
            }
            A=i.extend({},A,{
                boxWidth:E[0]||A.boxWidth,
                boxHeight:E[1]||A.boxHeight
                });
            q.width(A.boxWidth+"px");
            $innerbox.height(A.boxHeight+"px");
            i.get(C[2],function(F){
                i(F).appendTo($innerbox)
            });
            e({
                boxClasses:"ajax "+A.boxClasses,
                boxId:A.boxId
                });
            u()
            })
        })
    }
});
function f(A){
    return A._relSettings.match(/([^\[\]]+)/g)
}
function g(A,B){
    q.width(A.width()+($innerbox.css("paddingLeft").slice(0,-2)-0)+($innerbox.css("paddingRight").slice(0,-2)-0));
    $innerbox.height(A.height());
    if(B&&B[0]!=""){
        q.width(B[0]+"px")
        }
        if(B&&B[1]!=""&&B[1]>A.height()){
        $innerbox.height(B[1]+"px")
    }
}
function c(C,D){
    h.show();
    m=true;
    var A=C.get(0)._superboxGroupKey+1,B=A-2;
    if(x[D][A]){
        o.removeClass("disabled").unbind("click").bind("click",function(){
            x[D][A].click()
        })
        }else{
        o.addClass("disabled").unbind("click")
        }
        if(x[D][B]){
        j.removeClass("disabled").unbind("click").bind("click",function(){
            x[D][B].click()
        })
        }else{
        j.addClass("disabled").unbind("click")
        }
    }
function e(A){
    q.attr("id",A.boxId).attr("class",A.boxClasses)
}
function d(){
    i(document).unbind("keydown");
    p.hide();
    h.hide();
    t.hide().css({
        position:"fixed",
        top:0
    });
    $innerbox.empty()
    }
    function v(A){
    d();
    l.fadeOut(300,function(){
        s.show()
        });
    m=false
    }
    function y(B){
    var A=function(){
        if(i.browser.msie&&i.browser.version<7){
            t.css({
                position:"absolute",
                top:"50%"
            })
        }
        s.hide();
        p.show();
        B()
        };

    if(m){
        l.css("opacity",w.overlayOpacity).show();
        A()
        }else{
        l.css("opacity",0).show().fadeTo(300,w.overlayOpacity,A)
    }
}
function k(){
    t.show();
    $innerbox.empty();
    q.css({
        position:"absolute",
        top:"-99999px"
    })
}
function u(A,B){
    p.hide();
    i(document).unbind("keydown").bind("keydown",function(C){
        if(C.keyCode==27){
            v()
        }
        if(C.keyCode==39&&o.is(":visible")){
            o.click()
            }
            if(C.keyCode==37&&j.is(":visible")){
            j.click()
        }
    });
q.css({
    position:"static",
    top:0,
    opacity:0
});
if(i.browser.msie&&i.browser.version<8){
    q.css({
        position:"relative",
        top:"-50%"
    });
    if(i.browser.msie&&i.browser.version<7){
        t.css({
            position:"absolute",
            top:"50%"
        })
        }
    }
if(i(window).height()<t.height()){
    t.css({
        position:"absolute",
        top:(t.offset().top+10)+"px"
        })
}
w.beforeShow();
q.fadeTo(300,1)
}
function n(){
    if(!i.superbox.elementsReady){
        l=i('<div id="superbox-overlay"></div>').appendTo("body").hide();
        t=i('<div id="superbox-wrapper"></div>').appendTo("body").hide();
        r=i('<div id="superbox-container"></div>').appendTo(t);
        q=i('<div id="superbox"></div>').appendTo(r);
        $innerbox=i('<div id="superbox-innerbox"></div>').appendTo(q);
        h=i('<p class="nextprev"></p>').appendTo(q).hide();
        j=i('<a class="prev"><strong><span>'+w.prevTxt+"</span></strong></a>").appendTo(h);
        o=i('<a class="next"><strong><span>'+w.nextTxt+"</span></strong></a>").appendTo(h);
        a=i('<p class="close"><a><strong><span>'+w.closeTxt+"</span></strong></a></p>").prependTo(q).find("a");
        p=i('<p class="loading">'+w.loadTxt+"</p>").appendTo(r).hide();
        l.add(t).add(a).click(function(){
            v()
        });
        q.click(function(A){
            A.stopPropagation()
            });
        i.superbox.elementsReady=true
        }
    }
})(jQuery);

