/*
Copyright (c) 2009, vSolutions. All rights reserved.
http://vsolutions.vn
*/

 function getElementsByClassName(clsName) {
    var elements; 
    if(arguments.length<2) {
		elements= document.getElementsByTagName("*");
	}
    else {
		elements=arguments[1].getElementsByTagName("*");
	}
    var retVal = new Array();
    for(var i = 0;i < elements.length;i++){
        if(elements[i].className.indexOf(" ") >= 0){
            var classes = elements[i].className.split(" ");
            for(var j = 0;j < classes.length;j++){
                if(classes[j] == clsName) {
                    retVal.push(elements[i]);
				}
            }
        }
        else if(elements[i].className == clsName) {
            retVal.push(elements[i]);
		}
    }
    return retVal;
 };

var ob_flash;
function init() {
	var player_w = 275;
	var player_h = 250;
	if(gid("player_w")) {
		player_w = gid("player_w").value;
	}
	if(gid("player_h")) {
		player_h = gid("player_h").value;
	}
	var so = new SWFObject('/common/v1/playlist/mediaplayer.swf','jstest3',player_w,player_h,'8');
	so.addParam('allowscriptaccess','always');
	so.addParam('allowfullscreen','true');
	so.addParam('wmode','transparent');
	so.addVariable('width',player_w);
	so.addVariable('height',player_h);
	so.addVariable('displaywidth',player_w);
	so.addVariable('autostart','true');
	so.addVariable('javascriptid','jstest3');
	so.addVariable('enablejs','true');
	so.addVariable('aboutlink','http://vsolutions.vn');
	so.write('container3');
}
init();
playMode();

function hilightCurrentItem(index){
	try{
		var title_playlist=getElementsByClassName("row1",gid("danh_sach_song"));
		for(var i=0;i<title_playlist.length;i++) {
			title_playlist[i].id="";
		}
		title_playlist[index].id="current_item"; 
	} catch(e){
		return false;
	}
}

//kiem tra co ton tai item co da ton tai trong playlist chua
function kiemTra(url_song){
    var list_song=getElementsByClassName("kiem_tra_ton_tai");
    for(var i=0;i<list_song.length;i++) {
		if(url_song==list_song[i].innerHTML) {
			return i;
		}
	}
    return -1;
}

function addListener() {
	ob_flash.addModelListener("STATE", "listener_model_state");
	ob_flash.addControllerListener("PLAY", "listener_view_play");
	ob_flash.addViewListener("NEXT", "listener_view_next");
	ob_flash.addViewListener("PREV", "listener_view_prev");
	ob_flash.addViewListener("STOP", "listener_view_stop");
}

function loadCookie() {
	var playlist_ids = getCookie("playlist_ids").split("|");
	var playlist_titles = getCookie("playlist_titles").split("|");
	var playlist_images = getCookie("playlist_images").split("|");
	var playlist_locations = getCookie("playlist_locations").split("|");
	var playlist_links = getCookie("playlist_links").split("|");
	if(playlist_titles.length > 0 && playlist_titles.length == playlist_locations.length) {
		try
		{
			if(playlist_titles.length == 1 && playlist_titles[0] == 'undefined')
				return;
			for(var i = 0; i < playlist_titles.length; i++) {
				if(playlist_titles[i] !== "" && playlist_locations[i] !== "") {
					if(kiemTra(playlist_locations[i])<0) {
						addItem2('jstest3',{tags:playlist_ids[i],file:playlist_locations[i],image:playlist_images[i],title:playlist_titles[i],link:playlist_links[i]}, false);
					}
				}
			}
			reloadFile(playlist);
		}
		catch (exception) {}
	}	
}

function waitItem(k){
	if(thisMovie('jstest3').getPlaylist() && thisMovie('jstest3').getPlaylist().length>0){
		playlist = thisMovie('jstest3').getPlaylist();
		getTitle();
		
		// Send play event
		var target_idx = parseInt(getCookie("playlist_current_song"));
		if(!target_idx || target_idx === "" || target_idx >= thisMovie('jstest3').getPlaylist().length)
			target_idx = 0;
		sendEvent('jstest3','ITEM',target_idx);
		hilightCurrentItem(target_idx);
		return true;
	}
	k = k + 10;
	if(k >= 5000) {
		return false;
	}
	else{
		setTimeout('waitItem('+k+')', '10');
	}
}

