/**
 * globa.js
 */
$(document).ready(function() {
	
	$('#loginEmail').focus(function (e) {
		$(this).val('');
		$(this).removeClass('login');
	});
	
	$('#loginPasswort').focus(function (e) {
		$(this).val('');
		$(this).removeClass('login');
	});
	
	$('#loginEmail').blur(function (e) {
		if ($(this).val() == "") {
			$(this).val('Deine Email-Adresse');
			$(this).addClass('login');
		}
	});
	
	$('#loginPasswort').blur(function (e) {
		if ($(this).val() == "") {
			$(this).val('Passwort');
			$(this).addClass('login');
		}
	});
	
	$('#sucheINPT').focus(function(e) {
		if ($(this).val() == "Suche...") {
			$(this).val('');
		}
	});
	
	$('#sucheINPT').blur(function(e) {
		if ($(this).val() == "") {
			$(this).val('Suche...');
		}
	});
	
	$("#sucheINPT").autocomplete(hits, {
		minChars: 0,
		width: 310,
		matchContains: true,
		highlightItem: false,
		formatItem: function(row, i, max, term) {
			var result;
			result = '<div class="searchImg"><img src="/images/user/avatar/mini_' + row.pic + '" /></div>';
			result += '<div class="searchUserInfo">' + row.name + '<br />' + row.gemeinde + '</div><div class="clearFloat"></div>';
			result.replace(new RegExp("(" + term + ")", "gi"), "<strong>$0</strong>");
			return result;
		},
		formatResult: function(row) {
			return row.name + " (" + row.gemeinde + ")"
		}
	});
	
	$('.showSection').click(function(e) {
		var id = $(this).attr('id');
		$('#' + id + '_box').toggleClass("hidden");
	});
	
	$('a[rel*=facebox]').facebox();
	$.facebox.settings.opacity = 0.5;
	
	$('a#writeMessage').click(function() {
		$('div#pinnwand-write').toggleClass("hidden");
	});

	$('a#shoutMessage').click(function() {
		$('div#shoutbox-write').slideToggle(300);
	});
	
	$('#show-newThemaForm').click(function () {
		$('#thema-write').toggleClass("hidden");
	});

	
	$('a#openForumAdmin').click(function() {
		$('div#forumAdmin').toggleClass("hidden");
	});
	
	$('input#openForumAdminCancel').click(function() {
		$('div#forumAdmin').toggleClass("hidden");
	});
	
	$('input#thema-reset').click(function () {
		$('div#thema-write').toggleClass("hidden");
		$('span#remaining_chars_title').html('Noch 60 Zeichen');
	});
	
	$('select#ownFrom').change(function () {
		if ($(this).val() != 'false') {
			$('div#coastNotice').toggleClass("hidden");
		}
	});
	
	$('textarea#messageBox').keyup(function() {
		var strlen = $(this).val().length;
		if (strlen > 1000) {
			$(this).val($(this).val().substr(0,1000));
			var textareaelem = document.getElementById('messageBox');
			textareaelem.scrollTop = textareaelem.scrollHeight;
			$('span#remaining_chars').html('Noch 0 Zeichen verbleibend');
			return;
		} else {
			$('span#remaining_chars').html('Noch ' + (1000 - strlen) + ' Zeichen verbleibend');	
		}
	});

	$('textarea#shoutboxMessage').keyup(function() {
		var strlen = $(this).val().length;
		if (strlen > 50) {
			$(this).val($(this).val().substr(0,50));
			var textareaelem = document.getElementById('shoutboxMessage');
			textareaelem.scrollTop = textareaelem.scrollHeight;
			$('span#remaining_chars').html('Noch 0 Zeichen verbleibend');
			return;
		} else {
			$('span#remaining_chars').html('Noch ' + (50 - strlen) + ' Zeichen verbleibend');	
		}
	});
	
	$('input#boardTitle').keyup(function() {
		var strlen = $(this).val().length;
		if (strlen > 60) {
			$(this).val($(this).val().substr(0,60));
			var textareaelem = document.getElementById('shoutboxMessage');
			textareaelem.scrollTop = textareaelem.scrollHeight;
			$('span#remaining_chars_title').html('Noch 0 Zeichen');
			return;
		} else {
			$('span#remaining_chars_title').html('Noch ' + (60 - strlen) + ' Zeichen');	
		}
	});
	
	$('img.smile').click(function() {
		var smile = $(this).attr('id').split('/');
		smile = smile.reverse();
		smile = smile[0].split('.');
		smile = smile[0].split('_');
		smile = '[[smile:' + smile[1] + ']] ';
		
		$('textarea#boardText').val($('textarea#boardText').val() + smile);
	});

	$(document).bind('afterReveal.facebox', function() {
		
		 $(".datepicker").datepicker({
			dateFormat: 'dd.mm.yy',
			dayNamesMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So'],
			monthNames: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']
		 });
		
		$('.msgSend').click(function() {
			$.ajax({
			   type: "POST",
			   url: "/nachrichten/send",
			   data: $('#formMsgSend').serialize(),
			   dataType: "json",
			   success: function(ret){

			    	if (in_array('invalidBetreff', ret)) {
			    		$('td#status').html('Der Betreff muss zwischen 5 und 60 Zeichen lang sein.');
			    	}
			    	
			    	if (in_array('invalidNachricht', ret)) {
			    		$('td#status').html('Deine Nachricht muss zwischen 10 und 1000 Zeichen lang sein.');
			    	}
			    	
			    	if (in_array('invalidId', ret)) {
			    		$('td#status').html('Ein Fehler ist aufgetreten.');
			    	}
			    	
			    	if (ret == 'msgOK') {
			    		$('div#writeMsg').html('<img src="/images/icons/16/accept.png" title="Nachricht gesendet" /> Deine Nachricht wurde gesendet');
			    	}
			   }
			 });
		});
		
		$('#inviteUser_start').click(function() {
			$.ajax({
			   type: "POST",
			   url: "/invite/send",
			   data: $('#inviteForm').serialize(),
			   dataType: "json",
			   success: function(ret){
			    	if (ret == 'ivtOK') {
			    		$('div#inviteUser').html('<img src="/images/icons/16/accept.png" title="Einladung gesendet" /> Deine Einladung wurde versendet');
			    	}
			   }
			 });
		});
		
		$('#sendSMS').click(function() {
			$.ajax({
			   type: "POST",
			   url: "/sms/send",
			   data: $('#smsForm').serialize(),
			   dataType: "json",
			   success: function(ret){
			   			$('div#sms').html("");
			    		$('div#sms').html(ret);
			   }
			 });
		});
		
		$('#deletePost_start').click(function() {
			$.ajax({
			   type: "POST",
			   url: "/forum/deletepost",
			   data: $('#deletePostForm').serialize(),
			   dataType: "json",
			   success: function(ret){
			    	if (ret.status == 'OK') {
			    		$('div#inviteUser').html('<img src="/images/icons/16/accept.png" title="Beitrag gelöscht" /> Dein Beitrag wurde entfernt.');
			    	}
			    	
			    	$('#' + ret.id).hide();
			   }
			 });
		});
		
		$('#deleteBoard_start').click(function() {
			$.ajax({
			   type: "POST",
			   url: "/forum/delboard",
			   data: $('#deleteBoardForm').serialize(),
			   dataType: "json",
			   success: function(ret){
			    	if (ret.status == 'OK') {
			    		$('div#inviteUser').html('<img src="/images/icons/16/accept.png" title="Beitrag gelöscht" />Das Forum und alle sich darin befindenen Beiträge wurde gelöscht');
						$('li#' + ret.id).remove();
			    	}
			   }
			 });
		});
		
		$('#deleteTermin_yes').click(function() {
			$.ajax({
			   type: "POST",
			   url: "/termin/delete",
			   data: $('#deleteTerminForm').serialize(),
			   dataType: "json",
			   success: function(ret){
					window.location.href = "/gemeinde/show/id/" + ret;
			   }
			 });
		});
		
		$('#btn_faceboxClose').click(function () {
			$.facebox.close();
		});
		
		$('#terminCreate').click(function() {
			$.ajax({
			   type: "POST",
			   url: "/termin/save",
			   data: $('#terminForm').serialize(),
			   dataType: "json",
			   success: function(ret){
					$('td#status').html('');
					var error = false;
			    	if (in_array('titleErr', ret)) {
			    		$('td#status').html('Bitte gib einen Titel (zwischen 6 und 60 Zeichen lang) für diesen Termin an.');
			    		error = true;
			    	}
			    	
			    	if (in_array('datumErr', ret)) {
			    		$('td#status').html('Bitte gib Start und Endatum deines Termins an.');
			    		error = true;
			    	}
					
			    	if (in_array('typeErr', ret)) {
			    		$('td#status').html('Bitte gib an, wer diesen Termin einsehen darf.');
			    		error = true;
			    	}
			    	
			    	if (error == false) {
			    		window.location.href = "/termin/show/id/" + ret;
			    	}
			   }
			 });
		});
		
		$('#terminEdit').click(function() {
			$.ajax({
			   type: "POST",
			   url: "/termin/update",
			   data: $('#terminForm').serialize(),
			   dataType: "json",
			   success: function(ret){
					$('td#status').html('');
					var error = false;
			    	if (in_array('titleErr', ret)) {
			    		$('td#status').html('Bitte gib einen Titel (zwischen 6 und 60 Zeichen lang) für diesen Termin an.');
			    		error = true;
			    	}
			    	
			    	if (in_array('datumErr', ret)) {
			    		$('td#status').html('Bitte gib Start und Endatum deines Termins an.');
			    		error = true;
			    	}
					
			    	if (in_array('typeErr', ret)) {
			    		$('td#status').html('Bitte gib an, wer diesen Termin einsehen darf.');
			    		error = true;
			    	}
			    	
			    	if (error == false) {
			    		window.location.href = "/termin/show/id/" + ret;
			    	}
			   }
			 });
		});
		
		$('.changeStatus').change(function() {
			var status = $("select option:selected").text();
				$.ajax({
				   type: "POST",
				   url: "/profil/status",
				   data: $('#statusForm').serialize(),
				   dataType: "json",
				   success: function(ret){
				    	if (ret == 'chgOK') {
				    		$.facebox.close();
				    		$('#ddStatus').html(status);
				    	}
				   }
				 });
		});
		
		$('#faceboxStop').click(function() {
			$.facebox.close();
		});
		
		$('#startUpload').click(function() {
			$('#profilFotoForm').submit();
		});
		
		$('#inviteUser_stop').click(function () {
			$.facebox.close();
		});
		
		$('#deleteTermin_no').click(function () {
			$.facebox.close();
		});
		
		$('#showVerlauf').click(function () {
			$('div#verlaufMessages').toggleClass("hidden");
			
			if ($('a#showVerlauf').html() == '[Verlauf einblenden]') {
				$('a#showVerlauf').html('[Verlauf ausblenden]');
			} else {
				$('a#showVerlauf').html('[Verlauf einblenden]');
			}
			
		});
		
	});
	
});
