// Redirect to appropriate page
var isSubmitted = false;
function changeLocation(url) {
	if (isSubmitted) { return false }
	isSubmitted = true;
	window.location = url;
}

var defaultEmptyOK = false;
// whitespace characters
var whitespace = " \t\n\r";

function checkString (theField, emptyOK) {
        // Next line is needed on NN3 to avoid "undefined is not a number" error
    // in equality comparison below.
    if (checkString.arguments.length == 1) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    if (isWhitespace(theField.value)) {
                return false;
    } else return true;
}

function isEmpty(s) {
    return ((s == null) || (s.length == 0))
}

function isWhitespace (s) {
        var i;

    // Is s empty?
    if (isEmpty(s)) return true;

    // Search through string's characters one by one
    // until we find a non-whitespace character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++)
    {
        // Check that current character isn't whitespace.
        var c = s.charAt(i);

        if (whitespace.indexOf(c) == -1) return false;
    }

    // All characters are whitespace.
    return true;
}

function submitSearch() {
        if(validSearchForm()) {
            document.googleSearch.submit();
        }
}

function validSearchForm() {
    var searchArg;

    searchArg = document.googleSearch.elements["searchString"];
    if(!checkString(searchArg)){
        alert("Please input search argument");
        searchArg.select();
        return false;
    }
    searchArg.value = searchArg.value.toLowerCase();
    return true;
}

function changeImages() {
	if (document.images) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

function newImage(arg) {
    if (document.images) {
        rslt = new Image();
        rslt.src = arg;
        return rslt;
    }
}

function overAgeLimit(dob, limit) {
	if (dob == null || limit < 0) {
		return false;
	}
	
	var today = new Date();
	if (today.getFullYear() - dob.getFullYear() < limit) {
		return false;
	} else if (today.getFullYear() - dob.getFullYear() > limit) {
		return true;
	} else {
		if (today.getMonth() - dob.getMonth() < 0) {
			return false;
		} else if (today.getMonth() - dob.getMonth() > 0) {
			return true;
		} else {
			if (today.getDate() - dob.getDate() < 0) {
				return false;
			} else {
				return true;
			}
		}
	}
}
