function isUndefined(v) {
    var undef;
    return v===undef;
}

function rawPopup(url, target, features) {
    if (isUndefined(target)) {
        target = '_blank';
    }

    var newWindow = window.open(url, target, features);
    newWindow.focus();
    return newWindow;
}

function linkPopup(src, features) {
    return rawPopup(src.getAttribute('href'), src.getAttribute('target') || '_blank', features);
}


function resizepic(id, src_vorher, src_nachher, breite_vorher, breite_nachher) {

    /* das div bekommt die flexid */
    var oDiv       = SEITENBAU.jQuery("#bild_id"+id);
    /* das eigentliche bild in der vorschau */
    var oBild      = SEITENBAU.jQuery("img", oDiv);
    /* in der lupe muessen die grafiken und die titles getauscht werden */
    var oLupe      = SEITENBAU.jQuery("#lupe_id"+id);
    /* auch der text im unsichtbaren span muss sich aendern */
    var oText      = SEITENBAU.jQuery("span.unsichtbar", oLupe);

    if (oDiv.width() == breite_vorher) {

        oDiv.css({"width": breite_nachher+'px'});
        oBild.attr({
            "src": src_nachher,
            "width": breite_nachher
        });
        oLupe.attr({"title": 'Bild verkleinern'});
        oLupe.removeClass("lupe");
        oLupe.addClass("lupe_klein");
        oText.text("Bild vergrößern");

    } else {

        oDiv.css({"width": breite_vorher+'px'});
        oBild.attr({
            "src": src_vorher,
            "width": breite_vorher
        });
        oLupe.attr({"title": 'Bild vergrößern'});
        oLupe.removeClass("lupe_klein");
        oLupe.addClass("lupe");
        oText.text("Bild verkleinern");
    }

}

function resizepic_verkal(id, src_vorher, src_nachher, breite_vorher, breite_nachher, bau_icon_id) {

    /* das div bekommt die flexid */
    var oDiv       = SEITENBAU.jQuery("#bild_id"+id);
    /* das eigentliche bild in der vorschau */
    var oBild      = SEITENBAU.jQuery("img", oDiv);
    /* in der lupe muessen die grafiken und die titles getauscht werden */
    var oLupe      = SEITENBAU.jQuery("#lupe_id"+id);
    /* auch der text im unsichtbaren span muss sich aendern */
    var oText      = SEITENBAU.jQuery("span.unsichtbar", oLupe);

    if (oDiv.width() == breite_vorher) {

        oDiv.css({"width": breite_nachher+'px'});
        oBild.attr({
            "src": src_nachher,
            "width": breite_nachher
        });
        oLupe.attr({"title": 'Bild verkleinern'});
        oLupe.removeClass("lupe");
        oLupe.addClass("lupe_klein_verkal");
        oText.text("Bild vergrößern");
        document.getElementById(bau_icon_id).style.top='260px';
        document.getElementById(bau_icon_id).style.left='260px';

    } else {

        oDiv.css({"width": breite_vorher+'px'});
        oBild.attr({
            "src": src_vorher,
            "width": breite_vorher
        });
        oLupe.attr({"title": 'Bild vergrößern'});
        oLupe.removeClass("lupe_klein_verkal");
        oLupe.addClass("lupe_verkal");
        oText.text("Bild verkleinern");
        document.getElementById(bau_icon_id).style.top='130px';
        document.getElementById(bau_icon_id).style.left='125px';

    }

}


/* Stadtbezirke (Funktion wird im Flash aufgerufen)
-------------------------------------------*/
function stadtbezirke_anzeigen(stadtbezirk) {
    var bezirk = "box_" + stadtbezirk;
    SEITENBAU.jQuery(".stadtbezirke").hide();
    SEITENBAU.jQuery("#" + bezirk).show();
    SEITENBAU.jQuery("ul#liste_stadtbezirke li a#"+stadtbezirk).css({
        'color': '#cc0000',
        'text-decoration': 'underline'
    });
}

function stadtbezirke_verbergen(stadtbezirk) {
    var bezirk = "box_" + stadtbezirk;
    SEITENBAU.jQuery("ul#liste_stadtbezirke li a#"+stadtbezirk).css({
        'color': '#000066',
        'text-decoration': 'none'
    });
}


function stadtteile_mouseover(stadtteil) {
    SEITENBAU.jQuery("ul#liste_stadtteile li a#"+stadtteil).css({
        'color': '#cc0000',
        'text-decoration': 'underline'
    });
}

function stadtteile_mouseout(stadtteil) {
    SEITENBAU.jQuery("ul#liste_stadtteile li a#"+stadtteil).css({
        'color': '#000066',
        'text-decoration': 'none'
    });
}

var getMovie = function (movieId) {
    if (window.document[movieId]) {
      return window.document[movieId];
    }
    if (document.embeds && document.embeds[movieId]) {
      return document.embeds[movieId];
    }
    else {
      return document.getElementById(movieId);
    }
  };

