currCat = 0;
// toggleCategory(thisCat,currentCat) Switches between main categories in the Shop Menu
function toggleCategory(thisCat,currentCat)
{
	var b = "sub"+thisCat;
	var d = "link"+thisCat;
	if (currCat == 0)
	{
		currCat = currentCat;
	}
	if (currCat != 0)
	{
		var a = "sub"+currCat;
		var c = "link"+currCat;
		var curr = document.getElementById(a);
		curr.style.display = "none";
		var link1 = document.getElementById(c);
		link1.className = "";
	}
	var newCat = document.getElementById(b);
	newCat.style.display = "block";
	var link2 = document.getElementById(d);
	link2.className = "active";
	currCat = thisCat;
}

// goToPage(getSex,getMain,getSub,getBrand,getPage,getPer) Requests the next page of products in the selected category
function goToPage(getSex,getMain,getSub,getBrand,getSize,getPrice,getPage,getPer)
{
	newUrl = "ajax/page_products.php?sex="+getSex+"&main="+getMain+"&sub="+getSub+"&brand="+getBrand+"&size="+getSize+"&price="+getPrice+"&page="+getPage+"&per="+getPer;
	throbberDiv = document.getElementById('ajaxLoader');
	throbberDiv.style.display = "block";
	sendRequest(newUrl,pageResponse);
	
	getBasketLink = document.getElementById('basketLink');
	getBasketLink.href = "basket.php?sex="+getSex+"&main="+getMain+"&sub="+getSub+"&brand="+getBrand+"&size="+getSize+"&price="+getPrice+"&page="+getPage+"&per="+getPer;
}

// pageResponse() Displays the next page of products in the selected category
function pageResponse()
{
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete")
	{
		throbberDiv = document.getElementById('ajaxLoader');
		throbberDiv.style.display = "none";
		
		pagingDiv = document.getElementById('paging');
		resultsDiv = document.getElementById('results');
		
		ajaxArray = xmlHttp.responseText.split("||");
		pagingDiv.innerHTML = ajaxArray[0];
		resultsDiv.innerHTML = ajaxArray[1];
	}
}

// goToCategory(getSex,getMain,getSub,getBrand,getPage,getPer) Requests the products for the clicked category
function goToCategory(getSex,getMain,getSub,getBrand,getSize,getPrice,getPage,getPer)
{
	if (getMain == 0)
	{
		currCat = 0;
	}
	newUrl = "ajax/shop.php?sex="+getSex+"&main="+getMain+"&sub="+getSub+"&brand="+getBrand+"&size="+getSize+"&price="+getPrice+"&page="+getPage+"&per="+getPer;
	throbberDiv = document.getElementById('ajaxLoader');
	throbberDiv.style.display = "block";
	sendRequest(newUrl,shopResponse);
	
	getBasketLink = document.getElementById('basketLink');
	getCheckoutLink = document.getElementById('chkOutLink');
	strLink = "basket.php?sex="+getSex+"&main="+getMain+"&sub="+getSub+"&brand="+getBrand+"&size="+getSize+"&price="+getPrice+"&page="+getPage+"&per="+getPer;
	getBasketLink.href = strLink;
	getCheckoutLink.href = strLink;
}

// shopResponse() Displays the products for the clicked category
function shopResponse()
{
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete")
	{
		throbberDiv = document.getElementById('ajaxLoader');
		throbberDiv.style.display = "none";
		
		titleDiv = document.getElementById('catTitle');
		pagingDiv = document.getElementById('paging');
		menuDiv = document.getElementById('colOne');
		resultsDiv = document.getElementById('results');
		
		ajaxArray = xmlHttp.responseText.split("||");
		titleDiv.innerHTML = ajaxArray[0];
		pagingDiv.innerHTML = ajaxArray[1];
		menuDiv.innerHTML = ajaxArray[2];
		resultsDiv.innerHTML = ajaxArray[3];
	}
}

// productDetails(getProduct,getSex,getMain,getSub,getBrand,getPage,getPer) Requests the details for the selected product
function productDetails(getProduct,getSex,getMain,getSub,getBrand,getSize,getPrice,getPage,getPer)
{
	newUrl = "ajax/product.php?product="+getProduct+"&sex="+getSex+"&main="+getMain+"&sub="+getSub+"&brand="+getBrand+"&size="+getSize+"&price="+getPrice+"&page="+getPage+"&per="+getPer;
	throbberDiv = document.getElementById('ajaxLoader');
	throbberDiv.style.display = "block";
	sendRequest(newUrl,productResponse);
	
	getBasketLink = document.getElementById('basketLink');
	getBasketLink.href = "basket.php?product="+getProduct+"&sex="+getSex+"&main="+getMain+"&sub="+getSub+"&brand="+getBrand+"&size="+getSize+"&price="+getPrice+"&page="+getPage+"&per="+getPer;
}

