
/* COOKIES *************************************************** */
// http://www.quirksmode.org/js/cookies.html
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
function eraseCookie(name) {
	createCookie(name,"",-1);
}

/* SMOOTH BOXES ********************************************* */
function showModal(url,height,width){
	if ((url.indexOf('/TBG/GeneralContent/Shipping.jsp') > -1)) {
		TB_show('',url+'?TB_iframe=true&height=461&width=565',false);
	} else if (url.indexOf('/store/catalog/product_detail_modal.jsp') > -1) {
		TB_show('',url+'?TB_iframe=true&height=525&width=888',false);			
	} else {
		TB_show('',url+'?TB_iframe=true&height='+height+'&width='+width,false);
	}
}

/* MINICART ************************************************* */
function toggleMiniCart(){
	if ($('minicart_container').getStyle('top') == '-200px')
	{
		showMiniCart(false);
	} else {
		hideMiniCart();
	}
}

var blnItemAdded = false; // to be checked in lastCall, below, for addition of 'checkout' link

function showMiniCart(autoHide){
	blnItemAdded = true;
	if ($('minicart_container').getStyle('top') == '-210px')
	{
//		new Fx.Style('minicart_container', 'top',{duration: 1000, transition: Fx.Transitions.sineInOut}).start(-210,0);
	}
	if (autoHide == true)
	{
//		setTimeout("hideMiniCart()", 3000);
	}
}
function hideMiniCart(){
	if ($('minicart_container').getStyle('top') != '-210px')
	{
//		new Fx.Style('minicart_container', 'top',{duration: 1000, transition: Fx.Transitions.sineInOut}).start(0,-210);
	}
}

// **************************************************************************//
// **************************************************************************//
// **************************************************************************//
/* TODO: These variables and methods are used specifically for these templates
   Acquity should remove this code and use their own navigational controls */
// *************************************************************************//
function clientSideInclude(id, url) {
	var req = false;
	// For Safari, Firefox, and other non-MS browsers
	if (window.XMLHttpRequest) {
		try {
			req = new XMLHttpRequest();
		} catch (e) {
			req = false;
		}
	} else if (window.ActiveXObject) {
		// For Internet Explorer on Windows
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				req = false;
			}
		}
	}
	var element = document.getElementById(id);
	if (!element) {
		alert("Bad id " + id + 
		"passed to clientSideInclude." +
		"You need a div or span element " +
		"with this id in your page.");
		return;
	}
	if (req) {
		// Synchronous request, wait till we have it all
		req.open('GET', url, false);
		req.send(null);
		element.innerHTML = req.responseText;
	} else {
		element.innerHTML =
		"Sorry, your browser does not support " +
		"XMLHTTPRequest objects. This page requires " +
		"Internet Explorer 5 or better for Windows, " +
		"or Firefox for any system, or Safari. Other " +
		"compatible browsers may also exist.";
	}
}


// PRINT *************************************************************//
function printpage(){  
	if (window.print) {
		window.print() ;  
	} else {
		var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
	document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
		WebBrowser1.ExecWB(6, 2);//Use a 1 vs. a 2 for a prompting dialog box    
		WebBrowser1.outerHTML = "";  
	}
}

// swaps images for rollover functions of <input/> tags
function imageRollOver (image_replacement, elementID) {
	try {
		var imagetag = document.getElementById(elementID);
		imagetag.src = image_replacement;
	} catch(e) {
		// relax	
	}
}


if (window.location.toString().indexOf('www.tommybahama.com/store/catalog/search_results.jsp') > -1) {
	var headID = document.getElementsByTagName("head")[0];
    var cssNode = document.createElement('link');
	cssNode.type = 'text/css';
	cssNode.rel = 'stylesheet';
	cssNode.href = '/media/TB001/images/static/css/search.css';
	cssNode.media = 'screen';
	headID.appendChild(cssNode);
	
}

function showModalDiv(e) {
	var el_1 = document.getElementById('imgModalContent1');
	var el_2 = document.getElementById('imgModalContent2');
	
	if (e=='1') {
		el_1.style.display = 'block';
		el_2.style.display = 'hidden';
	} else {
		el_2.style.display = 'block';
		el_1.style.display = 'hidden';
		
	}
}

function isNumeric(x) {
	return (x!=null && !isNaN(x));
}


// Store Locator Exact Target Email Fix (2008.07.24), dpl
if ((window.location.toString().indexOf('StoresAndCafes.jsp') > -1) && (window.location.toString().indexOf('utm_source=ExactTarget') > -1)) {
	if ((window.location.toString().indexOf('utm_content=StorePreHeader&utm_campaign=EofT') > -1) || (window.location.toString().indexOf('utm_content=SwimFit&utm_campaign=EofT') > -1)) {
			window.location = '/TBG/StoresAndCafes/Tommy_Bahama_Stores.jsp';

	}
}

