/* From: basket_save.js */

	var ajaxActive = false;
	var usernameOk = false;

	function BasketSave(mode)
	{
		var checkImage = document.getElementById("basket_save_check");
		var inputElement = document.getElementById("basket_save_username");
		var checkName = inputElement.value;
		var ok2Check = BasketSaveValidate(checkName);
		if(ok2Check.length > 0)
		{
			alert(ok2Check.replace(/XXX/,"Username"));
			inputElement.focus();
			return true;
		}
		var inputElement = document.getElementById("basket_save_password");
		var checkName = inputElement.value;
		var ok2Check = BasketSaveValidate(checkName);
		if(ok2Check.length > 0)
		{
			alert(ok2Check.replace(/XXX/,"Password"));
			inputElement.focus();
			return true;
		}
		if(mode == "save")
		{
			BasketSaveCheckName(checkImage);
			while(ajaxActive)
			{
				var waiting = ajaxActive;
			}
			if(!usernameOk){return true;}
			var inputElement = document.getElementById("basket_save_password_confirm");
			var confirmName = inputElement.value;
			if(checkName != confirmName)
			{
				inputElement.value = "";
				alert("Sorry, the Passwords do not Match");
				inputElement.focus();
				return true;
			}
		}
		BasketSaveCheckLogon(mode);
		return true;
	}
	function BasketSaveCheckName(imageObject)
	{
		if(imageObject.src.match(/sm_ok/)){return true;}
		var checkName = document.getElementById("basket_save_username").value;
		var checkPassword = document.getElementById("basket_save_password").value;
		var ok2Check = BasketSaveValidate(checkName);
		if(ok2Check.length > 0)
		{
			alert(ok2Check.replace(/XXX/,"Username"));
			return true;
		}
		AjaxBasketSaveCheckName("checkusername",checkName,checkPassword);
		return true;
	}
	function BasketSaveCheckLogon(mode)
	{
		var inputName = document.getElementById("basket_save_username").value;
		var inputPassword = document.getElementById("basket_save_password").value;
		AjaxBasketSaveCheckName(mode,inputName,inputPassword);
		return true;
	}
	function BasketSaveValidate(checkName)
	{
		var retryMessage = "";
		var stringPattern = /\s|\W/;
		if((checkName.length < 8)||(checkName.length > 20))
		{
			retryMessage = "Your XXX should be between 8 and 20 characters long";
		}
		if(checkName == ""){retryMessage = "No XXX Entered";}
		if(checkName.match(stringPattern)){retryMessage = "Your XXX can only contain the characters \"a to z\", \"A to Z\", and \"0 to 9\"";}
		return retryMessage;
	}
	function BasketSaveUpdateCheck(response)
	{
		var iconImage = document.getElementById("basket_save_check");
		var username = document.getElementById("basket_save_username");
		var password = document.getElementById("basket_save_password");
		var confirmPassword = document.getElementById("basket_save_password_confirm");
		switch(response)
		{
			case "usernameok":
				iconImage.title = "This Username is OK";
				iconImage.alt = "This Username is OK";
				iconImage.src = "/default_images/sm_ok.gif";
				usernameOk = true;
				break;
			case "usernameinuse":
				iconImage.title = "Sorry, but this Username in use";
				iconImage.alt = "Sorry, but this Username in use";
				iconImage.src = "/default_images/sm_not_ok.gif";
				alert("Sorry, but that Username is in use.\nPlease try again. Thank you");
				iconImage.src = "/default_images/sm_query.gif";
				username.value = "";
				password.value = "";
				confirmPassword.value = "";
				usernameOk = false;
				username.focus();
				break;
			case "changed":
				iconImage.title = "Click to Check this Username";
				iconImage.alt = "Click to Check this Username";
				iconImage.src = "/default_images/sm_query.gif";
				usernameOk = false;
				break;
			case "invalid":
			case "deleted":
			case "saved":
				username.value = "";
				password.value = "";
				confirmPassword.value = "";
				var message = "Sorry, but a Saved Basket cannot be found with the Username and Password supplied.\nPlease try again. Thank you";
				if(response == "deleted"){message = "Your Saved Basket has been successfully Deleted";}
				if(response == "saved"){message = "Your Basket has been successfully Saved";}
				alert(message);
				iconImage.title = "Click to Check this Username";
				iconImage.alt = "Click to Check this Username";
				iconImage.src = "/default_images/sm_query.gif";
				usernameOk = false;
				username.focus();
				break;
			case "validlogon":
				AjaxBasketSaveCheckName("save",username,password);
				break;
			case "deletefailed":
				alert("Sorry, but your Saved Basket could not be Deleted.\nPlease try again. Thank you");
				break;
			case "savefailed":
				alert("Sorry, but your Basket could not be Saved.\nPlease try again. Thank you");
				break;
			case "restorefailed":
				alert("Sorry, but your Basket could not be Restored.\nPlease try again. Thank you");
				break;
			default:
				document.location.href = "/dynamic/basket.php";
				break;
		}
		return true;
	}
	function AjaxBasketSaveCheckName(checkMode,checkUsername,checkPassword)
	{
		ajaxActive = true;
		var waitImage = document.getElementById("basket_save_processing");
		waitImage.style.display = "block";
		waitImage.style.zIndex = 1;
		var thisFunction = "Check if a Username Exists";
		var thisFile = "basket_save.php";
		var thisParam = "mode="+checkMode+"&name="+checkUsername+"&pass="+checkPassword;
		var thisAjax = new Object();
		thisAjax = eval(ajaxMethod);
		if(canDoAjax)
		{
			thisAjax.open("POST",thisFile,true);
			thisAjax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
			thisAjax.setRequestHeader("Content-Length",thisParam.length);
			thisAjax.setRequestHeader("Connection","close");
			thisAjax.onreadystatechange = function ()
			{
				if(thisAjax.readyState == 4)
				{
					waitImage.style.display = "none";
					waitImage.style.zIndex = -1;
					BasketSaveUpdateCheck(thisAjax.responseText);
				}
			}
			thisAjax.send(thisParam);
		}
		ajaxActive = false;
		return true;
	}



