//{{{class define
function item(){
	this.videoid="";
}
function PlayList(){}
PlayList.imageQls=new Image;
PlayList.imageQls.src="http://static.youku.com/v/img/qls.gif";
PlayList.imageQlh=new Image;
PlayList.imageQlh.src="http://static.youku.com/v/img/qlh.gif";
PlayList.imageQlsed=new Image;
PlayList.imageQlsed.src="http://static.youku.com/v/img/qlsed.gif";
PlayList.setPosition = function(videoid,position,callback){
	position=parseInt(position);
	var items = this.getAll();
	var items_new = new Array();
	var flag=false;
	var added=false;
	if(position>0 && position<items.length+1){
		for(i=0;i<=items.length;i++){
			if(!added){
				if(flag){
					if(i==position){
						var it = new item;
						it.videoid=videoid;
						items_new.push(it);
						added=true;
					}
				}else{
					if(i+1==position){
						var it = new item;
						it.videoid=videoid;
						items_new.push(it);
						added=true;
					}
				}
			}
			try{
				if(videoid != items[i].videoid){
					items_new.push(items[i]);
				}else{
					flag=true;
				}
			}catch(e){}
		}
		this.setAll(items_new);
		if(callback != undefined && callback !=""){
			try{
				callback();
			}catch(e){
			}
		}
	}else{
		alert("你输入的位置超过了范围");
		return false;
	}
}

PlayList.isRemoveOnPlayComplete="";
PlayList.setRemove = function(){
	var isRemoveOnPlayComplete = Nova.Cookie.get("isRemoveOnPlayComplete");
	if(isRemoveOnPlayComplete != "true"){
		isRemoveOnPlayComplete = true;
	}else{
		isRemoveOnPlayComplete = false;
	}
	this.isRemoveOnPlayComplete = isRemoveOnPlayComplete;
	Nova.Cookie.set("isRemoveOnPlayComplete",isRemoveOnPlayComplete,360);

}
//设置为默认删除
PlayList.initRemove = function(){
	var isRemoveOnPlayComplete = Nova.Cookie.get("isRemoveOnPlayComplete");
	if(isRemoveOnPlayComplete != "true" && isRemoveOnPlayComplete!="false"){
		isRemoveOnPlayComplete = true;
		this.isRemoveOnPlayComplete = isRemoveOnPlayComplete;
		Nova.Cookie.set("isRemoveOnPlayComplete",isRemoveOnPlayComplete,360);
	}

}
PlayList.next = function (videoid){

}
//增加一个视频到用户点播单
PlayList.add = function(videoid,title,logo){
	var items = this.getAll();
	try{
		var i = new item;
		i.videoid=videoid;
		items.push(i);
	}catch(e){
	}
	this.setAll(items);

}
PlayList.getAll = function(){
	try{
		var items=JSON.parse(Nova.Cookie.get("PlayList"));
		if (items instanceof Array){
			return items;
		}else{
			throw "false";
		}
	}catch(e){
		return new Array();
	}
}
PlayList.setAll = function(items){
	try{
		Nova.Cookie.set("PlayList",JSON.stringify(items),360);
	}catch(e){
	}
}
PlayList.check = function(videoid){
	var items = this.getAll();
	for(i=0;i<items.length;i++){
		if(videoid == items[i].videoid){
			return true;
		}
	}
	return false;
}
PlayList.del = function(videoid,callback){
	var items = this.getAll();
	var items_new = new Array();
	for(i=0;i<items.length;i++){
		if(videoid != items[i].videoid){
			items_new.push(items[i]);
		}
	}
	this.setAll(items_new);
	if(callback != undefined && callback !=""){
		try{
			callback();
		}catch(e){
		}
	}
}
PlayList.clean = function(callback){
	var items_new = new Array();
	this.setAll(items_new);
	if(callback != undefined && callback !=""){
		try{
			callback();
		}catch(e){
		}
	}
}
PlayList.list = function (start,end){}
//获取用户的点播单数目
PlayList.getNum = function(){
}
PlayList.render = function(img,callback){
		if(img.id==undefined){
			//参数是直接的ID，兼容以前模式
			var videoid = img;
		}else{
			var tmp=img.id.split("_");
			if(tmp[1]==undefined || tmp[1]==""){return;}
			var videoid = tmp[1];
		}
		if(!this.check(videoid)){
			this.add(videoid,img.title,img.src);
		}else{
			this.del(videoid);
		}
		PlayList.init();
		if(callback != undefined && callback !=""){
			try{
				callback();
			}catch(e){}
		}
		
}
PlayList.init = function(module){
	try{
		var imgList = document.getElementsByTagName('img');
		
		var inPlayList =false;
		var items = this.getAll();
		
		for (var n=0;n<imgList.length;n++){
			var img = imgList[n];
			if( img.id == undefined || img.id =="" )continue;
			
			var inPlayList =false;
			var tmp =img.id.split("_");
			if(tmp[0]!="PlayListFlag" || tmp[1]==undefined || tmp[1]=="")continue;
			var videoId= tmp[1];

			for(var i=0;i<items.length;i++){
				if(videoId == items[i].videoid){//在播放列表里
					inPlayList=true;
					break;
				}
			}
			if(img.src.indexOf("qlus.gif")>-1)continue;
			img.style.display="block";
			if(img.onclick==undefined || img.onclick==""){
				img.onclick=function(){PlayList.render(this,PlayListIndexCallback);}
			}
			if(inPlayList){
					img.src=PlayList.imageQlsed.src;
					img.title="从点播单移除";
					img.onmouseout=function(){}
					img.onmouseover=function(){}
			}else{
					img.src=PlayList.imageQls.src;
					img.title="添加到点播单";
					img.onmouseout=function(){ this.src=PlayList.imageQls.src;}
					img.onmouseover=function(){ this.src=PlayList.imageQlh.src;}
			}
		}
	}catch(e){}
	this.initRemove();
}
//}}}
//{{{user interface
function PlayListIndexCallback(){
	if(PlayList.getAll().length==0){	
		document.getElementById("playlist_span").style.display="none";
	}else{
		document.getElementById("playlist_span").style.display="inline";
	}
	document.getElementById("playlist_count").innerHTML= PlayList.getAll().length;
}
function PlayListIndexAdd(item) {
    var g = document.createElement("a");
    g.href="/v/show/id/"+item.videoid;
    g.innerHTML='<img style="margin:2px; padding:2px" src="'+item.logo+'" width="36" height="27" border="0" />';
    document.getElementById("PlayListIndexContenter").appendChild(g);
}