function lastCall() {
	
	//the page has been fully printed at this point; from here we can do client-side hacks and tweaks
	
	
	
	//show highlighted top nav:
	if (window.location.toString().indexOf('/TBG/Men/Big_and_Tall') > -1) {
		var objNavBigAndTall = $$('.nav_Big_and_Tall a')[0];
		objNavBigAndTall.setStyle('background','url(/media/TB001/images/static/navbar/nav_bigntall_on_20100216.gif) no-repeat');
	} else if (window.location.toString().indexOf('/TBG/Men') > -1) {
		var objNavMen = $$('.nav_Men a')[0];
		objNavMen.setStyle('background','url(/media/TB001/images/static/navbar/nav_men_on_20100216.gif) no-repeat');
	}
	if (window.location.toString().indexOf('/TBG/Women') > -1) {
		var objNavWomen = $$('.nav_Womens a')[0];
		objNavWomen.setStyle('background','url(/media/TB001/images/static/navbar/nav_women_on_20100216.gif) no-repeat');
	}	
	if (window.location.toString().indexOf('/TBG/Swim') > -1) {
		var objNavSwim = $$('.nav_Swim a')[0];
		objNavSwim.setStyle('background','url(/media/TB001/images/static/navbar/nav_swim_on_20100216.gif) no-repeat');
	}
	if (window.location.toString().indexOf('/TBG/Home') > -1) {
		var objNavHome = $$('.nav_Home a')[0];
		objNavHome.setStyle('background','url(/media/TB001/images/static/navbar/nav_home_on_20100216.gif) no-repeat');
	}
	if (window.location.toString().indexOf('/TBG/StoresAndCafes') > -1) {
		var objNavStores = $$('.nav_StoresCafes a')[0];
		objNavStores.setStyle('background','url(/media/TB001/images/static/navbar/nav_stores_on_20091223.gif) no-repeat');
	}
	if (window.location.toString().indexOf('/TBG/Cafes') > -1) {
		var objNavRestaurants = $$('.nav_Cafes a')[0];
		objNavRestaurants.setStyle('background','url(/media/TB001/images/static/navbar/nav_restaurants_on_20091223.gif) no-repeat');
	}
	if (window.location.toString().indexOf('/TBG/Stores_Restaurants/') > -1) {
		var objNavRestaurants = $$('.nav_Stores_Restaurants a')[0];
		objNavRestaurants.setStyle('background','url(/media/TB001/images/static/navbar/nav_storesrestaurants_on_20100216.gif) no-repeat');
	}
	
	
	//On the Gift Cards Listing page, show a range of prices, instead of $25:
	if (window.location.toString().indexOf('GiftCards_M.jsp') > -1) {
		$$(".product_desc").each(
			function(target){
				target.innerHTML = target.innerHTML.replace('$25','$25-$1000');
				
			}
		);
	}

	var elJimi = $$('.leftnav')[0];
	if (elJimi) {
		try {
			var arrImages = elJimi.getElementsByTagName('img');
			arrImages[0].onmouseover = function () {arrImages[0].style.cursor='pointer'; arrImages[0].style.cursor='hand';}
			if (window.location.toString().indexOf('/TBG/Men') > -1) {
				arrImages[0].onclick = function () {window.location = '/TBG/GeneralContent/MLB/01.jsp';}
			} else {
				arrImages[0].onclick = function () {showModal('/TBG/GeneralContent/Shipping.jsp','525','560');}
			}
		} catch(e) {
			// do nothing
		}
	}


	if ((window.location.toString().indexOf('/store/checkout/payment.jsp') > -1) || (window.location.toString().indexOf('/store/checkout/order_review.jsp') > -1)) {
		try {
			var objCardInput = document.getElementById('ACCOUNT<>accountNumber');
			var objPaymentSelect = document.getElementById('paymentSelect');
			var objCCV = $$('.payment_ccv')[0];
			var objWhatsThis = objCCV.getElementsByTagName('a')[0]; // "See example below"
			var objGiftCardPanel =  document.getElementById('giftCardPanel'); // $$('.book_content')[0];
			objCardInput.setAttribute('maxlength', 19);
			objWhatsThis.style.display = 'none';
			if (objCCV.innerHTML.toString().indexOf('&nbsp;&nbsp;See example below:') < 0) {
				objCCV.innerHTML += '&nbsp;&nbsp;[see example below]';
			}
			objGiftCardPanel.innerHTML += '<div id="divGiftCardExample" style="height:68px;width:466px;margin-top:88px;position:absolute;display:block;"><img src="/media/TB001/images/static/checkout/gift_card_examples.jpg" border="0" alt="How to identify your Card Number and PIN" /></div>';
			var objFooter = document.getElementById('navlist');
			objFooter.style.marginTop = '160px';
			
			var objCardNumberText = objGiftCardPanel.getElementsByTagName('div')[0];
			objCardNumberText.innerHTML = 'Card Number (19 digits, no spaces):';
		} catch(e) {
			//do nothing; this is probably the REAL order_review.jsp...
		}
		
		try {
			var objPaymentSelect = document.getElementById('paymentSelect');
			
			if (objPaymentSelect) {
				document.write('<div id="divGiftCardHelper" style="height:68px;width:466px;margin-top:168px;position:absolute;display:block;left:78px;">');
				document.write('<h2>Do You Have a Gift Card?</h2>');
				document.write('<br /><b>If you\'d like to use a Gift Card, redeem it first:</b> <ul><li>Select Gift Card from the "Select payment type" dropdown box </li><li>Complete the required fields</li></ul>');
				document.write('<b>If you still have a remaining balance after using your Gift Card:</b> <ul><li>Select Credit Card from the "Select payment type" dropdown box </li><li>Complete the required fields</li></ul>');
				document.write('<img src="/media/TB001/images/static/checkout/gift_cards.jpg" border="0" alt="Gift Card images" />');
				document.write('</div>');
				document.write('<style type="text/css">');
				document.write('	#divGiftCardHelper ul {margin-left:26px;}');
				document.write('</style>');
			}
			//  else {
			//	document.write('<style type="text/css">#divGiftCardHelper {display:none;}</style>');
			//}
/*			objPaymentSelect.onchange = function () {
				if (objPaymentSelect.options[objPaymentSelect.selectedIndex].value=='') {
					document.write('<div id="divGiftCardHelper" style="height:68px;width:466px;margin-top:188px;position:absolute;display:block;left:78px;">');
					document.write('<h2>Do You Have a Gift Card?</h2>');
					document.write('If you\'d like to use a Gift Card, redeem it first: <ul><li>Select Gift Card from the dropdown box </li><li>Complete the required fields</li></ul>');
					document.write('If you still have a remaining balance after using your Gift Card:<ul><li>Select Credit Card from the dropdown box </li><li>Complete the required fields</li></ul>');
					document.write('</div>');
				} else {
					document.write('<style type="text/css">#divGiftCardHelper {display:none;}</style>');
				}
			}
*/
		} catch(e) {
		
		}
		var objPaymentSelect = document.getElementById('paymentSelect');
		if (objPaymentSelect) {
			objPaymentSelect.onchange = function () {
				setCCPanel(objPaymentSelect);
			}
		}
		//help guide giftcard input
/*		if (objCardInput) {
			//try {
				objCardInput.onkeyup = function () {
					var noSpaces = objCardInput.value;
					objCardInput.value = noSpaces.replace(/ /g,"");
					if ((objPaymentSelect.options[objPaymentSelect.selectedIndex].value=='GC') && (objCardInput.value.length > 19)) {
						alert("Your Card Number should not be more than 19 digits; please verify your input");
						objCardInput.focus();
					}
				}
				objCardInput.onblur = function () {
					if ((objPaymentSelect.options[objPaymentSelect.selectedIndex].value=='GC') && (objCardInput.value.length < 19)) {
						alert("Your Card Number should be 19 digits in length, without spaces; please verify your input");
					}
				}
				objPaymentSelect.onchange = function () {
					if (objPaymentSelect.options[objPaymentSelect.selectedIndex].value=='GC') {
						objWhatsThis.style.display = 'none';
						//if (objCCV.innerHTML.toString().indexOf('&nbsp;&nbsp;See example below:') < 0) {
						//	objCCV.innerHTML += '&nbsp;&nbsp;[see example below]';
						//}

					}
				}
			//} catch (e) {
				// do nothing
			//}
		}
		*/
	}
	
	if (window.location.toString().indexOf('/store/checkout/order_confirm.jsp') > -1) {
		var objTable = $$('shoppingbag_table');
		var arrRows = objTable.getElementsByTagName('tr');
		
		
	}
	
	//Push footer down to bottom of recipes page:
	if ((window.location.toString().indexOf('/TBG/Cafes/Recipes.jsp') > -1)) {
		var objFooter = $$('.content_container')[2];
		var objMainContent = $$('.main_content')[0];
		var intPageHeight; //= (document.height !== undefined) ? document.height : document.body.offsetHeight;
	
		if (window.innerHeight && window.scrollMaxY) { // Firefox
			intPageHeight = window.innerHeight + window.scrollMaxY;
		} else if( document.body.scrollHeight > document.body.offsetHeight ) { // all but Explorer Mac
			intPageHeight = document.body.scrollHeight;
		} else { // works in Explorer 6 Strict, Mozilla (not FF) and Safari
			//intPageHeight = document.body.offsetHeight + document.body.offsetTop; 
			objFooter.setStyle('display','none');
		}
		objFooter.setStyle('top',intPageHeight+'px');
	}
	
	//fix giftcard page layout issues
	if ((window.location.toString().indexOf('/PRD_GC') > -1)) {
		document.write('<link rel="stylesheet" type="text/css" href="/media/TB001/images/static/css/giftcards.css" />');
		document.write('<style type="text/css">');		
		if (navigator.userAgent.toLowerCase().indexOf('msie') > -1) {
			document.write('	.product_detail_bg {top:6px;}');
			document.write('	.detail_paperclip_giftcard {top:14px;}');
		} else {
			document.write('.product_detail_bg{top:-8px;}');
			document.write('.detail_paperclip_giftcard{top:0px;}');
		}
		document.write('</style>');
	}
	
	//kill links in minicart for items we've removed:
	var objCustomerServiceLink = $$(".nav_mini_cs");
	try {
		objCustomerServiceLink[0].style.height = '19px';
		objCustomerServiceLink[0].innerHTML = '';
	} catch (e) {
		//do nothing
	}
	
	
	if ((window.location.toString().indexOf('/store/myaccount/returns_confirm_print.jsp') > -1) || (window.location.toString().indexOf('/store/checkout/order_confirm_print.jsp') > -1)) {
		document.write('<style type="text/css">');
		document.write('.main_logo {background: url("/media/TB001/images/static/tommy_logo_print.gif") no-repeat;width:328px;height:54px;}');
		document.write('</style>');
	}
	

	if ((window.location.toString().indexOf('/Island_Values') > -1) || (window.location.toString().indexOf('/Mothers_Day_Gift_Shop/Watches.jsp') > -1)) {
		document.write('<style type="text/css">');
		document.write('.product_desc {color:#e78a31;}');
		document.write('</style>');
		
	}


	//search input handler
	var objSearchForm = document.basic_search;
	var objSearchInput = document.getElementById('searchFor');

	try {
		objSearchForm.onsubmit = function() {
			if ((objSearchInput.value=='')||(objSearchInput.value=='Search')) {
				alert('Please enter a search term.');
				objSearchInput.select();
				return false;		
			} else if ((objSearchInput.value=='size chart')||(objSearchInput.value=='sizing')||(objSearchInput.value=='men size chart')||(objSearchInput.value=='measurements')) {
				showSizeChart('TBM','/TBG/GeneralContent/SizingChart.jsp');
				return false;
			} else {
				return true;
			}
			
		}
	} catch(e) {
		//this is probably a page with no search--like a modal.
	}

	// 6.1.2009 - quick fix:
	if (window.location.toString().indexOf('/store/catalog/product_view_larger_modal.jsp') > -1) {
		document.write('<link rel="stylesheet" type="text/css" href="/media/TB001/images/static/css/viewlarger.css" />');
	}
	
	if (window.location.toString().indexOf('/store/checkout/order_confirm.jsp') > -1) {
		document.write('<script language="JavaScript" src="http://pbid.pro-market.net/engine?site=tbconfirm+size=1x1+mimetype=js"></script>');
	}



	/////////////////////////////////////////////////////////
	//  Positioning of upper-right images (contact us/checkout)
	// insert entire contact us/checkout paper in upper right
	var objTopNav = $$('.top_bg')[0];
	try {
		var strTopNav = '<div id="divContactUsLink" style="position:absolute;left:680px;top:0px;width:166px;height:25px;display:block;z-index:10;"><a href="/TBG/GeneralContent/ContactUs.jsp"><img src="/media/TB001/images/static/spacer.gif" width="166" height="25" border="0" alt="Contact Us" /></a></div><div id="divShoppingBagLink" style="position:absolute;left:850px;top:0px;width:76px;height:25px;display:block;z-index:10;"><a href="/store/checkout/cart.jsp"><img src="/media/TB001/images/static/spacer.gif" width="76" height="25" border="0" alt="Shopping Bag" /></a></div>';
	
		objTopNav.innerHTML = (strTopNav + objTopNav.innerHTML);
	
		var objCheckoutBox = $$('.checkout_box')[0];
		var objShoppingBag1 = objCheckoutBox.getElementsByTagName('img')[2];
		var objShoppingBag2 = objCheckoutBox.getElementsByTagName('img')[3];
		objShoppingBag1.src = '/media/TB001/images/static/spacer.gif';
		objShoppingBag1.style.display='none';
	
		objShoppingBag2.src = '/media/TB001/images/static/spacer.gif';
		objShoppingBag2.style.display='none';
		
	} catch(e) {
		//this is a page with no top nav--like a modal.
		//alert(e.toString());
	}
		
	//
	/////////////////////////////////////////////////////////
	
	if (window.location.toString().indexOf('/store/catalog/product_detail_modal.jsp') > -1) {
		document.write('<link rel="stylesheet" type="text/css" href="/media/TB001/images/static/css/productdetailmodal.css" />');
	}
	



	if (window.location.toString().indexOf('/store/checkout/address_details.jsp') > -1) {
		try {
			
			var objPromoCodeInputDiv = document.getElementById('promo_code_input'); // if there's a promo code input, then we're not really ON the address page, but on the cart when it's refreshed with an error.  URL bug.
			if (!objPromoCodeInputDiv) {
				var strSiteTipDiv = '<div id="divSiteTip" style="position:absolute;top:170px;left:878px;z-index:16;"><img src="/media/TB001/images/static/checkout/sitetip2.jpg" border="0" alt="FYI - Using a Gift Card - If you have a Tommy Bahama gift card, you\'ll need it for the next step. Be sure to enter it as payment before your credit card." /></div>';
				document.write(strSiteTipDiv);
			
				var objShippingSelect = document.getElementById('cartshipping');
				objShippingSelect.style.width = '190px';
			}
	
		} catch(e) {
			//alert(e.toString());
		}
	}

	
	////////////////////////////////////////////////////////////////////
	// GOHAC 
	//
	if ((window.location.toString().indexOf('/PRD_TH7352') > -1) || (window.location.toString().indexOf('/PRD_TH7353') > -1) || (window.location.toString().indexOf('/PRD_TH7354') > -1) || (window.location.toString().indexOf('/PRD_TW20499') > -1) || (window.location.toString().indexOf('/PRD_TB1017-BR') > -1) || (window.location.toString().indexOf('/PRD_T32577') > -1)) {
		var objDetailText = $$('.product_detail_text')[0];
		var objDetailTextDiv = objDetailText.getElementsByTagName('div')[1];
		objDetailTextDiv.innerHTML += '<div style="margin-top:8px;margin-bottom:16px;"><img src="/media/TB001/images/static/gohac/gohac_large.gif" width="247" height="84" border="0" alt="The Garden of Hope and Courage" /></div>';
	}
	//
	////////////////////////////////////////////////////////////////////
	
/*	
	if (window.location.toString().indexOf('/PRD_') > -1) {
		var objAddToBag = $$('.btm_add_to_bag')[0];
		try {
			//objAddToBag.innerHTML += '<div id="divProceedToCheckout" style="display:block;margin-top:8px;"><a href="/store/checkout/cart.jsp?cm_sp=Site+Features-_-Proceed+To+Checkout-_-Product+Detail"><img src="/media/TB001/images/static/btn_proceed_to_checkout.gif" border="0" alt="Proceed to Checkout" /></a></div>';
			objAddToBag.innerHTML += '<div id="divProceedToCheckout" style="display:block;margin-top:8px;"><a href="/store/checkout/cart.jsp"><img src="/media/TB001/images/static/btn_proceed_to_checkout.gif" border="0" alt="Proceed to Checkout" /></a></div>';
		} catch(e) {
			// do nothing
		}
	}
*/

	// shopping bag updates
	if ((window.location.toString().indexOf('/store/checkout/cart.jsp') > -1) || (window.location.toString().indexOf('/store/checkout/address_details.jsp') > -1)) {
		// sometimes the cart can be shown when the URL is "address_details.jsp"
		try {
			var objPromoCodeInputDiv = document.getElementById('promo_code_input');// if there's a promo code input, then we're not really ON the address page, but on the cart when it's refreshed with an error.  URL bug.
			if (objPromoCodeInputDiv) {
				var objShippingInfo = $$('.bag_shipping_info_link')[0];
				objShippingInfo.innerHTML = objShippingInfo.innerHTML.replace("[shipping info]", "When will my order&nbsp;ship?");
				
				//widen shipping options drop-down (width is hardcoded, inline)
				var objShippingSelect = document.getElementById('cartshipping');
				objShippingSelect.style.width = '190px';
				
				var objShippingSelectDiv = objShippingSelect.parentNode;
				objShippingSelectDiv.style.width = '180px';
				var objShippingSelectTD = objShippingSelectDiv.parentNode;
				objShippingSelectTD.style.width = '200px';
				
				var objShoppingTable = $$('.shoppingbag_table_new')[0];
				var arrShoppingBagTD = objShoppingTable.getElementsByTagName('td');
				arrShoppingBagTD[4].width = '102';
				
				//move the gift box image over a little..
				var objGiftWrapLink = document.getElementById('giftServicesLink');
				var objGiftWrapImage = objGiftWrapLink.getElementsByTagName('img')[0];
				objGiftWrapImage.style.marginLeft = '28px';
				
				var objBookContent = $$('.book_content')[0];
				objBookContent.style.width = '888px';
				
				var objContinueButton = $$('.btn_continue_left')[0];
				var objContinueButtonTD = objContinueButton.parentNode;
				objContinueButtonTD.width = '618';
				
				var arrCartImages = document.getElementsByTagName('img');
				for (i=0; i<arrCartImages.length; i++) {
					if (arrCartImages[i].src.toString().indexOf('title_bar.gif') > -1) {
						arrCartImages[i].width = '888';
						arrCartImages[i].style.width = '888px';
					}
				}
		
		
		
				
				var objPromoCodeInputTD = objPromoCodeInputDiv.parentNode;
				var objPromoCodeInputTR = objPromoCodeInputTD.parentNode;
				var objPromoCodeInputTB = objPromoCodeInputTR.parentNode;
				var objPromoCodeInputTable = objPromoCodeInputTB.parentNode;
				//hide promo code table
				//objPromoCodeInputTable.style.display = 'none';
				
				//widen promo code table
				objPromoCodeInputTable.style.width = '888px';
			
				var objPromoCodeLeftTD = objPromoCodeInputTR.getElementsByTagName('td')[0];
				objPromoCodeLeftTD.style.width = '626px';
				
				var objPromoCodeInput = document.getElementById('promotionCode');
				if (objPromoCodeInput) {
					objPromoCodeInput.onkeyup = function () {
						objPromoCodeInput.value = objPromoCodeInput.value.toUpperCase();
						objPromoCodeInput.value = objPromoCodeInput.value.replace(" ","");
						if ((objPromoCodeInput.value.length > 5) && (isNumeric(objPromoCodeInput.value))) {
							alert('If this is a Gift Card, please move forward in the checkout process and enter the Gift Card number within the "Payment Options" step.');
							objPromoCodeInput.value = '';
							objPromoCodeInput.blur();
						}
					}
				}
	
			}
		} catch(e) {
			//alert(e.toString());
		}

		
	}


	if (window.location.toString().indexOf('/TBG/GeneralContent/ContactUs.jsp') > -1) {
		var objContactForm = $$('.accountForm')[0];
		var objContactFormText = objContactForm.getElementsByTagName('div')[0];
		objContactFormText.style.width = '680px';
		var objMainContent = $$('.main_content')[0];
			
		objMainContent.innerHTML = '<div id="divPhoneNumber" style="position:absolute;width:266px;left:628px;z-index:50;text-align:center;float:right;margin-top:48px;">Contact us by phone: 1-866-986-8282<br />Monday-Friday, 6am-6pm PST.<div id="divFAQ" style="margin-left:26px;margin-top:18px;"><h3><a href="/TBG/GeneralContent/CustomerService.jsp#faq">Have a question? Check our FAQ\'s</a></h3><ul style="text-align:left;margin-left:28px;"><li><a href="/TBG/GeneralContent/CustomerService.jsp#faq_shipping">SHIPPING INFO</a></li><li><a href="/TBG/GeneralContent/CustomerService.jsp#faq_order">MY ORDER</a></li><li><a href="/TBG/GeneralContent/CustomerService.jsp#faq_products">OUR PRODUCTS</a></li><li><a href="/TBG/GeneralContent/CustomerService.jsp#faq_returns">RETURNS/EXCHANGES</a></li></ul></div></div>' + objMainContent.innerHTML;
		
		// prompt (show flyout) in shopping bag for free shipping @ $100
		try {
			
		} catch(e) {
		
		}
	}
		

	/////////////////////////////////////////////////////////////////
	//
	// show SEM tags...
	
	if (window.location.toString().indexOf('/TBG/Men/Big_and_Tall') > -1) {
		document.write('<div style="position:absolute;left:-400px;"><script language="JavaScript" src="http://pbid.pro-market.net/engine?site=tbbigtall+size=1x1+mimetype=js"></script></div>');
	}
	
	if (window.location.toString().indexOf('/TBG/Men/Wedding') > -1) {
		document.write('<div style="position:absolute;left:-400px;"><script language="JavaScript" src="http://pbid.pro-market.net/engine?site=tbwedding+size=1x1+mimetype=js"></script></div>');
	}
	
	if (window.location.toString().indexOf('/TBG/Gifts') > -1) {
		document.write('<div style="position:absolute;left:-400px;"><script language="JavaScript" src="http://pbid.pro-market.net/engine?site=tbgift+size=1x1+mimetype=js"></script></div>');
	}
	
	// end SEM tags.
	//
	/////////////////////////////////////////////////////////////////
	
}