// productResponse() Displays the details for the selected product
function productResponse()
{
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete")
	{
		throbberDiv = document.getElementById('ajaxLoader');
		throbberDiv.style.display = "none";
		
		titleDiv = document.getElementById('catTitle');
		resultsDiv = document.getElementById('results');
		pagingDiv = document.getElementById('paging');
		
		ajaxArray = xmlHttp.responseText.split("||");
		titleDiv.innerHTML = ajaxArray[0];
		resultsDiv.innerHTML = ajaxArray[1];
		pagingDiv.innerHTML = "";
		if (document.images)
		{
			imgArray = ajaxArray[2].split(",");
			count = imgArray.length;
			i = 0;
			var pic = new Array();
			while (i < count)
			{
				pic[i] = new Image(360,360); 
  				pic[i].src = "http://www.designerdesires.com/site/images/products/"+imgArray[i];
				i++;
			}
		}
		
		initLightbox();
	}
}

var currThumbId = 0;
// showLarger(getImage,getFolder,getThumbId,getTitle) Displays larger version of product thumbnail in main image
function showLarger(getImage,getFolder,getThumbId,getTitle)
{
	var mainLink = document.getElementById("mainImageLink");
	mainLink.href = "images/products/"+getFolder+"/large/"+getImage;
	mainLink.title = getTitle;
	
	var mainImage = document.getElementById("mainImage");
	mainImage.src = "images/products/"+getFolder+"/"+getImage;
	
	var currThumb = document.getElementById("thumb"+currThumbId);
	currThumb.style.border = "1px solid #ccc";
	currThumb.style.backgroundColor = "#e6e6e6";
	
	var newThumb = document.getElementById("thumb"+getThumbId);
	newThumb.style.border = "1px solid #F42D86";
	newThumb.style.backgroundColor = "#F76DA9";
	
	currThumbId = getThumbId;
}

// showTellAFriend() Display the 'Tell A Friend' form
function showTellAFriend()
{
	var friendForm = document.getElementById('tellAFriendForm');
	friendForm.style.display = "block";
}

// checkMail(getName,friendsName,getEmail) Check that entered friend email address is valid
function checkMail(getName,friendsName,getEmail,getMessage)
{
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(getEmail))
	{
		sendTellAFriend(getName,friendsName,getEmail,getMessage);
	}
	else
	{
	}
}

// checkTellAFriend() Get values from friend form
function checkTellAFriend()
{
	var yourName = document.getElementById('your_name').value;
	var friendsName = document.getElementById('friends_name').value;
	var friendsEmail = document.getElementById('friends_email').value;
	var message = document.getElementById('message').value;
	checkMail(yourName,friendsName,friendsEmail,message);
}

// sendTellAFriend(getName,friendsName,getEmail) Sends parameters to emailing page
function sendTellAFriend(getName,friendsName,getEmail,getMessage)
{
	var productString = document.getElementById('product_string').value;
	newUrl = "ajax/tell_friend.php?"+productString+"&name="+getName+"&friendsname="+friendsName+"&email="+getEmail+"&message="+getMessage;
	var friendDiv = document.getElementById('friendFormContent');
	friendDiv.style.display = "none";
	var throbberDiv = document.getElementById('friendLoader');
	throbberDiv.style.display = "block";
	sendRequest(newUrl,tellFriendResponse);
}

// tellFriendResponse() Shows when email has been sent
function tellFriendResponse()
{
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete")
	{
		var throbberDiv = document.getElementById('friendLoader');
		throbberDiv.style.display = "none";
		
		var friendDiv = document.getElementById('friendFormMessage');
		friendDiv.style.display = "block";
	}
}

// tellAnotherFriend() Show form again after email has already been sent
function tellAnotherFriend()
{
	document.getElementById('friends_name').value = "";
	document.getElementById('friends_email').value = "";
	
	var messageDiv = document.getElementById('friendFormMessage');
	messageDiv.style.display = "none";
	var contentDiv = document.getElementById('friendFormContent');
	contentDiv.style.display = "block";
}

// addToBasket(getProduct) Request the selected product to be added to the current basket
function addToBasket(getProduct)
{
	newUrl = "ajax/basket.php?action=add&product="+getProduct;
	sendRequest(newUrl,addResponse);
}

// addResponse()  Displays success or error messages based on adding item
function addResponse()
{
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete")
	{
		var errorArray = xmlHttp.responseText.split("||");
		
		basketDiv = document.getElementById('basketLink');
		basketDiv.innerHTML = errorArray[0];
		
		if ((errorArray[1] != null) && (errorArray[1] != "") && (errorArray[1] != "undefined"))
		{
			errorDiv = document.getElementById('basketErrorMessage');
			errorDiv.innerHTML = errorArray[1];
			showError = document.getElementById('basketError');
			showError.style.display = "block";
			itemSold = document.getElementById('itemSold');
			itemSold.style.display = "block";
		}
		else
		{
			bas = document.getElementById('itemInBasket');
			bas.style.display = "block";
		}
		
		basketButt = document.getElementById('addToBasketDiv');
		basketButt.innerHTML = "<div id=\"addToBasketDisabled\" title=\"This item has been sold\"></div>";
	}
}

function closeError(getError)
{
	errorDiv = document.getElementById(getError);
	showError.style.display = "none";
}
