/**
 * Author:  Walter Karpf
 * Projekt: Party Team OG
 * Script:  scripts/Allgemein.js
 * $Revision: Allgemein.js,v $
 * Erstellung: 2009-06-24
 * Description: Javascriptfunktionen für alle Seiten.
 * $Log: Allgemein.js,v $
 */

/**
 * displayMessage -> Fehlermeldung am Bildschirm anzeigen
 * @param Message	String	ErrorMessage
 */
function displayMessage(Message) {
	document.getElementById('Message').value=Message;
}

/**
 * callSite -> Webseitenobjekt aufrufen
 * @param site	String	Objectname
 */
function callSite (site) {
  document.forms[0].Aktion.value = site;
  document.forms[0].Aktion.name = "NextSite";
  document.forms[0].submit();
}

/**
 * resetMessage -> Fehlermeldung zurücksetzen
 */
function resetMessage() {
	document.getElementById('Message').value='';
	document.getElementById('Message').style.Display = 'none';
}

/**
 * submitForm -> Formulardaten an Server senden.
 * @param aktion	string	Folgeaktion des Formulars
 */
function submitForm (aktion) {
  document.forms[0].Aktion.value = aktion;
  document.forms[0].submit();
}

/**
 * crossFade -> Überblenden eines Elements mit einem neuen
 * 				(ein Elementname muss mit "Front", das andere mit "Back" enden.
 * @param ID	String	Name des Elements für den CrossFade
 * @param Time	Int		Zeit zum Überblenden in Millisekunden
 */
function crossFade(ID,Time) {
	$("#"+ID+"Back").fadeOut(Time);
	$("#"+ID+"Front").fadeIn(Time);
}

/**
 * fadeIn -> Element einblenden
 * @param ID	String	Name des Elements
 * @param Time	Zeit zum Einblenden
 *
function fadeIn(ID,Time) {
	$("#"+ID).fadeIn(Time);
}

/**
 * fadeOut -> Element ausblenden
 * @param ID	String	Name des Elements
 * @param Time	Zeit zum Ausblenden
 *
function fadeOut(ID,Time) {
	$("#"+ID).fadeOut(Time);
}

function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = new Number(0)
    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

/**
 * changeOpac -> Opacity auf einen bestimmten Wert einstellen 
 * @param opacity	Int		Wert der Opacity
 * @param id		String	Name des Elements
 *
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}

/**
 * validEmail -> Prüfen, ob eine e-mail-Adresse brauchbar sein kann
 * @param	email	String	e-mail-Adresse zur Überprüfung
 * @return			bool	e-mail-Adresse OK
 */
function validEmail(email) {
	  var strReg = "^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$";
	  var regex = new RegExp(strReg);
	  return(regex.test(email));
}
