var isMSIE = /*@cc_on!@*/false;

(function($){
   jQuery.fn.ytplaylist=function(options) {
		//初期値設定
		var defaults={
			plistID:"9111BCE749E6235C",
			addThumbs:true, 
			playerWidth:'608',
			playerHeight:'380',
			thumbSize:'small',
			holderId:'fcmMovieContents',
			objId:'ytplist',
			sppeed:500,
			itemCount:3
		}
		//オプションの初期値設定
		var setting=jQuery.extend(defaults,options);
    	var isIE=false;
    	if(navigator.userAgent.toLowerCase().indexOf("msie")!=-1) isIE=true;
		//プラグインで使用するメソッド
		onload=function(){
	    	if(isIE){
				var url="http://gdata.youtube.com/feeds/api/playlists/"+setting.plistID+"?v=2&alt=json-in-script&callback=getList";
				var script = document.createElement("script");
				script.setAttribute("type", "text/javascript");
				script.setAttribute("src", url);
				document.getElementsByTagName("head")[0].appendChild(script);
			}else{
				jQuery.getJSON(
					"http://gdata.youtube.com/feeds/api/playlists/"+setting.plistID+"",
					{v:"2",alt:"json"},
					function(xml){
						getList(xml);
						init();
					}
				);
			}
		}
		getList=function(xml){
		    var feed = xml.feed;
			var ary=[];
			//jQuery("h3").html(feed.title.$t);
			jQuery.each(feed.entry, function(i,item){
				var s="";
				var vid=item.media$group.yt$videoid.$t;
				var title=item.title.$t;
				
				// 再生時間の取得
				var vduration=item.media$group.yt$duration.seconds;
				var vd_sec = vduration % 60;
				var vd_min = (vduration - vd_sec)/60;
				if (vd_sec < 10) { vd_sec = "0" + vd_sec; }
				if (vd_min < 10) { vd_min = "0" + vd_min; }

				s+='<li><a href="http://www.youtube.com/watch?v='+vid+'" class="fcmMovieListThumb" rel="'+vid+'" target="_blank"><img src="http://img.youtube.com/vi/'+vid+'/0.jpg" alt="'+title+'" width="155" />';
				s+='<span class="f10 pngImg">'+vd_min+':'+vd_sec+'</span></a>';
				s+='<a href="http://www.youtube.com/watch?v='+vid+'" rel="'+vid+'" target="_blank" class="fcmMovieListTtl">'+title+'</a></li>';
				ary.push(s);
			});
			for(var i=ary.length; i>=0; i--){
				if(!ary[i]) continue;
				jQuery("#"+setting.objId).append(ary[i]);
			}
			init();
		};
		//セレクタで指定した要素を処理
		init=function(){
	   		var ul=jQuery("#"+setting.objId);
	   		var li=jQuery("li", ul);
	   		var liLength=li.length;
       		var itemWidth=parseInt(li.css("width"));
       		var ulWidth=0;
       		var itemContentWidth=itemWidth*setting.itemCount;
       		var offsetLeft=0;
	   		//ul.width(liLength*itemWidth);
			function setPlayer(vid,flag){
				var s ='';
				var opt=(!flag) ? "?autoplay=0&showinfo=0" : "?autoplay=1&showinfo=1";
				s+='<iframe title="YouTube video player" class="youtube-player" type="text/html" ';
				s+='width="'+setting.playerWidth+'" height="'+setting.playerHeight+'" src="http://www.youtube.com/embed/'+vid+opt+'" ';
				s+='frameborder="0"></iframe>';
				return s;
			};
			var defaultVideo=ul.find("li:first-child").addClass("current").children("a").attr("rel");
			jQuery("#"+setting.holderId).html(setPlayer(defaultVideo,0));
			li.find("a").click(function() {

				if(isMSIE){	jQuery("#"+setting.holderId+"").css({'display':'none'});};
				jQuery("#"+setting.holderId+"").find('iframe').remove();
				jQuery("#"+setting.holderId+"").html(setPlayer(jQuery(this).attr("rel"),1));
				if(isMSIE){	jQuery("#"+setting.holderId+"").css({'display':'block'});};
				
				ul.find("li.current").removeClass("current");
				jQuery(this).parent("li").addClass("current");
				return false;
			});
//			li.find("a").click(function() {
//				jQuery("#"+setting.holderId+"").html(setPlayer(jQuery(this).attr("rel"),1));
//				ul.find("li.current").removeClass("current");
//				jQuery(this).parent("li").addClass("current");
//				return false;
//			});
			
//				if(isMSIE){	jQuery("#"+setting.holderId+"").css({'display':'none'});};
//				jQuery("#"+setting.holderId+"").find('iframe').remove();
//				jQuery("#"+setting.holderId+"").html(setPlayer(jQuery("#"+setting.holderId+"").eq(selectMovieNum).attr("rel"),0));
//				if(isMSIE){	jQuery("#"+setting.holderId+"").css({'display':'block'});};

//			jQuery(".prev").click(function() {
//			    offsetLeft=parseInt(ul.css("left"))+itemContentWidth;
//			    ulWidth=parseInt(ul.css("width"));
//			    if ((offsetLeft+ulWidth) <= ulWidth) {
//			        jQuery(".next").removeClass("off").addClass("on");
//			        ul.animate({left: offsetLeft}, setting.speed, function() {
//			            jQuery(this).css("left",offsetLeft);
//			            if(parseInt(ul.css("left"))==0){
//			                jQuery(".prev").removeClass("on").addClass("off");
//			            }
//			        });
//			    }
//				return false;
//			});
//			jQuery(".next").click(function() {
//				offsetLeft=parseInt(ul.css("left")) -itemContentWidth;
//				if (offsetLeft + parseInt(ul.css("width")) > 0) {
//					jQuery(".prev").removeClass("off").addClass("on");
//					ul.animate({left: offsetLeft}, setting.speed, function() {
//						jQuery(this).css("left",offsetLeft);
//					    ulWidth=parseInt(ul.css("width"));
//						if (parseInt(ul.css("left"))+ulWidth<=itemContentWidth) {
//							jQuery(".next").removeClass("on").addClass("off");
//						}
//					});
//				}
//				return false;
//			});

		};
		// メソッドチェーン用
		return this;
	};
})(jQuery);

