Goodies to Go ™
	November 24, 2003–Newsletter #260
	This newsletter is part of the internet.com network.
	http://www.internet.com
	 
Featured this week:
* Goodies Thoughts – Tables Turned Up
* Q & A Goodies
* News Goodies
* Goodies Peer Reviews
* Feedback Goodies  
* Windows Tech Goodies  
* And Remember This…
Goodies Announcement
The new Beyond HTML Goodies book
is now available!
Go beyond the basics
and learn how the pros add and use dynamic HTML features and advanced
JavaScript techniques. Beyond HTML Goodies demonstrates dozens of new and
different features readers can add to their existing Web pages using HTML and
JavaScript. The book starts with simple text and image tips, such as adding a
clock to a Web page or causing text to appear when the mouse moves over an
image. It gradually builds to more complex tricks, including manipulating forms
or working with cookies behind the scenes. Throughout the book, readers enjoy
Joe’s snappy style and “to the point” discussion of each “goody” in the book.
http://books.internet.com/books/0789727803
Goodies Thoughts – Tables Turned Up
Last week we created a table and set it to have some particular
sizes and shapes for its various cells. It created a nice, clean, easy to read
look for the table’s data. Take a look at
https://www.htmlgoodies.com/letters/259.html if you missed it.
All very nice — except that some of the code it uses is now deprecated. What
that means is that the powers that be over such things as HTML code (namely, the
W3 Consortium) have moved the code down to a reduced status in terms of how
current it is. And what THAT means, is that while the HTML code that you really
want to use is "current" and code that is no longer required to be supported by
a "compliant" browser is "obsolete", there is code somewhere in between that is
"deprecated". Current code is safe to use — every browser to be considered
compliant has to support it. Obsolete code will likely be ignored by compliant
browsers, but may cause errors — either way, it won’t do what you want and is
therefore not a very good thing to use. Deprecated code is code that has been
replaced with newer constructs. Current compliant browsers are still expected to
support the code (that is, to correctly render its page output) but the
programmer is cautioned that in future versions of HTML it may become obsolete.
Essentially, this is your chance to update your code to ensure future
compatibility.
I last week’s table code, we had "width" specified on the <td> table data
elements. That is deprecated. (Remember to ‘global edit’ < to < before using
code from Goodies To Go — see Q&A note, below.) Additionally, we have cells
containing headings that are specified with <td> While that is not deprecated,
there is also the offering of <th> table heading elements. Browsers will
recognize the heading as different from the data element and will emphasize them
for you. Since the current specification also says that the closing tags (</tr>
</th> </td>) are optional, we’ve left them out this time.
Take a look at this version of our table:
<TABLE border="1" style="border-collapse: collapse" bordercolor="#111111"
width="300"
summary="This table pretends to provide some stats about
coffee and tea drinking differences between males and females.">
<CAPTION><EM>Coffee and Tea Comparisons</EM></CAPTION>
<TR><TH rowspan="2">
<TH colspan="2">Sometimes Drink
<TH rowspan="2">Add<br>Sugar
<TR><TH>Coffee<TH>Tea
<TR><TH>Males<TD>70%<TD>15%<TD>35%
<TR><TH>Females<TD>60%<TD>40%<TD>40%
</TABLE>
For your convenience, I’ve added it to last week’s sample page and created this
one for you:
https://www.htmlgoodies.com/examples/tablesample2.html 
You’ll notice that in this one, we’ve embellished the table with a summary for
documentation purposes, and a caption that will be automatically placed for us
(we’ve used EMphasis to italicize it.)
The table is still specifying its overall width, but within it, all sizing is
automatic. Table heading elements are made bold and centered automatically, so
those codes are not needed either. The result, as you can see in the new
example, is a very easy to read table that takes less code to define.
Better pages with less work — now that’s what I call progress!
By the way — if you’d like to know more about the W3 Consortium, or to see more
details of the current code specifications, see
http://www.w3c.org 
Thanks for Reading!
 
