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");
    }

}


/* 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);
    }
  };

(function($){


    $(document).ready(function(){

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

        /* 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]);
        });


    });

})(SEITENBAU.jQuery);

