/**
 * @author pjnovas
 */

var Shield = DrawableElement.extend({
	init: function(options){
		this._super(options);
		
		this.imgs = [];
		this.build();
	},
	build: function(){
		this.createImagesStateBricks();
	
		var bSize = this.brickSize;
		var x = this.position.x;
		var y = this.position.y;
		var ctx = this.ctx;
		var color = this.color;
		
		var fernetArr = ImageMapper.Shield();
		var fArrLen = fernetArr.length;
		
		for(var i=0; i< fArrLen; i++){
			var fColLen = fernetArr[i].length;
			
			for(var j=0; j< fColLen; j++){
				
				if (fernetArr[i][j]){
					var b = new ShieldBrick({
						ctx: ctx,
						x: (j * bSize) + x,
						y: (i * bSize) + y,
						width: bSize,
						height: bSize,
						color: color,
						imgsState: this.imgs
					});
					
					this.bricks.push(b);
				}
			}
		}
	},
	update: function(){
		
	},
	draw: function(){
		var b = this.bricks;
		var bLen = b.length;
		
		for(var i=0; i< bLen; i++){
			b[i].draw();
		}
	},
	destroy: function(){
		var b = this.bricks;
		var bLen = b.length;
		for(var i=0; i< bLen; i++){
			b[i].destroy();
		}
		this.bricks = [];
		
		this._super();
	},
	createImagesStateBricks: function(){
		var opts = {
			width: this.brickSize,
			height: this.brickSize,
			states: [1],
			brickSize: 2,
			color: this.color
		};
		
		var states = ImageMapper.ShieldBrick();
	
		for (var i=0; i< states.length; i++){
			opts.mapper = states[i];
			this.imgs.push(ImageCreator.getImages(opts)[0]);
		}
	}
});