/* From: browse_display_each_items.js */


	function BrowseItemView(what)
{
	window.location.href = "/dynamic/viewitem.php?item=" + what;
	return true;
}

function BrowseItemHighLight(obj,what,mode)
{
	switch(what)
	{
		case "box":
			switch(mode)
			{
				case 0:
					obj.className = "browse_display_each_item_over";
					break;
				case 1:
					obj.className = "browse_display_each_item";
					break;
			}
			break;
		case "link":
			switch(mode)
			{
				case 0:
					obj.className = "browse_display_each_item_price_link_active";
					break;
				case 1:
					obj.className = "browse_display_each_item_price_link";
					break;
			}
			break;
	}
	return true;
}

/* From: browse_each_department.js */


	function BrowseDepartmentView(what)
{
	window.location.href = "/dynamic/browse.php?department=" + what;
	return true;
}

function BrowseDepartmentHighLight(obj,what,mode)
{
	switch(what)
	{
		case "box":
			switch(mode)
			{
				case 0:
					obj.className = "browse_each_department_over";
					break;
				case 1:
					obj.className = "browse_each_department";
					break;
			}
			break;
		case "link":
			switch(mode)
			{
				case 0:
					obj.className = "browse_each_item_view_active";
					break;
				case 1:
					obj.className = "browse_each_item_view_link";
					break;
			}
			break;
	}
	return true;
}

/* From: browse_featured_item.js */


	function BrowseFeatureView(what)
{
	window.location.href = "/dynamic/viewitem.php?item=" + what;
	return true;
}

function BrowseFeatureHighLight(obj,what,mode)
{
	switch(what)
	{
		case "box":
			switch(mode)
			{
				case 0:
					obj.className = "browse_each_featured_item_over";
					break;
				case 1:
					obj.className = "browse_each_featured_item";
					break;
			}
			break;
	}
	return true;
}

