
function validateFields(e) {
    
    
    var form = $('parma_lomake');
    var errors = new Array();
    $A(form.getElementsByClassName('required')).each(
       function(node) {
           if (node.value.length == 0) {
               node.style.border = "1px solid red";
               if (node.name == "strRecipient") { // Special case
                   errors.push("Vastaanottaja"); 
               } else {
                   errors.push(node.name);
               }
           } else {
               node.style.border = "1px solid #7f9db7";
           }
       }
    );
    
    // special
    var optional_required_at_least_once_inputs = form.getElementsByClassName('required_at_least_one');
    if (optional_required_at_least_once_inputs.length > 0) {
        var atLeastOneIsChecked = false;
        $A(optional_required_at_least_once_inputs).each(
           function(node) {
               if (node.checked) {
                   atLeastOneIsChecked = true;
               }
           }
        );
        if (!atLeastOneIsChecked) {
            errors.push("Haluan tarjouksen tai hinta-arvion, joka sisältää");
        }
        $A(optional_required_at_least_once_inputs).each(
           function(node) {
               var border = ( atLeastOneIsChecked ? "0px" : "1px solid red" );
               node.style.border = border;
           }
        );
    }
    
    if (errors.length > 0) {
        alert('Seuraavat kentät ovat pakolliset:\n- ' + errors.join("\n- "));
        if (e && e.preventDefault)
            e.preventDefault(); // firefox
        return false; // IE
    } else {
        return true;
    }
}


