/**
 * functions.js
 *
 * @author Andreas Müller
 * @version 1.0
 * @copyright Andreas Müller, 5 May, 2009
 * @package Homepage
 * @subpackage functions
 **/

/**
 * Define DocBlock
 **/

// Bild der Galerie vergrößern
function ShowPic(Adresse, width, height) {
    Pic = window.open(Adresse, "Bildergalerie", "Width="+width+",Height="+height+",left=75,top=50,scrollbars=yes,status=yes");
    Pic.focus();
}

// Kommentare öffnen
function OpenComment(Adresse) {
    Comments = window.open(Adresse, "Kommentare", "Width=520,Height=500,left=100,top=100,scrollbars=yes,status=yes");
    Comments.focus();
}

// Zeichen von einem anderen Dokument in die Textbarbeitung einfügen
function insertChar(formular, feld, text, way) {
    if (way == 'add') opener.document.forms[formular].elements[feld].value += text;
    if (way == 'set') opener.document.forms[formular].elements[feld].value = text;

}

// Zeichen direkt in ein Textfeld eintragen
function insert(formular, feld, text, way) {
    if (way == 'add') this.document.forms[formular].elements[feld].value += text;
    if (way == 'set') this.document.forms[formular].elements[feld].value = text;
}

// Aktuelles Datum für die Protokolle
function insertDate(formular, tag, monat, jahr) {
    this.document.forms[formular].elements['tag'].value = tag;
    this.document.forms[formular].elements['monat'].value = monat;
    this.document.forms[formular].elements['jahr'].value = jahr;
}

// Checkboxen anwählen
function selectAll(formular) {
    var checkboxes = this.document.getElementById(formular).getElementsByTagName('input');
    for (var i = 0; i < checkboxes.length; i++) {
        if (checkboxes[i].type == 'checkbox') checkboxes[i].checked = true;
    }
    return true;
}

// Checkboxen abwählen
function deSelectAll(formular) {
    var checkboxes = this.document.getElementById(formular).getElementsByTagName('input');
    for (var i = 0; i < checkboxes.length; i++) {
        if (checkboxes[i].type == 'checkbox') checkboxes[i].checked = false;
    }
    return true;
}

function elapseText(id) {
	status = document.getElementById(id).style.display;
	switch (status) {
		case "block": document.getElementById(id).style.display = "none"; break;
		case "none": document.getElementById(id).style.display = "block"; break;
	}
}

// Text, der im <div> mit einer id versehen wurde, kann hiermit sichtbar gemacht werden
function showText(id) {
	document.getElementById(id).style.visibility = "visible";
}

// Text, der im <div> mit einer id versehen wurde, kann hiermit unsichtbar gemacht werden
function hideText(id) {
	document.getElementById(id).style.visibility = "hidden";
}

// Anfangstag (beginn) und Endtag (ende) um Cursorposition herumsetzen
function insertPos(formular, feld, beginn, ende) {
	var input = document.forms[formular].elements[feld];
	input.focus();
	
	// IE
	if (typeof document.selection != 'undefined') {
		var range = document.selection.createRange();
		var insText = range.text;
		range.text = beginn + insText + ende;
		range = document.selection.createRange();
		if (insText.length == 0) {
			range.move('character', -ende.length);
		}
		else {
			range.moveStart('character', beginn.length + insText.length + ende.length);
		}
		range.select();
	}
	
	// Safari und andere neue Browser
	else if (typeof input.selectionStart != 'undefined') {
		var start = input.selectionStart;
		var end = input.selectionEnd;
		var insText = input.value.substring(start, end);
		input.value = input.value.substr(0, start) + beginn + insText + ende + input.value.substr(end);
		var pos;
		if (insText.length == 0) {
			pos = start + beginn.length;
		}
		else {
			pos = start + beginn.length + insText.length + ende.length;
		}
		input.selectionStart = pos;
		input.selectionEnd = pos;
	}
	
	// sonstige Browser
	else {
		var pos;
		var re = new RegExp('^[0-9]{0,3}$');
		while (!re.test(pos)) {
			pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
		}
		if (pos > input.value.length) {
			pos = input.value.length;
		}
		var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
		input.value = input.value.substr(0, pos) + beginn + insText + ende + input.value.substr(pos);
	}
}

/*function loadingTEST() {
	('<img src="http://home:8888/include/themes/def_data/galery/onload.gif" />');
}*/

// Copyright Hinweis bei Rechtsklick
var date = new Date();
var year = date.getFullYear();

function clickIE() {
	if (document.all) {
		alert("!!! Finger Weg !!!\r\nCopyright "+year+" by Andreas Müller");
		return false;
	}
}

function clickNS(e) {
	if (document.layers || (document.getElementById && !document.all)) {
		if (e.which == 2 || e.which == 3) {
			alert("!!! Finger Weg !!!\r\nCopyright "+year+" by Andreas Müller");
			return false;
		}
	}
}

if (document.layers) {
	document.captureEvents(Event.MOUSEDOWN);document.onmousedown=clickNS;
}
else{
	document.onmouseup=clickNS;document.oncontextmenu=clickIE;
}
