/**
 * A comparator for sorting an array.
 *  This comparator arranges values according
 *  to ascending numeric value.
 *  Returns 0 if the values are equal,
 *  1 if value 1 is greater than value 2,
 *  and -1 if value 2 is greater than value 1.
 * 
 * @param val1   The first value to compare
 * @param val2   The second value to compare
 */
function numericAscending(val1, val2) {
    if (val1==null) val1=-1;
    if (val2==null) val2=-1;
    if (val1 < val2) {
        return -1;
    } else if (val1 > val2) {
        return 1;
    } else if (val1 == val2) {
        return 0;
    }
}

/**
 * A comparator for sorting an array.
 *  This comparator arranges values according
 *  to descending numeric value.
 *  Returns 0 if the values are equal,
 *  1 if value 1 is less than value 2,
 *  and -1 if value 2 is less than value 1.
 * 
 * @param val1   The first value to compare
 * @param val2   The second value to compare
 */
function numericDescending(val1, val2) {
    if (val1==null) val1=-1;
    if (val2==null) val2=-1;
    if (val1 > val2) {
        return -1;
    } else if (val1 < val2) {
        return 1;
    } else if (val1 == val2) {
        return 0;
    }
}

/**
 * Returns the array index of the first
 *  instance of value being searched for
 *  or -1 if the value is not found.
 * 
 * @param arrayIn   The array to be searched
 * @param searchVal The value to search for.
 */
function arraySearch(arrayIn, searchVal){
    var returnVal = -1;
    for(var i=0; i<arrayIn.length; i++) {
        if (arrayIn[i] == searchVal) {
            returnVal = i;
            break;
        }
    }
    return returnVal;
}

/**
 * Makes a duplicate copy of an array.
 * 
 * @param arrayIn The array to be duplicated.
 */
function arrayCopy(arrayIn) {
    var returnVal = Array(arrayIn.length);
    for (var i=0; i<arrayIn.length; i++) {
        returnVal[i]=arrayIn[i];
    }
    return returnVal;
}

function getImage(imageName) {
    return document.getElementById(imageName);
}


