﻿function openPopWin(URL) {
	var winHeight=500;
	var winWidth=750;
	var leftPos=(screen.width-winWidth)/2;
	var topPos=(screen.height-winHeight-100)/2;
	var hWnd = window.open(URL,"popUp","height="+winHeight+",width="+winWidth+",left="+leftPos+",top="+topPos+",scrollbars");
        if (hWnd.focus != null) hWnd.focus();
}


var myMonths=new Array("JANUARY","FEBRUARY","MARCH","APRIL","MAY","JUNE","JULY","AUGUST","SEPTEMBER","OCTOBER","NOVEMBER","DECEMBER");
var numMonths=new Array("1","2","3","4","5","6","7","8","9","10","11","12");
today=new Date();
thisMonth=today.getMonth();


vCal = new Date();
vMth = vCal.getMonth();
vDay = vCal.getDate();


function setIdyBD() {
if (vMth == 2)
	return('&nbsp;& especially to Idy (March 25): <a target="_top" href="http://cyl325.cn.st/" title="Chan Yuk Lin\'s Birthday, March 25th: Send your wishes!" style="color:red;font-weight:bold;">Send your wishes!</a>&nbsp;');
return("&nbsp;");
}

function setRealMonth() {
vRealMth = vMth+1;
return vRealMth;
}

function datePlayer() {
// January
if ((vMth == 0) && (vDay == 1) || (vDay == 2)) 
	return("http://akaz.com/media/player_ny.htm");
//if ((vMth == 0) && (vDay == 22) || (vDay == 23) || (vDay == 24) || (vDay == 25) || (vDay == 26) || (vDay == 27) || (vDay == 28) || (vDay == 29) || (vDay == 30) || (vDay == 31)) 
//	return("http://akaz.com/media/player_lunar.htm");
// February
//if ((vMth == 1) && (vDay == 1) || (vDay == 2)) 
//	return("http://akaz.com/media/player_lunar.htm");
// December
if ((vMth == 11) && (vDay == 15) || (vDay == 16) || (vDay == 17) || (vDay == 18) || (vDay == 19) || (vDay == 20) || (vDay == 21) || (vDay == 22) || (vDay == 23) || (vDay == 24) || (vDay == 25) || (vDay == 26)) 
	return("http://akaz.com/media/player_xmas.htm");
if ((vMth == 11) && (vDay == 27) || (vDay == 28) || (vDay == 29) || (vDay == 30) || (vDay == 31)) 
	return("http://akaz.com/media/player_eve.htm");

return("http://akaz.com/media/player.htm");
}

//http://www.thescripts.com/forum/thread169703.html
var holiday = [
[ "0127", "0131", "http://www.akaz.com/images/2006_dog.gif" ],
];

function disable(){return false}

function setImgByDate(imgRef,dateList) {
imgRef.onload = disable;
var today = new Date();
var month = 1+today.getMonth();
if (month<10) month = "0"+month;
var date = today.getDate();
if (date<10) date = "0"+date;
var MMDD = ""+month+date;
for (var i=0; i<dateList.length; i++) {
if (MMDD>=dateList[i][0] && MMDD<=dateList[i][1]) {
imgRef.src = dateList[i][2];
return;
}
}
}

/***********************************************
* Encrypt Email script- Please keep notice intact.
* Tool URL: http://www.dynamicdrive.com/emailriddler/
* **********************************************/
function myEmail() {
var emailarray4457= new Array(115,97,107,117,114,97,49,51,56,56,64,103,109,97,105,108,46,99,111,109)
var postemail4457=''
for (i=0;i<emailarray4457.length;i++)
postemail4457+=String.fromCharCode(emailarray4457[i])

//document.write('<a href="mailto:'+postemail4457+'"><img src="http://s178234405.onlinehome.us/images/mail.gif" border=0 align="absmiddle"></a>')

var emailLink = ' <a href="#" onclick="window.open(\'http://s178234405.onlinehome.us/contact.htm\', \'\', \'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=500,height=300\'); return false;" title="Contact Info">"sakura"</a> ';
return emailLink;
}