/* From: display_context_help.js */

	var eventStore = new Array();

	function GetInfoWindow(event,infoRef)
	{
		eventStore[0] = CursorPageX(event);
		eventStore[1] = CursorPageY(event);
		eventStore[2] = event.clientX;
		eventStore[3] = event.clientY;
		CloseInfoWindow();
		AjaxDisplayInfo(infoRef,"display_context_content");
	}
	function OpenInfoWindow()
	{
		document.getElementById("display_context_help").className = "display_context_help_visible";
		document.getElementById("display_context_header").className = "display_context_header_visible";
		document.getElementById("display_context_content").className = "display_context_content_visible";
		document.getElementById("display_context_footer").className = "display_context_footer_visible";
		document.getElementById("display_context_close").className = "display_context_close_visible";
		var cursorXdocument = eventStore[0];
		var cursorYdocument = eventStore[1];
		var cursorXposition = eventStore[2];
		var cursorYposition = eventStore[3];
		var infoWindow = document.getElementById("display_context_help");
		var windowHeader = document.getElementById("display_context_header");
		var infoContent = document.getElementById("display_context_content");
		var windowFooter = document.getElementById("display_context_footer");
		var closeButton = document.getElementById("display_context_close");
		var buttonHeight = closeButton.offsetHeight;
		var buttonWidth = closeButton.offsetWidth;
		var buttonOffsetX = buttonWidth / 2;
		var buttonOffsetY = buttonHeight / 2;
		var buttonLeft = cursorXdocument - buttonOffsetX;
		var buttonTop = cursorYdocument - buttonOffsetY;
		var contentHeight = infoContent.offsetHeight;
		var windowWidth = infoWindow.offsetWidth;
		var windowHeight = contentHeight + (2 * buttonHeight);
		var footerBottom = windowHeight;
		var paddingOffset = 5;
		var paddingSide = buttonHeight + paddingOffset;
		var contentWindowWidth = windowWidth - (2 * paddingSide);
		var placeToRight = "0";
		if(cursorXposition <= windowWidth){placeToRight = "1";}
		var placeAbove = "0";
		if(cursorYposition <= windowHeight){placeAbove = "1";}
		var vector = placeToRight + placeAbove;
		switch(vector)
		{
			case "11":
				var windowLeft = cursorXdocument - paddingSide;
				var windowTop = cursorYdocument - buttonOffsetY;
				break;
			case "10":
				var windowLeft = cursorXdocument - paddingSide;
				var windowTop = cursorYdocument - windowHeight + buttonOffsetY;
				break;
			case "01":
				var windowLeft = cursorXdocument - windowWidth + paddingSide;
				var windowTop = cursorYdocument - buttonOffsetY;
				break;
			case "00":
				var windowLeft = cursorXdocument - windowWidth + paddingSide;
				var windowTop = cursorYdocument - windowHeight + buttonOffsetY;
				break;
		}
		infoWindow.style.height = windowHeight + "px";
		infoWindow.style.top = windowTop + "px";
		infoWindow.style.left = windowLeft + "px";
		windowHeader.style.width = windowWidth + "px";
		windowHeader.style.height = buttonHeight + "px";
		infoContent.style.top = buttonHeight +"px";
		infoContent.style.width = contentWindowWidth + "px";
		infoContent.style.paddingLeft = paddingSide +"px";
		infoContent.style.paddingRight = paddingSide +"px";
		windowFooter.style.width = windowWidth + "px";
		windowFooter.style.height = buttonHeight + "px";
		closeButton.style.top = buttonTop+"px";
		closeButton.style.left = buttonLeft+"px";
		return true;
	}
	function CloseInfoWindow()
	{
		document.getElementById("display_context_header").className = "display_context_header_hidden";
		document.getElementById("display_context_content").innerHTML = "";
		document.getElementById("display_context_content").className = "display_context_content_hidden";
		document.getElementById("display_context_close").className = "display_context_close_hidden";
		document.getElementById("display_context_footer").className = "display_context_footer_hidden";
		document.getElementById("display_context_help").className = "display_context_help_hidden";
		return true;
	}
	function CursorPageX(mouseEvent)
	{
		if(mouseEvent.pageX){return mouseEvent.pageX;}
		if(mouseEvent.clientX)
		{
			var xPos = mouseEvent.clientX;
			if(document.documentElement.scrollLeft)
			{
				xPos = xPos + document.documentElement.scrollLeft;
			}
			else
			{
				xPos = xPos + document.body.scrollLeft;
			}
			return xPos;
		}
		else
		{
			return null;
		}
	}
	function CursorPageY(mouseEvent)
	{
		if(mouseEvent.pageY){return mouseEvent.pageY;}
		if(mouseEvent.clientY)
		{
			var yPos = mouseEvent.clientY;
			if(document.documentElement.scrollTop)
			{
				yPos = yPos + document.documentElement.scrollTop;
			}
			else
			{
				yPos = yPos + document.body.scrollTop;
			}
			return yPos;
		}
		else
		{
			return null;
		}
	}
	function GetStyle(styleObject,styleProperty)
	{
		if(styleObject.currentStyle)
		{
			var styleValue = styleObject.currentStyle[styleProperty];
		}
		if(window.getComputedStyle)
		{
			var styleValue = window.getComputedStyle(styleObject,null).getPropertyValue(styleProperty);
		}
		return styleValue;
	}


