(function(e){
    var n=e.event,o;
    n.special.smartresize={
        setup:function(){
            e(this).bind("resize",n.special.smartresize.handler)
        },
        teardown:function(){
            e(this).unbind("resize",n.special.smartresize.handler)
        },
        handler:function(j,l){
            var g=this,d=arguments;
            j.type="smartresize";
            o&&clearTimeout(o);
            o=setTimeout(function(){
                jQuery.event.handle.apply(g,d)
            },l==="execAsap"?0:100)
        }
    };

    e.fn.smartresize=function(j){
        return j?this.bind("smartresize",j):this.trigger("smartresize",["execAsap"])
    };

    e.fn.masonry=function(j,l){
        var g=

        {
            getBricks:function(d,b,a){
                var c=a.itemSelector===undefined;
                b.$bricks=a.appendedContent===undefined?c?d.children():d.find(a.itemSelector):c?a.appendedContent:a.appendedContent.filter(a.itemSelector)
            },
            placeBrick:function(d,b,a,c,h){
                b=Math.min.apply(Math,a);
                for(var i=b+d.outerHeight(true),f=a.length,k=f,m=c.colCount+1-f;f--;)if(a[f]==b)k=f;d.applyStyle({
                    left:c.colW*k+c.posLeft,
                    top:b
                },e.extend(true,{},h.animationOptions));
                for(f=0;f<m;f++)c.colY[k+f]=i
            },
            setup:function(d,b,a){
                g.getBricks(d,a,b);
                if(a.masoned)a.previousData=
                    d.data("masonry");
                a.colW=b.columnWidth===undefined?a.masoned?a.previousData.colW:a.$bricks.outerWidth(true):b.columnWidth;
                a.colCount=Math.floor(d.width()/a.colW);
                a.colCount=Math.max(a.colCount,1)
            },
            arrange:function(d,b,a){
                var c;
                if(!a.masoned||b.appendedContent!==undefined)a.$bricks.css("position","absolute");
                if(a.masoned){
                    a.posTop=a.previousData.posTop;
                    a.posLeft=a.previousData.posLeft
                }else{
                    d.css("position","relative");
                    var h=e(document.createElement("div"));
                    d.prepend(h);
                    a.posTop=Math.round(h.position().top);
                    a.posLeft=Math.round(h.position().left);
                    h.remove()
                }
                if(a.masoned&&b.appendedContent!==undefined){
                    a.colY=a.previousData.colY;
                    for(c=a.previousData.colCount;c<a.colCount;c++)a.colY[c]=a.posTop
                }else{
                    a.colY=[];
                    for(c=a.colCount;c--;)a.colY.push(a.posTop)
                }
                e.fn.applyStyle=a.masoned&&b.animate?e.fn.animate:e.fn.css;
                b.singleMode?a.$bricks.each(function(){
                    var i=e(this);
                    g.placeBrick(i,a.colCount,a.colY,a,b)
                }):a.$bricks.each(function(){
                    var i=e(this),f=Math.ceil(i.outerWidth(true)/a.colW);
                    f=Math.min(f,a.colCount);
                    if(f===1)g.placeBrick(i,a.colCount,a.colY,a,b);
                    else{
                        var k=a.colCount+1-f,m=[];
                        for(c=0;c<k;c++){
                            var p=a.colY.slice(c,c+f);
                            m[c]=Math.max.apply(Math,p)
                        }
                        g.placeBrick(i,k,m,a,b)
                    }
                });
                a.wallH=Math.max.apply(Math,a.colY);
                d.applyStyle({
                    height:a.wallH-a.posTop
                },e.extend(true,[],b.animationOptions));
                a.masoned||setTimeout(function(){
                    d.addClass("masoned")
                },1);
                l.call(a.$bricks);
                d.data("masonry",a)
            },
            resize:function(d,b,a){
                a.masoned=!!d.data("masonry");
                var c=d.data("masonry").colCount;
                g.setup(d,b,a);
                a.colCount!=c&&
                g.arrange(d,b,a)
            }
        };

        return this.each(function(){
            var d=e(this),b={};

            b.masoned=!!d.data("masonry");
            var a=b.masoned?d.data("masonry").options:{},c=e.extend({},e.fn.masonry.defaults,a,j),h=a.resizeable;
            b.options=c.saveOptions?c:a;
            l=l||function(){};

            g.getBricks(d,b,c);
            if(!b.$bricks.length)return this;
            g.setup(d,c,b);
            g.arrange(d,c,b);
            !h&&c.resizeable&&e(window).bind("smartresize.masonry",function(){
                g.resize(d,c,b)
            });
            h&&!c.resizeable&&e(window).unbind("smartresize.masonry")
        })
    };

    e.fn.masonry.defaults={
        singleMode:false,
        columnWidth:undefined,
        itemSelector:undefined,
        appendedContent:undefined,
        saveOptions:true,
        resizeable:true,
        animate:false,
        animationOptions:{}
    }
})(jQuery);

