Goodies To Go! Newsletter #343

By Vince Barnes

************************************************************
Goodies to Go (tm)
June 27, 2005 -- Newsletter # 343
 
This newsletter is part of the internet.com network.
http://www.internet.com
 

************************************************************

Featured this week:
 
*   Goodies Thoughts - We're Moving!
*   Q & A Goodies
*   News Goodies
*   Feedback Goodies
*   Windows Tech Goodie of the Week 
*   And Remember This...
 
************************************************************
 
We're Moving!
 
As you have probably noticed, there have been quite a few changes going on at HTML Goodies this year.  The first and probably the largest an most noticible change was the change to the appearance of the website.  The sleek, modern look provides an easier to use navigation mechanism, although those of you who were already used to the old scheme probably had to spen a little time becoming familiar with the new - a process which is almost never too popular!
 
The new site provides us with a vastly superior mechanism for tracking where our content is, as well as how it is used.  All this enables us to better home in on those areas that are most useful to you.  It is our aim to create a resource that is informative, easy to use and understand, educational and a valuable reference tool.
 
We have several more changes in the works.  I don't want to say too much at this point in time, but suffice it to say that two of the most popular areas of the Goodies site and newsletter are being completely reworked!
 
This week we are implementing a change to the Goodies To Go Newsletter that you all know and love!  Thanks to all your feedback, none of the sections of the newsletter will be changed or removed!  We are, however, moving.  To date, and almost since its inception, Goodies To Go has been published on Mondays (except where the Monday was a U.S. national holiday, in which case t came out the next day.)  Goodies To Go is moving to Tuesday.
 
This change is needed to avoid scheduling conflicts that would otherwise have required an abbreviation of the newsletter by the removal of sections -- something you quite clearly indicated you did not want us to do!
 
Please, if you don't see your Goodies To Go in your mailbox next Monday, don't panic, don't turn to drink, don't yell at your loved ones!  It will arrive the next day and will be safe and sound!
 
Have a great week (and a day) and I'll see you next Tuesday!
 
 
 
 
 
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
http://www.htmlgoodies.com/mentors/
 
 
 
Q. Hello, I have a link question.  On my site I have the link color scheme to be black, which works well on the left bordered side of my page, but not on the right side which has a black background.  Is there anyway to change the color just one or two links without changing the color of all the links?
 