function showShareThis() {
	
		if (window.location.toString().indexOf('product_detail_modal.jsp') > -1) {
			//do nothing; don't show "share this" in a cross-sell modal.
		} else {
			document.write('<div id="divProceedToCheckout" style="display:block;margin-top:8px;text-align:right;"><a href="/store/checkout/cart.jsp"><img src="/media/TB001/images/static/btn_proceed_to_checkout.gif" border="0" alt="Proceed to Checkout" /></a></div>');
			
			if (navigator.userAgent.toLowerCase().indexOf('msie 6') > -1) {
				//do nothing; don't show ShareThis to IE6
			} else {
				document.write('<style type="text/css">');
				document.write('.btm_add_to_bag {margin-bottom:8px;}');
				document.write('#divShareThis {text-align:right;width:100px;margin-left:118px;margin-top:8px;}');
				document.write('#sharethis_0 {width:160px;margin-left:0px;}');
				document.write('</style>');
				document.write('<!--[if lt ie 7]>');
				document.write('<style type="text/css">');
				document.write('#divShareThis {display:none;}');
				document.write('</style>');
				document.write('<![endif]-->');
				document.write('<!--[if gt ie 6]>');
				document.write('<style type="text/css">');
				document.write('#sharethis_0 {margin-left:118px;}');
				document.write('</style>');
				document.write('<![endif]-->');
				document.write('<div id="divShareThis"><script type="text/javascript" src="http://w.sharethis.com/button/sharethis.js#publisher=67d31587-f651-47e4-a0c0-67003e14dfb9&amp;type=website&tracking=google"></script></div>');
			}
		}
}

