// YRCW Careers : global.js - rev. 1.04.04

$(document).ready(function() {
						   
	// add breadcrumb trail
	// adapted from script by Justin Whitford
	// http://www.webreference.com/js/scripts/breadcrumbs/
	
	// directory name-label mapping
	var dirLabeling = {
		"about": "About Our Company"
		, "drivers-mechanics": "Operations"
		, "office-professional": "Professional"
		, "sales": "Sales"
		, "working-for-yrcw": "Working for YRCW"
	};
	// parse url
	var docRoot = "/careers/";
	var rootLabel = "Home";
	var delimAfter = " &raquo; ";
	
	var sThisURL = location.href;
	var sThisPath = sThisURL.slice(sThisURL.indexOf("/", sThisURL.indexOf("//") + 2));
	sThisPath = sThisPath.replace(new RegExp("^" + docRoot), "/");
	var aSegments = sThisPath.slice(1).split("/");
	var bIsIndexPage = (aSegments.slice(-1)[0] == "" || aSegments.slice(-1)[0].charAt(0) == "?" || aSegments.slice(-1)[0].indexOf("index") >= 0);

	// build array of steps
	function labelize (dirName) {
		var label;
		if (dirLabeling[dirName]) {
			// use label for directory name if specified;
			label = dirLabeling[dirName];
		} else {
			// ... otherwise, use directory name (w/spaces, capitalized)
			label = dirName;
			label = label.replace(/[_-]/g, " ");
			label = label.replace(/\b(\w)/g, function (w, p1) {return p1.toUpperCase();});
		}
		return label;
	}
	var aSteps = ['<a href="' + docRoot + '">' + rootLabel + '</a>'];
	var sLink;
	for (var i = 0; i < aSegments.length - 1; i++) {
		sLink = '<a href="';
		for (j = 2; j <= aSegments.length - i; j++) sLink += '../';
		sLink += aSegments[i] + '/">' + labelize(aSegments[i]) + '</a>';
		aSteps.push(sLink);
	}
	
	// sequence steps semantically as nested single-item lists
	var nFinalStepIndex = aSteps.length - ((!bIsIndexPage) ? 1 : 2);
	for (var i = nFinalStepIndex; i >= 0; i--) {
		if (i == nFinalStepIndex) {
			$("#breadcrumb").html("<ul><li>" + aSteps[i] + delimAfter + "</li></ul>");
		} else {
			$("#breadcrumb").children(":first-child").wrap("<ul><li></li></ul>").before(aSteps[i] + delimAfter);
		}
	}
	
	
	
	// indicate current page
	var current_href = (location.pathname.replace(/index.html$/, '')).replace(/%2D/gi, '-');
	var menu_href;
	$("#nav li").each(function(){
		menu_href = $(this).find("> a").attr("href");
		if (current_href == menu_href) $(this).addClass("sel").parents("li").addClass("sel");
	});
	// for 3rd-level pages, suppress 2nd-level indicator
	$("#nav ul li.sel ul li.sel ul li.sel").parent().parent().removeClass("sel");
	
	

	// force left-nav job search to have a job area selected, and limit categories by area ...
	//	... store a separate copy of category selector HTML for each job area
	$.fn.disableLeftNavSearch = function () {
		$("#leftNavAreaSelector").parent().addClass("em");
		$("#leftNavCatSelector, #leftNavSubmit").attr("disabled", "disabled");
	};
	$.fn.enableLeftNavSearch = function () {
		$("#leftNavAreaSelector").parent().removeClass("em");
		$("#leftNavCatSelector, #leftNavSubmit").removeAttr("disabled");
	};
	$.fn.autoSelectInLeftNav = function (contentID) {
		var orgID, areaID;
		switch (contentID) {
			case "operations":
			case "professional":
			case "sales":
				areaID = contentID;
				break;
			case "glenmoore":
                		orgID = "glenmoore";
                		areaID = "operations";
			default:
				orgID = contentID;
		}
		if (orgID != undefined) {
			$("#leftNavOrgSelector")[0].selectedIndex = $("#leftNavOrgSelector option").index($("#leftNavOrgSelector option[id='org_" + orgID + "']")[0]);
		}
		if (areaID != undefined) {
			$("#leftNavAreaSelector")[0].selectedIndex = $("#leftNavAreaSelector option").index($("#leftNavAreaSelector option." + areaID)[0]);
			$("#leftNavAreaSelector").trigger("change");
		}
	};

	var selectHTML = new Object();
	$("#leftNavCatSelector option").each(function(i){
		var className = $(this).attr("class") || "null";
		if (className.length > 0 && selectHTML[className] == undefined) selectHTML[className] = "";
	});
	for (var prop in selectHTML) {
		var jq = $("<div>").append($("#leftNavCatSelector").clone());
		$("option", jq).not("." + prop).remove();
		selectHTML[prop] = jq.html();
	}
	//	... swap HTML blocks on job area change
	$("select#leftNavAreaSelector").change(function(){
		$("form#leftNavSearch p.categorySelector").hide();
		var selArea = $("#leftNavAreaSelector option:selected").attr("className") || "null";
		$("#leftNavCatSelector").replaceWith(selectHTML[selArea]);
		if (selArea == "null")	$.fn.disableLeftNavSearch();
		else					$.fn.enableLeftNavSearch();
	});
	//	... start in disabled state
	$.fn.disableLeftNavSearch();
	
	  
	
});



$(window).load(function() {
    // after images load, hug footer to bottom of nav or pagebody, whichever is taller
    $("#pageBody").css("min-height", 0).height(55 + Math.max($("#pageBody").height(), $("#nav").height()));
});
