﻿var OffSet = 0;
var delayTime = 0;
var arrTime = new Array();
var arrTxt = new Array();
var cidx = 0;
var sid = null;

function initLRC(str){
	cidx = 0;
	var html = '<div class="title">';
	if(/\[offset\:(\-?\d+)\]/i.test(str)) //取offset余补时间
	 	OffSet = RegExp.$1/1000;
	if(/\[ti\:([^\]]*)\]\r/i.test(str))
		html += '<p>歌曲：' + RegExp.$1 + '</p>';
	if(/\[ar\:([^\]]*)\]\r/i.test(str))
		html += '<p>演唱者：' + RegExp.$1 + '</p>';
	html += '</div>';
	str = str.replace(/^\][^\r\n]\s{0,}\[/g,'][');	
	var arrLrc = new Array();
	var re = /(^\[[\d\:\.\]\[]+\])([^\r\n]*)\s*$/mg;
	var i = 0;
    while(re.test(str)){   
		var tmp = RegExp.$1; //时间轴
		var val = RegExp.$2; //歌词
		var r = /(\[[\d:\.]+\])/g;
		while(r.test(tmp)){
			arrLrc[i] = RegExp.$1 + val;
			i++;
		}
    }
	arrLrc.sort();
	for(i=0;i<arrLrc.length;i++){
		r = /\[([\d:\.]+)\]([^\r]*)\s*/g;
		if(r.test(arrLrc[i])){
			var time = RegExp.$1.split(':');
			arrTime[i] = parseInt(time[0])*60 + parseFloat(time[1]);
			var txt = RegExp.$2;
			if($.trim(txt).length==0) txt= "<font color=gray>story.moocity.com</font>"; 
			arrTxt[i] = "<li id='T" + i + "' onclick='ctrLRC(" + i + ")'>" +  txt + "</li>";
		}
	}
	arrTime.length = i;	arrTxt.length = i;
	html += '<ul>' + arrTxt.join("") + '</ul>';
	$('#LRC').html(html);
	delayTime = 0;
	$('#delayTime').html('0秒');
	sid = window.setInterval('showLRC()',500);
}


function ctrLRC(i){
	cidx = i;
	var time = parseFloat(arrTime[i]);
	document.getElementById('160tPlayer').controls.currentPosition = time - OffSet + delayTime;
}

function setLrcTime(num){
	delayTime = num==0?0:parseFloat(delayTime+num);
	$('#delayTime').html((delayTime>0?'+':'')+String(delayTime)+'秒');
}

function showLRC(){
	var cT = document.getElementById("160tPlayer").controls.currentPosition ;	//当前秒
	for(var i=0;i<arrTime.length;i++){
		if(arrTime[i]>=(cT+OffSet+delayTime)){
			$('#LRC').find('li').removeClass("on");
			$('#T'+(i-1)).addClass("on");
			cidx = i;
			break;
		}
	}
	var LRC = document.getElementById('LRC');
	var Tcidx = document.getElementById('T'+cidx);
	LRC.scrollTop = LRC.offsetTop- parseInt(LRC.offsetHeight/2) + Tcidx.offsetTop + 30;	//  歌词居中
}