function hideFlyout(e) {
	try {
		hideElement(e);
		if (window.location.toString().indexOf('/TBG/PRD_') > -1) {
			var objIframe = document.getElementById('S7ProdTest');
		//	showElement(objIframe);
		}
	} catch(e) {
	
	}
}

function showFlyout(e) {
	try {
/*		var objTopNav = $$('.top_nav')[0];
		var objTopNavArray = objTopNav.getElementsByTagName('li');
		var objFlyoutArray = $$('.navFlyout');
		for (i=0;i<objFlyoutArray.length;i++) {
			objFlyoutArray[i].style.display = 'none';
		}
		for (i=0;i<objTopNavArray.length;i++) {
			if (objTopNavArray[i]==e) {
				e.style.display = 'block';
			}
		}
		if (window.location.toString().indexOf('/TBG/PRD_') > -1) {
			var objIframe = document.getElementById('S7ProdTest');
		//	hideElement(objIframe);
		}
*/
		showElement(e);
		
	} catch(e) {
		alert(e.toString());
	}
}

function hideElement(e) {
	try {
		e.style.display='none';	
	} catch(e) {
		
	}
}

function showElement(e) {
	try {
		e.style.display='block';	
	} catch(e) {
		
	}
}

function showShippingModal() {
	showModal('/TBG/GeneralContent/Shipping.jsp','461','565');
}

