
function _array_remove(array, element){
	for(var i = 0; i < array.length; i++){
		if(array[i] == element){
			for(var j = i; j < array.length - 1; j++){
				array[j] = array[j + 1];
			}
			array.pop();
			return;
		}
	}
}

function _array_removeAt(array, index){
	if(0 <= index && index < array.length){
		for(var i = index; i < array.length - 1; i++){
			array[i] = array[i + 1];
		}
		array.pop();
	}
}

function _array_clear(array){
	while(array.length > 0){
		array.pop();
	}
}

function _array_indexOf(array, element){
	for(var i = 0; i < array.length; i++){
		if(array[i] == element)
			return i;
	}
	return -999999;
}

function _array_insert(array, element, position){
	if(0 <= position && position < array.length){
		for(var i = array.length; i > position; i --){
			array[i] = array[i - 1];
		}
		array[position] = element;
	}
	else{
		array.push(element);
	}
}

function _array_insertArray(array, elements, position){
	if(0 <= position && position < array.length){
		var range = elements.length;
		for(var i = array.length - 1; i > position - range; i --){
			array[i] = array[i - range];
		}
		for(i = 0; i < range; i ++){
			array[position + i] = elements[i];
		}
	}
	else{		
		array.concat(elements);
	}
}

function _array_firstElement(array){
	return (array.length > 0) ? array[0] : null;
}

function _array_lastElement(array){
	return (array.length > 0) ? array[array.length - 1] : null;
}

