// Alle Funktion benötigen Prototype, einige auch Scriptaculous

var unsaved = false;
var to = false;
var to2 = false;

function checkDate(elem)
{
	/*	bei Änderung der Auswahlliste "Kartentyp (Dauer)"
		muss eine Datums-Auswahl eingeblendet werden
		(Startdatum). Bei Wahl "Jahreskarte" sofort zur
		Gewässerauswahl "normal / Schleppangeln"
	*/

    if ( _checkUnsaved() == false )
    {
        return false;
    } else
    {
    	$('div_warn_schlepp_allg').hide();
        unsaved = false;
        _wk_button(false);
    }

	$('angelkarte').update("");
	var eff = Effect.Fade('ak_select', { duration:0.4 } );
	$('dc').setValue("");

	// elem ist die select-Box
	var theSel = $(elem).getValue();

	switch ( theSel )
	{
		case "0":
		_reset();
		break;

		case "365":
		// Datums- / Zeitwahl ausblenden
		$('datetime').hide();
		_showStartDateTime(true);
		_updateMicroNavi('step_art');
		$('label_datum').update("Bitte Angelart wählen");
		break;

		// alle anderen Fälle: Startdatum wählen
		default:
		$('datetime').show();

		if ( theSel == "1" )
		{
			$('label_datum').update("Bitte Angeltag und Angelart wählen");
		} else
		{
			$('label_datum').update("Bitte Startdatum, Zeit und Angelart wählen");
		}

		_showStartDateTime(true);
		_updateMicroNavi('step_art');
		break;
	}

	_divUpdate('angelarten', theSel);
}

function kartenHolen(selElem)
{
	// parameter ist jetzt eine Liste von Parametern:
	// par1:XY#par2:123#...
	parList = $('dauer_select').getValue() + '_' + $(selElem).getValue();
	_divUpdate('karten', parList);
	_updateMicroNavi('step_gewaesser');
	$('angelkarte').update("");
	var eff = Effect.Appear('ak_select', { duration:0.4 } );

	// warnung wg. schleppangeln
	var warnDiv = $('div_warn_schlepp_allg');
	var warnSpan = $('span_warn_schlepp_allg');

	if ( $(selElem).getValue() == "Schleppangeln" )
	{
		warnSpan.update("Zum Schleppangeln benötigen Sie zusätzlich eine Angelkarte für allgemeines Angeln.");
		warnSpan.removeClassName('warn2');
		warnSpan.addClassName('warn1');
		if ( ! warnDiv.visible() )
		{
			var eff2 = Effect.BlindDown(warnDiv, { duration: 0.4  } );
		}
	} else if ( $(selElem).getValue() == "Allgemein" )
	{
		warnSpan.update("Sie möchten auch schleppangeln? Dazu benötigen Sie zusätzlich eine Schleppangelkarte.");
		warnSpan.removeClassName('warn1');
		warnSpan.addClassName('warn2');
		if ( ! warnDiv.visible() )
		{
			var eff2 = Effect.BlindDown(warnDiv, { duration: 0.4  } );
		}
	} else
	{
		if ( warnDiv.visible() )
		{
			var eff2 = Effect.BlindUp(warnDiv, { duration: 0.4  } );
		}
	}

}


function showAKDetail(akSel)
{
	// akSel ist die Selectbox mit der AK-ID
	_divUpdate('angelkarte', $(akSel).getValue());
	unsaved = true;
    _wk_button(true);

}

function removeItem(akID, start, force)
{
	if ( force != true )
	{
		if ( ! confirm("Wirklich diese Angelkarte aus dem Warenkorb entfernen?") )
		{
			return false;
		}
	}
	new Ajax.Request('/shops/lib_aks/ajax/intoCart.ajax.php',
		{
			parameters	: { 'akID':akID, 'start':start, 'anzahl':0 },
			method		: "post",
			onError		: function(resp)
							{
								alert("Fehler: " + resp.responseText);
							},
			onException	: function(resp)
							{
								alert("Ausnahme: " + resp.responseText);
							},
			onComplete	: function(resp)
							{
                                if ( $('akID_select') != null && akID == $F('akID_select') )
                                {
                                    _wk_button(true);
                                }
								_updatePreisAssi(resp);
							}
		});
}

