﻿function selectedValue(ddl) {
	return parseInt($(ddl).children('option:selected').val());
}
//Прячет маркеры, связанные с выпадающим списком и отображает только текущий
//ddl	-	DropDownList для которого следует подбирать tooltip-ы
//markerId	-	 id of html-элемента, который должен показывать tooltip
function showMarkerTipForDdl(ddl, markerId) {
	$('[id*="' + markerId + '"]').hide();
	if (selectedValue(ddl) > 0) {
		var markerSelector = '#' + markerId + selectedValue(ddl);
		ShowToolTip($(markerSelector), $(markerSelector).attr("description"), 'tooltipFilter',[0,0]);
		$(markerSelector).show();
	}
}
function showMarker(selector, idToShow, showingValue) {
	if ($($(selector).children('option:selected')).val() == showingValue)
		$('#' + idToShow).show()
	else 
		$('#' + idToShow).hide();
}
function HideControlWhenCheckBoxChecked(data) {
	var cbxSelector = data.cbxSelector;
	var showOnCheckControlIds = data.showOnCheckControlIds;
	var showOnUncheckControlIds = data.showOnUncheckControlIds;
	var tmpSelector;
	if ($(cbxSelector).attr("checked") == true) {
		for (var i = 0; i < showOnCheckControlIds.length; i++)
			$('#' + showOnCheckControlIds[i].hideId).show();
		for (var i = 0; i < showOnUncheckControlIds.length; i++) {
			clearAndHide(showOnUncheckControlIds[i]);		
		}
	}
	else {	//unchecked
		for (var i = 0; i < showOnCheckControlIds.length; i++)
			clearAndHide(showOnCheckControlIds[i]);
		for (var i = 0; i < showOnUncheckControlIds.length; i++)
			$('#' + showOnUncheckControlIds[i].hideId).show();
	}
}
function clearAndHide(hideParams) {
	$('#' + hideParams.hideId).hide();
	//от-до
	$('#' + hideParams.hideId).children('input[type="text"]').each(function() {
		$(this).val('');
		$(this).trigger('change'); //watermark recovery
	});
	var defVal = typeof (hideParams.defVal) != "undefined" ? hideParams.defVal : "";
	$('#' + hideParams.hideId).children('input[type="checkbox"]').attr("checked", defVal);
	$('#' + hideParams.hideId).children('select').val(defVal);
}
function edtiCssIfHidden(args) {
	var causeCtrlId = args.CauseCtrlId;
	var dependentCtrlId = args.DependentCtrlId;
	var causeCtrl = $('#' + causeCtrlId)[0];
	var causeCtrlExist = $('#' + causeCtrlId).length > 0;
	
	if (!causeCtrlExist	//конотрола нет на странице
		|| $(causeCtrl).css('display') == 'none')	//контрол спрятан
		$('#' + dependentCtrlId).css('padding-left', '0'); //чистим
	else
		$('#' + dependentCtrlId).css('padding-left', '8px');  //обновляем
}

oMainPageFilter = function(elm) {
    this.Elm = "#" + elm;
    this.Url = "/realtyfilter/MainMenuFilter/";
    instMainPageFilter = this;
    this.Refresh = function(realty) {
        $.ajax({
            type: 'POST',
            url: this.Url,
            data: { RealtyType: realty, Region: $("[name=region]").val(), DistrictIds: $("[name=districtIds]").val(), SubDistrictIds: $("[name=subdistrictIds]").val() },
            dataType: 'html',
            success: function(data) {
                $(instMainPageFilter.Elm).html(data);
            }
        });
        return false;
    }
}
