﻿
$("select, input", searchForm).attr("disabled", "disabled");

$("input[name='rms']", searchForm).click(function(event)
{

var rms="";
$("input[name='rms']:checked", searchForm).each( function () {rms = rms + $(this).val() + ","; });
rms = rms.replace(/,$/,"");
$("#rms", searchForm).val(rms);

}

);


$("#cat", searchForm).change(onCatChange);



$("#loc", searchForm).change(function(event)
{
var loc =	$(this).val();
onLocationChange(loc);
}
);



function getSearchParamsStr()
{
return serializeElements(searchForm, ['rn','rd', 'twn', 'rms', 'pf', 'pt', 'sf', 'st', 'und', 'df','dt']);
}


function getFullSearchParamsStr() // for subscription
{
var str = "";
var cnt = $("#cnt", searchForm).val();
var op = $("#op", searchForm).val();
var loc = $("#loc", searchForm).val();
var catPath = $("#cat option:selected",searchForm).attr("path");

str += "op_name=" + opName[String(op)] +"&";
str +=  "cnt_name=" + cntName[String(cnt)] +"&";

if (cnt == 138)
	str += "loc_name=" + locName[String(loc)] +"&";

str += "cat_name=" + catPath  +"&";
str += getSearchParamsStr();
return str;
}


$("#btn_search", searchForm).click(function(){

var url = "/realty/";
var params = getSearchParamsStr();

var cnt = $("#cnt", searchForm).val();
var op = $("#op", searchForm).val();
var loc = $("#loc", searchForm).val();
var catPath = $("#cat option:selected",searchForm).attr("path");

url += opName[String(op)] +"/";
url += cntName[String(cnt)] +"/";
url += (cnt == 138 ? locName[String(loc)] : "all" )+ "/";
url += catPath +"/";
if (params != "")
url += "?" + params;

window.location = url;
return false;
});

$("#location", searchForm).click(function(){

var cnt =	$("#cnt", searchForm).val();
if (cnt != 138)
return false;

var loc =	$("#loc", searchForm).val();
if (loc == 1 || loc == 2)
showMetro(loc);
else
showLocations(loc);

return false;

});


$("#btn_location_clear").click(function(){
$("#dlg_locations input:checked").each(function(){$(this).attr("checked", ""); });
$("select[name='df']").val("");
$("select[name='dt']").val("");

});


$("#btn_location_select").click(function(){


var df = $("select[name='df']").val();
$("#df", searchForm).val(df);

var dt = $("select[name='dt']").val();
$("#dt", searchForm).val(dt);

var rd=""; var rdCount = 0;
$("input[name='rd']:checked").each( function () {rdCount++; rd = rd + $(this).val() + ","; });
rd = rd.replace(/,$/,"");
$("#rd", searchForm).val(rd);

var rn=""; var rnCount = 0;
$("input[name='rn']:checked").each( function () {rnCount++; rn = rn + $(this).val() + ","; });
rn = rn.replace(/,$/,"");
$("#rn", searchForm).val(rn);

var twn=""; var twnCount = 0;
$("input[name='twn']:checked").each( function () {twnCount++; twn = twn + $(this).val() + ","; });
twn = twn.replace(/,$/,"");
$("#twn", searchForm).val(twn);


if (rdCount + rnCount + twnCount + Number(df) + Number(dt) > 0)
			{	var caption = "Выбрано ";
			if (rdCount > 0) caption += "шоссе: " + rdCount + "; ";
			if (rnCount > 0) caption += "районов: " + rnCount + "; ";
			if (twnCount > 0) caption += "городов: " + twnCount + "; ";

		if (df > 0 && dt > 0)
		{
		caption += " "+df+"-"+dt+" км";
		} else if (df > 0)
		{
		caption += " от "+df+" км";
		}
		else if (dt > 0)
		{
		caption += " до "+dt+" км";
		}

//caption = caption.replace(/;\s$/,"");

$("#location", searchForm).text(caption);

}
else
{
$("#location", searchForm).text(anyLocation);
}

$("#dlg_locations").dialog("close");

});



$("select, input", searchForm).removeAttr("disabled");
$("#any_loc", searchForm).attr("disabled", "disabled");


function onCatChange()
{
var cat = Number($(this).val());
var ot =	Number($("option:selected",this).attr("ot"));

$("#ot", searchForm).val(ot);

if (cat == 110 || cat == 1110 || ot==201 || ot == 202 || ot == 211)
{
$("#view_rms", searchForm).show();

}
else
{
$("#view_rms", searchForm).hide();
$("input[name='rms']", searchForm).each(function () {$(this).attr("checked", false);   } );
$("#rms", searchForm).val('');
}

if (ot == 204 )
{
$("#squareLand_panel", searchForm).show();
$("#square_panel", searchForm).hide();
}
else
{
$("#squareLand_panel", searchForm).hide();
$("#square_panel", searchForm).show();
}


$("#squareLand", searchForm).attr("selectedIndex", 0);
$("#square", searchForm).attr("selectedIndex", 0);
$("#sf", searchForm).val('');
$("#st", searchForm).val('');

}




