/*
 * jQuery Nivo Slider v2.4
 * http://nivo.dev7studios.com
 *
 * Copyright 2011, Gilbert Pellegrom
 * Free to use and abuse under the MIT license.
 * http://www.opensource.org/licenses/mit-license.php
 */

(function(a){
    var A=function(s,v){
        var f=a.extend({},a.fn.nivoSlider.defaults,v),g={
            currentSlide:0,
            currentImage:"",
            totalSlides:0,
            randAnim:"",
            running:false,
            paused:false,
            stop:false
        },e=a(s);
        e.data("nivo:vars",g);
        e.css("position","relative");
        e.addClass("nivoSlider");
        var j=e.children();
        j.each(function(){
            var b=a(this),h="";
            if(!b.is("img")){
                if(b.is("a")){
                    b.addClass("nivo-imageLink");
                    h=b
                    }
                    b=b.find("img:first")
                }
                var c=b.width();
            if(c==0)c=b.attr("width");
            var o=b.height();
            if(o==0)o=b.attr("height");
            c>e.width()&&
            e.width(c);
            o>e.height()&&e.height(o);
            h!=""&&h.css("display","none");
            b.css("display","none");
            g.totalSlides++
        });
        if(f.startSlide>0){
            if(f.startSlide>=g.totalSlides)f.startSlide=g.totalSlides-1;
            g.currentSlide=f.startSlide
            }
            g.currentImage=a(j[g.currentSlide]).is("img")?a(j[g.currentSlide]):a(j[g.currentSlide]).find("img:first");
        a(j[g.currentSlide]).is("a")&&a(j[g.currentSlide]).css("display","block");
        e.css("background",'url("'+g.currentImage.attr("src")+'") no-repeat');
        for(var k=0;k<f.slices;k++){
            var p=
            Math.round(e.width()/f.slices);
            k==f.slices-1?e.append(a('<div class="nivo-slice"></div>').css({
                left:p*k+"px",
                width:e.width()-p*k+"px"
                })):e.append(a('<div class="nivo-slice"></div>').css({
                left:p*k+"px",
                width:p+"px"
                }))
            }
            e.append(a('<div class="nivo-caption"><p></p></div>').css({
            display:"none",
            opacity:f.captionOpacity
            }));
        if(g.currentImage.attr("title")!=""){
            k=g.currentImage.attr("title");
            if(k.substr(0,1)=="#")k=a(k).html();
            a(".nivo-caption p",e).html(k);
            a(".nivo-caption",e).fadeIn(f.animSpeed)
            }
            var l=
        0;
        if(!f.manualAdvance&&j.length>1)l=setInterval(function(){
            r(e,j,f,false)
            },f.pauseTime);
        if(f.directionNav){
            e.append('<div class="nivo-directionNav"><a class="nivo-prevNav">Prev</a><a class="nivo-nextNav">Next</a></div>');
            if(f.directionNavHide){
                a(".nivo-directionNav",e).hide();
                e.hover(function(){
                    a(".nivo-directionNav",e).show()
                    },function(){
                    a(".nivo-directionNav",e).hide()
                    })
                }
                a("a.nivo-prevNav",e).live("click",function(){
                if(g.running)return false;
                clearInterval(l);
                l="";
                g.currentSlide-=2;
                r(e,j,f,"prev")
                });
            a("a.nivo-nextNav",e).live("click",function(){
                if(g.running)return false;
                clearInterval(l);
                l="";
                r(e,j,f,"next")
                })
            }
            if(f.controlNav){
            p=a('<div class="nivo-controlNav"></div>');
            e.append(p);
            for(k=0;k<j.length;k++)if(f.controlNavThumbs){
                var t=j.eq(k);
                t.is("img")||(t=t.find("img:first"));
                f.controlNavThumbsFromRel?p.append('<a class="nivo-control" rel="'+k+'"><img src="'+t.attr("rel")+'" alt="" /></a>'):p.append('<a class="nivo-control" rel="'+k+'"><img src="'+t.attr("src").replace(f.controlNavThumbsSearch,
                    f.controlNavThumbsReplace)+'" alt="" /></a>')
                }else p.append('<a class="nivo-control" id="bsli'+k+'" rel="'+k+'">'+(k+1)+"</a>");a(".nivo-controlNav a:eq("+g.currentSlide+")",e).addClass("active");
            a(".nivo-controlNav a",e).live("click",function(){
                if(g.running)return false;
                if(a(this).hasClass("active"))return false;
                clearInterval(l);
                l="";
                e.css("background",'url("'+g.currentImage.attr("src")+'") no-repeat');
                g.currentSlide=a(this).attr("rel")-1;
                r(e,j,f,"control")
                })
            }
            f.keyboardNav&&a(window).keypress(function(b){
            if(b.keyCode==
                "37"){
                if(g.running)return false;
                clearInterval(l);
                l="";
                g.currentSlide-=2;
                r(e,j,f,"prev")
                }
                if(b.keyCode=="39"){
                if(g.running)return false;
                clearInterval(l);
                l="";
                r(e,j,f,"next")
                }
            });
    f.pauseOnHover&&e.hover(function(){
        g.paused=true;
        clearInterval(l);
        l=""
        },function(){
        g.paused=false;
        if(l==""&&!f.manualAdvance)l=setInterval(function(){
            r(e,j,f,false)
            },f.pauseTime)
        });
    e.bind("nivo:animFinished",function(){
        g.running=false;
        a(j).each(function(){
            a(this).is("a")&&a(this).css("display","none")
            });
        a(j[g.currentSlide]).is("a")&&
        a(j[g.currentSlide]).css("display","block");
        if(l==""&&!g.paused&&!f.manualAdvance)l=setInterval(function(){
            r(e,j,f,false)
            },f.pauseTime);
        f.afterChange.call(this)
        });
    var w=function(b,h){
        var c=0;
        a(".nivo-slice",b).each(function(){
            var o=a(this),d=Math.round(b.width()/h.slices);
            c==h.slices-1?o.css("width",b.width()-d*c+"px"):o.css("width",d+"px");
            c++
        })
        },r=function(b,h,c,o){
        var d=b.data("nivo:vars");
        d&&d.currentSlide==d.totalSlides-1&&c.lastSlide.call(this);
        if((!d||d.stop)&&!o)return false;
        c.beforeChange.call(this);
        if(o){
            o=="prev"&&b.css("background",'url("'+d.currentImage.attr("src")+'") no-repeat');
            o=="next"&&b.css("background",'url("'+d.currentImage.attr("src")+'") no-repeat')
            }else b.css("background",'url("'+d.currentImage.attr("src")+'") no-repeat');
        d.currentSlide++;
        if(d.currentSlide==d.totalSlides){
            d.currentSlide=0;
            c.slideshowEnd.call(this)
            }
            if(d.currentSlide<0)d.currentSlide=d.totalSlides-1;
        d.currentImage=a(h[d.currentSlide]).is("img")?a(h[d.currentSlide]):a(h[d.currentSlide]).find("img:first");
        if(c.controlNav){
            a(".nivo-controlNav a",
                b).removeClass("active");
            a(".nivo-controlNav a:eq("+d.currentSlide+")",b).addClass("active")
            }
            if(d.currentImage.attr("title")!=""){
            var u=d.currentImage.attr("title");
            if(u.substr(0,1)=="#")u=a(u).html();
            a(".nivo-caption",b).css("display")=="block"?a(".nivo-caption p",b).fadeOut(c.animSpeed,function(){
                a(this).html(u);
                a(this).fadeIn(c.animSpeed)
                }):a(".nivo-caption p",b).html(u);
            a(".nivo-caption",b).fadeIn(c.animSpeed)
            }else a(".nivo-caption",b).fadeOut(c.animSpeed);
        var m=0;
        a(".nivo-slice",b).each(function(){
            var i=
            Math.round(b.width()/c.slices);
            a(this).css({
                height:"0px",
                opacity:"0",
                background:'url("'+d.currentImage.attr("src")+'") no-repeat -'+(i+m*i-i)+"px 0%"
                });
            m++
        });
        if(c.effect=="random"){
            h=["sliceDownRight","sliceDownLeft","sliceUpRight","sliceUpLeft","sliceUpDown","sliceUpDownLeft","fold","fade","slideInRight","slideInLeft"];
            d.randAnim=h[Math.floor(Math.random()*(h.length+1))];
            if(d.randAnim==undefined)d.randAnim="fade"
                }
                if(c.effect.indexOf(",")!=-1){
            h=c.effect.split(",");
            d.randAnim=h[Math.floor(Math.random()*
                h.length)];
            if(d.randAnim==undefined)d.randAnim="fade"
                }
                d.running=true;
        if(c.effect=="sliceDown"||c.effect=="sliceDownRight"||d.randAnim=="sliceDownRight"||c.effect=="sliceDownLeft"||d.randAnim=="sliceDownLeft"){
            var n=0;
            m=0;
            w(b,c);
            h=a(".nivo-slice",b);
            if(c.effect=="sliceDownLeft"||d.randAnim=="sliceDownLeft")h=a(".nivo-slice",b)._reverse();
            h.each(function(){
                var i=a(this);
                i.css({
                    top:"0px"
                });
                m==c.slices-1?setTimeout(function(){
                    i.animate({
                        height:"100%",
                        opacity:"1.0"
                    },c.animSpeed,"",function(){
                        b.trigger("nivo:animFinished")
                        })
                    },
                100+n):setTimeout(function(){
                    i.animate({
                        height:"100%",
                        opacity:"1.0"
                    },c.animSpeed)
                    },100+n);
                n+=50;
                m++
            })
            }else if(c.effect=="sliceUp"||c.effect=="sliceUpRight"||d.randAnim=="sliceUpRight"||c.effect=="sliceUpLeft"||d.randAnim=="sliceUpLeft"){
            m=n=0;
            w(b,c);
            h=a(".nivo-slice",b);
            if(c.effect=="sliceUpLeft"||d.randAnim=="sliceUpLeft")h=a(".nivo-slice",b)._reverse();
            h.each(function(){
                var i=a(this);
                i.css({
                    bottom:"0px"
                });
                m==c.slices-1?setTimeout(function(){
                    i.animate({
                        height:"100%",
                        opacity:"1.0"
                    },c.animSpeed,"",
                    function(){
                        b.trigger("nivo:animFinished")
                        })
                    },100+n):setTimeout(function(){
                    i.animate({
                        height:"100%",
                        opacity:"1.0"
                    },c.animSpeed)
                    },100+n);
                n+=50;
                m++
            })
            }else if(c.effect=="sliceUpDown"||c.effect=="sliceUpDownRight"||d.randAnim=="sliceUpDown"||c.effect=="sliceUpDownLeft"||d.randAnim=="sliceUpDownLeft"){
            var x=m=n=0;
            w(b,c);
            h=a(".nivo-slice",b);
            if(c.effect=="sliceUpDownLeft"||d.randAnim=="sliceUpDownLeft")h=a(".nivo-slice",b)._reverse();
            h.each(function(){
                var i=a(this);
                if(m==0){
                    i.css("top","0px");
                    m++
                }else{
                    i.css("bottom",
                        "0px");
                    m=0
                    }
                    x==c.slices-1?setTimeout(function(){
                    i.animate({
                        height:"100%",
                        opacity:"1.0"
                    },c.animSpeed,"",function(){
                        b.trigger("nivo:animFinished")
                        })
                    },100+n):setTimeout(function(){
                    i.animate({
                        height:"100%",
                        opacity:"1.0"
                    },c.animSpeed)
                    },100+n);
                n+=50;
                x++
            })
            }else if(c.effect=="fold"||d.randAnim=="fold"){
            m=n=0;
            w(b,c);
            a(".nivo-slice",b).each(function(){
                var i=a(this),y=i.width();
                i.css({
                    top:"0px",
                    height:"100%",
                    width:"0px"
                });
                m==c.slices-1?setTimeout(function(){
                    i.animate({
                        width:y,
                        opacity:"1.0"
                    },c.animSpeed,"",function(){
                        b.trigger("nivo:animFinished")
                        })
                    },
                100+n):setTimeout(function(){
                    i.animate({
                        width:y,
                        opacity:"1.0"
                    },c.animSpeed)
                    },100+n);
                n+=50;
                m++
            })
            }else if(c.effect=="fade"||d.randAnim=="fade"){
            var q=a(".nivo-slice:first",b);
            q.css({
                height:"100%",
                width:b.width()+"px"
                });
            q.animate({
                opacity:"1.0"
            },c.animSpeed*2,"",function(){
                b.trigger("nivo:animFinished")
                })
            }else if(c.effect=="slideInRight"||d.randAnim=="slideInRight"){
            q=a(".nivo-slice:first",b);
            q.css({
                height:"100%",
                width:"0px",
                opacity:"1"
            });
            q.animate({
                width:b.width()+"px"
                },c.animSpeed*2,"",function(){
                b.trigger("nivo:animFinished")
                })
            }else if(c.effect==
            "slideInLeft"||d.randAnim=="slideInLeft"){
            q=a(".nivo-slice:first",b);
            q.css({
                height:"100%",
                width:"0px",
                opacity:"1",
                left:"",
                right:"0px"
            });
            q.animate({
                width:b.width()+"px"
                },c.animSpeed*2,"",function(){
                q.css({
                    left:"0px",
                    right:""
                });
                b.trigger("nivo:animFinished")
                })
            }
        },z=function(b){
    this.console&&typeof console.log!="undefined"&&console.log(b)
    };

this.stop=function(){
    if(!a(s).data("nivo:vars").stop){
        a(s).data("nivo:vars").stop=true;
        z("Stop Slider")
        }
    };

this.start=function(){
    if(a(s).data("nivo:vars").stop){
        a(s).data("nivo:vars").stop=
        false;
        z("Start Slider")
        }
    };

f.afterLoad.call(this)
};

a.fn.nivoSlider=function(s){
    return this.each(function(){
        var v=a(this);
        if(!v.data("nivoslider")){
            var f=new A(this,s);
            v.data("nivoslider",f)
            }
        })
};

a.fn.nivoSlider.defaults={
    effect:"random",
    slices:15,
    animSpeed:500,
    pauseTime:3E3,
    startSlide:0,
    directionNav:true,
    directionNavHide:true,
    controlNav:true,
    controlNavThumbs:false,
    controlNavThumbsFromRel:false,
    controlNavThumbsSearch:".jpg",
    controlNavThumbsReplace:"_thumb.jpg",
    keyboardNav:true,
    pauseOnHover:true,
    manualAdvance:false,
    captionOpacity:0.8,
    beforeChange:function(){},
    afterChange:function(){},
    slideshowEnd:function(){},
    lastSlide:function(){},
    afterLoad:function(){
//        alert(   );
        $('#bsli0').text($('#imge0').attr('alt'));
        $('#bsli1').text($('#imge1').attr('alt'));
        $('#bsli2').text($('#imge2').attr('alt'));
        $('#bsli3').text($('#imge3').attr('alt'));

    }
};

a.fn._reverse=[].reverse
})(jQuery);
