very easy dream weaver project

http://lessons.pennfoster.com/pdf/421902 #page=64 

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

I NEED ON PAGE 61 done

Tripsmart/catalog.html

Home

Catalog

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

Services

Tours

Spain

China

Newsletter

Our products are backed by a 100% guarantee

Call today! 555-848-0807

TripSmart Copyright 2002 – 2013

Tripsmart/gaudi_draggon

Tripsmart/index.html

San Francisco this fall!
call today!

Home

Catalog

Services

Tours

Spain

China

Newsletter

 

Welcome to TripSmart � the smart choice for the savvy traveler. We’re here to help you with all your travel needs. Choose customized trips to any location or one of our Five-Star Tours, recently rated first in customer satisfaction by Traveler magazine. We are happy to arrange travel for small groups, large groups, or individuals. Our specialty is custom itineraries for independent travelers who enjoy travel at their own pace and on their own schedule. With over 30 years of experience, we can provide knowledgeable guides, comfortable and convenient hotels, and dining recommendations for every size budget.

Call 555-848-0807 today to speak with one of our friendly staff.

TripSmart
1106 Beechwood
Fayetteville, AR 72704
555-848-0807
Contact Us

 

TripSmart Copyright 2002 – 2013

Tripsmart/newsletter.html

Home

Catalog

Services

Tours

Spain

China

Newsletter

 

Our staff recently conducted a contest to determine ten top travel tips for stress-free travel. We compiled over forty great tips, but the following were selected as the winners. We hope you will find them useful for your next trip!

Ten Tips for Stress-Free Travel

Be organized.
Make a list of what you want to pack in each bag and check it as you pack. Take this inventory with you in the event your bags are lost or delayed. Then use the list again when you repack, to make sure you haven’t left anything behind.
Carry important information with you.
Keep your important travel information in easy reach at all times. Include a list of your flight numbers, confirmation numbers for your travel and hotel reservations, and any car rentals. And don’t forget printouts of your itinerary and electronic tickets. Remember to bring your passport, and keep a photocopy of it in another piece of baggage. Be sure to have copies of prescriptions, emergency phone numbers, telephone numbers and addresses of friends and relatives, complete lists of medications, and credit card information. It’s not a bad idea to email this information to yourself as a backup if you will have email access.
Pack smartly.
You know the old saying: lay out everything on your bed you plan to take with you, then remove half of it. Pack the remainder and carry your bags around the block once to make sure you can handle them yourself. If in doubt, leave it out! Use packing cubes or zip-top bags to organize your personal items, such as underwear and socks. Make distinctive-looking luggage tags with your name and address for easy identification, and be sure to include the same information inside your luggage.
Include basic medical necessities.
Besides your prescription drugs, take a basic first aid kit with the basics: bandages, anti-nausea medications, anti-diarrhea medications, aspirin, antibiotics, and prescription drugs.
Wear comfortable shoes.
Blisters can ruin a wonderful trip. Wear comfortable shoes and socks. Your priority should be comfortable, dry, warm feet — not fashion. Don’t buy new shoes without breaking them in first.
Plan for airport security.
Slip-on shoes let you slip your shoes off quickly while keeping an eye on your valuables. Having to tie and untie shoes can be distracting and delay your progress through the line. Be sure to pre-package your billfold, cell phone, keys, liquid items, jewelry, and medications in zip-top bags. This will prevent wasted time digging through your carry-on items or, worse yet, being singled out for enhanced security.
Keep a book, music, or puzzle handy.
When delayed — whether in a car, hotel, or airplane — if you have something to occupy you, you will deal with the delays more easily. Delays are par for the course. Deal with them creatively and your trip will be much less stressful.
Pack healthy snacks.
Healthy snacks in your carryon will keep you from being tempted to purchase expensive airline or airport food. When traveling in a car, you’ll make fewer unnecessary stops at fast-food windows. Dried fruit, crackers, cheese, and peanut butter can give you a quick energy boost and help keep you on budget.
Don’t forget hand sanitizers.
The individually wrapped hand sanitizing towelettes are easy to tuck into pockets, purses, and backpacks. Since they are not liquids, there is no limit to the number you can carry on airplanes. Use them in bathrooms and before and after you eat or drink. You can also use them to clean hotel remote controls and doorknobs.
Include cameras and accessories.
Remember to take extra batteries, memory cards for digital cameras, a small tripod, chargers, and instruction manuals. Learn to use the timer so you can include yourself in your photos. Offer to take photos of others with their camera and they will often return the favor for you with your camera. In humid climates remember to give your camera a chance to acclimate when you go outside to prevent a foggy lens.

TripSmart Copyright 2002 – 2013

Tripsmart/panda

Tripsmart/sea_lions

Tripsmart/services.html

Home

Catalog

Services

Tours

Spain

China

Newsletter

 

TripSmart
has several divisions of customer service to assist you in planning and making
reservations for your trip, shopping for your trip wardrobe and providing expert
guide services. Give us a call and we will be happy to connect you with one
of the following departments: Reservations, Travel Outfitters, or Escorted Tours.
If you are not quite ready to talk with one of our departments and would prefer
doing some of your own research first, may we suggest beginning with our Helpful
Links in Travel Planning.

Reservations
Our Reservations Department is staffed with five Certified Travel Agents,
each of whom is eager to assist you in making your travel plans. They have specialty
areas in Africa, the Caribbean, South America, Western Europe, Eastern Europe,
Asia, Antarctica, and Hawaii and the South Pacific. They also specialize in
Senior Travel, Family Travel, Student Travel, and Special Needs Travel. Call
us at (555) 848-0807 extension 75 or e-mail us at Reservations to begin making your travel plans now. We will be happy to send you brochures
and listings of Internet addresses to help you get started. We are open from
8:00 a.m. until 6:00 p.m. CST.

Travel
Outfitters
Our travel outfitters are seasoned travelers that have accumulated a vast amount
of knowledge in appropriate travel clothing and accessories for specific destinations.
Climate and seasons, of course, are important factors in planning your wardrobe
for a trip. Area customs should also be taken in consideration so as not to
offend the local residents with inappropriate dress. When traveling abroad,
we always hope that our customers will represent our country well as good ambassadors.
If they can be comfortable and stylish at the same time, we have succeeded!
Our clothing is all affordable and packs well on long trips. Most can be washed
easily in a hotel sink and hung to drip-dry overnight. Browse through our on-line
catalog, then give us a call at (555) 433-7844 extension 85. We will
also be happy to mail you a catalog of our extensive collection of travel clothing
and accessories.

Escorted
Tours
Our Escorted Tours department is always hard at work planning the next exciting
destination to offer our TripSmart customers. We have seven professional tour
guides that accompany our guests from the United States point of departure to
their point of return.

Our current
feature package tour is to Spain. Our local escort is Don Eugene. Don has traveled
Spain extensively and enjoys sharing his love for this exciting country with
others. He will be
assisted after arrival in Spain with the services of archeologist JoAnne Rife,
anthropologist Christina Elizabeth, and naturalist
Iris Albert. Call us at (555) 848-0807 extension 95 for information on the Spain trip or to learn
about other destinations being currently scheduled.

Helpful
Links in Travel Planning
The following links may be helpful in your travel research. Happy surfing!

CNN Travel Channel – News affecting travel plans to various destinations
US Department of State – Travel warnings, passport information, and more
Yahoo! Currency Converter – Calculate the exchange rate between two currencies
The Weather Channel – Weather, flight delays, and driving conditions

TripSmart Copyright 2002 – 2013