$(function(){
    
    $('li.box-principal').click(function(){
        $('html,body').animate({
            scrollTop: $(this).offset().top
        }, 'slow');
    });
 
    var $container = $('#container ul#contentAll');
  
    $container.masonry({
        itemSelector : '.item:not(.invis)',
        columnWidth: 260,
        animate: true,
        animationOptions: {
            duration: 500,
            easing: 'easeInExpo',
            queue: false
        }
      
    });  
    $(window).resize(function() {
        $('li.bg').css({
            "top":"0",
            "left":"0",
            "width":window.innerWidth+'px',
            "height":window.innerHeight+'px',
            "z-index":"1"
        })
    })
   
    /*$('html.open').click(function(){
      $container.children('.invis:not(.box-secondaire)').toggleClass('invis').fadeIn(500);
      $('li.pages').removeClass('item box');
      $('li.pages').attr('style','display:none; position:absolute; width: 520px;height: 520px');
   
      if(typeof($('li.open').attr('class')) !== 'undefined')
         classCss = $('li.open').attr('class').split(' ');
   
      $('li.'+$('li.open').attr('id')).removeClass('item box');
      $('li.'+$('li.open').attr('id')).attr('style','display:none');
      if(typeof($('li.open').attr('class')) !== 'undefined')
         $('li.open').removeClass('o'+classCss[3]);
      $('li.open').removeClass('open');
      $container.masonry('reload')
   
      return false;
   })*/
    
    $('li.box-secondaire img').click(function(){
        
        if($(this).hasClass('openImage')){
            
            $(this).parent().animate({
                'width' : '260',
                'height' : '260'
            },function(){
                $container.masonry({
                    columnWidth: 260
                })
            })
            
            $(this).attr('style' , $(this).attr('wait'))
            
            $(this).removeClass('openImage')
            
        }else{
            
            $('img.openImage').parent().animate({
                'width' : '260',
                'height' : '260'
            },function(){
                $container.masonry({
                    columnWidth: 260
                })
            })
            
            $('img.openImage').attr('style' , $('img.openImage').attr('wait'))
            
            $('img.openImage').removeClass('openImage')
            
            $(this).attr('wait', $(this).attr('style'))
            
            $(this).parent().animate({
                'width' : $(this).attr('width')+'px',
                'height' : $(this).attr('height')+'px' 
            },function(){
                $container.masonry({
                    columnWidth: 260
                })
            })
            $(this).animate({
                'overflow' : 'visible',
                'margin-top' : '0px',
                'margin-left' : '0px'
            },function(){
                $(this).removeAttr('style')
            })
            
            
            $(this).addClass('openImage')
        }
    });
    
    $('li.bg').click(function(){
     
        idOpen = $('li.open').attr('id');
        
        if(typeof($('img.openImage').attr('class')) != 'undefined'){
            
            $('img.openImage').parent().animate({
                'width' : '260',
                'height' : '260'
            },function(){
                $container.masonry({
                    columnWidth: 260
                })
            })
            
            $('img.openImage').attr('style' , $('img.openImage').attr('wait'))
            
            $('img.openImage').removeClass('openImage')
        }
        
        if(typeof($('li.open').attr('class')) !== 'undefined')
            classCss = $('li.open').attr('class').split(' ');
        $('li.'+$('li.open').attr('id')).removeClass('item box');
        $('li.'+$('li.open').attr('id')).attr('style','display:none');
        if(typeof($('li.open').attr('class')) !== 'undefined')
            $('li.open').removeClass('o'+classCss[3]);
        $('li.open').removeClass('open'); 
      
        $('li.pages').removeClass('item box');
        $('li.pages').attr('style','display:none; position:absolute; width: 520px;height: 520px')
        $('li').css({
            'visibility' : 'visible'
        })
        $('aside').css({
            'visibility' : 'visible'
        })
        $('aside nav ul li').css({
            'visibility' : 'visible'
        });
        
        $('.openA').removeClass('openA')
        
        $container.masonry('reload')
    })
   
   
    $('li.box-principal').click(function() {
        
        idOpen = $('li.open').attr('id');
      
        if(typeof($('li.open').attr('class')) !== 'undefined')
            classCss = $('li.open').attr('class').split(' ');
        $('li.'+$('li.open').attr('id')).not('li.box-principal').removeClass('item box');
        $('li.'+$('li.open').attr('id')).not('li.box-principal').attr('style','display:none');
        if(typeof($('li.open').attr('class')) !== 'undefined')
            $('li.open').removeClass('o'+classCss[3]);
        $('li.open').removeClass('open');
        
        classStyle = $(this).attr('class').split(' ');
        for(var i in classStyle){
            if(classStyle[i] == 'openA'){
                $(this).css({
                    'display' : 'block'
                })
                $('li').css({
                    'visibility' : 'visible'
                })
                $(this).removeClass('openA')
                $('html').removeClass('open');
            }else{
                $('li').not('.'+$(this).attr('id')).not('#'+$(this).attr('id')).css({
                    'visibility' : 'hidden'
                })
                $('#aside').css({
                    'visibility' : 'visible',
                })
                $('#aside nav ul li').css({
                    'visibility' : 'visible'
                });
                $(this).addClass('openA');
            }
        }
      
        if(idOpen != $(this).attr('id')){
            id = $(this).attr('id');
            classCss = $(this).attr('class').split(' ');
            $(this).addClass('open o'+ classCss[3]);
            $('li.'+$(this).attr('id')).not('.bg').addClass('item box');
            $('li.'+$(this).attr('id')).removeClass('invis');
            $('li.pages').removeClass('item box');
            $('li.pages').attr('style','display:none; position:absolute; width: 520px;height: 520px,z-index:1000');
            $('li.'+$(this).attr('id')).not('.bg').animate({
                'top' : $(this).position().top,
                'left' : $(this).position().left,
                'z-index' : '2'
            },0,function(){
                $('li.'+id).css({
                    'position' : 'absolute',
                    'display' : 'block'
                })
                $('li.bg').css({
                    "top":"0",
                    "left":"0",
                    "width":window.innerWidth+'px',
                    "height":window.innerHeight+'px',
                    "z-index":"1"
                })
                
                if($('li.'+id).hasClass('video')){
                    $('li.'+id).css({
                        'width' : '780px',
                        'height' : '520px'
                    })
                }
                
                $container.masonry('reload')
            })
        }else{
            $('li.pages').removeClass('item box');
            $('li.pages').attr('style','display:none; position:absolute; width: 520px;height: 520px');
         
            $container.masonry('reload')
        }
    });
   
    $('a.zoombox').zoombox({
        theme       : 'lightbox',        // available themes : zoombox,lightbox, prettyphoto, darkprettyphoto, simple
        opacity     : 0.8,              // Black overlay opacity
        duration    : 800,              // Animation duration
        animation   : false,             // Do we have to animate the box ?
        width       : 800,              // Default width
        height      : 600,              // Default height
        gallery     : true,             // Allow gallery thumb view
        autoplay    : true             // Autoplay for video
    });
   
});