/******************************************************
	View Larger Link on Product Details Page
******************************************************/

function viewLarger(strPagePath,strStyle,strSelectedColor, productId) {
	var strImageFormat = '';
	var intScreenWidth = screen.width;
	var intPopupWidth = 749;
	var intPopupHeight = 665;
	
	if (intScreenWidth > 1279) {
		strImageFormat = '1';
		intPopupWidth = 999;
		intPopupHeight = 860;
	}
	//showModal(strPagePath+"?if=" + strImageFormat + "&style=" + strStyle + "&color=" + strSelectedColor ,"800","999");
	popupWindow(strPagePath+"?if=" + strImageFormat + "&style=" + strStyle + "&color=" + strSelectedColor +"&productId=" + productId, intPopupHeight,intPopupWidth);
}

function updateLargeImage(strImageFormat,path,img) {
	var objLargeImage = document.getElementById("imgLarge");
	var strURL = "";
	strURL += path.toString() + img.toString() + '?$' + strImageFormat.toString() + '$';
	objLargeImage.src = strURL;
}


function closeModal() {
	parent.TB_remove();
}

function closeWindow() {
	window.close();
}

/******************************************************
	End View Larger Link
******************************************************/

/******************************************************
	Two functions that used to be written inline along with the footer HTML:
**/
function popupWindow(lnk, h, w) {
	var topOffset = (screen.height - h) / 2;
	var leftOffset = (screen.width - w) / 2;
	settings='width='+w+',height='+h+',top='+topOffset+',left='+leftOffset;
	var popupname='defaultName';
	var win = window.open(lnk, popupname , settings);
}


