// Facebook Counter einblenden (auch bei Wert 0)
function show_fb_counter() {

	// Facebook Counter einblenden (auch bei Wert 0)
	$('.fb_share_no_count').each(function(){

		$(this).removeClass('fb_share_no_count');
		$(this).find('.fb_share_count_inner').html('0');

	});

	return true;

}

// Youtube-Videos via Xstandard ausblenden
function flash_hide() {

	$('iframe.youtube').each(function() {

		// Höhe und Breite des Flashs berechnen
		int_height = $(this).outerHeight(true);
		int_width = $(this).outerWidth(true);

		// Platzhalter-DIV mit gleichen Dimensionen anlegen
		obj_platzhalter = $('<div class="platzhalter"></div>')
			.height(int_height).width(int_width);

		// Flash verstecken
		$(this).hide();

		// Platzhalter einblenden
		obj_platzhalter.insertAfter($(this));

	});

}

// Youtube-Videos via Xstandard wieder einblenden
function flash_show() {

	$('iframe.youtube').each(function() {

		// Flash anzeigen
		$(this).show();

		// Platzhalter entfernen
		$(this).next('div.platzhalter').remove();

	});

}

$(document).ready(function() {

	// Social Media Container DIVs durchlaufen 
	$('div.social_media_container').each(function(){
		
		// Div ist leer --> keine Social Media Buttons ausgewählt
		if($.trim($(this).html())=='') {
			
			// Div entfernen
			$(this).remove();
			
		}
		
	});
	
	// Passwort ändern
	$('#passwort_aendern').change(function(){

		// Checkbox gesetzt
		if ($(this).is(':checked')) {

			$('.passwort_aendern').show();
			$('.passwort_aendern input').addClass('required');
			$('.passwort_aendern input').removeAttr('disabled');

		// Checkbox nicht gesetzt
		} else {

			$('.passwort_aendern').hide();
			$('.passwort_aendern input').removeClass('required');
			$('.passwort_aendern input').attr('disabled', 'disabled');

		}

	});

	// Passwort ändern Checkbox
	$('#passwort_aendern').change();

	/* Menu Hover-Effekt */

	// Button Down -> Mouseover --> Up-Button einblenden
	$('.down').mouseover(function() {

		$(this).hide();
		$('a[rel='+$(this).parent().attr('rel')+']').find('img.up').show();

	});

	// Button Up -> Mouseout --> Down-Button einblenden
	$('.up').mouseout(function() {

		// Button hat nicht die Klasse 'active' --> Naviknoten nicht aktiv
		if(!$(this).parent().hasClass('active')) {

			$(this).hide();
			$('a[rel='+$(this).parent().attr('rel')+']').find('img.down').show();

		}

	});


    //bookmark
    $("#bookmark").click(function () {

		var url = $(this).attr("rel_url");
		var title = $(this).attr("rel_title");

		if (window.sidebar) { // Mozilla Firefox
			window.sidebar.addPanel(title, url,"");
		} else if( window.external ) { // IE Favorite
			window.external.AddFavorite(url, title);
		} else if(window.opera) { // Opera 7+
			var elem = document.createElement('a');
		    elem.setAttribute('href',url);
		    elem.setAttribute('title',title);
		    elem.setAttribute('rel','sidebar');
		    elem.click();
		} else {
			alert('Ihr Browser unterstützt diese Aktion leider nicht. Bitte fügen Sie diese Seite manuell zu Ihren Favoriten hinzu.');
		}

    });


	// Captcha
	$("#captcha").click(function(){

		var random = Math.floor(Math.random()*25600);

		$("#captcha img").attr("src", "../../captcha/image.php?new_captcha=true&" + random);

	});

	//Prüfung ob alle Pflichtfelder ausgefüllt sind.
	if($(".validate").length) {
		$(".validate").validate();
	}

	// Zeichenlänge vom Passwort überprüfen
	$('.required').keyup(function(){

		if ($(this).attr('minlength')) {

			if ($(this).val().length < $(this).attr('minlength')) {

				$(this).addClass('error');

			} else {

				$(this).removeClass('error');

			}

		}

	});

	$('input.datepicker').datepicker({
		showOn: 'both',
		changeYear: true,
		buttonImage: '../../style/datepicker/calendar.gif',
		buttonImageOnly: true,
		dateFormat: 'dd.mm.yy',
		onSelect: function(dateText, inst) {
			$(this).valid();
			$(this).trigger("change");
		}
	});

	$(".change_image").click(function(){

		var show_image_id = this.id

		$("#big_image img:visible").fadeOut(500, function () {
			$("#big_image" + show_image_id).fadeIn(1000);
		});

	});

	// Captcha
	$('div#captcha').click(function(){

		var rand = Math.floor(Math.random()*25600);

		$("#captcha img").attr("src", "../captcha/image.php?new_captcha=1&" + rand);

	});

	if ($('div.tabs').length) {

		$('div.tabs').hide();

		if (!$.cookie('akt_tab')) {

			$('div.tabs:first').show();
			$('ul.tabs li:first').addClass('active');

		} else {

			$('div#content_' + $.cookie('akt_tab')).show();
			$('li#' + $.cookie('akt_tab')).addClass('active');

			$('ul.tabs img').each(function(){

				$(this).attr('src', $(this).attr('src').replace(/up/, 'do'));	// do - Button für alle Tabs

			});

			$('li#' + $.cookie('akt_tab') + ' img').attr('src', $('li#' + $.cookie('akt_tab') + ' img').attr('src').replace(/do/, 'up'));

		}

		// Klick auf Tabs
		$('ul.tabs a').click(function(){

			$.cookie('akt_tab', $(this).attr('rel'));

			$('div.tabs').hide();	// alle Tabs ausblenden
			$('ul.tabs li').removeClass('active');	// Klasse active entfernen

			$('ul.tabs img').each(function(){

				$(this).attr('src', $(this).attr('src').replace(/up/, 'do'));	// do - Button für alle Tabs

			});

			$('div#content_' + $(this).attr('rel')).show();		// aktuellen Tab anzeigen
			$('li#' + $(this).attr('rel')).addClass('active');	// Klasse active hinzufügen
			// up - Button für akt. Tab
			$('li#' + $(this).attr('rel') + ' img').attr('src', $('li#' + $(this).attr('rel') + ' img').attr('src').replace(/do/, 'up'));

		});

		// Hover für Tabs
		$('ul.tabs li').hover(

			// Mouseover
			function() {

				// up - Button
				$('li#' + $(this).attr('id') + ' img').attr('src', $('li#' + $(this).attr('id') + ' img').attr('src').replace(/do/, 'up'));

			},
			// Mouseout
			function() {

				// do - Button, wenn nicht aktiv
				if (!$(this).hasClass('active')) {

					$('li#' + $(this).attr('id') + ' img').attr('src', $('li#' + $(this).attr('id') + ' img').attr('src').replace(/up/, 'do'));

				}

			}

		);

	}

	$('.datepicker').datepicker({
		showOn: 'both',
		buttonImage: '../style/calendar.gif',
		buttonImageOnly: true,
		dateFormat: 'dd.mm.yy',
		onSelect: function(dateText, inst) {
			$(this).valid();
			$(this).trigger("change");
		},
		onClose: false
	});


      // Formularvalidierung
      if ($("form.validate").length>0) {

        // Bugfix Validierung -> Bearbeiten -> required input leer --> Trotzdem submit

        // Speichern - Button
        $("input.speichern").click(function(){

            var bool_ret = true;

            // Inputs durchlaufen
            $('input').each(function(){

                // checken, ob required
                if($(this).metadata().required) {

                    // Feld ist leer
                    if(!$(this).val() || $(this).val()=='' && $(this).is(':visible')) {

						if (! $(this).hasClass('error')) {

							$(this).parent().append('<br /><label class="error">' + $(this).metadata().messages.required + '</label>');

						}

                        // Klasse 'error' für dieses Feld
                        $(this).addClass('error');

						// Fokus auf dieses Feld
						$(this).focus();

                        // nicht absenden
                        bool_ret = false;

                    }

                }

            });

            return bool_ret;

        });

		$('input').change(function(){

			// checken, ob required
            if($(this).metadata() && $(this).metadata().required) {

                // Feld ist leer
                if($(this).val() && $(this).val()!='') {

                    // Klasse 'error' für dieses Feld
                    $(this).removeClass('error');

					$(this).parent().find('label.error').remove();

                }

            }

		})

        $("form.validate").each(function(){

            //Form validieren
            var validator = $(this).validate({

                submitHandler: function(form) {

                    root_show_loading();

                    //alle nicht ausgewählten checkboxen auf 0 setzen
                    $("input[type='checkbox']").not(":checked").each(function() {

                      $(this).prepend('<input type="hidden" name="' + $(this).attr("name") + '" value="0" />');

                    });

                    form.submit();

                }

            });

            // Validierungsfehler -> Fokus auf Feld m. Fehler
            validator.focusInvalid = function() {
                if( this.settings.focusInvalid ) {
                    try {
						var focused = $(this.findLastActive() || this.errorList.length && this.errorList[0].element || []);
						focused.focus();
                    } catch(e) {
						// ignore IE throwing errors when focusing hidden elements
                    }
                  }
            };

        });

    }

	$('select#tab1_personen').change(function(){

		if ($(this).val() == 2) {

			$('tr.zwei_pers').show();

			$('input#tab1_name2').attr('class', "{required:true, messages:{required:'Bitte geben Sie den Namen ein!'}}");
			$('input#tab1_vorname2').attr('class', "{required:true, messages:{required:'Bitte geben Sie den Vornamen ein!'}}");

		} else {

			$('tr.zwei_pers').hide();
			$('tr.zwei_pers').find('input').val('');
			$('tr.zwei_pers').find('input').attr('class', '');
		}

	});

	window.setTimeout('show_fb_counter()', 2000);

});

