if (!tacoBell.DriveThru.isIE6) { tacoBell.DriveThru.isIE6 = false; };
if (!tacoBell.DriveThru.navSelected) { tacoBell.DriveThru.navSelected = null; };

/*
 * Create rollovers for images and buttons.
 * @param baseName String Base name for image or button type.
 * @param id String ID of image.
 * @param arttext Boolean Whether button arttext has rollover.
 */ 
if (!tacoBell.DriveThru.rollover) {
	tacoBell.DriveThru.rollover = function(id, baseName, arttext) {
		var _baseName = baseName;
		var _id = id;
		var _arttext = arttext;
		var _imgOver;	
		// determine rollover type
		var _rolloverType = 'btn';
		if (_id != '') {
			_rolloverType = 'img';
		}
		// url parser
		function _parseUrl(data) {
			var e = /((http|ftp):\/)?\/?([^:\/\s]+)((\/\w+)*\/)([\w\-\.]+\.[^#?\s]+)(#[\w\-]+)?/;
			if (data.match(e)) {
				return {
					url: RegExp['$&'],
					protocol: RegExp.$2,
					host: RegExp.$3,
					path: RegExp.$4,
					file: RegExp.$6,
					hash: RegExp.$7
				};
			} else {
				return  {url:"", protocol:"",host:"",path:"",file:"",hash:""};
			}
		}
		// preload over images based on rollover type
		function _preloadOver(rolloverType) {
			if (rolloverType == 'btn') {
				var btnImgLOverName = $('.btn' + _baseName).eq(0).find('span').css('background-image').replace(/url\((\S+)off(\S+)\)/gi, '$1over$2');
				var btnImgLOver = new Image();
				btnImgLOver.src = btnImgLOverName;
				var btnImgROverName = $('.btn' + _baseName).eq(0).css('background-image').replace(/url\((\S+)off(\S+)\)/gi, '$1over$2');
				var btnImgROver = new Image();
				btnImgROver.src = btnImgROverName;
				// preload in div for IE
				var btnSides = ['L', 'R'];
				var btnSidesLength = btnSides.length;
				var preloadDiv, btnImgOverName;
				for (i = 0; i < btnSidesLength; i++) {
					preloadDiv = document.createElement('div');
					$(preloadDiv).attr('id', 'preload' + btnSides[i]);
					$(preloadDiv).appendTo('body');
					$(preloadDiv).css('background-repeat', 'no-repeat');
					$(preloadDiv).css('background-position', '-1000px -1000px');
					if (btnSides[i] == 'L') {
						btnImgOverName = btnImgLOverName;
					} else {
						btnImgOverName = btnImgROverName;
					}
					parsedBtnImgOverName = _parseUrl(btnImgOverName);
					$(preloadDiv).css('background-image', 'url(' + parsedBtnImgOverName['path'] + parsedBtnImgOverName['file'].replace(/"/gi, '') + ')');
				}
				// preload arttext over images
				$('.btn' + _baseName).each(function() {
					if (_arttext && ($(this).find('img').length)) {
						var arttextImg = $(this).find('img');
						var arttextOverImg = new Image();
						arttextOverImg.src = arttextImg.attr('src').replace(/off/gi, 'over');
					}
				});
			}
			if (rolloverType == 'img') {
				var imgOverName = $('#' + _id).attr('src').replace(/off/gi, 'over');
				_imgOver = new Image();
				_imgOver.src = imgOverName;
			}
		}
		_preloadOver(_rolloverType);
		// create rollover(s) based on rollover type
		function _createRollover(rolloverType){
			if (rolloverType == 'btn') {
				// add event listeners, and if there's an arttext image, change it too
				$('.btn' + _baseName).hover(
					function() {
						$(this).addClass('btn' + _baseName + 'Over');
						if (($(this).find('img').length) && arttext) {
							var imgArttext = $(this).find('img');
							imgArttext.attr('src', imgArttext.attr('src').replace(/off/gi, 'over'));
						}
					},
					function() {
						$(this).removeClass('btn' + _baseName + 'Over');
						if (arttext != null) {
							var imgArttext = $(this).find('img');
							imgArttext.attr('src', imgArttext.attr('src').replace(/over/gi, 'off'));
						}
					}
				);
			}
			if (rolloverType == 'img') {
				$('#' + _id).hover(
					function() {
						$(this).attr('src', _imgOver.src);
					},
					function() {
						$(this).attr('src', $(this).attr('src').replace(/over/gi, 'off'));
					}
				);
			}
		}
		_createRollover(_rolloverType);
	}
}

if (!tacoBell.DriveThru.NavManager) {
	tacoBell.DriveThru.NavManager = (function(){
		// possible nav assignments:
		// All, Christine, Options, Frescolution, None 
		var _thisNavAssign;
		var _redoPNGFixTimer;
		var _navEls;
		function _setUp() {
			_getPageNavAssignment();
			_showNav(_thisNavAssign);
			_addShareObserver();
			_addLoginObserver();
		}
		function _getPageNavAssignment() {
			_thisNavAssign = tacoBell.DriveThru.navSelected;
		}
		function _showNav(navAssign) {
			$('#arrowDown, #arrowUp').hide();
			$('#arrowDown, #arrowUp').unbind('click');
			$('.navVersion').hide();
			if (navAssign == 'All') {
				$('#arrowUp').show();
				_addArrowObserver('Up');
				$('#navAll').css('display','block');
				_addAllRollovers();
				if (tacoBell.DriveThru.isIE6) {
					$('#navTop').css('behavior','url(/drive_thru_diet/js/iepngfix.htc)');
					$('#navMidTop').css('behavior','url(/drive_thru_diet/js/iepngfix.htc)');
					$('#navMidBtm').css('behavior','url(/drive_thru_diet/js/iepngfix.htc)');
					$('#navBtm').css('behavior','url(/drive_thru_diet/js/iepngfix.htc)');
				}
			} else {
				$('#arrowDown').show();
				_addArrowObserver('Down');
				$('#navOne' + navAssign).css('display','block');
				if (tacoBell.DriveThru.isIE6) {
					$('#navOne' + navAssign).css('behavior','url(/drive_thru_diet/js/iepngfix.htc)');
				}
			}
		}
		function _addArrowObserver(upDown) {
			$('#arrow' + upDown).bind('click', function() {
				if (upDown == 'Up') {
					if (_thisNavAssign == 'All') {
						_showNav('None');
					} else {
						_showNav(_thisNavAssign);
					}
				} else if (upDown == 'Down') {
					_showNav('All');
				}
			});
		}
		function _addAllRollovers() {
			tacoBell.DriveThru.rollover('navAllItemChris', '');
			tacoBell.DriveThru.rollover('navAllItemOpts', '');
			tacoBell.DriveThru.rollover('navAllItemFresco', '');
		}
		function _addShareObserver() {
			$('#shareThis').bind('click', function(event) {
				tacoBell.DriveThru.share(event, document.location.href, document.title);
				$("#shareTabs").tabs();
			});
		}
		function _addLoginObserver() {
			$('#login').bind('click', function(event) {
				$('#loginOverlay').modal({
					opacity: 60,
					overlayClose: true
				});
			});
		}
 		return {
			setUp: function() {
				_setUp();
			},
			redoPNGFix: function(domEls) {
				_redoPNGFix(domEls);
			}
		}
	})();
}


function findPos(obj) {
	
	var curleft = curtop = 0;
	if (obj.offsetParent) {
	        curleft = obj.offsetLeft
	        curtop = obj.offsetTop
	        while (obj = obj.offsetParent) {
	                curleft += obj.offsetLeft
	                curtop += obj.offsetTop
	        }
	}
	return [curleft,curtop];
	
}

if (!tacoBell.DriveThru.share) {
	tacoBell.DriveThru.share = function(event, url, text, ecardID) {
		function _openOverlay() {
			// reset #shareOverlay to default
			_changeText('e-card', 'page');
			if (ecardID) {
				// change 'page' to 'e-card'
				_changeText('page', 'e-card');
			}
			$('#shareOverlay').modal({
				appendTo: '#shareOverlayContainer',
				opacity: 60,
				overlayClose: true
			});
			$("#shareTabs").tabs();
		}
		function _changeText(oldText, newText) {
			$('#shareTabs div p').each(function() {
				$(this).text($(this).text().replace(oldText, newText));
			});
		}
		function _updateLinks() {
			var fbMsObj = {
				't': text,
				'u': url
			}
			$('#btnPostItFb').attr('href', $.param.querystring($('#btnPostItFb').attr('href'), fbMsObj));
			$('#btnPostItMs').attr('href', $.param.querystring($('#btnPostItMs').attr('href'), fbMsObj));
			$('#btnPostItTw').attr('href', $.param.querystring($('#btnPostItTw').attr('href'), { 'status': text + ' ' + url }));
		}
		_openOverlay();
		_updateLinks();
	};
}
