// Set Global Variables
var listerLength = 0; // Declaire listerLength variable
domData.flag = false; // stops object processing until page is loaded.
var scrollYY = 0; // Amount of scrolling, last time checked
var fGroup = 2;	// Four scrolling cases: 
				// 2 = scroll leftsearch, floater and toparrow (default)
				// 1 = scroll floater and toparrow  
				// 0 = scroll toparrow  
				// -1 = scroll nothing  



// BEGIN Initialize DHTML Objects and start event capture
function init() {
	if (!domData.isOther) {
		// Check for listerLength;
		var minFloat = false;
		if (listerLength > 1) {
			minFloat = true;
		}
		// Capture browser window information
		if (domData.isNN4 || domData.isNN6up) {
			domData.winHeight = window.innerHeight;
		} else if (domData.isIE6) {
			domData.winHeight = document.all.canvas.clientHeight;
		} else if (domData.isIE4up) {
			domData.winHeight = document.body.clientHeight;
		}
		createObjects(); // Function in all_scripts/objects.js that creates DHTML objects
		domData.flag = true;
		if ((minFloat) && (theObjs["toparrow"])) {
			fGroup = 0;
			initFloater("toparrow");
		} else if ((domData.winHeight > 498) && (theObjs["floater"]) && (theObjs["toparrow"]) && (theObjs["leftsearch"])) {
			initFloater("floater");
			initFloater("toparrow");
			initFloater("leftsearch");
		} else if ((domData.winHeight > 335) && (theObjs["floater"]) && (theObjs["toparrow"])) {
			fGroup = 1;
			initFloater("floater");
			initFloater("toparrow");
		} else if (theObjs["toparrow"]) {
			fGroup = 0;
			initFloater("toparrow");
		} else {
			fGroup = -1;
		}
		if (fGroup != -1) {
			setInterval( "floater();", 200 );
		}
	}
} // END init()



// initFloater to initialize floater of a specific name
function initFloater(oName) {
	if (!theObjs[oName]) { return; }
	var obj = theObjs[oName];
	obj.startX = obj.objGetLeft(); // Starting X position of floater
	obj.startY = obj.objGetTop(); // Starting Y position of floater
	obj.moveY = setMoveY; // method that sets Y position of floater after scroll
} // END initFloater


// BEGIN Float as many as three items
function floater() {
	if ( domData.scrollY() != scrollYY ) { 
		scrollYY = domData.scrollY();
		switch (fGroup) {
			case 2:
			var obj = theObjs["leftsearch"];
			obj.objMoveAbsolute( obj.startX, obj.moveY(10) );
			var obj = theObjs["floater"];
			obj.objMoveAbsolute( obj.startX, obj.moveY(163) );
			var obj = theObjs["toparrow"];
			obj.objMoveAbsolute( obj.startX, obj.moveY(468) );
			break;
			case 1:
			var obj = theObjs["floater"];
			obj.objMoveAbsolute( obj.startX, obj.moveY(10) );
			var obj = theObjs["toparrow"];
			obj.objMoveAbsolute( obj.startX, obj.moveY(305) );
			break;
			case 0:
			var obj = theObjs["toparrow"];
			obj.objMoveAbsolute( obj.startX, obj.moveY(10) );
			break;
		}
	}
} // END floater


// BEGIN Define move_y method that marks how close the floater can get to the bottom of the browser window
function setMoveY(minY) {
	return Math.max( this.startY - domData.scrollY(), minY ) + domData.scrollY();
} // END setMoveY


