function helpInputInline() {
	$('.help-input-inline').each(function() {
		var el = $(this);
		if (el.hasClass("help-input-inline-computed")) {
			return;
		}
		el.addClass("help-input-inline-computed");
		// input type="text"
		var type = el.attr('type');
		if (type=='text') {
			el.addClass("help-input-inline-style");
		}
		// input type="password"
		if (type=='password') {
			var val = el.attr("value");
			var newEl = $('<input type="text" value="'+val+'"/>');
			newEl.attr("size", el.attr("size"));
			newEl.addClass("help-input-password");
			newEl.addClass("help-input-inline-style");
			var classList =el.attr('class').split(/\s+/);
			$.each(classList, function(index, item) {
				newEl.addClass(item);
			});
			newEl.data("help-input-inline", el);
			el.addClass("hidden");
			newEl.addClass("help-input-inline-computed");
			newEl.insertAfter(el);
		}
		// textarea
		if (type =='textarea') {
			el.addClass("help-input-inline-style");
		}
	});
}

$(document).ready(function() {
	helpInputInline();
	$('body').delegate(".help-input-inline", 'focus', function(e) {
		var el = $(this);
		// called only once
		if (el.data("help-input-inline-getfocus")) return;
		el.data("help-input-inline-getfocus", true);
		// get original element type
		var type = el.attr('type');
		if (el.hasClass("help-input-password")) {
			type="password";
		}

		// case of text input
		if (type=='text') {
			el.removeClass("help-input-inline-style");
			$(this).attr("value", "");
		}
		// case of password input
		if (type=='password') {
			var realEl = el.data("help-input-inline");
			realEl.data("help-input-inline-getfocus", true);
			realEl.removeClass("hidden");
			realEl.attr("value", "");
			realEl.focus();
			el.remove();
		}
		// case of text input
		if (type=='textarea') {
			el.removeClass("help-input-inline-style");
			$(this).html("");
		}
    });
});
