
var gNavMenu = {
	
	// page elements
	navHolder : null,
	navItems : null,
	navLists : null,
	
	// function variables 
	timer : null,
	previousState : null,
	imgPath : null,
	
	init : function() {
		
		// set image path for each site
		gNavMenu.imgPath = "http://assets.whirlpool.com/new_amana_images/";
		
		// used to prevent older browsers from running the script 
		if (!document.getElementById || !document.getElementsByTagName) { return; }

		// get page elements
		gNavMenu.navHolder = document.getElementById('gnav');
		gNavMenu.navItems = gNavMenu.navHolder.getElementsByTagName("h2");
		gNavMenu.navLists = $(".drop-down-box");
		
		// preload rollover images 
		var img_prods_on = new Image();
		img_prods_on.src =  gNavMenu.imgPath + "our-products-hover.gif";
	
		var img_access_on = new Image();
		img_access_on.src = gNavMenu.imgPath + "accessories-hover.gif";
		
		var img_ls_on = new Image();
		img_ls_on.src = gNavMenu.imgPath + "amana-lifestyle-hover.gif";
		
		var img_promo_on = new Image();
		img_promo_on.src = gNavMenu.imgPath + "promo-and-events-hover.gif";
		
		var img_cc_on = new Image();
		img_cc_on.src = gNavMenu.imgPath + "customer-care-hover.gif";
		
		// close all list and reset all  images
		gNavMenu.resetFunc();
		
		$(gNavMenu.navItems).each(function (i) {
			
			$(this).hover(
				function () {
					
					// close all list and reset all  images
					gNavMenu.resetFunc();
					
					var theLink = this.getElementsByTagName('a')[0];
					var theImg = theLink.getElementsByTagName('img')[0];
					gNavMenu.previousState = theImg.src;
					
					if(theImg.alt == "Our Products") {
						theImg.src = img_prods_on.src;
					} else if(theImg.alt == "Accessories") {
						theImg.src = img_access_on.src;
					} else if(theImg.alt == "Amana Lifestyle") {
						theImg.src = img_ls_on.src;
					} else if(theImg.alt == "Promos & Events") {
						theImg.src = img_promo_on.src;
					} else if(theImg.alt == "Customer Care") {
						theImg.src = img_cc_on.src;
					} 
				
					// a new link has been moused over, so erase the countdown
					if (gNavMenu.timer) { clearTimeout(gNavMenu.timer); }
				
					// show the menu and button
					gNavMenu.navLists[i].style.visibility = 'visible';
					
					// add functionality for drop down in order to keep state when on an item
					$(gNavMenu.navLists[i]).hover(
						function () {
							clearTimeout(gNavMenu.timer);
						},
						function () {
							gNavMenu.setTimer();
						}
					);	
					
				}, 
				function () {
			  		gNavMenu.setTimer();
				}
			);
		});
	},
	
	setTimer : function() {
		if (gNavMenu.timer) { clearTimeout(gNavMenu.timer); }
		gNavMenu.timer = setTimeout('gNavMenu.resetFunc()',1000);
	},
	
	resetFunc : function () {
		
		// disabling the visibility of the sub menus
     	for (var z=0, allItems = gNavMenu.navItems.length; z < allItems; z++) {
         	gNavMenu.navLists[z].style.visibility = 'hidden';
			
			var links = gNavMenu.navItems[z].getElementsByTagName('a');
		
			var images = links[0].getElementsByTagName('img');
			
			var imgSrc = images[0].src;
			
			if(gNavMenu.previousState != null) {
				
				var orginalSrc = gNavMenu.previousState;
				
				if(/\-on/.test(gNavMenu.previousState)) {
					if(/\-coo/.test(gNavMenu.previousState)) {
						images[0].src = imgSrc.replace("-hover.gif","-coo-on.gif");
					} else if(/\-dis/.test(gNavMenu.previousState)) {
						images[0].src = imgSrc.replace("-hover.gif","-dis-on.gif");
					} else if(/\-lau/.test(gNavMenu.previousState)) {
						images[0].src = imgSrc.replace("-hover.gif","-lau-on.gif");
					} else if(/\-ref/.test(gNavMenu.previousState)) {
						images[0].src = imgSrc.replace("-hover.gif","-ref-on.gif");
					} else {
						images[0].src = imgSrc.replace("-hover.gif","-on.gif");
					}
				} else if(/\-off/.test(gNavMenu.previousState)){
					images[0].src = imgSrc.replace("-hover.gif","-off.gif");
				}
			}
			
     	}
	}
}

