function c2fChangeLng(lngImage) {
	var params = lngImage.id.split("_");
	var c2fCount = params[1];
	var c2fLng = params[2];
	//
	$("c2fLng").getElements("img").each(function(el) {
		el.style.border = "0px";
	});
	$(lngImage.id).style.border = "1px #f00 solid";
	//
	$("c2form" + c2fCount).getElements("input").each(function(el) {
		c2fswitchLngElement(c2fLng, el, el.name);
	});
	$("c2form" + c2fCount).getElements("textarea").each(function(el) {
		c2fswitchLngElement(c2fLng, el, el.name);
	});
	$("c2form" + c2fCount).getElements("iframe").each(function(el) {
		c2fswitchLngElement(c2fLng, el, el.name);
	});
	$("c2form" + c2fCount).getElements("span").each(function(el) {
		// Nur die umschliessenden span-Elemente
			if (el.title == " ") {
				c2fswitchLngElement(c2fLng, el, el.id);
			}
		});
}

function c2fSwitchHiddenFormParts(formId, switchOn, additionalClass) {
	var form = $(formId);
	var additionalSearchClass = "";
	if (additionalClass != "")
		additionalSearchClass = "." + additionalClass;
	if (switchOn) {
		form.getElements(".invisible" + additionalSearchClass).each(function(el) {
			el.className = "visible " + additionalClass;
		});
	} else {
		form.getElements(".visible" + additionalSearchClass).each(function(el) {
			el.className = "invisible " + additionalClass;
		});
	}
}

function c2fChangeInfoVisibility(formId) {
	var form = $(formId);
	form.getElements(".c2fInfoBox").each(function(el) {
		c2fswitchElement(el);
	});
}

function c2fswitchElement(el) {
	if (el.getStyle("display") == "block" || el.getStyle("display") == "") {
		el.style.display = "none";
	} else {
		el.style.display = "block";
	}
}

function c2fswitchLngElement(lng, el, name) {
	if (el.style.visibility == "hidden")
		return;
	//
	if (name.contains("_" + lng)) {
		el.style.display = "block";
	} else {
		if (name.substr(name.length - 3, 1) == "_") {
			el.style.display = "none";
		}
	}
}

var FormHelp = new Class( {
	Implements : [ Options ],

	options : {
		formId : null,
		form : null,
		formCount : null,
		infoColumn : null,
		infoContainer : null,
		hasGeneralInfo : false
	},

	initialize : function(form) {
		this.options.formId = form.id;
		this.options.form = form;
		this.options.formCount = form.id.substr(6, 1);
		this.options.infoColumn = $("c2f" + this.options.formCount + "InfoCol");
		this.options.infoContainer = $("c2f" + this.options.formCount + "InfoContent");
		var generalInfoEl = $("c2fVal" + this.options.formCount + "_general");
		if (generalInfoEl != null) {
			this.options.hasGeneralInfo = (generalInfoEl.get("text") != "");
		}

		var me = this;
		this.hideAll(false);
		this.options.form.getElements("img.c2fInfoHide").addEvent("click", function() {
			me.hideAll(true);
		});
		this.options.form.getElements("img.c2fHelpBtn").addEvent("click", function() {
			me.showHelpBox($(this.id.replace("c2fBtn", "c2fVal")));
		});
	},

	hideAll : function(force) {
		var infoEl = $("c2f" + this.options.formCount + "Info");
		if (infoEl == null) return;
		//
		$each(this.options.form.getElements("img.c2fHelpBtn.active"), function(el) {
			el.className = el.className.replace(" active", "");
			el.src = "/resources/c2f/info_off.png";
			$(el.id.replace("c2fBtn", "c2fVal")).hide();
		});
		if (force || !this.options.hasGeneralInfo) {
			var fx = new Fx.Slide("c2f" + this.options.formCount + "InfoContent");
			var me = this;
			fx.addEvent('complete', function() {
				me.options.infoColumn.className = "c2fInfoCol hidden";
				infoEl.style.display = "none";
			});
			fx.slideOut();
		} else {
			this.showHelpBox($("c2fVal" + this.options.formCount + "_general"));
		}
	},

	showHelpBox : function(helpObj) {
		var helpBtnObj = $(helpObj.id.replace("c2fVal", "c2fBtn"));
		if (helpBtnObj != null && helpBtnObj.className.contains("active")) {
			this.hideAll(false);
			return;
		}
		//
		var actives = this.options.form.getElements("img.c2fHelpBtn.active");
		var me = this;
		if (actives.getLast() == null) {
			this.options.infoColumn.className = "c2fInfoCol";
		}
		$each(actives, function(el) {
			el.className = el.className.replace(" active", "");
			el.src = "/resources/c2f/info_off.png";
			$(el.id.replace("c2fBtn", "c2fVal")).hide();
		});
		//
		if (helpBtnObj != null) {
			helpBtnObj.className = helpBtnObj.className + " active";
			helpBtnObj.src = "/resources/c2f/info_on.png";
		}
		helpObj.show();
		var fxIn = new Fx.Slide(this.options.infoContainer);
		if (actives.getLast() == null) {
			$("c2f" + me.options.formCount + "Info").style.display = "block";
			fxIn.slideIn();
		} else {
			fxIn.show();
		}
	}

});

var forms = Array();
window.addEvent("domready", function() {
	$each($(document.body).getElements("form[id^=c2form]"), function(el) {
		if (el.id.length >= 7) {
			forms[forms.length] = new FormHelp(el);
		}
	});
});
