function GetCookieVal(offset)
{
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
	endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}
function SetCookie(name, value)
{
	var expdate = new Date();
	var argv = SetCookie.arguments;
	var argc = SetCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path = (argc > 3) ? argv[3] : null;
	var domain = (argc > 4) ? argv[4] : null;
	var secure = (argc > 5) ? argv[5] : false;
	if(expires!=null) expdate.setTime(expdate.getTime() + ( expires * 1000 ));
	document.cookie = name + "=" + escape (value) +((expires == null) ? "" : ("; expires="+ expdate.toGMTString()))
	+((path == null) ? "" : ("; path=" + path)) +((domain == null) ? "" : ("; domain=" + domain))
	+((secure == true) ? "; secure" : "");
}
function DelCookie(name)
{
	var argv = DelCookie.arguments;
	var argc = DelCookie.arguments.length;
	var path = (argc > 1) ? argv[1] : null;
	var domain = (argc > 2) ? argv[2] : null;
	var exp = new Date();
	exp.setTime (exp.getTime() - 10000);
	var cval = GetCookie (name);

	document.cookie = name + "=; expires="+ exp.toGMTString() +
							((path == null) ? "" : ("; path=" + path)) +
							((domain == null) ? "" : ("; domain=" + domain));
	
}
function GetCookie(name)
{
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen)
	{
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
		return GetCookieVal (j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break;
	}
	return null;
}
function push_url(url){
	var cookie = GetCookie('pikey_his');
	if(typeof(cookie) == 'undefined'){
		cookie = url;
	}else{
		cookie += '&' + url;
	}
	SetCookie('pikey_his',url,3600*24);
}

function HisMgr(){
	var countUrls = GetCookie('pikey_count_his');
	this.urls = new Array();
	if(countUrls != null && typeof(countUrls) != 'undefined'){
		for(var i=0; i<countUrls; i++){
			this.urls.push(new Array(GetCookie('pikey_his_' + i),GetCookie('pikey_his_title_' + i),GetCookie('pikey_his_desc_' + i)));
		}
	}
	this.max = 4;
}

HisMgr.prototype = {
	push_url : function (url,title,desc){
		this.urls.unshift(new Array(url,title,desc));
		for ( var i = 1 ; i < this.urls.length ; i++ ){
			if(this.urls[i][0] == url){
				for( var j=i; j<this.urls.length-1; j++){
					this.urls[j] = this.urls[j+1];
				}
				this.urls.pop();
				break;
			}
		}
		
		while(this.urls.length > this.max){
			this.urls.pop();
		}
		
		for(var i=0; i<this.urls.length; i++){
			SetCookie('pikey_his_' + i,(this.urls[i][0]),3600*24,'/');
			SetCookie('pikey_his_title_' + i,(this.urls[i][1]),3600*24,'/');
//			SetCookie('pikey_his_desc_' + i,(this.urls[i][2]),3600*24,'/');
		}
		SetCookie('pikey_count_his',this.urls.length,3600*24,'/');
		return this.urls.length;
	},

	clear : function(){
		var count = GetCookie('pikey_count_his');
		for(var i=0; i<count; i++){
			DelCookie('pikey_his_' + i,'/');
			DelCookie('pikey_his_title_' + i,'/');
		}
		DelCookie('pikey_count_his','/');
		while(this.urls.length > 0){
			this.urls.pop();
		}
	}
}

var hisMgr = new HisMgr();


