var logid=false;
var delay=false;
var checkCourse=false;
var playTime=0;
var isStart=false;
var isConfirm=false;
//var countTimeDelay=3*60*1000;// 默认计时间隔 3分钟
var countTimeDelay=5*1000;// 默认计时间隔 3分钟
var countCourseTime=false;
var courseid=false;
var insertUrl="/study/ajax.php?act=insert";// servlet insert
var updateUrl="/study/ajax.php?act=update";// servlet update
var exitUrl="/study/ajax.php?act=exit";// servlect exit
var confirmUrl="/study/ajax.php?act=confirm";// servlet confirm
var getsessionUrl = "/study/ajax.php?act=getSession";//得到session值
var removeUrl	=	"/study/ajax.php?act=removeChooseCourse";//去除这个选课
// 得到参数
function getParameter(name)
{
	var h=location.href;
	if(h.indexOf('?')==-1)return "";
	var x=h.substring(h.indexOf('?')+1).split("&");
	for(var i=0;i<x.length;i++)
	{
		if(x[i].indexOf(name+"=")==0)
		{
			return x[i].replace(name+"=","");
		}
	}
	return "";
}
//得到操作地址
function mkUrl(url,param)
{
	//alert(url + " " + param )
	if(url.indexOf("?")!=-1)
	{
		return url+"&"+param;
	}
	return url+"?"+param;
}
//创建记时日志是否成功
function caclogid()
{
	logid=createlogid();
	return logid&&logid!="false";
}
//创建记时日志
function createlogid()
{
	return ajaxText(mkUrl(insertUrl,"courseid="+courseid));
}
//按设定的时间间隔，更新记时时间
function startCheckCourse()
{
	countCourseTime=setInterval("countCourseTimeFunction()",countTimeDelay);
	if(!isNaN(delay))
		updateCourseTime();
}
function printPlayTime()
{
	print(playTimeString());
}
function playTimeString()
{	
	var playtime	=	0;
	if(isNaN(playTime)){
		return playtime;
	}else{
		return "您已学习:"+secToTime(playTime)+"。";
	}
}
function print(msg){
	//alert(msg);
}
//更新记时时间
function updateCourseTime(){

	var ret=true;
	printPlayTime();
	
	if(!isStart){
		isStart=true;
	}else{
		var ret = logTime();//去记录更新播放日志
		var sarray = new Array();
		sarray  = ret.split(',');
		
		if(sarray[0] == '-2'){
			alert('您已在其他地方登录！');
			window.opener.location.href='/login/logout.php';
			window.close();
		}else if(sarray[0] == '-1')	{
			alert("您执行了非法操作！");
			window.close();
		}else{
			if(sarray[1] == 'W'){
				ret=window.confirm('您的学习时间已达到要求，获得学分:' + sarray[2] + '是否继续学习');
				if(!ret) {window.close();}
			}else if(sarray[1] == 'E'){
				ret=window.confirm('请根据您对本课程内容的理解，完成考核题！');
				if(ret) {
					window.opener.location.href='/study/exam.php?courseid=' + sarray[2];
					//window.close();
				}
			}else if(sarray[1] == 'S'){
				ret=window.confirm('您的学习时间已达到要求，可以提交心得。现在提交心得吗？');
				if(ret) {
					window.opener.location.href='/study/exam_summary.php?act=add&courseid=' + sarray[2];
					window.close();
				}
			}
			playTime=sarray[2];

		}

		printPlayTime();
		isConfirm=true;
		ret=window.confirm("您是否要继续学习?");
		confirmTime=confirmCourse();
		
		if(parseInt(confirmTime)>1000*60*2){//2分钟不响应，则判断超时
			window.alert("您超时了！");
			confirmCourse();
			ret=false;
		}
		if(!ret){
			window.close();
		}
	}
	if(ret)	{
		isConfirm=false;
		checkCourse=setTimeout("updateCourseTime()",parseInt(delay));
	}


}
//记下课程播放时间
function countCourseTimeFunction()
{	
	if(!isConfirm)	{
		var ret = logTime(countTimeDelay);//更新（增加）日志（播放）的时间
		var   sarray = new   Array();
		sarray  = ret.split(',');//对返回值判断做变化		//【0】是指错误提示 //如果时间到了=》【1】是指考试类型 //【2】放试卷的id或课程id //【3】放课程id //如果时间没到，就把时间放入playTime
		if(sarray[0] == '-2')		{
			alert('您已在其他地方登录！');
			//window.opener.location.href='/login/logout.php';
			//window.close();
		}else if(sarray[0] == '-1')	{
			alert("您执行了非法操作！");
			window.close();
		}else{
			if(sarray[1] == 'W'){
				ret=window.confirm('您的学习时间已达到要求，获得学分:' + sarray[2] + '是否继续学习');
				if(!ret) {window.close();}
			}else if(sarray[1] == 'E'){
				ret=window.confirm('请根据您对本课程内容的理解，完成考核题！');
				if(ret) {
					window.opener.location.href='/study/exam.php?courseid=' + sarray[2];
					window.close();
				}
			}else if(sarray[1] == 'S'){
				ret=window.confirm('您的学习时间已达到要求，可以提交心得。现在提交心得吗？');
				if(ret) {
					window.opener.location.href='/study/exam_summary.php?act=add&courseid=' + sarray[2];
					window.close();
				}
			}
			playTime=sarray[2];
		}
	}
}
//确认时间
function confirmCourse(){
	return ajaxText(mkUrl(confirmUrl,"courseid="+courseid+"&logid="+logid+"&delay="+delay));
}
//记录学习时间 
function logTime(){
	//alert("delay="+delay+"\n"+"countTimeDelay="+countTimeDelay+"\ndelay%countTimeDelay="+delay%countTimeDelay+"\narguments[0]="+arguments[0]);
	
	if(arguments.length==0)	{
		var delayTime=delay % countTimeDelay;//求余毫秒

		if(delayTime=='0'){
			delayTime=countTimeDelay;
		}
		return ajaxText(mkUrl(updateUrl,"courseid="+courseid+"&logid="+logid+"&delay="+delayTime));
	}
	
	return ajaxText(mkUrl(updateUrl,"courseid="+courseid+"&logid="+logid+"&delay="+arguments[0]));

}
//退出
function logExit(){
	return ajaxText(mkUrl(exitUrl,"courseid="+courseid+"&logid="+logid+"&delay="+delay));
}
//关闭播放窗口，并记录学习时间
function unloadCourseFrame(){
	playTime=logExit();
	//alert(playTime);
	//playTimeString();
	alert(playTimeString());

	var isChooseCourse	=	ajaxText(mkUrl(getsessionUrl,"courseid="+courseid));
	if (isChooseCourse == 1){
		ret=window.confirm('您还没有选择这个课程，是否选课');
		if(!ret) {
			ajaxText(mkUrl(removeUrl,"courseid="+courseid));
		}
	}
}
function playCourse(courseid,coursetitle,delay){
	window.open("/study/container.htm?courseid="+courseid+"&coursetitle="+coursetitle+"&delay="+delay,"k","location=0,resizable=1");
}
function secToTime(sec){
	var hour;
	var min;
	var sec;

	var leftSec;

	if(isNaN(sec) == true){
		alert("请选择一个对象！");
		return null;
	}

	hour = Math.floor(sec / 3600);
	hour = "00"+hour;
	hour = hour.substring(hour.length -2,hour.length);

	leftSec = sec % 3600;

	min = Math.floor(leftSec / 60);
	min = "00"+min;
	min = min.substring(min.length -2,min.length);

	sec = leftSec % 60;
	sec = "00"+sec;
	sec = sec.substring(sec.length -2,sec.length);

	return hour + ":" + min + ":" + sec;
}
