/*
 * Create namespace.
 */
if (!tacoBell.Careers) { tacoBell.Careers = {}; }

// on area mouseover, change header and show quote
// on area mouseoff, revert header and hide quote
if (!tacoBell.Careers.RestCareerTypes) { 
	tacoBell.Careers.RestCareerTypes = (function() {
		var _photoYCoords = {
			'none': 0,
			'TeamMember': -390,
			'ShiftLead': -780,
			'AsstMgr': -1170,
			'RestGenMgr': -1560
		};
		var _headerClipValues = {};
		function _setUp() {
			// peload quotes
			_preloadQuotes();
			// get header clip values
			_getHeaderClipPosValues();
			// enable quote visibility
			// $('#contentContainer').css('overflow','visible');
			var areas = $('area');
			areas.hover(
				function() {
					document.body.style.cursor = 'pointer';
					var areaID = $(this).attr('id');
					var careerType = areaID.replace('area','');
					_updatePhotoCoords(careerType);
					_updateTextHeaders(careerType);
					$('#quote' + careerType).show();
					if (tacoBell.isIE6) {
						_fixQuoteIE6(careerType);
					}
				},
				function() {
					document.body.style.cursor = 'default';
					_updatePhotoCoords('none');
					_resetTextHeaders();
					$('.careerQuote').hide();
				}
			);
		}
		function _fixQuoteIE6(careerType) {
			// See http://www.twinhelix.com/cgi-bin/forum.pl/iepngfix/499
			var el = $('#quote' + careerType).get(0); 
			switch (careerType) {
				case 'TeamMember':
					el.style.height = '118px';
					el.style.width = '200px';
					break;
				case 'ShiftLead':
					el.style.height = '138px';
					el.style.width = '205px';
					break;
				case 'AsstMgr':
					el.style.height = '140px';
					el.style.width = '200px';
					break;
				case 'RestGenMgr':
					el.style.height = '121px';
					el.style.width = '250px';
					break;
				default:
					break;
			}
		}
		function _getHeaderClipPosValues() {
			var that = this;
			var careerType, headerEl;
			$('.careerHeader img').each(function() {
				careerType = $(this).attr('id').replace('headerImg','');
				_headerClipValues[careerType] = {};
				if ($('#headerImg' + careerType).css('clip') === undefined) {
					// IE
					var headerEl = $('#headerImg' + careerType).get(0);
					_headerClipValues[careerType]['offClip'] = 'rect(' + headerEl.currentStyle.clipTop + ' ' + headerEl.currentStyle.clipRight + ' ' + headerEl.currentStyle.clipBottom + ' ' + headerEl.currentStyle.clipLeft + ')';
				} else {
					// non-IE
					_headerClipValues[careerType]['offClip'] = $('#headerImg' + careerType).css('clip');
				}
				_headerClipValues[careerType]['overClip'] = _getHeaderOverClip(careerType);
				_headerClipValues[careerType]['offTop'] = $('#headerImg' + careerType).css('top');
				_headerClipValues[careerType]['overTop'] = _getHeaderOverTop(careerType);
			});
		}
		function _getHeaderOverClip(careerType) {
			var topClip, rightClip, btmClip, leftClip;
			switch (careerType) {
				case 'TeamMember':
					topClip = '16px';
					rightClip = '116px';
					btmClip = '32px';
					leftClip = '0';
					break;
				case 'ShiftLead':
					topClip = '16px';
					rightClip = '84px';
					btmClip = '32px';
					leftClip = '0';
					break;
				case 'AsstMgr':
					topClip = '16px';
					rightClip = '160px';
					btmClip = '32px';
					leftClip = '0';
					break;
				case 'RestGenMgr':
					topClip = '17px';
					rightClip = '294px';
					btmClip = '34px';
					leftClip = '0';
					break;
				default:
					break;
			}
			return 'rect(' + topClip + ' ' + rightClip + ' ' + btmClip + ' ' + leftClip + ')';
		}
		function _getHeaderOverTop(careerType) {
			var topPos;
			switch (careerType) {
				case 'TeamMember':
					topPos = '-16px';
					break;
				case 'ShiftLead':
					topPos = '-16px';
					break;
				case 'AsstMgr':
					topPos = '-16px';
					break;
				case 'RestGenMgr':
					topPos = '-17px';
					break;
				default:
					break;
			}
			return topPos;
		}
		function _preloadQuotes() {
			var balloons = new Image();
			$(balloons).attr('src', '/images/company/sprite_balloons.png');
			var quotes = new Image();
			$(quotes).attr('src', '/images/company/sprite_quotes_career_rest.png');
		}
		function _updatePhotoCoords(careerType) {
			$.each(_photoYCoords, function(key, value) {
				if (key == careerType) {
					$('#restCareersPhoto').css('background-position', '0 ' + value + 'px');
					return false;
				}
			})
		}
		function _updateTextHeaders(careerType) {
			switch (careerType) {
				case 'none':
				case '':
					_resetTextHeaders();
					break;
				default:
					_resetTextHeaders();
					var headerImg = $('#headerImg' + careerType);
					headerImg.css('clip', _headerClipValues[careerType]['overClip']);
					headerImg.css('top', _headerClipValues[careerType]['overTop']);
					break; 
			}
		}
		function _resetTextHeaders() {
			var careerType;
			$('.careerHeader img').each(function() {
				careerType = $(this).attr('id').replace('headerImg','');
				$(this).css('clip', _headerClipValues[careerType]['offClip']);;
				$(this).css('top', _headerClipValues[careerType]['offTop']);;
			});
		}
		return {
			setUp: function() {
				_setUp();
			}
		}
	})();
}
tacoBell.Careers.RestCareerTypes.setUp();

