/* =====================================================================
*
*   mvktv.js | for MAIKO VILLA KOBE

*		---------Contents------------
*
*
*				(m) load
*				(m) sort
*
*				(d) document.ready
*
*
*
*
* =================================================================== */

if(!window.MVKTVThum) window.MVKTVThum = {};


/* =====================================================================
*
*	LOAD MODULE
*
* =================================================================== */
$.extend(MVKTVThum.load = {},{
	
	
	/*--------------------------------------------------
	* DATA
	--------------------------------------------------*/
	ytData: {},			//YOUTUBE_API_JSON
	mtData: {},			//MT_JSON
	sortAy: [],			//並べ替え用配列
	MvktvThumbnail: {}, //サムネイル
	MvktvTitle: {}, 	//サムネイルタイトル

	
	/*--------------------------------------------------
	* 初期設定
	--------------------------------------------------*/
	init: function(){
	this.ytLoad();
	},
	
	
	/*--------------------------------------------------
	* YouTube API ロード
	--------------------------------------------------*/
	ytLoad: function(){
		
		var _self = this;
	
		$.ajax({
		
		    url: "http://gdata.youtube.com/feeds/api/videos?author=maikovillakobe",   // リクエストURL
		    data: {                                            				  		  // 送信データ
		        /* "max-results": 5,									          	  // 最大取得件数 */
		        "alt": "json-in-script"  									  		  // alt
		    },
		    dataType: "jsonp",                                	 			  		  // json
		    cache: false,                                   	 			  	  	  // キャッシュ 
		    success: function( data ) {							  			  		  // ロード完了		    	
		        $.each(data.feed.entry, function(i, item){
		        	//動画IDの取得
		        	var _id = item.id.$t.replace(/^.+\/(.+)$/,"$1");
		        	
		        	//サムネイルグループ
		            var _group = item.media$group;
		            _group.media$thumbnail[0].width = 220;
		            _group.media$thumbnail[0].height = 220;
		            
		            //オブジェクトにデータを格納
		            _self.ytData[_id] = {
		            	"id": _id,
		            	"thumbnail": _group.media$thumbnail[0]
		            }
		        });
		        
		        //MTのJsonをロード
		       _self.mtLoad();
		    },
		    error : function(){														// エラー
		    }
		});
	},
	
	
	/*--------------------------------------------------
	* MT_JSON ロード
	--------------------------------------------------*/
	mtLoad : function(){
	
		var _self = this;
		
		$.ajax({
			url: "/mvktv/yt_data.js",
			dataType: "json",
			cache: false,
			success: function( data ) {
				
				//全データを格納
				_self.mtData = data.youtube;
				_self.onLoad();
		    }
		});
	},
	
	
	/*--------------------------------------------------
	* ロードと格納が完了したら
	--------------------------------------------------*/
	onLoad: function(){
				
		//継承
		$.extend(true, this.mtData, this.ytData);
		
		//プロパティが揃ってなければ追加しない（MT入力もれ・YoutubeRSSのタイムラグなど）
		for( var key in this.mtData ){
			
			if( this.mtData[key].id && this.mtData[key].category ){
				this.sortAy.push(this.mtData[key]);	
			}
		}
		
		//並び替え
		this.sortAy.sort( compare );

		function compare(x, y){
			return x.date < y.date;	
		}
		
		//サムネイルを保存へ
		this.MvktvThumbnail = this.sortAy[0].thumbnail.url;
		
		//サムネイルタイトルを保存
		this.MvktvTitle = this.sortAy[0].title;
		
		
		this.apeendToBanner();
	},
	
	
	
	/*--------------------------------------------------
	* Banner内にアペンド
	--------------------------------------------------*/
	apeendToBanner: function(){
	
		var $target_thumb = $("#MVKTVThumnail");
		var $target_title = $("#MVKTVRecent span");
		

		$target_thumb.append("<img width='200' height='150' src='" + this.MvktvThumbnail + "'>");
		$target_title.append( this.MvktvTitle );
	}
});



/* =====================================================================
*
*	READY??
*
* =================================================================== */

$(function(){

	
	if( $("#MVKTVRecent").length != 0 ) MVKTVThum.load.init();
});











