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;
	}
}

var frmMultiOrderForm = null;

function checkMultiOrderForm(e)
{
	var event;
	if (window.event)
		event = window.event.srcElement;
	else
		event = e.target;

	var frmOk = false;
	
	// check if at least one item is included.
	if (frmMultiOrderForm["vwitem0"] && frmMultiOrderForm["vwitem0"].type == 'hidden')
	{
	    frmOk = true;
	}
	else
	{
	    for (i = 0; i < frmMultiOrderForm.elements.length; i++)
	    {
		    var elem = frmMultiOrderForm.elements[i];
		    if (elem.name.match("vwitem"))
		    {
			    if (elem.type.toLowerCase() == "checkbox" && elem.checked)
			    {
				    frmOk = true;
				    break;
			    }
		    }
	    }
    }
	
	if (!frmOk)
	{
		alert("Please select at least one item");
		if (!window.event)
		{
			e.stopPropagation();
			e.preventDefault();
		}
		else
		{
			window.event.returnValue = false;
			window.event.cancelBubble = true;
		}
	}
}

function setMultiCheckbox(e)
{
	var srcElem;
	
	if (window.event)
	{
		srcElem = window.event.srcElement;
	}
	else
	{
		srcElem = e.target;
	}

	var vwitem = null;
	var re = /vwquantity(\d+)/;
	var m = re.exec(srcElem.name);
	if (m)
	{
		var vwitemName = "vwitem" + m[1];
		vwitem = frmMultiOrderForm[vwitemName];
	}

	if (vwitem && vwitem.type.toLowerCase() == "checkbox")
	{
		if ( !isNaN(parseInt(srcElem.value) ) && parseInt(srcElem.value) > 0 )
		{
			vwitem.checked = true;
		}
		else
		{
			vwitem.checked = false;
		}
	}
}

function setMultiAddHandler()
{
	for (i = 0; i < document.forms.length; i++)
	{
		if ((document.forms[i].action.match("order.store.yahoo") || document.forms[i].action.match("test-order")) && document.forms[i]["multiple-add"])
		{
			frmMultiOrderForm = document.forms[i];
			addEvent(frmMultiOrderForm, 'submit', checkMultiOrderForm);
			break;
		}
	}
	if (frmMultiOrderForm)
	{
		for (i=0; i<frmMultiOrderForm.elements.length; i++)
		{
			if (frmMultiOrderForm.elements[i].name.toLowerCase().match("vwquantity"))
			{
				addEvent(frmMultiOrderForm.elements[i],'blur',setMultiCheckbox);
			}
		}
	}
}

addEvent(window, 'load', setMultiAddHandler);
