/* ***************** HOVER LABEL FUNCTIONALITY ****************** */
function hoverLabel(e) {
	//console.log(e);
	var hoverLabel = jQuery(e);
	var hoverInput = jQuery('#'+hoverLabel.attr('for'));
	
	function checkLabel(){
		if (hoverInput.val() == '') {
			hoverLabel.show();
		}
	}
	
	hoverInput.focus(function(){ hoverLabel.hide(); })
	.blur(function(){ checkLabel(); });
	
	checkLabel();

}

jQuery(function(){

	/* ************************* SEARCH FORM ************************* */
	hoverLabel('#searchLabel');
	jQuery('#searchSubmit').attr('value', '');
	
	/* ******************** REGION MAP ****************************** */
	
	var mapWrapper = jQuery('#mapWrapper');
	var mapImage = jQuery('#mapWrapper img');
	var mapRegions = jQuery('#DistrictImageMap area');
	var mapLinks = jQuery('#officesTabs li a, #link_Washington');
	var mapOffices = jQuery('#offices .office');
	var enableHover = true;
	var lastRegion;
	var defaultOfficeID = 'Washington';
	
	// replace image map with a blank .gif
	mapImage.attr('src', '_skins/davis2009/images/blank.gif');
	
	// function that highlight specific regions
	function highlightRegion(regionID) {
		mapWrapper.addClass(regionID);
		jQuery('#link_' + regionID).addClass('highlighted');
		// make sure all others are hidden
		mapOffices.hide();
		jQuery('#'+regionID).show();
	}
	function unhighlightRegion(regionID) {
		if (regionID) {
			mapWrapper.removeClass(regionID);
			jQuery('#link_' + regionID).removeClass('highlighted');
		}
		mapOffices.hide();
	}
	
	// event bindings
	mapRegions
		.click(function(){
			unhighlightRegion(lastRegion);
			var thisRegion = jQuery(this).attr('href').substr(1); 
			highlightRegion(thisRegion);
			lastRegion = thisRegion;
			enableHover = false;
			return false;
		})
		.mouseover(function(){
			if (enableHover) {
				highlightRegion(jQuery(this).attr('href').substr(1));
			}
		})
		.mouseout(function(){
			if (enableHover) {
				unhighlightRegion(jQuery(this).attr('href').substr(1));
				highlightRegion(defaultOfficeID);
			}
		});
	
	mapLinks
		.click(function(){
			unhighlightRegion(lastRegion);
			var thisRegion = jQuery(this).attr('href').substr(1); 
			highlightRegion(thisRegion);
			lastRegion = thisRegion;
			enableHover = false;
			return false;
		})
		.mouseover(function(){
			if (enableHover) {
				highlightRegion(jQuery(this).attr('href').substr(1));
			}			
		})
		.mouseout(function(){
			if (enableHover) {
				unhighlightRegion(jQuery(this).attr('href').substr(1));
				highlightRegion(defaultOfficeID);
			}
		});
	
	// reset
	unhighlightRegion();
	// show default office
	highlightRegion(defaultOfficeID);

	
	/* ************************** HOVER MENU ******************************* */
	var MenuList = jQuery('#nav > ul');
	var MenuItems = MenuList.find('li');
	
	MenuItems.mouseover(function(){
		var tgt = jQuery(this);
		tgt.find('ul').addClass('visible').parent().addClass('highlighted')/*.bgiframe()*/;
	})
	.mouseout(function(){
		var tgt = jQuery(this);
		tgt.find('ul').removeClass('visible').parent().removeClass('highlighted');
	});
	
});