// JavaScript Document
function MM_findObjValidate(n, d) {
    var p, i, x;
    if (!d) d = document;
    if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[n.substring(p + 1)].document;
        n = n.substring(0, p);
    }
    if (!(x = d[n]) && d.all) x = d.all[n];
    for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
    for (i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObjValidate(n, d.layers[i].document);
    if (!x && d.getElementById) x = d.getElementById(n);
    return x;
}

function MM_validateForm() { //v4.0
    var i, p, q, nm, test, num, min, max, errors = '',
        args = MM_validateForm.arguments;
    for (i = 0; i < (args.length - 2); i += 3) {
        test = args[i + 2];
        val = MM_findObjValidate(args[i]);
        if (val) {
            nm = val.name;
            if ((val = val.value) != "") {
				
                if (test.indexOf('isCV') != -1) {
                    dc = val.indexOf('.doc');
					dx = val.indexOf('.docx');
					pd = val.indexOf('.pdf');
                    if (dc < 1 || dc == (val.length - 1) && dx < 1 || dx == (val.length - 1) && pd < 1 || pd == (val.length - 1)) errors += '- ' + args[i + 1] + ' field must contain doc, docx or pdf file format.\n';				
					
				} else if (test.indexOf('isEmail') != -1) {
                    p = val.indexOf('@');
                    if (p < 1 || p == (val.length - 1)) errors += '- ' + args[i + 1] + ' field must contain an e-mail address.\n';
                } else if (test != 'R') {
                    num = parseFloat(val);
                    if (isNaN(val)) errors += '- ' + args[i + 1] + ' must contain a number.\n';
                    if (test.indexOf('inRange') != -1) {
                        p = test.indexOf(':');
                        min = test.substring(8, p);
                        max = test.substring(p + 1);
                        if (num < min || max < num) errors += '- ' + args[i + 1] + ' must contain a number between ' + min + ' and ' + max + '.\n';
                    }
                }
            } else if (test.charAt(0) == 'R') errors += '- ' + args[i + 1] + ' is required.\n';
        }
    }
    if (errors) alert('The following error(s) occurred:\n' + errors + ' ');
    document.MM_returnValue = (errors == '');
}
