function contentloader(page, parameter){
	loading('main');
	var menuitem = 'menu'+page;
	var page = page+'.php';
	
	if(typeof(parameter) != 'undefined')
		page += '?'+parameter
		
	new Ajax.Updater(
		'main',
		page,
		{
			method: 'get',
			onComplete: 
				function() {
					var i=1;
					while ($('termindetail'+i)) {
						Element.hide($('termindetail'+i));
						i=i+1;
					}
				}
		}
	);
	
	$('menutermine').className = "";
	$('menutermineedit').className = "";
	$('menuadressenliste').className= "";
	$('menueditentry').className= "";
	$('menuemail').className= "";
	
	$(menuitem).className = "selected";
	$('menulogout').className= "";
}

function expanddetails(id, entry){
	Element.hide($('termindetail'+id));
	$('termindetail'+id).innerHTML="";
	$('termin'+id).style.border = "1px solid #e2e2e2";
	new Ajax.Updater(
		'termindetail'+id, 
		'details.php',
		{
			method: 'get',
			parameters: 'id='+entry,
			onComplete: 
				function() {	
					new Effect.BlindDown('termindetail'+id);
					$('option'+id).innerHTML = '<a href="" onclick="shrinkdetails('+id+', '+entry+'); return false;">Status ausblenden</a> | <a href="" onclick="anabsage('+id+', '+entry+'); return false;">Zu-/Absage</a></td>';
				}
		}
	);
}

function shrinkdetails(id, entry){
	new Effect.BlindUp('termindetail'+id, { afterFinish: function() { 	$('termin'+id).style.border = "1px solid #f3f3f3"; }});
	$('option'+id).innerHTML = '<a href="" onclick="expanddetails('+id+', '+entry+'); return false;">Status einblenden</a> | <a href="" onclick="anabsage('+id+', '+entry+'); return false;">Zu-/Absage</a></td>';
}

function anabsage(id, entry){
	Element.hide($('termindetail'+id));
	$('termindetail'+id).innerHTML="";
	$('option'+id).innerHTML = '<a href="" onclick="expanddetails('+id+', '+entry+'); return false;">Status einblenden</a> | <a href="" onclick="anabsage('+id+', '+entry+'); return false;">Zu-/Absage</a></td>';

	new Ajax.Updater(
		'termindetail'+id,
		'zu_absage.php',
		{
			method: 'get',
			parameters: 'id='+entry+'&entry='+id,
			onComplete: 
				function() {	
					new Effect.BlindDown('termindetail'+id);
				}
		}
	);
}

function loading(div, text){
	Element.show($(div));
	if(text == undefined) var text = "loading...";
	$(div).innerHTML = '<div class="aligncenter"><br /><img src="_img/loading.gif" alt="" width="24" height="24" /><br />'+text+'<br /><br /></div>';
}

function login(){
	var uname = $('username').value;
	var pass = $('password').value;
	
	new Ajax.Request(
		'login.php',
		{
			method: 'post',
			parameters: 'username='+uname+'&password='+pass,
			onComplete: function(t) {
					if(t.responseText == "OK"){
						contentloader('termine');
					}else{
						alert("Falscher Benutzername oder falsches Passwort...");
					}
			}
		}
	);
	
}

function checkloginfields(){
	var uname = $('username');
	var passwd = $('password');
	
	if(uname.value && passwd.value){
		$('loginbtn').disabled = false;
	}else{
		$('loginbtn').disabled = true;
	}
}

function zuabsage(id, entry, uid){
	var user = uid;
	var termin = entry;
	
	if($('status_'+termin+'_1').checked == true)
		var status = "1";
	else
		var status = "2";
	
	var text = $('text_'+termin).value.replace(/&/g, '%26');
	
	new Ajax.Request(
		'zu_absage_save.php',
		{
			method: 'post',
			parameters: 'user='+user+'&termin='+termin+'&status='+status+'&text='+text,
			onComplete: 
				function() {	
					shrinkdetails(id, entry);
				}
		}
	);
}