/* From: mainsite.js */


	// JavaScript Document

	//Preload "icon button images"
	var iconImages = new Array();
	iconImages['back'] = new Array();
	iconImages['back']['on'] = new Image();
	iconImages['back']['off'] = new Image();
	iconImages['back']['on'] = "/default_images/left_nav_back_over.jpg";
	iconImages['back']['off'] = "/default_images/left_nav_back_up.jpg";
	iconImages['contact'] = new Array();
	iconImages['contact']['on'] = new Image();
	iconImages['contact']['off'] = new Image();
	iconImages['contact']['on'] = "/default_images/left_nav_contact_over.jpg";
	iconImages['contact']['off'] = "/default_images/left_nav_contact_up.jpg";
	iconImages['home'] = new Array();
	iconImages['home']['on'] = new Image();
	iconImages['home']['off'] = new Image();
	iconImages['home']['on'] = "/default_images/left_nav_home_over.jpg";
	iconImages['home']['off'] = "/default_images/left_nav_home_up.jpg";
	iconImages['shopping_cart'] = new Array();
	iconImages['shopping_cart']['on'] = new Image();
	iconImages['shopping_cart']['off'] = new Image();
	iconImages['shopping_cart']['on'] = "/default_images/left_nav_shopping_cart_over.jpg";
	iconImages['shopping_cart']['off'] = "/default_images/left_nav_shopping_cart_up.jpg";

	function PageInit()
	{
		showDiv('mainsite_main_container');
		if(requireMiniBasket){FillMiniBasket();}
		if(displayMiniBasket){showDiv("fill_mini_basket");}
		if(requireLeftCatalog){FillLeftCatalog(); document.getElementById("mainsite_left_navigation_catalog_container").innerHTML = document.getElementById("mainsite_left_navigation_catalog_container").innerHTML + "<span class=\"clear_all\"><br /><br /><br /></span><span class=\"clear_all\"><br /><br /><br /></span><span class=\"clear_all\"><br /><br /><br /></span>"}
		if(displayLeftCatalog){showDiv("mainsite_left_navigation_catalog_container");}
		if(requireFooterCatalog){FillFooterCatalog();}
		//if(requireCurrency){FillCurrencySelector();}
		//if(displayFooterCatalog){document.getElementById("mainsite_left_catalog_holder").style.display="block";}
		//if(requireSearch){FillSearch();}
		//if(displaySearch){document.getElementById("mainsite_search").style.display="block";}
		//if(displayLogin){document.getElementById("mainsite_login").style.display="block";}
		if(displayPageLinks){showDiv("mainsite_left_navigation_link_container");}
		if(displayIconLinks){showDiv("mainsite_left_navigation_icons_container");}
		
		CollapseEmpty();
		//FillSearchBox();
		if(displayLogin){CheckLoginStatus();}
		if(showUserLogon){DisplayUserLogon();}
		if(isSCSProduct){InitSCS();}
		handleNav();
		return true;
	}
	function CheckLoginStatus()
	{
		var currentCookies = document.cookie;
		var lookForLogin = currentCookies.search(/AHASH/i);
		var thisDiv = "";
		if((lookForLogin > 0)|(userLoggedOn))
		{
			showDiv("mainsite_login_form");
			showDiv("mainsite_account_form");
		}
		return true;
	}
	
	
	
	function DisplayUserLogon()
	{
		//document.getElementById("mainsite_user_name").innerHTML = userLogonId;
		
		//showDiv("mainsite_user_container");
		//return true;
	}

	function IconRollOver(where,what)
	{
		document.getElementById("icon_"+where+"_button").src = iconImages[where][what];
		return true;
	}
	function cvv2PopUp()
	{
		day = new Date();
		URL = "/site_images/cvv2_diagram.png";
		id = day.getTime();
		eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=550,height=200,left = 373.5,top = 422.5');");
	}
	function showDiv(divId)
	{
		var thisDiv = document.getElementById(divId);
		if (thisDiv) // Make sure the div exists to suppress any errors
		{
			thisDiv.style.display = "block";
		}
		
	}