document.write("<style TYPE='text/css'>");
document.write("<!--");

document.write(' body { ');
document.write(' scrollbar-face-color: #FF00CC; ');
document.write(' scrollbar-highlight-color: #ffffff; ');
document.write(' scrollbar-shadow-color: #FF00CC; ');
document.write(' scrollbar-3dlight-color: #FF00CC; ');
document.write(' scrollbar-arrow-color:#FFFFFF; ');
document.write(' scrollbar-track-color: #f7f7f7; ');
document.write(' scrollbar-darkshadow-color: #ffffff; ');
document.write(' } ');

document.write("-->");
document.write("</style>");

document.write(' <table width="100%"><tr> ');

document.write(' <td valign="top" width="10%"> ');
document.write(' <iframe name="inav" width="200px" height="240px" frameborder="0" marginwidth="0" marginheight="0" src="http://chanyuklinonline.com/navbox.htm"></iframe> ');
document.write(' </td> ');

document.write(' <td valign="top" width="*">');
document.write(' <table border=0 width=80%">');
document.write(' <tr><td style="text-align:center;">[<a style="font-family:Arial;font-size:12px;color:red;" href="http://chanyuklinonline.com/help.htm">Board Help</a>]</td></tr> ');
document.write(' <tr><td style="font-family: Arial; font-size: 12px;text-align:justify;"><span style="color:red">Rules:</span> This board is for constructive discussion only.  Pornographic, hateful, vulgar or otherwise objectionable contents or behaviours--including, but not limited to, personal insults, threats, harassment, flames, spams, and unduly frequent and recurring advertisements--are expressly forbidden.  If you want to report a problem on this board, please send an e-mail to '+myEmail()+'. <span style="color:blue">For rules to submit graphics for this board, please click <A target="_top" HREF="http://chanyuklinonline.com/help.htm#decorate">here</A>.  Please send all your graphics to '+myEmail()+'.</span></td></tr> ');
document.write(' <tr><td style="BORDER:red 1px dotted; text-align:center; font-size:12px; color:red; font-weight:bold; height:50px;">WISHING HAPPY BIRTHDAY <img src=http://chanyuklinonline.com/images/icon_cake.gif border=0 align="absmiddle"> TO <a onmouseover="this.style.cursor=\'pointer\'" onfocus="this.blur();" onclick="document.getElementById(\'bdAjax\').style.display = \'block\'" style="font-size:13px;color:red;font-weight:bold;text-decoration:underline;" title="'+myMonths[today.getMonth()]+' Birthdayers">...</a>'+ setIdyBD() +'</td></tr> ');
document.write(' <tr><td align="center" style="BORDER:gray 1px dotted; background-color:#e6e6fa; height:50px;"><table><tr><td width="25%" align="center" style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold;">Other Idy Chan\'s English Discussion Threads</td><td width="25%" align="center" style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold;"><a target="sdmain" href="http://www.spcnet.tv/forums/showthread.php?t=3614" title="spcnet.tv - Idy Chan Yuk Lin (en)">spcnet.tv - Idy Chan</a></td><td width="25%" align="center" style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold;"><a target="sdmain" href="http://asianfanatics.net/forum/topic/158952-idy-chan-yuk-lin-%26%2338515%3B%26%2329577%3B%26%2334030%3B/" title="AsianFanatics - Idy Chan Yuk Lin (en)">AsianFanatics - Idy Chan</a></td></tr></table></td></tr> ');
document.write(' </table>');
document.write(' </td> ');

document.write(' </tr></table>');