function intoCart(akSel)
{
	// legt die gerade gewählte Angelkarte in den Warenkorb
	// die ID der Karte ist der Value von akSel
	jahr = $('jahr_select').getValue();
	new Ajax.Request('/shops/lib_aks/ajax/intoCart.ajax.php',
		{
			parameters	: { 'akID':$F(akSel), 'jahr':jahr, 'date':$F('dc'), 'time':$F('time'), 'anzahl':1 },
			method		: "post",
			onError		: function(resp)
							{
								alert("Fehler: " + resp.responseText);
							},
			onException	: function(resp, ex)
							{
								alert("Ausnahme: " + ex);
							},
			onComplete	: function(resp)
							{
								_updatePreisAssi(resp);
                                _wk_button(false);
							}
		});

}

function applyChanges(tgd)
{
	jahr = $('jahr_select').getValue();
	new Ajax.Request('/shops/lib_aks/ajax/applyChanges.ajax.php',
		{
			parameters	: { 'tgd':tgd, 'jahr':jahr },
			method		: "post",
			onError		: function(resp)
							{
								alert("Fehler: " + resp.responseText);
							},
			onException	: function(resp, ex)
							{
								alert("Ausnahme: " + ex);
							},
			onComplete	: function(resp)
							{
								_updatePreisAssi(resp);
							}
		});

}


function openPW()
{
	_togglePreisAssi("open");
}



function toggleRegister(elem, checkElem)
{
	// zeigt den Inhalt des Registrieren-Divs an oder
	// blendet die Anzeige wieder aus
	//var elem = $(elem);
	var checkElem = $(checkElem);

	if ( checkElem.getValue() == '1' )
	{
		new Effect.SlideDown(elem, { duration:0.2 } );
	} else
	{
		new Effect.SlideUp(elem, { duration:0.2 } );
	}

}

function growCart()
{
	if ( $('cart_content').getStyle('width') == '211px' )
	{
		$('cart_content').update("Moment bitte...");
		to = setTimeout("_showCartVerbose()", 1000);
		new Effect.Morph('cart_content', {
  					style: 'width:652px;top:42px;left:-438px;',
  					duration: 0.8 // Core Effect properties			height:440px;
					});
	} else
	{
		$('cart_content').update("Moment bitte...");
		new Effect.Morph('cart_content', {
  					style: 'width:211px;top:42px;left:6px;',
  					duration: 0.8 // Core Effect properties
					});

		to = setTimeout("_updateCartContent()", 2000);
	}

}

function toggleFS(elem, anker)
{
	/* Blendet ein Fieldset-Element ein oder aus */
	elem = $(elem);
	if ( anker == undefined || anker == null )
	{
		anker = false;
	}

	if ( ! elem.visible() )
	{
		new Effect.SlideDown(elem, { duration:0.5 });
		if ( anker ) { $(anker).innerHTML = "(ausblenden)"; }
	} else
	{
		new Effect.SlideUp(elem, { duration:0.5 });
		if ( anker ) { $(anker).innerHTML = "(einblenden)"; }
	}

}

function toggleLOGIN(elem, anker)
{
	/* Blendet ein Fieldset-Element ein oder aus */
	elem = $(elem);
	if ( anker == undefined || anker == null )
	{
		anker = false;
	}

	if ( ! elem.visible() )
	{
		new Effect.SlideDown(elem, { duration:0.5 });
		$('l_email').focus();
		if ( anker ) { $(anker).innerHTML = "Als Stammkunde einloggen:"; }
	} else
	{
		new Effect.SlideUp(elem, { duration:0.5 });
		if ( anker ) { $(anker).innerHTML = "Als Stammkunde einloggen"; }
	}

}

