//Reihenfolge sollte nicht verändert werden
var uploadElementeStartseite = new Array('cbild');
var uploadStartseite;
var inhaltStartseite = 1;

function bindeEventsStartseiteBearbeiten(){
	$('#containerAuswahl').change(function(){
		//Daten zum Upload aktualisieren
		uploadStartseite.setData({'inhalt':inhaltStartseite, 'inhaltID':$(this).val()});
		sucheDatenStartseiteBearbeiten(false);
	});
	$('#startseiteAendern').click(function(){
		datenSpeichern();
	});
	$('#startseiteLeeren').click(function(){
		sucheDatenStartseiteBearbeiten(true);
	});
	
	ladeBildHochStartseite();
}

function ladeBildHochStartseite(){
	for(i in uploadElementeStartseite){
		ajaxUpLoadStartseite(uploadElementeStartseite[i]);
	}
}

function ajaxUpLoadStartseite(id){
	//Setzt für jedes Element die jeweiligen AJAX-Uploader
	uploadStartseite = new AjaxUpload($('#container .' + id), {
		  onSubmit: function(file, extension){
			  //Ajax Indicator setzen
			  $(this._button.parentNode).find('img').attr('src', ajaxIndicator);
		  },
		  onComplete: function(file, response) {
			  if(response.fehler != 1){
				  bildUpdateStartseite(response.datei, id);
			  }
			  else{
				  alert(response.nachricht);
			  }
			  
			  //Upload wieder aktivieren
			  this.enable();
		  }
	});
	
	//Aktuelle Daten setzen
	uploadStartseite.setData({'inhalt':inhaltStartseite, 'inhaltID':$('#containerAuswahl').val()});
}

function bildUpdateStartseite(datei, id){
	var zusatz = '?' + parseInt((Math.random()*20000), 10);
	$('#container .' + id + ' img').attr('src', (datei + zusatz));
}

/**
 * Alle Daten suchen und in die Felder einsetzen.
 * 
 * @param willkommen		Bestimmt, ob die Willkommensnachricht auch aktualisiert werden soll, oder nicht
 */
function sucheDatenStartseiteBearbeiten(willkommen){
	var post = 'Art=1&ID=' + $('#containerAuswahl').val() + '&Willkommen=' + (willkommen == true ? '1' : '0');
	
	//AJAX-Request senden
	$.ajax({
		async: "async",
		url: "./PHP/CMS/startseiteBearbeiten.ajax.php",
		type: "POST",
		dataType: "json",
		data: post,
		success: function(data, status){
			zeigeAlleDatenStartseiteBearbeitenAn(data);
		},
		error: function(xmlhttp, statzs, error){
			//Anmeldung fehlgeschlage => Fehlernachrichten
			$('#loginNachricht').parent().parent().find('h2').text('Fehler beim Logout!').css('color', '#F00');
			$('#loginNachricht').text('Es konnte keine Verbindung aufgebaut werden!').css('color', '#000');
		}
	});
}

function datenSpeichern(){
	//POST-Daten füllen
	var post = 'Art=2' + 
				'&ID=' + $('#containerAuswahl').val() + 
				'&Willkommensnachricht=' + formatiereURI($('#willkommenstextBearbeiten').val()) + 
				'&Title=' + formatiereURI($('#container .cueberschrift').val()) +
				'&Text=' + formatiereURI($('#container .cbeschreibung').val()) +
				'&Bild=' + formatiereBildPfad($('#container .cbild img').attr('src')) +
				'&LinkZu=' + $('#linkAuswahl').val();
	
	//AJAX-Request senden
	$.ajax({
		async: "async",
		url: "./PHP/CMS/startseiteBearbeiten.ajax.php",
		type: "POST",
		dataType: "json",
		data: post,
		success: function(data, status){
		
		},
		error: function(xmlhttp, statzs, error){
			//Anmeldung fehlgeschlage => Fehlernachrichten
			$('#loginNachricht').parent().parent().find('h2').text('Fehler beim Logout!').css('color', '#F00');
			$('#loginNachricht').text('Es konnte keine Verbindung aufgebaut werden!').css('color', '#000');
		}
	});
}

/**
 * Zeigt alle Daten auf der Startseite zum bearbeiten an
 * 
 * @param daten		Die Daten als Objekt
 */
function zeigeAlleDatenStartseiteBearbeitenAn(daten){
	/**	Datenstruktur:
	 * 
	 * daten
	 * 		.Willkommensnachricht
	 * 		.Container
	 * 			.Title
	 * 			.Text
	 * 			.Bild
	 * 			.LinkZu
	 */
	var container = daten.Container;
	
	//Alle Daten in die jeweiligen Felder füllen
	if(daten.Willkommensnachricht){
		$('#willkommenstextBearbeiten').val(formatiereInput(daten.Willkommensnachricht));
	}
	
	$('#container .cueberschrift').val(formatiereInput(container.Title));
	$('#container .cbeschreibung').val(formatiereInput(container.Text));
	
	//Bild muss auch gesetzt sein
	if(container.Bild != null && container.Bild != ''){
		var zusatz = '?' + parseInt((Math.random()*20000), 10);
		$('#container .cbild img').attr('src', (container.Bild + zusatz));
	}
	
	//Nur wenn reeler Wert
	if(container.LinkZu > 1){
		$('#linkAuswahl').val(container.LinkZu);
	}
}

function initializeStartseiteCMS(){
	bindeEventsStartseiteBearbeiten();
	sucheDatenStartseiteBearbeiten(true);
}
