﻿/* 调用示例
   <div id="history">loading...</div>
   <script>getViewHistory(产品id,分类id,产品名称,图片地址);</script> */
var _g_items_char="@@";
var _g_group_char="|";
function $(s){   
	return document.getElementById(s);
}
function getCookie(name){
	var search = name + "=";
	var offset = document.cookie.indexOf(search);
	if (offset != -1) {
		offset += search.length;
		var end = document.cookie.indexOf(";", offset);
		if (end == -1){
			end = document.cookie.length;
		}
		return unescape(document.cookie.substring(offset, end));
	}else {
		return "";
	}
} 
function setCookie(name,value,hours){
	if(arguments.length>2){
		var expireDate=new Date(new Date().getTime()+hours*3600000);
		document.cookie = name + "=" + escape(value) + "; path=/; expires=" + expireDate.toGMTString();
	}else{
		document.cookie = name + "=" + escape(value) + "; path=/;"; 
	}
}

function string2Array(str,splitChar){
	return str.split(splitChar);
}
function array2String(arr,joinChar){
	return arr.join(joinChar);
}

function getViewHistory(id,cid,name,pic)
{
	buildViewHistory();
	setInfo(id,cid,name,pic);

}

function buildViewHistory(){	
    var items=getInfo();
    var item=null;
    var sHtml="",tmp="";
	var len = items.length;
	//alert(len);
	if(len == 1)
	{
		sHtml="";
	}
	else
	{
		sHtml = "";
		//sHtml = "<ul class=\"title\">";
		//sHtml += "	你浏览过的产品</ul><center>";
		//sHtml += "<u class=\"rightProuser\">";
		for(var i=0;i<len-1;i++)
		{
			var path = "/item/" + items[i].cid + "/" + items[i].id;
			sHtml += "<li style=\"text-align:center; padding-top:10px;\"><a href='"+path+"' target='_blank'><img src='"+items[i].pic+"' border=\"0\"/><br />";
			sHtml += "<span>"+items[i].product_name+"</a></span></li>";
		}
		
	}
	$('history').innerHTML=sHtml;
	
    function formatDate(str){
        var d = new Date(parseInt(str));
        return ((d.getMonth()+1)<10?"0"+(d.getMonth()+1):(d.getMonth()+1))+"-"+(d.getDate()<10?"0"+d.getDate():d.getDate());
    }
	
}

function latest2normal(latest){
    var item=string2Array(latest,_g_items_char); 
    return array2String(item.slice(0,4),_g_items_char);
}

function setInfo(id,cid,productName,pic){
    checkInfoFormat();
    removeExistInfo(productName);
	var latest=id==''?'':id+_g_items_char+(new Date().getTime())+_g_items_char+encodeURI(productName)+_g_items_char+cid+_g_items_char+pic;
	
    rewriteInfo(latest);
}

function writeInfo(str){
	setCookie('view_histroy',str,720);
}
function readInfo(){
    return getCookie("view_histroy");
    /*checkKankanVersion(g_version,83)/pplayer.Getinfo()*/
}
function rewriteInfo(newInfo){
    var oldInfo = readInfo();
	
    var group = string2Array(oldInfo,_g_group_char);
	
    var size = group.length;

    group.unshift(newInfo);
    //""==group[1]?group.pop():group[1]=latest2normal(group[1]);
	//alert(array2String(group.slice(0,4),_g_group_char));
    writeInfo(array2String(group.slice(0,4),_g_group_char));
}
function checkInfoFormat(){
    var info = readInfo();
    var group = string2Array(info,_g_group_char);
    var items = [];
    if(group.length > 0){
        items = string2Array(group[0],_g_items_char);
        if(items.length < 5){
            writeInfo("");
        }
    }
}
function removeExistInfo(movieName){
    var info = readInfo();
    var group = string2Array(info,_g_group_char);
    for(var i=group.length-1;i>=0;i--){
        if(decodeURI(group[i]).indexOf(movieName) != -1){
            group.splice(i,1);
        }
    }
    writeInfo(array2String(group,_g_group_char));
}

function formatInfo(info){
    var items=string2Array(info,_g_items_char);
    var size=items.length;
   
    return {id:items[0],time:items[1],product_name:decodeURI(items[2]),cid:items[3],pic:items[4]};

}
function getInfo(){
    checkInfoFormat();
    var info = readInfo();
    var group = string2Array(info,_g_group_char);

    var size = group.length;
    var tmp = [];
    for(var i=0;i<size;i++){
        tmp.push(formatInfo(group[i]));
    }
    return tmp;
}
function getLatestInfo(){
    var group = getInfo();
    if(group.length>0){
        return group[0];
    }else{
        return null;    
    }
}
