﻿
Vsp = {};


/*@截取字符串*/
Vsp.substr = function(str ,len){
	if (! str)
	{
		return "";
	}

	var i = 0 ,j = 0 ,nLen = (len < str.length)? len : str.length;
	while (i < nLen)
	{
		j = (str.charCodeAt(i) > 256) ?(j + 1) : (j + 2);
		i ++;
	}
	
	var ret = str.substr(0 ,j);
	if(str.replace(/[^\x00-\xff]/g,"oo").length > len * 2)
	{
		ret += "...";
	}
	
	return ret;
};


/*@用户最新搜索记录*/
Vsp.RelatedSearches = function(){
	/*数据结构*/
	this.data = [];
	
	/*最多显示条数*/
	this.maxlen = 5;
	
	/*是否需要重新转换为json*/
	this.isConvert = true;
	
	this.lang = "";
};


/*@设置数据*/
Vsp.RelatedSearches.prototype.addItem = function(title ,link){
	 if(!title || this.findSame(title))
	   return; 
	   
	this.data.push(
		{title:title ,link:link}
	);
	
	if(this.data.length > this.maxlen)
	{
		this.data.splice( 0 ,1 );
	}
	
	this.isConvert = false;
	this.updateCookie();
};

/*@查找重复*/
Vsp.RelatedSearches.prototype.findSame = function(item){
	var data = this.data;
	for(var i=0;i<data.length;i++)
	{
		if(data[i].title == item)
		{
			return true;
		}
	}
	
	return false;
}; 


/*@更新cookie*/
Vsp.RelatedSearches.prototype.updateCookie = function(){
	var data = this.parseJson();
	
	cookie.setCookie("RelatedSearchesData_001"+this.lang ,escape( data ) ,{expireHours:24*365 ,path:"/"});
};

/*@转换Json data为string*/
Vsp.RelatedSearches.prototype.parseJson = function(){
	var ret = [];
	ret.push("[");
	var data = this.data;
	for(var i=0;i<data.length;i++)
	{
		if(i != 0)
		{
			ret.push(",");
		}
		ret.push("{title:'"+ data[i].title +"' ,");
		ret.push("link:'"+ data[i].link +"'}");
	}
	ret.push("]");
	
	return ret.join("").toString();
};

/*@转换string为json*/
Vsp.RelatedSearches.prototype.parseCookie = function(){
	var ck = cookie.getCookie("RelatedSearchesData_001"+ this.lang);
	
	if(ck && ck != "")
	{
		eval("this.data="+ unescape(ck) );
	}
};	

/*@显示数据*/
Vsp.RelatedSearches.prototype.show = function(panelId){
	if(this.isConvert)
	{
		this.parseCookie();
	}
	
	var result = [];
	var data = this.data;
	
	for(var i=data.length-1;i>-1;i--)
	{
		result.push("<a class=trade2cn_org_titlelink_white href=\""+ data[i].link +"\" title=\""+ data[i].title +"\">"+ Vsp.substr(data[i].title ,4) +"</a> ");
	}
	
	
	if(document.getElementById(panelId))
	{
		if(result.join("").toString() != "")
		{
			document.getElementById(panelId).innerHTML = result.join("").toString();
		}
	}
	
	
};

Vsp.RelatedSearches.prototype.show2 = function(panelId){

    this.panelId = panelId;
	if(this.isConvert)
	{
		this.parseCookie();
	}
	
	var data = this.data;
	var result2 = [];
	result2.push("<dt>您的搜索历史</dt>");
	if(data.length > 0)
	{
		
		for(var i=data.length-1;i>-1;i--)
		{
			result2.push("<dd><a href=\""+ data[i].link +"\" title=\""+ data[i].title +"\">"+ Vsp.substr(data[i].title ,9) +"</a></dd>");
		}
		
		result2.push("<dd><input type=\"button\" value=\"清 除\" id=\"history_cleaner\" class=\"search_button\" /></dd>");
		
		
	}
    result2.push("</dl>");
    
                            
    
	if(document.getElementById(panelId))
	{
		if(result2.join("").toString() != "")
		{
			document.getElementById(panelId).innerHTML = result2.join("").toString();
		}
	}

};

Vsp.RelatedSearches.prototype.empty = function(){
    cookie.setCookie("RelatedSearchesData_001"+this.lang ,"",{expireHours:-1 ,path:"/"});
    
    var result2 = [];
	result2.push("<dt>您的搜索历史</dt>");
	result2.push("</dl>");
    document.getElementById(this.panelId).innerHTML = result2.join("").toString();    
    
};