var bust = function(name, blockSize, layout){
    this.el = $("#"+name).children('.bust')
    this.original = layout;
    this.layout = layout;
    this.dim = blockSize;
    this.init();
}
bust.prototype={
    init:function(){
        for(row in this.layout){
            for(c in this.layout[row]){
                if(this.layout[row][c] != ""){
                    $('<div class="px" style="width:'+this.dim+'px; height:'+this.dim+'px; left:'+(c*this.dim)+'px; top:'+(row*this.dim)+'px; background:#'+this.layout[row][c]+';">').appendTo(this.el)
                }
            }
        }
    }
}
var rtrn = function(el, pos){
    return function(){
        el.animate({left:pos.left+"px", top:pos.top+"px"}, {duration:4000, easing:"swing"})
    }
}
var random_color = function(){
    return 'rgb('+ Math.round(Math.random()*255) +', '+ Math.round(Math.random()*255) +', '+ Math.round(Math.random()*255) +')';
}
$(function(){
    new bust("luke", 10, [
    ["", "5A3D1C", "", "5A3D1C", "", "5A3D1C", "", "", "", "" ],
    ["5A3D1C", "", "", "5A3D1C", "5A3D1C", "", "5A3D1C", "", "5A3D1C", ""],
    ["", "5A3D1C", "5A3D1C", "5A3D1C", "5A3D1C", "5A3D1C", "5A3D1C", "5A3D1C", "", ""],
    ["", "5A3D1C", "5A3D1C", "5A3D1C", "5A3D1C", "5A3D1C", "5A3D1C", "5A3D1C", "5A3D1C", ""],
    ["5A3D1C", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "5A3D1C", "5A3D1C", "5A3D1C"],
    ["", "E0C494", "CCB07E", "F2D3A0", "CCB07E", "E0C494", "F2D3A0", "5A3D1C", "5A3D1C", "" ],
    ["", "F2D3A0", "8B5C29", "F2D3A0", "8B5C29", "F2D3A0", "F2D3A0", "5A3D1C", "5A3D1C", "" ],
    ["", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "5A3D1C", "5A3D1C", "" ],
    ["", "F2D3A0", "5A3D1C", "5A3D1C", "5A3D1C", "F2D3A0", "5A3D1C", "5A3D1C", "5A3D1C", "5A3D1C" ],
    ["", "5A3D1C", "5A3D1C", "F2D3A0", "5A3D1C", "5A3D1C", "5A3D1C", "5A3D1C", "5A3D1C", "" ],
    ["", "", "5A3D1C", "5A3D1C", "5A3D1C", "5A3D1C", "5A3D1C", "", "", "" ],
    ["", "", "00A0C6", "5A3D1C", "5A3D1C", "5A3D1C", "00A0C6", "00A0C6", "", "" ],
    ["", "00A0C6", "00A0C6", "00A0C6", "F2D3A0", "00A0C6", "00A0C6", "00A0C6", "00A0C6", "" ]
    ]);

    new bust("kevin", 10, [
    ["", "", "", "", "", "", "", "", "", "" ],
    ["", "", "", "5A3D1C", "5A3D1C", "5A3D1C", "5A3D1C", "", "", ""],
    ["", "", "5A3D1C", "5A3D1C", "5A3D1C", "5A3D1C", "5A3D1C", "5A3D1C", "", ""],
    ["", "5A3D1C", "5A3D1C", "5A3D1C", "5A3D1C", "5A3D1C", "5A3D1C", "5A3D1C", "5A3D1C", ""],
    ["", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "5A3D1C", "5A3D1C", ""],
    ["", "E0C494", "CCB07E", "F2D3A0", "CCB07E", "E0C494", "F2D3A0", "5A3D1C", "5A3D1C", "" ],
    ["", "F2D3A0", "4F6F19", "F2D3A0", "4F6F19", "F2D3A0", "F2D3A0", "5A3D1C", "5A3D1C", "" ],
    ["", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "5A3D1C", "" ],
    ["", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "", "" ],
    ["", "F2D3A0", "B08B77", "B08B77", "B08B77", "F2D3A0", "F2D3A0", "F2D3A0", "", "" ],
    ["", "", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "", "", "" ],
    ["", "", "BF0000", "F2D3A0", "F2D3A0", "F2D3A0", "BF0000", "BF0000", "", "" ],
    ["", "BF0000", "BF0000", "BF0000", "F2D3A0", "BF0000", "BF0000", "BF0000", "BF0000", "" ]
    ]);

    new bust("mike", 10, [
    ["", "", "", "", "", "", "", "", "", "" ],
    ["", "", "", "362A1B", "362A1B", "362A1B", "362A1B", "", "", ""],
    ["", "", "362A1B", "362A1B", "362A1B", "362A1B", "362A1B", "362A1B", "", ""],
    ["", "362A1B", "362A1B", "362A1B", "362A1B", "362A1B", "362A1B", "362A1B", "362A1B", ""],
    ["", "F2D3A0", "362A1B", "362A1B", "362A1B", "362A1B", "F2D3A0", "362A1B", "362A1B", ""],
    ["", "E0C494", "CCB07E", "F2D3A0", "CCB07E", "E0C494", "F2D3A0", "362A1B", "362A1B", "" ],
    ["", "F2D3A0", "5A3D1C", "F2D3A0", "5A3D1C", "F2D3A0", "F2D3A0", "362A1B", "362A1B", "" ],
    ["", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "362A1B", "" ],
    ["", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "362A1B", "" ],
    ["", "F2D3A0", "B08B77", "B08B77", "B08B77", "F2D3A0", "F2D3A0", "F2D3A0", "", "" ],
    ["", "", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "F2D3A0", "", "", "" ],
    ["", "", "00469F", "F2D3A0", "F2D3A0", "F2D3A0", "00469F", "00469F", "", "" ],
    ["", "00469F", "00469F", "00469F", "F2D3A0", "00469F", "00469F", "00469F", "00469F", "" ]
    ]);
    
    $("#luke").children(".bust").click(function(){
        $(this).children(".px").each(function(){
            var pos = $(this).position()
            if(pos.top < 110)
            $(this).animate({width:$(this).width()+20+"px", height:$(this).height()+20+"px"}, {duration:5000})
        })
    })    
    
    $("#mike").children(".bust").click(function(){
        $(this).children(".px").each(function(){
            $(this).animate({backgroundColor:random_color()}, {duration:5000})
    })
    })
    $("#kevin").children(".bust").click(function(){
        $(this).children(".px").each(function(){
            var pos = $(this).position()
            $px = $(this)
            var rtrn = function(el, pos){
                return function(){
                    el.animate({left:pos.left+"px", top:pos.top+"px"}, {duration:4000, easing:"easeOutBack"})
                }
            }
            var normal = rtrn($px, pos)
            setTimeout(normal, 1100)
            $(this).animate({left:pos.left+(Math.round(Math.random()*400)-200)+"px", top:pos.top+(Math.round(Math.random()*600)-300)+"px"}, {duration:1000, easing:"easeOutExpo"})
        })
    })
    $("#kevin").children(".bust").click(function(){
        $(this).children(".px").each(function(){

        })
    })
})