﻿//********************************************************************************
//** 插件功能:		多彩Tags
//********************************************************************************

var rgbStart="#FF5129";		//起始色(即使用次数最少的Tag的颜色), 用户自定义
var rgbEnd="#FF0000";		//结束色(即使用次数最多的Tag的颜色), 用户自定义
var rgb=new Array();

function ColorTags()
{
	var TagsHtml='';
	var reg,patt,m;
	var max=0;
	var min=10000;

	if(!document.getElementById("blogfrm"))
		return;
	TagsHtml=document.getElementById("blogfrm").innerHTML;

	patt="<a title='[0-9]+' alt='([0-9]+)'.*?>";
	patt="<a.*?alt=\"([0-9]+)\".*?>";
	reg = new RegExp(patt,"igm");  // 创建正则表达式对象。
	while ((m = reg.exec(TagsHtml)) != null)
	{
		if(parseInt(RegExp.$1)>max)
			max=parseInt(RegExp.$1);
		if(parseInt(RegExp.$1)<min)
			min=parseInt(RegExp.$1);
	}
	GetRGB(max - min);

	for(i=min; i<=max; i++)
	{
		patt="(<a.*?alt=\")" + i + "(\".*?>)";
		reg = new RegExp(patt,"igm");  // 创建正则表达式对象。
		TagsHtml=TagsHtml.replace(reg,"$1" + i + "\" style=\"color:" + rgb[i-min] + ";$2");
	}
	document.getElementById("blogfrm").innerHTML = TagsHtml;
}

function GetRGB(diff)
{
	var r,g,b,rd,gd,bd;
	r = parseInt(rgbStart.substr(1,2),16);
	g = parseInt(rgbStart.substr(3,2),16);
	b = parseInt(rgbStart.substr(5,2),16);
	rd = (parseInt(rgbEnd.substr(1,2),16) - r)/diff;
	gd = (parseInt(rgbEnd.substr(3,2),16) - g)/diff;
	bd = (parseInt(rgbEnd.substr(5,2),16) - b)/diff;
	for(i=0; i<=diff; i++)
	{
		rgb[i] = "#";
		rgb[i] = "#" + GetHex(parseInt(r+rd*i).toString(16)) + GetHex(parseInt(g+gd*i).toString(16)) + GetHex(parseInt(b+bd*i).toString(16));
	}
}

function GetHex(str)
{
	if(str.length<2)
		str="0" + str;
	else if(str.length>2)
		str="ff";
	return str;
}
ColorTags();
