/** * checkDate - checks is all selects have been changed, if they have it checks to see if * a user is 17+, if they are it sets a cookie, else displays error message */ function checkAge(userYear, userMonth, userDay){ //get users dob var dateOfBirth = new Date (userYear, (userMonth - 1), userDay); // find 18 years ago var todayDate = new Date(); var eightteenYearsAgo = new Date(todayDate.getFullYear()-18, todayDate.getMonth(), todayDate.getDate(),0,0,0); //check to see if over 16 if(dateOfBirth <= eightteenYearsAgo){ // Success return true; } else { // Failure document.getElementById('requestArticles').innerHTML = '

Sorry. Unfortunately, you are too young to join the FIFA Interactive World Cup 2008

'; return false; } } /** * validateForm - checks to see if all the required fields are filed out, email address is correct * and the user is over 17 */ function validateForm(thisform){ var hasError = new Array(3); hasError[0] = validateRequired(thisform.email_addr); hasError[1] = validateRequired(thisform.ageSelector_month); hasError[2] = validateRequired(thisform.ageSelector_day); hasError[3] = validateRequired(thisform.ageSelector_year); // make sure all required fields are filed out for(var i = 0; i < hasError.length; i++){ if(!hasError[i]){ return false; } } //checkAge if(checkAge(thisform.ageSelector_year.value, thisform.ageSelector_month.value, thisform.ageSelector_day.value)){ return true; } else { return false; } } /** * validateRequired - checks to see if a field was filled out */ function validateRequired(curEl){ if (curEl.value == null || curEl.value == ""){ curEl.className = 'errorInput'; return false; } else { if(curEl.id == 'email_addr') { // make sure email is valid var emailRegex = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; if(!emailRegex.test(curEl.value)){ curEl.className = 'errorInput'; return false; } } curEl.className = ''; return true; } }