function PlayListSave(){
		if(islogin()){
		PlayListSaveDialog();
		}else{
		login(PlayListSaveDialog);
		}
}
function PlayListSaveDialog(r){
	try{
	Dialog.cancelCallback()
	}catch(e){}
    if(pop!=null)pop.close();
    pop=new Popup({contentType:1,isSupportDraging:false,isReloadOnClose:false,width:580,height:480});
    pop.setContent("title","");
    pop.setContent("contentUrl", "/v/showPlayListSave");
    pop.build();
    pop.show();
}
//}}}

window.nova_init_hook_playlist = function (){
	try{
		PlayList.init(); PlayListIndexCallback();
	}catch(e){}
}
try{
if(NovaOptions.compatibleMode == true)
{
	window.onload = window.nova_init_hook_share;
}
}catch(e){}
//{{{记录已经播放的视频
PlayList.addPlayed = function(o){
	var key="PlayListPlayed";
	var items = new Array();
	try{
		var items_tmp = JSON.parse(Nova.Cookie.get(key));
		if (items_tmp instanceof Array){
			items = items_tmp;
		}
	}catch(e){}
	//{{{check unique
	for(var i=0;i<items.length;i++){
			if(	
				(items[i].folderid!=undefined && items[i].folderid == o.folderid)|| 
				(items[i].showid!=undefined && items[i].showid== o.showid)|| 
				items[i].videoid == o.videoid
			){
					items.splice(i,1);
					break;
			}
	}
	//}}}
	try{
		var i = new item;
		i.videoid=o.videoid;
		if(o.folderid){ i.folderid = o.folderid }
		if(o.showid){ i.showid= o.showid}
		if(o.order){ i.order= o.order}
		if(o.pos){ i.pos = o.pos}
		items.unshift(i);
		items = items.slice(0,10);
	}catch(e){}
	Nova.Cookie.set(key,JSON.stringify(items),360);
}
PlayList.delPlayed = function(o){
	var key="PlayListPlayed";
	var items = new Array();
	try{
		var items_tmp = JSON.parse(Nova.Cookie.get(key));
		if (items_tmp instanceof Array){
			items = items_tmp;
		}
	}catch(e){}
	for(var i=0;i<items.length;i++){
			if((o.folderid && items[i].folderid== o.folderid) || (o.videoid && items[i].videoid == o.videoid)){
					items.splice(i,1);
					break;
			}
	}
	Nova.Cookie.set(key,JSON.stringify(items),360);
}
//}}}
