/**
 * @author とっきょけん http://tokkyoken.me.land.to
 */
//魚の絵はここから http://www.ginganet.org/mari/

var datas = 
[
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124838.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124839.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124836.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124837.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124834.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124835.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124832.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124833.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124830.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124831.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124828.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124829.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124826.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124827.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124824.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124825.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124822.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124823.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124820.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124821.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124818.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124819.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124816.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124817.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124814.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124815.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124812.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124813.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124810.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124811.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124808.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124809.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124806.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124807.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124804.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124805.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124802.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124803.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124800.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124801.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124758.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124759.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124756.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124757.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124754.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124755.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124752.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124753.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124750.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124751.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124748.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124749.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124746.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124747.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124744.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124745.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124742.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124743.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124740.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124741.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124738.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124739.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124736.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124737.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124734.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124735.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124732.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124733.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124730.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124731.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124728.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124729.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124726.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124727.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124724.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124725.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124722.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124723.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124720.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124721.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124718.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124719.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124716.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124717.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124714.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124715.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124712.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124713.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124710.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124711.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124708.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124709.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124706.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124707.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124704.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124705.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124702.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124703.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124700.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124701.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124658.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124659.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124656.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124657.gif"],
["http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124840.gif","http://img.f.hatena.ne.jp/images/fotolife/t/tokkyoken/20081030/20081030124655.gif"]
];

function Animal(img, document){
	
	//移動
	this.move = function(){
	
		//画面の大きさ
		var ss = this.getWorldSize();
		var sw = ss.width;
		var sh = ss.height;
		
		//Z方向
		if(Math.floor(Math.random() * 20) == 0){
			this.z += 0.1 * (this.zaspect ? 1 : -1);
			this.moveZ();
			
			if(this.z >= 0.7){
				this.zaspect = !this.zaspect;
			} else if(this.z <= 0){
				this.zaspect = !this.zaspect;
				this.changeData();
			}			
		}
		
		//左右向き変更
		if(this.haspect && (this.selfw + this.x + this.hm) >= sw){
			this.turn();
		} else if(!this.haspect && (this.x - this.hm) <= 0){
			this.turn();
		} else if(Math.floor(Math.random() * 100) == 0){
			this.turn();
		}
		
		//上下
		if(this.vaspect && (this.selfh + this.y + this.vm) >= sh){
			this.vaspect = false;
		} else if(!this.vaspect && (this.y - this.vm) <= 0){
			this.vaspect = true;
		} else {
			var rd = Math.random() * 20;
			if(rd < 1){
				this.vaspect = !this.vaspect;
			} else if(rd < 5){
				this.vm = 0;
			} else if(rd < 10){
				this.vm = 1;
			}
		}
				
		//移動
		this.x += this.hm * (this.haspect ? 1 : -1);
		this.y += this.vm * (this.vaspect ? 1 : -1);
		this.elm.style.left = this.x + 'px';
		this.elm.style.top = this.y + 'px';
		
		//次のタイマーセット
		var this_ = this;
		setTimeout(
			function(){
				this_.move.call(this_);
			}
			,30 + Math.floor(Math.random() * 100)
		);
	};
	
	//向き変更
	this.turn = function(){
		this.haspect = !this.haspect;
		this.elm.src = (this.haspect ? this.img[1] : this.img[0]);
	};
	
	//画像の初期化
	this.imgInit = function(){
		this.elm.src = (this.haspect ? this.img[1] : this.img[0]);
		this.elm.style.position = 'absolute';
	
		//自分のサイズ
		this.selfw = this.elm.width;
		this.selfh = this.elm.height;		
	};
	
	//データ変更
	this.changeData = function(){
		this.img = datas[Math.floor(Math.random() * datas.length)];
		this.imgInit();
	};
	
	//Z方向の移動
	this.moveZ = function(){
		var ua = navigator.userAgent
		this.elm.style.opacity = this.z;
		if(ua.indexOf('Gecko')!=-1){
			this.elm.style.MozOpacity = this.z;
	    }else {
			this.elm.style.filter="alpha(opacity=0)"
			this.elm.filters.alpha.Opacity  = (this.z * 100)
		}
	};
	
	//世界（ウィンドウ）の広さゲット
	this.getWorldSize = function(){
		var size = {};
		if(window.innerWidth){
			size.width = window.innerWidth;
			size.height = window.innerHeight;
		} else if(document.body.clientWidth) {
			size.width = document.body.clientWidth;
			size.height = document.body.clientHeight;
		} else {
			size.width = document.documentElement.clientWidth;
			size.height = document.documentElement.clientHeight;
		}
		return size;
	}
	
	//ランダム配置
	this.randomPosition = function(){
		var worldSize = this.getWorldSize();
		this.x = Math.floor(Math.random() * worldSize.width);
		this.y = Math.floor(Math.random() * worldSize.height);
	}
	
	//画像パス
	this.img = img;
	
	//移動量	
	this.hm = 3;
	this.vm = 0;

	//向き
	this.vaspect = true;
	this.haspect = Math.floor(Math.random() * 2);
	this.zaspect = false;
	
	//ポジション
	this.randomPosition();
	this.z = (Math.floor(Math.random() * 6) + 1) / 10;

	//画像設定
	this.elm = document.createElement('img');

	this.imgInit();

	//画像を画面に配置する
	document.body.appendChild(this.elm);
	
	//配置した後に透明度設定しないとIEがバグるみたい
	this.moveZ();
	
	//移動開始
	this.move();
	
}

function ouoin(document){
for(var i = 0 ; i < 10; i++){
	new Animal(datas[Math.floor(Math.random() * datas.length)],document);
}
}