function newWindow(lnk) {
	var win = window.open(lnk, "fullscreen");
}
/**
******************************************************/

/********************************************************
	Size Charts
**/

function showSizeChart(strWhich,strURL) {
	// for now, we're ignoring strURL and hardcoding a different one below, to avoid prematurely overwriting the old one:
	var strFullURL = "/TBG/GeneralContent/Modal/Size_Charts.jsp?show=" + strWhich;
	javascript:showModal(strFullURL, '550', '750');
}

/**
******************************************************/


function getQuerystring(key, default_) {
	if (default_==null) {
		default_="";
	}
	key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
	var qs = regex.exec(window.location.href);
	if(qs == null) {
		return default_;
	} else {
		return qs[1];
	}
}


function Left(str, n) {
	if (n <= 0) {
		return "";
	} else if (n > String(str).length) {
		return str;
	} else {
		return String(str).substring(0,n);
	}
}

function Right(str, n) {
	if (n <= 0) {
		return "";
	} else if (n > String(str).length) {
		return str;
	} else {
		var iLen = String(str).length;
		return String(str).substring(iLen, iLen - n);
	}
}


var Sunglass20OffPromo;

function showPromoModal(o) {
	showModal('/TBG/GeneralContent/Modal/sunglass20.jsp','300','500');
}