A. Using CSS and assigning a class to each link you can use different colors and other attributes to whichever links you want. For instance if you want one of your links to be black and another to be white you would set up a style sheet like this:
<style type="text/css">
a.one:link {color: #000000}
a.two:link {color: #FF0000}
</style>
Place the style between the <HEAD> tags.  Now apply the class to the actual links in your HTML like this:
<a class="one" href="default.html">This link will be black.</a>
<a class="two" href="default.html">This link will be red.</a>
 
 
 
 
  
Q. Is there anyway that I can make multiple frames load at a time without using a form, and using just a regular link?
 
A. There are a couple of different ways you can accomplish this.  The first example uses "inline javascript" to load two frames (in both examples you need to specify the name of the frame that you want the documents to load in):
<a href="#"
onClick="parent.frame_name1.location='page1.html';parent.frame_name2.location='page2.html'">Click
Me</a>
The second example uses a function that is passed the documents to load when you click on a link:
<script type="text/javascript">
  function Doframes(page1,page2)
    {
     parent.frame_name1.location=page1
     parent.frame_name2.location=page2
    }
</script>
<a href="#" onClick="Doframes('page1.html','page2.html')">Click Me</a>
 
 
 
 

    
Q. I was wondering how to have information filled our on a form sent directly to a e-mail address? If this is possible how can I implement it into my website?
 
A. It does not work very well when you try to email a form directly to an email address.  Usually what happens when the attempt to submit the for is their email client will pop up without the information from the form in the body of the email.  You should use a serverside language such as Perl PHP or Asp to process the form and email it to you.
[Take a look also at:
http://www.htmlgoodies.com/articles/emailforms1.html
http://www.htmlgoodies.com/articles/emailformphp.html  and
http://www.htmlgoodies.com/letters/226.html  -- Ed.]
 
 
 
 
 
(Ryan, who sent in this question, shared with us his work and so I have included it in its entirety -- entirely untested!  Jim's answer follows.  This is quite an interesting piece of work and I'm sure that many of you will be able to make great things out of it. -- Thanks, Ryan! -- Ed.)
    
Q. I've created a drop-down menu on a geocities site using JavaScript.
The code for the menu is within a frame that we would like to keep in place. I was wondering if there is anyway to allow the drop-down to
transcend frames because as it exsists now the drop-downs cannot be fully displayed. Thanks in advance for your help and time. The code
for the drop-down is as follows:
<center><script language="JavaScript" type="text/JavaScript"> var
isDHTML = 0; var isID = 0;
var isAll = 0;
var isLayers = 0;
<!--//
function leapto(form) {
var planlist=form.destination.selectedIndex;
parent.main.location.href=(form.destination.options[planlist].value);
planlist = 0;
// reset pulldown menu;
}
//-->
if (document.getElementById) {isID = 1; isDHTML = 1;}
else {
if (document.all) {isAll = 1; isDHTML = 1;}
else {
browserVersion = parseInt(navigator.appVersion);
if ((navigator.appName.indexOf('Netscape') != -1) && (browserVersion
==
4)) {isLayers = 1; isDHTML = 1;}
}}
function findDOM(objectID,withStyle) {
if (withStyle == 1) {
 if (isID) { return (document.getElementById(objectID).style) ; }
 else {
  if (isAll) { return (document.all[objectID].style); }
 else {
  if (isLayers) { return (document.layers[objectID]); }
 };}
}
else {
 if (isID) { return (document.getElementById(objectID)) ; }
 else {
  if (isAll) { return (document.all[objectID]); }
 else {
  if (isLayers) { return (document.layers[objectID]); }
 };}
}
}
var menuTop = 45;
var menuLeft = 400;
var domSMenu = null;
var oldDomSMenu = null;
var t = 0;
var lDelay = 3;
var lCount = 0;
var pause = 400;
function popMenu(menuNum){
if (isDHTML) {
//// Sets the previous menus visibility to hidden
 t = 2;
 if (oldDomSMenu) {
  oldDomSMenu.visibility = 'hidden';
  oldDomSMenu.zIndex = '0';
  t = 2;
  lCount = 0;
 }
///// Defines the DOMs of the menu objects
 var idMenu = 'menuHead';
 var domMenu = findDOM(idMenu,0);
 var idMenuOpt = 'menuHead' + menuNum;
 var domMenuOpt = findDOM(idMenuOpt,0);
 var idSMenu = 'menu' + menuNum;
 var domSMenu = findDOM(idSMenu,1);
///// Defines the positions of the sub-menus
if (isID || isAll) {
  var menuLeft = (domMenu.offsetLeft) + (domMenuOpt.offsetLeft) - 6;
  var menuTop = (domMenu.offsetTop) + (domMenu.offsetHeight) - 1;
 }
 if (isLayers) {
  var menuLeft = document.layers[idMenu].layers[idMenuOpt].pageX - 5;
  var menuTop = domMenu.pageY + domMenu.clip.height - 5;
 }
///// Positions and shows the menu
 if (oldDomSMenu != domSMenu) {
  domSMenu.left = menuLeft;
  domSMenu.top = menuTop;
  domSMenu.visibility = 'visible';
  domSMenu.zIndex = '100';
  oldDomSMenu = domSMenu;
 }
///// Resets oldDom if it is the same as the current DOM
 else { oldDomSMenu = null; }
 }
////// Returns a 'null' value for non-DHTML Browsers
 else { return null; }
}
function delayHide() {
///// Checks to see if there is a menu showing and whether ///// the
global variable 't' has been set to 0
    if ((oldDomSMenu) && (t == 0)) {
///// Hides the old menu, resets menu conditions,
///// and stops the function running
        oldDomSMenu.visibility = 'hidden';
        oldDomSMenu.zIndex = '0';
        oldDomSMenu = null;
        lCount = 0;
        return false;
    }
///// Interupts the function if another menu is opened
    if (t == 2) { lCount = 0; return false; }
///// Repeats the function adding 1 to lCount each time until /////
lCount is equal to lDelay and then sets 't' to 0 so that ///// the
menu will hide when it runs again
    if (t == 1) {
        lCount = lCount + 1;
        if (lDelay <= lCount) { t = 0; }
        if (lDelay >= lCount) { setTimeout('delayHide(' + t +
')',pause); }
    }
}
</script>
<br>
<div id="menuHead" class="menuStyleTop" style="position: relative;">
 <span class="spacer"> | </span>
<a  id="menuHead1" class="menuLink" href="" onMouseOut="t = 1;
delayHide(); return true" onMouseOver="popMenu(1); return
true">News</a> <span class="spacer"> | </span>
<a  id="menuHead2" class="menuLink" href="" onMouseOut="t = 1;
delayHide(); return true" onMouseOver="popMenu(2); return true">Who We
Are</a> <span class="spacer"> | </span>
<a  id="menuHead3" class="menuLink" href="" onMouseOut="t = 1;
delayHide(); return true" onMouseOver="popMenu(3); return
true">Media</a> <span class="spacer"> | </span>
<a  id="menuHead4" class="menuLink" href="" onMouseOut="t = 1;
delayHide(); return true" onMouseOver="popMenu(4); return
true">Events</a> <span class="spacer"> | </span>
<a  id="menuHead5" class="menuLink" href="" onMouseOut="t = 1;
delayHide(); return true" onMouseOver="popMenu(5); return
true">Links</a> <span class="spacer"> | </span>
<a  id="menuHead6" class="menuLink" href="" onMouseOut="t = 1;
delayHide(); return true" onMouseOver="popMenu(6); return
true">Email</a> <span class="spacer"> | </span>
<a  id="menuHead7" class="menuLink" href="" onMouseOut="t = 1;
delayHide(); return true" onMouseOver="popMenu(7); return
true">Guestbook</a> <span class="spacer"> | </span>
</div>
<div id="menu1" class="menuStyle">
<a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="news.html"  target="unter">Current</a> <a class="menuLink"
onMouseOut="t = 1; delayHide();  return true" onMouseOver="t = 2;
return true"  onClick="t = 0; delayHide();"
href="mayjunearchives.html"  target="unter">May-June Archives</a> <a
class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="maraprarchives.html"  target="unter">March-April Archives</a>
</div> <div id="menu2" class="menuStyle">
<a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="about.html"  target="unter">Bio</a>
<a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="about.html"  target="unter">Gear</a>
</div>
<div id="menu3" class="menuStyle">
<a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="sightsandsounds.html"  target="unter">Pictures</a>
<a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="sightsandsounds.html"  target="unter">MP3's</a>
<a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="sightsandsounds.html"  target="unter">Etc.</a>
</div>
<div id="menu4" class="menuStyle">
<a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="events.html"  target="unter">Upcoming</a>
<a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="events.html"  target="unter">Past</a>
</div>
<div id="menu5" class="menuStyle">
<a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="http://www.geocities.com/kevin_ikari15/index.htm" target=_new>Street
Team</a>
<a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="links.html"  target="unter">Other Bands</a>
<a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="links.html"  target="unter">Sweet Labels</a>
<a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="links.html"  target="unter">Venues</a>
</div>
<div id="menu6" class="menuStyle">
<a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="mailto:drumboy011@yahoo.com">Andrew</a>
<a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="mailto:remmiws42@hotmail.com">Eric</a>
<a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="mailto:leonheart08@hotmail.com">Evan</a>
</div>
<div id="menu7" class="menuStyle">
<a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="http://geocities.yahoo.com/gb/sign?member=nopointsscored"
target=_new>Sign</a>
<a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="http://geocities.yahoo.com/gb/view?member=nopointsscored"
target=_new>View</a>
</div>
<style>
body { margin: 0px; }
 #menuHead   {
background-color: #000000;
top: 5px;
left: 0px;
z-index: 50;
margin-top: 5px;
margin-bottom: 5px;
font-family: Verdana;
font-size: 8pxpt;
font-weight: normal;
color: #FFFFFF;
width: 100%;
height: 22px;
border-top-style: solid;
border-bottom-style: solid;
border-width: 1px;
border-color: #000000;
padding-left: 5px;
}
#menu1,#menu2,#menu3,#menu4,#menu5,#menu6,#menu7
{
position: absolute;
z-index: 100;
visibility: hidden;
width: 150px;
}
.menuStyle {
 font-family: Verdana;
 font-size: 8pxpt;
 font-weight: bold;
 border: 1px solid #000000;
 color: #FFFFFF;
 background-color: #000000;
 width:160px;
 text-align: left;
}
.menuStyle a {
 font-family: Verdana;
 font-size: 8pxpt;
 font-weight: normal;
 color: #FFFFFF;
 background-color: #000000;
 display: block;
 margin: 0;
 padding: 3px;
 padding-left: 8px;
}
.menuStyle a:link    { color: #FFFFFF; background-color: transparent;
 width: 150px; }
.menuStyle a:visited { color: #FFFFFF; background-color: transparent;
 width: 150px; }
.menuStyle a:hover   { color: #990033; background-color: #FFFFFF; width:
 150px;}
#menuHead a:link    { color: #FFFFFF; background-color: transparent; }
#menuHead a:visited { color: #FFFFFF; background-color: transparent; }
#menuHead a:hover   { color: #990033; background-color: transparent; }
.spacer
{
color: #000000;
background: transparent;
padding-left: 2px;
padding-right: 2px;
}
</style>
 
A. If I understand you correctly you want to have the dropdown display across frames.  That cannot happen because the code for the dropdown is actually in a separate window so to speak and will reside in that window within the main window which holds the separate frames.  You will have to make the frame that holds the menu larger to display the whole menu or go without frames and use a server side language such as Perl or PHP to include the code in each document.
 
 
 
 
 
 
 
News Goodies
***********************************
 
High Court Rules Against P2P
[June 27, 2005] UPDATED: Unanimous verdict hands Hollywood major victory in file-swapping wars
Read the article:
http://www.internetnews.com/bus-news/article.php/3515776
 

Court Backs Cable in Brand X Case
[June 27, 2005] Justices rule cable companies do not have to share their high-speed lines.
Read the article:
http://www.internetnews.com/bus-news/article.php/3515801
 

Open Source Release For Sun's App Server
[June 27, 2005] After OpenSolaris, another release under the Common Development and Distribution License. Will the Linux community embrace it?
Read the article:
http://www.internetnews.com/dev-news/article.php/3515651
 

BEA Widens Open Source Support
[June 27, 2005] The software maker will add new support for additional open source platforms; Bare metal of JRockit is also on tap.
Read the article:
http://www.internetnews.com/dev-news/article.php/3515761
 

Sun to Offer Sub-$1,000 Workstation
[June 27, 2005] Machines are slated for high-performance computing at a lower cost.
Read the article:
http://www.internetnews.com/ent-news/article.php/3515646
 

Play It, Google
[June 27, 2005] Video search adds playback; can pay-per-view be far behind?
Read the article:
http://www.internetnews.com/xSP/article.php/3515771
 

New Contender For Enterprise Desktop Search?
[June 27, 2005] X1 Technologies promises easy administration.
Read the article:
http://www.internetnews.com/ent-news/article.php/3515656
 

Veritas-Symantec Merger Gets Shareholder Nod
[June 24, 2005] Shareholders approved the merger of Veritas and Symantec on Friday, clearing the way for one of the largest software mergers ever.
Read the article:
http://www.internetnews.com/storage/article.php/3515381
 

SQL Server, Meet Java
[June 24, 2005] Microsoft betas a driver to let Java apps talk to its database server.
Read the article:
http://www.internetnews.com/ent-news/article.php/3515586
 

Muni Wi-Fi Aims to Close Digital Divide
[June 24, 2005] Despite good intentions, critics say cities heading down potentially dangerous and expensive road. 
Read the article:
http://www.internetnews.com/wireless/article.php/3515561
 
 
 

 
 
 
Feedback Goodies
***********************************
 
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:
 
mailto:nlfeedback@htmlgoodies.com
 
We already receive a lot of email every day.  This address helps 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 http://www.htmlgoodies.com/mentors/
 
 
 
Thanks for all your feedback!
 
 
 
 
 

Windows Tech Goodie of the Week 
***********************************
 
Word Wrap ASP.NET Sample Code
 
Carriage returns and line feeds don't count for much in HTML documents, but there are times when they're useful.  This sample shows how to take a string and word wrap it to a certain length.  This can be extremely helpful for email messages or when formatting with the <pre> tag.
 
 

*** AND ***
 

Monitoring SharePoint Usage through an ASP.NET Web Application
 
In this article, Gayan Peiris looks at creating an ASP.NET web application that will display the usage details of a selected SharePoint site.  Building such an application enables SharePoint administrators to gather all SharePoint usage data from a central location.
 
 

*** AND ***
 

Specialized Collections in .NET
 
In this article we'll look at the specialized collection classes that can be found in the System.Collections.Specialized namespace and see what features they offer over the base collection classes.
 
 
 
 
 
 
 
 
 
 
And Remember This ...
***********************************
 
On this day in...
 
1693 The first women's magazine, "The Ladies' Mercury" was published in London; 1829 James Smithson died, leaving a will that established the Smithsonian Institute; 1929 the first color TV was demonstrated in New York City; 1954 the first atomic power station opened at Obninsk, near Moscow, Russia; 1954 CIA sponsored rebels overthrow the elected government of Guatemala; 1957 390 died when Hurricane Audrey hit Texas and Louisiana; 1967 200 people were arrested in race riots in Buffalo, NY; 1969 Police raided the Stonewall gay bar in Greenwich Village, New York City, triggering a riot that lasted three days; 1977 Djibouti gained independence from France; 1990 Salman Rushdie, condemned to death by Iran, contributed $8,600 to help Iranian earthquake victims;
 
 
 
Born today were: 1462 King Louis XII (the Just) of France (1498-1515); 1550 King Charles IX of France (1560-74); 1682 King Charles XII of Sweden (1697-1718); (This date was apparently popular with "Charles"s and "the Twelfth"s !!); 1880 Blind and deaf author (but with more sense than most) Helen Keller; 1907 actor John McIntire; 1907 English actress Valerie Cossart; 1927 "Captain Kangaroo" Bob Keeshan; 1930 Texas entrepreneur & one time US presidential candidate H. Ross Perot; 1933 son of Bing, Gary Crosby; 1950 actress Julia Duffy;
 


Make a Comment

Loading Comments...

  • Web Development Newsletter Signup

    Invalid email
    You have successfuly registered to our newsletter.
  •  
  •  
  •  
Thanks for your registration, follow us on our social networks to keep up-to-date