Tripsmart/SpryMenuBar.js
// SpryMenuBar.js – version 0.12 – Spry Pre-Release 1.6.1
//
// Copyright (c) 2006. Adobe Systems Incorporated.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// * Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
// * Neither the name of Adobe Systems Incorporated nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS”
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
/*******************************************************************************
SpryMenuBar.js
This file handles the JavaScript for Spry Menu Bar. You should have no need
to edit this file. Some highlights of the MenuBar object is that timers are
used to keep submenus from showing up until the user has hovered over the parent
menu item for some time, as well as a timer for when they leave a submenu to keep
showing that submenu until the timer fires.
*******************************************************************************/
var Spry; if (!Spry) Spry = {}; if (!Spry.Widget) Spry.Widget = {};
Spry.BrowserSniff = function()
{
var b = navigator.appName.toString();
var up = navigator.platform.toString();
var ua = navigator.userAgent.toString();
this.mozilla = this.ie = this.opera = this.safari = false;
var re_opera = /Opera.([0-9\.]*)/i;
var re_msie = /MSIE.([0-9\.]*)/i;
var re_gecko = /gecko/i;
var re_safari = /(applewebkit|safari)\/([\d\.]*)/i;
var r = false;
if ( (r = ua.match(re_opera))) {
this.opera = true;
this.version = parseFloat(r[1]);
} else if ( (r = ua.match(re_msie))) {
this.ie = true;
this.version = parseFloat(r[1]);
} else if ( (r = ua.match(re_safari))) {
this.safari = true;
this.version = parseFloat(r[2]);
} else if (ua.match(re_gecko)) {
var re_gecko_version = /rv:\s*([0-9\.]+)/i;
r = ua.match(re_gecko_version);
this.mozilla = true;
this.version = parseFloat(r[1]);
}
this.windows = this.mac = this.linux = false;
this.Platform = ua.match(/windows/i) ? “windows” :
(ua.match(/linux/i) ? “linux” :
(ua.match(/mac/i) ? “mac” :
ua.match(/unix/i)? “unix” : “unknown”));
this[this.Platform] = true;
this.v = this.version;
if (this.safari && this.mac && this.mozilla) {
this.mozilla = false;
}
};
Spry.is = new Spry.BrowserSniff();
// Constructor for Menu Bar
// element should be an ID of an unordered list (

    tag)
    // preloadImage1 and preloadImage2 are images for the rollover state of a menu
    Spry.Widget.MenuBar = function(element, opts)
    {
    this.init(element, opts);
    };
    Spry.Widget.MenuBar.prototype.init = function(element, opts)
    {
    this.element = this.getElement(element);
    // represents the current (sub)menu we are operating on
    this.currMenu = null;
    this.showDelay = 250;
    this.hideDelay = 600;
    if(typeof document.getElementById == ‘undefined’ || (navigator.vendor == ‘Apple Computer, Inc.’ && typeof window.XMLHttpRequest == ‘undefined’) || (Spry.is.ie && typeof document.uniqueID == ‘undefined’))
    {
    // bail on older unsupported browsers
    return;
    }
    // Fix IE6 CSS images flicker
    if (Spry.is.ie && Spry.is.version < 7){ try { document.execCommand("BackgroundImageCache", false, true); } catch(err) {} } this.upKeyCode = Spry.Widget.MenuBar.KEY_UP; this.downKeyCode = Spry.Widget.MenuBar.KEY_DOWN; this.leftKeyCode = Spry.Widget.MenuBar.KEY_LEFT; this.rightKeyCode = Spry.Widget.MenuBar.KEY_RIGHT; this.escKeyCode = Spry.Widget.MenuBar.KEY_ESC; this.hoverClass = 'MenuBarItemHover'; this.subHoverClass = 'MenuBarItemSubmenuHover'; this.subVisibleClass ='MenuBarSubmenuVisible'; this.hasSubClass = 'MenuBarItemSubmenu'; this.activeClass = 'MenuBarActive'; this.isieClass = 'MenuBarItemIE'; this.verticalClass = 'MenuBarVertical'; this.horizontalClass = 'MenuBarHorizontal'; this.enableKeyboardNavigation = true; this.hasFocus = false; // load hover images now if(opts) { for(var k in opts) { if (typeof this[k] == 'undefined') { var rollover = new Image; rollover.src = opts[k]; } } Spry.Widget.MenuBar.setOptions(this, opts); } // safari doesn't support tabindex if (Spry.is.safari) this.enableKeyboardNavigation = false; if(this.element) { this.currMenu = this.element; var items = this.element.getElementsByTagName('li'); for(var i=0; i 0 && this.enableKeyboardNavigation)
    items[i].getElementsByTagName(‘a’)[0].tabIndex=’-1′;
    this.initialize(items[i], element);
    if(Spry.is.ie)
    {
    this.addClassName(items[i], this.isieClass);
    items[i].style.position = “static”;
    }
    }
    if (this.enableKeyboardNavigation)
    {
    var self = this;
    this.addEventListener(document, ‘keydown’, function(e){self.keyDown(e); }, false);
    }
    if(Spry.is.ie)
    {
    if(this.hasClassName(this.element, this.verticalClass))
    {
    this.element.style.position = “relative”;
    }
    var linkitems = this.element.getElementsByTagName(‘a’);
    for(var i=0; i 0)
    {
    layers[0].parentNode.removeChild(layers[0]);
    }
    };
    // clearMenus for Menu Bar
    // root is the top level unordered list (

      tag)
      Spry.Widget.MenuBar.prototype.clearMenus = function(root)
      {
      var menus = root.getElementsByTagName(‘ul’);
      for(var i=0; i 0 ? submenus[0] : null);
      if(menu)
      this.addClassName(link, this.hasSubClass);
      if(!Spry.is.ie)
      {
      // define a simple function that comes standard in IE to determine
      // if a node is within another node
      listitem.contains = function(testNode)
      {
      // this refers to the list item
      if(testNode == null)
      return false;
      if(testNode == this)
      return true;
      else
      return this.contains(testNode.parentNode);
      };
      }
      // need to save this for scope further down
      var self = this;
      this.addEventListener(listitem, ‘mouseover’, function(e){self.mouseOver(listitem, e);}, false);
      this.addEventListener(listitem, ‘mouseout’, function(e){if (self.enableKeyboardNavigation) self.clearSelection(); self.mouseOut(listitem, e);}, false);
      if (this.enableKeyboardNavigation)
      {
      this.addEventListener(link, ‘blur’, function(e){self.onBlur(listitem);}, false);
      this.addEventListener(link, ‘focus’, function(e){self.keyFocus(listitem, e);}, false);
      }
      };
      Spry.Widget.MenuBar.prototype.keyFocus = function (listitem, e)
      {
      this.lastOpen = listitem.getElementsByTagName(‘a’)[0];
      this.addClassName(this.lastOpen, listitem.getElementsByTagName(‘ul’).length > 0 ? this.subHoverClass : this.hoverClass);
      this.hasFocus = true;
      };
      Spry.Widget.MenuBar.prototype.onBlur = function (listitem)
      {
      this.clearSelection(listitem);
      };
      Spry.Widget.MenuBar.prototype.clearSelection = function(el){
      //search any intersection with the current open element
      if (!this.lastOpen)
      return;
      if (el)
      {
      el = el.getElementsByTagName(‘a’)[0];

      // check children
      var item = this.lastOpen;
      while (item != this.element)
      {
      var tmp = el;
      while (tmp != this.element)
      {
      if (tmp == item)
      return;
      try{
      tmp = tmp.parentNode;
      }catch(err){break;}
      }
      item = item.parentNode;
      }
      }
      var item = this.lastOpen;
      while (item != this.element)
      {
      this.hideSubmenu(item.parentNode);
      var link = item.getElementsByTagName(‘a’)[0];
      this.removeClassName(link, this.hoverClass);
      this.removeClassName(link, this.subHoverClass);
      item = item.parentNode;
      }
      this.lastOpen = false;
      };
      Spry.Widget.MenuBar.prototype.keyDown = function (e)
      {
      if (!this.hasFocus)
      return;
      if (!this.lastOpen)
      {
      this.hasFocus = false;
      return;
      }
      var e = e|| event;
      var listitem = this.lastOpen.parentNode;
      var link = this.lastOpen;
      var submenus = listitem.getElementsByTagName(‘ul’);
      var menu = (submenus.length > 0 ? submenus[0] : null);
      var hasSubMenu = (menu) ? true : false;
      var opts = [listitem, menu, null, this.getSibling(listitem, ‘previousSibling’), this.getSibling(listitem, ‘nextSibling’)];

      if (!opts[3])
      opts[2] = (listitem.parentNode.parentNode.nodeName.toLowerCase() == ‘li’)?listitem.parentNode.parentNode:null;
      var found = 0;
      switch (e.keyCode){
      case this.upKeyCode:
      found = this.getElementForKey(opts, ‘y’, 1);
      break;
      case this.downKeyCode:
      found = this.getElementForKey(opts, ‘y’, -1);
      break;
      case this.leftKeyCode:
      found = this.getElementForKey(opts, ‘x’, 1);
      break;
      case this.rightKeyCode:
      found = this.getElementForKey(opts, ‘x’, -1);
      break;
      case this.escKeyCode:
      case 9:
      this.clearSelection();
      this.hasFocus = false;
      default: return;
      }
      switch (found)
      {
      case 0: return;
      case 1:
      //subopts
      this.mouseOver(listitem, e);
      break;
      case 2:
      //parent
      this.mouseOut(opts[2], e);
      break;
      case 3:
      case 4:
      // left – right
      this.removeClassName(link, hasSubMenu ? this.subHoverClass : this.hoverClass);
      break;
      }
      var link = opts[found].getElementsByTagName(‘a’)[0];
      if (opts[found].nodeName.toLowerCase() == ‘ul’)
      opts[found] = opts[found].getElementsByTagName(‘li’)[0];
      this.addClassName(link, opts[found].getElementsByTagName(‘ul’).length > 0 ? this.subHoverClass : this.hoverClass);
      this.lastOpen = link;
      opts[found].getElementsByTagName(‘a’)[0].focus();

      //stop further event handling by the browser
      return Spry.Widget.MenuBar.stopPropagation(e);
      };
      Spry.Widget.MenuBar.prototype.mouseOver = function (listitem, e)
      {
      var link = listitem.getElementsByTagName(‘a’)[0];
      var submenus = listitem.getElementsByTagName(‘ul’);
      var menu = (submenus.length > 0 ? submenus[0] : null);
      var hasSubMenu = (menu) ? true : false;
      if (this.enableKeyboardNavigation)
      this.clearSelection(listitem);
      if(this.bubbledTextEvent())
      {
      // ignore bubbled text events
      return;
      }
      if (listitem.closetime)
      clearTimeout(listitem.closetime);
      if(this.currMenu == listitem)
      {
      this.currMenu = null;
      }
      // move the focus too
      if (this.hasFocus)
      link.focus();
      // show menu highlighting
      this.addClassName(link, hasSubMenu ? this.subHoverClass : this.hoverClass);
      this.lastOpen = link;
      if(menu && !this.hasClassName(menu, this.subHoverClass))
      {
      var self = this;
      listitem.opentime = window.setTimeout(function(){self.showSubmenu(menu);}, this.showDelay);
      }
      };
      Spry.Widget.MenuBar.prototype.mouseOut = function (listitem, e)
      {
      var link = listitem.getElementsByTagName(‘a’)[0];
      var submenus = listitem.getElementsByTagName(‘ul’);
      var menu = (submenus.length > 0 ? submenus[0] : null);
      var hasSubMenu = (menu) ? true : false;
      if(this.bubbledTextEvent())
      {
      // ignore bubbled text events
      return;
      }
      var related = (typeof e.relatedTarget != ‘undefined’ ? e.relatedTarget : e.toElement);
      if(!listitem.contains(related))
      {
      if (listitem.opentime)
      clearTimeout(listitem.opentime);
      this.currMenu = listitem;
      // remove menu highlighting
      this.removeClassName(link, hasSubMenu ? this.subHoverClass : this.hoverClass);
      if(menu)
      {
      var self = this;
      listitem.closetime = window.setTimeout(function(){self.hideSubmenu(menu);}, this.hideDelay);
      }
      if (this.hasFocus)
      link.blur();
      }
      };
      Spry.Widget.MenuBar.prototype.getSibling = function(element, sibling)
      {
      var child = element[sibling];
      while (child && child.nodeName.toLowerCase() !=’li’)
      child = child[sibling];
      return child;
      };
      Spry.Widget.MenuBar.prototype.getElementForKey = function(els, prop, dir)
      {
      var found = 0;
      var rect = Spry.Widget.MenuBar.getPosition;
      var ref = rect(els[found]);
      var hideSubmenu = false;
      //make the subelement visible to compute the position
      if (els[1] && !this.hasClassName(els[1], this.MenuBarSubmenuVisible))
      {
      els[1].style.visibility = ‘hidden’;
      this.showSubmenu(els[1]);
      hideSubmenu = true;
      }
      var isVert = this.hasClassName(this.element, this.verticalClass);
      var hasParent = els[0].parentNode.parentNode.nodeName.toLowerCase() == ‘li’ ? true : false;

      for (var i = 1; i < els.length; i++){ //when navigating on the y axis in vertical menus, ignore children and parents if(prop=='y' && isVert && (i==1 || i==2)) { continue; } //when navigationg on the x axis in the FIRST LEVEL of horizontal menus, ignore children and parents if(prop=='x' && !isVert && !hasParent && (i==1 || i==2)) { continue; } if (els[i]) { var tmp = rect(els[i]); if ( (dir * tmp[prop]) < (dir * ref[prop])) { ref = tmp; found = i; } } } // hide back the submenu if (els[1] && hideSubmenu){ this.hideSubmenu(els[1]); els[1].style.visibility = ''; } return found; }; Spry.Widget.MenuBar.camelize = function(str) { if (str.indexOf('-') == -1){ return str; } var oStringList = str.split('-'); var isFirstEntry = true; var camelizedString = ''; for(var i=0; i < oStringList.length; i++) { if(oStringList[i].length>0)
      {
      if(isFirstEntry)
      {
      camelizedString = oStringList[i];
      isFirstEntry = false;
      }
      else
      {
      var s = oStringList[i];
      camelizedString += s.charAt(0).toUpperCase() + s.substring(1);
      }
      }
      }
      return camelizedString;
      };
      Spry.Widget.MenuBar.getStyleProp = function(element, prop)
      {
      var value;
      try
      {
      if (element.style)
      value = element.style[Spry.Widget.MenuBar.camelize(prop)];
      if (!value)
      if (document.defaultView && document.defaultView.getComputedStyle)
      {
      var css = document.defaultView.getComputedStyle(element, null);
      value = css ? css.getPropertyValue(prop) : null;
      }
      else if (element.currentStyle)
      {
      value = element.currentStyle[Spry.Widget.MenuBar.camelize(prop)];
      }
      }
      catch (e) {}
      return value == ‘auto’ ? null : value;
      };
      Spry.Widget.MenuBar.getIntProp = function(element, prop)
      {
      var a = parseInt(Spry.Widget.MenuBar.getStyleProp(element, prop),10);
      if (isNaN(a))
      return 0;
      return a;
      };
      Spry.Widget.MenuBar.getPosition = function(el, doc)
      {
      doc = doc || document;
      if (typeof(el) == ‘string’) {
      el = doc.getElementById(el);
      }
      if (!el) {
      return false;
      }
      if (el.parentNode === null || Spry.Widget.MenuBar.getStyleProp(el, ‘display’) == ‘none’) {
      //element must be visible to have a box
      return false;
      }
      var ret = {x:0, y:0};
      var parent = null;
      var box;
      if (el.getBoundingClientRect) { // IE
      box = el.getBoundingClientRect();
      var scrollTop = doc umentElement.scrollTop || doc.body.scrollTop;
      var scrollLeft = doc umentElement.scrollLeft || doc.body.scrollLeft;
      ret.x = box.left + scrollLeft;
      ret.y = box.top + scrollTop;
      } else if (doc.getBoxObjectFor) { // gecko
      box = doc.getBoxObjectFor(el);
      ret.x = box.x;
      ret.y = box.y;
      } else { // safari/opera
      ret.x = el.offsetLeft;
      ret.y = el.offsetTop;
      parent = el.offsetParent;
      if (parent != el) {
      while (parent) {
      ret.x += parent.offsetLeft;
      ret.y += parent.offsetTop;
      parent = parent.offsetParent;
      }
      }
      // opera & (safari absolute) incorrectly account for body offsetTop
      if (Spry.is.opera || Spry.is.safari && Spry.Widget.MenuBar.getStyleProp(el, ‘position’) == ‘absolute’)
      ret.y -= doc.body.offsetTop;
      }
      if (el.parentNode)
      parent = el.parentNode;
      else
      parent = null;
      if (parent.nodeName){
      var cas = parent.nodeName.toUpperCase();
      while (parent && cas != ‘BODY’ && cas != ‘HTML’) {
      cas = parent.nodeName.toUpperCase();
      ret.x -= parent.scrollLeft;
      ret.y -= parent.scrollTop;
      if (parent.parentNode)
      parent = parent.parentNode;
      else
      parent = null;
      }
      }
      return ret;
      };
      Spry.Widget.MenuBar.stopPropagation = function(ev)
      {
      if (ev.stopPropagation)
      ev.stopPropagation();
      else
      ev.cancelBubble = true;
      if (ev.preventDefault)
      ev.preventDefault();
      else
      ev.returnValue = false;
      };
      Spry.Widget.MenuBar.setOptions = function(obj, optionsObj, ignoreUndefinedProps)
      {
      if (!optionsObj)
      return;
      for (var optionName in optionsObj)
      {
      if (ignoreUndefinedProps && optionsObj[optionName] == undefined)
      continue;
      obj[optionName] = optionsObj[optionName];
      }
      };

      Tripsmart/SpryMenuBarHorizontal.css
      @charset “UTF-8”;
      /* SpryMenuBarHorizontal.css – version 0.6 – Spry Pre-Release 1.6.1 */
      /* Copyright (c) 2006. Adobe Systems Incorporated. All rights reserved. */
      /*******************************************************************************
      LAYOUT INFORMATION: describes box model, positioning, z-order
      *******************************************************************************/
      /* The outermost container of the Menu Bar, an auto width box with no margin or padding */
      ul.MenuBarHorizontal
      {
      margin: 0;
      padding: 0;
      list-style-type: none;
      font-size: 14px;
      cursor: default;
      width: auto;
      font-family: Arial, Helvetica, sans-serif;
      font-weight: bold;
      }
      /* Set the active Menu Bar with this class, currently setting z-index to accomodate IE rendering bug: http://therealcrisp.xs4all.nl/meuk/IE-zindexbug.html */
      ul.MenuBarActive
      {
      z-index: 1000;
      }
      /* Menu item containers, position children relative to this container and are a fixed width */
      ul.MenuBarHorizontal li
      {
      margin: 0;
      padding: 0;
      list-style-type: none;
      font-size: 100%;
      position: relative;
      text-align: center;
      cursor: pointer;
      width: 190px;
      float: left;
      height: 25px;
      }
      /* Submenus should appear below their parent (top: 0) with a higher z-index, but they are initially off the left side of the screen (-1000em) */
      ul.MenuBarHorizontal ul
      {
      margin: 0;
      padding: 0;
      list-style-type: none;
      font-size: 100%;
      z-index: 1020;
      cursor: default;
      width: 8.2em;
      position: absolute;
      left: -1000em;
      }
      /* Submenu that is showing with class designation MenuBarSubmenuVisible, we set left to auto so it comes onto the screen below its parent menu item */
      ul.MenuBarHorizontal ul.MenuBarSubmenuVisible
      {
      left: auto;
      }
      /* Menu item containers are same fixed width as parent */
      ul.MenuBarHorizontal ul li
      {
      width: 8.2em;
      }
      /* Submenus should appear slightly overlapping to the right (95%) and up (-5%) */
      ul.MenuBarHorizontal ul ul
      {
      position: absolute;
      margin: -5% 0 0 95%;
      }
      /* Submenu that is showing with class designation MenuBarSubmenuVisible, we set left to 0 so it comes onto the screen */
      ul.MenuBarHorizontal ul.MenuBarSubmenuVisible ul.MenuBarSubmenuVisible
      {
      left: auto;
      top: 0;
      }
      /*******************************************************************************
      DESIGN INFORMATION: describes color scheme, borders, fonts
      *******************************************************************************/
      /* Submenu containers have borders on all sides */
      ul.MenuBarHorizontal ul
      {
      border: 1px solid #CCC;
      }
      /* Menu items are a light gray block with padding and no text decoration */
      ul.MenuBarHorizontal a
      {
      display: block;
      cursor: pointer;
      background-color: #663;
      padding: 0.5em 0.75em;
      color: #FFF;
      text-decoration: none;
      }
      /* Menu items that have mouse over or focus have a blue background and white text */
      ul.MenuBarHorizontal a:hover, ul.MenuBarHorizontal a:focus
      {
      background-color: #C90;
      color: #663;
      }
      /* Menu items that are open with submenus are set to MenuBarItemHover with a blue background and white text */
      ul.MenuBarHorizontal a.MenuBarItemHover, ul.MenuBarHorizontal a.MenuBarItemSubmenuHover, ul.MenuBarHorizontal a.MenuBarSubmenuVisible
      {
      background-color: #CC6;
      color: #663;
      }
      /*******************************************************************************
      SUBMENU INDICATION: styles if there is a submenu under a given menu item
      *******************************************************************************/
      /* Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */
      ul.MenuBarHorizontal a.MenuBarItemSubmenu
      {
      background-image: url(SpryMenuBarDown.gif);
      background-repeat: no-repeat;
      background-position: 95% 50%;
      }
      /* Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */
      ul.MenuBarHorizontal ul a.MenuBarItemSubmenu
      {
      background-image: url(SpryMenuBarRight.gif);
      background-repeat: no-repeat;
      background-position: 95% 50%;
      }
      /* Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a “hover” background image positioned on the far left (95%) and centered vertically (50%) */
      ul.MenuBarHorizontal a.MenuBarItemSubmenuHover
      {
      background-image: url(SpryMenuBarDownHover.gif);
      background-repeat: no-repeat;
      background-position: 95% 50%;
      }
      /* Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a “hover” background image positioned on the far left (95%) and centered vertically (50%) */
      ul.MenuBarHorizontal ul a.MenuBarItemSubmenuHover
      {
      background-image: url(SpryMenuBarRightHover.gif);
      background-repeat: no-repeat;
      background-position: 95% 50%;
      }
      /*******************************************************************************
      BROWSER HACKS: the hacks below should not be changed unless you are an expert
      *******************************************************************************/
      /* HACK FOR IE: to make sure the sub menus show above form controls, we underlay each submenu with an iframe */
      ul.MenuBarHorizontal iframe
      {
      position: absolute;
      z-index: 1010;
      filter:alpha(opacity:0.1);
      }
      /* HACK FOR IE: to stabilize appearance of menu items; the slash in float is to keep IE 5.0 from parsing */
      @media screen, projection
      {
      ul.MenuBarHorizontal li.MenuBarItemIE
      {
      display: inline;
      f\loat: left;
      background: #FFF;
      }
      }

      Tripsmart/swfobject_modified.js
      /*! SWFObject v2.0
      Copyright (c) 2007 Geoff Stearns, Michael Williams, and Bobby van der Sluis
      This software is released under the MIT License
      */
      var swfobject = function() {

      var UNDEF = “undefined”,
      OBJECT = “object”,
      SHOCKWAVE_FLASH = “Shockwave Flash”,
      SHOCKWAVE_FLASH_AX = “ShockwaveFlash.ShockwaveFlash”,
      FLASH_MIME_TYPE = “application/x-shockwave-flash”,
      EXPRESS_INSTALL_ID = “SWFObjectExprInst”,

      win = window,
      doc = document,
      nav = navigator,

      domLoadFnArr = [],
      regObjArr = [],
      timer = null,
      storedAltContent = null,
      storedAltContentId = null,
      isDomLoaded = false,
      isExpressInstallActive = false;

      /* Centralized function for browser feature detection
      – Proprietary feature detection (conditional compiling) is used to detect Internet Explorer’s features
      – User agent string detection is only used when no alternative is possible
      – Is executed directly for optimal performance
      */
      var ua = function() {
      var w3cdom = typeof doc.getElementById != UNDEF && typeof doc.getElementsByTagName != UNDEF && typeof doc.createElement != UNDEF && typeof doc.appendChild != UNDEF && typeof doc.replaceChild != UNDEF && typeof doc.removeChild != UNDEF && typeof doc.cloneNode != UNDEF,
      playerVersion = [0,0,0],
      d = null;
      if (typeof nav.plugins != UNDEF && typeof nav.plugins[SHOCKWAVE_FLASH] == OBJECT) {
      d = nav.plugins[SHOCKWAVE_FLASH].description;
      if (d) {
      d = d.replace(/^.*\s+(\S+\s+\S+$)/, “$1”);
      playerVersion[0] = parseInt(d.replace(/^(.*)\..*$/, “$1”), 10);
      playerVersion[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, “$1”), 10);
      playerVersion[2] = /r/.test(d) ? parseInt(d.replace(/^.*r(.*)$/, “$1”), 10) : 0;
      }
      }
      else if (typeof win.ActiveXObject != UNDEF) {
      var a = null, fp6Crash = false;
      try {
      a = new ActiveXObject(SHOCKWAVE_FLASH_AX + “.7”);
      }
      catch(e) {
      try {
      a = new ActiveXObject(SHOCKWAVE_FLASH_AX + “.6”);
      playerVersion = [6,0,21];
      a.AllowScriptAccess = “always”; // Introduced in fp6.0.47
      }
      catch(e) {
      if (playerVersion[0] == 6) {
      fp6Crash = true;
      }
      }
      if (!fp6Crash) {
      try {
      a = new ActiveXObject(SHOCKWAVE_FLASH_AX);
      }
      catch(e) {}
      }
      }
      if (!fp6Crash && a) { // a will return null when ActiveX is disabled
      try {
      d = a.GetVariable(“$version”); // Will crash fp6.0.21/23/29
      if (d) {
      d = d.split(” “)[1].split(“,”);
      playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
      }
      }
      catch(e) {}
      }
      }
      var u = nav.userAgent.toLowerCase(),
      p = nav.platform.toLowerCase(),
      webkit = /webkit/.test(u) ? parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, “$1”)) : false, // returns either the webkit version or false if not webkit
      ie = false,
      windows = p ? /win/.test(p) : /win/.test(u),
      mac = p ? /mac/.test(p) : /mac/.test(u);
      /*@cc_on
      ie = true;
      @if (@_win32)
      windows = true;
      @elif (@_mac)
      mac = true;
      @end
      @*/
      return { w3cdom:w3cdom, pv:playerVersion, webkit:webkit, ie:ie, win:windows, mac:mac };
      }();
      /* Cross-browser onDomLoad
      – Based on Dean Edwards’ solution: http://dean.edwards.name/weblog/2006/06/again/
      – Will fire an event as soon as the DOM of a page is loaded (supported by Gecko based browsers – like Firefox -, IE, Opera9+, Safari)
      */
      var onDomLoad = function() {
      if (!ua.w3cdom) {
      return;
      }
      addDomLoadEvent(main);
      if (ua.ie && ua.win) {
      try { // Avoid a possible Operation Aborted error
      doc.write(““); // String is split into pieces to avoid Norton AV to add code that can cause errors
      var s = getElementById(“__ie_ondomload”);
      if (s) {
      s.onreadystatechange = function() {
      if (this.readyState == “complete”) {
      this.parentNode.removeChild(this);
      callDomLoadFunctions();
      }
      };
      }
      }
      catch(e) {}
      }
      if (ua.webkit && typeof doc.readyState != UNDEF) {
      timer = setInterval(function() { if (/loaded|complete/.test(doc.readyState)) { callDomLoadFunctions(); }}, 10);
      }
      if (typeof doc.addEventListener != UNDEF) {
      doc.addEventListener(“DOMContentLoaded”, callDomLoadFunctions, null);
      }
      addLoadEvent(callDomLoadFunctions);
      }();

      function callDomLoadFunctions() {
      if (isDomLoaded) {
      return;
      }
      if (ua.ie && ua.win) { // Test if we can really add elements to the DOM; we don’t want to fire it too early
      var s = createElement(“span”);
      try { // Avoid a possible Operation Aborted error
      var t = doc.getElementsByTagName(“body”)[0].appendChild(s);
      t.parentNode.removeChild(t);
      }
      catch (e) {
      return;
      }
      }
      isDomLoaded = true;
      if (timer) {
      clearInterval(timer);
      timer = null;
      }
      var dl = domLoadFnArr.length;
      for (var i = 0; i < dl; i++) { domLoadFnArr[i](); } } function addDomLoadEvent(fn) { if (isDomLoaded) { fn(); } else { domLoadFnArr[domLoadFnArr.length] = fn; // Array.push() is only available in IE5.5+ } } /* Cross-browser onload - Based on James Edwards' solution: http://brothercake.com/site/resources/scripts/onload/ - Will fire an event as soon as a web page including all of its assets are loaded */ function addLoadEvent(fn) { if (typeof win.addEventListener != UNDEF) { win.addEventListener("load", fn, false); } else if (typeof doc.addEventListener != UNDEF) { doc.addEventListener("load", fn, false); } else if (typeof win.attachEvent != UNDEF) { win.attachEvent("onload", fn); } else if (typeof win.onload == "function") { var fnOld = win.onload; win.onload = function() { fnOld(); fn(); }; } else { win.onload = fn; } } /* Main function - Will preferably execute onDomLoad, otherwise onload (as a fallback) */ function main() { // Static publishing only var rl = regObjArr.length; for (var i = 0; i < rl; i++) { // For each registered object element var id = regObjArr[i].id; if (ua.pv[0] > 0) {
      var obj = getElementById(id);
      if (obj) {
      regObjArr[i].width = obj.getAttribute(“width”) ? obj.getAttribute(“width”) : “0”;
      regObjArr[i].height = obj.getAttribute(“height”) ? obj.getAttribute(“height”) : “0”;
      if (hasPlayerVersion(regObjArr[i].swfVersion)) { // Flash plug-in version >= Flash content version: Houston, we have a match!
      if (ua.webkit && ua.webkit < 312) { // Older webkit engines ignore the object element's nested param elements fixParams(obj); } setVisibility(id, true); } else if (regObjArr[i].expressInstall && !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac)) { // Show the Adobe Express Install dialog if set by the web page author and if supported (fp6.0.65+ on Win/Mac OS only) showExpressInstall(regObjArr[i]); } else { // Flash plug-in and Flash content version mismatch: display alternative content instead of Flash content displayAltContent(obj); } } } else { // If no fp is installed, we let the object element do its job (show alternative content) setVisibility(id, true); } } } /* Fix nested param elements, which are ignored by older webkit engines - This includes Safari up to and including version 1.2.2 on Mac OS 10.3 - Fall back to the proprietary embed element */ function fixParams(obj) { var nestedObj = obj.getElementsByTagName(OBJECT)[0]; if (nestedObj) { var e = createElement("embed"), a = nestedObj.attributes; if (a) { var al = a.length; for (var i = 0; i < al; i++) { if (a[i].nodeName.toLowerCase() == "data") { e.setAttribute("src", a[i].nodeValue); } else { e.setAttribute(a[i].nodeName, a[i].nodeValue); } } } var c = nestedObj.childNodes; if (c) { var cl = c.length; for (var j = 0; j < cl; j++) { if (c[j].nodeType == 1 && c[j].nodeName.toLowerCase() == "param") { e.setAttribute(c[j].getAttribute("name"), c[j].getAttribute("value")); } } } obj.parentNode.replaceChild(e, obj); } } /* Fix hanging audio/video threads and force open sockets and NetConnections to disconnect - Occurs when unloading a web page in IE using fp8+ and innerHTML/outerHTML - Dynamic publishing only */ function fixObjectLeaks(id) { if (ua.ie && ua.win && hasPlayerVersion("8.0.0")) { win.attachEvent("onunload", function () { var obj = getElementById(id); if (obj) { for (var i in obj) { if (typeof obj[i] == "function") { obj[i] = function() {}; } } obj.parentNode.removeChild(obj); } }); } } /* Show the Adobe Express Install dialog - Reference: http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=6a253b75 */ function showExpressInstall(regObj) { isExpressInstallActive = true; var obj = getElementById(regObj.id); if (obj) { if (regObj.altContentId) { var ac = getElementById(regObj.altContentId); if (ac) { storedAltContent = ac; storedAltContentId = regObj.altContentId; } } else { storedAltContent = abstractAltContent(obj); } if (!(/%$/.test(regObj.width)) && parseInt(regObj.width, 10) < 310) { regObj.width = "310"; } if (!(/%$/.test(regObj.height)) && parseInt(regObj.height, 10) < 137) { regObj.height = "137"; } doc.title = doc.title.slice(0, 47) + " - Flash Player Installation"; var pt = ua.ie && ua.win ? "ActiveX" : "PlugIn", dt = doc.title, fv = "MMredirectURL=" + win.location + "&MMplayerType=" + pt + "&MMdoctitle=" + dt, replaceId = regObj.id; // For IE when a SWF is loading (AND: not available in cache) wait for the onload event to fire to remove the original object element // In IE you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work if (ua.ie && ua.win && obj.readyState != 4) { var newObj = createElement("div"); replaceId += "SWFObjectNew"; newObj.setAttribute("id", replaceId); obj.parentNode.insertBefore(newObj, obj); // Insert placeholder div that will be replaced by the object element that loads expressinstall.swf obj.style.display = "none"; win.attachEvent("onload", function() { obj.parentNode.removeChild(obj); }); } createSWF({ data:regObj.expressInstall, id:EXPRESS_INSTALL_ID, width:regObj.width, height:regObj.height }, { flashvars:fv }, replaceId); } } /* Functions to abstract and display alternative content */ function displayAltContent(obj) { if (ua.ie && ua.win && obj.readyState != 4) { // For IE when a SWF is loading (AND: not available in cache) wait for the onload event to fire to remove the original object element // In IE you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work var el = createElement("div"); obj.parentNode.insertBefore(el, obj); // Insert placeholder div that will be replaced by the alternative content el.parentNode.replaceChild(abstractAltContent(obj), el); obj.style.display = "none"; win.attachEvent("onload", function() { obj.parentNode.removeChild(obj); }); } else { obj.parentNode.replaceChild(abstractAltContent(obj), obj); } } function abstractAltContent(obj) { var ac = createElement("div"); if (ua.win && ua.ie) { ac.innerHTML = obj.innerHTML; } else { var nestedObj = obj.getElementsByTagName(OBJECT)[0]; if (nestedObj) { var c = nestedObj.childNodes; if (c) { var cl = c.length; for (var i = 0; i < cl; i++) { if (!(c[i].nodeType == 1 && c[i].nodeName.toLowerCase() == "param") && !(c[i].nodeType == 8)) { ac.appendChild(c[i].cloneNode(true)); } } } } } return ac; } /* Cross-browser dynamic SWF creation */ function createSWF(attObj, parObj, id) { var r, el = getElementById(id); if (typeof attObj.id == UNDEF) { // if no 'id' is defined for the object element, it will inherit the 'id' from the alternative content attObj.id = id; } if (ua.ie && ua.win) { // IE, the object element and W3C DOM methods do not combine: fall back to outerHTML var att = ""; for (var i in attObj) { if (attObj[i] != Object.prototype[i]) { // Filter out prototype additions from other potential libraries, like Object.prototype.toJSONString = function() {} if (i == "data") { parObj.movie = attObj[i]; } else if (i.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword att += ' class="' + attObj[i] + '"'; } else if (i != "classid") { att += ' ' + i + '="' + attObj[i] + '"'; } } } var par = ""; for (var j in parObj) { if (parObj[j] != Object.prototype[j]) { // Filter out prototype additions from other potential libraries par += '‘;
      }
      }
      el.outerHTML = ‘‘ + par + ‘‘;
      fixObjectLeaks(attObj.id); // This bug affects dynamic publishing only
      r = getElementById(attObj.id);
      }
      else if (ua.webkit && ua.webkit < 312) { // Older webkit engines ignore the object element's nested param elements: fall back to the proprietary embed element var e = createElement("embed"); e.setAttribute("type", FLASH_MIME_TYPE); for (var k in attObj) { if (attObj[k] != Object.prototype[k]) { // Filter out prototype additions from other potential libraries if (k == "data") { e.setAttribute("src", attObj[k]); } else if (k.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword e.setAttribute("class", attObj[k]); } else if (k != "classid") { // Filter out IE specific attribute e.setAttribute(k, attObj[k]); } } } for (var l in parObj) { if (parObj[l] != Object.prototype[l]) { // Filter out prototype additions from other potential libraries if (l != "movie") { // Filter out IE specific param element e.setAttribute(l, parObj[l]); } } } el.parentNode.replaceChild(e, el); r = e; } else { // Well-behaving browsers var o = createElement(OBJECT); o.setAttribute("type", FLASH_MIME_TYPE); for (var m in attObj) { if (attObj[m] != Object.prototype[m]) { // Filter out prototype additions from other potential libraries if (m.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword o.setAttribute("class", attObj[m]); } else if (m != "classid") { // Filter out IE specific attribute o.setAttribute(m, attObj[m]); } } } for (var n in parObj) { if (parObj[n] != Object.prototype[n] && n != "movie") { // Filter out prototype additions from other potential libraries and IE specific param element createObjParam(o, n, parObj[n]); } } el.parentNode.replaceChild(o, el); r = o; } return r; } function createObjParam(el, pName, pValue) { var p = createElement("param"); p.setAttribute("name", pName); p.setAttribute("value", pValue); el.appendChild(p); } function getElementById(id) { return doc.getElementById(id); } function createElement(el) { return doc.createElement(el); } function hasPlayerVersion(rv) { var pv = ua.pv, v = rv.split("."); v[0] = parseInt(v[0], 10); v[1] = parseInt(v[1], 10); v[2] = parseInt(v[2], 10); return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false;
      }

      /* Cross-browser dynamic CSS creation
      – Based on Bobby van der Sluis’ solution: http://www.bobbyvandersluis.com/articles/dynamicCSS.php
      */
      function createCSS(sel, decl) {
      if (ua.ie && ua.mac) {
      return;
      }
      var h = doc.getElementsByTagName(“head”)[0], s = createElement(“style”);
      s.setAttribute(“type”, “text/css”);
      s.setAttribute(“media”, “screen”);
      if (!(ua.ie && ua.win) && typeof doc.createTextNode != UNDEF) {
      s.appendChild(doc.createTextNode(sel + ” {” + decl + “}”));
      }
      h.appendChild(s);
      if (ua.ie && ua.win && typeof doc.styleSheets != UNDEF && doc.styleSheets.length > 0) {
      var ls = doc.styleSheets[doc.styleSheets.length – 1];
      if (typeof ls.addRule == OBJECT) {
      ls.addRule(sel, decl);
      }
      }
      }

      function setVisibility(id, isVisible) {
      var v = isVisible ? “inherit” : “hidden”;
      if (isDomLoaded) {
      getElementById(id).style.visibility = v;
      }
      else {
      createCSS(“#” + id, “visibility:” + v);
      }
      }

      function getTargetVersion(obj) {
      if (!obj)
      return 0;
      var c = obj.childNodes;
      var cl = c.length;
      for (var i = 0; i < cl; i++) { if (c[i].nodeType == 1 && c[i].nodeName.toLowerCase() == "object") { c = c[i].childNodes; cl = c.length; i = 0; } if (c[i].nodeType == 1 && c[i].nodeName.toLowerCase() == "param" && c[i].getAttribute("name") == "swfversion") { return c[i].getAttribute("value"); } } return 0; } function getExpressInstall(obj) { if (!obj) return ""; var c = obj.childNodes; var cl = c.length; for (var i = 0; i < cl; i++) { if (c[i].nodeType == 1 && c[i].nodeName.toLowerCase() == "object") { c = c[i].childNodes; cl = c.length; i = 0; } if (c[i].nodeType == 1 && c[i].nodeName.toLowerCase() == "param" && c[i].getAttribute("name") == "expressinstall") { return c[i].getAttribute("value"); } } return ""; } return { /* Public API - Reference: http://code.google.com/p/swfobject/wiki/SWFObject_2_0_documentation */ registerObject: function(objectIdStr, swfVersionStr, xiSwfUrlStr) { if (!ua.w3cdom || !objectIdStr) { return; } var obj = document.getElementById(objectIdStr); var xi = getExpressInstall(obj); var regObj = {}; regObj.id = objectIdStr; regObj.swfVersion = swfVersionStr ? swfVersionStr : getTargetVersion(obj); regObj.expressInstall = xiSwfUrlStr ? xiSwfUrlStr : ((xi != "") ? xi : false); regObjArr[regObjArr.length] = regObj; setVisibility(objectIdStr, false); }, getObjectById: function(objectIdStr) { var r = null; if (ua.w3cdom && isDomLoaded) { var o = getElementById(objectIdStr); if (o) { var n = o.getElementsByTagName(OBJECT)[0]; if (!n || (n && typeof o.SetVariable != UNDEF)) { r = o; } else if (typeof n.SetVariable != UNDEF) { r = n; } } } return r; }, embedSWF: function(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj) { if (!ua.w3cdom || !swfUrlStr || !replaceElemIdStr || !widthStr || !heightStr || !swfVersionStr) { return; } widthStr += ""; // Auto-convert to string to make it idiot proof heightStr += ""; if (hasPlayerVersion(swfVersionStr)) { setVisibility(replaceElemIdStr, false); var att = (typeof attObj == OBJECT) ? attObj : {}; att.data = swfUrlStr; att.width = widthStr; att.height = heightStr; var par = (typeof parObj == OBJECT) ? parObj : {}; if (typeof flashvarsObj == OBJECT) { for (var i in flashvarsObj) { if (flashvarsObj[i] != Object.prototype[i]) { // Filter out prototype additions from other potential libraries if (typeof par.flashvars != UNDEF) { par.flashvars += "&" + i + "=" + flashvarsObj[i]; } else { par.flashvars = i + "=" + flashvarsObj[i]; } } } } addDomLoadEvent(function() { createSWF(att, par, replaceElemIdStr); if (att.id == replaceElemIdStr) { setVisibility(replaceElemIdStr, true); } }); } else if (xiSwfUrlStr && !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac)) { setVisibility(replaceElemIdStr, false); addDomLoadEvent(function() { var regObj = {}; regObj.id = regObj.altContentId = replaceElemIdStr; regObj.width = widthStr; regObj.height = heightStr; regObj.expressInstall = xiSwfUrlStr; showExpressInstall(regObj); }); } }, getFlashPlayerVersion: function() { return { major:ua.pv[0], minor:ua.pv[1], release:ua.pv[2] }; }, hasFlashPlayerVersion:hasPlayerVersion, createSWF: function(attObj, parObj, replaceElemIdStr) { if (ua.w3cdom && isDomLoaded) { return createSWF(attObj, parObj, replaceElemIdStr); } else { return undefined; } }, createCSS: function(sel, decl) { if (ua.w3cdom) { createCSS(sel, decl); } }, addDomLoadEvent:addDomLoadEvent, addLoadEvent:addLoadEvent, getQueryParamValue: function(param) { var q = doc.location.search || doc.location.hash; if (param == null) { return q; } if(q) { var pairs = q.substring(1).split("&"); for (var i = 0; i < pairs.length; i++) { if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) { return pairs[i].substring((pairs[i].indexOf("=") + 1)); } } } return ""; }, // For internal usage only expressInstallCallback: function() { if (isExpressInstallActive && storedAltContent) { var obj = getElementById(EXPRESS_INSTALL_ID); if (obj) { obj.parentNode.replaceChild(storedAltContent, obj); if (storedAltContentId) { setVisibility(storedAltContentId, true); if (ua.ie && ua.win) { storedAltContent.style.display = "block"; } } storedAltContent = null; storedAltContentId = null; isExpressInstallActive = false; } } } }; }(); Tripsmart/Tour.css #tour { position:absolute; left:621px; top:308px; width:300px; height:162px; z-index:1; border: thin solid #000; } #san_francisco { position:absolute; left:438px; top:394px; width:214px; height:58px; z-index:2; background-color: #FFFF99; text-align: center; font-size: medium; border: thin solid #000; } Tripsmart/tours.html Home Catalog Services Tours Spain China Newsletter   Destinations: Spain and China We are featuring two trips this month. Our Spain trip will depart on May 5 for 16 days. We will arrive in Madrid, where you will check in at the Intercontinental Hotel. The next morning, we will begin your tour with the Royal Palace and end the day at the Prado Museum, housing works by Spain's great masters: Goya, Velazquez, and El Greco. We will depart from Madrid and visit Toledo, Granada, and Cordoba, some of Spain's most picqueresque cities. Granada features the 13-century palace Alhambra with its beautiful gardens. Jerez, the home of the Andalusioan School of Equestrian Art, is our next stop. You will view a performance of the "dancing stallions" and visit a bodega. Next is Seville, where you will have a change to attend a traditional flamenco show. You may decide to splurge on an authentic flamenco dress! We end the visit with Barcelona where you will stay near the Barcelona Olympic Port. You will view the work of Spain's most famous architect: Gaudi, as you visit the unfinished Sagrada Familia Basilica along with the Parc Guell, a UNESCO World Heritage Site. The second trip we are featuring is to China. We will depart on June 20 and arrive in Shanghai to stay three nights at the Shanghai Four Seasons Hotel.Shanghai sights will include a visit to the Bund, the Shanghai Museum, and a performace of the Shanghai Acrobats. From Shanghai we will depart for our three-day voyage down the Yangtze River on the River Dancer, where we will visit The Three Gorges. Upon disembarking, we will travel to Xian to view the Terra Cotta Warriors and explore the Shaanxi Museum. Our tour ends in Bejjing with the Forbidden City, Tiananmen Square, and a day trip to the Great Wall of China.Our experienced guides all speak fluent English. Our team includes ornithologist JoAnne Rife, zoologist Jenny Williams, anthropologist Christina Elizabeth, and naturalist Richard Newland. Private air transport will whisk us to more distant game reserves with an opportunity to see the native Pandas. This is truly a trip of a lifetime. Make your reservations now! Please complete this form for additional information on these tours. First Name Last Name Street City State Zip Code Phone E-mail I am Interested in: Spain China     TripSmart Copyright 2002 - 2013 Tripsmart/trip.css body { margin: 0; padding: 0; color: #000; background-color: #FFF; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 1.4; } ul, ol, dl { padding: 0; margin: 0; } h1, h2, h3, h4, h5, h6, p { margin-top: 0; padding-right: 15px; padding-left: 15px; } a img { border: none; } a:link { color: #42413C; text-decoration: underline; } a:visited { color: #6E6C64; text-decoration: underline; } a:hover, a:active, a:focus { text-decoration: none; } .container { width: 960px; background: #FFF; margin: 0 auto; border: thin solid #030; position: relative; } .header { background-color: #FFF; margin: 5px; } .content { padding: 10px 0; } .footer { text-align: center; background-color: #FFF; font-size: 12px; font-weight: normal; } .fltrt { float: right; margin-left: 8px; } .fltlft { float: left; margin-right: 8px; } .clearfloat { clear:both; height:0; font-size: 1px; line-height: 0px; } Tripsmart/tripsmart Tripsmart/tripsmart_styles.css .paragraph_text { font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #000; } .list_heading { font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; color: #030; } .list_term { font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; color: #000; } .reverse_text { font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-style: normal; font-weight: bold; color: #666633; } .item_numbers { font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-style: normal; font-weight: bold; } hr { border: thin solid #663; margin: 9px; width: 930px; } dw1_1.html Home About Us Accommodations Activities Seaside Spa Sand Crab Cafe Gift Shop   Welcome to The Striped Umbrella — a full-service resort and spa just steps from the Gulf of Mexico and ten miles east of Crab Key, Florida. Come enjoy the best of both worlds, a secluded sandy beach populated with beautiful birds, yet a short drive down the road from world-class shopping, restaurants, and entertainment. Bring a good book and leave your laptop at the office. You won't want to go home. The Striped Umbrella — 1-555-594-9458 fl5_12.fla Integration Chapter.ZIP Project Builder 1/ultimatetours5.swf Project Builder 1/ULTours-heading Project Builder 1/ULTours-photo Project Builder 1/ULTours_home.html Project Builder 2/cafe_logo Project Builder 2/striped_umbrella/about_us.html Home About Us Sand Crab Cafe The Sea Spa Activities Cruises Fishing Welcome guests! When you arrive at The Striped Umbrella, check in at The Club House. Look for the signs that will direct you to registration. Our beautiful club house is the home base for our registration offices, The Sand Crab Cafe, and The Sea Spa. Registration is open from 8:00 a.m. until 6:00 p.m. Please call to make arrangements if you plan to arrive after 6:00 p.m. The cafe and spa hours are both posted and listed in the information packet that you will receive when you arrive. The main swimming pool is directly behind The Club House. A lifeguard is on duty from 8:00 a.m. until 9:00 p.m. The pool area includes a wading pool, a lap pool, and a large pool with a diving board. Showers are located in several areas for your use before and after swimming. We also provide poolside service from the cafe for snacks and lunch. After you arrive, you will want to take a stroll down the boardwalk to the beach. The entrance to the boardwalk is just past the pool area. The boardwalk provides a safe route to the beach for both our guests and the native vegetation. The sea oats and other flora are tender. Please do not step on them or pick them. A lifeguard is on duty from 9:00 a.m. until sunset. Check the flag each time you head for the beach for the status of current swimming conditions and advisories. Jellyfish can be a problem at times, so be careful when you are walking along the beach, especially as the tide is retreating from high tide. We have beach chairs, umbrellas, and towels available to our guests. Check with the attendant on duty. Water, juices, and soft drinks are also available for purchase at the end of the boardwalk. Don't forget your sunglasses, hat, and sunscreen! A sunburn is sure way to ruin a nice vacation. The gift shop in The Club House is a convenient place to pick up any items that you may have forgotten to bring along, in addition to an extensive inventory of bathing suits, sandals, and other beachwear. Click the map below to view a larger size image. Project Builder 2/striped_umbrella/activities.html Home About Us Sand Crab Cafe The Sea Spa Activities Cruises Fishing We have many activities for you to choose from, here at the resort and in the surrounding area. Some of our visitors enjoy local fishing trips. We have a small fleet of boats that will take you out for either a half or a full day. Or you can surf cast, right from the beach. But beware of Ralph, our resident blue heron. He knows what you fishermen have in your coolers and if you aren't careful, he'll take your catch off your hands and make a quick getaway! And don’t forget our dolphin cruises. We have a unique approach — two boats speed along, side by side, about 50 yards apart. The dolphins love it because it generates a huge wake. You'll see them jumping right between the boats! You can arrange for tickets for fishing excursions or dolphin cruises at The Club House desk. Check out these links for kid-friendly attractions in the area: The famous Blue Angels, the nation’s oldest flying aerobatic team, are stationed at the Naval Air Station Pensacola, less than a one-hour drive from The Striped Umbrella. You can watch the team practice at the Museum of Naval Aviation viewing area, an unforgettable experience for all ages. Information on dates and times is posted on their website, or you can call The Club House desk. It's a short ride over the Alabama border to see the USS Alabama, one of America's most decorated battleships. The "Mighty A" is docked at Battleship Memorial Park in Mobile Bay, Alabama. There you can take a two-hour self-guided tour that is rich in history. Hours, directions, and prices are posted on their website, or call The Club House desk. Project Builder 2/striped_umbrella/assets/boardwalk Project Builder 2/striped_umbrella/assets/boats Project Builder 2/striped_umbrella/assets/cafe_logo-nameRev.gif Project Builder 2/striped_umbrella/assets/cafe_logo.gif Project Builder 2/striped_umbrella/assets/cafe_photo Project Builder 2/striped_umbrella/assets/chocolate_cake Project Builder 2/striped_umbrella/assets/club_house Project Builder 2/striped_umbrella/assets/heron_small Project Builder 2/striped_umbrella/assets/heron_waiting_small Project Builder 2/striped_umbrella/assets/map_large Project Builder 2/striped_umbrella/assets/map_small Project Builder 2/striped_umbrella/assets/portfolio-headingRev Project Builder 2/striped_umbrella/assets/portfolio-photoRev Project Builder 2/striped_umbrella/assets/sea_spa_logo Project Builder 2/striped_umbrella/assets/su_banner.gif Project Builder 2/striped_umbrella/assets/su_logo.gif Project Builder 2/striped_umbrella/assets/two_dolphins_small Project Builder 2/striped_umbrella/cafe.html Home About Us Sand Crab Cafe The Sea Spa Activities Cruises Fishing Reservations are recommended for The Dining Room during the peak summer season. The Sand Crab Cafe is located in The Club House and has three dining areas: The Terrace, The Dining Room, and The Cabana. The Terrace is outdoor dining with a breathtaking view of the Gulf, especially at sunset. The Dining Room is casual, indoor dining on the second floor. The Cabana is poolside. Sand Crab Cafe Hours The Terrace 11:00 a.m. - 9:00 p.m. The Dining Room 7:00 a.m. - 11:00 p.m. The Cabana 10:00 a.m. - 7:00 p.m. Room Service is available from 6:00 a.m. until 12:00 a.m. Please call extension 439 to place an order. Chocolate Grand Marnier Cake Copyright 2002 - 2013 The Striped Umbrella Project Builder 2/striped_umbrella/cruises.html Home About Us Sand Crab Cafe The Sea Spa Activities Cruises Fishing This is the Dolphin Racer at dock. We leave daily at 4:00 p.m.and 6:30 p.m. for 1 1/2 hour cruises. There are snacks and restrooms available on board. We welcome children of all ages. Our ship is a U.S. Coast Guard approved vessel and our captain is a former member of the Coast Guard. Call The Club desk for reservations. Project Builder 2/striped_umbrella/favicon.ico Project Builder 2/striped_umbrella/fishing.html Home About Us Sand Crab Cafe The Sea Spa Activities Cruises Fishing As you can see, Ralph scores occasionally. We certainly don't encourage you to feed Ralph. We feel it is important to intrude as little as possible with our wild friends and their diets. Just don't be surprised if you see him roaming the beach trying to blend in with the other fishermen. Project Builder 2/striped_umbrella/index.html Home About Us Sand Crab Cafe The Sea Spa Activities Cruises Fishing Welcome to The Striped Umbrella — a full-service resort and spa just steps from the Gulf of Mexico and ten miles east of Crab Key, Florida. The Striped Umbrella has a variety of activities for adults and children. It is a perfect romantic getaway for two or a complete family vacation. Our activities include water sports, golf, shopping, and an award-winning spa. The restaurants at The Striped Umbrella are amazing. The Sand Crab Cafe can be enjoyed al fresco at The Terrace, poolside at The Cabana, and inside in The Dining Room. The Dining Room features fresh seafood and an extensive wine list. The Terrace offers more casual dining with sweeping views of the gulf and fabulous sunsets. The Cabana serves sandwiches, salads, and snacks around the pool area. Come enjoy the best of both worlds, a secluded sandy beach populated with beautiful birds, yet a short drive down the road from world-class shopping, restaurants, and entertainment. Bring a good book and leave your laptop at the office. You won't want to go home! The Striped Umbrella 25 Beachside Drive Ft. Eugene, Florida 33775 555-594-9458 Club Manager Copyright 2002 - 2013 January 7, 2010 Project Builder 2/striped_umbrella/spa.html Home About Us Sand Crab Cafe The Sea Spa Activities Cruises Fishing The Sea Spa Services Massages Facials Body Treatments   Massages Sports Massage Our deepest massage for tense and sore muscles. Not recommended for first-time massage clients. Swedish Massage A gentle, relaxing massage. Promotes balance and wellness. Warms muscle tissue and increases circulation. Hot Stone Massage Uses polished local river rocks to distribute gentle heat. Good for tight, sore muscles. Balances and invigorates the body muscles. Advance notice required. Facials Revitalizing Facial A light massage with a customized essential oil blend that moisturizes the skin and restores circulation. Gentlemen’s Facial A cleansing facial that restores a healthy glow. Includes a neck and shoulder massage. Milk Mask A soothing mask that softens and moisturizes the face. Leaves your skin looking younger. Body Treatments Salt Glow Imported sea salts are massaged into the skin, exfoliating and cleansing the pores. Herbal Wrap Organic lavender blooms create a detoxifying and calming treatment to relieve aches and pains. Seaweed Body Wrap Seaweed is a natural detoxifying agent that also helps improve circulation. Call The Sea Spa desk for prices and reservations. Any of our services can be personalized according to your needs. Our desk is open from 7:00 a.m. until 9:00 p.m. Call 555-594-9458, extension 39. Questions you may have How do I schedule Spa services? Please make appointments by calling The Club desk at least 24 hours in advance. Please arrive 15 minutes before your appointment to allow enough time to shower or use the sauna. Will I be charged if I cancel my appointment? Please cancel 24 hours before your service to avoid a cancellation charge. No-shows and cancellations without adequate notice will be charged for the full service. Are there any health safeguards I should know about? Please advise us of medical conditions or allergies you have. Heat treatments like hydrotherapy and body wraps should be avoided if you are pregnant, have high blood pressure, or any type of heart condition or diabetes. What about tipping? Gratuities are at your sole discretion, but are certainly appreciated. Top of Page Project Builder 2/striped_umbrella/SpryAssets/SpryMenuBar.js // SpryMenuBar.js - version 0.12 - Spry Pre-Release 1.6.1 // // Copyright (c) 2006. Adobe Systems Incorporated. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: // // * Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. // * Neither the name of Adobe Systems Incorporated nor the names of its // contributors may be used to endorse or promote products derived from this // software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE // POSSIBILITY OF SUCH DAMAGE. /******************************************************************************* SpryMenuBar.js This file handles the JavaScript for Spry Menu Bar. You should have no need to edit this file. Some highlights of the MenuBar object is that timers are used to keep submenus from showing up until the user has hovered over the parent menu item for some time, as well as a timer for when they leave a submenu to keep showing that submenu until the timer fires. *******************************************************************************/ var Spry; if (!Spry) Spry = {}; if (!Spry.Widget) Spry.Widget = {}; Spry.BrowserSniff = function() { var b = navigator.appName.toString(); var up = navigator.platform.toString(); var ua = navigator.userAgent.toString(); this.mozilla = this.ie = this.opera = this.safari = false; var re_opera = /Opera.([0-9\.]*)/i; var re_msie = /MSIE.([0-9\.]*)/i; var re_gecko = /gecko/i; var re_safari = /(applewebkit|safari)\/([\d\.]*)/i; var r = false; if ( (r = ua.match(re_opera))) { this.opera = true; this.version = parseFloat(r[1]); } else if ( (r = ua.match(re_msie))) { this.ie = true; this.version = parseFloat(r[1]); } else if ( (r = ua.match(re_safari))) { this.safari = true; this.version = parseFloat(r[2]); } else if (ua.match(re_gecko)) { var re_gecko_version = /rv:\s*([0-9\.]+)/i; r = ua.match(re_gecko_version); this.mozilla = true; this.version = parseFloat(r[1]); } this.windows = this.mac = this.linux = false; this.Platform = ua.match(/windows/i) ? "windows" : (ua.match(/linux/i) ? "linux" : (ua.match(/mac/i) ? "mac" : ua.match(/unix/i)? "unix" : "unknown")); this[this.Platform] = true; this.v = this.version; if (this.safari && this.mac && this.mozilla) { this.mozilla = false; } }; Spry.is = new Spry.BrowserSniff(); // Constructor for Menu Bar // element should be an ID of an unordered list (

        tag)
        // preloadImage1 and preloadImage2 are images for the rollover state of a menu
        Spry.Widget.MenuBar = function(element, opts)
        {
        this.init(element, opts);
        };
        Spry.Widget.MenuBar.prototype.init = function(element, opts)
        {
        this.element = this.getElement(element);
        // represents the current (sub)menu we are operating on
        this.currMenu = null;
        this.showDelay = 250;
        this.hideDelay = 600;
        if(typeof document.getElementById == ‘undefined’ || (navigator.vendor == ‘Apple Computer, Inc.’ && typeof window.XMLHttpRequest == ‘undefined’) || (Spry.is.ie && typeof document.uniqueID == ‘undefined’))
        {
        // bail on older unsupported browsers
        return;
        }
        // Fix IE6 CSS images flicker
        if (Spry.is.ie && Spry.is.version < 7){ try { document.execCommand("BackgroundImageCache", false, true); } catch(err) {} } this.upKeyCode = Spry.Widget.MenuBar.KEY_UP; this.downKeyCode = Spry.Widget.MenuBar.KEY_DOWN; this.leftKeyCode = Spry.Widget.MenuBar.KEY_LEFT; this.rightKeyCode = Spry.Widget.MenuBar.KEY_RIGHT; this.escKeyCode = Spry.Widget.MenuBar.KEY_ESC; this.hoverClass = 'MenuBarItemHover'; this.subHoverClass = 'MenuBarItemSubmenuHover'; this.subVisibleClass ='MenuBarSubmenuVisible'; this.hasSubClass = 'MenuBarItemSubmenu'; this.activeClass = 'MenuBarActive'; this.isieClass = 'MenuBarItemIE'; this.verticalClass = 'MenuBarVertical'; this.horizontalClass = 'MenuBarHorizontal'; this.enableKeyboardNavigation = true; this.hasFocus = false; // load hover images now if(opts) { for(var k in opts) { if (typeof this[k] == 'undefined') { var rollover = new Image; rollover.src = opts[k]; } } Spry.Widget.MenuBar.setOptions(this, opts); } // safari doesn't support tabindex if (Spry.is.safari) this.enableKeyboardNavigation = false; if(this.element) { this.currMenu = this.element; var items = this.element.getElementsByTagName('li'); for(var i=0; i 0 && this.enableKeyboardNavigation)
        items[i].getElementsByTagName(‘a’)[0].tabIndex=’-1′;
        this.initialize(items[i], element);
        if(Spry.is.ie)
        {
        this.addClassName(items[i], this.isieClass);
        items[i].style.position = “static”;
        }
        }
        if (this.enableKeyboardNavigation)
        {
        var self = this;
        this.addEventListener(document, ‘keydown’, function(e){self.keyDown(e); }, false);
        }
        if(Spry.is.ie)
        {
        if(this.hasClassName(this.element, this.verticalClass))
        {
        this.element.style.position = “relative”;
        }
        var linkitems = this.element.getElementsByTagName(‘a’);
        for(var i=0; i 0)
        {
        layers[0].parentNode.removeChild(layers[0]);
        }
        };
        // clearMenus for Menu Bar
        // root is the top level unordered list (

          tag)
          Spry.Widget.MenuBar.prototype.clearMenus = function(root)
          {
          var menus = root.getElementsByTagName(‘ul’);
          for(var i=0; i 0 ? submenus[0] : null);
          if(menu)
          this.addClassName(link, this.hasSubClass);
          if(!Spry.is.ie)
          {
          // define a simple function that comes standard in IE to determine
          // if a node is within another node
          listitem.contains = function(testNode)
          {
          // this refers to the list item
          if(testNode == null)
          return false;
          if(testNode == this)
          return true;
          else
          return this.contains(testNode.parentNode);
          };
          }
          // need to save this for scope further down
          var self = this;
          this.addEventListener(listitem, ‘mouseover’, function(e){self.mouseOver(listitem, e);}, false);
          this.addEventListener(listitem, ‘mouseout’, function(e){if (self.enableKeyboardNavigation) self.clearSelection(); self.mouseOut(listitem, e);}, false);
          if (this.enableKeyboardNavigation)
          {
          this.addEventListener(link, ‘blur’, function(e){self.onBlur(listitem);}, false);
          this.addEventListener(link, ‘focus’, function(e){self.keyFocus(listitem, e);}, false);
          }
          };
          Spry.Widget.MenuBar.prototype.keyFocus = function (listitem, e)
          {
          this.lastOpen = listitem.getElementsByTagName(‘a’)[0];
          this.addClassName(this.lastOpen, listitem.getElementsByTagName(‘ul’).length > 0 ? this.subHoverClass : this.hoverClass);
          this.hasFocus = true;
          };
          Spry.Widget.MenuBar.prototype.onBlur = function (listitem)
          {
          this.clearSelection(listitem);
          };
          Spry.Widget.MenuBar.prototype.clearSelection = function(el){
          //search any intersection with the current open element
          if (!this.lastOpen)
          return;
          if (el)
          {
          el = el.getElementsByTagName(‘a’)[0];

          // check children
          var item = this.lastOpen;
          while (item != this.element)
          {
          var tmp = el;
          while (tmp != this.element)
          {
          if (tmp == item)
          return;
          try{
          tmp = tmp.parentNode;
          }catch(err){break;}
          }
          item = item.parentNode;
          }
          }
          var item = this.lastOpen;
          while (item != this.element)
          {
          this.hideSubmenu(item.parentNode);
          var link = item.getElementsByTagName(‘a’)[0];
          this.removeClassName(link, this.hoverClass);
          this.removeClassName(link, this.subHoverClass);
          item = item.parentNode;
          }
          this.lastOpen = false;
          };
          Spry.Widget.MenuBar.prototype.keyDown = function (e)
          {
          if (!this.hasFocus)
          return;
          if (!this.lastOpen)
          {
          this.hasFocus = false;
          return;
          }
          var e = e|| event;
          var listitem = this.lastOpen.parentNode;
          var link = this.lastOpen;
          var submenus = listitem.getElementsByTagName(‘ul’);
          var menu = (submenus.length > 0 ? submenus[0] : null);
          var hasSubMenu = (menu) ? true : false;
          var opts = [listitem, menu, null, this.getSibling(listitem, ‘previousSibling’), this.getSibling(listitem, ‘nextSibling’)];

          if (!opts[3])
          opts[2] = (listitem.parentNode.parentNode.nodeName.toLowerCase() == ‘li’)?listitem.parentNode.parentNode:null;
          var found = 0;
          switch (e.keyCode){
          case this.upKeyCode:
          found = this.getElementForKey(opts, ‘y’, 1);
          break;
          case this.downKeyCode:
          found = this.getElementForKey(opts, ‘y’, -1);
          break;
          case this.leftKeyCode:
          found = this.getElementForKey(opts, ‘x’, 1);
          break;
          case this.rightKeyCode:
          found = this.getElementForKey(opts, ‘x’, -1);
          break;
          case this.escKeyCode:
          case 9:
          this.clearSelection();
          this.hasFocus = false;
          default: return;
          }
          switch (found)
          {
          case 0: return;
          case 1:
          //subopts
          this.mouseOver(listitem, e);
          break;
          case 2:
          //parent
          this.mouseOut(opts[2], e);
          break;
          case 3:
          case 4:
          // left – right
          this.removeClassName(link, hasSubMenu ? this.subHoverClass : this.hoverClass);
          break;
          }
          var link = opts[found].getElementsByTagName(‘a’)[0];
          if (opts[found].nodeName.toLowerCase() == ‘ul’)
          opts[found] = opts[found].getElementsByTagName(‘li’)[0];
          this.addClassName(link, opts[found].getElementsByTagName(‘ul’).length > 0 ? this.subHoverClass : this.hoverClass);
          this.lastOpen = link;
          opts[found].getElementsByTagName(‘a’)[0].focus();

          //stop further event handling by the browser
          return Spry.Widget.MenuBar.stopPropagation(e);
          };
          Spry.Widget.MenuBar.prototype.mouseOver = function (listitem, e)
          {
          var link = listitem.getElementsByTagName(‘a’)[0];
          var submenus = listitem.getElementsByTagName(‘ul’);
          var menu = (submenus.length > 0 ? submenus[0] : null);
          var hasSubMenu = (menu) ? true : false;
          if (this.enableKeyboardNavigation)
          this.clearSelection(listitem);
          if(this.bubbledTextEvent())
          {
          // ignore bubbled text events
          return;
          }
          if (listitem.closetime)
          clearTimeout(listitem.closetime);
          if(this.currMenu == listitem)
          {
          this.currMenu = null;
          }
          // move the focus too
          if (this.hasFocus)
          link.focus();
          // show menu highlighting
          this.addClassName(link, hasSubMenu ? this.subHoverClass : this.hoverClass);
          this.lastOpen = link;
          if(menu && !this.hasClassName(menu, this.subHoverClass))
          {
          var self = this;
          listitem.opentime = window.setTimeout(function(){self.showSubmenu(menu);}, this.showDelay);
          }
          };
          Spry.Widget.MenuBar.prototype.mouseOut = function (listitem, e)
          {
          var link = listitem.getElementsByTagName(‘a’)[0];
          var submenus = listitem.getElementsByTagName(‘ul’);
          var menu = (submenus.length > 0 ? submenus[0] : null);
          var hasSubMenu = (menu) ? true : false;
          if(this.bubbledTextEvent())
          {
          // ignore bubbled text events
          return;
          }
          var related = (typeof e.relatedTarget != ‘undefined’ ? e.relatedTarget : e.toElement);
          if(!listitem.contains(related))
          {
          if (listitem.opentime)
          clearTimeout(listitem.opentime);
          this.currMenu = listitem;
          // remove menu highlighting
          this.removeClassName(link, hasSubMenu ? this.subHoverClass : this.hoverClass);
          if(menu)
          {
          var self = this;
          listitem.closetime = window.setTimeout(function(){self.hideSubmenu(menu);}, this.hideDelay);
          }
          if (this.hasFocus)
          link.blur();
          }
          };
          Spry.Widget.MenuBar.prototype.getSibling = function(element, sibling)
          {
          var child = element[sibling];
          while (child && child.nodeName.toLowerCase() !=’li’)
          child = child[sibling];
          return child;
          };
          Spry.Widget.MenuBar.prototype.getElementForKey = function(els, prop, dir)
          {
          var found = 0;
          var rect = Spry.Widget.MenuBar.getPosition;
          var ref = rect(els[found]);
          var hideSubmenu = false;
          //make the subelement visible to compute the position
          if (els[1] && !this.hasClassName(els[1], this.MenuBarSubmenuVisible))
          {
          els[1].style.visibility = ‘hidden’;
          this.showSubmenu(els[1]);
          hideSubmenu = true;
          }
          var isVert = this.hasClassName(this.element, this.verticalClass);
          var hasParent = els[0].parentNode.parentNode.nodeName.toLowerCase() == ‘li’ ? true : false;

          for (var i = 1; i < els.length; i++){ //when navigating on the y axis in vertical menus, ignore children and parents if(prop=='y' && isVert && (i==1 || i==2)) { continue; } //when navigationg on the x axis in the FIRST LEVEL of horizontal menus, ignore children and parents if(prop=='x' && !isVert && !hasParent && (i==1 || i==2)) { continue; } if (els[i]) { var tmp = rect(els[i]); if ( (dir * tmp[prop]) < (dir * ref[prop])) { ref = tmp; found = i; } } } // hide back the submenu if (els[1] && hideSubmenu){ this.hideSubmenu(els[1]); els[1].style.visibility = ''; } return found; }; Spry.Widget.MenuBar.camelize = function(str) { if (str.indexOf('-') == -1){ return str; } var oStringList = str.split('-'); var isFirstEntry = true; var camelizedString = ''; for(var i=0; i < oStringList.length; i++) { if(oStringList[i].length>0)
          {
          if(isFirstEntry)
          {
          camelizedString = oStringList[i];
          isFirstEntry = false;
          }
          else
          {
          var s = oStringList[i];
          camelizedString += s.charAt(0).toUpperCase() + s.substring(1);
          }
          }
          }
          return camelizedString;
          };
          Spry.Widget.MenuBar.getStyleProp = function(element, prop)
          {
          var value;
          try
          {
          if (element.style)
          value = element.style[Spry.Widget.MenuBar.camelize(prop)];
          if (!value)
          if (document.defaultView && document.defaultView.getComputedStyle)
          {
          var css = document.defaultView.getComputedStyle(element, null);
          value = css ? css.getPropertyValue(prop) : null;
          }
          else if (element.currentStyle)
          {
          value = element.currentStyle[Spry.Widget.MenuBar.camelize(prop)];
          }
          }
          catch (e) {}
          return value == ‘auto’ ? null : value;
          };
          Spry.Widget.MenuBar.getIntProp = function(element, prop)
          {
          var a = parseInt(Spry.Widget.MenuBar.getStyleProp(element, prop),10);
          if (isNaN(a))
          return 0;
          return a;
          };
          Spry.Widget.MenuBar.getPosition = function(el, doc)
          {
          doc = doc || document;
          if (typeof(el) == ‘string’) {
          el = doc.getElementById(el);
          }
          if (!el) {
          return false;
          }
          if (el.parentNode === null || Spry.Widget.MenuBar.getStyleProp(el, ‘display’) == ‘none’) {
          //element must be visible to have a box
          return false;
          }
          var ret = {x:0, y:0};
          var parent = null;
          var box;
          if (el.getBoundingClientRect) { // IE
          box = el.getBoundingClientRect();
          var scrollTop = doc umentElement.scrollTop || doc.body.scrollTop;
          var scrollLeft = doc umentElement.scrollLeft || doc.body.scrollLeft;
          ret.x = box.left + scrollLeft;
          ret.y = box.top + scrollTop;
          } else if (doc.getBoxObjectFor) { // gecko
          box = doc.getBoxObjectFor(el);
          ret.x = box.x;
          ret.y = box.y;
          } else { // safari/opera
          ret.x = el.offsetLeft;
          ret.y = el.offsetTop;
          parent = el.offsetParent;
          if (parent != el) {
          while (parent) {
          ret.x += parent.offsetLeft;
          ret.y += parent.offsetTop;
          parent = parent.offsetParent;
          }
          }
          // opera & (safari absolute) incorrectly account for body offsetTop
          if (Spry.is.opera || Spry.is.safari && Spry.Widget.MenuBar.getStyleProp(el, ‘position’) == ‘absolute’)
          ret.y -= doc.body.offsetTop;
          }
          if (el.parentNode)
          parent = el.parentNode;
          else
          parent = null;
          if (parent.nodeName){
          var cas = parent.nodeName.toUpperCase();
          while (parent && cas != ‘BODY’ && cas != ‘HTML’) {
          cas = parent.nodeName.toUpperCase();
          ret.x -= parent.scrollLeft;
          ret.y -= parent.scrollTop;
          if (parent.parentNode)
          parent = parent.parentNode;
          else
          parent = null;
          }
          }
          return ret;
          };
          Spry.Widget.MenuBar.stopPropagation = function(ev)
          {
          if (ev.stopPropagation)
          ev.stopPropagation();
          else
          ev.cancelBubble = true;
          if (ev.preventDefault)
          ev.preventDefault();
          else
          ev.returnValue = false;
          };
          Spry.Widget.MenuBar.setOptions = function(obj, optionsObj, ignoreUndefinedProps)
          {
          if (!optionsObj)
          return;
          for (var optionName in optionsObj)
          {
          if (ignoreUndefinedProps && optionsObj[optionName] == undefined)
          continue;
          obj[optionName] = optionsObj[optionName];
          }
          };

          Project Builder 2/striped_umbrella/SpryAssets/SpryMenuBarDown.gif

          Project Builder 2/striped_umbrella/SpryAssets/SpryMenuBarDownHover.gif

          Project Builder 2/striped_umbrella/SpryAssets/SpryMenuBarHorizontal.css

          @charset “UTF-8”;
          /* SpryMenuBarHorizontal.css – version 0.6 – Spry Pre-Release 1.6.1 */
          /* Copyright (c) 2006. Adobe Systems Incorporated. All rights reserved. */
          /*******************************************************************************
          LAYOUT INFORMATION: describes box model, positioning, z-order
          *******************************************************************************/
          /* The outermost container of the Menu Bar, an auto width box with no margin or padding */
          ul.MenuBarHorizontal
          {
          margin: 0;
          padding: 0;
          list-style-type: none;
          cursor: default;
          border-top-style: none;
          border-right-style: none;
          border-bottom-style: none;
          border-left-style: none;
          font-family: “Trebuchet MS”, Arial, Helvetica, sans-serif;
          font-size: 14px;
          }
          /* Set the active Menu Bar with this class, currently setting z-index to accomodate IE rendering bug: http://therealcrisp.xs4all.nl/meuk/IE-zindexbug.html */
          ul.MenuBarActive
          {
          z-index: 1000;
          }
          /* Menu item containers, position children relative to this container and are a fixed width */
          ul.MenuBarHorizontal li
          {
          margin: 0;
          padding: 0;
          list-style-type: none;
          font-size: 100%;
          position: relative;
          cursor: pointer;
          float: left;
          border-top-style: none;
          border-right-style: none;
          border-bottom-style: none;
          border-left-style: none;
          height: 25px;
          width: 190px;
          text-align:center;
          }
          /* Submenus should appear below their parent (top: 0) with a higher z-index, but they are initially off the left side of the screen (-1000em) */
          ul.MenuBarHorizontal ul
          {
          margin: 0;
          padding: 0;
          list-style-type: none;
          font-size: 100%;
          z-index: 1020;
          cursor: default;
          width: 8.2em;
          position: absolute;
          left: -1000em;
          }
          /* Submenu that is showing with class designation MenuBarSubmenuVisible, we set left to auto so it comes onto the screen below its parent menu item */
          ul.MenuBarHorizontal ul.MenuBarSubmenuVisible
          {
          left: auto;
          }
          /* Menu item containers are same fixed width as parent */
          ul.MenuBarHorizontal ul li
          {
          width: 8.2em;
          }
          /* Submenus should appear slightly overlapping to the right (95%) and up (-5%) */
          ul.MenuBarHorizontal ul ul
          {
          position: absolute;
          margin: -5% 0 0 95%;
          }
          /* Submenu that is showing with class designation MenuBarSubmenuVisible, we set left to 0 so it comes onto the screen */
          ul.MenuBarHorizontal ul.MenuBarSubmenuVisible ul.MenuBarSubmenuVisible
          {
          left: auto;
          top: 0;
          }
          /*******************************************************************************
          DESIGN INFORMATION: describes color scheme, borders, fonts
          *******************************************************************************/
          /* Submenu containers have borders on all sides */
          ul.MenuBarHorizontal ul
          {
          border: 1px solid #CCC;
          }
          /* Menu items are a light gray block with padding and no text decoration */
          ul.MenuBarHorizontal a
          {
          display: block;
          cursor: pointer;
          padding: 0.5em 0.75em;
          text-decoration: none;
          color: #FFF;
          background-color: #09C;
          }
          /* Menu items that have mouse over or focus have a blue background and white text */
          ul.MenuBarHorizontal a:hover, ul.MenuBarHorizontal a:focus
          {
          color: #FFF;
          background-color: #33C;
          }
          /* Menu items that are open with submenus are set to MenuBarItemHover with a blue background and white text */
          ul.MenuBarHorizontal a.MenuBarItemHover, ul.MenuBarHorizontal a.MenuBarItemSubmenuHover, ul.MenuBarHorizontal a.MenuBarSubmenuVisible
          {
          background-color: #FC9;
          color: #630;
          }
          /*******************************************************************************
          SUBMENU INDICATION: styles if there is a submenu under a given menu item
          *******************************************************************************/
          /* Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */
          ul.MenuBarHorizontal a.MenuBarItemSubmenu
          {
          background-image: url(SpryMenuBarDown.gif);
          background-repeat: no-repeat;
          background-position: 95% 50%;
          }
          /* Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */
          ul.MenuBarHorizontal ul a.MenuBarItemSubmenu
          {
          background-image: url(SpryMenuBarRight.gif);
          background-repeat: no-repeat;
          background-position: 95% 50%;
          }
          /* Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a “hover” background image positioned on the far left (95%) and centered vertically (50%) */
          ul.MenuBarHorizontal a.MenuBarItemSubmenuHover
          {
          background-image: url(SpryMenuBarDownHover.gif);
          background-repeat: no-repeat;
          background-position: 95% 50%;
          }
          /* Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a “hover” background image positioned on the far left (95%) and centered vertically (50%) */
          ul.MenuBarHorizontal ul a.MenuBarItemSubmenuHover
          {
          background-image: url(SpryMenuBarRightHover.gif);
          background-repeat: no-repeat;
          background-position: 95% 50%;
          }
          /*******************************************************************************
          BROWSER HACKS: the hacks below should not be changed unless you are an expert
          *******************************************************************************/
          /* HACK FOR IE: to make sure the sub menus show above form controls, we underlay each submenu with an iframe */
          ul.MenuBarHorizontal iframe
          {
          position: absolute;
          z-index: 1010;
          filter:alpha(opacity:0.1);
          }
          /* HACK FOR IE: to stabilize appearance of menu items; the slash in float is to keep IE 5.0 from parsing */
          @media screen, projection
          {
          ul.MenuBarHorizontal li.MenuBarItemIE
          {
          display: inline;
          f\loat: left;
          background: #FFF;
          }
          }

          Project Builder 2/striped_umbrella/SpryAssets/SpryMenuBarRight.gif

          Project Builder 2/striped_umbrella/SpryAssets/SpryMenuBarRightHover.gif

          Project Builder 2/striped_umbrella/su_styles.css

          .list_headings {
          font-family: Arial, Helvetica, sans-serif;
          font-size: 14px;
          font-style: normal;
          font-weight: bold;
          color: #003;
          }
          .body_text {
          font-family: Arial, Helvetica, sans-serif;
          font-size: 14px;
          color: #000;
          }
          .small_text { font-size: 10px;
          font-family: Arial, Helvetica, sans-serif;
          }
          .feature_item {
          font-weight: bold;
          color: #003;
          font-size: 14px;
          }

          Skills Review/bread-heading

          Skills Review/bread-photo

          Lessons/ics_1.html

          Southwest Scenes

           

          Lessons/ics_1

          Lessons/ics_2

          Lessons/ics_3

          Portfolio Project/portfolio-heading

          Portfolio Project/portfolio-photo

          Portfolio Project/portfolioCase

          Portfolio Project/portfoliohome.html

          Dreamweaver – Chapter 1.ZIP

          dw1_2.html

          About Us – Spa – Cafe
          Welcome to The Striped Umbrella — a full-service resort and spa just steps from the Gulf of Mexico and ten miles east of Crab Key, Florida. The Striped Umbrella has a variety of activities for adults and children. It is a perfect romantic getaway for two or a complete family vacation. Our activities include water sports, golf, shopping, and an award-winning spa.

          The restaurants at The Striped Umbrella are amazing. The Sand Crab Cafe can be enjoyed al fresco at The Terrace, poolside at The Cabana, and inside in The Dining Room. The Dining Room features fresh seafood and an extensive wine list. The Terrace offers more casual dining with sweeping views of the gulf and fabulous sunsets. The Cabana serves sandwiches, salads, and snacks around the pool area.

          Come enjoy the best of both worlds, a secluded sandy beach populated with beautiful birds, yet a short drive down the road from world-class shopping, restaurants, and entertainment. Bring a good book and leave your laptop at the office. You won’t want to go home.

          Copyright 2002 – 2013
          Last updated on January 1, 2013

           

          dw1_3.html

          Home

          Featured Plants

          Workshops

          Newsletter

          Store Hours

          Contact Us

          Welcome
          to Blooms & Bulbs. We carry a variety of plants and shrubs along with
          a large inventory of gardening supplies. Our four greenhouses are full
          of healthy young plants just waiting to be planted in your yard. We grow an amazing selection of annuals and perennials.  We also stock a diverse selection of trees, shrubs, tropicals, water plants, and ground covers. Check out our garden ware for your garden accents or as gifts for your gardening friends.

          Our
          staff includes a certified landscape architect, three landscape designers,
          and six master gardeners. We offer detailed landscape plans tailored
          to your location as well as planting and regular maintenance services. We have enjoyed serving Alvin and the surrounding area for twelve years now.
          Stop by and see us soon!

           

          ©Copyright
          2001 — 2013
          Last updated on May 16, 2013

          dw1_4.html

          Home – Our Plants – Newsletter – Workshops

          Welcome to Blooms & Bulbs. We carry a variety of plants and shrubs along with
          a large inventory of gardening supplies. Our four greenhouses are full
          of healthy young plants just waiting to be planted in your yard. We grow an amazing selection of annuals and perennials.  We also stock a diverse selection of trees, shrubs, tropicals, water plants, and ground covers. Check out our garden ware for your garden accents or as gifts for your gardening friends.

          Our staff includes a certified landscape architect, three landscape designers, and six master gardeners. We offer detailed landscape plans tailored to your location as well as planting and regular maintenance services. We have enjoyed serving Alvin and the surrounding area for twelve years now. Stop by and see us soon!

          Copyright 2001 – 2013
          Last updated on August 14, 2013

          dw1_5.html

          Home – Newsletter – Services – Tours – Contact Us

          Welcome to TripSmart — the smart choice for the savvy traveler. We’re here to help you with all your travel needs. Choose customized trips to any location or one of our Five-Star Tours, recently rated first in customer satisfaction by Traveler magazine. We are happy to arrange travel for small groups, large groups, or individuals. Our specialty is custom itineraries for independent travelers who enjoy travel at their own pace and on their own schedule. With over 30 years of experience, we can provide knowledgeable guides, comfortable and convenient hotels, and dining recommendations for every size budget.

          Call 555-848-0807 today to speak with one of our friendly staff.

          Copyright 2002 – 2013
          Last updated on November 5, 2013

          dw1_6.html

          Home | Shop | Classes | Catering | Recipes

          Welcome

          Let Carolyne’s Creations be your personal chef, your one-stop shop for the latest in kitchen items and fresh ingredients, and your source for new and innovative recipes. We enjoy planning and presenting special events for all occasions — from children’s birthday parties to corporate retreats. Pick-up and drop-off options are also available. We also offer beautiful baskets overflowing with delicious assortments of casseroles, salads, homemade breads, and desserts; trays of vegetables and cheeses or cookies; or coffee cakes and pastries with fresh ground coffee or specialty teas as perfect gifts for family and friends. We offer seasonal cooking classes in our newly redesigned kitchen for aspiring chefs of all ages.

          How to find us

          We are located in the Plaza Shopping Center at 496 Maple Avenue in Seven Falls, Virginia. We are the second building on the left side of the complex when entering from the Main Street entrance. Give us a call at 555-963-8271 or stop by our shop to browse through our selections.

          Copyright 2001 – 2013
          Last updated on May 12, 2013

           

          dw1_1.html

          Home

          About Us

          Accommodations

          Activities

          Seaside Spa

          Sand Crab Cafe

          Gift Shop

           

          Welcome to The Striped Umbrella — a full-service resort and spa just steps from the Gulf of Mexico and ten miles east of Crab Key, Florida. Come enjoy the best of both worlds, a secluded sandy beach populated with beautiful birds, yet a short drive down the road from world-class shopping, restaurants, and entertainment. Bring a good book and leave your laptop at the office. You won’t want to go home.

          The Striped Umbrella — 1-555-594-9458

          assets/blooms_banner

          assets/cc_banner

          assets/pool

          assets/su_banner.gif

          assets/tripsmart_banner

          assets/tulips

          Dreamweaver – Chapter 2.ZIP

          spa

Still stressed from student homework?
Get quality assistance from academic writers!

Order your essay today and save 25% with the discount code LAVENDER