– Vince Barnes
Q & A Goodies
Questions are taken from submissions to our Community Mentors. You can ask a Mentor a question by going to
https://www.htmlgoodies.com/mentors.
 Q. I am trying to set up a framed site, with a dropdown list on the left,
and the main page to the right. I currently have the frame with the dropdown
list setup so that when the selection is changed, it opens up the selection in
that same frame. Is there anyway to change the frame it opens in? I need the
menu on the left to bring up the pictures in the main frame rather than the left
one.
A. You need to change this link in your linkup function:
location.href = document.DropDown.images.options[number].value;
To this:
parent.frame2.location.href = document.DropDown.images.options[number].value;
I would also recommend that you change the name of your dropdown as "images"
might cause a problem with JavaScript.
Q. In JavaScript Primer 28, the script does not work with my browser,
Internet Explorer 6.0. I believe that it has to do with nesting loops within
loops, but I am not sure. There is a note that some Internet Explorer browsers
will not display the code. What part of the JavaScript code is not working?
A. Not sure why it does not work in IE, but here is a modified version
that works using the setTimeout method to control the fliping of images.
<html><head>
<script type="text/javascript">
var num=1 img1 = new Image (150,150)
img1.src = "0.gif" img2 = new Image (150,150)
img2.src = "1.gif" img3 = new Image (150,150)
img3.src = "2.gif"
function startshow()
{
num=num+1
if(num<4)
{
document.mypic.src=eval(‘img’+num+’.src’)
anim=setTimeout(‘startshow()’,3000)
}
else
{
num=0
clearTimeout(anim)
document.mypic.src=img1.src
}
}
</script>
</head>
<body>
<center>
<img src="0.gif" name="mypic" border=0 alt="My Image">
<br>
<a href="JavaScript:startshow()">Display animation</a> </center> </body> </html>
Also here is a brief explanation of setTimeout:
setTimeout, a method of the window object, basically delays the execution of a
function or statement until the specified time has passed. The basic syntax of
this function is:
setTimeout("expression", delaytime)
"expression" is the function/statement you want delayed, and delaytime is the
delay time, in milliseconds.
I also use clearTimeout to stop the animation once it reaches the end of the
images array.
Q. I am looking for a code to use to swap an image to the homepage each
time the page is reloaded.
A. Here are some links to some scripts that might do the trick.
http://www.javascriptkit.com/script/cut118.shtml 
http://www.javascriptkit.com/script/cut144.shtml 
Q. I am constantly creating files (pdf or word) files that I need to show
to many co-workers. Instead of having to email everyone everytime I finish a
file, I would like to upload the file to my server and have them view the list
of files online and download the ones they want. These files need to be password
protected as different people in different departments should only see files
pertaining to them. Here was my idea, create a bunch of password protected
folders on a server – one for each department, and I will upload the file to any
folder that should be allowed to view these files. Two questions: 1) I put the
files in a folder, but when I try to view the folder in a browser it tells me I
don’t have permission to access this folder (I assume because I never created an
index file). How can I set it up that I should be able to view a list of files
that are in the folder? 2) how can I create a page that will allow me to upload
files to folders using a browser?
A. I believe you are correct in that you do not have an INDEX file for
the server to show when you try to access the folder. You could create an INDEX
file with the links to the documents for downloading. I am assuming that you
have already password protected the folder? An even easier way would be to use a
password log in feature for your pages. The application would allow users to
sign up themselves and you would control which group the user should be in and
only the documents or files you allow each group or person to view. There is a
nice web application called ASPLogin. It has to run on a server that supports
ASP. For example, to make a document available to all users in a group called
‘management’, members of a group called ‘administrators’ and a user called ‘fred’
(who may or may not be in either of the groups), you would add the following
code to the top of the document:
<%@ LANGUAGE=VBScript %>
<%
Set asplObj=Server.CreateObject("ASPL.Login")
asplObj.Group("management")
asplObj.Group("administrators")
asplObj.User("Fred")
asplObj.Protect
Set asplObj=Nothing
%>
Any other group or person trying to see that document will not be allowed to see
it. It is a pretty slick application You can take a look here: http://www.asplogin.com
To create a page to allow you to upload documents would call for some scripting.
This all depends on what type of server you site is hosted on. If it is a
Windows server then it will support Active Server Pages (ASP).
Q. I’ve designed a version of the "index" page for my web-site using
style commands. I want to put a JavaScript into the header of my regular "index"
page which will bump people over to the new page if their browser is recent
enough to handle style commands. I’ve worked my way through "HTML Goodies" and
I’ve got a handle on the script to detect the user’s browser. I’m just not sure
how to detect what particular version of IE or Navigator a person is using
(i.e., whether the version is new enough to recognize style commands).
A. To answer your question, style sheets have been supported to
increasing degrees since Netscape 
4.x, Internet Explorer 3.x and Opera 3.6. There is an excellent discussion on
this subject at:
http://www.webreview.com/style/
Browser detection is a daunting enough task and even with the newer versions,
some viewers 
actually have style support turned off.
Taking this into consideration, my approach has been to build in a short message
to viewers who 
either can’t or won’t support styles and using styles to hide this message in
the background of 
the page such that the style supporters will not be aware of nor be distracted
by the message. The non supporting viewers are directed to an appropriate link
which only they can see.
I use the following code to accomplish this:
<head>
<style type="text/css">
#nostyle {
position:relative; top: 0px; left: 0px;
background-color: #000000;
border-width: 1px;
border-color: #000000;
color: #000000;
font-size: 2pt;
width: 650px;
height: 3px;
padding: 0%;
}
</style>
</head>
<body bgcolor="#000000">
<span id="nostyle">This page requires CSS which is not being supported by your
browser – Click 
on "?" for details</span>
</body>
News Goodies
					Lawyer Rips SCO Facts in Linux Brouhaha
                [November 24, 2003] Free Software Foundation lawyer Eben
                Moglen makes a case for why SCO’s legal claims to Linux code are
                without merit.
    Click
						here to read the article
    
     
    BIOS Gets Some New DNA
    [November 24, 2003] While the PC market has changed radically the past 20
    years, the firmware underneath hasn’t. Phoenix expects to change all that. 