function getUserLogin(mail_field, pwd_field)
{
		_wait("on");
		new Ajax.Request('/shops/lib_aks/ajax/getUserLogin.php',
		{
			/*parameters	: { 'email':$(mail_field).getValue(), 'pwd':$(pwd_field).getValue() },*/
			parameters	: { 'email':$F(mail_field), 'pwd':$F(pwd_field) },
			method		: "post",
			evalJSON	: true,

			onError		: function(resp)
							{
								alert("Fehler: " + resp.responseText);
							},
			onException	: function(resp, exc)
							{
								alert("Ausnahme: " + exc.toString());
							},
			onComplete	: function(resp)
							{
								_wait("off");

								switch ( result.status )
								{
									case 'error':
									alert(result.message);
									break;

									case 'not found':
									alert(result.message);
									break;

									case 'okay':
									_setUserData(kunde);
									//alert(result.message);
									$('span_register_text').update("Ich möchte mein Passwort ändern");
									toggleLOGIN('div_login', 'login_link_text');
									break;
								}



							}
		});

}

function getNewPW(email_field)
{
	if ( $F(email_field) == "" )
	{
		alert("Geben Sie Ihre E-Mail-Adresse im Login-Fenster ein und klicken Sie dann erneut auf den Button \"Passwort vergessen\".\nSie erhalten dann ein neues Passwort per E-Mail zugeschickt.");
	} else
	{
		new Ajax.Request('/shops/lib_foodshop/php/avs_getnewpwd.php',
		{
			parameters	: { 'email':$F(email_field), 'json':'1' },
			method		: "post",
			evalJSON	: true,

			onError		: function(resp)
							{
								alert("Fehler: " + resp.responseText);
							},
			onException	: function(resp, exc)
							{
								alert("Ausnahme: " + exc.toString());
							},
			onComplete	: function(resp)
							{

								switch ( result.status )
								{
									case 'error':
									alert(result.message);
									break;

									case 'not found':
									alert(result.message);
									break;

									case 'okay':
									alert(result.message);
									toggleLOGIN('div_login', 'login_link_text');
									break;
								}

								switch ( result.action )
								{
									case 'close':
									toggleLOGIN('div_login', 'login_link_text');
									break;
								}


							}
		});
	}
}

function rabattHinw(elem, warnDiv)
{
    var warnDiv = $(warnDiv);
    if ( $F(elem) == "u16" )
    {
        if ( ! warnDiv.visible() )
        {
            new Effect.SlideDown(warnDiv, { duration:0.5 });
        }
    } else
    {
        if ( warnDiv.visible() )
        {
            new Effect.SlideUp(warnDiv, { duration:0.5 });
        }
    }
}