function loadPlaylist()
{       
	var playlist_xml_link = gid("play_list_file");
	if(playlist_xml_link && playlist_xml_link.value !== ""){        
		loadFile('jstest3',{file:playlist_xml_link.value});
		waitItem(0);
	}
	else if(!gid("playlist_disable_cookie") && getCookie("playlist_titles") !== "") {
		loadCookie();
		waitItem(0);
	}
}

 function playerReady(obj) {
	ob_flash=gid("jstest3");
	addListener();
	loadPlaylist();
	try
	{
		playerReadyCustom(obj);
	}
	catch (err)
	{
	}
 }

 function updateCookie(len) {
	var playlist_ids = "";
	var playlist_titles = "";
	var playlist_images = "";
	var playlist_locations = "";
	var playlist_links = "";
	for(var i=0;i<len;i++) {
		var ti=itemData('jstest3',i); 
		if(i > 0) {
			playlist_ids += "|";
			playlist_titles += "|";
			playlist_images += "|";
			playlist_locations += "|";
			playlist_links += "|";
		}
		playlist_ids += nvl(ti[2], "");
		playlist_titles += nvl(ti[0], "");
		playlist_images += nvl(ti[3], "");
		playlist_locations += nvl(ti[1], "");
		playlist_links += nvl(ti[4], "");
	}
	if(len <= 0 && playlist_titles === "") {
		return false;
	}
	document.cookie = "playlist_ids"+ "=" + escape(playlist_ids) + "; expires=Fri, 31 Dec 2099 23:59:59 GMT;";
	document.cookie = "playlist_titles"+ "=" + escape(playlist_titles) + "; expires=Fri, 31 Dec 2099 23:59:59 GMT;";
	document.cookie = "playlist_images"+ "=" + escape(playlist_images) + "; expires=Fri, 31 Dec 2099 23:59:59 GMT;";
	document.cookie = "playlist_locations"+ "=" + escape(playlist_locations) + "; expires=Fri, 31 Dec 2099 23:59:59 GMT;";
	document.cookie = "playlist_links"+ "=" + escape(playlist_links) + "; expires=Fri, 31 Dec 2099 23:59:59 GMT;";
 }

 function addEventTo(object,index_song){
	if(!object) {return;}
	object.onclick=function(){
		sendEvent('jstest3','ITEM',index_song);
        return false;
	};
 }

 function clickPlay(){
    var title_playlist=getElementsByClassName("link_play",gid("danh_sach_song"));
    var i;
    for(i=0;i<title_playlist.length;i++){
	   addEventTo(title_playlist[i].getElementsByTagName("a")[0],i);           
	}
 }

 function addEventDel(object,index_song){
	if(!object) {return;}
	object.onclick=function(){		
		removeItem('jstest3',index_song);
		getTitle();
		hilightCurrentItem(current_song);
		return false;
	};         
 }

 function deleteItem(){
	var list=getElementsByClassName("del",gid("danh_sach_song"));
    for(var i=0;i<list.length;i++) {
		addEventDel(list[i],i);
	}
 }

 function getTitle(){
    var len=getLength('jstest3'); 
    var list='';
    for(var i=0;i<len;i++)
    {  
        var ti=itemData('jstest3',i); 
		if(ti[0] === "") {
			continue;
		}
		var article_link = "/";
		if(ti[4]) {
			article_link = ti[4];
		}
		var detail_link = "";
		if(!gid("playlist_disable_link"))
			detail_link = '<a href="'+article_link+'" title="Tới trang chi tiết" class="down"><img src="/common/v1/playlist/detail.gif" width="16" height="16" /></a> ';
		if(!gid("playlist_delete") || gid("playlist_delete").value != "disable") {
			list+='<li id="'+ti[2]+'" class="odd_row">'+'<div class="link_play"><a href="javascript:return false;" title=\"'+ti[0]+'\"><cite class="row1">'+ti[0]+'</cite></a></div>'+'<cite class="row2">'+detail_link+'<a href="#" title="Xóa khỏi playlist" class="del"><img src="/common/v1/playlist/del.gif" width="16" height="16" /></a></cite>'+'<div class="kiem_tra_ton_tai" style="display:none">'+ti[1]+'</div>'+'</li>';
		}
		else {
			list+='<li id="'+ti[2]+'" class="odd_row">'+'<div class="link_play"><a href="javascript:return false;" title=\"'+ti[0]+'\"><cite class="row1">'+ti[0]+'</cite></a></div>'+'<cite class="row2">'+detail_link+'</cite>'+'<div class="kiem_tra_ton_tai" style="display:none">'+ti[1]+'</div>'+'</li>';
		}
    }
    gid("danh_sach_song").innerHTML=list;
    clickPlay();
	if(!gid("playlist_delete") || gid("playlist_delete").value != "disable") {
	    deleteItem();
	}
    
	//thuc hien luu arr id  vao cookie.
	if(!gid("playlist_disable_cookie"))
		updateCookie(len);
 }

//gan su kien play one item
function addEventPlayJust(id,url_song,url_img,title_song,flag){
	if(kiemTra(url_song)<0){
		url_img = url_img.replace('/normal/', '/original/');
		addItem('jstest3',{tags:id,file:url_song,image:url_img,title:title_song});
		getTitle();
		hilightCurrentItem(current_song);
	} 
		  
	if(flag) {
		sendEvent('jstest3','ITEM',kiemTra(url_song));
	}
	
	return true;      
}

