var divIDs = new Array(5);
divIDs[7] = 'ueberuns';
divIDs[8] = 'satzung';
divIDs[9] = 'verantwortlichinhaltFuss';
divIDs[10] = 'kontaktdaten';
var stdDivClass = 'vorschauDarstellen';
var beispielLink = 'http://www.beispiel-link.de';
var stdBild = './Texturen/wwf.png';
var loeschenIcon = './Texturen/delete.png';
var bearbeitenIcon = './Texturen/edit.png';
var uploadElementeLinks = new Array('linkBild');
var uploadLinks;
var inhaltFuss = 3;
var nachrichtLoeschen = 'Wollen Sie diesen Link wirklich l' + unescape("%F6") + 'schen?';


function initializeFussleiste(){
	bindeEventsFussleisteCMS();
	ladeDatenFussleisteCMS();
}

function bindeEventsFussleisteCMS(){
	$('#contentBearbeiten .jHtmlZuruecksetzen').click(function(){ladeDatenFussleisteCMS();});
	$('#contentBearbeiten .jHtmlUebernehmen').click(function(){aktualisiereDaten();});
	$('#contentBearbeiten .jHtmlLoeschen').click(function(){leereHTMLArea();});
	$('#linksBearbeitenButton').click(function(){linksBearbeitenModusStarten();});
	$('#linkUebernehmen').click(function(){speicherLink();});
	$('#linkZuruecksetzen').click(function(){leereFussleisteFelder();});
	
	$('#bereichFussleisteWaehlen').unbind();
	
	//Die Informationen aktualisieren, wenn eine andere Auswahl getroffen wurde
	$('#bereichFussleisteWaehlen').change(function(){
		var sID = $(this).val();
		$(this).find('option').each(function(){
			if($(this).val() == sID){
				var id = divIDs[sID];
				$('.' + stdDivClass).attr('id', id);
				
				//Die Bezeichnungen ändern
				$('#bereichsBezeichnung').text($(this).text());
				$('#fussLink').text($(this).text());
				return 0;
			}
		});
		ladeDatenFussleisteCMS();
	});
	
	bindeIframeEvents();
	ladeBildHochLinks();
}

function bindeIconFussleisteEvents(){
	$('.linkLoeschen').click(function(){
		var element = $(this).parent().parent();
		loescheLink($(element).find('.linkID').val());
	});
	$('.linkBearbeiten').click(function(){
		var element = $(this).parent().parent();
		
		fuelleFelderFussleiste(element);
	});
}

function bindeIframeEvents(){
	//IFrame aus DOM suchen und abspeichern...
	var iframe = document.getElementById('jhtmliframe');
	
	//...das Dokument abspeichern...
	iframe = (iframe.contentWindow || iframe.contentDocument);
	if (iframe.document) iframe = iframe.document;
	
	$(iframe).keyup(function(key){
		if(key.keyCode == 13 || key.keyCode == 32){
			vorschau();
		}
	});
	$('.ToolBar a').click(function(){
		vorschau();
	});
}

function ladeDatenFussleisteCMS(){
	var post = 'art=1&boxID=' + $('#bereichFussleisteWaehlen').val();
	
	//AJAX-Request senden
	$.ajax({
		async: "async",
		url: "./PHP/CMS/fussleiste.ajax.php",
		type: "POST",
		dataType: "json",
		data: post,							//Daten suchen
		success: function(data, status){
			/* data
			 * 		.Title					Erstes Bild oben links
			 * 		.Bild					Zweites Bild rechts
			 * 		.Aufklapptitle			Drittes Bild unten links
			 * 		.Inhalt					Der Textinhalt unter den Bildern
			 * 		.Willkommensnachricht	Die Nachricht, die oben in der Textleiste steht
			 */
			zeigeDatenAnFussleiste(data);
		},
		error: function(xmlhttp, statzs, error){
			alert('Fehler bei der Kommunikation. Bitte wenden Sie sich an Ihren Administrator!');
		}
	});
}

function zeigeDatenAnFussleiste(daten){
	/* daten
	 * 		.nachricht				Erstes Bild oben links
	 */
	//IFrame aus DOM suchen und abspeichern...
	var iframe = document.getElementById('jhtmliframe');
	
	//...das Dokument abspeichern...
	iframe = (iframe.contentWindow || iframe.contentDocument);
	if (iframe.document) iframe = iframe.document;
	
	//...und damit arbeiten
	$(iframe).find('body').html(formatiereDiv(daten.nachricht));
	
	vorschau();
}

/**
 * Füllt die Eingabefelder mit den jeweiligen Elementen, die bearbeitet werden solln
 * 
 * @param element		Das HTML-Element, welches den aktuellen zu bearbeitetn Link darstellt
 */
