function get_keywords(content, field) {
	$.getJSON(base_url + 'generate-keywords.html?content=' + urlencode(content) + '&field=' + urlencode(field), function(j){
		$('#' + j.field + ' input').val(j.tags);
	});
}
function is_field_value_unique(object, id, class_name, field, label) {
	value = object.value;
		
	$.getJSON(base_url + 'field_unique.html?id=' + urlencode(id) + '&label=' + urlencode(label) + '&class=' + urlencode(class_name) + '&field=' + urlencode(field) + '&value=' + urlencode(value), function(j){
		if(j.count != 0) {
			alert(j.label + ' is not unique and is required to be unique.');
		}
	});
}
function url_safe(text) {
	text = text.toLowerCase();
	text = text.replace(/[^a-z 0-9]+/g,'');
	text = text.replace(/[ ]+/g,'-');
	
	return text;
}
function getElementsByClassName(className, tag, elm) {
	var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all) ? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for (var i = 0; i < length; i++) {
		current = elements[i];
		if (testClass.test(current.className)) {
			returnElements.push(current);
		}
	}
	return returnElements;
}

function returnObjById(id) {
	if (document.getElementById)
		var returnVar = document.getElementById(id);
	else if (document.all)
		var returnVar = document.all[id];
	else if (document.layers)
		var returnVar = document.layers[id];
	return returnVar;
}
function in_array(needle, array) {
	var return_value = false;
	var length = array.length;
	for (var i = 0; i < length; i++) {
		if (array[i] == needle) {
			return_value = true;
			break;
		}
	}

	return return_value;
}
function Hash() {
	this.length = 0;
	this.items = new Array();
	for (var i = 0; i < arguments.length; i += 2) {
		if (typeof (arguments[i + 1]) != 'undefined') {
			this.items[arguments[i]] = arguments[i + 1];
			this.length++;
		}
	}

	this.removeItem = function(in_key) {
		var tmp_value;
		if (typeof (this.items[in_key]) != 'undefined') {
			this.length--;
			var tmp_value = this.items[in_key];
			delete this.items[in_key];
		}
		return tmp_value;
	}

	this.getItem = function(in_key) {
		return this.items[in_key];
	}

	this.setItem = function(in_key, in_value) {
		if (typeof (in_value) != 'undefined') {
			if (typeof (this.items[in_key]) == 'undefined') {
				this.length++;
			}
			this.items[in_key] = in_value;
		}
		return in_value;
	}

	this.hasItem = function(in_key) {
		return typeof (this.items[in_key]) != 'undefined';
	}
}

