Effect.PhaseIn = function(element) {
  element = $(element);
  new Effect.BlindDown(element, arguments[1] || {});
  new Effect.Appear(element, arguments[2] || arguments[1] || {});
}

Effect.PhaseOut = function(element) {
  element = $(element);
  new Effect.Fade(element, arguments[1] || {});
  new Effect.BlindUp(element, arguments[2] || arguments[1] || {});
}

Effect.Phase = function(element) {
  element = $(element);
  if (element.style.display == 'none')
    new Effect.PhaseIn(element, arguments[1] || {}, arguments[2] || arguments[1] || {});
  else new Effect.PhaseOut(element, arguments[1] || {}, arguments[2] || arguments[1] || {});
}

//
// PAGE
//

function displayPage(pageID)
{
	supportContent = document.getElementById('content');
	
	// check to make sure we're being asked to *change* the shelf
	// if it's the same shelf, then just return
	currentPageID = supportContent.getAttribute("currentPage");
	if (currentPageID == pageID) return;

	document.getElementById("item_" + currentPageID).setAttribute("class", "item");
	document.getElementById("item_" + pageID).setAttribute("class", "item_selected");

	document.getElementById("anchor_" + currentPageID).setAttribute("class", "item");
	document.getElementById("anchor_" + pageID).setAttribute("class", "item_selected");
	
	// now, for IE6! rrrr
	document.getElementById("item_" + currentPageID).setAttribute("className", "item");
	document.getElementById("item_" + pageID).setAttribute("className", "item_selected");

	document.getElementById("anchor_" + currentPageID).setAttribute("className", "item");
	document.getElementById("anchor_" + pageID).setAttribute("className", "item_selected");


	new Effect.Fade(currentPageID, { duration: 0.25 });
	new Effect.Appear(pageID, { duration: 0.25, queue: 'end' });

	supportContent.setAttribute("currentPage", pageID);
}

//
// SHELF
//

function displayShelf(productCode, shelfID)
{
	stack = document.getElementById(productCode + '_stack');
	
	// check to make sure we're being asked to *change* the shelf
	// if it's the same shelf, then just return
	currentShelfID = stack.getAttribute("currentShelf");
	if (currentShelfID == shelfID) return;

	document.getElementById(productCode + "_" + currentShelfID + "_tab").setAttribute("class", "tab");
	document.getElementById(productCode + "_" + shelfID + "_tab").setAttribute("class", "tab_selected");
	
	// now, for IE6! rrrr
	document.getElementById(productCode + "_" + currentShelfID + "_tab").setAttribute("className", "tab");
	document.getElementById(productCode + "_" + shelfID + "_tab").setAttribute("className", "tab_selected");

	new Effect.PhaseOut(productCode + "_" + currentShelfID, { duration: 0.5 });
	new Effect.PhaseIn(productCode + "_" + shelfID, { duration: 0.5 });

	stack.setAttribute("currentShelf", shelfID);
}

//
// UPDATE
//

function updateContact()
{
	request = new XMLHttpRequest();
	url = "update_user.php?";
	url += "title=" + encodeURIComponent(document.update.title.value);
	url += "&company=" + encodeURIComponent(document.update.company.value);
	url += "&department=" + encodeURIComponent(document.update.department.value);
	url += "&address1=" + encodeURIComponent(document.update.address1.value);
	url += "&address2=" + encodeURIComponent(document.update.address2.value);
	url += "&address3=" + encodeURIComponent(document.update.address3.value);
	url += "&city=" + encodeURIComponent(document.update.city.value);
	url += "&state=" + encodeURIComponent(document.update.state.value);
	url += "&zip=" + encodeURIComponent(document.update.zip.value);
	url += "&country=" + encodeURIComponent(document.update.country.value);
	url += "&phone1=" + encodeURIComponent(document.update.phone1.value);
	url += "&phone2=" + encodeURIComponent(document.update.phone2.value);
	url += "&phone3=" + encodeURIComponent(document.update.phone3.value);
	url += "&fax=" + encodeURIComponent(document.update.fax.value);
	url += "&url=" + encodeURIComponent(document.update.url.value);
	url += "&alt_email=" + encodeURIComponent(document.update.alt_email.value);
			
	// send the request
	request.open("GET", url, false); // synchronous
	request.send(null);
	if (request.status == 200)
	{
		if (request.responseText == "OK")
			alert("Update successful!");
		else
			alert(request.responseText);
	}
	
	return false;
}

function changePassword()
{
	if (document.change_password.new_password_1.value != document.change_password.new_password_2.value)
		alert ("Your entries do not match. Please try again.");
	else if (document.change_password.new_password_1.value.length < 6)
		alert ("Your password must be at least 6 characters. Please try again.");
	else
	{
		request = new XMLHttpRequest();
		url = "change_password.php?password=" + encodeURIComponent(document.change_password.new_password_1.value);
				
		// send the request
		request.open("GET", url, false); // synchronous
		request.send(null);
		if (request.status == 200)
		{
			if (request.responseText == "OK")
				alert("Password change successful!");
			else
				alert(request.responseText);
		}
	}
	
	document.change_password.new_password_1.value = "";
	document.change_password.new_password_2.value = "";
	return false;
}
