// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// ブルブル！ (C) 20061123 oitake.jugem.jp
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
var brbr=
{
	// ■class属性値に「brbr」を含むa要素のみ処理する
	f:true,
	// ■タイマーの間隔（ミリ秒）
	t:25,
	// ■文字の揺れる回数+1
	n:16,
	// ■文字の揺れる幅（em）
	x:0.5,
	// ■文字の揺れる高さ（em）
	y:1.0
};
brbr.main=function()
{
	brbr.x2=brbr.x/2;
	brbr.y2=brbr.y/2;
	brbr.s=[];
	for(var i=0; i<brbr.n; i++)
	{
		brbr.s.push(Math.sin(Math.PI/2/brbr.n*i));
	}
	for(var i=0,l=document.links; i<l.length; i++)
	{
		if((!brbr.f || (brbr.f && l[i].className.match(/(?:^|\s)brbr/i))) && !l[i].innerHTML.match(/[<>]/))
		{
			if(l[i].innerText)
			{
				l[i].$t=l[i].innerText;
			}
			else if(l[i].textContent)
			{
				l[i].$t=l[i].textContent;
			}
			else
			{
				l[i].$t=l[i].innerHTML;
			}
			l[i].$h=l[i].innerHTML;
			l[i].$a=0;
			l[i].onmouseout=function()
			{
				if(!this.$a)
				{
					this.$a=brbr.n;
				}
				if(!brbr.i)
				{
					brbr.i=setInterval('brbr.timer()',brbr.t);
				}
			}
		}
	}
};
brbr.timer=function()
{
	for(var i=0,l=document.links,k=true; i<l.length; i++)
	{
		if(l[i].$a)
		{
			l[i].$a-=1;
			if(l[i].$a)
			{
				k=false;
				for(var j=0,h=''; j<l[i].$t.length; j++)
				{
					h+='<span style="position:relative;left:'+((Math.random()*brbr.x-brbr.x2)*brbr.s[l[i].$a])+'em;top:'+((Math.random()*brbr.y-brbr.y2)*brbr.s[l[i].$a])+'em;">'+l[i].$t.charAt(j)+'</span>';
				}
				l[i].innerHTML=h;
			}
			else
			{
				l[i].innerHTML=l[i].$h;
			}
		}
	}
	if(k)
	{
		clearInterval(brbr.i);
		brbr.i=0;
	}
};
brbr.main();
