
// Welcome to Tipster! Before you start, make sure you've read and agree to the
// "Conditions of Use" in the HTML document below.


// This script is object orientated.
// It works by creating "tip objects", each of which corresponds to a DIV in the page below.
// Each object contains a 'template' used for formatting tips, and settings for that object.
// Here are some examples to get you started:


// First, create a new tip object, and pass it its own name so it can reference itself.
var docTips = new TipObj('docTips');
with (docTips)
{
 // Next, we set the appearance and style of the tips displayed by this tip object.
 // Each tip object must have a string called 'template' that contains some specially-formatted
 // HTML to write to its DIV. This example has two nested tables, a border and a background.
 // The special bits are the %2%, %3% and so on halfway through. These correspond to values we
 // set in the tips.tipName arrays later: %0% is the X value, %1% is Y, and %2% onwards are
 // whatever other info we have in there (width, text etc...). This example sets the width %2%
 // of the table, and inserts some content which is the text %3%.
 // You might want to put extra information in the tip arrays, and use %4%, %5% onwards in the
 // template for tip headers, footers, customisable colours etc... see the next tip object for
 // another example.
/*
 template = '<table bgcolor="#003366" cellpadding="1" cellspacing="0" width="%2%" border="0">' +
  '<tr><td><table bgcolor="#6699CC" cellpadding="3" cellspacing="0" width="100%" border="0">' +
  '<tr><td class="tipClass">%3%</td></tr></table></td></tr></table>';
*/
 template = '<div class="tipBG"><div class="tipClass">%3%</div></div>';
 // Next, you can list one or more named tips to call later on in your page. This is useful if
 // you want to show the same tip several times in the page, or on several pages.
 //
 // We organise tips in arrays like so: tips.tipName = new Array(X, Y, width, text, ....);
 // The first two parameters, X and Y, are the distances of the tip from the mouse cursor position
 // if they're set as numbers. If they're strings ('in quotes'), the script calculates them as
 // expressions and ignores the mouse position. They are the only compulsory parameters.
 // You can also use the 'page' object included with this script for fancy positioning
 // effects. Functions include 'page.winW()' and 'page.winH()' to get the window area dimensions,
 // and 'page.scrollX()' and 'page.scrollY()' for the current scroll position, so you can align
 // your tips however you want... see the examples below.
 //
 // Alternatively, you can also create tips inline later in the page like so:
 // <tag onmouseover="tipObjectName.newTip('tipName', X, Y, ....and so on....)">
 // This automatically creates and shows a new tip (just give them random names).
 // Make sure you don't use HTML formatting inside HTML tag event handlers for your tip text.
 //
 // And if you don't want to do *that*, see below for an optional function that can convert
 // TITLE="..." attributes into tips automatically.


 // This 'mysite' tip will show 75px left of the cursor and 15px below. As you can see %2% is
 // a width of 150px, and %3% is a text string, according to our template above.
 tips.floydscut = new Array(-5, 15, 100, '<b>Floyd\'s Cut</b><br>It is the basic cut and by far the most frequently requested service.  The Floyd\'s 99 cut is when your stylist or barber uses more than one clipper guard and/or scissors on hair that is mid-ear length or shorter, or when your hair is mid-ear to shoulder length and we give you a basic, non-layered cut.  Your Floyd\'s 99 experience is always finished off with a hot lather straight razor neck shave and aaahhh… our signature shoulder massage.');
 tips.shampoo = new Array(-5, 15, 100, '<b>Massage Shampoo</b><br>An experience worth a few extra bucks.  You\'ll relax with a warm face towel (and even a cool one on the really hot days) and an awesome scalp massage from our stylists and barbers. ');
 tips.buzzcut = new Array(-5, 15, 100, '<b>Buzz Cut</b><br>When your stylist or barber uses one clipper guard all over your head and buzzzzes your hair off.  Your Floyd\'s 99 experience is always finished off with a hot lather straight razor neck shave and aaahhh… our signature shoulder massage.');
 tips.longcut = new Array(-5, 15, 100, '<b>Long Cut</b><br>A Long Cut is when your hair starts longer than shoulder-length and your stylist gives you a straight across, basic cut.  Your Floyd\'s 99 experience is finished off with a quick finger dry (no styling tools used) and aaahhh… our signature shoulder massage.');
 tips.layeredcut = new Array(-5, 15, 100, '<b>The Short Layered Cut</b><br>A Short Layered Cut is when your hair starts between shoulder length and the bottom of your ear and by name is more technically difficult than the Floyd\'s Cut.  Your hair is layered within the cutting process.  Your Floyd\'s 99 experience is finished off with a quick finger dry (no styling tools used) and aaahhh... our signature shoulder massage.<br><br><b>The Long Layered Cut</b><br>The difference between a short layered cut and a long layered cut is simply how long your hair is.  If your hair starts longer than shoulder-length it is considered a Long Layered Cut.  Your Floyd\'s 99 experience is finished off with a quick finger dry (no styling tools used) and aaahhh... our signature shoulder massage.');
 tips.kidscut = new Array(-5, 15, 100, '<b>Kids Cut</b><br>All haircuts for our young rockers aged 12 and under.');
 tips.blowdry = new Array(-5, 15, 100, '<b>Blow Dry & Style</b><br>A blow dry and style is what happens after the shampoo and cut.  Our stylists can do almost anything to get you ready to just look good walking down the street or getting\' busy to get you ready to go out on the town for a special night out. Pricing varies depending upon how much hair you have and how we\'re styling it. Our stylists will talk with you about what look you would like, how much time we estimate it will take, what tools they’ll use and how much it will cost before they begin their service.');
 tips.shave = new Array(-5, 15, 100, '<b>Face or Head Shave</b><br>Our own hip new versions of Floyd will give you these old school services with a flair.  Hot towels, oil, massage, aaahhh… for your face.  A Floyd\'s 99 shave experience is a great gift to give someone special; and a great pre-wedding get together to get the groom and his boys smooooth for the big day.  Your Floyd\'s 99 shave experience is always finished off with a hot lather straight razor neck shave and aaahhh... our signature shoulder massage. Appointments are highly recommended.');
 tips.beardtrim = new Array(-5, 15, 100, '<b>Mustache or Beard Trim</b><br>Pretty basic, we\'ll trim up the one\'s trying to get away.');
 tips.bangtrim = new Array(-5, 15, 100, '<b>Bang Trim</b><br>Just a little maintenance time in between cuts.');
 tips.neckclean = new Array(-5, 15, 100, '<b>Neck Cleanup</b><br>It grows back there between cuts.  If you\'re not quite ready for the full on Floyd\'s 99 haircut experience, but need to clean it up back there, the feel of the hot lather is worth the price.');
 tips.special = new Array(-5, 15, 100, '<b>Special Occasion Styling</b><br>Whether you want formal, funky, fun, sculpted, sleek, sassy, wavy, curly, braided or even whimsical, for those extra special occasions (prom, wedding, formal dinner, you name it), our talented stylists can take care of you.  Appointments are highly recommended to make sure we do our very best job for you.');
 tips.color = new Array(-5, 15, 100, '<b>Color Service</b><br>Whether you\'re looking to add a little sass with highlights, covering up those pesky grays or going for a funky rock star look, our talented colorists offer a full array of color services (all over, all types of highlights & lowlights, camo for men, etc.).  Let\'s talk... we will always do a consultation with you to learn what you want and also give you our expert recommendations based upon the style and condition of your hair.  We quote you a price before we do any work so you and your colorist are both on the same page and there are no surprises when you get to the front desk.');
 tips.eyebrow = new Array(-5, 15, 100, '<b>Eyebrow Wax</b><br>Self-explanitory. Nobody digs a unibrow.');


 // Finally, you can set some optional properties to customise the behavious of this object.
 //
 // How much of a delay do you want between pointing and action? Defaults are:
 //showDelay = 50;
 //hideDelay = 0;
 //
 // False will hide tips instantaneously. Fading only works under IE/Win and NS6+.
 //doFades = false;
 // You can change the minimum and maximum opacity percentages, defaults:
 //minAlpha = 0;
 //maxAlpha = 100;
 //
 // How fast the transparency changes (between 1 and 100), higher means faster fades.
 //fadeInSpeed = 20;
 //fadeOutSpeed = 5;
 //
 // Tip stickiness, from 0 to 1, defines how readily the tip follows the cursor. 1 means it
 // follows it perfectly (the default), 0 is a static tip, and decimals are 'floating' tips.
 //tipStick = 0.2;
 //
 // IE 5.5+ select box fix. This will enable tips to appear over <SELECT> elements in the page.
 //IESelectBoxFix = true;
}
