var formFx;
function sendForm(formId) {
    $(formId).set("send", {
        onSuccess: function(responseText, responseXML) {
            if (responseText == null) { alert(responseText); return; }
            if (formFx != null) formFx.cancel();
            //
            formFx = new Fx.Tween($(formId), { duration: 2000 });
            var response = JSON.decode(responseText);
            if (response.message != null) {
                var logEl = document.getElementById("c2formajax_log");
                logEl.innerHTML = response.message;
                logEl.style.display = "block";
                logEl.style.cursor = "pointer";
                logEl.addEvent("click", function() {
                    logEl.style.display = "none";
                });
            }
            if (response.changeHTMLs != null) {
                var changeHTMLs = JSON.decode(response.changeHTMLs);
                $each(changeHTMLs, function(content, target) {
                    if (target == null) target = targetId;
                    if ($(target) == null) alert("target nicht gefunden: "+ target);
                    //
                    $(target).innerHTML = content;
                });
            }
            if (response.changeBackground != null) {
                var changeBackground = JSON.decode(response.changeBackground);
                $each(changeBackground, function(background, target) {
                    if (target == null) target = targetId;
                    if ($(target) == null) alert("target nicht gefunden: "+ target);
                    //
                    $(target).style.backgroundColor = background;
                });
            }
            if (response.changeForms != null) {
                var changeForms = JSON.decode(response.changeForms);
                $each(changeForms, function(content, target) {
                    if (target == null) target = targetId;
                    if ($(target) == null) alert("target nicht gefunden: "+ target);
                    //
                    $(target).value = content;
                });
            }
            if (response.error != null) {
                formFx.start('background-color', '#FFA5A5', '#FFF');
                logEl.className = "logBoxError";
            }
            else {
                formFx.start('background-color', '#99FF99', '#FFF');
                //if (response.reload != null) {
                    //reload = JSON.decode(response.reload);
                    //loadContent(reload.class, reload.params, reload.method, reload.target);
                //}
                if (response.newValue != null) {
                    if ($(response.targetId) == null) alert("target nicht gefunden: "+ response.targetId);
                    $(response.targetId).innerHTML = response.newValue;
                }
                if (response.message != null) {
                    logEl.className = "logBoxSuccess";
                }
            }
            if (response.message != null) {
                var logEl = document.getElementById("c2formajax_log");
                logEl.style.display = "block";
            }
        }
    });
    $(formId).send();
}

function reloadComboBox(className, method, params, targetComboId) {
	var req = new Request.JSON({
		url: "index.php?class="+className+"&method="+method+"&params="+params,
		onComplete: function(responseJSON, responseText) {
			if (responseJSON == null) { alert(responseText); return; }
			//
			var combo = $(targetComboId);
			while (combo.length > 0) {
				combo.options[combo.length - 1] = null;
			}
			$each(responseJSON, function(value, id) {
				var item = new Option(value, id, false, true);
				combo.options[combo.length] = item;
			})
	}}).get();
}