
function mark(id,color)
{
    document.getElementById(id).style.backgroundColor = color;
}

function markOneOption(id,name,color)
{
    var elements = document.getElementsByTagName("input");
    for(var i=0;i<elements.length;i++)
    {
        if(elements[i].name != name) continue;
        if(elements[i].id == id + "_input") document.getElementById(id).style.backgroundColor = color;
        else {
            var parts = elements[i].id.split("_");
            document.getElementById(parts[0]).style.backgroundColor = "#ffffff";
        }
    }
}

function nothing()
{
    // Diese Funktion tut überhaupt gar nichts
}

var extSearchSliding = false;
function toggleExtendedSearch()
{
    var ext = document.getElementById("extSearch");
    if(ext == null) return;

    if(ext.style.display == "none" && !extSearchSliding)
    {
        extSearchSliding = true;
        $("#extSearch").slideDown("slow", function() { extSearchSliding = false; });
        $(".extender").addClass("extended");
        $(".extender").blur();
        $("#SearchCountContainer").css("color", "#b21f32");
        $("#srch").text("einklappen");
    }
    else if(ext.style.display == "block" && !extSearchSliding)
    {
        extSearchSliding = true;
        $("#extSearch").slideUp("slow", function() { extSearchSliding = false; });
        $(".extender").removeClass("extended");
        $(".extender").blur();
        $("#SearchCountContainer").css("color", "#000000");
        $("#srch").text("Suche verfeinern");
    }
}

function collapseExtendedSearch()
{
    var ext = document.getElementById("extSearch");
    if(ext == null) return;
    if(ext != null && ext.style.display == "block") toggleExtendedSearch();
}


function updateSearchCount()
{
    updateSearchForm();

    var form = document.getElementById("SearchForm");
    var url = baseUrl + "factory.php?request=SearchCount";
    url += encodeURI( getSearchArguments() );

    $("#SearchCountContainer").fadeOut("fast");
    $("#SearchCount").load(url, 0, function (responseText, textStatus, XMLHttpRequest) {

        $("#SearchCountContainer").fadeIn("fast");
        var cnt = parseInt($("#SearchCount").text());

        if(cnt == 0) {
            $("#btnAnzeigen").attr("disabled", true);
        } else {
            $("#btnAnzeigen").attr("disabled", false);
        }

    });    
}

function resetExtendedSearch()
{
    if(f("etw_preis") == null) return;
    f("etw_preis").value = ",";
    f("etw_zimmer").value = "0";
    f("etw_bezugsfrei").checked = false;
    f("etw_kapitalanlage").checked = false;
    f("efh_preis").value = ",";
    f("efh_bezugsfrei").checked = false;
    f("efh_kapitalanlage").checked = false;
    f("wgh_preis").value = ",";
    f("erwerbsmodus").value = "0";
    f("ort").value = "";
    f("nutzungsart").value = "";
}

function getSearchArguments()
{
    var url = "";
    var form = document.getElementById("SearchForm");

    var type = f("type").value;
    if(type == "po") {
        url += "&type=grpx";
        url += "&premium=1";
    } else {
        url += "&type=" + type;
    }

    url += "&region=" + f("region").value;

    if(f("etw_preis") != null) {

        url += "&etw_preis=" + f("etw_preis").value;
        url += "&etw_zimmer=" + f("etw_zimmer").value;
        if(f("etw_bezugsfrei").checked) url += "&etw_bezugsfrei=" + f("etw_bezugsfrei").value;
        if(f("etw_kapitalanlage").checked) url += "&etw_kapitalanlage=" + f("etw_kapitalanlage").value;

        url += "&efh_preis=" + f("efh_preis").value;
        if(f("efh_bezugsfrei").checked) url += "&efh_bezugsfrei=" + f("efh_bezugsfrei").value;
        if(f("efh_kapitalanlage").checked) url += "&efh_kapitalanlage=" + f("efh_kapitalanlage").value;

        if(type == "grp1") { // ETW
            url += "&zimmer=" + f("etw_zimmer").value;
            url += "&preis=" + f("etw_preis").value;
            if(f("etw_bezugsfrei").checked) url += "&bezugsfrei=" + f("etw_bezugsfrei").value;
            if(f("etw_kapitalanlage").checked) url += "&kapitalanlage=" + f("etw_kapitalanlage").value;
        } else if(type == "grp2") { // EFH
            url += "&preis=" + f("efh_preis").value;
            if(f("efh_bezugsfrei").checked) url += "&bezugsfrei=" + f("efh_bezugsfrei").value;
            if(f("efh_kapitalanlage").checked) url += "&kapitalanlage=" + f("efh_kapitalanlage").value;
        } else if(type == "grp3") { // WGH
            url += "&preis=" + f("wgh_preis").value;
        }

        url += "&erwerbsmodus=" + f("erwerbsmodus").value;
        url += "&ort=" + f("ort").value;

    } else if(f("ort") != null) {
        url += "&ort=" + f("ort").value;
    }

    if(f("nutzungsart") != null && f("nutzungsart").value != "") {
        url += "&nutzungsart=" + f("nutzungsart").value;
    }

    return url;
}

