//variable
var player_play_position="";//播放器当前播放进度(秒数)
var allDisNumTimeCodeArray; //所有part序号array
var allDisNumArray; //所有part序号array
var currentPlayDisNum="1";//当前播放part;
var currentPlayNum="1";//当前播放序号
var mediatype="high";//音质
//standard 20110815









var applicationName = "VideoPlayer";

var flashPlayDisNum=0;//标识flash当前播放part
//test
function getAllDisNumArray(){
	//alert(allDisNumTimeCodeArray);

	for(j=1;j<=allDisNumTimeCodeArray.length-1;j++){
		alert(allDisNumTimeCodeArray[j]);
	}
	
	for(j=1;j<=allDisNumArray.length-1;j++){
		alert(allDisNumArray[j]);
	}	
	
}



//init
/**
***	加载时间数据无重复的
*** 00:00:01,00:00:02,00:00:03
*** 00:00:01,00:00:02
***/
function initDisNumTimeCodeArray(){
	
	var allDisNum=document.getElementById("partnum").value;
	
	allDisNumTimeCodeArray=new Array(allDisNum);
	var disNum=parseInt(allDisNum);	
	for(j=1;j<=disNum;j++){		
		allDisNumTimeCodeArray[j]=getAllQueuePoint(j);
		for(var a=0;a<allDisNumTimeCodeArray[j].length;a++){
  			for(var b=a+1; b<allDisNumTimeCodeArray[j].length;b++){
   				if(allDisNumTimeCodeArray[j][a]==allDisNumTimeCodeArray[j][b]){
    				allDisNumTimeCodeArray[j] = removeElement(b,allDisNumTimeCodeArray[j]);//删除指定下标的元素

    				a=0;
    				break;
   				}
  			}
 		}	
	}
	/*for(j=1;j<=allDisNumTimeCodeArray.length-1;j++){
		//alert(allDisNumTimeCodeArray[j].length)
		for(k=0;k<allDisNumTimeCodeArray[j].length;k++){
			part+=formatTime(allDisNumTimeCodeArray[j][k])+",";
		}
		part=part.substr(0,part.length-1);
		part+="|";
		//for(k=0;k<allDisNumTimeCodeArray[j].length;k++)[
			//part+=formatTime(allDisNumTimeCodeArray[j][k])+",";.
			//alert(allDisNumTimeCodeArray[j])
		//}
		//part=part.substr(0,part.length-1);
		//part+=allDisNumTimeCodeArray[j]+"|"
	}	
	part=part.substr(0,part.length-1);
	*///document.getElementById("partSwf").innerHTML=part;
}

/**
*** 加载根据时间得到顺序号

*** 1,2,3
*** 1,2
***/
function initDisNumArray(){
	
	var allDisNum=document.getElementById("partnum").value;
	
	allDisNumArray=new Array(allDisNum);
	var disNum=parseInt(allDisNum);
	var tempArray;
	var tempArray1;
	for(j=1;j<=disNum;j++){
		tempArray=getAllQueuePoint(j);
		for(var a=0; a<tempArray.length; a++){
  			for(var b=a+1; b<tempArray.length;b++){
   					if(tempArray[a]==tempArray[b]){
    					tempArray = removeElement(b,tempArray);//删除指定下标的元素
    					a=0;
    					break;
   					}
  			}
 		}
		tempArray1=new Array();
		for(z=1;z<=tempArray.length;z++){
			tempArray1.push(z);			
		}
		allDisNumArray[j]=tempArray1;			
	}	
}

//function


function onStartPlay(){			

	
	var swf = document.getElementById( applicationName );	
	swf.onStartPlay();		


	//changeMediaPlayerType(mediatype); 

}

function getAuthenticating(){
	var swf = document.getElementById( applicationName );	
	return swf.getAuthenticating();		
}

function seekTo(seconds){			
	var swf = document.getElementById( applicationName );	
	swf.seekTo(seconds);					
}

function changeMediaPlayerType(mt){	
	
	toToPlayChapter(currentPlayDisNum,mt,player_play_position);
	mediatype=mt;
	
}

//flash调用next
function goToNextChapter() {
	getWillChapter("next");
}

//flash调用Previous
function goToPreviousChapter(){
	getWillChapter("previous");
}

function onPlayComplete(){
	var allPart=document.getElementById("partnum").value;
	
	var allPartInt=parseInt(allPart);	
	var currentPlayDisNumInt=parseInt(currentPlayDisNum);
	if (currentPlayDisNumInt+1<=allPartInt)
	{
		
		toToPlayChapter(currentPlayDisNumInt+1,mediatype,0);
		currentPlayDisNum=currentPlayDisNumInt+1;
	}
	
}

