function changer(x, userid, userclass){
	if(x.href.match(new RegExp("action=profile;u="+userid+"$","gi"))){
		x.className = userclass;
	}
}

function checklinks(){
	var a = document.getElementsByTagName('a');
	for(i=33;i<a.length;i++){
		changer(a[i], 1, 'group1 shop_italic shop_underline');
		changer(a[i], 2, 'group1');
		changer(a[i], 15, 'group2');
		changer(a[i], 25, 'group2');
		changer(a[i], 35, 'group3');
		changer(a[i], 103, 'group3');
		changer(a[i], 10, 'group4');
		changer(a[i], 13, 'group4');
		changer(a[i], 18, 'shop_italic');
		changer(a[i], 192, 'shop_bold von');
		changer(a[i], 46, 'neversoft');
	}
}

function userLegend(rank, color){ document.getElementById('userL').innerHTML = '<span style="color: #'+color+';">'+rank+'</span>'; }
function removeLegend(){ document.getElementById('userL').innerHTML = '<br />'; }

function legeeeend(){
var tehRanks = [
   ['Administrator','FF9076'],
   ['Guru Moderator','C384D2'],
   ['Moderator','C2F295'],
   ['TPK Staff','4C77AF'],
   ['Member','6FA9FF']
];

//no need to edit anymore
var x = '<div align="right" id="userL" class="smalltext"><br /></div><div style="width: auto;" class="smalltext"><table width="auto" cellspacing="0" cellpadding="1" style="display: inline;"><tr><td style="padding-right: 5px;"><span style="color: white;"><b>User Legend:</b></span></td>';

for(t=0;t<tehRanks.length;t++){
   x += '<td><div style="width: 12px; height: 12px; border: 1px solid #000000; float: left; background-color: #'+tehRanks[t][1]+';" onmouseover="userLegend(\''+tehRanks[t][0]+'\', \''+tehRanks[t][1]+'\');" onmouseout="removeLegend()"></div></td>';
}

x += '</tr></table></div>';

if(document.getElementById('userlegend')){
document.getElementById('userlegend').innerHTML = x;
}
}

// Add a fix for code stuff?
if ((is_ie && !is_ie4) || is_safari || is_ff)
	add_load_event(smf_codeBoxFix);

// The purpose of this code is to fix the height of overflow: auto div blocks, because IE can't figure it out for itself.
function smf_codeBoxFix()
{
	var codeFix = document.getElementsByTagName("code");
	for (var i = codeFix.length - 1; i >= 0; i--)
	{
		if (is_safari && codeFix[i].offsetHeight < 20)
			codeFix[i].style.height = (codeFix[i].offsetHeight + 20) + "px";

		else if (is_ff && (codeFix[i].scrollWidth > codeFix[i].clientWidth || codeFix[i].clientWidth == 0))
			codeFix[i].style.overflow = "scroll";

		else if (typeof(codeFix[i].currentStyle) != 'undefined' && codeFix[i].currentStyle.overflow == "auto" && (codeFix[i].currentStyle.height == "" || codeFix[i].currentStyle.height == "auto") && (codeFix[i].scrollWidth > codeFix[i].clientWidth || codeFix[i].clientWidth == 0) && (codeFix[i].offsetHeight != 0))
			codeFix[i].style.height = (codeFix[i].offsetHeight + 24) + "px";
	}

	// !!! Is this still needed?
	if (!is_ff)
	{
		var divFix = document.getElementsByTagName("div");
		for (var i = divFix.length - 1; i > 0; i--)
		{
			if (is_safari)
			{
				if ((divFix[i].className == "post" || divFix[i].className == "signature") && divFix[i].offsetHeight < 20)
					divFix[i].style.height = (divFix[i].offsetHeight + 20) + "px";
			}
			else
			{
				if (divFix[i].currentStyle.overflow == "auto" && (divFix[i].currentStyle.height == "" || divFix[i].currentStyle.height == "auto") && (divFix[i].scrollWidth > divFix[i].clientWidth || divFix[i].clientWidth == 0) && (divFix[i].offsetHeight != 0 || divFix[i].className == "code"))
					divFix[i].style.height = (divFix[i].offsetHeight + 24) + "px";
			}
		}
	}
}

function smf_addButton(sButtonStripId, bUseImage, oOptions)
{
	var oButtonStrip = document.getElementById(sButtonStripId);
	var aItems = oButtonStrip.getElementsByTagName('span');

	// Remove the 'last' class from the last item.
	var oLastSpan = aItems[aItems.length - 1];
	oLastSpan.className = oLastSpan.className.replace(/\s*last/, '');

	// Add the button.
	var oButtonStripList = oButtonStrip.getElementsByTagName('ul')[0];
	var oNewButton = document.createElement('li');
	setInnerHTML(oNewButton, '<a href="' + oOptions.sUrl + '" ' + (typeof(oOptions.sCustom) == 'string' ? oOptions.sCustom : '') + '><span class="last"' + (typeof(oOptions.sId) == 'string' ? ' id="' + oOptions.sId + '"': '') + '>' + oOptions.sText + '</span></a>');

	oButtonStripList.appendChild(oNewButton);
}