/**
* JavaScript
*
* @author	Sebastian Müller <sebastian produktivbuero de>
* @date		07/02/2007
*/

/** ************************************************************************
* Entschlüsselt E-Mails
*
* @param	$s  verschlüsselte E-Mail-Adresse
* @return	E-Mail-Adresse
* @author	http://jumk.de
* @date		
***************************************************************************/

function UnCryptMailto (s) {
	var n = 0;
	var r = "";
	for( var i = 0; i < s.length; i++)
	{
	    n = s.charCodeAt( i );
	    if( n >= 8364 )
	    {
	        n = 128;
	    }
	    r += String.fromCharCode( n - 1 );
	}
	return r;
};


/** ************************************************************************
* Ruft den Link zur E-Mail-Adresse auf
*
* @param	$s  verschlüsselte E-Mail-Adresse
* @return	-
* @author	http://jumk.de
* @date		
***************************************************************************/

function linkTo_UnCryptMailto (s) {
	location.href=UnCryptMailto(s);
};


/** ************************************************************************
* Öffnet ein Popupfenster
*
* @param	$url  Zieladresse
* @return	-
* @author	Sebastian Müller <sebastian@produktivbuero.de>
* @date		07/02/2007
***************************************************************************/

function windowPrint (url) {
	windowProps = "resize=yes, dependant=yes, scrollbars=yes, menubar=yes";
	myWindow = window.open(url,"print",windowProps);
};


/** ************************************************************************
* Wechselt die Seite über ein Auswahlmenü
*
* @param	$targ  Zielfenster
* @param	$selObj  übergebene Adresse
* @param	$restore  ersten Wert im Auswahlmenü wieder herstellen (true/false)
* @return	-
* @author	Sebastian Müller <sebastian@produktivbuero.de>
* @date		07/02/2007
***************************************************************************/

function quickMenu (targ,selObj,restore) {
	eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
	if (restore) selObj.selectedIndex=0;
};

/** ************************************************************************
* AJAX-Dropdown-Boxes
*
* Schliesst die jeweiligen Fenster beim Laden der Seite
*
* @param	-
* @return	-
* @author	http://www.exit404.com/2005/57/unobtrusive-persistant-scriptaculous-effects
* @date		01/11/2005
***************************************************************************/

function hideBoxes() {
	
	// Id names of all the "boxes"
	elIds = $("login", "search", "telegramm");	
	boxIds = $("loginbox", "searchbox", "telegrammbox");	
	
	for (i = 0; i < boxIds.length; i++) {
		if (boxIds[i]) {
				Element.hide(boxIds[i]);
				Element.addClassName(elIds[i], 'invisible');
		}		
	}	
};

Behaviour.addLoadEvent(hideBoxes);

/** ************************************************************************
* AJAX-Dropdown-Boxes
*
* Belegt die definierten ID-Elemente mit den aufgerufenene Aktionen
*
* @param	-
* @return	-
* @author	http://www.exit404.com/2005/57/unobtrusive-persistant-scriptaculous-effects
* @date		01/11/2005
***************************************************************************/

var actionBoxes = {
	// OnClick-Listener für das Login-Fenster
	'#login' : function(el){
		el.onclick = function(){
			if (Element.hasClassName(this, 'invisible')) {
				new Effect.BlindDown('loginbox');
				Element.removeClassName(this, 'invisible');
			} else {
				new Effect.BlindUp('loginbox');
				Element.addClassName(this, 'invisible');
			}
		}		
	},
	
	// OnClick-Listener für das Suche-Fenster
	'#search' : function(el){
		el.onclick = function(){
			if (Element.hasClassName(this, 'invisible')) {
				new Effect.BlindDown('searchbox');
				Element.removeClassName(this, 'invisible');
			} else {
				new Effect.BlindUp('searchbox');
				Element.addClassName(this, 'invisible');
			}
		}		
	},
	
	// OnClick-Listener für das Telegramm-Fenster
	'#telegramm' : function(el){
		el.onclick = function(){
			if (Element.hasClassName(this, 'invisible')) {
				new Effect.BlindDown('telegrammbox');
				Element.removeClassName(this, 'invisible');
			} else {
				new Effect.BlindUp('telegrammbox');
				Element.addClassName(this, 'invisible');
			}
		}		
	}
};

Behaviour.register(actionBoxes);


