ÿþ<center> <font face="comic sans ms" size=6>Here is a little about me:</font><br></font> <font face="comic sans ms" size=4 color="red"><b><i> <html> For background music <a href="x-files.mid"><img src="sounder.gif" border=0></a><br><HEAD><script language=JavaScript> <!-- //Disable right mouse click Script //By Maximus (maximus@nsimail.com) w/ mods by DynamicDrive //For full source code, visit http://www.dynamicdrive.com var message="© Contents Copyright!/nTom Vella-{arb"; /////////////////////////////////// function clickIE4(){ if (event.button==2){ alert(message); return false; } } function clickNS4(e){ if (document.layers||document.getElementById&&!document.all){ if (e.which==2||e.which==3){ alert(message); return false; } } } if (document.layers){ document.captureEvents(Event.MOUSEDOWN); document.onmousedown=clickNS4; } else if (document.all&&!document.getElementById){ document.onmousedown=clickIE4; } document.oncontextmenu=new Function("alert(message);return false") // --> </script> </HEAD> <META HTTP-EQUIV="imagetoolbar" CONTENT="no"> <a name="top"> <title>Tom Vella-{arb's bio</title><center> <a href="irene.html"><img src="prev.jpg" width="100" border="1"></a> <a href="homep1.html"><img src="next.jpg" width="100" border="1"></a> <a href="#end"><img src="butend.jpg" width="100" border="1"></a> <br>Here in Prairie Siding, where I live it is<br><iframe src="http://free.timeanddate.com/clock/i15qsk0h/n250/fc00f/tc0ff/pc000/ftb/bo3/pa3/tt0/th1" frameborder="0" width="311" height="24"></iframe><br> <SCRIPT LANGUAGE="JavaScript"> // Courtesy of SimplytheBest.net - http://simplythebest.net/scripts/ function initArray() { this.length = initArray.arguments.length for (var i = 0; i < this.length; i++) this[i+1] = initArray.arguments[i] } var DOWArray = new initArray("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"); var MOYArray = new initArray("January","February","March","April","May","June","July","August","September","October","November","December"); var LastModDate = new Date(document.lastModified); document.write("This page was last updated on "); document.write(DOWArray[(LastModDate.getDay()+1)],", "); document.write(MOYArray[(LastModDate.getMonth()+1)]," "); document.write(LastModDate.getDate(),", ",2008); document.write("."); </SCRIPT></font></b></i><br> <BODY background="mbsnklt.jpg" bgproperties="fixed" text="#0000FF" link="#000000" vlink="#FF0000" alink="#FFCC00"> <center> <hr color="blue"> <font face="comic sans ms" size=5 color="red">I was born on June 1, 1931</center> <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="180" bordercolorlight="#ff0000" bordercolordark="#FF0000" bgcolor="linen"><tr><td><center> <a href="biowelcome.WMV"> <img src="tom11.jpg" width="180"></a><br>Click on Picture to hear a message</center> </tr></td></table><center> <SCRIPT language=javascript> <!-- Countdown script adapted from Jerry Wilson, www.wilstar.com --> <!-- var today = new Date() var month = today.getMonth() var dayofMonth = today.getDate() var presentMoment = today.getTime() var thisYear = today.getYear() if(thisYear < 1000){ thisYear += 1900 } thisYear = thisYear + 1 if (month < 5) {thisYear = thisYear - 1} if ((month == 5) && (dayofMonth < 1)) {thisYear = thisYear -1} var futureDate = new Date(thisYear,05,01) var futureMoment = futureDate.getTime() var difference = (futureMoment - presentMoment) * 10 var numberOfDays = Math.round(difference / 86400000) / 10 // changes milliseconds to days and rounds to one-tenth day if (numberOfDays < 1) { document.write("*** Tomorrow is My Birthday! ***") } if (364< numberOfDays > 0) { document.write("Happy Birthday Me!") } else if (numberOfDays > 1) { document.write("There are ", numberOfDays, " days until My Birthday!") } // --> </SCRIPT> </center> </tr></td></table> That makes me <script language="JavaScript"><!-- function getAge(dateString,dateType) { /* function getAge parameters: dateString dateType returns: boolean type 1 : 19970529 Returns string containing the age in years, months and days in the format yyy years mm months dd days. Returns empty string if dateType is not one of the expected values. */ var now = new Date(); var today = new Date(now.getYear(),now.getMonth(),now.getDate()); var yearNow = now.getYear(); var monthNow = now.getMonth(); var dateNow = now.getDate(); if (dateType == 1) var dob = new Date(dateString.substring(0,4), dateString.substring(4,6)-1, dateString.substring(6,8)); else return ''; var yearDob = dob.getYear(); var monthDob = dob.getMonth(); var dateDob = dob.getDate(); yearAge = yearNow - yearDob; if (monthNow >= monthDob) var monthAge = monthNow - monthDob; else { yearAge--; var monthAge = 12 + monthNow -monthDob; } if (dateNow >= dateDob) var dateAge = dateNow - dateDob; else { monthAge--; var dateAge = 31 + dateNow - dateDob; if (monthAge < 0) { monthAge = 11; yearAge--; } } return yearAge - '1900' + ' years ' + monthAge + ' months ' + dateAge + ' days old.'; } document.write(getAge("19310601",1)+'<BR>'); //--></script></font> <table width="90%"><tr><td> <img src="zabbar2.jpg" width="250"><br><center><b><font face="arial" size=3 color="red">Our Lady of Grace Church, {abbar</font></b></center></td><td ><b><font face="comic sans ms" size="5"><p align="justify"> My name is Thomas Anthony Vella-{arb. I am usually called "Tom". I come from the village of {abbar, in the Island of Malta. I was born on June 1<sup>st</sup> 1931. and baptized when I was 13 days old at the Church of Our Lady of Grace in {abbar. <a name="persons"> I share my birthdate with several famous and infamous <a href="born.html">persons</a>. </tr></td></table> <center><table width="90%" bgcolor="white"><tr><td><center><font face="comic sans ms" color="red" size=4><i> Take a look at a chart of my family tree by clicking <a href="tomsancestry.pdf">here</a>. You will need Adobe Reader for this. You can get it for free by clicking <a href="http://www.adobe.com/products/acrobat/readstep2.html" target="new">here</a>. </i></font></tr></td></table> <table width="90%"><tr><td width="90%"> <font face="arial" color="red"size=5><i><marquee width="100%">This section on my Web Site is a little bio about me and my family. I don't expect it to be of interest to everybody who visits. However, browsing through it might give you a little insight about me and where I come from. Thanks to all of you who have dropped by. If we have met at any time, please let us renew acquaintnce. <a href="mailto:toveza@ciaccess.com">e-mail</a> me please. Thank you for visiting.</marquee></i></font> </tr></td></table> <table width="90%"><tr><td> <font face="comic sans ms" size="5"><p align="justify"><b> We then moved to Senglea where I made my First Holy Communion at Our Lady of Victory Church, more popularly known as Il-Bambina. </td><td><img src="sengleachurch1.jpg" width="250"><br><center><b><font face="arial" size=3 color="red">Our Lady of Victory Church</font></b></center> </tr></td></table> <table width="90%"> <tr><td><img src="mdinacathedral.jpg" width="250"><br><center><center><b><font face="arial" size=3 color="red">Cathedral in Mdina</font></b></center></td><td><b><font face="comic sans ms" size="5"><p align="justify">On March 4, 1941, I was Confirmed, along with my sister, by His Grace Archbishop Michael Gonzi, at the Cathedral of St Paul in Mdina. </td></tr></table> <table width="90%"><tr><td><font face="comic sans ms" size="5"><p align="justify"><b> You may wish to find out some statistics about <a href="http://www.nso.gov.mt/site/page.aspx">Malta</a>, or wish to go to <a href="mlt.html">links</a> to several sites pertaining to Malta.</td></tr></table> <table width="90%"><tr><td><font face="comic sans ms" size="5"><p align="justify"><b> If you wish to see a Map of Malta that is interactive, please click <A href="http://www.visitmalta.com/includes/map/popup1.html"> here</a></b>. </td></tr></table> <table width="90%"><tr><td><font face="comic sans ms" size="5"><b><p align="justify"> If you wish to read about {abbar and the other sixty or so Towms amd Villages of Malta and Gozo, I recommend the four volume series, <a href="fiott.html">TOWNS AND VILLAGES IN MALTA AND GOZO</a>, by Charles Fiott. <a name="fiott"> If you wish to write to the author himself, please click <a href="mailto:fiott@msn.com">here</a>.</td></tr></table> <table width="90%" border=0><tr><td> <center><img src="dad.jpg" width="250"><br>DAD</center><td><center><img src="tomsmom.jpg" width="250"><br>MUM</center><tr><td colspan=2><font face="comic sans ms" size="5"><b><p align="justify">My father was Virgil Vella, and my mother was Frances, n&eacute;e {arb. The double-barreled surname comes from the fact that the name "Vella" is very common in Malta. <TR><TD><center><img src="vella4.jpg"width="250"></td><td><center><img src="zarb2.jpg"width="250"> </td></tr></table> <a name="vz"> <table width="90%" border=0><tr><td><hr color="blue"> <center><b><font face="arial black" size=3 color="red">Transcript follows:</font></b></center><br> <img src="vellazarbdoc.jpg" width="100%"> <tr><td><font face="arial" size="3"><b>V. M. Pellegrini LL. D.<br>Notario Publico<br><p align= "right">Valletta, Strada Carmine, 15<br>Valetta, Strada {acharia, 11<br>Rabato, Strada Sant' Agostino 77<br>Malta, 25/3/60<br><p align="left">We the undersigned Virgil and Frances wife of said Virgil Vella, daughter of Joseph {arb and mother of Thomas Anthony John Charles Vella-{arb born at Casal {abbar, Malta, on the 1<sup>st</sup> 1931 and now residing at 12 Crocker Ave, St Thomas, Ontario, Canada, do hereby declare that our said son is legally entitled to adopt the surname Vella-{arb; the addition of "{arb" being from the maiden surname of his mother, and added thereto for the simple reason that the surname "Vella" is very common in Malta and the addition of "{arb" is resorted to for simpler identification.<br><p align= "right">Virgil Vella Frances Vella<br>Notary Dr V M Pellegrini,<br>witness to signatures and identity.</p> <hr color="blue"> </td></tr></table> <table width="90%" border=0><tr><td><font face="comic sans ms" size="5"><b><p align="justify"> I remember the day that the Principal of the Lyceum [The Government of Malta's High School for Boys], then a Mr J.P. Vassallo, stormed into one of our classes and asking the "Vella's" to stand up. More than half the class stood up. He begged us to do something about our names. Some were adamant about it, and did not want to change it, others added a middle initial, and some of us added our mother's maiden name.<hr color="blue"> </tr></td></table> <table width="90%"><tr><td> <font face="comic sans ms" size="5"><b><p align="justify">As a young boy, I enjoyed reading, especially comics. One of my favourites was Captain Midnight. One day they asked for inventions to be patented. I sent a couple, if I remember correctly, one was Windshield wipers for Glasses, and the other was Rear Window Windshield Wipers. Both these have since appeared on the market, but I did not get any recognition for them nor any remuneration. So much for the "all rights, title, and interest in this invention are the property of the inventor"<br><center><img src="patent.gif"><hr color="blue"> </tr></td></table> <table width="90%"><tr><td> <font face="comic sans ms" size="5"><b><p align="justify"> The name "Vella-{arb" then stuck. It was a good move in another way - you see, my grandfather, Tommaso Vella, was a freelance writer, and he used to be a "whip" for politicians. One day he would whip Mr A, the next day, Mr B, and so on. At shool several of my fellow students and teachers would tease me about "my" articles in the paper, and I would have to explain that they were not mine [I wish I had his talents though].....</p><hr color="blue"> </td></tr></table><center><table width="90%"><tr><td><center> <img src="attard.gif" width="205" border=0></td><td><center> <img src="joan2.jpg" width="205" border=0><br><center><b><font face="arial" size=3 color="red">Joan [August 2, 1935 - March 30, 1996]</font></b></center></td><td><center> <a name="joan"> <img src="cilia1.gif" width="205" border=0></td></tr></table></center> <table width="90%"><tr><td><font face="comic sans ms" size="5"><b><p align="justify">On November 18, 1956, I married <a href="joan.html"> Joan</a> Attard, who was called to God's kingdom on March 30, 1996. We had a good life for close to forty years, for which I thank God. We have five children, and seven grandchildren. <br><a href="http://www.vella-zarb.com/david">David</a> was married to Joanne VanAsseldonk, and they have a daughter, Annette, and a son, Anthony.<br> <a href="mailto:annette@barcroft.com">Annette</a>, married to Greg Barcroft, has a daughter, Ashley Marie, born on May 13, 2003 and a son, Mitchell Leonard on February 22, 2009<br> <a href="mailto:Pierre@vella-zarb.com">Pierre</a> is married to Cynthia Flattau, and they have two daughters, Rachel born August 11, 1984 and Oriana born May 18, 1987. <br><a href="mailto:alex@vella-zarb.com"> Alex</a> was married to Laura. They have a daughter, Ciara born April 19, 2000, who naturally is the cutest baby in the universe!<br> <a href="mailto:michael@vella-zarb.com">Michael</a> has a son, <a href="mailto:i_am_buckwheat@hotmail.com">Damieon</a> born November 20, 1986.<br> <a href="mailto:kvella_zarb@hotmail.com">Karen</a> has a daughter, Sydney born June 29, 2005.<hr color="blue"></td></tr></table> <table width="90%"> <tr><td> <p align="justify"> <font face="comic sans ms" size=5><b>I was in Pre Kindergarten for about one week, was bored stiff at Kindergarten, then skipped most of the public school years. That was at the Government of Malta Boys' School in {abbar and then in Senglea. When the war started we moved to our summer place in Marsascala, where we went to school in one of grandpa's two room cottages.</td><td><img src="zabbar.jpg"><br><center><b><font face="arial" size=3 color="red">{abbar Elementary School</font></td></tr></table> <table width="90%"><tr><td ><font face="comic sans ms" size="5"><b><p align="justify">All grades were bunched together with two lady teachers teaching us. I was in grade three then and the inspectress came to visit telling the teacher that she did not want to see me and another student there next year. I sat for the entrance exam for high school entrance. I passed and was one of the qualifying eighty students from all over the island, ending up at the Lyceum High School for Boys in Malta at the age of nine and a half.</td><td><img src="lyceum.jpg" width="200" border=0><br><center><b><font face="arial" size=3 color="red">The Lyceum Malta</font></b></center></td></tr></table> <table width="90%"> <tr><td><img src="matric47.jpg" width="200" border=0><br><center><b><font face="arial" size=3 color="red">Matriculation 1947</font></b></center> </td><td><font face="comic sans ms" size="5"><b><p align="justify">When I finished high school, St. Michael's College for Teachers had just started and I enrolled. With a Senior Matriculation diploma in my hand, the thought occurred to the Principal of the college, that perhaps I ought to be thinking about other avenues. I resigned from the College - the first "alumnus" or "old boy" but since I had only been enrolled merely for a couple of weeks, I could not join the "old boys' club" when it was later organized. </p> </td></tr></table> <table width="90%"><tr><td><p align="justify"> <tr><td><font face="comic sans ms" size="5"><b><p align="justify"> For a while, I twiddled my thumb for want of anything else to do. I was an accomplished swimmer and took Royal Life Saving Courses. For a while, I was a volunteer lifeguard with the Royal Life Saving Life Guard Corps, at Qui-Si-Sana, Sliema, Malta. I then took a job as a "substitute teacher" at the Tarxien Elementary School, and had some interesting experiences - e.g. meeting my old grade 1 teacher, a Mr Meylaq, teaching at the same school! Since I was still young, and considered a "minor", the Education Department of the Government of Malta paid me half salary, i.e. ten shillings daily! </td> </table> <center><img src="black.gif" width="200"><br><center><b><font face="arial" size=3 color="red">Why did uncle Tom graduate in a black nightgown?<br><i>[The Family Circus]</i></font></b></center> <a name="grad"> <table width="90%"> <tr><td><img src="bpharm52.jpg" border=0 width="200"><br><center><b><font face="arial" size=3 color="red">My B.Pharm. hood</font></b></center> </td><td> <font face="comic sans ms" size="5"><b><p align="justify">I then made up my mind to continue my education, so I took Pharmacy Courses at the Royal University of Malta. </td><td><img src="uni.gif" width="200" border=0><br><center><b><font face="arial" size=3 color="red">The R.U.M. Crest</font></b></center> </td></tr></table><table width="90%"> <tr><td width="33%"><center><img src="RUM.jpg" width="200" border=0><br><center><b><font face="arial" size=3 color="red">The Royal University of Malta</font></b></center> </td><td width="33%"><center><img src="jesuitentrance.jpg" width="200" border=0><br><center><b><font face="arial" size=3 color="red">The Entrance of the Jesuit Church ...</font></b></center> </td><td><center><img src="jesuitinterior.jpg" width="200" border=0><br><center><b><font face="arial" size=3 color="red">Where I received my degree [and earlier my matriculation]</font></b></center></td></tr></table> <table width="90%"><tr><td><center><font face="arial" color="red" size="2"><center>I wish to thank my buddy, Edward Galea, for taking some of the pictures for me</font></center></td></tr></table><center> <table width="90%"><tr><td><font face="comic sans ms" size="5"><p align="justify"> I graduated with a Bachelor in Pharmacy degree, in 1952 - the first year that the degree was awarded in Malta. For a newspaper clipping please click <a href="graduation.html">here</a>.<br><img src="bpharmdiploma.jpg" width="450"> </td><td><center><img src="bpharm1.gif" width="300"><br><center><b><font face="arial" size=3 color="red">Receiving my B.Pharm.</font></b></center></center></td> </table> <table width="90%"> <tr><td width="150"> <img src="tommyspharmacy.gif" width="200"></td><td> <p align="justify"><font face="comic sans ms" size=5><b>I managed the Monarch Pharmacy at Hamrun, Malta, then co-owned and managed Tommy's Pharmacy at Senglea, Malta. </tr></td></table> <table width="90%"><tr><td><hr color="blue"><font face="comic sans ms" size="5"><b><p align="justify"> Soon after Joan and I were married, we emigrated to <a href="http://www.gov.on.ca/MBS/english/">Ontario</a>, <a href="http://www.canoe.com"> Canada</a><p align="justify"><hr color="blue"> We lived in St Thomas, Toronto, Windsor, Pain Court, Bothwell, and Wallaceburg. We now have made Chatham, our home, and we love it. <br><br> <p align="justify">I made a Cursillo in 1980 and was Lay leader in the <A href="http://www.kentcursillo.org">Kent Cursillo</a> movement for a couple of years and on team for several years.<br><br><a name="library"> <p align="justify">I was on the <a href="library.html">Wallaceburg Public Library Committe</a> and on the Drug Awareness Council for Chatham-Kent<p> <a name="salute"><p align="justify">It was in <a href="wallaceburgnews.html">Wallaceburg</a> that I spent some of the best years of my life. I was involved in many things, including being Chairman of the Salvation Army Campaign. I believe I was the only Roman Catholic to hold that position and I even had the Catholic Women's League and the Knights of Columbus, to help canvass door to door.<p> <p align="justify">To find out about the city of Chatham, which as of January 1, 1998 is part of the Municipality of Chatham Kent, please click <a href="http://www.chatham-kent.ca/English/default.htm">here</a>, for an overview of our Municipality, where you can see aerial views of it.<br><br> <p align="justify">Chatham has a daily paper, <a href="http://www.chathamdailynews.ca">THE CHATHAM DAILY NEWS</a>, a Community Weekly Paper, <a href="http://www.chathamthisweek.com">"Chatham This Week"</a>, a News on the Net <a href="http://www.cktimes.ca">Chatham-Kent Times</a>, a Cable Station, three Radio Stations, etc.<br>Where on earth is Chatham, I hear you ask. Open your Atlases or check your World Globe. The location is 42<sup>o</sup>24"N, 82<sup>o</sup>11"W. Did you find it? </td></tr></table> <H3><FONT COLOR="#FF0000">Here in a nutshell is the Municipality of Chatham-Kent</FONT></H3> <applet code="VertTextScroller.class" width="760" height="150"> <param name=numberOfLines value="39"> <param name=background value="255,255,240"> <param name=scrollDelay value="55"> <param name=lineSpace value="17"> <param name=linkFrame value="_top"> <param name=linkColor value="red"> <param name=manualPause value="0"> <param name=linkClick value="1"> <param name=sizeDefault value="17"> <param name=lineDefault value=" "> <param name=colorDefault value="blue"> <param name=fontDefault value="Helvetica"> <param name=styleDefault value="BOLD"> <param name=linkDefault value=" "> <param name=pauseValueDefault value="0"> <param name=lineOffsetDefault value="10"> <param name=line1 value="The Municipality of Chatham-Kent was formed on January 1, 1998."> <param name=line2 value="It consists of Chatham, Wallaceburg, Dresden, Pain Court, Tilbury, "> <param name=line3 value="Ridgetown, Bothwell, Blenheim, with a population totalling 110,000. "> <param name=line4 value="There is something to appeal to any visitor who comes by ... history, "> <param name=line5 value="recreation, water, fishing, entertainment .... Chatham itself boasts of "> <param name=line6 value="about fifty parks, and about a hundred restaurants."> <param name=line7 value="The Festival of Nations in Chatham"> <param name=line8 value="The African Canadian Heritage Tour"> <param name=line9 value="Uncle Tom's Cabin [home of Josiah Henson] in Dresden"> <param name=line10 value="Greenview Aviaries and Zoo near Morpeth "> <param name=line11 value="Pow-Wow at Moraviantown"> <param name=line12 value="The Knights of Columbus Boat Show in Chatham"> <param name=line13 value="Pow-Wow on Walpole Island"> <param name=line14 value="Summerfest and Exhibition in Dresden"> <param name=line15 value="Chicken Barbecues all over the municipality"> <param name=line16 value="Chicken and Sliders Dinners in Pain Court and Big Point"> <param name=line17 value="Cherry Festival in Blenheim"> <param name=line18 value="Summerfest. Antique and Classical Car Show, and Agricultural "> <param name=line19 value="Fair in Ridgetown "> <param name=line20 value="Heritage Days at the Forks, where days of long ago come back to life."> <param name=line21 value="WAMBO - Wallaceburg Antique Motor and Boat Outing"> <param name=line22 value="Historic Site and Museum in Buxton "> <param name=line23 value="Ridge House Museum - a restored 1875 Victorian era home"> <param name=line24 value="Shopping malls, like the Downtown Shopping Centre, and the"> <param name=line25 value="North Maple Plaza cater for all tastes "> <param name=line26 value="Lakes Erie and St. Clair are minutes away and are great for fishing, "> <param name=line27 value="skiing, and other water activities. The marinas at the Thames River"> <param name=line28 value="and in Wallaceburg are second to none."> <param name=line29 value="Wheatley and Rondeau Provincial Parks are very close by."> <param name=line30 value="Large and small industries dot the whole community and employ"> <param name=line31 value="a large number of people."> <param name=line32 value="The Chatham-Kent Health Alliance is one of the Province's better"> <param name=line33 value="health facilities with CTScan, Dialysis, Breast Screening, and a"> <param name=line34 value=" multitude of other diagnostic facilities."> <param name=line35 value="Churches of all denominations look after the spiritual needs of the citizens."> <param name=line36 value="C-K is the 12th largest community in size and the 45th in population in Canada."> <param name=line37 value=" "> <param name=line38 value="In short, Chatham-Kent is the family community we are all proud of."> <param name=color38 value="red"> </applet> <hr color="blue"> <a name="cont"> </tr></td></table></center> <!-- Start Elastic Bullets --> <!-- The following div and img tags are used by the elastic bullets script --> <!-- you can change the image src and size to customize with different images --> <div id="dot0" style="position: absolute; visibility: hidden; height: 16; width: 25;"> <img src="hearts02.gif" height=16 width=25> </div> <div id="dot1" style="position: absolute; height: 16; width: 25;"> <img src="../images/hearts03.gif" height=16 width=25> </div> <div id="dot2" style="position: absolute; height: 16; width: 25;"> <img src="hearts01.gif" height=16 width=25> </div> <div id="dot3" style="position: absolute; height: 16; width: 25;"> <img src="hearts02.gif" height=16 width=25> </div> <div id="dot4" style="position: absolute; height: 16; width: 25;"> <img src="hearts03.gif" height=16 width=25> </div> <div id="dot5" style="position: absolute; height: 16; width: 25;"> <img src="hearts01.gif" height=16 width=25> </div> <div id="dot6" style="position: absolute; height: 16; width: 25;"> <img src="hearts02.gif" height=16 width=25> </div> <script LANGUAGE="JavaScript"> <!-- hide code // // Elastic Bullets v1.2 // http://www.geocities.com/pwinston/ebullets // var nDots = 7; var Xpos = 0; var Ypos = 0; // fixed time step, no relation to real time var DELTAT = .01; // size of one spring in pixels var SEGLEN = 10; // spring constant, stiffness of springs var SPRINGK = 10; // all the physics is bogus, just picked stuff to // make it look okay var MASS = 1; // Positive XGRAVITY pulls right, negative pulls left // Positive YGRAVITY pulls down, negative up var XGRAVITY = 0; var YGRAVITY = 50; // RESISTANCE determines a slowing force proportional to velocity var RESISTANCE = 10; // stopping criterea to prevent endless jittering // doesn't work when sitting on bottom since floor // doesn't push back so acceleration always as big // as gravity var STOPVEL = 0.1; var STOPACC = 0.1; var DOTSIZE = 11; // BOUNCE is percent of velocity retained when // bouncing off a wall var BOUNCE = 0.75; var isNetscape = navigator.appName=="Netscape"; // always on for now, could be played with to // let dots fall to botton, get thrown, etc. 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) } // set their positions for (i = 0; i < nDots; i++) { dots[i].obj.left = dots[i].X; dots[i].obj.top = dots[i].Y; } if (isNetscape) { // start right away since they are positioned // at 0, 0 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); } // This is to line up the bullets with actual LI tags on the page // Had to add -DOTSIZE to X and 2*DOTSIZE to Y for IE 5, not sure why // Still doesn't work great function setInitPositions(dots) { // initialize dot positions to be on top // of the bullets in the <ul> 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; } // put 0th dot above 1st (it is hidden) dots[0].X = dots[1].X; dots[0].Y = dots[1].Y - SEGLEN; } // just save mouse position for animate() to use function MoveHandler(e) { Xpos = e.pageX; Ypos = e.pageY; return true; } // just save mouse position for animate() to use 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() { // dots[0] follows the mouse, // though no dot is drawn there 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); } // air resisitance/friction var resist = new vec(-dots[i].dx * RESISTANCE, -dots[i].dy * RESISTANCE); // compute new accel, including gravity var accel = new vec((spring.X + resist.X)/MASS + XGRAVITY, (spring.Y + resist.Y)/ MASS + YGRAVITY); // compute new velocity dots[i].dx += (DELTAT * accel.X); dots[i].dy += (DELTAT * accel.Y); // stop dead so it doesn't jitter when nearly still 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; } // move to new position dots[i].X += dots[i].dx; dots[i].Y += dots[i].dy; // get size of window var height, width; if (isNetscape) { height = window.innerHeight + window.pageYOffset; width = window.innerWidth + window.pageXOffset; } else { height = document.body.clientHeight + document.body.scrollTop; width = document.body.clientWidth + document.body.scrollLeft; } // bounce off 3 walls (leave ceiling open) 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; } // move img to new position dots[i].obj.left = dots[i].X; dots[i].obj.top = dots[i].Y; } } // end code hiding --> </script> </BODY> <a name="end"> <center><a href="#top"><img src="top.jpg"></a> <a href="irene.html"><img src="prev.jpg" width="100" border="1"></a> <a href="homep1.html"><img src="next.jpg" width="100" border="1"></a><br> <a href="mynotes.html"><img src="justme.gif" border=0></a> </center> <hr> <center><a href="index.html"> <img src="indexlogo.gif" border=0></a> </BODY></HTML>