function testBegrenzung()
{
    /*  prüft bei der Auswahl "Tageskarte", ob
        noch genügend freie Plätze sind und setzt
        entsprechende Warnungen bzw. UI-Elemente
    */
    // nichts machen, wenn das Formular-Element nicht
    // existiert
    if ( $('dauer_select') == null || $('dc') == null || $('akID_select') == null )
    {
        return;
    }
    // nichts machen, falls kein Datum gewählt
    // oder falls keine Tageskarte gewählt
    if ( $F('dauer_select') != '1' || $F('dc') == '' || $F('akID_select') < 1 )
    {
        return;
    }

    // per Ajax die verfügbaren Plätze prüfen
    new Ajax.Request('/shops/lib_aks/ajax/testBegrenzung.ajax.php',
        {
            /* Dauer brauchen wir nicht übergeben, da das Ganze nur bei Tageskarten läuft */
            parameters  : { 'akID':$F('akID_select'), 'dc':$F('dc') },
            method      : "post",
            evalJSON    : true,

            onError     : function(resp)
                            {
                                alert("Fehler: " + resp.responseText);
                            },
            onException : function(resp, exc)
                            {
                                alert("Ausnahme: " + exc.toString());
                            },
            onComplete  : function(resp)
                            {

                                //alert(resp.responseText);

                                switch ( result.status )
                                {
                                    case 'okay':
                                    $('warn_begrenzung').update("");
                                    _wk_button(true);
                                    break;

                                    case 'warn':
                                    if ( result.kunden > 1 )
                                    {
                                        // RS-Modus
                                        // verf. Anzahl Karten mit Kundenzahl vergleichen
                                        if ( result.uebrig < result.kunden)
                                        {
                                            _wk_button(false);
                                            $('warn_begrenzung').update("<p class='warn1'>Das Angeln an diesem See / diesen Seen ist auf " + result.begrenzung.toString() + " Angler pro Tag begrenzt. Es sind leider nicht mehr genügend Angelplätze (" + result.uebrig.toString() + ") für den gewählten Tag und alle " + result.kunden.toString() + " Kunden übrig.</p>");
                                        } else
                                        {
                                            _wk_button(true);
                                            $('warn_begrenzung').update("<p class='warn1'>Das Angeln an diesem See / diesen Seen ist auf " + result.begrenzung.toString() + " Angler pro Tag begrenzt. Es sind jetzt noch " + result.uebrig + " Angelplätze für den gewählten Tag übrig.</p>");
                                        }
                                    } else
                                    {
                                        if ( result.uebrig <= 0 )
                                        {
                                            _wk_button(false);
                                            $('warn_begrenzung').update("<p class='warn1'>Das Angeln an diesem See / diesen Seen ist auf " + result.begrenzung.toString() + " Angler pro Tag begrenzt. Es sind leider keine Angelplätze mehr für den gewählten Tag übrig.</p>");
                                        } else
                                        {
                                            _wk_button(true);
                                            $('warn_begrenzung').update("<p class='warn1'>Das Angeln an diesem See / diesen Seen ist auf " + result.begrenzung.toString() + " Angler pro Tag begrenzt. Es sind jetzt noch " + result.uebrig + " Angelplätze für den gewählten Tag übrig.</p>");
                                        }
                                    }
                                    break;

                                    default:
                                    alert("Unbekannter Status: " + result.status);
                                    pe.stop();
                                    break;
                                }
                            }
        });
}

/*  +++++++++++++++++++++++++++++++++++ Reseller-Funktionen ++++++++++++++++++++++++++++++++++++++++++++ */
function rs_getUserFromID(kID)
{
        _wait("on");
        new Ajax.Request('/shops/lib_aks/ajax/getUserFromID.php',
        {
            /*parameters    : { 'email':$(mail_field).getValue(), 'pwd':$(pwd_field).getValue() },*/
            parameters  : { 'kID':kID },
            method      : "post",
            evalJSON    : true,

            onError     : function(resp)
                            {
                                alert("Fehler: " + resp.responseText);
                            },
            onException : function(resp, exc)
                            {
                                alert("Ausnahme: " + exc.toString());
                            },
            onComplete  : function(resp)
                            {
                                _wait("off");

                                switch ( result.status )
                                {
                                    case 'error':
                                    alert(result.message);
                                    break;

                                    case 'not found':
                                    alert(result.message);
                                    break;

                                    case 'okay':
                                    _setUserData(kunde, true);
                                    $('rabatt').setValue('');
                                    //alert(result.message);
                                    $('suchbegriff').setValue('');
                                    break;
                                }
                            }
        });

}

