/*
 * jQuery Booklet Plugin
 * Copyright (c) 2010 W. Grauvogel (http://builtbywill.com/)
 *
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * Version : 1.2.0
 *
 * Originally based on the work of:
 *	1) Charles Mangin (http://clickheredammit.com/pageflip/)
 */
(function(b){
    b.fn.booklet=function(c){
        var d=b.extend({},b.fn.booklet.defaults,c);
        return b(this).each(function(){
            var j,e,h,k,f,g;
            if(typeof c=="string"){
                if(b(this).data("booklet")){
                    j=c.toLowerCase();
                    h=b.fn.booklet.interfaces[b(this).data("id")];
                    if(j=="next"){
                        h.next()
                        }else{
                        if(j=="prev"){
                            h.prev()
                            }
                        }
                }
        }else{
        if(typeof c=="number"){
            if(b(this).data("booklet")){
                g=c;
                h=b.fn.booklet.interfaces[b(this).data("id")];
                if(g%2!=0){
                    g-=1
                    }
                    h.gotoPage(g)
                }
            }else{
        e=b.extend(true,{},d);
        k=b.fn.booklet.interfaces.length;
        for(f=0;f<k;f++){
            if(typeof b.fn.booklet.interfaces[f]=="undefined"){
                k=f;
                break
            }
        }
        h=new a(b(this),e,k);
    b.fn.booklet.interfaces[k]=h
    }
}
})
};

function a(ak,an,N){
    var aA,aH,Z,G,V,R,O,K,t,am,ar,I,U,T,aa,e,aI=new Array(),Q=new Array(),L,aj,ai,ag,ae,ac,aK,aq,P,y,c,aD,ay,aJ,aL,ao,n,al,aB,v,ax,av,Y,au,at,r,J,H,ap,E,f,d,q,af,w,B,x,az,C,o,A,W,s,aG,z,l,aC='<div class="b-page-empty" title="" rel=""></div>',aF='<div class="b-page-blank" title="" rel=""></div>';
    am=false;
    e=false;
    ar=false;
    I=U=false;
    aA=this;
    aA.options=an;
    aA.id=N;
    aA.hash="";
    aH=aA.options;
    Z=ak.addClass("booklet");
    G=Z.children(".b-load");
    m();
    Z.data("booklet",true);
    Z.data("id",N);
    Z.data("total",G.children().length);
    if(!aH.width){
        aH.width=Z.width()
        }else{
        if(typeof aH.width=="string"&&aH.width.indexOf("%")!=-1){
            aH.wPercent=true;
            aH.wOrig=aH.width;
            aH.width=(aH.width.replace("%","")/100)*parseFloat(Z.parent().css("width"))
            }
        }
    if(!aH.height){
    aH.height=Z.height()
    }else{
    if(typeof aH.height=="string"&&aH.height.indexOf("%")!=-1){
        aH.hPercent=true;
        aH.hOrig=aH.height;
        aH.height=(aH.height.replace("%","")/100)*parseFloat(Z.parent().css("height"))
        }
    }
Z.width(aH.width);
Z.height(aH.height);
aH.pWidth=aH.width/2;
aH.pWidthN="-"+(aH.pWidth)+"px";
aH.pWidthH=aH.pWidth/2;
aH.pHeight=aH.height;
aH.pTotal=G.children().length;
aH.speedH=aH.speed/2;
if(aH.direction=="LTR"){
    aH.curr=0
    }else{
    if(aH.direction=="RTL"){
        aH.curr=aH.pTotal-2
        }
    }
if(!isNaN(aH.startingPage)&&aH.startingPage<=aH.pTotal&&aH.startingPage>0){
    if((aH.startingPage%2)!=0){
        aH.startingPage--
    }
    aH.curr=aH.startingPage
    }
    if(aH.closed&&aH.autoCenter){
    if(aH.curr==0){
        Z.width(aH.pWidth)
        }else{
        if(aH.curr>=aH.pTotal-2){
            Z.width(aH.pWidth)
            }
        }
}
if(aH.name){
    document.title=aH.name
    }else{
    aH.name=document.title
    }
    if(aH.shadows){
    aH.shadowTopFwdWidth="-"+aH.shadowTopFwdWidth+"px";
    aH.shadowTopBackWidth="-"+aH.shadowTopBackWidth+"px"
    }
    if(aH.menu){
    q=b(aH.menu).addClass("b-menu");
    K=aH.curr;
    if(aH.pageSelector){
        w=b('<div class="b-selector b-selector-page"><span class="b-current">'+(K+1)+" - "+(K+2)+"</span></div>").appendTo(q);
        B=b("<ul></ul>").appendTo(w).empty().css("height","auto");
        for(R=0;R<aH.pTotal;R+=2){
            O=R;
            nums=(O+1)+"-"+(O+2);
            if(aH.closed){
                O--;
                if(R==0){
                    nums="1"
                    }else{
                    if(R==aH.pTotal-2){
                        nums=aH.pTotal-2
                        }else{
                        nums=(O+1)+"-"+(O+2)
                        }
                    }
                if(aH.covers){
                O--;
                if(R==0){
                    nums=""
                    }else{
                    if(R==aH.pTotal-2){
                        nums=""
                        }else{
                        nums=(O+1)+"-"+(O+2)
                        }
                    }
            }
        }
    if(aH.direction=="RTL"){
    nums=(Math.abs(O-aH.pTotal)-1)+" - "+((Math.abs(O-aH.pTotal)));
    if(aH.closed){
        if(R==aH.pTotal-2){
            nums="1"
            }else{
            if(R==0){
                nums=aH.pTotal-2
                }else{
                nums=(Math.abs(O-aH.pTotal)-3)+" - "+((Math.abs(O-aH.pTotal)-2))
                }
            }
        if(aH.covers){
        if(R==aH.pTotal-2){
            nums=""
            }else{
            if(R==0){
                nums=""
                }else{
                nums=(Math.abs(O-aH.pTotal)-5)+" - "+((Math.abs(O-aH.pTotal)-4))
                }
            }
    }
}
w.find(".b-current").text(nums);
az=b('<li><a href="#/page/'+(R+1)+'" id="selector-page-'+R+'"><span class="b-text">'+aI[R+1]+'</span><span class="b-num">'+nums+"</span></a></li>").prependTo(B)
}else{
    if(R==0){
        w.find(".b-current").text(nums)
        }
        az=b('<li><a href="#/page/'+(R+1)+'" id="selector-page-'+R+'"><span class="b-text">'+aI[R]+'</span><span class="b-num">'+nums+"</span></a></li>").appendTo(B)
    }
    C=az.find("a");
if(!aH.hash){
    C.click(function(){
        if(aH.direction=="RTL"){
            w.find(".b-current").text(b(this).find(".b-num").text())
            }
            o=parseInt(b(this).attr("id").replace("selector-page-",""));
        aA.gotoPage(o);
        return false
        })
    }
}
x=B.height();
B.css({
    height:0,
    "padding-bottom":0
});
w.unbind("hover").hover(function(){
    B.stop().animate({
        height:x,
        paddingBottom:10
    },500)
    },function(){
    B.stop().animate({
        height:0,
        paddingBottom:0
    },500)
    })
}
if(aH.chapterSelector){
    af=Q[aH.curr];
    if(af==""){
        af=Q[aH.curr+1]
        }
        A=b('<div class="b-selector b-selector-chapter"><span class="b-current">'+af+"</span></div>").appendTo(q);
    W=b("<ul></ul>").appendTo(A).empty().css("height","auto");
    for(R=0;R<aH.pTotal;R+=1){
        if(Q[R]!=""&&typeof Q[R]!="undefined"){
            if(aH.direction=="RTL"){
                O=R;
                if(O%2!=0){
                    O--
                }
                A.find(".b-current").text(Q[R]);
                aG=b('<li><a href="#/page/'+(O+1)+'" id="selector-page-'+(O)+'"><span class="b-text">'+Q[R]+"</span></a></li>").prependTo(W)
                }else{
                aG=b('<li><a href="#/page/'+(R+1)+'" id="selector-page-'+R+'"><span class="b-text">'+Q[R]+"</span></a></li>").appendTo(W)
                }
                z=aG.find("a");
            if(!aH.hash){
                z.click(function(){
                    if(aH.direction=="RTL"){
                        A.find(".b-current").text(b(this).find(".b-text").text())
                        }
                        l=parseInt(b(this).attr("id").replace("selector-page-",""));
                    aA.gotoPage(l);
                    return false
                    })
                }
            }
    }
    s=W.height();
W.css({
    height:0,
    "padding-bottom":0
});
A.unbind("hover").hover(function(){
    W.stop().animate({
        height:s,
        paddingBottom:10
    },500)
    },function(){
    W.stop().animate({
        height:0,
        paddingBottom:0
    },500)
    })
}
}
b.extend(aA,{
    next:function(){
        if(!am){
            aA.gotoPage(aH.curr+2)
            }
        },
prev:function(){
    if(!am){
        aA.gotoPage(aH.curr-2)
        }
    },
gotoPage:function(h){
    if(h>aH.curr&&h<aH.pTotal&&h>=0&&!am){
        am=true;
        t=h-aH.curr;
        aH.curr=h;
        aH.before.call(aA,aH);
        aE();
        F();
        S(aH.curr+1,aH);
        X(t,true,aJ);
        if(aH.closed&&aH.autoCenter&&h-t==0){
            ag.stop().animate({
                width:0,
                left:aH.pWidth
                },aH.speed,aH.easing);
            ac.stop().animate({
                left:aH.pWidth
                },aH.speed,aH.easing)
            }else{
            ag.stop().animate({
                width:0
            },aH.speedH,aH.easeIn)
            }
            if(ao){
            ae.stop().animate({
                left:aH.pWidth/4,
                width:aH.pWidth*0.75,
                paddingLeft:aH.shadowBtmWidth
                },aH.speedH,aH.easeIn).animate({
                left:0,
                width:aH.pWidth,
                paddingLeft:0
            },aH.speedH)
            }else{
            ae.stop().animate({
                left:aH.pWidthH,
                width:aH.pWidthH,
                paddingLeft:aH.shadowBtmWidth
                },aH.speedH,aH.easeIn).animate({
                left:0,
                width:aH.pWidth,
                paddingLeft:0
            },aH.speedH)
            }
            c.animate({
            left:aH.shadowBtmWidth
            },aH.speedH,aH.easeIn).animate({
            left:0
        },aH.speedH,aH.easeOut,function(){
            M()
            })
        }else{
        if(h<aH.curr&&h<aH.pTotal&&h>=0&&!am){
            am=true;
            t=aH.curr-h;
            aH.curr=h;
            aH.before.call(aA,aH);
            aE();
            F();
            S(aH.curr+1,aH);
            X(t,false,aL);
            if(n){
                ai.animate({
                    left:aH.pWidth,
                    width:0
                },aH.speed,aH.easing);
                P.animate({
                    left:aH.pWidthN
                    },aH.speed,aH.easing);
                if(aH.closed&&aH.autoCenter&&aH.curr==0){
                    aj.animate({
                        left:aH.pWidthH,
                        width:aH.pWidthH
                        },aH.speedH,aH.easeIn).animate({
                        left:0,
                        width:aH.pWidth
                        },aH.speedH,aH.easeOut);
                    ag.stop().animate({
                        left:0
                    },aH.speed,aH.easing)
                    }else{
                    aj.animate({
                        left:aH.pWidth,
                        width:aH.pWidth
                        },aH.speed,aH.easing)
                    }
                    aq.animate({
                    right:0
                },aH.speed,aH.easing,function(){
                    M()
                    })
                }else{
                ai.animate({
                    left:aH.pWidth,
                    width:0
                },aH.speed,aH.easing);
                P.animate({
                    left:aH.pWidthN
                    },aH.speed,aH.easing);
                if(aH.closed&&aH.autoCenter&&aH.curr==0){
                    aj.animate({
                        left:aH.pWidthH,
                        width:aH.pWidthH
                        },aH.speedH,aH.easeIn).animate({
                        left:0,
                        width:aH.pWidth
                        },aH.speedH,aH.easeOut);
                    ag.stop().animate({
                        left:0
                    },aH.speed,aH.easing)
                    }else{
                    aj.animate({
                        left:aH.pWidthH,
                        width:aH.pWidthH
                        },aH.speedH,aH.easeIn).animate({
                        left:aH.pWidth,
                        width:aH.pWidth
                        },aH.speedH,aH.easeOut)
                    }
                    aq.animate({
                    right:aH.shadowBtmWidth
                    },aH.speedH,aH.easeIn).animate({
                    right:0
                },aH.speedH,aH.easeOut,function(){
                    M()
                    })
                }
            }
    }
}
});
if(aH.manual&&b.ui){
    aH.overlays=false
    }
    if(aH.next){
    ap=b(aH.next);
    ap.click(function(h){
        h.preventDefault();
        aA.next()
        })
    }
    if(aH.prev){
    E=b(aH.prev);
    E.click(function(h){
        h.preventDefault();
        aA.prev()
        })
    }
    if(aH.overlays){
    av=b('<div class="b-overlay b-overlay-prev b-prev" title="Página Anterior"></div>').appendTo(Z);
    ax=b('<div class="b-overlay b-overlay-next b-next" title="Siguiente Página"></div>').appendTo(Z);
    v=Z.find(".b-overlay");
    if(b.browser.msie){
        v.css({
            background:"#fff",
            filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=0) !important"
        })
        }
    }
if(aH.tabs){
    at=b('<div class="b-tab b-tab-prev b-prev" title="Página Anterior">Anterior</div>').appendTo(Z);
    au=b('<div class="b-tab b-tab-next b-next" title="Siguiente Página">Siguiente</div>').appendTo(Z);
    Y=Z.find(".b-tab");
    if(aH.tabWidth){
        Y.width(aH.tabWidth)
        }
        if(aH.tabHeight){
        Y.height(aH.tabHeight)
        }
        Y.css({
        top:"-"+au.outerHeight()+"px"
        });
    Z.css({
        marginTop:au.outerHeight()
        });
    if(aH.direction=="RTL"){
        au.html("Previous").attr("title","Previous Page");
        at.html("Next").attr("title","Next Page")
        }
    }else{
    Z.css({
        marginTop:0
    })
    }
    if(aH.arrows){
    H=b('<div class="b-arrow b-arrow-prev b-prev" title="Previous Page"><div>Previous</div></div>').appendTo(Z);
    J=b('<div class="b-arrow b-arrow-next b-next" title="Next Page"><div>Next</div></div>').appendTo(Z);
    r=Z.find(".b-arrow");
    if(aH.direction=="RTL"){
        J.html("<div>Previous</div>").attr("title","Previous Page");
        H.html("<div>Next</div>").attr("title","Next Page")
        }
    }
f=Z.find(".b-next");
d=Z.find(".b-prev");
f.click(function(h){
    h.preventDefault();
    aA.next()
    });
d.click(function(h){
    h.preventDefault();
    aA.prev()
    });
if(aH.overlays&&aH.hovers){
    f.unbind("mouseover mouseout").bind("mouseover",function(){
        u(true)
        }).bind("mouseout",function(){
        aw(true)
        });
    d.unbind("mouseover mouseout").bind("mouseover",function(){
        u(false)
        }).bind("mouseout",function(){
        aw(false)
        })
    }
    if(aH.arrows){
    if(aH.arrowsHide){
        if(b.support.opacity){
            f.hover(function(){
                J.find("div").stop().fadeTo("fast",1)
                },function(){
                J.find("div").stop().fadeTo("fast",0)
                });
            d.hover(function(){
                H.find("div").stop().fadeTo("fast",1)
                },function(){
                H.find("div").stop().fadeTo("fast",0)
                })
            }else{
            f.hover(function(){
                J.find("div").show()
                },function(){
                J.find("div").hide()
                });
            d.hover(function(){
                H.find("div").show()
                },function(){
                H.find("div").hide()
                })
            }
        }else{
    J.find("div").show();
    H.find("div").show()
    }
}
if(aH.keyboard){
    b(document).keyup(function(h){
        if(h.keyCode==37){
            aA.prev()
            }else{
            if(h.keyCode==39){
                aA.next()
                }
            }
    })
}
if(aH.hash){
    g();
    clearInterval(T);
    T=setInterval(function(){
        ad()
        },250)
    }
    if(aH.wPercent||aH.hPercent){
    b(window).resize(function(){
        ab()
        })
    }
    if(aH.auto&&aH.delay){
    clearTimeout(aa);
    aa=setTimeout(function(){
        aA.next()
        },aH.delay);
    e=true;
    if(aH.pause){
        pause=b(aH.pause);
        pause.click(function(h){
            h.preventDefault();
            if(e){
                clearTimeout(aa);
                e=false
                }
            })
    }
    if(aH.play){
    play=b(aH.play);
    play.click(function(h){
        h.preventDefault();
        if(!e){
            clearTimeout(aa);
            aa=setTimeout(function(){
                aA.next()
                },aH.delay);
            e=true
            }
        })
}
}
ah();
F();
aE();
function m(){
    if((G.children().length%2)!=0){
        if(aH.closed&&aH.covers){
            G.children().last().before(aF)
            }else{
            G.children().last().after(aF)
            }
        }
    if(aH.closed){
    b(aC).attr({
        title:aH.closedFrontTitle||"Beginning",
        rel:aH.closedFrontChapter||"Inicio de la Carta"
        }).prependTo(G);
    G.children().last().attr({
        title:aH.closedBackTitle||"End",
        rel:aH.closedBackChapter||"Fin de la Carta"
        });
    G.append(aC)
    }
    if(aH.direction=="LTR"){
    O=0
    }else{
    O=G.children().length;
    if(aH.closed){
        O-=2
        }
        if(aH.covers){
        O-=2
        }
        b(G.children().get().reverse()).each(function(){
        b(this).appendTo(G)
        })
    }
    G.children().each(function(h){
    if(b(this).attr("rel")){
        Q[h]=b(this).attr("rel")
        }else{
        Q[h]=""
        }
        aI[h]=b(this).attr("title");
    if(b(this).hasClass("b-page-empty")){
        b(this).wrap('<div class="b-page"><div class="b-wrap"></div></div>')
        }else{
        if(aH.closed&&aH.covers&&(h==1||h==G.children().length-2)){
            b(this).wrap('<div class="b-page"><div class="b-wrap b-page-cover"></div></div>')
            }else{
            if(h%2!=0){
                b(this).wrap('<div class="b-page"><div class="b-wrap b-wrap-right"></div></div>')
                }else{
                b(this).wrap('<div class="b-page"><div class="b-wrap b-wrap-left"></div></div>')
                }
            }
    }
b(this).parents(".b-page").addClass("b-page-"+h).data("page",h);
if(aH.pageNumbers&&!b(this).hasClass("b-page-empty")&&(!aH.closed||(aH.closed&&!aH.covers)||(aH.closed&&aH.covers&&h!=1&&h!=G.children().length-2))){
    if(aH.direction=="LTR"){
        O++
    }
    b(this).parent().append('<div class="b-counter">'+(O)+"</div>");
    if(aH.direction=="RTL"){
        O--
    }
}
})
}
function ab(){
    if(aH.wPercent){
        aH.width=(aH.wOrig.replace("%","")/100)*parseFloat(Z.parent().css("width"));
        Z.width(aH.width);
        aH.pWidth=aH.width/2;
        aH.pWidthN="-"+(aH.pWidth)+"px";
        aH.pWidthH=aH.pWidth/2
        }
        if(aH.hPercent){
        aH.height=(aH.hOrig.replace("%","")/100)*parseFloat(Z.parent().css("height"));
        Z.height(aH.height);
        aH.pHeight=aH.height
        }
        k()
    }
    function k(){
    Z.find(".b-shadow-f, .b-shadow-b, .b-p0, .b-p3").css({
        filter:"",
        zoom:""
    });
    if(aH.manual&&b.ui){
        Z.find(".b-page").draggable("destroy").removeClass("b-grab b-grabbing")
        }
        ay.attr("style","");
    ay.css({
        left:0,
        width:aH.pWidth-(aH.pagePadding*2),
        height:aH.pHeight-(aH.pagePadding*2),
        padding:aH.pagePadding
        });
    aq.css({
        right:0,
        left:"auto"
    });
    ai.css({
        left:0,
        width:aH.pWidth,
        height:aH.pHeight
        });
    ag.css({
        left:aH.pWidth,
        width:aH.pWidth,
        opacity:1,
        height:aH.pHeight
        });
    L.css({
        left:0,
        width:aH.pWidth,
        height:aH.pHeight
        });
    aj.css({
        left:0,
        width:0,
        height:aH.pHeight
        });
    ae.stop().css({
        left:aH.pWidth*2,
        width:0,
        height:aH.pHeight,
        paddingLeft:0
    });
    ac.css({
        left:aH.pWidth,
        width:aH.pWidth,
        height:aH.pHeight
        });
    if(aH.closed&&aH.autoCenter&&aH.curr==0){
        L.css({
            left:0
        });
        ai.css({
            left:aH.pWidthN
            });
        ag.css({
            left:0
        });
        ae.css({
            left:aH.pWidth
            });
        ac.css({
            left:0
        })
        }
        if(aH.closed&&aH.autoCenter&&(aH.curr==0||aH.curr>=aH.pTotal-2)){
        if(aH.overlays){
            v.width("100%")
            }
            Z.width(aH.pWidth)
        }else{
        if(aH.overlays){
            v.width("50%")
            }
            Z.width(aH.width)
        }
    }
function ah(){
    if(ar){
        if(ai.data("page")-1<0){
            G.prepend(ag.detach());
            G.prepend(ai.detach())
            }else{
            Z.find(".b-page-"+(ai.data("page")-1)).after(ai.detach());
            Z.find(".b-page-"+(ag.data("page")-1)).after(ag.detach())
            }
            if(ae.data("page")-1<=aH.pTotal){
            Z.find(".b-page-"+(ae.data("page")-1)).after(ae.detach());
            Z.find(".b-page-"+(ac.data("page")-1)).after(ac.detach())
            }
            if(L.data("page")-1>=0){
            Z.find(".b-page-"+(L.data("page")-1)).after(L.detach());
            Z.find(".b-page-"+(aj.data("page")-1)).after(aj.detach())
            }else{
            G.prepend(L.detach());
            L.after(aj.detach())
            }
        }
    Z.find(".b-page").removeClass("b-pN b-p0 b-p1 b-p2 b-p3 b-p4").hide();
if(aH.curr-2>=0){
    Z.find(".b-page-"+(aH.curr-2)).addClass("b-pN").show();
    Z.find(".b-page-"+(aH.curr-1)).addClass("b-p0").show()
    }
    Z.find(".b-page-"+(aH.curr)).addClass("b-p1").show();
Z.find(".b-page-"+(aH.curr+1)).addClass("b-p2").show();
if(aH.curr+3<=aH.pTotal){
    Z.find(".b-page-"+(aH.curr+2)).addClass("b-p3").show();
    Z.find(".b-page-"+(aH.curr+3)).addClass("b-p4").show()
    }
    L=Z.find(".b-pN");
aj=Z.find(".b-p0");
ai=Z.find(".b-p1");
ag=Z.find(".b-p2");
ae=Z.find(".b-p3");
ac=Z.find(".b-p4");
aK=Z.find(".b-pN .b-wrap");
aq=Z.find(".b-p0 .b-wrap");
P=Z.find(".b-p1 .b-wrap");
y=Z.find(".b-p2 .b-wrap");
c=Z.find(".b-p3 .b-wrap");
aD=Z.find(".b-p4 .b-wrap");
ay=Z.find(".b-wrap");
k();
if(aH.curr+3<=aH.pTotal){
    ae.after(aj.detach());
    ai.after(ac.detach())
    }else{
    aj.detach().appendTo(G)
    }
    ar=true;
if(aH.shadows){
    Z.find(".b-shadow-f, .b-shadow-b").remove();
    aJ=b('<div class="b-shadow-f"></div>').css({
        right:0,
        width:aH.pWidth,
        height:aH.pHeight
        }).appendTo(ae);
    aL=b('<div class="b-shadow-b"></div>').appendTo(aj).css({
        left:0,
        width:aH.pWidth,
        height:aH.pHeight
        })
    }
    I=U=ao=n=false;
if(aH.manual&&b.ui){
    ae.draggable({
        axis:"x",
        containment:[ag.offset().left-aH.pWidthH,0,ag.offset().left+aH.pWidth-50,aH.pHeight],
        drag:function(h,i){
            ao=true;
            al=i.originalPosition.left-i.position.left;
            ae.removeClass("b-grab").addClass("b-grabbing");
            ae.width(40+(al/2));
            c.css({
                left:10+(al/8)
                });
            ag.width(aH.pWidth-ae.width()+10);
            if(aH.shadows){
                aJ.css({
                    right:"-"+(20+al/4)+"px"
                    });
                if(b.support.opacity){
                    aJ.css({
                        opacity:0.5*(al/aH.pWidthH)
                        })
                    }else{
                    aJ.css({
                        right:"auto",
                        left:0.1*ae.width()
                        })
                    }
                }
        },
    stop:function(i,j){
        aw(false);
        var h=j.originalPosition.left-j.position.left;
        if(h>aH.pWidthH/4){
            if(aH.shadows&&!b.support.opacity){
                aJ.css({
                    left:"auto"
                })
                }
                aA.next();
            ae.removeClass("b-grab b-grabbing")
            }else{
            ao=false;
            ae.removeClass("b-grabbing").addClass("b-grab")
            }
        }
});
aj.draggable({
    axis:"x",
    containment:[ai.offset().left+10,0,ai.offset().left+aH.pWidth*0.75,aH.pHeight],
    drag:function(h,i){
        n=true;
        al=i.position.left-i.originalPosition.left;
        aj.removeClass("b-grab").addClass("b-grabbing");
        aj.css({
            left:40+(al)/1.5,
            width:40+(al)
            });
        aq.css({
            right:10+al/4
            });
        ai.css({
            left:i.position.left+20,
            width:aH.pWidth-i.position.left-10
            });
        P.css({
            left:-1*(al+30)
            });
        if(aH.shadows){
            if(b.support.opacity){
                aL.css({
                    opacity:0.5*(al/aH.pWidthH)
                    })
                }else{
                aL.css({
                    left:-0.38*aH.pWidth
                    })
                }
            }
    },
stop:function(h,i){
    aw(true);
    al=i.position.left-i.originalPosition.left;
    if(al>aH.pWidthH/4){
        aA.prev();
        aj.removeClass("b-grab b-grabbing")
        }else{
        n=false;
        aj.removeClass("b-grabbing").addClass("b-grab")
        }
    }
});
b(Z).unbind("mousemove mouseout").bind("mousemove",function(h){
    aB=h.pageX-Z.offset().left;
    if(aB<50){
        u(false)
        }else{
        if(aB>aH.pWidth-50&&aH.curr==0&&aH.autoCenter&&aH.closed){
            u(true)
            }else{
            if(aB>50&&aB<aH.width-50){
                aw(false);
                aw(true)
                }else{
                if(aB>aH.width-50){
                    u(true)
                    }
                }
        }
}
}).bind("mouseout",function(){
    aw(false);
    aw(true)
    })
}
}
function u(h){
    if(h){
        if(!am&&!I&&!U&&!ao&&aH.curr+2<=aH.pTotal-2){
            ag.stop().animate({
                width:aH.pWidth-40
                },500,aH.easing);
            ae.addClass("b-grab");
            if(aH.closed&&aH.autoCenter&&aH.curr==0){
                ae.stop().animate({
                    left:aH.pWidth-50,
                    width:40
                },500,aH.easing)
                }else{
                ae.stop().animate({
                    left:aH.width-50,
                    width:40
                },500,aH.easing)
                }
                c.stop().animate({
                left:10
            },500,aH.easing);
            if(aH.shadows&&!b.support.opacity){
                aJ.css({
                    right:"auto",
                    left:"-40%"
                })
                }
                I=true
            }
        }else{
    if(!am&&!U&&!I&&!n&&aH.curr-2>=0){
        ai.stop().animate({
            left:10,
            width:aH.pWidth-10
            },400,aH.easing);
        aj.addClass("b-grab");
        P.stop().animate({
            left:"-10px"
        },400,aH.easing);
        aj.stop().animate({
            left:10,
            width:40
        },400,aH.easing);
        aq.stop().animate({
            right:10
        },400,aH.easing);
        if(aH.shadows&&!b.support.opacity){
            aL.css({
                left:-0.38*aH.pWidth
                })
            }
            U=true
        }
    }
}
function aw(h){
    if(h){
        if(!am&&I&&!ao&&aH.curr+2<=aH.pTotal-2){
            ag.stop().animate({
                width:aH.pWidth
                },500,aH.easing);
            if(aH.closed&&aH.autoCenter&&aH.curr==0){
                ae.stop().animate({
                    left:aH.pWidth,
                    width:0
                },500,aH.easing)
                }else{
                ae.stop().animate({
                    left:aH.width,
                    width:0
                },500,aH.easing)
                }
                c.stop().animate({
                left:0
            },500,aH.easing);
            if(aH.shadows&&!b.support.opacity){
                aJ.css({
                    left:"auto"
                })
                }
                I=false
            }
        }else{
    if(!am&&U&&!n&&aH.curr-2>=0){
        ai.stop().animate({
            left:0,
            width:aH.pWidth
            },400,aH.easing);
        P.stop().animate({
            left:0
        },400,aH.easing);
        aj.stop().animate({
            left:0,
            width:0
        },400,aH.easing);
        aq.stop().animate({
            right:0
        },400,aH.easing);
        U=false
        }
    }
}
function X(i,h,j){
    if(h&&i>2){
        Z.find(".b-page-"+(ae.data("page")-1)).after(ae.detach());
        Z.find(".b-page-"+(ac.data("page")-1)).after(ac.detach());
        Z.find(".b-p3, .b-p4").removeClass("b-p3 b-p4").hide();
        Z.find(".b-page-"+aH.curr).addClass("b-p3").show().stop().css({
            left:aH.pWidth*2,
            width:0,
            height:aH.pHeight,
            paddingLeft:0
        });
        Z.find(".b-page-"+(aH.curr+1)).addClass("b-p4").show().css({
            left:aH.pWidth,
            width:aH.pWidth,
            height:aH.pHeight
            });
        Z.find(".b-page-"+aH.curr+" .b-wrap").show().css({
            width:aH.pWidth-(aH.pagePadding*2),
            height:aH.pHeight-(aH.pagePadding*2),
            padding:aH.pagePadding
            });
        Z.find(".b-page-"+(aH.curr+1)+" .b-wrap").show().css({
            width:aH.pWidth-(aH.pagePadding*2),
            height:aH.pHeight-(aH.pagePadding*2),
            padding:aH.pagePadding
            });
        ae=Z.find(".b-p3");
        ac=Z.find(".b-p4");
        c=Z.find(".b-p3 .b-wrap");
        aD=Z.find(".b-p4 .b-wrap");
        if(I){
            ae.css({
                left:aH.width-40,
                width:20,
                "padding-left":10
            })
            }
            ai.after(ac.detach());
        ag.after(ae.detach());
        if(aH.shadows){
            Z.find(".b-shadow-f").remove();
            aJ=b('<div class="b-shadow-f"></div>').css({
                right:0,
                width:aH.pWidth,
                height:aH.pHeight
                }).appendTo(ae);
            j=aJ
            }
        }else{
    if(!h&&i>2){
        Z.find(".b-page-"+(L.data("page")-1)).after(L.detach());
        Z.find(".b-page-"+(aj.data("page")-1)).after(aj.detach());
        Z.find(".b-pN, .b-p0").removeClass("b-pN b-p0").hide();
        Z.find(".b-page-"+aH.curr).addClass("b-pN").show().css({
            left:0,
            width:aH.pWidth,
            height:aH.pHeight
            });
        Z.find(".b-page-"+(aH.curr+1)).addClass("b-p0").show().css({
            left:0,
            width:0,
            height:aH.pHeight
            });
        Z.find(".b-page-"+aH.curr+" .b-wrap").show().css({
            width:aH.pWidth-(aH.pagePadding*2),
            height:aH.pHeight-(aH.pagePadding*2),
            padding:aH.pagePadding
            });
        Z.find(".b-page-"+(aH.curr+1)+" .b-wrap").show().css({
            width:aH.pWidth-(aH.pagePadding*2),
            height:aH.pHeight-(aH.pagePadding*2),
            padding:aH.pagePadding
            });
        L=Z.find(".b-pN");
        aj=Z.find(".b-p0");
        aK=Z.find(".b-pN .b-wrap");
        aq=Z.find(".b-p0 .b-wrap");
        if(U){
            aj.css({
                left:10,
                width:40
            });
            aq.css({
                right:10
            })
            }
            aj.detach().appendTo(G);
        if(aH.shadows){
            Z.find(".b-shadow-b, .b-shadow-f").remove();
            aL=b('<div class="b-shadow-b"></div>').appendTo(aj).css({
                left:0,
                width:aH.pWidth,
                height:aH.pHeight
                });
            j=aL
            }
        }
}
if(aH.closed){
    if(!h&&aH.curr==0){
        L.hide()
        }else{
        if(!h){
            L.show()
            }
        }
    if(h&&aH.curr>=aH.pTotal-2){
    ac.hide()
    }else{
    if(h){
        ac.show()
        }
    }
}
if(aH.shadows){
    if(b.support.opacity){
        j.animate({
            opacity:1
        },aH.speedH,aH.easeIn).animate({
            opacity:0
        },aH.speedH,aH.easeOut)
        }else{
        if(h){
            j.animate({
                right:aH.shadowTopFwdWidth
                },aH.speed,aH.easeIn)
            }else{
            j.animate({
                left:aH.shadowTopBackWidth
                },aH.speed,aH.easeIn)
            }
        }
}
if(aH.closed&&aH.autoCenter){
    if(aH.curr==0){
        ae.hide();
        ac.hide();
        Z.animate({
            width:aH.pWidth
            },aH.speed,aH.easing)
        }else{
        if(aH.curr>=aH.pTotal-2){
            aj.hide();
            L.hide();
            Z.animate({
                width:aH.pWidth
                },aH.speed,aH.easing)
            }else{
            Z.animate({
                width:aH.width
                },aH.speed,aH.easing)
            }
        }
}
}
function M(){
    ah();
    aE();
    F();
    aH.after.call(aA,aH);
    am=false;
    if(aH.auto&&aH.delay){
        if(e&&aH.curr<aH.pTotal-2){
            clearTimeout(aa);
            aa=setTimeout(function(){
                aA.next()
                },aH.delay);
            console.log("continue...")
            }
            if(aH.curr>=aH.pTotal-2){
            e=false
            }
        }
}
function F(){
    if(aH.overlays||aH.tabs||aH.arrows){
        if(b.support.opacity){
            if(aH.curr<aH.pTotal-2){
                f.fadeIn("fast").css("cursor",aH.cursor)
                }else{
                f.fadeOut("fast").css("cursor","default")
                }
                if(aH.curr>=2&&aH.curr!=0){
                d.fadeIn("fast").css("cursor",aH.cursor)
                }else{
                d.fadeOut("fast").css("cursor","default")
                }
            }else{
        if(aH.curr<aH.pTotal-2){
            f.show().css("cursor",aH.cursor)
            }else{
            f.hide().css("cursor","default")
            }
            if(aH.curr>=2&&aH.curr!=0){
            d.show().css("cursor",aH.cursor)
            }else{
            d.hide().css("cursor","default")
            }
        }
}
}
function aE(){
    if(aH.pageSelector){
        if(aH.direction=="RTL"){
            nums=(Math.abs(aH.curr-aH.pTotal)-1)+" - "+((Math.abs(aH.curr-aH.pTotal)));
            if(aH.closed){
                if(aH.curr==aH.pTotal-2){
                    nums="1"
                    }else{
                    if(aH.curr==0){
                        nums=aH.pTotal-2
                        }else{
                        nums=(Math.abs(aH.curr-aH.pTotal)-2)+" - "+((Math.abs(aH.curr-aH.pTotal)-1))
                        }
                    }
                if(aH.covers){
                if(aH.curr==aH.pTotal-2){
                    nums=""
                    }else{
                    if(aH.curr==0){
                        nums=""
                        }else{
                        nums=(Math.abs(aH.curr-aH.pTotal)-3)+" - "+((Math.abs(aH.curr-aH.pTotal)-2))
                        }
                    }
            }
    }
b(aH.menu+" .b-selector-page .b-current").text(nums)
}else{
    nums=(aH.curr+1)+" - "+(aH.curr+2);
    if(aH.closed){
        if(aH.curr==0){
            nums="1"
            }else{
            if(aH.curr==aH.pTotal-2){
                nums=aH.pTotal-2
                }else{
                nums=(aH.curr)+"-"+(aH.curr+1)
                }
            }
        if(aH.covers){
        if(aH.curr==0){
            nums=""
            }else{
            if(aH.curr==aH.pTotal-2){
                nums=""
                }else{
                nums=(aH.curr-1)+"-"+(aH.curr)
                }
            }
    }
}
b(aH.menu+" .b-selector-page .b-current").text(nums)
}
}
if(aH.chapterSelector){
    if(Q[aH.curr]!=""){
        b(aH.menu+" .b-selector-chapter .b-current").text(Q[aH.curr])
        }else{
        if(Q[aH.curr+1]!=""){
            b(aH.menu+" .b-selector-chapter .b-current").text(Q[aH.curr+1])
            }
        }
    if(aH.direction=="RTL"&&Q[aH.curr+1]!=""){
    b(aH.menu+" .b-selector-chapter .b-current").text(Q[aH.curr+1])
    }else{
    if(Q[aH.curr]!=""){
        b(aH.menu+" .b-selector-chapter .b-current").text(Q[aH.curr])
        }
    }
}
}
function g(){
    V=D();
    if(!isNaN(V)&&V<=aH.pTotal-1&&V>=0&&V!=""){
        if((V%2)!=0){
            V--
        }
        aH.curr=V
        }else{
        S(aH.curr+1,aH)
        }
        aA.hash=V
    }
    function ad(){
    V=D();
    if(!isNaN(V)&&V<=aH.pTotal-1&&V>=0){
        if(V!=aH.curr&&V.toString()!=aA.hash){
            if((V%2)!=0){
                V--
            }
            document.title=aH.name+" - Page "+(V+1);
            if(!am){
                aA.gotoPage(V);
                aA.hash=V
                }
            }
    }
}
function D(){
    var h=window.location.hash.split("/");
    if(h.length>1){
        return parseInt(h[2])-1
        }else{
        return""
        }
    }
function S(i,h){
    if(h.hash){
        window.location.hash="/page/"+i
        }
    }
}
b.fn.booklet.interfaces=[];
b.fn.booklet.defaults={
    name:null,
    width:600,
    height:400,
    speed:1000,
    direction:"LTR",
    startingPage:0,
    easing:"easeInOutQuad",
    easeIn:"easeInQuad",
    easeOut:"easeOutQuad",
    closed:false,
    closedFrontTitle:null,
    closedFrontChapter:null,
    closedBackTitle:null,
    closedBackChapter:null,
    covers:false,
    autoCenter:false,
    pagePadding:10,
    pageNumbers:true,
    manual:true,
    hovers:true,
    overlays:true,
    tabs:false,
    tabWidth:60,
    tabHeight:20,
    arrows:false,
    arrowsHide:false,
    cursor:"pointer",
    hash:false,
    keyboard:true,
    next:null,
    prev:null,
    auto:false,
    delay:5000,
    pause:null,
    play:null,
    menu:null,
    pageSelector:false,
    chapterSelector:false,
    shadows:true,
    shadowTopFwdWidth:166,
    shadowTopBackWidth:166,
    shadowBtmWidth:50,
    before:function(){},
    after:function(){}
}
})(jQuery);
