function addEvent(elm, evType, fn, useCapture)
{
	if (elm.addEventListener)
	{
		elm.addEventListener(evType,fn,useCapture);
		return (true);
	}
	else if ( elm.attachEvent )
	{
		var r = elm.attachEvent('on' + evType, fn);
		return (r);
	}
	else
	{
		elm['on' + evType] = fn;
	}
}
function getOrderForm()
{
	for (i = 0; i < document.forms.length; i++)
	{
		if (document.forms[i].action.match("order.store.yahoo") || document.forms[i].action.match("test-order"))
		{
			return(document.forms[i]);
			break;
		}
	}
	return (null);
}
function setOptionHandler()
{
	var frm = getOrderForm();
	if (frm)
	{
		var color = frm["Color"];
		if (color)
		{
			addEvent(color,"change",fnColorOptionChanged);
		}
		var size = frm["Size"];
		if (size)
		{
			addEvent(size,"click",fnSizeCheck);
			addEvent(size,"change",checkoptions);
		}
		if (color)
		{
		    if (color.options.length == 2)
		    {
		        fnColorOptionChanged();
		    }
		}
	}
}
function fnSizeCheck()
{
	var frm = getOrderForm();
	var size = frm["Size"];
	if (size)
	{
		if (size.options.length == 1)
		{
			alert("Please select a color first so that available sizes may be shown.");
		}
	}
}
function fnColorOptionChanged()
{
	var frm = getOrderForm();
	if (frm)
	{
	    var color = frm["Color"];
	    var size = frm["Size"];
	    // remove size nodes
	    while (size.options.length > 1)
	    {
	        var x = size.removeChild(size.lastChild);
	        x = null;
	    }
	    var selColor = color.options[color.selectedIndex].text;
	    if (Sizes[selColor])
	    {
	        for (var i = 0; i < Sizes[selColor].length; i++)
	        {
	            var oneOpt = new Option(Sizes[selColor][i], Sizes[selColor][i]);
	            size.options[size.options.length] = oneOpt;
	        }
	    }
	}
}

