var rate = 20;਀瘀愀爀 漀戀樀㬀 var act = 0;਀瘀愀爀 攀氀洀䠀 㴀  㬀 var elmS = 128;਀瘀愀爀 攀氀洀嘀 㴀 ㈀㔀㔀㬀 var clrOrg;਀瘀愀爀 吀椀洀攀爀䤀䐀㬀 ਀椀昀 ⠀渀愀瘀椀最愀琀漀爀⸀愀瀀瀀一愀洀攀⸀椀渀搀攀砀伀昀⠀∀䴀椀挀爀漀猀漀昀琀∀Ⰰ ⤀ ℀㴀 ⴀ㄀ ☀☀ 瀀愀爀猀攀䤀渀琀⠀渀愀瘀椀最愀琀漀爀⸀愀瀀瀀嘀攀爀猀椀漀渀⤀ 㸀㴀 㐀⤀ 笀 Browser = true;਀紀 攀氀猀攀 笀 Browser = false;਀紀 ਀椀昀 ⠀䈀爀漀眀猀攀爀⤀ 笀 document.onmouseover = doRainbowAnchor;਀    搀漀挀甀洀攀渀琀⸀漀渀洀漀甀猀攀漀甀琀 㴀 猀琀漀瀀刀愀椀渀戀漀眀䄀渀挀栀漀爀㬀 }਀ function doRainbow()਀笀 if (Browser && act != 1) {਀        愀挀琀 㴀 ㄀㬀 obj = event.srcElement;਀        挀氀爀伀爀最 㴀 漀戀樀⸀猀琀礀氀攀⸀挀漀氀漀爀㬀 TimerID = setInterval("ChangeColor()",100);਀    紀 }਀ function stopRainbow()਀笀 if (Browser && act != 0) {਀        漀戀樀⸀猀琀礀氀攀⸀挀漀氀漀爀 㴀 挀氀爀伀爀最㬀 clearInterval(TimerID);਀        愀挀琀 㴀  㬀 }਀紀 ਀昀甀渀挀琀椀漀渀 搀漀刀愀椀渀戀漀眀䄀渀挀栀漀爀⠀⤀ {਀    椀昀 ⠀䈀爀漀眀猀攀爀 ☀☀ 愀挀琀 ℀㴀 ㄀⤀ 笀 obj = event.srcElement;਀ while (obj.tagName != 'A' && obj.tagName != 'BODY') {਀            漀戀樀 㴀 漀戀樀⸀瀀愀爀攀渀琀䔀氀攀洀攀渀琀㬀 if (obj.tagName == 'A' || obj.tagName == 'BODY')਀                戀爀攀愀欀㬀 }਀ if (obj.tagName == 'A' && obj.href != '') {਀            愀挀琀 㴀 ㄀㬀 clrOrg = obj.style.color;਀            吀椀洀攀爀䤀䐀 㴀 猀攀琀䤀渀琀攀爀瘀愀氀⠀∀䌀栀愀渀最攀䌀漀氀漀爀⠀⤀∀Ⰰ㄀  ⤀㬀 }਀    紀 }਀ function stopRainbowAnchor()਀笀 if (Browser && act != 0) {਀        椀昀 ⠀漀戀樀⸀琀愀最一愀洀攀 㴀㴀 ✀䄀✀⤀ 笀 obj.style.color = clrOrg;਀            挀氀攀愀爀䤀渀琀攀爀瘀愀氀⠀吀椀洀攀爀䤀䐀⤀㬀 act = 0;਀        紀 }਀紀 ਀昀甀渀挀琀椀漀渀 䌀栀愀渀最攀䌀漀氀漀爀⠀⤀ {਀    漀戀樀⸀猀琀礀氀攀⸀挀漀氀漀爀 㴀 洀愀欀攀䌀漀氀漀爀⠀⤀㬀 }਀ function makeColor()਀笀 ਀ऀ椀昀 ⠀攀氀洀匀 㴀㴀  ⤀ 笀 elmR = elmV; elmG = elmV; elmB = elmV;਀    紀 else {਀        琀㄀ 㴀 攀氀洀嘀㬀 t2 = (255 - elmS) * elmV / 255;਀        琀㌀ 㴀 攀氀洀䠀 ─ 㘀 㬀 t3 = (t1 - t2) * t3 / 60;਀ if (elmH < 60) {਀            攀氀洀刀 㴀 琀㄀㬀  攀氀洀䈀 㴀 琀㈀㬀  攀氀洀䜀 㴀 琀㈀ ⬀ 琀㌀㬀 }਀        攀氀猀攀 椀昀 ⠀攀氀洀䠀 㰀 ㄀㈀ ⤀ 笀 elmG = t1; elmB = t2; elmR = t1 - t3;਀        紀 else if (elmH < 180) {਀            攀氀洀䜀 㴀 琀㄀㬀  攀氀洀刀 㴀 琀㈀㬀  攀氀洀䈀 㴀 琀㈀ ⬀ 琀㌀㬀 }਀        攀氀猀攀 椀昀 ⠀攀氀洀䠀 㰀 ㈀㐀 ⤀ 笀 elmB = t1; elmR = t2; elmG = t1 - t3;਀        紀 else if (elmH < 300) {਀            攀氀洀䈀 㴀 琀㄀㬀  攀氀洀䜀 㴀 琀㈀㬀  攀氀洀刀 㴀 琀㈀ ⬀ 琀㌀㬀 }਀        攀氀猀攀 椀昀 ⠀攀氀洀䠀 㰀 ㌀㘀 ⤀ 笀 elmR = t1; elmG = t2; elmB = t1 - t3;਀        紀 else {਀            攀氀洀刀 㴀  㬀   攀氀洀䜀 㴀  㬀   攀氀洀䈀 㴀  㬀 }਀    紀 ਀    攀氀洀刀 㴀 䴀愀琀栀⸀昀氀漀漀爀⠀攀氀洀刀⤀㬀 elmG = Math.floor(elmG);਀    攀氀洀䈀 㴀 䴀愀琀栀⸀昀氀漀漀爀⠀攀氀洀䈀⤀㬀 ਀    挀氀爀刀䜀䈀 㴀 ✀⌀✀ ⬀ 攀氀洀刀⸀琀漀匀琀爀椀渀最⠀㄀㘀⤀ ⬀ 攀氀洀䜀⸀琀漀匀琀爀椀渀最⠀㄀㘀⤀ ⬀ 攀氀洀䈀⸀琀漀匀琀爀椀渀最⠀㄀㘀⤀㬀 ਀    攀氀洀䠀 㴀 攀氀洀䠀 ⬀ 爀愀琀攀㬀 if (elmH >= 360)਀        攀氀洀䠀 㴀  㬀 ਀    爀攀琀甀爀渀 挀氀爀刀䜀䈀㬀 }