
/*	
	Endroll
*/
(
	function() {
		
		/*---------------------------------------------------------------------------------------------------------
			コンストラクタ
		--------------------------------------------------------------------------------------------------------- */
		$.Endroll = function(){
			
			var me = this;
						
			//BGM
			this.bgmAry.push("mp3/hitotsudake.mp4");
			this.bgmAry.push("mp3/yokogao.mp4");
			this.bgmAry.push("mp3/anataniaitakute.mp4");
			this.bgmAry.push("mp3/azikko.mp4");
			this.bgmAry.push("mp3/tatsuro_christmas.mp4");
			this.bgmAry.push("mp3/Incognito_Always_There.mp4");
			this.bgmAry.push("mp3/INCOGNITO_Morning_Sun_Live.mp4");
			this.bgmAry.push("mp3/quasimode_RelightMyFire.mp4");
			this.bgmAry.push("mp3/BrianSimpson_SomeoneJustLikeYou.mp4");
			this.bgmAry.push("mp3/hanamizuki.mp4");
			this.bgmAry.push("mp3/koiniochiite.mp4");
			this.bgmAry.push("mp3/furimukebakaeru.mp4");
			
			
			
			if($.isPivot()){
				
				$.IF.getPIVOT(function(d){
					
					var retAry = d.ret.ary;

					var ary = $.DC.getEventPost(17);
					me.dataAry = ary.concat(retAry);
					me.dataAry = me.dataAry.shuffle();
					me.init();
				});
			} else {

				me.dataAry = $.DC.getEventPost(null);
				me.init();
			
			}
			
		};
				
				
		var P = $.Endroll.prototype;
		P.dataAry = [];
		P.queueAry = [];
		P.picW = 600;
		P.picH = 449;
		P.bgmAry = [];
		P.bgmQueueAry = [];
			
		/*---------------------------------------------------------------------------------------------------------*/
		//
		P.init = function() {
			var me = this;
			var node = [];
			node.push("<div id='EndrollCover'></div>");
			node.push("<div id='EndrollCont'>");
				
				node.push("<div id='Endroll_PicHolder'></div>");	
				
				node.push("<div id='Endroll_bgm'></div>");
				//とじる
				node.push("<a href='javascript:void(0);' id='btn_Endroll_close'>close</a>");	
				//BGM次へ
				node.push("<a href='javascript:void(0);' id='btn_Endroll_nextBGM'>next BGM</a>");	
			node.push("</div>");
			
			$("body").append(node.join(""));
			
			
			$("#bodycontainer").hide();
			me.roll();
			me.nextBGM();
			me.setKeyDownEvent(true);
			
			/*---------------------------------------------------------------------------------------
				とじる
			---------------------------------------------------------------------------------------*/
			$("#btn_Endroll_close").unbind("click").bind("click",function(e){ e.preventDefault(); e.stopPropagation();
				
				me.f_close();
				
			});
			
			
			/*---------------------------------------------------------------------------------------
				次の曲へ
			---------------------------------------------------------------------------------------*/
			$("#btn_Endroll_nextBGM").unbind("click").bind("click",function(e){ e.preventDefault(); e.stopPropagation();
				
				me.nextBGM();
				
			});
		}
		
		/*---------------------------------------
		　キーダウンイベント
		--------------------------------------- */
		P.setKeyDownEvent = function(flg) {
			
			var me = this;
			if(flg){
				//キーダウン
				$(window).unbind("keydown").bind("keydown", function(e){
					console.log("e.keyCode "+e.keyCode);
					if(e.keyCode == 27){
						me.f_close();
					}
				});
			} else {
				//キーダウン
				$(window).unbind("keydown");
			}
		}
			
		/*---------------------------------------------------------------------------------------------------------*/
		//とじる
		P.f_close = function() {
			this.stopBGM();
			
			$("#bodycontainer").show();
			$("#EndrollCover").remove();
			$("#EndrollCont").remove();;
			
		}
		
		/*---------------------------------------------------------------------------------------------------------*/
		//
		P.onGetNewPost = function(d) {
			var me = this;
			me.dataAry.unshift(d);
			me.queueAry.unshift(d);
		
		}
		
		/*---------------------------------------------------------------------------------------------------------*/
		//
		P.roll = function() {
			
			var me = this;
			if(me.queueAry.length == 0) {
				me.queueAry = me.dataAry.concat().shuffle();
			}
			
			var nextD = me.queueAry.shift();
			
			
			var node = me.getPostNode(nextD);
			
			$("#Endroll_PicHolder").append(node);
			
			var size = $(window);
			//console.log("size  "+size.width()+"   "+size.height());
			
			var w = me.picW;
			if(nextD.width) w = nextD.width;
			var h = me.picH;
			if(nextD.height) h = nextD.height;
			
			var x = 60 + Math.floor(Math.random()*(size.width()-w - 60));
			var y = 60 + Math.floor(Math.random()*(size.height()-h - 60));
			
			
			var pic = $("#Endroll_PicHolder").find(".post:last-child").css({top:y, left:x}).fadeOut(0);
			
			/*
pic.animate({ top : "-300"}, {duration: 10000, easing: 'linear', complete:function(){
			
				me.roll();
				$(this).remove();
			}});
*/
			pic.fadeIn("slow", function(){
				
				
				pic.delay(3000).fadeOut("slow", function(){
					me.roll();
					$(this).remove();	
				});
			
			});
		}
		
		/*---------------------------------------------------------------------------------------------------------*/
		//
		P.nextBGM = function() {
			var me = this;
			if(me.bgmQueueAry.length == 0){
				me.bgmQueueAry = me.bgmAry.concat();
			}
			
			var nextB = me.bgmQueueAry.shift();
			//$("#Endroll_bgm video").src(nextB);
			
			me.stopBGM();
			
			$("#Endroll_bgm").empty().append("<video src='"+nextB+"'></video>");
			var video = $("#Endroll_bgm video").get(0);
			video.play();
			
			video.addEventListener("ended", function(){
				me.nextBGM();
			});
		}
		
		/*---------------------------------------------------------------------------------------------------------*/
		//
		P.stopBGM = function() {
			$("#Endroll_bgm video").each(function(){
			
				$(this).remove();
			});
		}
		
		/*---------------------------------------------------------------------------------------------------------*/
		P.getImgUrl = function(url){
			var me = this;
			
			
			
			if($.isLocal) url = "http://toshick.com/"+url;
			
			return url;
		}
		
		/*---------------------------------------------------------------------------------------------------------*/
		P.getPostNode = function(d){
			var me = this;
			var topIMG = $.topIMG;
			var node = "";
			var memberD = $.DC.getData("member",d.member_id);
			var username = "とうろくなし人";
			if(memberD){
				username = memberD.name;
			}
			
			var url = me.getImgUrl(d.imgurl);
			var date = d.date.replaceAll("_", ".");
			
			var body = d.body;
			var good = topIMG.getGood(d.id);

			
			var mode = topIMG.getPicMode();
			var picW = me.picW;
			var picH = me.picH;
			var picmode = "postBig";;
			
			var w = "";
			if(d.width) w = " width='"+d.width+"' ";
			var h = "";
			if(d.height) w = " height='"+d.height+"' ";
			
			node += "<div class='post "+picmode+"' num='"+d.id+"' good='"+good+"''>";
				//node += "<div class='postimg'><img src='"+url+"' width='"+picW+"'  alt='' title=''></div>";
				node += "<div class='postimg'><img src='"+url+"' "+w+" "+h+" alt='' title=''></div>";
				node += "";
				node += "<p class='posttime'>"+date+"</p>";
				node += "<p class='postusername'>"+username+"</p>";
				node += "<p class='postbody'>"+body+"</p>";
				node += "<p class='btn_iine'><button>グッドね</button></p>";
				node += "<p class='post_good'>Good : "+good+"</p>";
				
			node += "</div>";
			return node;
		}
	}	
	
)();


