/**
 * Does an array contain a certain value?
 * @param string array: arr
 * @param string: search
 * @return string (an empty string if no value exists, otherwise return the search value)
 */
function isIn(arr,search) {
	var sResult = '';
	for (var item in arr) {
		if (arr[item] == search) {
			sResult = arr[item];
			break;
		}
	}
	return sResult;
}

/**
 * Is any alement within srcArray contained within targetArray?
 * @param string array: srcArray
 * @param string array: targetArray
 * @return boolean (false if every element in srcArray is not found in targetArray)
 *                  [1,2,3] and [4,5] would return false,
 *                  whereas [1,2,3] and [4,5,1] would return true
 */
function isInArray(srcArray,targetArray) {
	var sResult = false;
	for (var i = 0; i < srcArray.length; i++) {
			if (isIn(targetArray,srcArray[i]) != '') {
				sResult = true;
				break;
		}
	}
	return sResult;
}

/**
 *
 * @param string array: array1
 * @param string array: array2
 * @return string array (the union of array1 and array2)
 */
function getUnion(array1,array2) {
	var i, iCount;
	var aResult = new Array();

	iCount = 0;
	for (i in array1) {
		if ( isIn(array2,array1[i]) != '' ) {
			aResult[iCount] = array1[i];
			iCount += 1;
		}
	}
	return aResult;
}

/**
 * Make a new copy of an array
 * @param string array: ArraySource
 * @return string array (new array copied from the one passed in the parameter)
 */
function array_copy(ArraySource) {
	var aNewArray;
	if (typeof ArraySource == 'object') {
		var aNewArray = new Array(ArraySource.length);
		for (var i = 0; i < ArraySource.length; i++) {
			aNewArray[i] = ArraySource[i];
		}
	} else {
		aNewArray = new Array();
	}
	return aNewArray;
}