function f(name)
{
	return document.getElementsByName(name)[0];
}

var oldType = 0;

function updateSearchForm()
{
    var form = document.getElementById("SearchForm");
    var type = f("type").value;

    // Orte anhand des Bundeslandes nachladen (wenn nötig)
    var region = f("region").value;
    if(bundesland != region || oldType != type) {
        collapseExtendedSearch();
        resetExtendedSearch();

        if(region == "0") {
            $("#ort").html("<option value=\"0\" selected>Wählen Sie ein Bundesland</option>");
            //$("#mySelectBox option[value=myvalue]").attr("selected", "true");
        } else {
            var url = baseUrl+"factory.php?request=CityOptions";
            url += getSearchArguments();
            $("#ort").load(url);
        }

        if(type == "grp4" || type == "grp6") {
            var url_n = baseUrl + "factory.php?request=Nutzungsarten";
            url_n += getSearchArguments();
            $("#nutzungsart").load(url_n);
        }
    }

    oldType = type;
    bundesland = region;

    // Nur spezifische Optionen anzeigen
    

    if(type != typ) {
        collapseExtendedSearch();
        resetExtendedSearch();
        if(type == "grp1") {
            $(".etw").css("display", "block");
            $(".efh").css("display","none");
            $(".wgh").css("display","none");
            $(".gew").css("display","none");
        } else if(type == "grp2") {
            $(".etw").css("display", "none");
            $(".efh").css("display", "block");
            $(".wgh").css("display", "none");
            $(".gew").css("display", "none");
        } else if(type == "grp3") {
            $(".wgh").css("display", "block");
            $(".efh").css("display", "none");
            $(".etw").css("display", "none");
            $(".gew").css("display", "none");
        } else {
            $(".etw").css("display", "none");
            $(".efh").css("display", "none");
            $(".wgh").css("display", "none");
            $(".gew").css("display", "none");
        }

        if(type == "grp4" || type == "grp6") {
            $(".gew").css("display", "block");
        }

        typ = type;        
    }

    // Dekoration
    if(region == "BE") {
        $("#ortBez").text("Stadtteil");
    } else {
        $("#ortBez").text("Ort");
    }
}

/*============== PAGING ======================= */

var g_previousResultPage = 0;

function showResultPage(page,pages)
{
    if(numResultPages == 1) return false;
    var set = false;

    for(var i=1;i<=pages;i++)
    {
            var className = ".page"+i;
            var selector = ".pageSelector" + i;

            if(i == page) {
                    $(className).removeClass("hidden");
                    $(selector).addClass("current");
                    g_previousResultPage = i;
                    set = true;
            } else {
                    $(className).addClass("hidden");
                    $(selector).removeClass("current");
            }
    }

    if(!set) {
        var tPage = ".page"+g_previousResultPage;
        var tSel = ".pageSelector"+g_previousResultPage;

        $(tPage).removeClass("hidden");
        $(tSel).addClass("current");
    }

    return false;
}

function popup(name, url)
{
    window.open(url, name, "dependent=yes, width=600, height=400, location=no, menubar=no, resizable=yes, status=no, toolbar=no, left=200, top=200, scrollbars=yes");
    return false;
}
