//////////////////////////////////////////////////////////////////////////////
//                      Show/Hide With a Slide Script                       //
//////////////////////////////////////////////////////////////////////////////
// 
// This little script allows you to create a section of content and hide it at
// the top of your screen for users to open and close as they wish.  This is
// particularly handy for things like login boxes, supplementary navigation
// and content enhancements like tips, tricks and interesting tidbits of
// information you don't need showcased within your regular content.
//
// If a visitor has JavaScript disabled or unavailable, the hidden content box
// will simply display itself as if it was always a visible component.
//
// CONTRIBUTORS:
//
// Original Creator:
//     Paul Hirsch
//     www.paulhirsch.com
//
// Tested by:
//     International Web Developers Network (IWDN)
//     www.iwdn.net - home page
//     www.iwdn.net/index.php - forums/community where testing took place
//
// Other Contributors:
//     Michaeljohn Clement - clued me in on offsetHeight - very handy!
//     [INSERT YOUR NAME AND BRIEF DESCRIPTION OF YOUR CONTRIBUTION HERE]
//
// INSTRUCTIONS:
//
// 1.  Place this markup in an external .js page and link to it within the
//     <head> section of your page.
//
// 2.  Create a div within your page to wrap around the content you wish to hide.
//     You'll place your hidden content in here. The div MUST be in the following
//     format: <div id="foo-#" class="hidden">, where:
//
//     a. "foo" is any word of your choice.
//     b. "-#" is any number between "-1" and "-9".
//     c. class ALWAYS equals "hidden". 
//
//     The "-#" sets the speed at which the box shows/hides itself, with 1
//     being slowest and 9 fastest.  If you forget to add your speed number
//     or add it incorrectly, the script will default to 5.
//     
//     Here's a proper example:
//     <div id="login-7" class="hidden">
//        [The stuff you want to show/hide]
//     </div>
//
// 3.  Add onclick="toggle();" and id="toggle" to whatever element you'd like
//     to use to toggle the hidden content box.  MAKE THE TOGGLED
//     OBJECT/TEXT/BUTTON display:none WITHIN YOUR STYLESHEET!  The script will
//     unhide it.  This is so it will not show up when someone has JavaScript
//     disabled.
//
//     Here's a proper example:
//     <input type="button" id="toggle" onclick="toggle();" value="ON/OFF" />
//
// 4.  Add onload="setup();" to your <body> tag.
//
// LICENSE:
//
// This script is protected under General Public License (GPL).  Feel free to
// redistribute this script, so long as you do not alter any of the contents
// specifying authorship.  If you add to or modify this script, you may add
// your name to the "Other Contributors" list at the top of this script.  As
// a courtesy, please email me and let me know how you've improved my script!
// You may not profit from the direct sale of this script.  You may use this
// script in commercial endeavors however (i.e. as part of a commercial site).
//
// Email me here: http://www.paulhirsch.com/contact_me.php
//
// Copyright 2006, Paul Hirsch. All rights specified herein and within GPL
// documentation: http://www.gnu.org/licenses/gpl.txt
//
//////////////////////////////////////////////////////////////////////////////
// DO NOT TOUCH ANYTHING BELOW THIS LINE                                    //
// unless you know what the heck you're doing!                              //
//////////////////////////////////////////////////////////////////////////////
//var divcount = $("div.hidden").length;
//if (divcount != 0) {

	var Hide = "";
	var varHt = 0;
	var Ht = "";
	var x = 0;
	var y = 10;
	var z = 4;
	var foo = new Array();
	var Speed = "";

	function setup() {
		foo = document.getElementsByTagName("div");
		for (i=0;i<foo.length;i++) {
			if (foo[i].className == "hidden") {
				Hide = foo[i].id;
			}
		}
		
		Ht = document.getElementById(Hide).offsetHeight;
		Speed = Hide.substring(Hide.lastIndexOf('-')+1);
		document.getElementById(Hide).style.height = '0px';
		document.getElementById('toggle').style.display = 'inline';
		
		if (Speed == 1) { y = 100; z = 1; }
		if (Speed == 2) { y = 70; z = 1; }
		if (Speed == 3) { y = 40; z = 1; }
		if (Speed == 4) { y = 20; z = 1; }
		if (Speed == 5) { y = 10; z = 1; }
		if (Speed == 6) { y = 10; z = 2; }
		if (Speed == 7) { y = 10; z = 4; }
		if (Speed == 8) { y = 10; z = 7; }
		if (Speed == 9) { y = 10; z = 10; }
	}

	function toggle() {
		if (x === 0) {
			document.getElementById(Hide).style.height = varHt+'px';
			if (((Ht-varHt) < z) && (varHt !== Ht)) {
				varHt = Ht;
			} else {
				varHt = varHt+z;
			}
			if (varHt <= Ht) {
				setTimeout('toggle()',y);
			}
			if (varHt > Ht) {
				varHt = Ht;
				x = 1;
			}
		} else {
			document.getElementById(Hide).style.height = varHt+'px';
			varHt = varHt-z;
			if ((Ht-varHt) <= Ht) {
				setTimeout('toggle()',y);
			}
			if ((Ht-varHt) > Ht) {
				varHt = 0;
				document.getElementById(Hide).style.height = varHt+'px';
				x = 0;
			}
		}
	}
//}
//	function setup() {
//	}
//}

