	// ARRAY FINCTION
	function in_array(needle, haystack) {	
		var found = false, key;
		for (key in haystack){ if ((haystack[key] === needle)) { found = true; break;} }
		return found;
	}

	function in_key_array(needle, haystack) {	
		var found = false, key;
		for (key in haystack){ if ((key === needle)) { found = true; break;} }
		return found;
	}
	
	function array_combine(keys, values/*,def*/){
		var new_array = {}, keycount=keys.length, i, def;
		if (typeof arguments[2] !== 'undefined'){def = arguments[2];}
		if( !keys[0] || !values[0] ){ return false; }
		if(!keycount){ return false; }
		for ( i=0; i < keycount; i++ ){
		   var val = values[i];
		   if (!values[i]){ val = def;}
		   new_array[keys[i]] = val;
		}
		return new_array;
 	}
	
	function array_keys ( input, search_value, strict ) {
		var tmp_arr = new Array(), strict = !!strict, include = true, cnt = 0;
	
		for ( key in input ){
			include = true;
			if ( search_value != undefined ) {
				if( strict && input[key] !== search_value ){
					include = false;
				} else if( input[key] != search_value ){
					include = false;
				}
			}
			if( include ) {
				tmp_arr[cnt] = key;
				cnt++;
			}
		}
		return tmp_arr;
	}
	
	function array_values ( input ){
		var tmp_arr = new Array(), cnt = 0;
		for ( key in input ){
			tmp_arr[cnt] = input[key];
			cnt++;
		}
		return tmp_arr;
	}
	// ARRAY FINCTION
	
