
function isRegFormValid()
{
    var arrErrors = [];

    if (dojo.byId('name').value == '') {
        arrErrors[arrErrors.length] = "Please, enter your name.";
    }
    if (dojo.byId('address').value == '') {
        arrErrors[arrErrors.length] = "Please, enter your address.";
    }
    if (dojo.byId('phone').value == '') {
        arrErrors[arrErrors.length] = "Please, enter your phone.";
    }
    pattern = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if (dojo.byId('email').value == '' || !pattern.test(dojo.byId('email').value)) {
        arrErrors[arrErrors.length] = "Please, enter valid email.";
    }
    
    // Free entry
    var checks = {
        'payment': false,
        'category': true,
        'caseReport': true,
        'images': false
    };
    
    // Enter an award 
    // Both 
    if (dojo.byId('involved-1').checked || dojo.byId('involved-4').checked) {
        checks = {
            'payment': true,
            'category': true,
            'caseReport': true,
            'images': false
        };
    // Book a seat
    } else if (dojo.byId('involved-3').checked) {
        checks = {
            'payment': true,
            'category': false,
            'caseReport': false,
            'images': false
        };
    }

    var bChecked;

    if (checks.payment) {
        // PAYMENT
        nl = dojo.query('input[name="p"]');
        bChecked = false;
        for (i = 0; i < nl.length; i++) {
            if (nl[i].checked) {
                bChecked = true;
            }
        }
        if (!bChecked) {
            arrErrors[arrErrors.length] = "Please, select Payment.";
        }
    }

    if (checks.category) {
        // CATEGORY
        nl = dojo.query('input[name="type"]');
        bChecked = false;
        for (i = 0; i < nl.length; i++) {
            if (nl[i].checked) {
                bChecked = true;
            }
        }
        if (!bChecked) {
            arrErrors[arrErrors.length] = "Please, choose a category you would like to enter.";
        }
    }

    if (checks.caseReport) {
        // CASE REPORT
        if (dojo.byId('report').value == '') {
            arrErrors[arrErrors.length] = "Please, upload your case report!";
        }
    }

    if (checks.images) {
        // IMAGES
        for (i=1; i<=10; i++) {
            if (dojo.byId('upfile1').value == '' || dojo.byId('upfile6').value == '') {
                arrErrors[arrErrors.length] = "Please, upload your preoperative and postoperative images. You must upload 10 images.";
                break;
            }
        }
    }


    if (arrErrors.length > 0) {
        sErrors = '';
        for (i=0; i< arrErrors.length; i++) {
            sErrors += arrErrors[i] + "\n";
        }
        window.alert(sErrors);
        return false;
    }
    return true;
}

dojo.addOnLoad(function(){
    dojo.connect(dojo.byId('regForm'), 'onsubmit', function(e){
        dojo.stopEvent(e);
        if (isRegFormValid()) {
            dojo.byId('regForm').submit();
        }
    });
    dojo.query('input[name="involved"]').connect('onclick', function(e){
        if (dojo.attr(e.currentTarget, 'id') == 'involved-2') {
            nl = dojo.query('input[name="p"]');
            for (i = 0; i < nl.length; i++) {
                nl[i].checked = false;
                nl[i].disabled = true;
            }
            nl = dojo.query('input[name="type"]');
            for (i = 0; i < nl.length; i++) {
                nl[i].checked = false;
                nl[i].disabled = true;
            }
            dojo.byId('charity').disabled = false;
            dojo.byId('charity').checked = true;
        } else {
            nl = dojo.query('input[name="p"]');
            for (i = 0; i < nl.length; i++) {
                if (nl[i].disabled == true) {
                    nl[i].disabled = false;
                }
            }
            nl = dojo.query('input[name="type"]');
            for (i = 0; i < nl.length; i++) {
                nl[i].disabled = false;
            }
        }
    })
});

