﻿//****************************************************
//       FWG visited history module
//
//****************************************************

var fwg_curPage=0;
var fwg_totalPages=0;
var fwg_history_maxCount=11;
var fwg_EPCounts=6;    //每页显示数据的个数
var title_len=18;
var fwg_curTab="R";
var arrRecent=[];
var arrFavorite=[];
var sortType;
//*****************************************************
//                     标签切换
//****************************************************
//DeleteCookie("HistoryF");
//DeleteCookie("HistoryR");
Init_Sort_and_Tab();
//初始化面板
function Init_Sort_and_Tab(){
	if(!getCookie("sortType")){
		setCookie("sortType","TIME",365);
	}else{
		sortType=getCookie("sortType");	
	}
	if(sortType=="TIME"){
	    document.getElementById("sort_info").className="sort_az_off";
	}else if(sortType=="AZ"){
	    document.getElementById("sort_info").className="sort_az_on";
	}
	//to display last tab
	if(!getCookie("curTab")){
		fwg_curTab="R";
		setCookie("curTab","R",365);
	}else{
		fwg_curTab=getCookie("curTab");	
	}
	var tabList = document.getElementById("myTab0").getElementsByTagName("li");
	var tabObj=document.getElementById("myTab0");
	fwg_curPage=0;
	if(fwg_curTab=="F"){
		tabList.item(1).className="active";
		tabList.item(0).className="normal";
		setCookie("curTab","F",365);
		document.getElementById("myFavorite").innerHTML="loading...";
		document.getElementById("myTab0_Content1").style.display = "block";
		document.getElementById("myTab0_Content0").style.display = "none";
	}else{
		tabList.item(0).className="active";
		tabList.item(1).className="normal";
		setCookie("curTab","R",365);
		document.getElementById("myRecent").innerHTML="loading...";
		document.getElementById("myTab0_Content0").style.display = "block";
		document.getElementById("myTab0_Content1").style.display = "none";
	}
	DisplayHistory();
}

//
function ChangeSortType(){
	if(sortType=="TIME"){
		setCookie("sortType","AZ",365);
		sortType="AZ";
	    document.getElementById("sort_info").className="sort_az_on";
	}else{
		setCookie("sortType","TIME",365);
		sortType="TIME";
		document.getElementById("sort_info").className="sort_az_off";
 	}
	DisplayHistory();
}


function nTabs(thisObj,Num) {
	if (thisObj.className == "active") {
		return;
	}
	var tabObj = thisObj.parentNode.id;
	var tabList = document.getElementById(tabObj).getElementsByTagName("li");
	for (i=0; i <tabList.length; i++) {
		if (i == Num) {
			thisObj.className = "active";
			fwg_curPage=0;
			if(Num==1){
				fwg_curTab="F";	
				setCookie("curTab","F",365);
			 	document.getElementById("myFavorite").innerHTML="loading...";
			}else{
				fwg_curTab="R";	
				setCookie("curTab","R",365);
			 	document.getElementById("myRecent").innerHTML="loading...";
			}
			document.getElementById(tabObj+"_Content"+i).style.display = "block";
		} else {
			tabList[i].className = "normal";
			document.getElementById(tabObj+"_Content"+i).style.display = "none";
		}
	}
	DisplayHistory();
}



//下一页
function ShowNextPage(){
	if(fwg_curPage+1<fwg_totalPages){
		fwg_curPage+=1;
	}
	DisplayHistory();
}
//前一页
function ShowPrevPage(){
	if(fwg_curPage-1>=0){
		fwg_curPage-=1;
	}
	DisplayHistory();
}

/*
 confirm to delete selected record
*/
function DeleteConfirm(obj,id) {
	var cookieStr,list,tmpArr,gtitle,gurl,gtime,i,tmpStr;
	cookieStr=getCookie("History"+fwg_curTab);
	list=cookieStr.split("$");
	list.pop();
	tmpArr=[];
	for (i in list) {
		gtitle=list[i].split("{#}")[0];
		gurl=list[i].split("{#}")[1];
		gtime=list[i].split("{#}")[2];
		tmpArr.push([gtitle,gurl,gtime]);
	}
	switch (getCookie("sortType")) {
		case "TIME" :
			tmpArr.sort(function (x,y){ return y[2]-x[2];});
			break;
		case "AZ" :
			tmpArr.sort(function(x, y){  return x[0].localeCompare(y[0]);});
			break;
	}
	if (tmpArr[id]) {
		tmpStr=tmpArr[id][0]+"{#}"+tmpArr[id][1]+"{#}"+tmpArr[id][2]+"$";
		cookieStr=cookieStr.replace(tmpStr,"");
	}
	setCookie("History"+fwg_curTab,cookieStr,365);
	//alert("you just delete "+tmpStr);
	DisplayHistory();
}