function categorie(cat){
   
    var $container = $('#container ul#contentAll');
   
    $container.masonry({
        itemSelector : '.item:not(.invis)',
        columnWidth: 260,
        animate: true,
        animationOptions: {
            duration: 500,
            queue: false
        }
    });

    if (cat == '.all'){
        $container.children('.invis:not(.box-secondaire)').toggleClass('invis').fadeIn(500);
    } else {
        $container.children().not(cat).not('.invis').not('#aside').toggleClass('invis').fadeOut(500);
        $container.children(cat +'.invis').toggleClass('invis').fadeIn(500);
    }
   
    $('li.pages').removeClass('item box');
    $('li.pages').attr('style','display:none; position:absolute; width: 520px;height: 520px');
   
    if(typeof($('li.open').attr('class')) !== 'undefined')
        classCss = $('li.open').attr('class').split(' ');
   
    $('li.'+$('li.open').attr('id')).removeClass('item box');
    $('li.'+$('li.open').attr('id')).attr('style','display:none');
    if(typeof($('li.open').attr('class')) !== 'undefined')
        $('li.open').removeClass('o'+classCss[3]);
    $('li.open').removeClass('open');
    $container.masonry('reload')
   
    return false;
    
}

function page(page){
   
    var $container = $('#container ul#contentAll');
   
    $container.masonry({
        itemSelector : '.item:not(.invis)',
        columnWidth: 260,
        animate: true,
        animationOptions: {
            duration: 500,
            queue: false
        }
    });
   
    $container.children('.invis:not(.box-secondaire)').toggleClass('invis').fadeIn(500);
    idOpen = $('li.open').attr('id');
        
    if(typeof($('img.openImage').attr('class')) != 'undefined'){
            
        $('img.openImage').parent().animate({
            'width' : '260',
            'height' : '260'
        },function(){
            $container.masonry({
                columnWidth: 260
            })
        })
            
        $('img.openImage').attr('style' , $('img.openImage').attr('wait'))
            
        $('img.openImage').removeClass('openImage')
    }
        
    if(typeof($('li.open').attr('class')) !== 'undefined')
        classCss = $('li.open').attr('class').split(' ');
    $('li.'+$('li.open').attr('id')).removeClass('item box');
    $('li.'+$('li.open').attr('id')).attr('style','display:none');
    if(typeof($('li.open').attr('class')) !== 'undefined')
        $('li.open').removeClass('o'+classCss[3]);
    $('li.open').removeClass('open'); 
      
    $('li.pages').removeClass('item box');
    $('li.pages').attr('style','display:none; position:absolute; width: 520px;height: 520px')
    $('li').css({
        'visibility' : 'visible'
    })
    $('aside').css({
        'visibility' : 'visible'
    })
    $('aside nav ul li').css({
        'visibility' : 'visible'
    });
        
    $('.openA').removeClass('openA')
   
    $('li.'+page).addClass('item box');
    $('li.'+page).attr('style','display:block; position:absolute; width: 520px;height: 520px');
   
    $container.masonry('reload')
   
}

function GetId(id)
{
    return document.getElementById(id);
}
var i=false; 
 
function move(e) {
    if(i) {  
        if (navigator.appName!="Microsoft Internet Explorer") { 
            GetId("curseur").style.left=e.pageX + 28+"px";
            GetId("curseur").style.top=e.pageY +10 +"px";
        }
        else {
            if(document.documentElement.clientWidth>0) {
                GetId("curseur").style.left=20+event.x+document.documentElement.scrollLeft+"px";
                GetId("curseur").style.top=10+event.y+document.documentElement.scrollTop+"px";
            } else {
                GetId("curseur").style.left=20+event.x+document.body.scrollLeft+"px";
                GetId("curseur").style.top=10+event.y+document.body.scrollTop+"px";
            }
        }
    }
}
 
function montre(text) {
    if(i==false) {
        GetId("curseur").style.visibility="visible"; 
        GetId("curseur").innerHTML = text; 
        i=true;
    }
}
function cache() {
    if(i==true) {
        GetId("curseur").style.visibility="hidden"; 
        i=false;
    }
}
document.onmousemove=move; 
