/*
 * ------------------------------------------------------------------------------------------------------
 * Standard Funktionen beim laden des Dokuments
 * ------------------------------------------------------------------------------------------------------
*/
$(document).ready(function() {     

	// Starten der Artikel Empfhelen Funktion
	ajaxRecommend('');
	
	// Anpassung der Breite der ColorBox (Switch für den IE 7)
	if ( $.browser.msie && $.browser.version < 8 ) {
		$(".enableBookmarks").colorbox({width:"53%", inline:true, href:"#bookmarks"});		
		$(".recommend-Formular").colorbox({width:"53%", inline:true, href:"#recommendFormular"});	
	} else {
		$(".enableBookmarks").colorbox({width:"48%", inline:true, href:"#bookmarks"});		
		$(".recommend-Formular").colorbox({width:"48%", inline:true, href:"#recommendFormular"});
	}
	
	// Verstecken der Share Funktionen bei Formularen
	if ( $('.tx-powermail-pi1').is('div') || $('#content-references-list').is('div') || $("#content-references-list-diachannel").is("div") ) {
		$('#share').hide();
	}
	
	// Positionierung der Kontakt Box auf der Rechten Seite
	if ( window.location.href.search("diachannel.dialoop.de") != -1 ) {
		if ( $("#contactBox").position().top < 400 ) {
			$("#contactBox").removeClass("kb-fixed");
			$("#contactBox").addClass("kb-absolute");
		} else {
			$("#contactBox").removeClass("kb-absolute");
			$("#contactBox").addClass("kb-fixed");
		}
	}

});

/*
 * -------------------------------------------------------------------------------------------------------------------------------------
 * Funktion zum Filtern der aufgerufenen URL
 * -------------------------------------------------------------------------------------------------------------------------------------
 */
function getUrl() {
	if ( window.location.href.search(".html") != -1 ) {
		url = encodeURIComponent(location.href.substring(0, location.href.search('.html')) + '.html');
	} else {
		url = encodeURIComponent(location.href);
	}
	return url;
}