document.write(' <div id="bdAjax" style="display:none;position: absolute; left: 166px; top: 60px; border: solid black 1px; padding: 5px; background-color:rgb(255,255,225); text-align: center; font-size: 10px; width: 700px;"> ');
document.write(' <div style="text-align: center;"><a onmouseover="this.style.cursor=\'pointer\'" style="ont-size: 12px;" onfocus="this.blur();" onclick="document.getElementById(\'bdAjax\').style.display = \'none\' " ><span style="text-decoration: underline;font-size:12px;">Close X</span></a></div> ');
document.write(' <span style="font-size:28px;color:red;font-weight:bold;">'+myMonths[today.getMonth()]+' Birthdays - HAPPY BIRTHDAY TO:</span><br /> ');
document.write(' <br /><iframe name="ibday" style="width: 700px; border: 0px inset;" height="330px" frameborder="0" marginwidth="0" marginheight="0" src="http://baseportal.com/cgi-bin/baseportal.pl?htx=\/sakura1388\/icif&localparams=1&db=icif&cmd=search&range=0,100&_Birthday_Month~='+setRealMonth()+'"></iframe> ');
document.write(' <div style="text-align: center;"><a onmouseover="this.style.cursor=\'pointer\'" style="ont-size: 12px;" onfocus="this.blur();" onclick="document.getElementById(\'bdAjax\').style.display = \'none\' " ><span style="text-decoration: underline;font-size:12px;">Close X</span></a></div> ');
document.write(' </div> ');


// interval is the refresh interval in seconds
// base_URL is the base URL of the banner image files
// banners is the sequence in which banners are displayed

var base_URL = "http://chanyuklinonline.com/";
var banners = ['b_1.jpg','b_2.jpg','b_3.jpg'];
//var banners = ['b_1.jpg','b_2.jpg','b_3.jpg','b_4.jpg'];
//var banners = ['b_1.jpg','b_2.jpg','b_3.jpg','b_4.jpg','b_5.jpg'];
// interval is the refresh interval in seconds
// base_URL is the base URL of the banner image files
// banners is the sequence in which banners are displayed

var interval = 5;
//var base_URL = "";
//var banners = [];

function countBanners ()
// start the banner rotation after all image files are loaded
{
    if (++num_loaded == banners.length) {
        displayBanner();
    }
}

function displayBanner ()
// actual code to refresh the banner in regular interval
{
    document.banner.src = images[count].src;
    count = (count + 1) % banners.length;
    setTimeout("displayBanner()", interval * 1000);
}

var num_loaded = 0;
var count = 0;
var images = new Array(banners.length);

// initialize the array of image objects
for (var i = 0; i < banners.length; i++) {
    images[i] = new Image();
    images[i].onload = countBanners;
    images[i].src = base_URL + "/" + banners[i];
}

