/*	Franchise Navigation
	This script sets up the primary functionality for franchise navigation.
	Randall Morey
	17 July 2007
*/
var ie6OrBelow;
var hasSelects;
var winWidth;
var winHeight;
var fhovered = false;

jQuery(franchisesInit);

function franchisesInit(){
	ie6OrBelow = parseFloat(navigator.appVersion.split("MSIE")[1]) <= "6";
	hasSelects = $('select').size() > 0;
	$('#franchiseNavigation ul.childSites').each(function(){ $(this).addShimFranchises(); });
	
	/* basic dropdown functionality */
	$('#franchiseNavigation .franchise').hover(function(event){
		var elem = $(this);
		var elemChild = elem.find('.childSites:eq(0)');
		elem.addClass('hoverclass');
		var ddWidth = elemChild.width();
		var ddHeight = elemChild.height();
		if((winWidth - (event.pageX+elem.width())) < ddWidth){
			elemChild.addClass('right');
		}
		if((winHeight - (event.pageY+elem.height())) < ddHeight){
			elemChild.addClass('bottom');
		}
		if(fhovered==false){
			$(this).parents('#contentWrap').addClass('fHover');
			fhovered=true;
		}
	},function(){
		$(this).removeClass('hoverclass').find('.childSites:eq(0)').removeClass('right').removeClass('bottom');
		if(fhovered==true){
			$(this).parents('#contentWrap').removeClass('fHover');
			fhovered=false;
		}
	});
	
	/* Adds clickable hover state to entire child item within dropdown */
	$("#franchiseNavigation .franchise .child").hover(
		function(){
			window.status = $(this).find("dl.contact a").attr("href");
			$(this).addClass("franchiseHover");
		},
		function(){
			window.status = "";
			$(this).removeClass("franchiseHover");
	});
	$("#franchiseNavigation .franchise .child").click(
		function(){
			window.location = $(this).find("dl.contact a").attr("href");
	});
	
	resized();
	//window.onresize = resized;		// needs a more elegant way to add event
};

function resized(){
	winWidth = $(window).width();
	winHeight = $(window).height();
	bestFit("#franchiseNavigation", "#franchiseNavigation .franchise");
};

/* fix superimposed select box issue/IE6 */
$.fn.addShimFranchises = function() {
		if(ie6OrBelow && hasSelects) {
			var elem = $(this);
			var ifShim = document.createElement('iframe');
			ifShim.style.position="absolute";
			ifShim.style.zIndex = -1;
			ifShim.style.left="-1px";
			ifShim.style.top="-2px";
			ifShim.style.border="0";
			ifShim.style.width=elem.width()+"px";
			ifShim.style.height=elem.height()+"px";
			ifShim.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)";
			elem.prepend(ifShim);
		}
};
$.fn.removeShimFranchises = function() {
		if (ie6OrBelow){
			$("iframe", this).remove();
		}
};