/*
 * -------------------------------------------------------------------------------------------------------------------------------------
 * BEREICH SERVICE FUNKTIONEN
 * -------------------------------------------------------------------------------------------------------------------------------------
*/
function ajaxRecommend() {
	
	// aufgerufene url übernehmen
	var uri = decodeURIComponent(getUrl());
	var title = '';
	var text = '';
	var referer = '';
	var language = '';
	
	// überprüfen welche sprache der  benutzer nutzt
	if (window.location.href.search("/en/") != -1) {
		language = "en";
	} else if (window.location.href.search("/de/") != -1) {
		language = "de";
	} else {
		language = "de";
	}
	
	// Seiten Headline einholen
	if($('#content-startpage').is('div') && language == "de") {
		title  = 'Aktuelle Neugkeiten';
	} else if ($('#content-startpage').is('div') && language == "en") {
		title  = 'Actual News';
	} else if ($('#content').is('div')) {
		title = $('#content h2:first').text() + "-breakline-" + $('#content h1:first').text() + "-breakline-";
	} else {
		title = '';
	}
	
	// Überprüfen aus welcher Seite der Artikel empfohlen wird
	if (window.location.href.search("diachannel.dialoop.de") != -1) {
		referer = "diachannel";
	} else {
		referer = "dialoop";
	}
	
	// Share-Funktion verbergen wenn Dankeseiten der Formulare aufgerufen werden
	if (window.location.href.search("vielen-dank-fuer-ihre-anfrage.html") != -1) {
		$('#share').hide();
	} else if (window.location.href.search("newsletterbestaetigung.html") != -1) {
		$('#share').hide();
	} else if (window.location.href.search("rueckrufbestaetigung.html") != -1) {
		$('#share').hide();
	}

	// entleeren der absender und empfänger felder (vermeidung dauersendung)
	$("#sendedFrom").val("");
	$("#sendedTo").val("");
	$("#userMessage").val("");
	$("#sendedMessage").val("");
	$("#languageSelected").val("");
	$("#httpReferer").val("");
	
	// ebenfalls enleeren auch wenn nur die cbox geschlossen wird
	$("#cboxClose").click(function() {
		$("#sendedFrom").val("");
		$("#sendedTo").val("");
		$("#userMessage").val("");
		$("#languageSelected").val("");
		$("#httpReferer").val("");
		$("#recommend-errors").empty();
	});
	
	// ausblenden der fehler wenn input angeklickt wird
	$("#recommendFormular #sendedFrom").focus(function() {
		$("#recommend-errors").fadeOut("slow");
	});
	
	$("#recommendFormular #sendedTo").focus(function() {
		$("#recommend-errors").fadeOut("slow");
	});

	// anzeige während der verarbeitung
	$(".loader").show();

	// textausgabe anhand der sprache bestimmen
	text = title + "-breakline-" + uri;

	// textarea mit inhalt fühlen in der entsprechenden sprache
	$("#sendedMessage").val(text);
	$("#languageSelected").val(language);
	$("#httpReferer").val(referer);

	// ajax übermittlung starten beim klick auf den absende button
	$("#recommendFormular #submit").click(function() {
		// beginn ajax verarbeitung
		$.ajax({
			// url zum php script
			url: 'fileadmin/templates/scripts/recommend.php',
			// übersendungs methode
			type: 'GET',
			// eingegebene formulardaten übernehmen
			data: {
				sendedFrom: $("#sendedFrom").val(),
				sendedTo: $("#sendedTo").val(),
				sendedMessage: $("#sendedMessage").val(),
				userMessage: $("#userMessage").val(),
				usedLanguage: $("#languageSelected").val(),
				httpReferer: $("#httpReferer").val(),
				// sonderverarbeitung
				name: $("#name").val(),
				email: $("#email").val(),
				www: $("#www").val()
			},

			// verarbeitungsmethode der daten
			dataType: 'json',

			// vergleich der daten mit php script
			success: function(response) {
				// aktion je nach rücksendung vom php script
				if(response.error != 'none') {
					$("#recommend-errors").fadeIn("slow");
					$("#recommend-errors").html(response.error);
				} else {
					$("#recommendFormular form").hide();
					$("#cboxClose").hide();
					$("#recommend-verified").show();
					$("#recommend-verified").html(response.done);
					setTimeout("location.href='" + uri + "'", 2000);
				}
			}
		});
	});
}

// Ersetzen von sonderzeichen in der Betreffzeile
function cleanUpGet(subject) {
	subject = str_replace('ä', 'ae', subject);
	subject = str_replace('ö', 'oe', subject);
	subject = str_replace('ü', 'ue', subject);
	subject = str_replace('ß', 'ss', subject);
	subject = str_replace('Ä', 'Ae', subject);
	subject = str_replace('Ö', 'Oe', subject);
	subject = str_replace('Ü', 'Ue', subject);
	subject = str_replace('&', '+', subject);
	return subject;
}

// Übertragenen string säubern
function str_replace(search, replace, subject) {
	var result = "";
	var  oldi = 0;
	for (var i = subject.indexOf(search); i > -1; i = subject.indexOf(search, i)) {
		result += subject.substring(oldi, i);
		result += replace;
		i += search.length;
		oldi = i;
	}
	return result + subject.substring(oldi, subject.length);
}

// Fixierung der Kontaktbox wenn Fenster verkleinert wird
function adjustContactBox(resizing) {
	if (resizing) {
		if ($(window).height() < 450) {
			$("#contactBox").removeClass("kb-fixed");
			$("#contactBox").addClass("kb-absolute");
		} else {
			$("#contactBox").removeClass("kb-absolute");
			$("#contactBox").addClass("kb-fixed");
		}
	}
}

// Kontakt Positionieren wenn Resized wird
$(window).resize(function() {
	if ( window.location.href.search("diachannel.dialoop.de") != -1) {
		adjustContactBox(true);
	}
});
