// ArrayFunction Objekt
// -------------------------------------------------------------------------------------------
ArrayFunction = {
	// Array-Funktionen
	// -------------------------------------------------------------------------------------------
	numSort : function(a,b){
		return a - b;
	},
	
	copy : function(arr) {
		a = new Array();
		for(A=0;A<arr.length;A++) a[a.length] = arr[A]; 
		return a;
	},
	
	deleteValue : function(arr,val) {
		a = new Array();
		for(A=0;A<arr.length;A++) if(arr[A] != val) a[a.length] = arr[A];
		return a
	},
	
	deleteValueFirstFound : function(arr,val){
		a = new Array(); f = false;
		for(A=0;A<arr.length;A++){if(arr[A] != val || f){a[a.length] = arr[A]; f = true;}}
		return a;
	},
	
	deleteValueLastFound : function(arr,val){
		a = new Array(); f = false;
		for(A=arr.length-1;A>=0;A--){if(arr[A] != val || f){a[a.length] = arr[A]; f = true;}}
		a.reverse();
		return a;
	},
	
	deleteIndex : function(arr,ind) {
		a = new Array();
		for(A=0;A<arr.length;A++) if(A != ind) a[a.length] = arr[A];
		return a
	},
	
	deleteValueOne : function(arr,val){
		a = new Array(); f = false;
		for(A=0;A<arr.length;A++){if(arr[A] != val || f){a[a.length] = arr[A]; f = true;}}
		return a;
	},
	
	add : function(arr,val){
		if(this.inArray(arr,val)) return arr;
		arr[arr.length] = val;
		return arr;
	},
	
	addValue : function(arr,val){
		if(this.inArray(arr,val)) return arr;
		a = arr.copy();
		a[a.length] = val;
		return a;
	},
	
	inArray : function(arr,val){
		for(A=0;A<arr.length;A++) if(arr[A]==val) return true;
		return false;
	},
	
	getIndex : function(arr,key){
		for(A=0;A<arr.length;A++) if(arr[A]==key) return A;
		return -1;
	},
	
	keyExists : function(arr,key){
		if(typeof(arr[key]) != "undefined") return true
		return false;
	},
	
	moveValue2End : function(arr,val){
		a = this.deleteValue(arr,val);
		a[a.length] = val;
		return a;
	}
	// -------------------------------------------------------------------------------------------
};