function deletetermin(id, entry){
	var answer = confirm("Soll der Termin wirklich gelöscht werden?")
	if(answer){
		new Ajax.Request(
			'terminedelete.php',
			{
				method: 'post',
				parameters: 'id='+entry,
				onComplete: 
					function() {	
						new Effect.SwitchOff('termin'+id);
					}
			}
		);
	}
}

function edittermin(id, entry){
	Element.hide($('termindetail'+id));
	$('termindetail'+id).innerHTML="";
	$('termin'+id).style.border = "1px dashed #777";
	
	new Ajax.Updater(
		'termindetail'+id,
		'termineeditform.php',
		{
			method: 'get',
			parameters: 'id='+entry+'&entry='+id,
			onComplete: 
				function() {	
					new Effect.BlindDown('termindetail'+id);
				}
		}
	);
}

function savetermin(id, entry){
	if(typeof(id) == 'undefined')
	{
		var id = '';
		var entry = '';
		var myurl = 'terminenew_save.php';
	}
	else
	{
		var myurl = 'termineedit_save.php';
	}
		
	var tag = $('tag'+id).value;
	var monat = $('monat'+id).value;
	var jahr = $('jahr'+id).value;
	var titel = $('titel'+id).value;
	
	if($('stunden'+id).value == '' && $('minuten'+id).value == ''){
		var uhrzeit = 'NULL';
	}else{
		var uhrzeit = $('stunden'+id).value+':'+$('minuten'+id).value;
	}

	
	if($('tag_end'+id).value == '' && $('tag_end'+id).value == '' && $('jahr_end'+id).value == ''){
		
	}
		
	if($('stunden_end'+id).value == '' && $('minuten_end'+id).value == ''){
		var time_end = 'NULL';
	}else{
		var time_end = $('stunden_end'+id).value+':'+$('minuten_end'+id).value;
	}

	if($('tag_end'+id).value == '' && $('monat_end'+id).value == '' && $('jahr_end'+id).value == ''){
		var date_end = 'NULL';
	}else{
		var date_end = $('jahr_end'+id).value+'-'+$('monat_end'+id).value+'-'+$('tag_end'+id).value;
		var date_end_out = $('tag_end'+id).value+'.'+$('monat_end'+id).value+'.'+$('jahr_end'+id).value;
	}
	
	var text = $('text'+id).value;
	var location = $('location'+id).value;
	
	
	if($('vl1'+id).checked==true) var vl1 = 1; else var vl1 = 0;
	if($('vl2'+id).checked==true) var vl2 = 1; else var vl2 = 0;
	if($('viola'+id).checked==true) var viola = 1; else var viola = 0;
	if($('bass'+id).checked==true) var bass = 1; else var bass = 0;
	if($('holz'+id).checked==true) var holz = 1; else var holz = 0;
	if($('blech'+id).checked==true) var blech = 1; else var blech = 0;
	if($('schlag'+id).checked==true) var schlag = 1; else var schlag = 0;
	if($('dir'+id).checked==true) var dir = 1; else var dir = 0;
	if($('konzert'+id).checked==true){
		var konzert = 1;
		var konzertadd = "Konzert: ";
	} else {
		var konzert = 0;
		var konzertadd = "";
	};
	
	var params = 'id='+entry+'&date='+jahr+'-'+monat+"-"+tag+'&time='+uhrzeit+'&title='+titel.replace(/&/g, '%26')+'&time_end='+time_end+'&date_end='+date_end+'&location='+location.replace(/&/g, '%26')+'&text='+text.replace(/&/g, '%26')+'&vl1='+vl1+'&vl2='+vl2+'&viola='+viola+'&bass='+bass+'&holz='+holz+'&blech='+blech+'&schlag='+schlag+'&dir='+dir+'&konzert='+konzert;

	new Ajax.Request(
		myurl,
		{
			method: 'post',
			parameters: params,
			onComplete: function(t)
			{
				if(id == '')
					contentloader('termineedit');
			}
		}
	);
	if(id != '')
	{
		new Effect.BlindUp('termindetail'+id, {
			afterFinish: function() { 
				$('termin'+id).style.border = "1px dashed #ccc"; 
				$('datum'+id).innerHTML = tag+'.'+monat+'.'+jahr;
			
				if(uhrzeit != 'NULL')
					$('zeit'+id).innerHTML = uhrzeit;
				else
					$('zeit'+id).innerHTML = 'Ganztägig';

				if(date_end != 'NULL')
					$('datum'+id).innerHTML = $('datum'+id).innerHTML + '<br />bis '+date_end_out;

				if(time_end != 'NULL' && date_end != 'NULL')
					$('zeit'+id).innerHTML = $('zeit'+id).innerHTML + ' Uhr<br />'+time_end;

				if(time_end != 'NULL' && date_end == 'NULL')
					$('zeit'+id).innerHTML = $('zeit'+id).innerHTML + ' bis <br />'+time_end;

				if(uhrzeit != 'NULL')
					$('zeit'+id).innerHTML = $('zeit'+id).innerHTML + ' Uhr';
			
				$('beschreibung'+id).innerHTML = '<strong>'+konzertadd+titel+'</strong>';
		}});
	}
}

