var shopper_fields = ["album_title", "artist_name", "record_label", "catalog_number", "comments"];
var shopper_selects = ["genre", "format", "type"];
var shopper_thumbs_current = 0;
var shopper_feature_showing = 0;

function shopper_draw_thumbs()
{
	var k;
	for (var i = 0; i < 4; i++)
	{
		k = shopper_thumbs_current + i;
		if (k >= shopper_staff_thumbs.length)
			k -= shopper_staff_thumbs.length;

		var item = shopper_staff_thumbs[k];
		var el = document.getElementById("shopper-thumb-" + i);

		el.className = shopper_feature_showing == k ? "thumb thumb-selected" : "thumb";
		el.innerHTML = '<a href="javascript://" onclick="shopper_thumb_show(' + k + ', ' + i + '); return false;"><img src="' + item.thumb + '" alt="' + item.title + '" /></a>';
	}
}

function shopper_thumb_show_first()
{
	shopper_thumb_show(shopper_thumbs_current, 0);
}

function shopper_navigate(diff)
{
	shopper_thumbs_current += diff;
	if (shopper_thumbs_current < 0)
		shopper_thumbs_current += shopper_staff_thumbs.length;
	if (shopper_thumbs_current >= shopper_staff_thumbs.length)
		shopper_thumbs_current -= shopper_staff_thumbs.length;

	shopper_draw_thumbs();
}

function shopper_thumb_show(k, el)
{
	document.getElementById("shopper-feature-image").innerHTML = '<img src="' + shopper_staff_thumbs[k].image + '" alt="' + shopper_staff_thumbs[k].title + '" />';

	for (var i = 0; i < 4; i++)
		document.getElementById("shopper-thumb-" + i).className = "thumb";
	document.getElementById("shopper-thumb-" + el).className = "thumb thumb-selected";

	shopper_feature_showing = k;
}

function shopper_has_values(form)
{
	for (var i = 0; i < shopper_fields.length; i++)
	{
		if (form.elements[shopper_fields[i]].value != "")
			return true;
	}

	return false;
}

function shopper_submit(form)
{
	if (!shopper_has_values(form))
		alert("You haven't entered anything!  We need some information to find your product.");
	else
	{
		function done()
		{
			document.getElementById("note-submitted-request").style.display = "";
		}

		shopper_send(form, done);
	}
}

function shopper_submit_done(form)
{
	function done()
	{
		window.location.href = "/music-mail-order/thanks.html";
	}

	if (shopper_has_values(form))
		shopper_send(form, done);
	else if (shopper_picked_some)
		done();
	else
		alert("You haven't entered anything!  We need some information to find your product.");
}

function shopper_send(form, done)
{
	var data = "save=1";

	for (i = 0; i < shopper_fields.length; i++)
		data += "&" + escape(shopper_fields[i]) + "=" + escape(form.elements[shopper_fields[i]].value);
	for (i = 0; i < shopper_selects.length; i++)
		data += "&" + escape(shopper_selects[i]) + "=" + escape(form.elements[shopper_selects[i]].value);

	function finish(request)
	{
		document.getElementById("shopper-history-box").innerHTML = request.responseText;

		shopper_picked_some = true;
		shopper_reset(form);

		done();
	}

	function error()
	{
		alert("Sorry, your request couldn't be saved.  Please try again.");
	}

	http_post("/music-mail-order/info.html", data, finish, error);
}

function shopper_reset(form)
{
	var i;

	for (i = 0; i < shopper_fields.length; i++)
		form.elements[shopper_fields[i]].value = "";
	for (i = 0; i < shopper_selects.length; i++)
		form.elements[shopper_selects[i]].selectedIndex = 0;
}

function shopper_history_page(n)
{
	var data = "history_page=" + n;

	function finish(request)
	{
		document.getElementById("shopper-history-box").innerHTML = request.responseText;
	}

	function error()
	{
		alert("Sorry, your history couldn't be loaded.  Please try again.");
	}

	http_post("/music-mail-order/info.html", data, finish, error);
}

function shopper_show_overlay(id)
{
	var overlay = document.getElementById("shopper-overlay");
	if (!overlay)
	{
		overlay = document.createElement("div");
		overlay.id = "shopper-overlay";
		document.body.appendChild(overlay);

		var overlay_holder = document.createElement("div");
		overlay_holder.id = "shopper-overlay-holder";
		document.body.appendChild(overlay_holder);
	}

	overlay.style.display = "block";

	document.getElementById("shopper-overlay-holder").style.left = document.getElementById("container").offsetLeft + "px";

	function overlay_resize()
	{
		if (document.getElementById("shopper-overlay").clientHeight < document.getElementById("container").clientHeight)
			document.getElementById("shopper-overlay").style.height = document.getElementById("container").clientHeight + "px";
		if (document.getElementById("shopper-overlay").clientWidth < document.getElementById("container").clientWidth)
			document.getElementById("shopper-overlay").style.width = document.getElementById("container").clientWidth + "px";
	}

	window.setTimeout(overlay_resize, 0);

	overlay.onclick = function ()
	{
		shopper_hide_overlay();
	}

	var x, y;

	if (self.innerHeight)
		y = self.innerHeight;
	else if (document.documentElement && document.documentElement.clientHeight)
		y = document.documentElement.clientHeight;
	else if (document.body)
		y = document.body.clientHeight;

	function later()
	{
		function reposition()
		{
			var top = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;
			if (!top)
				top = document.documentElement.scrollTop;

			document.getElementById(id).style.top = ((y - document.getElementById(id).clientHeight) / 2 + top) + "px";
		}

		reposition();
		document.getElementById(id).style.visibility = "visible";

		var temp_onscroll = window.onscroll;
		window.onscroll = function ()
		{
			reposition();
			if (temp_onscroll)
				return temp_onscroll();
		}
	}

	try
	{
		var overlay_page = document.getElementById(id);
		document.getElementById("content").removeChild(overlay_page);
		document.getElementById("shopper-overlay-holder").appendChild(overlay_page);
	}
	catch (e)
	{
	}

	document.getElementById(id).style.display = "block";
	document.getElementById(id).style.visibility = "hidden";
	window.setTimeout(later, 0);
}

function shopper_hide_overlay()
{
	document.getElementById("shopper-popup-help").style.display = "none";

	document.getElementById("shopper-overlay").style.display = "none";
}

function shopper_check_delivery_type()
{
	if (shopper_delivery_types[document.forms.index_form.method.value])
		$("shopper_shipping_extra").style.display = "";
	else
		$("shopper_shipping_extra").style.display = "none";
}