
function checksubmit(objForm, nMaxQty)
{
    var rtnb = true,
        nQty = objForm.elements['qty'].value;
    if (nQty < 1) {
        alert('Please enter a valid quantity');
        selectobj(objForm.elements['qty']);
        rtnb = false;
    } else if (nMaxQty && objForm.elements['qty'].value > nMaxQty) {
        alert('Sorry, there are only '+nMaxQty+' left in stock');
        selectobj(objForm.elements['qty']);
        rtnb = false;
    } else if (arguments.length > 2) {
        var idArg;
        for (idArg = 2; idArg < arguments.length; idArg++)
            if (!objForm.elements['op_'+arguments[idArg]].selectedIndex) {
                alert('\''+arguments[idArg].replace(/_/g,' ')+'\' is a required option.');
                rtnb = false;
                break;
            }
    }
    return rtnb;
}

var hhPrices = new Array();

function updateprice(objSelect, idProduct, nPrice)
{
    var idSelected = objSelect.selectedIndex;
    if (arguments.length > 2+idSelected) {
        if (typeof(hhPrices[idProduct]) != 'array')
            hhPrices[idProduct] = new Array();
        hhPrices[idProduct][objSelect.name] = (idSelected)
            ? arguments[2+idSelected]
            : 0;
        var idOp;
        for (idOp in hhPrices[idProduct])
            // ignore liteboxes 'useful' array prototypes
            if (idOp != 'iterate' && idOp != 'each' && idOp != 'removeDuplicates' && idOp != 'empty')
                nPrice += hhPrices[idProduct][idOp];
        document.getElementById('price_'+idProduct).innerHTML = nPrice.zeroPad(2);
    }
}

function selectobj(objElement)
{
    objElement.focus();
    objElement.select();
}

Number.prototype.zeroPad=function(nDP)
{
    var sValue = this.toString();
    var nDot = sValue.indexOf('.');
    if (nDot == -1) {
        nDot = sValue.length;
        sValue += '.';
    }
    var nPad = nDP - (sValue.length - nDot - 1);
    for (var i = 0; i < nPad; i++)
        sValue += '0';
    return sValue;
}

