//Edit in place for NUSA Tipline
//Stephan Arrington, 2009

Drupal.nusatipline.enableEIP = function() {
	$("span.edit-tips").each(function(){
		Drupal.nusatipline.setClickable(this);
	});
}

//allow editable regions to be clicked
Drupal.nusatipline.setClickable = function(obj) {
	$(obj).dblclick(function() {
		var textarea = '<div><textarea id="' + $(this).attr("id") + '" rows="4">'+$(this).html()+'</textarea>';
		var button = '<div><input type="button" value="Save Changes" class="saveButton" /> <input type="button" value="Cancel" class="cancelButton" /></div></div>';
		var revert = $(this).html();

		//console.dir(obj);
		$(obj).after(textarea+button).remove();

		$('.saveButton').click( function() {
			Drupal.nusatipline.saveChanges(this, false);
		});

		$('.cancelButton').click( function() {
			Drupal.nusatipline.saveChanges(this, revert);
		});

	//css to indicate eip fields
	}).mouseover(function() {
		$(obj).addClass("editable");
	}).mouseout(function() {
		$(obj).removeClass("editable");
	});
}

//save changes
Drupal.nusatipline.saveChanges = function(obj, cancel) {
	var tip = '';
	var id =  $(obj).parent().siblings(0).attr('id');
	
	if(!cancel) {
		tip = $(obj).parent().siblings(0).val();
		var clean_tip = tip.replace(/\?/g, "%3F");
		$.post("/content/tipline/js/edit/" + id + "/" + clean_tip);
	}
	else {
		tip = cancel;
	}
	
	$(obj).parent().parent().after('<span class="edit-tips" id="'+ id + '">' + tip + '</span>').remove();
	Drupal.nusatipline.setClickable($("span.edit-tips[@id=" + id + "]"));
}

