function core_array_value(array, value, offset_find, offset_get) {		// returns a value from an associative array
	if (offset_find == null) offset_find = 0;
	if (offset_get == null) offset_get = 1;
	for (var i in array) if (array[i][offset_find] == value) return array[i][offset_get];
}
function core_array_values(array, value, offset_find, offset_get) {		// returns an array of values from a filtered array
	if (offset_find == null) offset_find = 0;
	if (offset_get == null) offset_get = 1;
	var new_array = new Array();
	for (var i in array) if (array[i][offset_find] == value) new_array.push(array[i][offset_get]);
	return new_array;
}
function core_array_contains(array, value) {
	for (var i in array) if (array[i] == value) return true;
}
function core_array_remove(array, value) {
	if (!core_array_contains(array, value)) return;
	var new_array = new Array();
	for (var i in array) if (array[i] != value) new_array.push(array[i]);
	return new_array;
}
function core_array_add(array, value) {
	if (core_array_contains(array, value)) return;
	var new_array = new Array();
	for (var i in array) new_array.push(array[i]);
	new_array.push(value);
	return new_array;
}
function core_array_record(array, value, offset_find) {		// returns a record from an associative array
	if (offset_find == null) offset_find = 0;
	for (var i in array) if (array[i][offset_find] == value) return array[i];
}
function core_array_records(array, value, offset_find) {		// returns an array of records from an associative array
	if (offset_find == null) offset_find = 0;
	var new_array = new Array();
	for (var i in array) if (array[i][offset_find] == value) new_array.push(array[i]);
	return new_array;
}
function core_array_filter(array, value, offset_find) {		// returns an array of records filtered by a value
	if (offset_find == null) offset_find = 0;
	var new_array = new Array();
	for (var i in array) if (array[i][offset_find] == value) new_array.push(array[i]);
	return new_array;
}
function core_is_array(object) {
   return (object.constructor.toString().indexOf("Array") != -1);
}

function core_to_string(object) {
	var string = '';
	if (object == null) return;
	else if (core_is_array(object)) for (i in object) string += object[i] + "\n";
	else string = object;
	return string;
}
