function formatPrice(price) {
    var dollars = Math.floor(price);
    if (isNaN(dollars))
        dollars = 0;
    var cents = Math.round((price - dollars)*100);
    if (isNaN(cents))
        cents = 0;
    if (cents == 0) {
        price = String(dollars) + '.00';
    } else if (cents < 10) {
        price = String(dollars) + '.0' + String(cents);
    } else {
        price = String(dollars) + '.' + String(cents);
    }

    return price;
}

function textCounter(field, countfield, maxlimit) {
    if (field.value.length > maxlimit)
        field.value = field.value.substring(0, maxlimit);
    else 
        countfield.value = maxlimit - field.value.length;
}

function limitTextarea(textarea,limit,counter) {
    if (counter) counter.value = limit - textarea.value.length;
    Event.observe(textarea,'keypress', function(event) {
        if (textarea.value.length >= limit && event.keyCode == 0 && textarea.selectionStart == textarea.selectionEnd) {
            Event.stop(event);
        }
        if (counter) counter.value = limit - textarea.value.length;
    });
    Event.observe(textarea,'keyup', function(event) {
        if (textarea.value.length > limit) {
            textarea.value = textarea.value.substr(0, limit);
        }
        if (counter) counter.value = limit - textarea.value.length;
    });
}