/*
<!-- Begin
document.write(' <div id="dot0" style="HEIGHT: 12px; POSITION: absolute; VISIBILITY: hidden; WIDTH: 12px"><IMG height=11 src="http://mydearvalentine.dgreetings.com/bullet.gif" width=11></div> ');
document.write(' <div id="dot1" style="HEIGHT: 12px; POSITION: absolute; WIDTH: 12px"><IMG height=11 src="http://mydearvalentine.dgreetings.com/images/dil.gif" width=11></div> ');
document.write(' <div id="dot2" style="HEIGHT: 12px; POSITION: absolute; WIDTH: 12px"><IMG height=11 src="http://mydearvalentine.dgreetings.com/images/dil.gif" width=11></div> ');
document.write(' <div id="dot3" style="HEIGHT: 12px; POSITION: absolute; WIDTH: 12px"><IMG height=11 src="http://mydearvalentine.dgreetings.com/images/dil.gif" width=11></div> ');
document.write(' <div id="dot4" style="HEIGHT: 12px; POSITION: absolute; WIDTH: 12px"><IMG height=11 src="http://mydearvalentine.dgreetings.com/images/dil.gif" width=11></div> ');
document.write(' <div id="dot5" style="HEIGHT: 12px; POSITION: absolute; WIDTH: 12px"><IMG height=11 src="http://mydearvalentine.dgreetings.com/images/dil.gif" width=11></div> ');
document.write(' <div id="dot6" style="HEIGHT: 12px; POSITION: absolute; WIDTH: 12px"><IMG height=11 src="http://mydearvalentine.dgreetings.com/images/dil.gif" width=11></div> ');
var nDots = 7;
var Xpos = 0;
var Ypos = 0;

var DELTAT = .01;
var SEGLEN = 10;
var SPRINGK = 10;
var MASS = 1;
var GRAVITY = 50;
var RESISTANCE = 10;
var STOPVEL = 0.1;
var STOPACC = 0.1;
var DOTSIZE = 11;
var BOUNCE = 0.75;
var isNetscape = navigator.appName=="Netscape";
var followmouse = true;
var dots = new Array();
init();
function init() {
var i = 0;
for (i = 0; i < nDots; i++) {
dots[i] = new dot(i);
}
if (!isNetscape) {
// I only know how to read the locations of the 
// <LI> items in IE
//skip this for now
// setInitPositions(dots)
}
for (i = 0; i < nDots; i++) {
dots[i].obj.left = dots[i].X;
dots[i].obj.top = dots[i].Y;
}
if (isNetscape) {
startanimate();
} else {
// let dots sit there for a few seconds
// since they're hiding on the real bullets
setTimeout("startanimate()", 3000);
   }
}
function dot(i) {
this.X = Xpos;
this.Y = Ypos;
this.dx = 0;
this.dy = 0;
if (isNetscape) {	
this.obj = eval("document.dot" + i);
} else {
this.obj = eval("dot" + i + ".style");
   }
}
function startanimate() {	
setInterval("animate()", 20);
}
function setInitPositions(dots) {
var startloc = document.all.tags("LI");
var i = 0;
for (i = 0; i < startloc.length && i < (nDots - 1); i++) {
dots[i+1].X = startloc[i].offsetLeft
startloc[i].offsetParent.offsetLeft - DOTSIZE;
dots[i+1].Y = startloc[i].offsetTop +
startloc[i].offsetParent.offsetTop + 2*DOTSIZE;
}
dots[0].X = dots[1].X;
dots[0].Y = dots[1].Y - SEGLEN;
}
function MoveHandler(e) {
Xpos = e.pageX;
Ypos = e.pageY;	  
return true;
}
function MoveHandlerIE() {
Xpos = window.event.x + document.body.scrollLeft;
Ypos = window.event.y + document.body.scrollTop;	  
}
if (isNetscape) {
document.captureEvents(Event.MOUSEMOVE);
document.onMouseMove = MoveHandler;
} else {
document.onmousemove = MoveHandlerIE;
}
function vec(X, Y)
{
this.X = X;
this.Y = Y;
}

// adds force in X and Y to spring for dot[i] on dot[j]
function springForce(i, j, spring)
{
var dx = (dots[i].X - dots[j].X);
var dy = (dots[i].Y - dots[j].Y);
var len = Math.sqrt(dx*dx + dy*dy);
if (len > SEGLEN) {
var springF = SPRINGK * (len - SEGLEN);
spring.X += (dx / len) * springF;
spring.Y += (dy / len) * springF;
   }
}
function animate() {	
var start = 0;
if (followmouse) {
dots[0].X = Xpos;
dots[0].Y = Ypos;	
start = 1;
}
for (i = start ; i < nDots; i++ ) {
var spring = new vec(0, 0);
if (i > 0) {
springForce(i-1, i, spring);
}
if (i < (nDots - 1)) {
springForce(i+1, i, spring);
}
var resist = new vec(-dots[i].dx * RESISTANCE, -dots[i].dy * RESISTANCE);
var accel = new vec((spring.X + resist.X)/ MASS, (spring.Y + resist.Y)/ MASS + GRAVITY);
dots[i].dx += (DELTAT * accel.X);
dots[i].dy += (DELTAT * accel.Y);
if (Math.abs(dots[i].dx) < STOPVEL &&
Math.abs(dots[i].dy) < STOPVEL &&
Math.abs(accel.X) < STOPACC &&
Math.abs(accel.Y) < STOPACC) {
dots[i].dx = 0;
dots[i].dy = 0;
}
dots[i].X += dots[i].dx;
dots[i].Y += dots[i].dy;
var height, width;
if (isNetscape) {
height = window.innerHeight + document.scrollTop;
width = window.innerWidth + document.scrollLeft;
} else {	
height = document.body.clientHeight + document.body.scrollTop;
width = document.body.clientWidth + document.body.scrollLeft;
}
if (dots[i].Y >=  height - DOTSIZE - 1) {
if (dots[i].dy > 0) {
dots[i].dy = BOUNCE * -dots[i].dy;
}
dots[i].Y = height - DOTSIZE - 1;
}
if (dots[i].X >= width - DOTSIZE) {
if (dots[i].dx > 0) {
dots[i].dx = BOUNCE * -dots[i].dx;
}
dots[i].X = width - DOTSIZE - 1;
}
if (dots[i].X < 0) {
if (dots[i].dx < 0) {
dots[i].dx = BOUNCE * -dots[i].dx;
}
dots[i].X = 0;
}
dots[i].obj.left = dots[i].X;			
dots[i].obj.top =  dots[i].Y;		
   }
}
// End -->
*/

