$(document).ready(function(){

    var activeRegions = new Array();
    $("a#refSearch").colorbox({inline:true});
    $("#refSearchDialog a").click(function() {
        var value = $.trim($("#refSearchDialog input").val());
        if (value == "") {
            return false;
        }
        else {
            window.location = "/vastgoed/detail/estateid/"+value;
        }
        return false;
    });
    $("#mapHolder area").mouseover(function() {
        $("div#regioplan"+$(this).attr("id")+"-active").removeClass("DN");
    }).mouseout(function() {
        var name = $(this).attr("id");
        if ($.inArray(name, activeRegions) == -1) {
            $("div#regioplan"+$(this).attr("id")+"-active").addClass("DN");
        }
    }).click(function() {
        var name = $(this).attr("id");
        if ($.inArray(name, activeRegions) == -1) {
            $("div#regioplan"+$(this).attr("id")+"-active").removeClass("DN");
            $('div#opsomming'+$(this).attr("id")).removeClass("DN");
            $('div#opsomming'+$(this).attr("id")).find("input[type='checkbox']").attr("checked", "checked");
            $("input#"+name.toLowerCase()+"CB").attr("checked", "checked");
            activeRegions.push(name);
        }
        else {
            $("div#regioplan"+$(this).attr("id")+"-active").addClass("DN");
            $('div#opsomming'+$(this).attr("id")).addClass("DN");
            $("input#"+name.toLowerCase()+"CB").removeAttr("checked");
            $('div#opsomming'+$(this).attr("id")).find("input[type='checkbox']").removeAttr("checked");
            activeRegions = $.grep(activeRegions, function(element) {
                if (element == name)
                    return false
                else
                    return true;
            });

        }
    });
    $("a.ui-slider-handle").live("mouseover", function() {
        _min = $("a#handle_priceMin").find(".ttContent").html();
        _max = $("a#handle_priceMax").find(".ttContent").html();
        _max = number_format(_max, 0, ",", ".") == 0 ? "onbelangrijk": number_format(_max, 0, ",", ".");
        $("span#minprijs").html(number_format(_min, 0, ",", "."));
        $("span#maxprijs").html(_max);
    });
    $("#proviBp input[type='checkbox']").change(function() {
        var name = $(this).attr("id").charAt(0).toUpperCase() + $(this).attr("id").replace("CB", "").substr(1);
        $("#mapHolder area#"+name).click();
    });
    
    formStatus_Change();
    $("input[name=substatus]").click(formStatus_Change);
    $("a#submit").click(function() {
       $("form#filters").submit();
       return false;
    });
    $("div#meeropties").slideUp();
	
	var uitgebreidzoeken = true;

	$("a#uitgebreidZoeken").click(function(){
		//alert("koe koe");
		if (uitgebreidzoeken == false){											
			$("div#meeropties").slideUp();
			$(this).html("Toon opties");
			uitgebreidzoeken = true;
		} else {
			$("div#meeropties").slideDown();
			$(this).html("Verberg opties");
			uitgebreidzoeken = false;
		}
		return false;
	});
	
	
	
	var wijzigResultaten = true;

	$("a#wijzigResultaten").click(function(){
		//alert("koe koe");
		if (wijzigResultaten == false){											
			$("div#galfiltersWrap").slideUp();
			$("#pasResultatenAanVergergToon").addClass("pasResultatenAanToon").removeClass("pasResultatenAanVergerg");
			$(this).html("Uw zoekcriteria wijzigen");
			$(this).addClass("down").removeClass("up");
			wijzigResultaten = true;
		} else {
			$("div#galfiltersWrap").slideDown();
			$("#pasResultatenAanVergergToon").addClass("pasResultatenAanVergerg").removeClass("pasResultatenAanToon");
			$(this).html("Uw zoekcriteria verbergen");
			$(this).addClass("up").removeClass("down");
			wijzigResultaten = false;
		}
		return false;
	});	
	
	$("#adjustResults").click(function(){
		//alert("koe koe");
		if (wijzigResultaten == true){											
			$("div.formOpkaart").fadeIn("fast");
			$("#pasResultatenAanVergergToon").addClass("pasResultatenAanVergerg").removeClass("pasResultatenAanToon");
			$("a#wijzigResultaten").html("Uw zoekcriteria verbergen");
			//$("a#wijzigResultaten").html("Uw zoekcriteria wijzigen");
			wijzigResultaten = false;
		} else {
			$("div.formOpkaart").fadeOut("fast");
			$("#pasResultatenAanVergergToon").addClass("pasResultatenAanToon").removeClass("pasResultatenAanVergerg");
			$("a#wijzigResultaten").html("Uw zoekcriteria wijzigen");
			//$("a#wijzigResultaten").html("Uw zoekcriteria verbergen");
			wijzigResultaten = true;
		}
		return false;
	});
});


var val;
var lastVal;
var status;
var lastStatus;
function setCitys() {
    val = $(this).val();
    if (val !== lastVal) {
        $.get("/vastgoed/ajaxregions",{region:val}, function(data){
            var parsed = eval(data);
            $("select#city option").remove();
            $.each(parsed, function(i, val) {
                $("select#city").append("<option value='"+ val.address_zip +"'>"+ val.address_city.toLowerCase() +"</option>");
            });
            $("select#city").show().removeAttr("disabled");
        });
        lastVal = val;
    }
}
function formStatus_Change() {
    status = $("input[name=substatus]:checked").val();
    if (status !== lastStatus) {
        if (status == "te koop") {
            setLists(0,1000000,50000, "onbelangrijk");
        }
        else if (status == "te huur") {
            setLists(0,2000,100, "onbelangrijk");
        }
        lastStatus = status;
    }
}
function setLists(_min, _max, _step, _dpmax) {
    $("select#priceMin option, select#priceMax option").remove();
    for (var i = _min; i<=_max; i=i+_step) {
      if (i < _max) {
          $("select#priceMin, select#priceMax").append("<option value='"+ i +"'>"+ i +"</option>");
      }
      else {
          $("select#priceMin, select#priceMax").append("<option value='"+ (_dpmax ? _dpmax:(_max-_min)) +"'>"+ (_dpmax ? _dpmax:(_max-_min)) +"</option>");
      }
    }

    if(!($.browser.msie && parseInt($.browser.version)<=6)) {
        $("select#priceMin option")[0]["selected"] = true;
        $("select#priceMax option")[$("select#priceMax option").size()-1]["selected"] = true;
    }

    $("span#minprijs").html(_min);
    //$("span#maxprijs").html(_max);
    $("span#maxprijs").html((_dpmax ? _dpmax:_max));

    $("#filters div.ui-slider").remove();
    $("#filters select#priceMin, #filters select#priceMax").hide().selectToUISlider({tooltip:true, labels:0});

}





function number_format (number, decimals, dec_point, thousands_sep) {
   
    number = (number + '').replace(/[^0-9+\-Ee.]/g, '');
    var n = !isFinite(+number) ? 0 : +number,
        prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
        sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
        dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
        s = '',
        toFixedFix = function (n, prec) {
            var k = Math.pow(10, prec);
            return '' + Math.round(n * k) / k;
        };
    // Fix for IE parseFloat(0.55).toFixed(0) = 0;
    s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
    if (s[0].length > 3) {
        s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
    }
    if ((s[1] || '').length < prec) {
        s[1] = s[1] || '';
        s[1] += new Array(prec - s[1].length + 1).join('0');
    }
    return s.join(dec);
}