function fuelleFelderFussleiste(element){
	var zusatz = '?' + parseInt((Math.random()*20000), 10);
	$('#verlinkungAngeben').val($(element).find('a').attr('href'));
	$('#aktuellerEintrag .linkBild img').attr('src', ($(element).find('.linkBild img').attr('src') + zusatz));
	$('#aktuellerEintrag .linkText').val(formatiereInput($(element).find('.linkText').html()));
	$('#hiddenID').val($(element).find('.linkID').val());
}

function gebeInhaltZurueck(){
	//IFrame aus DOM suchen und abspeichern...
	var iframe = document.getElementById('jhtmliframe');
	
	//...das Dokument abspeichern...
	iframe = (iframe.contentWindow || iframe.contentDocument);
	if (iframe.document) iframe = iframe.document;
	
	//...und damit arbeiten
	return $(iframe).find('body').html();
}


function leereHTMLArea(){
	//IFrame aus DOM suchen und abspeichern...
	var iframe = document.getElementById('jhtmliframe');
	
	//...das Dokument abspeichern...
	iframe = (iframe.contentWindow || iframe.contentDocument);
	if (iframe.document) iframe = iframe.document;
	
	//...und damit arbeiten
	$(iframe).find('body').html('');
}

function vorschau(){
	$('.vorschauDarstellen').html(gebeInhaltZurueck());
}

/*
 * Aktualisiert den jeweiligen Text, sobald eine Taste gedrückt wurde
 */
function aktualisiereDaten(){
	//POST-Daten zusammenbauen
	var post = 'art=2&inhalt=' + formatiereURI(gebeInhaltZurueck()) + '&boxID=' + $('#bereichFussleisteWaehlen').val();
	
	//AJAX-Request senden
	$.ajax({
		async: "async",
		url: "./PHP/CMS/fussleiste.ajax.php",
		type: "POST",
		dataType: "json",
		data: post,							//Neue news speichern
		success: function(data, status){
			if(data.fehler == 0){
				//Seite neu laden
				location.reload();
			}
			else{ 
				//Anmeldung fehlgeschlage => Fehlernachrichten
				$('#popupHintergrundNews h2').text('Fehler beim Speichern').css('color', '#F00');
				$('#popupHintergrundNews #fehler').text(formatiereDiv(data.nachricht)).css('color', '#F00');
			}
		},
		error: function(xmlhttp, statzs, error){
			alert('Fehler bei der Kommunikation. Bitte wenden Sie sich an Ihren Administrator!');
		}
	});
}

function ladeLinks(){
	var post ='art=3';
	
	//AJAX-Request senden
	$.ajax({
		async: "async",
		url: "./PHP/CMS/fussleiste.ajax.php",
		type: "POST",
		dataType: "json",
		data: post,
		success: function(data, status){
			zeigeLinksAn(data);
		},
		error: function(xmlhttp, statzs, error){
			alert('Fehler bei der Kommunikation. Bitte wenden Sie sich an Ihren Administrator!');
		}
	});
}

function zeigeLinksAn(daten){
	/**
	 * daten
	 * 	 	.Links
	 * 			[0]
	 * 				.ID
	 * 				.Bild
	 * 				.Link
	 * 				.Text
	 * 			...
	 * 			[X]
	 * 			.length
	 * 		.fehler
	 */
	var linksHTML = '';
	var i;
	
	//Bereich leeren...
	$('#linksBearbeiten').empty();
	
	if(daten.Links){
		var links = daten.Links;
		
		if(links.length > 0){
			//...Links zusammensuchen (HTML)...
			for(i = 0; i < links.length; i++){
				var zusatz = '?' + parseInt((Math.random()*20000), 10);
				linksHTML += '' +
					'<div class="linksEintrag clearBoth">' +
						'<div class="linkButtons floatLeft"><img class="linkLoeschen" title="Eintrag l&ouml;schen" alt="Link l&ouml;schen" src="' + loeschenIcon + '"></img>' + 
						'<img class="linkBearbeiten" title="Eintrag &auml;ndern" alt="Link &auml;ndern" src="' + bearbeitenIcon + '"></img></div>' +
						'<div class="linkBild floatLeft"><a title="Zur Website" href="' + links[i].Link + '" target="new">'+
							'<img alt="Bild zu dem entsprechenden Link" src="' + (links[i].Bild + zusatz) + '"></img></a>' +
						'</div>' +
						'<div class="linkText floatLeft">' + formatiereDiv(links[i].Text) + '</div>' +
						'<input type="hidden" class="linkID" value="' + links[i].ID + '" />' +
					'</div>';
			}
		}
		else{
			linksHTML = '<p><strong>Keine Links vorhanden!</strong></p>';
		}
	}
	
	//...und Bereiche mit den richtigen Daten füllen
	$('#linksBearbeiten').append(linksHTML);
	
	bindeIconFussleisteEvents();
}

/**
 * Speichert den angegeben Link
 */