Click here to read the article
    
    
     
    Opera Fixes Browser Takeover Flaws
    [November 24, 2003] The alternative browser firm patches a pair of
    vulnerabilities in the way the skin files are handled.
Click here to read the article
    Microsoft Notches Settlement with Another State
    [November 24, 2003] Software giant moves to settle charges in Tennessee that
    it overcharged for software
Click here to read the article
    Yahoo! Pushes New Shopping Tools for Holidays 
    [November 24, 2003] The portal promotes its comparison shopping capabilities
    as a holiday-savings finder.
Click here to read the article
                    Bush Likely to Sign Anti-Spam Bill by Jan. 1
                    [November 24, 2003] No Senate opposition expected for
                    opt-out legislation that pre-empts tougher state laws.
Click here to read the article
    
    
    Vonage Dials in $35M VC Backing
    [November 24, 2003] With competition heating up, the SIP-based broadband
    phone company adds a new investor.
Click here to read the article
    Debian Servers Hacked
    [November 21, 2003] The open source project shuts down affected servers and
    examines systems. 
    Click
						here to read the article
    
    
    Yahoo’s $120 Million Search Finds New Symbols 
     [November 21, 2003] Media play takes its search for search to Asian
    markets.
Click here to read the article
    Apple Plugs Panther, Jaguar Holes
    [November 21, 2003] The company patches OpenSSL security holes in its
    flagship operating system.
    
    Click here to read the article
                    Every week a site is selected  for review. Each week,
                    reviews of the previous week’s selected site are chosen for
                    publication on the HTML Goodies website.
                    The current week’s selected site is published in Goodies To
                    Go and in the Peer Reviews section of the website. 
                    Current contact email addresses for submitting your site and
                    for submitting reviews are published in Goodies To Go.
                    If you would like to have your site reviewed, sign up for
                    the Goodies To Go newsletter in the Navigation Bar on the
                    left side of this page.  
                    For full details about this program, see
                    
                    https://www.htmlgoodies.com/peerreviews 
 
						Did you ever wish your newsletter was an easy two way communications medium?
						Ploof! It now is!
						If you would like to comment on the newsletter or expand/improve on something
						you have seen in here, you can now send your input to:
						We already receive a lot of email every day. This address will help us sort out
						those relating specifically to this newsletter from all the rest. When you send
						email to this address it may wind up being included in this section of the
						newsletter, to be shared with your fellow readers.
            Please don’t send your questions to this address.
            They should be sent to our mentors: see
            https://www.htmlgoodies.com/mentors/ 
                    For those who are missing Peer reviews: we are once again
                    revising the Peer review program in the hopes of creating a
                    workable solution. The current plan is to move the new Peer
                    Review pages into place in the new year. All those who have
                    been selected for reviews in the past will be featured in
                    the new pages. The new method will make it much easier for
                    your peers to provide feedback and much easier for us to
                    handle the publication side of things. "Watch this space!"
                    It’s coming soon!! 
                    
                    Thanks again for all your feedback!
                     