//////////////////////////////////////////////////////////////
//
//	Holiday Shipping Schedule

	function getCurrentPSTHour(){
		var TimezoneOffset = -8;  // PST
		var localTime = new Date();
		var ms = localTime.getTime() + (localTime.getTimezoneOffset() * 60000) + TimezoneOffset * 3600000;
		var time =  new Date(ms);
		var hour = time.getHours(); 
		return hour;
	}
	
	function getCurrentPSTDate(){
		var TimezoneOffset = -8;  // PST
		var localTime = new Date();
		var ms = localTime.getTime() + (localTime.getTimezoneOffset() * 60000) + TimezoneOffset * 3600000;
		var time =  new Date(ms);
		var date = time.getDate(); 
		return date;
	}
	
	function getCurrentPSTMonth(){
		var TimezoneOffset = -8;  // PST
		var localTime = new Date();
		var ms = localTime.getTime() + (localTime.getTimezoneOffset() * 60000) + TimezoneOffset * 3600000;
		var time =  new Date(ms);
		var month = time.getMonth(); 
		return month;
	}
	
	function getCurrentPSTDay(){
		var TimezoneOffset = -8;  // PST
		var localTime = new Date();
		var ms = localTime.getTime() + (localTime.getTimezoneOffset() * 60000) + TimezoneOffset * 3600000;
		var time =  new Date(ms);
		var day = time.getDay(); 
		return day;
	}
	
	function getCurrentShipping() {
		var strReturn = 'standard';
		
		if ((getCurrentPSTMonth()==10) && (getCurrentPSTDate()==28) && (getCurrentPSTHour() > 21)) { // show Free Shipping for two days
			strReturn = 'free2days_1';
		} else if ((getCurrentPSTMonth()==10) && (getCurrentPSTDate() > 28)) { // show Free Shipping for two days
			strReturn = 'free2days_1';
		} else if (getCurrentPSTMonth()==11) {
			if (getCurrentPSTDate() < 6) { // Free Ground Shipping on all orders $100 and up - 12/1 12:01am – 12/6 12:01am
				strReturn = 'free100';
			} else if (getCurrentPSTDate() < 8) { // Free Ground Shipping on all orders - 12/6 12:01am – 12/8 12:01am
				strReturn = 'free2days_2';
			} else if (getCurrentPSTDate() < 13) { // Free Ground Shipping on all orders $100 and up - 12/8 12:01am – 12/13 12:01am 
				strReturn = 'free100';
			} else if (getCurrentPSTDate() < 16) {
				strReturn = 'free';
			} else if (getCurrentPSTDate() < 18) { // Free Ground Shipping on all orders 12/13 12:01am – 12/17 10:00am 
				if ((getCurrentPSTDate()==17) && (getCurrentPSTHour() < 10)) {
					strReturn = 'free_finalhours';
				} else if (getCurrentPSTDate() < 17) {
					strReturn = 'free_finalhours';
				} else {
					strReturn = '24th8';
				}
			} else if (getCurrentPSTDate() < 22) { // Free Ground Shipping on all orders - 12/13 12:01am – 12/22 12:01am 
				strReturn = '24th8';
			} else if (getCurrentPSTDate() < 24) {
				if (getCurrentPSTDate()==22) { // Free Delivery by 12/24 Shipping on all orders – 12/22 12:01am – 12/23 10:00am 
					strReturn = '24th8_finalhours';
				} else if ((getCurrentPSTDate()=='23') && getCurrentPSTHour() < 10) { // Free Delivery by 12/24 Shipping on all orders – 12/22 12:01am – 12/23 10:00am 
					strReturn = '24th8_finalhours';
				} else {	// show standard shipping after 10am on 12/23
					strReturn = 'standard';
				}
			} else {	// show standard shipping from 12/24 through December
				strReturn = 'standard';
			}
		} else { // it's before 11/29 or after December
			strReturn = 'standard';
		}
		
		return strReturn;
	}


//
//
//////////////////////////////////////////////////////////////