function addEventPlayJust2(id,url_song,url_img,title_song,article_link,flag){
	if(kiemTra(url_song)<0){
		url_img = url_img.replace('/normal/', '/original/');
		addItem('jstest3',{tags:id,file:url_song,image:url_img,title:title_song,link:article_link});
		getTitle();
		hilightCurrentItem(current_song);		
	} 
		  
	if(flag && playlist.length > 1) {
		sendEvent('jstest3','ITEM',kiemTra(url_song));
	}
		
	return true;      
}

function addEventPlayJust3(id,url_video,url_img,title_video,streamer,flag,reload){
	if(kiemTra(url_video)<0){
		url_img = url_img.replace('/normal/', '/original/');
		addItem2('jstest3',{tags:id,file:url_video,image:url_img,title:title_video,streamer:streamer},reload);
		getTitle();
		hilightCurrentItem(current_song);		
	} 
		  
	if(flag) {
		sendEvent('jstest3','ITEM',kiemTra(url_song));
	}
		
	return true;      
}

function addEventPlayJust4(id,url_video,url_img,title_video,article_link,streamer,flag,reload){
	if(kiemTra(url_video)<0){
		url_img = url_img.replace('/normal/', '/original/');
		addItem2('jstest3',{tags:id,file:url_video,image:url_img,title:title_video,streamer:streamer,link:article_link},reload);
		getTitle();
		hilightCurrentItem(current_song);		
	} 
		  
	if(flag) {
		sendEvent('jstest3','ITEM',kiemTra(url_song));
	}
		
	return true;      
}

//----------------------------------
//xoa toan bo playlist dang choi
function deleteAll(){
 var All=gid("deleteAll");
 if(!All) {return;}
 All.onclick=function()
 {
	 if(confirm("Bạn có muốn xóa hết các bài hát trong giỏ?")){
		 // Delete article link from cookie
		 var d = new Date();

		 var empty = {tags:"",file:"nothing.mp3",image:"",title:""};
		 reloadFile(empty);
		 playlist = new Array();
		 playlist[0] = {tags:"",file:"nothing.mp3",image:"",title:""};

		 getElementsByClassName("danhsach_baihat")[0].innerHTML="";
		 if(!gid("playlist_disable_cookie")) {
			 document.cookie = "playlist_ids"+ "=" + escape("") + "; expires=Fri, 31 Dec 2099 23:59:59 GMT;";
			 document.cookie = "playlist_titles"+ "=" + escape("") + "; expires=Fri, 31 Dec 2099 23:59:59 GMT;";
			 document.cookie = "playlist_images"+ "=" + escape("") + "; expires=Fri, 31 Dec 2099 23:59:59 GMT;";
			 document.cookie = "playlist_locations"+ "=" + escape("") + "; expires=Fri, 31 Dec 2099 23:59:59 GMT;";
			 document.cookie = "playlist_links"+ "=" + escape("") + "; expires=Fri, 31 Dec 2099 23:59:59 GMT;";
		 }
		 return false;
	 }
	 return false;
 };
 return false;
}

function clearList() {
	// Delete article link from cookie
	 var d = new Date();

	 var empty = {tags:"",file:"nothing.mp3",image:"",title:""};
	 reloadFile(empty);
	 playlist = new Array();
	 playlist[0] = {tags:"",file:"nothing.mp3",image:"",title:""};

	 getElementsByClassName("danhsach_baihat")[0].innerHTML="";
	 if(!gid("playlist_disable_cookie")) {
		 document.cookie = "playlist_ids"+ "=" + escape("") + "; expires=Fri, 31 Dec 2099 23:59:59 GMT;";
		 document.cookie = "playlist_titles"+ "=" + escape("") + "; expires=Fri, 31 Dec 2099 23:59:59 GMT;";
		 document.cookie = "playlist_images"+ "=" + escape("") + "; expires=Fri, 31 Dec 2099 23:59:59 GMT;";
		 document.cookie = "playlist_locations"+ "=" + escape("") + "; expires=Fri, 31 Dec 2099 23:59:59 GMT;";
		 document.cookie = "playlist_links"+ "=" + escape("") + "; expires=Fri, 31 Dec 2099 23:59:59 GMT;";
	 }
}

if(!gid("playlist_delete_all") || gid("playlist_delete_all").value != "disable") {
	deleteAll();
}

function onPageUnload() {
	if(!gid("playlist_disable_cookie"))
		document.cookie = "playlist_current_song"+ "=" + current_song + "; expires=Fri, 31 Dec 2099 23:59:59 GMT;";
}
window.onunload = onPageUnload;