function getWillChapter(type){	
	
	//alert(allDisNumTimeCodeArray.toString());
	var checkCurrentPlayNum="";
	var currentPlayTime="";//当前点击的播放时间
	var nextPlayTime="";//下一首播放的时间
	if(type=="next"){
		//下一首
		//alert("next");
		if(parseInt(currentPlayNum)<=allDisNumArray[currentPlayDisNum].length){	
			//alert("dddd="+currentPlayNum);		
			checkCurrentPlayNum=parseInt(currentPlayNum)+1;
			//改变当前
			if(parseInt(currentPlayNum)>=allDisNumArray[currentPlayDisNum].length){
				currentPlayDisNum++;
				currentPlayNum=1;
				checkCurrentPlayNum=currentPlayNum;
			}else{
				currentPlayNum++;				
			}
		}
		if(currentPlayDisNum>=allDisNumArray.length){
			currentPlayDisNum=1;
		}
	}else{
		//上一首		
		if(parseInt(currentPlayNum)-1>=0){			
			checkCurrentPlayNum=parseInt(currentPlayNum)-1;
			//改变当前
			if(parseInt(currentPlayNum)-1<=0){	
				currentPlayDisNum--;
				if(currentPlayDisNum<=0){
					currentPlayDisNum=allDisNumArray.length-1;
				}
				currentPlayNum=allDisNumArray[currentPlayDisNum].length;
				checkCurrentPlayNum=currentPlayNum;
			}else{
				currentPlayNum--;				
			}
		}	
	}
	//alert("3="+checkCurrentPlayNum);
	//alert(currentPlayDisNum+"|"+checkCurrentPlayNum);
	var valu="swf|"+allDisNumTimeCodeArray[currentPlayDisNum][parseInt(checkCurrentPlayNum)-1]+"|"+currentPlayDisNum;
	//alert(valu);
	//var valu="swf|"+checkTime+"|"+disNum;
	//开始播放

	//changeMedia(currentPlayDisNum,mediatype,formatTime(allDisNumTimeCodeArray[currentPlayDisNum][parseInt(checkCurrentPlayNum)-1]));
	//HTML图片
	//show_viewByJs(valu);	
	
	currentPlayTime=allDisNumTimeCodeArray[currentPlayDisNum][parseInt(checkCurrentPlayNum)-1];
	toToPlayChapter(currentPlayDisNum,mediatype,formatTime(allDisNumTimeCodeArray[currentPlayDisNum][parseInt(checkCurrentPlayNum)-1]));
}

function toToPlayChapter(disNum,mt,playTime){	
	debug(disNum+"!!!"+mt+"!!!"+playTime);	
	debug(flashPlayDisNum+"!!!"+mediatype+"!!!");	
	
	getAuthenticating();
	if(disNum==flashPlayDisNum && mediatype==mt && getAuthenticating()){
		
		//快进
		//alert("快")
		 //play();					
		setTimeout("seekTo("+playTime+")", 1000);		
		//flashPlayTime=playTime;
	}else{
		//换文件
		//alert("换")
		flashPlayDisNum=disNum;
		var swf = document.getElementById( applicationName );	
		swf.changeMedia(disNum,mt,playTime);
		
		//play();
		//setTimeout("seekTo("+playTime+")", 1000);	
		//setTimeout(play, 1000);	
		//setTimeout("seekTo("+playTime+")", 5000);			
		//seekTest(playTime);
		
		//setTimeout(play, 1000);	
		//
	}
	mediatype=mt;
	
}

/***
*
*val格式tr id="0|00:00:00|1" ${number}|${v.timecode}|${partList.key}
***/
function play_time(val){	
	var valueV=val.id;
	var array=valueV.split("|");
	var disNum=array[2];
	var timeCode=array[1];
	var checkCurrentPlayNum;
	//var imgtxt = "<img id=\"playing\" src=\"/images/playing.png\"/>";
	
	//播放
	for(i=0;i<allDisNumTimeCodeArray[disNum].length;i++){
		if(allDisNumTimeCodeArray[disNum][i]==timeCode){
			checkCurrentPlayNum=i;
			break;
		}
	}
	currentPlayDisNum=array[2];
	currentPlayNum=checkCurrentPlayNum+1;
	currentPlayTime=timeCode;	
	toToPlayChapter(array[2],mediatype,formatTime(array[1]))
}