function _checkKundeExists()
{
    /*  wenn keine kID vorhanden ist (= Formular manuellausgefüllt),
        testen, ob ein ähnlicher Kunde evtl. schon in DB existiert. Wenn ja,
        Bestätigung holen, dass es ein anderer Kunde ist
    */
    var result = true;
    _wait("on");
    new Ajax.Request('/shops/lib_aks/ajax/checkKundeExists.ajax.php',
            {
            parameters      :   $('addkunde').serialize({hash:true}),
            method          :   "post",
            asynchronous    : false,
            evalJSON        : true,
            onError         : function(resp)
                            {
                                _wait("off");
                                alert("Fehler: " + resp.responseText);
                            },
            onException     : function(resp, exc)
                            {
                                _wait("off");
                                alert("Ausnahme: " + exc.toString());
                            },
            onComplete      : function(resp)
                            {
                                _wait("off");
                                if ( test.result == 1 )
                                {
                                    result = confirm('Ein Kunde ' + $F('vorname') + ' ' + $F('nachname') + ' existiert bereits in der Datenbank (siehe Suchfunktion). Soll dieser Kunde wirklich als neuer Datensatz übernommen werden (Gefahr von Doubletten)?');
                                }
                            }
            }
            );
    return result;
}
function rs_addKunde()
{
    // übernimmt die Formulardaten und fügt sie an das Array an,
    // welches die Kundenliste darstellt (Mehrfachverkauf einer AK)
    if ( $F('vorname') != '' && $F('nachname') != '' && $F('adresse') != '' && $F('plz') != '' && $F('ort') != '' )
    {
    if ( $F('kID') > 0 || _checkKundeExists() )
    {
        _wait("on");
        new Ajax.Updater('div_kundenliste', '/shops/lib_aks/ajax/addKunde.ajax.php',
            {
            parameters  :   $('addkunde').serialize({hash:true}),
            method      :   "post",
            onError     : function(resp)
                            {
                                _wait("off");
                                alert("Fehler: " + resp.responseText);
                            },
            onException : function(resp, exc)
                            {
                                _wait("off");
                                alert("Ausnahme: " + exc.toString());
                            },
            onComplete  : function(resp)
                            {
                                rs_clearForm();
                                _wait("off");
                            }
            }
            );
    }
    } else
    {
        _fadeFeedback("Zu wenig Daten für eine Übernahme! Mindestens erforderlich sind: Name, Adresse, PLZ, Ort.", "0");
    }
}

function rs_remove(kdata)
{
    // übernimmt die Formulardaten und fügt sie an das Array an,
    // welches die Kundenliste darstellt (Mehrfachverkauf einer AK)
    _wait("on");
    new Ajax.Updater('div_kundenliste', '/shops/lib_aks/ajax/removeKunde.ajax.php',
            {
            parameters  :   { 'einKunde':kdata },
            method      :   "post",
            onError     : function(resp)
                            {
                                alert("Fehler: " + resp.responseText);
                            },
            onException : function(resp, exc)
                            {
                                alert("Ausnahme: " + exc.toString());
                            },
            onComplete  : function(resp)
                            {
                                _wait("off");
                            }
            }
            );
}

function rs_clearForm()
{
    var user = { 'kID':'', 'anrede':'Herr', 'vorname':'', 'nachname':'', 'plz':'', 'ort':'', 'adresse':'', 'fschein':'', 'email':'' };
    _setUserData(user, true);
    $('rabatt').setValue('');
}


/*	Ab hier "private" Funktionen  ********************************************** */

function _wk_button(anaus)
{
    if ( anaus == true )
    {

        $('idk_aktiv').show();
        $('idk_dis').hide();
    } else
    {
        $('idk_aktiv').hide();
        $('idk_dis').show();
    }
}
function _setUserData(user, fromID)
{
	// füllt das Formular mit den im Objekt user
	// enthaltenen Daten
	$('anrede').setValue(user.anrede);
	$('vorname').setValue(user.vorname);
	$('nachname').setValue(user.nachname);
    $('email').setValue(user.email);
	$('plz').setValue(user.plz);
	$('adresse').setValue(user.adresse);
	$('ort').setValue(user.ort);
	$('kID').setValue(user.kID);

    $('fschein').setValue(user.fschein);
    //$('rabatt').setValue(user.rabatt);

}