/* From: search.js */

function ShowSearchText(obj)
{
	/*var occlude = document.getElementById("search_site_summary_full_text");
	var x = obj.value;
	if(x == "Show Full Search Text")
	{
		obj.value = "Hide Full Search Text";
		occlude.style.display = "inline";
	}
	else
	{
		obj.value = "Show Full Search Text";
		occlude.style.display = "none";
	}
	return true;
	*/
}
function RefineSearch(obj)
{
	var occlude = document.getElementById("search_site_refine_container");
	var x = obj.value;
	if(x == "Refine Your Search")
	{
		obj.value = "Close";
		occlude.style.display = "inline";
	}
	else
	{
		obj.value = "Refine Your Search";
		occlude.style.display = "none";
	}
	return true;
}

/* From: search_results_each_items.js */


	function SearchResultsView(what)
{
	window.location.href = "/dynamic/viewitem.php?item=" + what;
	return true;
}

function SearchResultsHighLight(obj,what,mode)
{
	switch(what)
	{
		case "box":
			switch(mode)
			{
				case 0:
					obj.className = "search_results_each_item_over";
					break;
				case 1:
					obj.className = "search_results_each_item";
					break;
			}
			break;
		case "link":
			switch(mode)
			{
				case 0:
					obj.className = "search_results_each_item_price_link_active";
					break;
				case 1:
					obj.className = "search_results_each_item_price_link";
					break;
			}
			break;
	}
	return true;
}

/* From: small_item.js */


	function SmallItemView(what)
{
	window.location.href = "/dynamic/viewitem.php?item=" + what;
	return true;
}

function SmallItemHighLight(obj,what,mode)
{
	switch(what)
	{
		case "box":
			switch(mode)
			{
				case 0:
					obj.className = "each_small_item_over";
					break;
				case 1:
					obj.className = "each_small_item_out";
					break;
			}
			break;
		case "link":
			switch(mode)
			{
				case 0:
					obj.className = "each_small_item_view_active";
					break;
				case 1:
					obj.className = "each_small_item_view_link";
					break;
			}
			break;
	}
	return true;
}

/* From: viewitem.js */

	var viewitemCurrentSelectedInfo = "description";

	function ViewitemInfoSelect(which)
	{
		var thisFrameID = "iframe_product_info_"+which;
		var thatFrameID = "iframe_product_info_"+viewitemCurrentSelectedInfo;
		var thisBoxID = "product_info_navigation_"+which;
		var thatBoxID = "product_info_navigation_"+viewitemCurrentSelectedInfo;
		viewitemCurrentSelectedInfo = which;
		document.getElementById(thatFrameID).style.display="none";
		document.getElementById(thisFrameID).style.display="block";
		document.getElementById(thatBoxID).className="iframe_deselected";
		document.getElementById(thisBoxID).className="iframe_selected";
		return true;
	}