function onCountryChange(id)
{
clearFields();

var location = $("#location", searchForm);
var opVal = $("#op", searchForm).val();

if (id == 138)
{

    $("#view_loc", searchForm).show();
    $("#view_any_loc", searchForm).hide();
    

setCategory(opVal, 151);

} else
{

$(location).text(anyLocation);
$(location).addClass("disabled_loc");
$("#view_loc", searchForm).hide();
$("#view_any_loc", searchForm).show();


    

setCategory(opVal, 152);

}


}


function clearFields()
{
$("#rd", searchForm).val('');
$("#rn", searchForm).val('');
$("#twn", searchForm).val('');
$("#und", searchForm).val('');
$("#df", searchForm).val('');
$("#dt", searchForm).val('');
}


function onLocationChange(id)
{
clearFields();

var location = $("#location", searchForm);

if (id == 1 || id == 2)
$(location).text(anyStation);
else
$(location).text(anyLocation);

$(location).removeClass("disabled_loc");

}

function swapHtml(id1, id2)
{
var obj1 = $(id1);
var obj2 = $(id2);
var tmpHtml = obj1.html();
obj1.html(obj2.html());
obj2.html(tmpHtml);
}

function showMetro(loc)
{

var so = new SWFObject("/images/metro_"+loc+".swf", "metro_"+loc, "624", (loc == 1 ? "743" : "650"), "8", "#ffffff");
so.addParam("allowScriptAccess", "always");

so.addVariable("selectHandler", "selectMetro");
so.addVariable("uids", $("#und").val());
so.write("metro_wrapper");

var dlg_metro = $("#dlg_metro");

if(!dlg_metro.hasClass("ui-dialog-content"))
{
dlg_metro.dialog
({
autoOpen: false,
modal: true,
width: 653,
height: 840,
dialogClass: "popupDialog",
position: ['center', ($.browser.opera ? 10 : 'center')],
resizable: false,
overlay: { opacity: 0.5, background: "" },
close: function() {  }
});
dlg_metro.show();
}


dlg_metro.dialog("open");

}

function selectMetro(uids)
{
$("#und").val(uids);
if (uids == '')
$("#location").text(anyStation);
else
$("#location").text('Выбрано станций: ' + uids.split(",").length);

$("#dlg_metro").dialog("close");

}


function showLocations(loc)
{

var params = serializeElements(searchForm, ['loc','rn', 'rd', 'twn', 'cat','df','dt']);

var loc_url = "/controls/childlocations.aspx?" + params + "&rnd=0";

$.get(loc_url + Math.random(), null,
function(data){
if (!data || data == '')
$.get(loc_url + Math.random(), null, function(data){setLocationsAndShow(data);});
else
setLocationsAndShow(data);

});


}


function setLocationsAndShow(data)
{
if (data == '')
return;

var dlg_locations = $("#dlg_locations");

if(!dlg_locations.hasClass("ui-dialog-content"))
{

dlg_locations.dialog
({
autoOpen: false,
modal: true,
width: 500,
height: 560,
dialogClass: "popupDialog",
position: ['center', ($.browser.opera ? 10 : 'center')],
resizable: false,
overlay: { opacity: 0.5, background: "" },
close: function() {  }
});
dlg_locations.show();

}

$("#locations_wrapper").html(data);
dlg_locations.dialog("open");
}


function setCategory(operation, place)
{

$("#cat_wrap").html("<select id='cat' name='cat'>" + $("#cat_" + operation + "_" + place).html() + "</select>");
$("#cat", searchForm).change(onCatChange);
}




function showNewObjectsSubscr(searchParams) {

    if (!isAuth && popupForm) {
        popupForm.onLogin = function() { showNewObjectsSubscrForm(searchParams); popupForm.hideLoginForm(); }
        popupForm.onClose = function() { popupForm.onLogin = null; }
        popupForm.showLoginForm();
    }
    else {
        showNewObjectsSubscrForm(searchParams);
    }  
    

}

function showNewObjectsSubscrForm(searchParams) {
    var url = "/controls/AJAXWrapper.aspx?ctrl=NewObjectsSubscription&" + searchParams;
    $.get(url, function(data) { showMessage(data, 450); });
}