var determineSection = {
	
	// page elements
	theBody : null,
	
	// function variables
	currentSection : null,
	
	// section variables
	cookingSec : null,
	refrigSec :  null,
	laundrySec : null,
	dishwashSec : null,
	isCooking : false,
	isRefrig : false,
	isLaundry : false,
	isDiswash : false,
	regCook : null,
	regRefrig : null,
	regLaundry : null,
	regDiswash : null,
	
	
	init : function() {
	
		// get page id
		determineSection.theBody = document.getElementsByTagName("body")[0];
		determineSection.currentSection = determineSection.theBody.id;
		
		// section variables
		determineSection.cookingSec = "coo";
		determineSection.refrigSec = "ref";
		determineSection.laundrySec = "lau";
		determineSection.dishwashSec = "dis";
		
		determineSection.determinLoc();
	
	},
	
	determinLoc : function() {
			
		determineSection.regCook = new RegExp(determineSection.cookingSec);
		determineSection.regRefrig = new RegExp(determineSection.refrigSec);
		determineSection.regLaundry = new RegExp(determineSection.laundrySec);
		determineSection.regDiswash = new RegExp(determineSection.dishwashSec);
		
		// preload images for the correct section based on the ID on the body
		if(determineSection.regCook.test(determineSection.currentSection)) {
		
			determineSection.isCooking = "true";
		
		} else if(determineSection.regRefrig.test(determineSection.currentSection)) {
		
			determineSection.isRefrig = "true";
		
		} else if(determineSection.regLaundry.test(determineSection.currentSection)) {
		
			determineSection.isLaundry = "true";
		
		} else if(determineSection.regDiswash.test(determineSection.currentSection)) {
		
			determineSection.isDiswash = "true";
		
		}
	}
}

var replaceImage = {
	
	// page elements
	theImages : null,
	
	init : function() {
		replaceImage.theImages = $(".action");
		
		if(replaceImage.theImages.length > 0) {
			replaceImage.swapImage();
		}
	},
	
	swapImage : function() {
		
		var totalImages = replaceImage.theImages.length;
		
		for(var i = 0; i < totalImages; i++) {
			
			var imageSrc = replaceImage.theImages[i].src;
			
			if(determineSection.isCooking) {
			
				if(determineSection.regRefrig.test(imageSrc)) {
				
					replaceImage.theImages[i].src = replaceImage.theImages[i].src.replace("_ref","_coo");
					
				} else if(determineSection.regLaundry.test(imageSrc)) {
				
					replaceImage.theImages[i].src = replaceImage.theImages[i].src.replace("_lau","_coo");
				
				} else if(determineSection.regDiswash.test(imageSrc)) {
				
					replaceImage.theImages[i].src = replaceImage.theImages[i].src.replace("_dis","_coo");
				}
			
			} else if(determineSection.isRefrig) {
				
				
				if(determineSection.regCook.test(imageSrc)) {
				
					replaceImage.theImages[i].src = replaceImage.theImages[i].src.replace("_coo","_ref");
					
				} else if(determineSection.regLaundry.test(imageSrc)) {
					
					replaceImage.theImages[i].src = replaceImage.theImages[i].src.replace("_lau","_ref");
				
				} else if(determineSection.regDiswash.test(imageSrc)) {
				
					replaceImage.theImages[i].src = replaceImage.theImages[i].src.replace("_dis","_ref");
				}
			
			} else if(determineSection.isLaundry) {
			
				if(determineSection.regCook.test(imageSrc)) {
				
					replaceImage.theImages[i].src = replaceImage.theImages[i].src.replace("_coo","_lau");
					
				} else if(determineSection.regRefrig.test(imageSrc)) {
				
					replaceImage.theImages[i].src = replaceImage.theImages[i].src.replace("_ref","_lau");
				
				} else if(determineSection.regDiswash.test(imageSrc)) {
				
					replaceImage.theImages[i].src = replaceImage.theImages[i].src.replace("_dis","_lau");
				}
				
			} else if(determineSection.isDiswash) {
				
				if(determineSection.regCook.test(imageSrc)) {
				
					replaceImage.theImages[i].src = replaceImage.theImages[i].src.replace("_coo","_dis");
					
				} else if(determineSection.regRefrig.test(imageSrc)) {
				
					replaceImage.theImages[i].src = replaceImage.theImages[i].src.replace("_ref","_dis");
				
				} else if(determineSection.regLaundry.test(imageSrc)) {
				
					replaceImage.theImages[i].src = replaceImage.theImages[i].src.replace("_lau","_dis");
				}
				
			}
		}
		
	}

}


$(function() {
	gNavMenu.init();
	determineSection.init();
	replaceImage.init();
});

// used for Search box in top corner of every page

var initialValue = "Search";

function validate(keywords) {
    if (keywords.length < 3) {
        alert("Please enter a valid Keyword or Model Number (you must enter at least 3 characters).");
        return false;
    }
    else {
        return true;
    }
}

function resetField(element) {
    if (element.value.length == 0) {
        element.value = initialValue;
    }
}

function clearField(element) {
    if (element.value == initialValue) {
        element.value = "";
    }
}

