﻿// JScript ファイル

var mediaPlayer;
$(document).ready(function() {
	mediaPlayer = new $("#mediaPlayer").flexplayer({
		swfPath : "./js/flexplayer.swf",
		bgcolor: "#F28E04",
		onProgress : function(bytesLoaded, bytesTotal, playedTime, totalTime){
			if ($("#mediaPlayer").data("seekFlag")) return;
			$("#mediaPlayer_box .info").text(millisec2str(playedTime)+" / "+millisec2str(totalTime));
			var obj = $("#mediaPlayer_box .player_status");
			$("#mediaPlayer_box .seekbar").css("width", 250*(playedTime/totalTime)+"px");
			var w = 250*(bytesLoaded/bytesTotal);
			if (w<=250) $("#mediaPlayer_box .progressbar").css("width", w+"px");
			else $("#mediaPlayer_box .progressbar").css("width", "250px");
		}
	});
});

function millisec2str(millisec){
	var min = Math.floor((millisec/1000)/60);
	var sec = Math.floor((millisec/1000)-(min*60));
	if (min<=0) min = "00";
	else if (min<10) min = "0"+min;
	if (sec<=0) sec = "00";
	else if (sec<10) sec = "0"+sec;
	return min+":"+sec;
}
function playPrev(playObj, listObj, playBtnObj, pauseBtnObj){
	listObj.each(function(i){
		if ($(this).hasClass("selected")) {
			$(this).removeClass("selected");
			if (0 >= i) listObj.eq(listObj.length-1).addClass("selected");
			else listObj.eq(--i).addClass("selected");
			playStart(playObj, listObj, playBtnObj, pauseBtnObj, true);
			return false;
		}
	});
}
function playNext(playObj, listObj, playBtnObj, pauseBtnObj){
	listObj.each(function(i){
		if ($(this).hasClass("selected")) {
			$(this).removeClass("selected");
			if (listObj.length-1 <= i) listObj.eq(0).addClass("selected");
			else listObj.eq(++i).addClass("selected");
			playStart(playObj, listObj, playBtnObj, pauseBtnObj, true);
			return false;
		}
	});
}
function playStart(playObj, listObj, playBtnObj, pauseBtnObj, changeFlag){
	if (playObj.playedTime() > 0 && !changeFlag) {
		playObj.resume();
		playBtnObj.hide();
		pauseBtnObj.show();
	}
	else listObj.each(function(){
		if ($(this).hasClass("selected")) {
			playObj.play({ path: $(this).attr("name") });
			playBtnObj.hide();
			pauseBtnObj.show();
			return false;
		}
	});
}
function selectMedia(mediaObj, playObj, listObj, playBtnObj, pauseBtnObj){
	
	listObj.each(function(){
		$(this).removeClass("selected")
		if (mediaObj.attr("name")==$(this).attr("name")) $(this).addClass("selected");
	});
	playPause(playObj, $('#mediaPlayer_box a.player_play'), $('#mediaPlayer_box a.player_pause'));
	playPause(playObj, $('#mediaPlayer_box a.player_play2'), $('#mediaPlayer_box a.player_pause2'));
	playPause(playObj, $('#mediaPlayer_box a.player_play3'), $('#mediaPlayer_box a.player_pause3'));
	playStart(playObj, listObj, playBtnObj, pauseBtnObj, true);
	
}
function playStop(playObj, playBtnObj, pauseBtnObj, seekValObj, seekInfoObj){
	playObj.stop();
	seekValObj.css("width", "0px");
	seekInfoObj.text("00:00 / "+millisec2str(playObj.totalTime()));
	pauseBtnObj.hide();
	playBtnObj.show();
}
function playPause(playObj, playBtnObj, pauseBtnObj){
	playObj.pause();
	pauseBtnObj.hide();
	playBtnObj.show();
}
function volumeMute(playObj, vlmObj, vlmMuteObj){
	if (vlmObj.hasClass("mute")) {
		vlmObj.removeClass("mute");
		playObj.volume(playObj.data("volumeTmp"));
		vlmMuteObj.hide();
		vlmObj.show();
	}
	else {
		vlmObj.addClass("mute");
		playObj.data("volumeTmp", playObj.volume());
		playObj.volume(0);
		vlmObj.hide();
		vlmMuteObj.show();
	}
}
function seekOvserve(event, playObj, valObj, infoObj){
	var diff = (event.clientX - valObj.offset().left);
	if (0<=diff && diff<=250) valObj.css("width", diff);
	var restartFlag = false;
	if (playObj.status()=="playing") {
		playObj.pause();
		restartFlag = true;
	}
	playObj.data("seekFlag", true);
	$(document).mousemove(function(e){
		diff = (e.clientX - valObj.offset().left);
		if (0>diff) diff = 0;
		else if (diff>250) diff = 250;
		valObj.css("width", diff);
		var tt = playObj.totalTime();
		infoObj.text(millisec2str(tt*(diff/250))+" / "+millisec2str(tt));
	});
	$(document).mouseup(function(e){
		diff = (e.clientX - valObj.offset().left);
		if (0>diff) diff = 0;
		else if (diff>250) diff = 250;
		valObj.css("width", diff);
		if (diff>=250) playObj.seek(playObj.totalTime());
		else if (0>=diff) playObj.seek(0);
		else playObj.seek(playObj.totalTime()*(diff/250));
		if (restartFlag) playObj.resume();
		$(document).unbind('mousemove');
		$(document).unbind('mouseup');
		playObj.data("seekFlag", false);
	});
}
function voluemeSeekOvserve(event, playObj, valObj, vlmObj){
	if (vlmObj.hasClass("mute")) return;
	var diff = (event.clientX - valObj.offset().left);
	if (0<=diff && diff<=40) valObj.css("width", diff);
	$(document).mousemove(function(e){
		diff = (e.clientX - valObj.offset().left);
		if (0<=diff && diff<=40) valObj.css("width", diff);
	});
	$(document).mouseup(function(e){
		$(document).unbind('mousemove');
		$(document).unbind('mouseup');
		var val = (((valObj.css("width")).slice(0,-2)-0)/40)*100;
		playObj.volume(val);
		playObj.data("volumeVal", val);
	});
}