/*
//begin flash
flashArray = new Array(2);
flashArray[0] = " http://www.akaz.com/images/lny.swf ";
//flashArray[0] = " http://www.cndvdr.com/HAPPY/images/mingyue.swf ";
//flashArray[1] = " http://210.29.88.38/flash/mtv/yldbwdx_dlj.swf ";
index = Math.floor(Math.random() * flashArray.length);

document.write('<div> ');
document.write('  <table align=center border="0" cellspacing="0" cellpadding="0"><tr> ');
document.write('  <td colspan="3" height="18"> ');
document.write('	<DIV id="waterMark" style="position:absolute"><OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="180" HEIGHT="180" id="myFlash" ALIGN=""><PARAM NAME=movie VALUE="' + flashArray[index] + '"> <PARAM NAME=menu VALUE=false> <PARAM NAME=quality VALUE=high> <PARAM NAME=wmode VALUE=transparent> <PARAM NAME=bgcolor VALUE=#FFFFFF> <EMBED src="' + flashArray[index] + '" menu=false quality=high wmode=transparent bgcolor=#FFFFFF  WIDTH="80" HEIGHT="150" NAME="myFlash" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT></DIV> '); 

<!--
markW = 80;       // 
markH = 150;       // 
markX = 6;      // percent right
markY = 10;      // percent down
markRefresh = 20; // milliseconds

// set common object reference
if (!document.all) document.all = document;
if (!document.all.waterMark.style) document.all.waterMark.style = document.all.waterMark;

wMark = document.all.waterMark.style;
wMark.width = markW;
wMark.height = markH;
navDOM = window.innerHeight; // Nav DOM flag
 
function setVals() {
 barW = 0; // scrollbar compensation for PC Nav
 barH = 0;
 if (navDOM) {
  if (document.height > innerHeight) barW = 20;
  if (document.width > innerWidth) barH = 20;
  } else {
  innerWidth = document.body.clientWidth;
  innerHeight = document.body.clientHeight;
  }
 posX = ((innerWidth - markW)-barW) * (markX/100);
 posY = ((innerHeight - markH)-barH) * (markY/100);
 }

function wRefresh() {
 wMark.left = posX + (navDOM?pageXOffset:document.body.scrollLeft);
 wMark.top = posY + (navDOM?pageYOffset:document.body.scrollTop);
 }

function markMe() {
 setVals();
 window.onresize=setVals;
 markID = setInterval ("wRefresh()",markRefresh);
 }

window.onload=markMe; // safety for Mac IE4.5
//-->
//end flash


//bg_fx
//Autumn leaves- by Kurt Grigg (kurt.grigg@virgin.net)
//Modified by Dynamic Drive for NS6 functionality
//visit http://www.dynamicdrive.com for this script

//Pre-load your image below!
grphcs=new Array(6)
Image0=new Image();
Image0.src=grphcs[0]="http://www.debukuma.com/sozia1i6/sea/spring/img/sakuraani.gif";
Image1=new Image();
Image1.src=grphcs[1]="http://www.debukuma.com/sozia1i6/mark/s_flo/msfl3p.gif"
Image2=new Image();
Image2.src=grphcs[2]="http://www.debukuma.com/sozia1i6/mark/s_flo/msfl11b.gif"
Image3=new Image();
Image3.src=grphcs[3]="http://www.debukuma.com/sozia1i6/mark/s_flo/msfl12o.gif"
Image4=new Image();
Image4.src=grphcs[4]="http://www.debukuma.com/sozia1i6/mark/s_flo/msfl19b.gif"
Image5=new Image();
Image5.src=grphcs[5]="http://www.debukuma.com/sozia1i6/mark/s_flo/msfl8r.gif"


Amount=8; //Smoothness depends on image file size, the smaller the size the more you can use!
Ypos=new Array();
Xpos=new Array();
Speed=new Array();
Step=new Array();
Cstep=new Array();
ns=(document.layers)?1:0;
ns6=(document.getElementById&&!document.all)?1:0;

if (ns){
for (i = 0; i < Amount; i++){
var P=Math.floor(Math.random()*grphcs.length);
rndPic=grphcs[P];
document.write("<LAYER NAME='sn"+i+"' LEFT=0 TOP=0><img src="+rndPic+"></LAYER>");
}
}
else{
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i = 0; i < Amount; i++){
var P=Math.floor(Math.random()*grphcs.length);
rndPic=grphcs[P];
document.write('<img id="si'+i+'" src="'+rndPic+'" style="position:absolute;top:0px;left:0px">');
}
document.write('</div></div>');
}
WinHeight=(ns||ns6)?window.innerHeight:window.document.body.clientHeight;
WinWidth=(ns||ns6)?window.innerWidth-70:window.document.body.clientWidth;
for (i=0; i < Amount; i++){                                                                
 Ypos[i] = Math.round(Math.random()*WinHeight);
 Xpos[i] = Math.round(Math.random()*WinWidth);
 Speed[i]= Math.random()*5+3;
 Cstep[i]=0;
 Step[i]=Math.random()*0.1+0.05;
}
function fall(){
var WinHeight=(ns||ns6)?window.innerHeight:window.document.body.clientHeight;
var WinWidth=(ns||ns6)?window.innerWidth-70:window.document.body.clientWidth;
var hscrll=(ns||ns6)?window.pageYOffset:document.body.scrollTop;
var wscrll=(ns||ns6)?window.pageXOffset:document.body.scrollLeft;
for (i=0; i < Amount; i++){
sy = Speed[i]*Math.sin(90*Math.PI/180);
sx = Speed[i]*Math.cos(Cstep[i]);
Ypos[i]+=sy;
Xpos[i]+=sx; 
if (Ypos[i] > WinHeight){
Ypos[i]=-60;
Xpos[i]=Math.round(Math.random()*WinWidth);
Speed[i]=Math.random()*5+3;
}
if (ns){
document.layers['sn'+i].left=Xpos[i];
document.layers['sn'+i].top=Ypos[i]+hscrll;
}
else if (ns6){
document.getElementById("si"+i).style.left=Math.min(WinWidth,Xpos[i]);
document.getElementById("si"+i).style.top=Ypos[i]+hscrll;
}
else{
eval("document.all.si"+i).style.left=Xpos[i];
eval("document.all.si"+i).style.top=Ypos[i]+hscrll;
} 
Cstep[i]+=Step[i];
}
setTimeout('fall()',20);
}

window.onload=fall
//-->
*/