function speicherLink(){
	var post = 'art=4&boxID=' + $('#hiddenID').val();
	
	if($('#verlinkungAngeben').val() == '' || $('#verlinkungAngeben').val() == beispielLink){
		alert('Der Link muss angegeben sein!');
		return 0;
	}
	if($('#aktuellerEintrag .linkBild img').attr('src') == '' || $('#aktuellerEintrag .linkBild img').attr('src') == stdBild){
		alert('Das Bild muss angegeben sein!');
		return 0;
	}
	if($('#aktuellerEintrag .linkText').val() == ''){
		alert('Eine Beschreibung muss vorhanden sein!');
		return 0;
	}
	
	//Alle Werte zum POST setzen
	post += '&Link=' + $('#verlinkungAngeben').val() + '&Bild=' + formatiereBildPfad($('#aktuellerEintrag .linkBild img').attr('src')) + 
			'&inhalt=' + formatiereURI($('#aktuellerEintrag .linkText').val());
	
	//AJAX-Request senden
	$.ajax({
		async: "async",
		url: "./PHP/CMS/fussleiste.ajax.php",
		type: "POST",
		dataType: "json",
		data: post,							//Neue news speichern
		success: function(data, status){
			leereFussleisteFelder();
			ladeLinks();
		},
		error: function(xmlhttp, statzs, error){
			alert('Fehler bei der Kommunikation. Bitte wenden Sie sich an Ihren Administrator!');
		}
	});
}

function loescheLink(linkid){
	var post ='art=5&boxID=' + linkid;
	
	if(confirm(nachrichtLoeschen)){
		//AJAX-Request senden
		$.ajax({
			async: "async",
			url: "./PHP/CMS/fussleiste.ajax.php",
			type: "POST",
			dataType: "json",
			data: post,
			success: function(data, status){
				leereFussleisteFelder();
				ladeLinks();
			},
			error: function(xmlhttp, statzs, error){
				alert('Fehler bei der Kommunikation. Bitte wenden Sie sich an Ihren Administrator!');
			}
		});
	}
}

/**
 * Alle Eingabenfelder zurück setzen
 */
function leereFussleisteFelder(){
	$('#hiddenID').val(0);
	$('#aktuellerEintrag textarea').val('');
	$('#aktuellerEintrag :text').val('');
	$('#aktuellerEintrag .linkBild img').attr('src', stdBild);
	$('#verlinkungAngeben').val(beispielLink);
	aktualisiereUploadDataLinks();
}

function ladeBildHochLinks(){
	for(i in uploadElementeLinks){
		ajaxUpLoadLinks(uploadElementeLinks[i]);
	}
}

function ajaxUpLoadLinks(id){
	//Setzt für jedes Element die jeweiligen AJAX-Uploader
	uploadLinks = new AjaxUpload($('#aktuellerEintrag .' + id), {
		  onSubmit: function(file, extension){
			  //Ajax Indicator setzen
			  $(this._button.parentNode).find('img').attr('src', ajaxIndicator);
		  },
		  onComplete: function(file, response) {
			  if(response.fehler != 1){
				  bildUpdateLinks(response.datei, id);
			  }
			  else{
				  alert(response.nachricht);
			  }
			  
			  //Upload wieder aktivieren
			  this.enable();
		  }
	});
	
	aktualisiereUploadDataLinks();
}

function aktualisiereUploadDataLinks(){
	//Aktuelle Daten setzen
	uploadLinks.setData({'inhalt':inhaltFuss, 'inhaltID':$('#hiddenID').val()});
}

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

//setzt die JHtml Area und die Vorschau unsichtbar und den Bereich zur Bearbeitung der Links auf sichtbar
function linksBearbeitenModusStarten(){
	$('#contentBearbeiten').css('display', 'none');
	$('#vorschauBereich').css('display', 'none');
	$('#linksBearbeitenBereich').css('display', 'block');
	$('#bereichFussleisteWaehlen').attr('disabled', 'disabled');
	$('#linksBearbeitenButton').val('Zur' + unescape("%FC") + 'ck zu den Bereichen');
	
	//Neues Event binden
	$('#linksBearbeitenButton').unbind();
	$('#linksBearbeitenButton').click(function(){linksBearbeitenModusVerlassen();});
	ladeLinks();
}
//setzt die JHtml Area und die Vorschau sichtbar und den Bereich zur Bearbeitung der Links auf unsichtbar
function linksBearbeitenModusVerlassen(){
	$('#linksBearbeitenBereich').css('display', 'none');
	$('#contentBearbeiten').css('display', 'block');
	$('#vorschauBereich').css('display', 'block');
	$('#bereichFussleisteWaehlen').removeAttr('disabled');
	$('#linksBearbeitenButton').val('Zur Linkliste');

	//Neues Event binden
	$('#linksBearbeitenButton').unbind();
	$('#linksBearbeitenButton').click(function(){linksBearbeitenModusStarten();});
}
