$(document).ready(function(){
	$(document).ajaxError(handleNameChangeError);
});

function showNameChange(id) {
	hideNameChanges();
	$("div#name_change_" + id).show();
	$("div#name_change_" + id + " input.name").focus();
}

function hideNameChanges() {
	$("div.name_change_form:visible").each(function() {
		var id = $(this).attr("id").substr("name_change_".length);
		$(this).hide();
		var oldValue = $("#name_" + id).html();
		$("div#name_change_" + id + " .name").val(oldValue);
	});
}

function doNameChange(id, entity) {
	var name = $("div#name_change_" + id + " input.name").val();
	if (name == null || name.length == 0) {
		alert("Name must not be empty!");
		return;
	}
	var data = {
		"method": "nameChange",
		"id": id,
		"entity": entity,
		"name": name 
	};
	$.post("/blinkAccount", data, handleNameChangeResponse, "json");
}

function handleNameChangeResponse(data, textStatus, XMLHttpRequest) {
	$("#name_" + data.id).html(data.name);
	$("div#name_change_" + data.id + " .name").val(data.name);
	hideNameChanges();
}

function handleNameChangeError(event, request, settings) {
	if (settings.url == '/blinkAccount') {
		alert("Unable to change names at this time.");
		hideNameChanges();
	}
}