Top
                    
 
                    
                    Windows Tech Goodie of the Week:
Expiration Date Calculator
                    
                    http://www.asp101.com/articles/john/expirationdate/default.asp
                    Some scripts you have to write… others you write because
                    they’re interesting or just plain cool… and finally there
                    are scripts like this…
                    *** And *** 
 
XSLT Support in the .NET Framework
                    
                    http://www.asp101.com/articles/jayram/xslt/default.asp
                    This article provides an overview of the .NET Framework’s
                    support for XSLT and illustrates using the XSLT features
                    present in .NET to perform data transformations.
Top
And Remember This . . .
On this day in…
1859 "Origin Of The Species" Published
            Darwin’s treatise incorporating the theory of evolution by natural
            selection was published on this day in 1859. Natural selection holds
            that organisms with genetic variations that suit their environment
            tend to propagate more descendants than organisms of the same
            species that lack the variation, thus influencing the overall
            genetic makeup of the species. Although Darwin had formulated his
            theory by 1844, he was reluctant to publish it because it clearly
            opposed the biblical story of creation. While the scientific
            community quickly accepted evolution, orthodox Christians decried it
            as heresy. The controversy was further heightened by his later
            (1871) publication of "The Descent of Man, and Selection in Relation
            to Sex" which help that man evolved from the apes. By his death in
            1882, the theory of evolution was generally accepted. There are
            still schools today, however, teaching children that the theory of
            evolution is wrong, and that the biblical story is to be taken
            literally.
            Today was also the day that: in 1642 Abel Janzoon Tasman
            discovered Tasmania; 1871 the National Rifle Association was formed
            in NYC; 1874 Joseph F. Glidden was granted a patent for
            barbed wire; 1903 Clyde Colemanwas granted a patent for the
            electric automobile starter; 1952 Agatha Christie’s "The
            Mousetrap" opened in London (it’s still running); 1963 Jack
            Ruby shot & killed Lee Harvey Oswald (assassin of President John F.
            Kennedy); 1966 400 die in NYC killer smog; 1969 Apollo
            12 returned to Earth; 1971 D.B. Cooper parachutes from a
            Northwest Airlines plane with $200,000 and disappeared; 1980
            Ronald Reagan Jr. married Doria Palmieri; 1989 communist
            party resigned in Czechoslovakia;
            Born today were: in 1632 philosopher Benedict de "Baruch"
            Spiinoza; 1784 12th US President Zachary Taylor; 1864 
            artist Henri de Toulouse-Lautrec; 1868 musician/composer
            Scott Joplin; 1888 Irish actress Cathleen Nesbitt; 1888
            author Dale Carnegie; 1912 Irish actress Geraldine
            Fitzgerald; 1921 former NYC Mayor John Lindsay; 1942 
            Scottish comedian Billy Connolly; 1950 actor Damon Evans; 
            1963 actress Lisa Howard
			
                    
Thanks for reading Goodies to Go!