function getAllQueuePoint(disNum){	
		var arrayList=new Array;	
		var tname="table"+disNum;		
		var table=document.getElementById(tname);		
		var tr=table.getElementsByTagName("tr");
		for (i=0;i<tr.length;i++){			
			var td = tr[i].getElementsByTagName("td")[0];
			var valueV=td.id;
			if(valueV!=""){
				arrayList.push(valueV.split("|")[0]);	
			}
		}
	return 	arrayList;	
} 





//播放器调用显示播放条目
function showPlayPostion(postion){
	player_play_position=postion;
	var html_time=formatTimeToStr(postion);
	var current_html_time="";
	
	//debug(allDisNumTimeCodeArray);
	for(j=allDisNumTimeCodeArray[currentPlayDisNum].length-1;j>=0;j--){
		if(formatTime(allDisNumTimeCodeArray[currentPlayDisNum][j])<=postion){
			current_html_time=allDisNumTimeCodeArray[currentPlayDisNum][j];
			break;
		}	
    }
   // debug(current_html_time);
    getCurrentPlayPostion(current_html_time);
    
    
}


function getCurrentPlayPostion(currentPlayTime){
    //设置图片 3|00:05:14|1|c
	var tdObjectW=document.getElementById(currentPlayTime+"|"+currentPlayDisNum+"|w");
	var tdObjectH=document.getElementById(currentPlayTime+"|"+currentPlayDisNum+"|h");
	var tdObjectC=document.getElementById(currentPlayTime+"|"+currentPlayDisNum+"|c");
	var obj;
	try{
		if(tdObjectW!=null){
			obj=tdObjectW;
		}
		if(tdObjectH!=null){
			obj=tdObjectH;
		}
		if(tdObjectC!=null){
			obj=tdObjectC;
		}
		
		if(obj.className!="currently_playing_show"){
			//清除图片
			debug("currently_playing_show");
			removeAllView();
			obj.className="currently_playing_show";
		}

		}catch(e){
	}
}
function removeAllView(){	
	var span=document.getElementsByTagName("span");
	for(i=0;i<span.length;i++){
		if(span[i].id.split("|").length==3){
			span[i].className="currently_playing_hidden";;
		}
	}
}

///util 
function formatTimeToStr(seconds){
   var hh;
   var mm;
   var ss;
   //传入的时间为空或小于0
   if(seconds==null||seconds<0){
       return;
   }
   //得到小时
   hh=seconds/3600|0;
   seconds=parseInt(seconds)-hh*3600;
   if(parseInt(hh)<10){
          hh="0"+hh;
   }
   //得到分

   mm=seconds/60|0;
   //得到秒

   ss=parseInt(seconds)-mm*60;
   if(parseInt(mm)<10){
         mm="0"+mm;    
   }
   if(ss<10){
       ss="0"+ss;      
   }
   return hh+":"+mm+":"+ss;	
}
Date.prototype.format = function(format) {   
   var o = {   
        "M+" :this.getMonth() + 1, // month   
        "d+" :this.getDate(), // day   
        "h+" :this.getHours(), // hour   
        "m+" :this.getMinutes(), // minute   
        "s+" :this.getSeconds(), // second   
        "q+" :Math.floor((this.getMonth() + 3) / 3), // quarter   
        "S" :this.getMilliseconds()     
    } 
    if (/(y+)/.test(format)) {   
        format = format.replace(RegExp.$1, (this.getFullYear() + "")   
                .substr(4 - RegExp.$1.length));   
   }  
    for ( var k in o) {   
        if (new RegExp("(" + k + ")").test(format)) {   
            format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k]   
                   : ("00" + o[k]).substr(("" + o[k]).length));   
        }   
    }   
    return format;   
}  
//
function debug(string, replace_mode) {
  /*var obj = document.getElementById('debug');
  obj.style.position = 'absolute';
  obj.style.zIndex = '2000';
  obj.style.width = '100%';
  obj.style.height = '150px';
  obj.style.overflow = 'auto';
  obj.style.backgroundColor = '#ffdede';
  if (replace_mode) {
    obj.innerHTML = string;
  } else {
    obj.innerHTML = obj.innerHTML + string + '<br />';
    obj.scrollTop = obj.scrollHeight;
  }*/
}

//删除Array元素
function removeElement(index,array){
 if(index>=0 && index<array.length){
  	for(var i=index; i<array.length;i++){
   		array[i] = array[i+1];
   		}
  	array.length = array.length-1;
 }
 return array;
}

function formatTime(val){
	//val="01:00:00";
	var retVal="";
	var timeArray=val.split(":");
	var hour=timeArray[0]*60*60;
	var minutes=timeArray[1]*60;
	var second=timeArray[2]-1+1;
	retVal=hour+minutes+second;
	return retVal;
}