function _updateMicroNavi(aktStep)
{
	steps = new Array('step_typ', 'step_art', 'step_gewaesser', 'step_daten');
	aktObj = $(aktStep);

	for ( i = 0; i < steps.length; i++ )
	{
		$(steps[i]).removeClassName('bc_high');
		$(steps[i]).addClassName('bc_low');
		if ( $(steps[i]) == aktObj )
		{
			$(steps[i]).removeClassName('bc_low');
			$(steps[i]).addClassName('bc_high');
		}
	}
}


function _showStartDateTime(show)
{
	// blendet Datumswahl ein oder aus
	if ( show )
	{
		var eff = Effect.Appear('startdate', { duration:0.4 } );
	} else
	{
		if ( $('startdate').visible )
		{
			var eff = Effect.Fade('startdate', { duration:0.2 } );
		}
	}
}



function _reset(hide_type)
{
	// alles auf Auswahl-Anfang

    if ( _checkUnsaved() == false )
    {
        return false;
    } else
    {
        unsaved = false;
        _wk_button(false);
    }

	_initDatePicker();
	_showStartDateTime(false);
	_updateMicroNavi('step_typ');
	$('div_warn_schlepp_allg').hide();
	if ( hide_type == true )
	{
		_realReset();
	}

    return true;
}

function _initDatePicker()
{
	// Datumswähler anpassen
	// wenn das gewählte Jahr das aktuelle ist,
	// dann Start auf heute setzen, sonst aufg 1.1.
	var _stag = 1;
	var _smonat = 1;
	var sd = new Date();
	var avs_start_ts = sd.getTime() + 604800000;  // 7 Tage in Millisekunden

	if ( $('jahr_select').value == self.parent['gToday:contrast:'].sJahr )
	{
		_stag = self.parent['gToday:contrast:'].sTag;
		_smonat = self.parent['gToday:contrast:'].sMonat;
		sd = new Date($('jahr_select').value, _smonat, _stag);
		var avs_start_ts = sd.getTime();
	}

	var begin = new Array($('jahr_select').value, _smonat, _stag);
	var ende = new Array($('jahr_select').value, 12, 31);
	var range =  new Array(begin, ende);
	self.parent['gToday:contrast:']._avsInitDate(avs_start_ts);
	self.parent['gToday:contrast:'].fInitRange(range);

}

function _checkUnsaved()
{
    if ( unsaved == true )
    {
        return confirm("Sie haben die zuletzt gewählte Angelkarte noch nicht in den Warenkorb gelegt. Trotzdem fortfahren?");
    } else
    {
        return true;
    }
}


function _realReset()
{
	$('dauer_select').selectedIndex = 0;
	$('angelkarte').update("");
	var eff = Effect.Fade('ak_select', { duration:0.4 } );
	$('dc').setValue("");
	unsaved = false;
    _wk_button(false);
	// im Warenkorb die Sammelkarten aktualisieren
	new Ajax.Request('/shops/lib_aks/ajax/updateSK.ajax.php',
		{
			parameters	: { 'jahr':$('jahr_select').getValue() },
			method		: "post",
			onError		: function(resp)
							{
								alert("Fehler: " + resp.responseText);
							},
			onException	: function(resp)
							{
								alert("Ausnahme: " + resp.responseText);
							},
			onComplete	: function(resp)
							{
								// nix
							}
		});
}

function _updatePreisAssi(resp)
{
	var retVal = resp.responseText.split('::');
	_fadeFeedback(retVal[1], retVal[0]);
	$('cart_status').update(retVal[2]);
	_updateCartContent();

	if ( retVal[0] > 0 )
	{
		unsaved = false;
	}

	$('pr_cont').update(retVal[3]);

	if ( retVal[3] != "" )
	{
		//new Effect.SlideDown('pr_hint', { duration:0.4 } );
		_togglePreisAssi("open");
	} else
	{
		//new Effect.SlideUp('pr_hint', { duration:0.4 } );
		_togglePreisAssi("close");
	}
}

