﻿//
//	wales specific

ryanstoys = {
	zoomImage: function (url) {
		var w = this.openWindow("zoomImage.asp?url="+ escape(url), "", "width=400,height=300,resizable=no");
	},

	zoomMap: function (id) {
		var w = this.openWindow("zoomMap.asp?id="+id, "", "width=400,height=300,resizable=no");
	},

	openWindow: function (u, n, o) {
		var w = null;

		while (!w)
		{
			w = window.open(u, n, o);

			if (!w && !confirm("You appear to be using software that is stopping the website from opening a popup.\n\nTry holding CTRL while clicking OK to try again, or click Cancel to give up."))
				break;
		}

		if (!w)
			alert("You'll need to bypass your popup blocker to access this part of the site.");

		return w;
	}

};

//
//	form handlers

genericFormSubmitDisableForm = function (form)
{
	var e;
	for (var i = form.elements.length; i--;)
	{
		e = form.elements[i];
		
		switch (e.type)
		{
			case "hidden":
				break;
			
			default:
				if (!e.disabled)
				{
					e._genericFormSubmit_enableMe = true;
					e.disabled = true;
				}
				break;
		}
	}
}

genericFormSubmitHandler = function (form)
{
	window.setTimeout((function () { genericFormSubmitDisableForm(form); }), 1);
	return true;
}

genericFormResponseEnableForm = function (form)
{
	var e;
	for (var i = form.elements.length; i--;)
	{
		e = form.elements[i];
		
		switch (e.type)
		{
			case "hidden":
				break;
			
			default:
				if (e.disabled && e._genericFormSubmit_enableMe) 
				{
					e._genericFormSubmit_enableMe = false;
					e.disabled = false;
				}
				break;
		}
	}
}

genericFormResponseHandler = function (type, result, evt, request)
{
	if (request.formNode)
		genericFormResponseEnableForm(request.formNode);

	switch (type)
	{
		case "load":

			if (result.message)
				alert(result.message);

			if (result.redirect)
				window.location.href = result.redirect;

			if (result.reload)
				window.location.reload();

			if (result.reset)
				request.formNode.reset();

			if (result.windowOpen)
			{
				switch (typeof result.windowOpen)
				{
					case "array":
						window.open(result.windowOpen[0], result.windowOpen[1], result.windowOpen[2], result.windowOpen[3]);
						break;
					
					default:
						window.open(result.windowOpen)
						break;
				}
			}

			break;

		case "error":
			alert("An error occurred when attempting to perform this action. Please try again later.");
			break;
			
		default:
			alert("Unhandled form result type: "+ type);
			break;
	}
}

function clickAddToCart (id,price,qty)
{
	var content = {
		"dojo.submit.action": "addtocart",
		product: id,
		price: price,
		qty: qty
	 };
	dojo.io.bind({
		url: "dojo.asp",
		method: "POST",
		content: content,
		mimetype: "text/json",
		handle: genericFormResponseHandler
	});
}


cartFormSubmitHandler = genericFormSubmitHandler;
cartFormResponseHandler = genericFormResponseHandler;

memberLoginFormSubmitHandler = genericFormSubmitHandler;
memberLoginFormResponseHandler = genericFormResponseHandler;

searchSiteFormSubmitHandler = genericFormSubmitHandler;
searchSiteFormResponseHandler = genericFormResponseHandler;

contactFormSubmitHandler = genericFormSubmitHandler;
contactFormResponseHandler = genericFormResponseHandler;

addToCartFormSubmitHandler = genericFormSubmitHandler;
addToCartFormResponseHandler = genericFormResponseHandler;

updateCartFormSubmitHandler = genericFormSubmitHandler;
updateCartFormResponseHandler = genericFormResponseHandler;

checkoutFormSubmitHandler = genericFormSubmitHandler;
checkoutFormResponseHandler = genericFormResponseHandler;

bookclubFormSubmitHandler = genericFormSubmitHandler;
bookclubFormResponseHandler = genericFormResponseHandler;

//
//	other stuff

clearMe = function (inp, val)
{
	//
	//	clears the value of given input node (inp) if the current value is equal to (val)

	if (inp.value == val)
		inp.value = "";
}
// JScript File

