// check if string is blank or empty

function textLimit(field, maxlen) {
    if (field.value.length > maxlen + 1)
        alert('Please limit your input to ' + maxlen + ' characters or less');
    if (field.value.length > maxlen)
        field.value = field.value.substring(0, maxlen);
}


function isblank(str) {
    for (var inx = 0; inx < str.length; inx++) {
        var dummy = str.charAt(inx);
        if ((dummy != " ") && (dummy != '\n') && (dummy != '\t')) {
            return false;
        }
    }
    return true;
}

// Check email is valid


// perform validation of form contents before submission.
// function checkForm(whichForm) {
function checkForm() {

    var status = true;
    var isBlank = 0;
    // var isFormatChecked = 0;
    var isProspChecked = 0;
    var isCountrySelect = 0;
    var isDoBSelect = 0;
    var isFormatSelect = 0;
    var isValidEmail = 0;

    var message = "";
    var errorcount = 0;

    var subjectsContainer = document.getElementById("checkboxesCoursesSubjects");
    var subjectsUnfiltered = subjectsContainer.getElementsByTagName("input");

    var checkedSubjects = 0;
    var i = 0;
    for(i = 0; i < subjectsUnfiltered.length; i++)
    {
        if(subjectsUnfiltered[i] &&
           subjectsUnfiltered[i].type &&
           subjectsUnfiltered[i].type == "checkbox" &&
           subjectsUnfiltered[i].checked == true)
        {
            checkedSubjects++;

            if(checkedSubjects > 3)
            {
                alert("You are only allowed to select 3 subjects/courses. Please un-tick some of the subjects.")
                return false;
            }
        }
    }

    var fieldNames = ["Title","First name","Family name","Email","House number / name","Street name","Address","City/Town","Postal code","Domicile","Date of Birth - day ","Date of Birth - month ","Date of Birth - year"];
    var blankmsg = "";
    // var yearmsg = "\n- You did not select a year for your prospectus.\n";
    // var prospmsg = "\n- You did not select a prospectus.\n";
    // var formatmsg = "\n- You did not select a prospectus format.\n";
    // var countrymsg = "\n- You did not tell us your country.\n";
    // var dobmsg = "\n- You did not tell us your date of birth.\n";
    // var emailmsg = "You have entered an invalid email address\n";
// var sourcemsg = "\n- You did not tell us how you found us.\n";

    // title
    if (document.form1.elements[0].selectedIndex == 0) {
        status = false;
        isBlank = 1;
        blankmsg += "     + " + fieldNames[0] + "\n";
        message += "     + " + fieldNames[0] + "\n";
        errorcount ++;
    }


    // name & address
    for (x = 1; x < 9; x++) {
        // allow blank email and address line 2
//                if ((x==3)||(x==6)) {continue;}
        if (x == 6) {
            continue;
        }
        if (isblank(document.form1.elements[x].value)) {
            errorcount ++;
            status = false;
            isBlank = 1;
            blankmsg += "     + " + fieldNames[x] + "\n";
        }
    }


    // country selection


    if (isblank(document.form1.elements[9].value)) {
        message = message + "What is your domicile.\n";
        blankmsg += "     + " + fieldNames[9] + "\n";
        errorcount ++;
    }


    // date of birth

    if (isblank(document.form1.elements[10].value)) {
        isDoBSelect = 1;
        status = false;
        blankmsg += "     + " + fieldNames[10] + "\n";
        // message = message + "What is your dob.\n";
        errorcount ++;
    }

    if (isblank(document.form1.elements[11].value)) {
        isDoBSelect = 1;
        status = false;
        blankmsg += "     + " + fieldNames[11] + "\n";
        message = message + "What is your dob.\n";
        errorcount ++;
    }

    if (isblank(document.form1.elements[12].value)) {
        isDoBSelect = 1;
        status = false;
        blankmsg += "     + " + fieldNames[12] + "\n";
        message = message + "What is your dob.\n";
        errorcount ++;
    }



    if ((errorcount < 10) && (errorcount)) {
        alert("Please fill out these items:\n" + blankmsg);
        return false;
    }
    else if ((errorcount >= 10) && (errorcount)) {
        alert("You have too many fields missing on the form, please check your details again.");
        return false;
    }

    //checks for referral
    if (isblank(document.getElementById('HowDidYouHear').value))
    {
        alert("Please indicate how you heard about Goldsmiths.");
        return false;
    }


    return true;

}

