//Reihenfolge sollte nicht verändert werden
var uploadElementeNewsIntern = new Array('nbild');
var uploadNewsIntern;
var inhaltNews = 6;
var neuerContainerOption = '<option value="0">Neuer Container</option>';
var standardBild = './Texturen/platzhalterBild.png';

function bindeEventsNewsIntern(){
	$('#containerAuswahl').change(function(){
		var id = $(this).val();
		
		//Daten zum uploadNewsIntern aktualisieren
		uploadNewsIntern.setData({'inhalt':inhaltNews, 'inhaltID':id});
		
		sucheDatenNewsIntern(false);
		
		if(id == 0){
			$('#loescheContainer').css('display', 'none');
			werteZurueckSetzenNewsIntern();
		}
		else{
			$('#loescheContainer').removeAttr('style');
		}
	});
	$('#startseiteAendern').click(function(){
		datenSpeichernNewsIntern();
	});
	$('#startseiteLeeren').click(function(){
		sucheDatenNewsIntern(false);
	});
	$('#loescheContainer').click(function(){
		//Es muss eine Auswahl getätigt sein
		if($('#containerAuswahl').val() > 0){
			var nachricht = 'Wollen Sie den Datensatz wirklich l'+ unescape("%F6") +'schen?';
			//Falls der Benutzer den Datensatz wirklich löschen will (Benutzerabfrage)
			if(confirm(nachricht)){
				loescheNewsIntern();
			}
		}
	});
	
	ladeBildHochNewsIntern();
}

function ladeBildHochNewsIntern(){
	for(i in uploadElementeNewsIntern){
		ajaxuploadNewsIntern(uploadElementeNewsIntern[i]);
	}
}

function ajaxuploadNewsIntern(id){
	//Setzt für jedes Element die jeweiligen AJAX-uploadNewsInterner
	uploadNewsIntern = 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){
				  bildUpdateNewsIntern(response.datei, id);
			  }
			  else{
				  alert(response.nachricht);
			  }
			  
			  //uploadNewsIntern wieder aktivieren
			  this.enable();
		  }
	});
	
	//Aktuelle Daten setzen
	uploadNewsIntern.setData({'inhalt':inhaltNews, 'inhaltID':$('#containerAuswahl').val()});
}

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

/**
 * Alle Daten suchen und in die Felder einsetzen.
 */
function sucheDatenNewsIntern(alle){
	var post = 'Art=1&ID=' + $('#containerAuswahl').val();
	
	//AJAX-Request senden
	$.ajax({
		async: "async",
		url: "./PHP/CMS/newsIntern.ajax.php",
		type: "POST",
		dataType: "json",
		data: post,
		success: function(data, status){
			zeigeAlleDatenNewsInternAn(data, alle);
		},
		error: function(xmlhttp, statzs, error){
			alert('Es konnten nicht alle Daten geladen werden!');
		}
	});
}

function datenSpeichernNewsIntern(){
	//POST-Daten füllen
	var post = 'Art=2' + 
				'&ID=' + $('#containerAuswahl').val() + 
				'&Title=' + formatiereURI($('#container .nueberschrift').val()) +
				'&Text=' + formatiereURI($('#container .nbeschreibung').val()) +
				'&Bild=' + formatiereBildPfad($('#container .nbild img').attr('src'));
	
	//AJAX-Request senden
	$.ajax({
		async: "async",
		url: "./PHP/CMS/newsIntern.ajax.php",
		type: "POST",
		dataType: "json",
		data: post,
		success: function(data, status){
			werteZurueckSetzenNewsIntern();
			sucheDatenNewsIntern(true);
		},
		error: function(xmlhttp, statzs, error){
			alert('Speichern fehlgeschlagen!');
		}
	});
}

function loescheNewsIntern(){
	//POST-Daten füllen
	var post = 'Art=3' + '&ID=' + $('#containerAuswahl').val();
	
	//AJAX-Request senden
	$.ajax({
		async: "async",
		url: "./PHP/CMS/newsIntern.ajax.php",
		type: "POST",
		dataType: "json",
		data: post,
		success: function(data, status){
			$('#containerAuswahl').val($('#containerAuswahl option:first').val());
			werteZurueckSetzenNewsIntern();
			sucheDatenNewsIntern(true);
		},
		error: function(xmlhttp, statzs, error){
			alert('News konnte nicht geloescht werden');
		}
	});
}

/**
 * Zeigt alle Daten auf der Startseite zum bearbeiten an
 * 
 * @param daten		Die Daten als Objekt
 */
function zeigeAlleDatenNewsInternAn(daten, alle){
	/**	Datenstruktur:
	 * 
	 * daten
	 * 		.Container
	 * 			.Title
	 * 			.Text
	 * 			.Bild
	 * 		.ContainerIDs
	 * 			[0]		ID des ersten Elements
	 * 			...
	 * 			[X]
	 * 			.length		Die Anzahl der Elemente
	 */
	var container = daten.Container;
	var i;
	
	if(alle == true){
		var selectContainer = neuerContainerOption;
		if(daten.ContainerIDs){
			//Wird nur hinzugefügt, wenn auch IDs mit angegeben sind
			for(i = 0; i < daten.ContainerIDs.length; i++){
				selectContainer += '<option value="' + daten.ContainerIDs[i] + '">Container ' + (i+1) + '</option>';
			}
		}
	}
	
	if(container){
		$('#container .nueberschrift').val(formatiereInput(container.Title));
		$('#container .nbeschreibung').val(formatiereInput(container.Text));
		
		//Bild muss auch gesetzt sein
		if(container.Bild != null && container.Bild != ''){
			var zusatz = '?' + parseInt((Math.random()*20000), 10);
			$('#container .nbild img').attr('src', (container.Bild + zusatz));
		}
	}
	
	//Alle Optionen zur SELECT-Box hinzufügen
	if(alle == true)
		$('#containerAuswahl').empty().append(selectContainer);
}

function werteZurueckSetzenNewsIntern(){
	$('#container :input').val('');
	$('#container .nbild img').attr('src', standardBild);
	$('#loescheContainer').css('display', 'none');
}

function initializeInterneNews(){
	bindeEventsNewsIntern();
	sucheDatenNewsIntern(true);
}