function FreshFavBtn(gtitle,gurl){
	var list=getCookie("HistoryF").split("$");
	var stitle,surl,sdate;
	for(var i=0;i<list.length;i++){
		stitle=String(list[i]).split("{#}")[0];
		surl=String(list[i]).split("{#}")[1];
		sdate=String(list[i]).split("{#}")[2];
	    if(stitle==gtitle && surl==gurl){
		   return true;   
	   }	
	}
	return false;
}
function getCurDelItem(id){
	var list,i,gtitle,gurl,gtime,str2del;
	var curDelStr="";
	list=Load_History("F");
	for(i in list){
		gtitle=list[i][0];	
		gurl=list[i][1];	
		gtime=list[i][2];	
		if(i==id){
			curDelStr=gtitle+"#"+gurl+"#"+gtime;
		}
		break;
	}
	return curDelStr;
}

//display record
function DisplayHistory() {
	list=Load_History(fwg_curTab);
	var start,end,i,singleStr,gtitle,gurl,gdate,finalStr;
	fwg_totalPages=Math.ceil(list.length/fwg_EPCounts);
	start=fwg_curPage*fwg_EPCounts;
	end=(fwg_curPage+1)*fwg_EPCounts;
	end=end>list.length? list.length:end;
	fwg_totalPages=fwg_totalPages<=0 ? 1: fwg_totalPages;
	document.getElementById("page_info").innerHTML=String(fwg_curPage+1)+"/"+fwg_totalPages;
	document.getElementById("myFavorite").innerHTML="";
	document.getElementById("myRecent").innerHTML="";
	//alert("start="+start+" end="+end);
	finalStr='';
	for (i=start; i<end; i++) {
		gtitle=list[i][0];
		gurl=list[i][1];
		gdate=list[i][2];
		finalStr+='<div class="singleGameItem"><div id=gItem'+i+' class=gameItem_normal  title="'+gtitle+'" onMouseOver=SingleItemEffect("OVER",'+i+') onMouseOut=SingleItemEffect("OUT",'+i+') onClick=DirectToGame("'+i+'") >'+cutStr(gtitle,title_len)+'</div>';
		finalStr+='<div id="gdel_'+i+'" class="del_hide" onMouseOver=SingleItemEffect("OVER",'+i+') title="Delete" onMouseOut=SingleItemEffect("OUT",'+i+') onClick=DeleteConfirm(this,"'+i+'") ></div></div>';
		document.getElementById("myFavorite").innerHTML+=finalStr;
	}
	if (finalStr=="") {
		if (fwg_curTab=="R") {
			finalStr="<div style='margin-top:85px; text-align:center'>No saved recents! Start playing some games!</div>";
		} else {
			finalStr="<div style='margin-top:85px; text-align:center'>No saved game favorites!</div>";
		}
	}
	if (fwg_curTab=="R") {
		document.getElementById("myRecent").innerHTML=finalStr;
	} else {
		document.getElementById("myFavorite").innerHTML=finalStr;
	}
}

function cutStr(_str,len) {
	var finalStr="";
	if (_str.length<=len) {
		finalStr=_str;
	} else {
		finalStr=_str.substr(0,len)+"...";
	}
	return finalStr;
}

function DirectToGame(id){
	type=fwg_curTab;
	var list,i,gtitle,gurl,gtime;
	list=Load_History(type);
	switch(getCookie("sortType")){
	  case "TIME":
		list.sort(function (x,y){ return y[2]-x[2];});
	  break;
	  case "AZ":
	    list.sort(function(x, y){  return x[0].localeCompare(y[0]);});
	  break;	
	}

	if(list[id]){
		gurl=list[id][1];
		if(this.parent.document.getElementById("fwg_btn_fav")){
			  parent.location.href=gurl;
 			}else{
			 window.location.href=gurl;
		}

	}else{
		alert("Error");
	}
 }


function SingleItemEffect(status,id){
	//alert(document.getElementById("gItemF_"+id).innerHTML);
	switch(status){
	   case "OVER":
			document.getElementById("gItem"+id).className="gameItem_over";
			document.getElementById("gdel_"+id).innerHTML="x";
			document.getElementById("gdel_"+id).className="del_show";
			
	   break;
	   case "OUT":
			document.getElementById("gItem"+id).className="gameItem_normal";
			document.getElementById("gdel_"+id).className="del_hide";
			document.getElementById("gdel_"+id).innerHTML="";
	   break;	
	}
}


function ClearList(){
	var popType=fwg_curTab=="R"? "RECENTS" : "FAVORITES";
    var cbox=window.confirm("Delete all "+popType+" ?");
	if(cbox){
		if(fwg_curTab=="R"){
			setCookie("HistoryR","",365);
		}else{
			setCookie("HistoryF","",365);
			setCookie("HistoryF1","",365);
		}
	  DisplayHistory();
    }
	

}