// Fireworks Effect Javascript
// copyright 3rd APRIL 2005, by Stephen Chapman http://javascript.about.com
// permission to use this Javascript on your web page is granted
// provided that all of the code in this script (including these
// comments) is used without any alteration

/*
var stdDOM = document.getElementById; var nsDOM = ((navigator.appName.indexOf('Netscape') != -1) && (parseInt(navigator.appVersion) ==4)); function pageWidth() {return window.innerWidth != null? window.innerWidth: document.body != null? document.body.clientWidth:null;} function pageHeight() {return window.innerHeight != null? window.innerHeight: document.body != null? document.body.clientHeight:null;}function posLeft() {return typeof window.pageXOffset != 'undefined' ? window.pageXOffset:document.documentElement.scrollLeft? document.documentElement.scrollLeft:document.body.scrollLeft? document.body.scrollLeft:0;} function posTop() {return typeof window.pageYOffset != 'undefined' ? window.pageYOffset:document.documentElement.scrollTop? document.documentElement.scrollTop: document.body.scrollTop?document.body.scrollTop:0;} var hD="0123456789ABCDEF"; function d2h(d) {return hD.substr(d>>4,1)+hD.substr(d&15,1);} layernum=0; piece = function(parent) {this.elem = null; if(nsDOM) {if(parent == null) this.elem=new Layer(1); else {this.elem=new Layer(1,parent.elem); this.style.visibility = "inherit";} this.parent = parent; this.style = this.elem;} else if (stdDOM) {if(parent == null) this.parent=document.body; else this.parent=parent.elem; this.elem = document.createElement('div'); var xName = "xLayer" + layernum++; this.elem.setAttribute('id', xName); elemc = document.createTextNode('.'); this.elem.appendChild(elemc); this.parent.appendChild(this.elem); this.style = this.elem.style;document.getElementById(xName).style.position = 'absolute';} window[this.elem.id]=this; this.ay = .1; this.type = 0;}; piece.prototype.moveTo = function(x,y) {if(nsDOM) this.elem.moveTo(x,y); else {this.style.left = x+"px"; this.style.top = y+"px";}}; piece.prototype.setC = function(colour) {if(nsDOM) this.elem.bgColor = colour; else this.style.backgroundColor = colour==null?'transparent':colour; };  piece.prototype.fire = function(sx, sy, fw) {var a = Math.random() * Math.PI * 2; switch (fw) {case 1: var s = Math.random() * 2; break; case 2: var s = 2; break; case 3: var s = (Math.PI * 2) - a - Math.random(); break; case 4: var s =  a - Math.random(); break; default: var s = Math.random() * 2; if(Math.random() >.6) s = 1.5;} this.dx = s*Math.sin(a); this.dy = s*Math.cos(a) - 2; this.x = sx; this.y = sy; this.moveTo(sx, sy);}; piece.prototype.sCol = function(hex,hex2,cl) {switch (cl) {case 1: this.setC("#" + hex + hex2 + "00"); break; case 2: this.setC("#00" + hex + "00"); break; case 3: this.setC("#00" + hex + hex2); break; case 4: this.setC("#" + hex + "0000"); break; case 5: this.setC("#" + hex + hex + "00"); break; case 6: this.setC("#" + hex + hex + hex); break; case 7: this.setC("#" + hex2 + hex + "00"); break; default: this.setC("#" + hex + hex2 + hex);}}; piece.prototype.animate = function(step,cl) {var colour = (step > 25) ?  Math.random()*(380-(step*5)) : 255-(step*4); var hex = d2h(colour-128); if (colour < 32) hex = d2h(colour+32); this.sCol(d2h(colour),hex,cl); this.dy += this.ay; this.x += this.dx; this.y += this.dy; this.moveTo(this.x, this.y);}; fo = function(numst) {this.id = "fo"+fo.count++;this.sp = new Array(); for(i=0 ; i<numst; i++) {this.sp[i]=new piece(); if(nsDOM){this.sp[i].style.clip.top =0; this.sp[i].style.clip.left = 0; this.sp[i].style.clip.bottom = 3; this.sp[i].style.clip.right = 3;} else this.sp[i].style.clip="rect("+0+" "+3+" "+3+" "+0+")"; this.sp[i].style.visibility = "visible";} this.step = 0; window[this.id]=this; setInterval("window."+this.id+".animate()", 15);}; fo.count = 0; fo.prototype.animate = function() {if(this.step > 55) this.step = 0; if(this.step == 0) {var x = posLeft() + 50 + (Math.random()*(pageWidth() - 200)); var y = posTop() + 50 + (Math.random()*(pageHeight() - 250)); var fw = Math.floor(Math.random() * 5); this.cl = Math.floor(Math.random() * 8); for(i=0 ; i<this.sp.length ; i++)this.sp[i].fire(x, y, fw);} this.step++; for(i=0 ; i<this.sp.length ; i++) this.sp[i].animate(this.step,this.cl);}; function fireworks() {new fo(50);setTimeout('new fo(50)',750);} window.onload=fireworks;*/