function newtermin(){
	new Ajax.Updater(
		'main',
		'terminenewform.php',
		{
			method: 'get'
		}
	);
}

function newterminsave(){
	var tag = $('tag').value;
	var monat = $('monat').value;
	var jahr = $('jahr').value;
	var titel = $('titel').value;
	var uhrzeit = $('uhrzeit').value;
	var text = $('text').value;
	
	if($('vl1').checked==true) var vl1 = 1; else var vl1 = 0;
	if($('vl2').checked==true) var vl2 = 1; else var vl2 = 0;
	if($('viola').checked==true) var viola = 1; else var viola = 0;
	if($('bass').checked==true) var bass = 1; else var bass = 0;
	if($('holz').checked==true) var holz = 1; else var holz = 0;
	if($('blech').checked==true) var blech = 1; else var blech = 0;
	if($('schlag').checked==true) var schlag = 1; else var schlag = 0;
	if($('dir').checked==true) var dir = 1; else var dir = 0;
	if($('konzert').checked==true) var konzert = 1; else var konzert = 0;
	
	var params = 'date='+jahr+'-'+monat+"-"+tag+'&time='+uhrzeit+'&title='+titel.value.replace(/&/g, '%26')+'&text='+text.value.replace(/&/g, '%26')+'&vl1='+vl1+'&vl2='+vl2+'&viola='+viola+'&bass='+bass+'&holz='+holz+'&blech='+blech+'&schlag='+schlag+'&dir='+dir+'&konzert='+konzert;

	new Ajax.Request(
		'terminenew_save.php',
		{
			method: 'post',
			parameters: params,
			onComplete: 
				function() {	
					contentloader('termineedit');
				}
		}
	);
}

function savedetails(){
	var serialized = Form.serialize('details');
	Form.disable('details');
	
	if($('password').value != $('password1').value){
		alert("Die beiden Passwörter stimmen nicht überein!");
		Form.enable('details');
	}else{
		new Ajax.Request(
			'detailssave.php',
			{
				method: 'post',
				parameters: serialized,
				onComplete: function(t) {

					if(t.responseText != "OK"){
						alert("Das Speichern schlug fehl. Bitte versuche erneut zu speichern!");
					}else{
						if($('password').value != ""){
							alert("Das Passwort wurde verändert! Sie müssen sich nun neu anmelden.");
							document.location.href="/";
						}else if($('login').value != $('oldname').value){
							alert("Der Benutzername wurde verändert! Sie müssen sich nun neu anmelden.");
							document.location.href="/";
						}
					}
					Form.enable('details');
				}
			}
		);
	}
}

function send_mail()
{
	var serialized = Form.serialize('email');
	
	if($('nachricht').value != "" && $('betreff').value != "")
	{
		$('main').innerHTML = '<div class="aligncenter"><br /><img src="_img/loading.gif" alt="" width="24" height="24" /><br />versenden... bitte nicht neuladen!<br /><br /></div>'
		new Ajax.Updater(
			'main',
			'email_send.php',
			{
				method: 'post',
				parameters: serialized
			}
		);
	}
	else
	{
		alert("Bitte gebe einen Betreff und den Text an!");
	}
}

function oldstoggle(){
	if($('oldstoggle').checked == 1)
		contentloader('termineedit', 'showolds=true');
	else
		contentloader('termineedit');
}
