function FormatNumber(expr, decplaces) {
var str = "" + Math.round(eval(expr) * Math.pow(10,decplaces));
while (str.length <= decplaces) {
str = "0" + str;
}
var decpoint = str.length - decplaces;
return str.substring(0,decpoint) + "." + str.substring(decpoint, str.length);
}
if (document.getElementById) { isID = 1; isDHTML = 1; }
else {
   if (document.all) {isAll = 1; isDHTML = 1; } 
   else {
      browserVersion = parseInt(navigator.appVersion);
   if ((navigator.appName.indexOf('Netscape') != -1) && (browserVersion == 4)) {isLayers = 1; isDHTML = 1; }
} }

function resetForm()
{
    frmMultiOrderForm.reset();
    SumUp();
}

function SumUp()
{
	var total = 0;
	for (var i = 0; i < nItems; i++)
	{
	    if (document.forms['multiorderform']['vwquantity'+i])
	    {
            var pr;
            var subtot;
            pr = price[i];
            subtot = "subtotal" + i;
		    var qty = parseInt(document.forms['multiorderform']['vwquantity' + i].value);
		    if (! isNaN(qty))
		    {
			    total += qty * pr;
			    var subtotal = document.getElementById(subtot);
			    if (subtotal)
			    {
			        subtotal.innerHTML = "$" + FormatNumber(qty * pr,2);
			    }
		    }
		    else
		    {
			    var subtotal = document.getElementById(subtot);
			    if (subtotal)
			    {
			        subtotal.innerHTML = "&nbsp;";
			    }
		    }
        }
	}
	var totalBox = document.getElementById('total');
	if (totalBox)
	{
		totalBox.innerHTML = "$" + FormatNumber(total,2);
	}
}

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.type.toLowerCase() == "radio") && elem.checked)
			    {
				    frmOk = true;
				    break;
			    }
		    }
	    }
    }
	
	SumUp();
	
	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;
		}
	}
	
	SumUp();
}

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);
			}
		}
	}
}

function multiCheck(idx)
{
    var chk = frmMultiOrderForm["vwitem" + idx];
    var qty = frmMultiOrderForm["vwquantity" + idx];
    if (chk.checked)
        qty.value = "1";
    else
        qty.value = "0";
    
    // clear the others
    if (chk.type.toLowerCase() == 'radio')
    {
        for (var i = 0; i < frmMultiOrderForm.elements.length; i++)
        {
            var elem = frmMultiOrderForm.elements[i];
            if (elem.type.toLowerCase() == 'radio')
            {
                if (elem != chk)
                {
                    elem.checked = false;
                    var namepat = /vwitem(\d+)/;
                    var m = namepat.exec(elem.name);
                    if (m)
                    {
                        frmMultiOrderForm["vwquantity" + m[1]].value = 0;
                    }
                }
            }
        }
    }
    SumUp();
}

addEvent(window, 'load', setMultiAddHandler);

