// CHECKBOX AKTIVIEREN/DEAKTIVIEREN
function check_box(id, group, checkedvalue, checktype) {

	boxID		= group + '_' + id + checktype;
	descID		= group + '_' + id + 'desc';

	fieldID		= group + '_' + id;
	group		= group + '_';
	form_name	= document.getElementById(fieldID).form.id;

	if (checktype == "radio") {

			// WERT DES HIDDEN FIELD SETZEN
			document.forms[form_name][fieldID].checked						= true;

	} else if (checktype == "checkbox") {

		// DEAKTIVIEREN WENN AKTIVIERT
		if (document.forms[form_name][fieldID].checked == true) {

			// WERT DES HIDDEN FIELD SETZEN
			document.forms[form_name][fieldID].checked						= false;

		// AKTIVIEREN WENN DEAKTIVIERT
		} else if (document.forms[form_name][fieldID].checked == false) {

			// WERT DES HIDDEN FIELD SETZEN
			document.forms[form_name][fieldID].checked						= true;

		}

	}

	num_of_fields = document.forms[form_name].length;

	for (i = 0; i < num_of_fields; i++) {

		currentFieldID	= document.forms[form_name][i].id;
		currentBoxID	= currentFieldID + checktype;
		currentDescID	= currentFieldID + 'desc';

		if (currentFieldID.search(group) != -1) {

			if (document.forms[form_name][i].getAttribute("type", "false") == checktype) {

				if (document.forms[form_name][currentFieldID].checked == false) {

					// CLASS DER CHECKBOX SETZEN
					document.getElementById(currentBoxID).className		= checktype;

					// CLASS DER BESCHREIBUNG SETZEN
					document.getElementById(currentDescID).className	= 'desc';

				// AKTIVIEREN WENN DEAKTIVIERT
				} else if (document.forms[form_name][currentFieldID].checked == true) {

					// CLASS DER CHECKBOX SETZEN
					document.getElementById(currentBoxID).className		= checkedvalue + checktype;

					// CLASS DER BESCHREIBUNG SETZEN
					document.getElementById(currentDescID).className	= checkedvalue + 'desc';

				}

			}

		}

	}

}

// GROESSE DER TEXTAREA AENDERN -----------------------------------------------------------------------------------------------------------
function resize_formfield (id, resize_value) {

	var textarea = document.getElementById(id);

	var current_height = textarea.rows;

	textarea.rows = parseInt(current_height) + parseInt(resize_value);

}

// EIN-/AUSBLENDEN
function showhide(id) {

	if (document.getElementById(id)) {

		if (document.getElementById(id).style.display == 'none' || !document.getElementById(id).style.display) {
			document.getElementById(id).style.display = 'block';
		} else {
			document.getElementById(id).style.display = 'none';
		}

	}

}

// LINK
function hrefDo(url) {
	window.location.href = url;
}

// EINBLENDEN/AUSBLENDEN
function switchClass(id, classname) {

	var currentClassName = document.getElementById(id).className;

	if (currentClassName.indexOf(classname) != -1) {
		var reExp = new RegExp(classname);
		document.getElementById(id).className = document.getElementById(id).className.replace(reExp, "");
	} else {
		document.getElementById(id).className = document.getElementById(id).className + ' ' + classname;
	}

}

var slideVars_moving = new Array();
var slideVars_timerID = new Array();
var slideVars_parent = new Array();
var slideVars_startTime = new Array();
var slideVars_way = new Array();
var slideVars_length = 300;
var slideVars_range = 100;

// SLIDE
function slide(id, way) {

	// Wird der Container bereits bewegt? Wenn ja: abbrechen.
	if (slideVars_moving[id]) return;

	// Anzeigen, dass der Container bewegt wird
	slideVars_moving[id] = true;

	// Richung "global" setzen
	slideVars_way[id] = way;

	// Kind-Elemente des Slider-Rahmens (das Erste DIV ist der zu bewegende Container)
	var sliderDivChildren = document.getElementById(id).childNodes;

	// ID des zu bewegenden Containers zusammensetzen
	var slideVars_parent_id = 'parent_' + id;

	// ID des zu bewegenden Containers setzen (damit es nicht in HTML gesetzt werden muss)
	for (var i = 0; i < sliderDivChildren.length; i++) {

		// Wenn das Element ein DIV ist
		if (sliderDivChildren[i].nodeName.toLowerCase() == 'div') {

			// Erzeugte ID setzen
			sliderDivChildren[i].id = slideVars_parent_id;
			slideVars_parent[id] = document.getElementById(slideVars_parent_id);

			// Schleife abbrechen
			break;

		}

	}

	// Startzeit der Bewegung setzen
	slideVars_startTime[id] = (new Date()).getTime();

	// Bewegung Schritt für Schritt ausführen
	slideVars_timerID[id] = setInterval('slidetick(\'' + id + '\');', 5);

}

function slidetick (id) {

	// Bereits verstrichenen Zeit errechnen
	var elapsed = (new Date()).getTime() - slideVars_startTime[id];

	// Wenn die bereits verstrichene Zeit die Maximaldauer überschreitet, beende das Sliden
	if (elapsed > slideVars_length) {

		endSlide(id);

	} else {

		// Bewegungs-Abstand für diesen Schritt berechnen
		var slideStep = Math.round(elapsed / slideVars_length * slideVars_range);

		// Wenn es vorwärts gehen soll
		if(slideVars_way[id] == 'forth') {
			slideStep = slideVars_range - slideStep;
		}

		slideVars_parent[id].style.left = '-' + (slideVars_range - slideStep) + '%';

	}

	return;

}

function endSlide(id){

	clearInterval(slideVars_timerID[id]);

	var endPos = 0;

	if(slideVars_way[id] == 'forth') endPos = '-' + slideVars_range;

	slideVars_parent[id].style.left = endPos + '%';

	delete(slideVars_moving[id]);
	delete(slideVars_timerID[id]);
	delete(slideVars_parent[id]);
	delete(slideVars_startTime[id]);
	delete(slideVars_way[id]);

	return;

}

// Dropdown -------------------------------------------------------------------------------------------------------------------------------
function init_dropdown (id) {

	if (document.all && document.getElementById) {

		nroot = document.getElementById(id);

		for (i = 0; i < nroot.childNodes.length; i++) {

			node = nroot.childNodes[i];

			if (node.nodeName == 'LI') {

				node.onmouseover = function () {
					this.className += ' over';
				}

				node.onmouseout = function () {
					this.className = this.className.replace(' over', '');
				}

			}

		}

	}

}