// JavaScript Document

/*
This code works together with the menu_horizontal.css style sheet.

Here is the HTML code that goes along:

<!-- Start of Menu (menu_horizontal) --><div id="main_menu">

<div id="main_1" class="main_menu_off" onmouseover="show_mnu('main_1', 'submenu_1')">Menu Item 1</div><span class="main_menu_pipe">&nbsp;&nbsp;|&nbsp;&nbsp;</span>
<div id="main_2" class="main_menu_off" onmouseover="show_mnu('main_2', 'submenu_2')">Menu Item 2</div><span class="main_menu_pipe">&nbsp;&nbsp;|&nbsp;&nbsp;</span>
<div id="main_3" class="main_menu_off" onmouseover="show_mnu('main_3', 'submenu_3')">Menu Item 3</div><span class="main_menu_pipe">&nbsp;&nbsp;|&nbsp;&nbsp;</span>
<div id="main_4" class="main_menu_off" onmouseover="show_mnu('main_4', 'submenu_4')">Menu Item 4</div>
</div>

<div id="submenu">

<div id="submenu_1">
<a href="../item1.html">Item 11</a><span class="submenu_pipe">&nbsp;&nbsp;|&nbsp;&nbsp;</span>
Item 12</div>

<div id="submenu_2">Item 21  | Item 22</div>
<div id="submenu_3">Item 31  | Item 32</div>
<div id="submenu_4">Item 41  | Item 42</div>

</div><!-- End of Menu-->

*/
function menuHandler() {

	this.curMenu = "";
	this.curSub = "";

	if (typeof menuHandler._initialized == "undefined") {

		menuHandler.prototype.showSub = function (newMenu, newSub) {
			// Is the newMenu the same as the curMenu? if so, return
			if (this.curMenu == newMenu) return;
			//Is there a currently visible subMenu? If yes hide it.
			if (this.curSub != "" && this.curSub != "none") {
					this.hideSub ();
			}
			// Does the newMenu have a visible subMenu? If yes display it.
			if (newSub != "" && newSub != 'none') {
				document.getElementById(newSub).style.zIndex = 10;
				new Effect.Appear(newSub, {duration:.75, from:0, to:1.0});
			}
			// Update the current Menu and submenu
			this.curSub = newSub;
			this.curMenu = newMenu;
		}

		menuHandler.prototype.hideSub = function () {
			new Effect.Appear(this.curSub, {duration:.75, from:1.0, to:0});
			document.getElementById(this.curSub).style.zIndex = 0;
			var f = document.getElementById(this.curMenu);
			f.firstChild.src = "images/skin/" + this.curMenu + ".jpg"; // turn off rollover state of main menu
		}
	}
	menuHandler._initialized = true;
}

// Object definition for formHandler objects (Dynamic prototype method).
function formHandler() {
	this.currForm = ""; // the currently opened form segment

	if (typeof formHandler._initialized == "undefined") {

		// openForm method -- uses scriptaculous effects library
		formHandler.prototype.openForm = function () {
		if (this.currForm != "") {this.closeCurrent ();}
		var _index = document.getElementById("projectType").selectedIndex;
			switch (_index) {
				case 1: new Effect.BlindDown("webFeatures", {duration:.75});
					this.currForm = "webFeatures";
					break;
				case 2: new Effect.BlindDown("flashFeatures", {duration:.75});
					this.currForm = "flashFeatures";
					break;
				case 3: new Effect.BlindDown("bannerFeatures", {duration:.75});
					this.currForm = "bannerFeatures";
					break;
				case 4: new Effect.BlindDown("emailFeatures", {duration:.75});
					this.currForm = "emailFeatures";
					break;
				case 5: new Effect.BlindDown("videoFeatures", {duration:.75});
					this.currForm = "videoFeatures";
					break;
				case 6: new Effect.BlindDown("cdFeatures", {duration:.75});
					this.currForm = "cdFeatures";
					break;
				case 7: new Effect.BlindDown("exhibitFeatures", {duration:.75});
					this.currForm = "exhibitFeatures";
					break;
			}
		}

		// closeCurrent (form) method
		formHandler.prototype.closeCurrent = function () {
			document.getElementById(this.currForm).style.display = "none";
		}
	}

formHandler._initialized = true;
}

//Portfolio Script -- changes main image on rollover
function changeMain(img) {
	//new Effect.Appear("mainImg", {duration:.75, from:1.0, to:0, queue:"end"});
	document.getElementById("mainImg").src= img + '.jpg';
	//new Effect.Appear("mainImg", {duration:.75, from:0, to:1.0, queue:"end"});
}

// This function preloads the portfolio images
function preloader() 
{
     // counter
	 var i = 0;
     // create object
	 imageObj = new Image();
     // set image list
	 images = new Array();
	 images[0]="img_1.jpg"
	 images[1]="img_2.jpg"
	 images[2]="img_3.jpg"
	 images[3]="img_4.jpg"
     // start preloading
	 for(i=0; i<=3; i++)      {
		 imageObj.src=images[i];
		 }
} 