function _togglePreisAssi(open_close)
{
	var elem = $('pr_ass');
	if ( elem.visible() && open_close != "open" )
	{
		new Effect.Fade(elem, { duration:0.4 } );
	} else if ( open_close != "close" )
	{
		new Effect.Appear(elem, { duration:0.4 } );
	}
}

function _updateCartContent()
{
	new Ajax.Updater('cart_content', '/shops/lib_aks/ajax/updateCartContent.ajax.php',
		{
			onError		: function(resp)
							{
								alert("Fehler: " + resp.responseText);
							},
			onException	: function(resp)
							{
								alert("Ausnahme: " + resp.responseText);
							},
            onComplete  : function()
                            {
                                if ( $('cart_status').innerHTML == 'Warenkorb ist leer.' )
                                {
                                    _zk_button('off');
                                } else
                                {
                                    _zk_button('on');
                                }
                            }
		});
	clearTimeout(to);
}

function _showCartVerbose()
{
	new Ajax.Updater('cart_content', '/shops/lib_aks/ajax/showCartVerbose.ajax.php',
		{
			onError		: function(resp)
							{
								alert("Fehler: " + resp.responseText);
							},
			onException	: function(resp)
							{
								alert("Ausnahme: " + resp.responseText);
							}
		});
	clearTimeout(to);
}

function _divUpdate(theDiv, theParam)
{
	//alert("_divUpdate: " + theDiv + " | " + theParam);

	// jahr_select ist ein Form-Element, welches das
	// Jahr enthält, über das wir reden. Unbedingt
	// erforderlich, notfalls ein hidden-Feld!
	jahr = $('jahr_select').getValue();
	_wait("on");
	new Ajax.Updater(theDiv, '/shops/lib_aks/ajax/' + theDiv + '.ajax.php',
		{
			parameters	: "param=" + theParam + "&jahr=" + jahr,
			method		: "get",
			onError		: function(resp)
							{
								alert("Fehler: " + resp.responseText);
							},
			onException	: function(resp)
							{
								alert("Ausnahme: " + resp.responseText);
							},
			onComplete	: function()
							{
								if ( theParam > 0 && theDiv == 'angelkarte' )
								{
                                    _wk_button(true);
									new Effect.Appear('indenkorb', { duration:0.4 } );
								} else
								{
									new Effect.Fade('indenkorb', { duration:0.4 } );
								}
								_wait("off");
							}
		});


}

function _fadeFeedback(newtext, typ)
{
	// blendet das Feedback-Div kurz ein und wieder aus
	// type ist 0 oder 1, wobei 1 = alles okay (grüne Meldung)
	// und 0 = Fehler (rot)
	if ( typ == undefined || typ == null )
	{
		typ = "1";
	}

	var to_time = 2000;

	switch ( typ )
	{
		case "0":
		$('feedback').removeClassName('okay');
		$('feedback').addClassName('error');
		var to_time = 4000;
		break;

		case "1":
        case "2":
		$('feedback').removeClassName('error');
		$('feedback').addClassName('okay');
		break;

		/*
		default:
		$('feedback').addClassName('okay');
		$('feedback').removeClassName('error');
		*/
	}


	if ( newtext != undefined && newtext != null && newtext != '' )
	{
		$('meldung').update(newtext);
	}

	new Effect.Appear('feedback', { duration:0.2 } );
	to2 = setTimeout("_unFeedback()", to_time);
}

function _unFeedback()
{
	new Effect.Fade('feedback', { duration:0.4 } );
	clearTimeout(to2);
}

function _wait(onoff)
{
	switch (onoff)
	{
		case 'on':
		$('wait').show();
		break;

		case 'off':
		$('wait').hide();
		break;

		default:
		$('wait').hide();
		break;
	}
}

function _zk_button(onoff)
{
    if ( onoff == 'on' )
    {
        $('zk_aktiv').setStyle( { display:'inline' } );
        $('zk_dis').setStyle( { display:'none' } );
    } else
    {
        $('zk_aktiv').setStyle( { display:'none' } );
        $('zk_dis').setStyle( { display:'inline' } );
    }
}