//Datepicker
function seldate(datum, von) {
		var edatum = datum.split("-");
		SEITENBAU.jQuery("#tag_"+von).val(edatum[0]);
		SEITENBAU.jQuery("#monat_"+von).val(edatum[1]);
		SEITENBAU.jQuery("#jahr_"+von).val(edatum[2]);
}

//video
function countVideo(url) {
	SEITENBAU.jQuery.ajax({type: "GET",
		url: '/externe-dienste/video/count.php',
		dataType: "html",
		data: 'vi='+url});	
}

(function($){


    $(document).ready(function(){


        /* Tabs basierend auf JQuery UI
        -------------------------------------------*/
       $(".tabs").tabs( { fx: { opacity: 'toggle', duration: 'fast' } } );

        /* Datepicker basierend auf JQuery UI
        -------------------------------------------*/
        var dates = SEITENBAU.jQuery("#datepickervon, #datepickerbis").datepicker(
		    {			

		        dateFormat: 'd-m-yy',		        
		        onSelect: function(selectedDate)
		        {
		          var option = this.id == "datepickervon" ? "minDate" : "maxDate";
		          var instance = SEITENBAU.jQuery(this).data("datepicker");
		          var date = SEITENBAU.jQuery.datepicker.parseDate(instance.settings.dateFormat || SEITENBAU.jQuery.datepicker._defaults.dateFormat, selectedDate, instance.settings);
		          dates.not(this).datepicker("option", option, date);
		
		          if (this.id == "datepickervon") seldate(selectedDate, 'von');
		          if (this.id == "datepickerbis") seldate(selectedDate, 'bis');
		        }
		  		});
		
		      SEITENBAU.jQuery('#datepickervonlink').click(function()
		      {
		        SEITENBAU.jQuery("#datepickervon").datepicker('show');
		        return(false);
		      });
		      SEITENBAU.jQuery('#datepickerbislink').click(function()
		      {
		      	var selmindatevon = new Date(SEITENBAU.jQuery("#jahr_von").val(), (SEITENBAU.jQuery("#monat_von").val())-1, SEITENBAU.jQuery("#tag_von").val());		      	
		      	SEITENBAU.jQuery("#datepickerbis").datepicker( "option", "minDate", selmindatevon );
		        SEITENBAU.jQuery("#datepickerbis").datepicker('show');
		        return(false);
      	});      
      	/* highlighting input & textarea
        -------------------------------------------*/
        $("input[type=text], input[type=password], textarea").focus(function() {
            $(this).addClass("inputfocus");
        });
        $("input[type=text], input[type=password], textarea").blur(function() {
            $(this).removeClass("inputfocus");
        });

        /* Bewertungsfunktion
        -------------------------------------------*/
        // bewertung ja
        $("#formbewertungja").submit(function(ttt){
            $("#prbewertung").before('<p class="hinweis" id="loading"></p>');

            var urlK=$("#formbewertungja").attr("action");
            $.ajax({
                type: "POST",
                url: urlK,
                dataType: "html",
                data: $("#formbewertungja input").serialize(),
                error: function(request){
                    if ($("#ajaxerror")) $("#ajaxerror").remove();
                    $("#loading").fadeOut(1000, function(){
                        $("#loading").remove();
                        var errtext = request.responseText;
                        var errtext = '<em class="hinweis" id="ajaxerror">' + errtext + '</em>';
                        $("#formbewertungja").before(errtext);
                        $("#prbewertungnein").hide();
                    });
                },
                success: function(req){
                    if ($("#ajaxerror")) $("#ajaxerror").remove();
                    $("#loading").fadeOut(1000, function(){
                        $("#loading").remove();
                        if (req.length < 500) {
                            //var errtext = req.responseText;
                            var errtext = '<em class="hinweis" id="ajaxerror">' + req + '</em>';
                            $("#formbewertungja").before(errtext);
                            $("#prbewertungnein").hide();
                        }
                    });

                }
            });
            return false;
        });
        // bewertung nein
        $("#formbewertungnein").submit(function(ttt){
            $("#prbewertung").before('<em class="hinweis" id="loading"></em>');

            var urlK=$("#formbewertungnein").attr("action");
            $.ajax({
                type: "POST",
                url: urlK,
                dataType: "html",
                data: $("#formbewertungnein input, #formbewertungnein textarea").serialize(),
                error: function(request){
                    if ($("#ajaxerror")) $("#ajaxerror").remove();
                    $("#loading").fadeOut(1000, function(){
                        $("#loading").remove();
                        var errtext = request.responseText;
                        var errtext = '<em id="ajaxerror">' + errtext + '</em>';
                        $("#bewertungid").before(errtext);
                    });
                },
                success: function(req){
                    if ($("#ajaxerror")) $("#ajaxerror").remove();
                    $("#loading").fadeOut(1000, function(){
                        $("#loading").remove();
                        //var errtext = req.responseText;
                        if (req.length < 500) {
                            //leeren
                            $("#formbewertungnein textarea").val("");
                            $("#formbewertungnein input:nth(1)").val("");
                            $("#formbewertungnein input:nth(2)").val("");
                            $("#formbewertungnein input:nth(3)").val("");
                            var succtext = '<em id="ajaxerror">' + req + '</em>';
                            $("#formbewertungja").before(succtext);
                            $("#prbewertungnein").hide();
                        }
                    });

                }
            });
            return false;
        });
        // ausklappen formular
        $("#prbewertungnein").hide();
        $("#sbbewform").click(function(){
            $("#prbewertungnein").slideDown(1000);
        });

        /* hoverfunction fuer IE6
        $(function() {
            $('#bewertung .positiv').hover(function(){
                alert('hallo');
                $(this).addClass('positiv-hover');
            }, function() {
                $(this).removeClass('positiv-hover');
            });
        });

         */

        /* hoverfunction bewertung fuer IE6 */
        var buttonbewertung = $('.bewertung .positiv');
        $(buttonbewertung)
            /* mouseover / mouseout */
            .hover(function()
            {
                $(this).addClass('positiv-hover');
            },
            function()
            {
                $(this).removeClass('positiv-hover');
            }
            )
            /* keyup / keydown */
            .keyup(function()
            {
                $(this).addClass('positiv-hover');
            }
            )
            .keydown(function()
            {
                $(this).removeClass('positiv-hover');
            }
        );

        /* Stadtbezirke
        -------------------------------------------*/

        $(".contentRight .borderRight .stadtbezirke").hide();
        $("#box_stadtbezirk_innenstadt").show();

        $("ul#liste_stadtbezirke li a")
        .mouseover(function(){
            var bezirk = this.id;
            stadtbezirke_anzeigen(bezirk);
            getMovie('karte_stadtbezirke').overStadtbezirk(bezirk.split('_')[1]);
        });
        $("ul#liste_stadtbezirke li a")
        .mouseout(function(){
            var bezirk = this.id;
            stadtbezirke_verbergen(bezirk);
            getMovie('karte_stadtbezirke').outStadtbezirk(bezirk.split('_')[1]);
        });


        /* Stadtteile
        -------------------------------------------*/
        $("ul#liste_stadtteile li a")
        .mouseover(function(){
            var teil = this.id;
            stadtteile_mouseover(teil);
            getMovie('karte_stadtteile').overStadtteil(teil.split('_')[1]);
        });
        $("ul#liste_stadtteile li a")
        .mouseout(function(){
            var teil = this.id;
            stadtteile_mouseout(teil);
            getMovie('karte_stadtteile').outStadtteil(teil.split('_')[1]);
        });



        /* Melatenfriedhof
        -------------------------------------------*/

        if($("div#melaten").length)
        {

          $('head').append('<link rel="stylesheet" href="/styles/melatenfriedhof.css" media="all" type="text/css" />');

          if($.browser.msie && $.browser.version.substr(0,3)=="6.0")
          {
            $('head').append('<link rel="stylesheet" href="/styles/melatenfriedhof-ie.css" media="all" type="text/css" />');
            $('#grundriss').css({'background-image' : 'none'});
          }

          $('head').append('<link rel="stylesheet" href="/styles/melatenfriedhof-print.css" media="print" type="text/css" />');

          $('head').append('<script type="text/javascript" src="/javascripts/melatenfriedhof.js"></script>');

          $('#melatenkarte').attr('class','print-karte');
          $('#melaten').append('<img width="563" height="563" id="melatenkarte2" alt="Luftbild Melatenfriedhof" src="/images/layout/melatenfriedhof/friedhof.jpg">');
          $('#melatenkarte2').attr('class','noprint-karte');

        }

    
	/* Bürgerentscheid
        -------------------------------------------*/
		$("#stadtbezirk_auswahl,#stadtteil_auswahl,#stimmbezirk_auswahl").change(function(st){
			
			if ($("#buergerentscheid_tabelle")) $("#buergerentscheid_tabelle").remove();
			var urlK="/externe-dienste/buergerentscheid.html";			
			var gdatenj=$(this).attr('name')+'='+$(this).val();
			$.ajax({
			type: "POST",
			url: urlK,
			dataType: "html",
			data: gdatenj,
			beforeSend: function(){
				$("#buergerentscheid_stimmen").html('<img src="/images/layout/icons/ajaxloader.gif" alt="laden&hellip;" width="32" height="32" id="ajaxloader" />');
			},
			complete: function(){
			  if ($("#ajaxloader")) $("#ajaxloader").remove();
			},
			error: function(request){
				if ($("#ajaxerror")) $("#ajaxerror").remove();
				if ($("#ajaxloader")) $("#ajaxloader").remove();
				var errtext = request.responseText;
				var errtext = '<em class="hinweis" id="ajaxerror">' + errtext + '</em>';
				$("#buergerentscheid_stimmen").before(errtext);	
			},
			success: function(req){
				if ($("#ajaxerror")) $("#ajaxerror").remove();
				if ($("#ajaxloader")) $("#ajaxloader").remove();
				$("#buergerentscheid_stimmen").html(req);	
			}
			});
			return false;

		});
	
	});

})(SEITENBAU.jQuery);


