//javascript functions for website

function isValidEmail(email, required) {
    if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
        return false;
    }
	
    return true;
}


function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_'";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}

function chkSignup() {
	var allfilled = true;
	var allotherfilled = true;
	
	$('.req').each(function(index) {
		if ($(this).val() == '') {
			allfilled = false;
		}else if ($(this).val() == 'Other') {
			var fieldName = $(this).attr('id');
			if ($('#'+fieldName+'Other').val() == '') {
				allotherfilled = false;
			}
		}
	});
	
	if (allfilled == false) {
		alert('Please enter all your details');
		return false;
	}else if (allotherfilled == false) {
		alert('Please fill in the "Other" field');
		return false;
	}else if ($('#Password').val() != $('#Passwordconfirm').val()) {
		alert('Your password and confirmed password to not match');
		return false;
	}else if (! isValidEmail($('#Email').val())) {
		alert('Please enter a valid email address');
		return false;
	}else{
		return true;	
	}
}

function enableOther(selectedVal, FieldName) {
	if (selectedVal == 'Other') {
		$('#'+FieldName+'Other').removeAttr('disabled');
	} else {
		$('#'+FieldName+'Other').val('');
		$('#'+FieldName+'Other').attr('disabled','disabled');
	}
}

function bearingUpdate(theImage) {
	$('#bearingImg').attr('src','/images/'+theImage+'.jpg');
}

