// JavaScript Document

var navConfig = {
	
	init: function() {
		this.initDroppy();
		$(function() {
			$('#siteNav ul').droppy();
		});
		this.zipCheck();
		
	},
	
	initDroppy: function() {
		
		$.fn.droppy = function() {  
		  this.each(function() {
			
			var root = this, zIndex = 1000;
			
			function getSubnav(ele) {
			  if (ele.nodeName.toLowerCase() == 'li') {
				var subnav = $('> ul', ele);
				return subnav.length ? subnav[0] : null;
			  } else {
				return ele;
			  }
			}
			
			function getActuator(ele) {
			  if (ele.nodeName.toLowerCase() == 'ul') {
				return $(ele).parents('li')[0];
			  } else {
				return ele;
			  }
			}
			
			function hide() {
			  var subnav = getSubnav(this);
			  if (!subnav) return;
			  $.data(subnav, 'cancelHide', false);
			  setTimeout(function() {
				if (!$.data(subnav, 'cancelHide')) {
				  $(subnav).slideUp(100);
				}
			  }, 190);
			}
		  
			function show() {
			  var subnav = getSubnav(this);
			  if (!subnav) return;
			  $.data(subnav, 'cancelHide', true);
			  $(subnav).css({zIndex: zIndex++}).slideDown(200);
			  if (this.nodeName.toLowerCase() == 'ul') {
				$(getActuator(this)).addClass('hover');
			  }
			}
			
			$('ul, li', this).hover(show, hide);
			$('li', this).hover(
			  function() { $(this).addClass('hover'); },
			  function() { $(this).removeClass('hover'); }
			);
			
		  });
		  
		};		
	},
	
	zipCheck: function() {
		var zipField = $('#zip');
		var form = $('#zipform');
		form.submit(function() {
			return valZip();				  
		});
		
		zipField.focus(function() {			
			if($(this).attr('value') == 'Enter Zip Code') {
				$(this).attr('value', '');
			}
		});		
	}	
	
}

$(document).ready(function() {
	navConfig.init();
});
						   