
/**
 * Hilfsfunktionen
 * @author Thomas Richter
 * @copyright 2005 www.school-fellows.net
 */


/**
 * Gibt an, dass die Datei geladen wurde.
 */
script_loaded = true;


/**
 * Prüft die Formularfelder zum Login von der Startseite.
 */
function fast_login() {
	var c = document.getElementById("id_class").value;
	var n = document.getElementById("id_login").value;
	if ( (c!="") && (n!="") ) {
		document.fastlogin.submit();
	} else if ( (c=="") && (n=="") ) {
		alert("Du mußt einen Jahrgang und einen Namen angeben!");
	} else if ( (c=="") ) {
		alert("Du mußt einen Jahrgang angeben!");
	} else if ( (n=="") ) {
		alert("Du mußt einen Namen angeben!");
	}
}


/**
 * Kontrolliert den top-frame.
 */
function top_check(url) {
	if ((url != "") && (top.location.href != url)) top.location.href = url;
}


/**
 * Weiterleitung.
 */
function parent_go(url) {
	parent.location.href = url;
}


/**
 * Legt die Mindestgroesse eines Elementes fest, falls der Browser kein "min-width" versteht:
 */
function min_width(id, x) {
	if(document.getElementById) {
		if (document.getElementById(id).style.width < x) document.getElementById(id).style.width = x;
	} else {
		if (document.all[id].style.width < x) document.all[id].style.width = x;
	}
}


/**
 * Legt die Mindestgroesse eines Elementes fest, falls der Browser kein "min-height" versteht:
 */
function min_height(id, y) {
	if(document.getElementById) {
		if (document.getElementById(id).style.height < y) document.getElementById(id).style.height = y;
	} else {
		if (document.all[id].style.height < y) document.all[id].style.height = y;
	}
}


/**
 * Legt die Breite des linken Randes fest:
 */
function left_margin(id, l) {
	if (document.getElementById) {
		document.getElementById(id).style.left = l;
	} else {
		document.all[id].style.left = l;
	}

}

/**
 * Zentriert ein Element in der Mitte des Bildschirms:
 */
function align_center(id, min) {
	if (document.getElementById) {
		if (screen.availWidth>min) {
			document.getElementById(id).style.left = Math.round((screen.availWidth - min) / 2);
		}
	} else {
		if (screen.availWidth>min) {
			document.all[id].style.left = Math.round((screen.availWidth - min) / 2);
		}
	}
}

/**
 * Oeffnet ein Fenster zum Erstellen von Address-Eintraegen im ersten Fenster:
 */
function FormToolWindow(formname, elementname) {
	var cUrl = "createAddress.php?form=" + formname + "&feld=" + elementname;
	var cWindow = window.open(cUrl,"Win2","width=240,height=380,resizable=no,scrollbars=no,status=no,left=20,top=200");
	if (!cWindow.opener) cWindow.opener = self;
	cWindow.focus(true);
}


/**
 * Setzt ein Cookie.
 */
function setCookieVar(varname, value, time) {
	var now = new Date();
	var time = new Date(now.getTime() + time);
	document.cookie = varname + "=" + value + "; expires=" + time.toGMTString() + ";";
}


/**
 * Startet die Ereignisverfolgung der Tastatur.
 */
function KeyMonitor() {
	if (document.layers) {
		window.captureEvents(Event.KEYPRESS);
		window.onkeypress = keyCheck;
	} else {
		document.onkeydown = keyCheck;
	}
}


/**
 * Wird durch Tastendruck aufgerufen.
 */
function keyCheck(e) {

	// Taste und Objekt in dem das Ereignis ausgelöst wurde ermitteln:
	var selection = "";
	if (document.all) {
		var obj = window.event.srcElement;
		var taste = window.event.keyCode;
		if (document.selection)	selection = document.selection.createRange().text;
	} else {
		var obj = e.target;
		var taste = e.which;
		selection = document.getSelection();
	}
	
	// Pruefen, ob nicht in einem Eingabefeld geschrieben wird:
	var Ok = true;
	var wrongObj = new Array("text","file","password");
	if (obj.type) {
		for (i=0;i<wrongObj.length;i++) {
			if (Ok) Ok = (obj.type.toLowerCase() != wrongObj[i]);
		}
		if (!Ok && obj.tagName && obj.tagName.toLowerCase() != "input") Ok = true;
	}
	if (obj.type == "textarea") Ok = false;

	// Ereignis abfrage & bearbeiten:
	if (Ok) {
		var search = "";
		if ( (taste==83) && (selection!="") ) {
			for (i=0; i<selection.length; i++) {
				if (selection.charCodeAt(i)>31) {
					search = search + selection.charAt(i);
				} else {
					if (search.charAt(search.length-1)!=" ") search = search + " ";
				}
				if (search.length==50) i=selection.length;
			}
			document.location = "index.php?class="+jclass+"&menu=suchen_2_0&s="+search;
		} else {
			// alert("Taste "+taste+" wurde gedrückt");	
		}
	}
}
