var thisServer = getServerAddress();
var visibleTab = new Object();
visibleTab.id = "inited";
function goToKohde(frm)
{
if(!frm || !frm.kid)
return false;
var kidID = frm.kid.value;
var styp = "v";
if(frm.styp)
styp = frm.styp.value;
if(kidID != "" && (styp == "v" || styp == ""))
document.location='/cps//sato/hs.xsl/-/html/kohteentiedot_'+ kidID + '.htm';
else if(kidID != "" && styp == "o")
document.location='/cps//sato/hs.xsl/-/html/omistuskohde_'+ kidID + '.htm';
// else
// alert("KipiID is empty")
return false;
}
function loadSeniorCities(objID, seniortype) {
clearSelectBox(objID);
//loadCitylist("2");
loadCitiesCached(seniortype, objID)
}
function loadRentalCities(objID) {
clearSelectBox(objID);
//loadCitylist("2");
loadCitiesCached("v", objID)
}
function loadOwnedCities(objID) {
clearSelectBox(objID);
//loadCitylist("1");
loadCitiesCached("o", objID)
}
function loadCitiesCached(typ, objID) {
clearSelectBox(objID);
var Cities;
if (!typ || typ == null)
return;
if (typ == "v" || typ == "sv")
Cities = v_cities;
if (typ == "o" || typ == "so")
Cities = o_cities;
var selectedCity = -1;
var selectedCityValue = -1;
var qCity = $.query.get('dd_city');
if (!sTyp)
var sTyp = $.query.get('styp');
for (var c = 0; c < Cities.length; c++) {
// senior should check the seniorcount
if (typ.length == 2 && Cities[c].senior == "0")
continue;
if (Cities[c].id == qCity) {
// selectedCity = c + 1;
selectedCity = c;
selectedCityValue = Cities[c].id;
}
var v_myNewOption = new Option(Cities[c].name, Cities[c].id);
var vCityList = document.getElementById(objID);
if (vCityList)
vCityList.options[vCityList.options.length] = v_myNewOption;
}
// If querystring hs dd_city set select appropriate item
if (qCity && qCity != "" && selectedCity != -1 && sTyp) {
if (vCityList && sTyp != "") {
vCityList.selectedIndex = selectedCity;
}
}
// Set events for SelectBox
setSelectBoxEvents(typ);
}
function clearSelectBox(objID) {
var List = document.getElementById(objID);
if (List == null)
return;
while (List.options.length > 0) {
List.options[0] = null;
}
}
function updateResultCountOmistus(callbackfunc) {
var url = thisServer + "/cps/SearchOmistusWeblet?dd_publish_status=1&dd_livingform=1&dd_countonly=true";
// City
var citySelection = new selectionList("o_cityList");
if (citySelection.obj) {
url = url + "&dd_city=" + ((citySelection.selectedValue == "") ? "9999" : citySelection.selectedValue).toString();
var sText = document.getElementById('o_cityname');
if (sText)
sText.value = citySelection.selectedText;
}
// Area
var areaSelection = new selectionList("o_areaList");
if (areaSelection.obj) {
url = url + "&dd_district=" + areaSelection.selectedValue;
}
url = url + "&dd_pricefrom=" + document.getElementById('o_dd_pricefrom').value;
url = url + "&dd_priceto=" + document.getElementById('o_dd_priceto').value;
url = url + "&dd_areafrom=" + document.getElementById('o_dd_areafrom').value;
url = url + "&dd_areato=" + document.getElementById('o_dd_areato').value;
var con = new AJAXConnection("conDoOmistusUpdateResultCount");
con.xmlhttpPost(url, "GET", new doOmistusUpdateResultCount(callbackfunc));
}
function getResultCount(xmlObj) {
if ($.isXMLDoc(xmlObj)) {
if (xmlObj.nodeName == "long")
return parseInt(xmlObj.firstChild.nodeValue);
if (document.all)
return parseInt(xmlObj.documentElement.firstChild.nodeValue);
}
return 0;
}
function doOmistusUpdateResultCount(callbackfunc) {
this.className = 'stateCityChanged';
// callBackFunction must exist
this.callBackFunction = function(xmlResultObject) {
document.getElementById('o_hakutulos').innerHTML = "";
var resultCount = getResultCount(xmlResultObject);
if (resultCount > 0) {
document.getElementById('o_hakutulos').innerHTML = 'Hakuehdoilla löytyy ' + resultCount.toString() + ' kohdetta';
} else {
var errMessage = getHoverData("omistusNotAvailable").text;
if (errMessage != "") {
document.getElementById('o_hakutulos').innerHTML = errMessage;
}
}
var ob = document.getElementById("o_submitter");
ob.className = ob.className.replace(/_disabled/g, "");
if (ob) {
ob.disabled = (resultCount == "0");
if (ob.disabled)
ob.className = ob.className.replace(/form_submit/g, "form_submit_disabled");
}
if (typeof callbackfunc == 'object')
callbackfunc;
}
}
function updateResultCountSeniori(callbackF) {
// livingform is rent if first radiobutton is checked
var livingForm = $("input[@name='seniorType']")[0].checked?2:1;
var citySelection = new selectionList("s_acdc");
// Disabled the SearchWeblet
if(livingForm == 2){
var arrayIndex = jQuery.inArray(true,
jQuery.map(v_cities,
function(o) {
return o.id == citySelection.selectedValue;
}
)
);
setSenioriHTML(parseInt(v_cities[arrayIndex].senior),"seniorNotAvailableSV");
return;
}else{
var arrayIndex = jQuery.inArray(true,
jQuery.map(o_cities,
function(o) {
return o.id == citySelection.selectedValue;
}
)
);
setSenioriHTML(parseInt(o_cities[arrayIndex].senior),"seniorNotAvailableSO");
return;
}
var url = thisServer + "/cps/SearchWeblet?dd_publish_status=2&dd_countonly=true&dd_senior=true";
// City
if (citySelection.obj) {
url = url + "&dd_city=" + citySelection.selectedValue;
}
url += "&dd_livingform=" + livingForm.toString();
var con = new AJAXConnection("conSenioriUpdateResultCount");
con.xmlhttpPost(url, "GET", new doSenioriUpdateResultCount(callbackF));
}
function setSenioriHTML(resultCount, mouseoverindex){
if(!mouseoverindex)
mouseoverindex = "seniorNotAvailableSO";
if (resultCount == 0) {
var errMessage = getHoverData(mouseoverindex).text;
if (errMessage != "") {
document.getElementById('s_hakutulos').innerHTML = errMessage;
}
} else {
document.getElementById('s_hakutulos').innerHTML = 'Hakuehdoilla löytyy ' + resultCount.toString() + ' asuntoa';
}
var sb = document.getElementById("s_submitter");
sb.className = sb.className.replace(/_disabled/g, "");
if (sb) {
sb.disabled = (resultCount == "0");
if (sb.disabled)
sb.className = sb.className.replace(/form_submit/g, "form_submit_disabled");
}
}
function doSenioriUpdateResultCount(callbackF) {
this.className = 'stateCityChanged';
// callBackFunction must exist
this.callBackFunction = function(xmlResultObject) {
var resultCount = getResultCount(xmlResultObject);
setSenioriHTML(resultCount,"seniorNotAvailableSO");
if (typeof callbackF == 'object')
callbackF;
}
}
function updateResultCountVuokra(callbackF) {
var url = thisServer + "/cps/SearchWeblet?dd_publish_status=2&dd_livingform=2&dd_countonly=true";
// City
var citySelection = new selectionList("v_cityList");
if (citySelection.obj) {
url = url + "&dd_city=" + ((citySelection.selectedValue == "") ? "9999" : citySelection.selectedValue).toString();
//var sText = document.getElementById('v_cityname');
//if (sText)
// sText.value = citySelection.selectedText;
}
// Area
var areaSelection = new selectionList("v_areaList");
if (areaSelection.obj) {
url = url + "&dd_district=" + areaSelection.selectedValue;
}
// Rooms
if (document.getElementById('v_r1').checked == true) { url = url + "&dd_1r=1"; }
if (document.getElementById('v_r2').checked == true) { url = url + "&dd_2r=1"; }
if (document.getElementById('v_r3').checked == true) { url = url + "&dd_3r=1"; }
if (document.getElementById('v_r4').checked == true) { url = url + "&dd_4r=1"; }
if (document.getElementById('v_r5').checked == true) { url = url + "&dd_5r=1"; }
// Quality
if (document.getElementById('v_s5').checked == true) { url = url + "&dd_c5=1"; }
if (document.getElementById('v_s4').checked == true) { url = url + "&dd_c4=1"; }
if (document.getElementById('v_s3').checked == true) { url = url + "&dd_c3=1"; }
if (document.getElementById('v_s2').checked == true) { url = url + "&dd_c2=1"; }
// Area and rent
url = url + "&dd_areafrom=" + document.getElementById('v_dd_areafrom').value;
url = url + "&dd_areato=" + document.getElementById('v_dd_areato').value;
url = url + "&dd_rentfrom=" + document.getElementById('v_dd_rentfrom').value;
url = url + "&dd_rentto=" + document.getElementById('v_dd_rentto').value;
// Sauna(dd_f2),Balcony(dd_f1),Elevator(dd_f3)
if (document.getElementById('v_terrace').checked == true) { url = url + "&dd_f1=true"; }
if (document.getElementById('v_elevator').checked == true) { url = url + "&dd_f3=true"; }
if (document.getElementById('v_sauna').checked == true) { url = url + "&dd_f2=true"; }
// New only
if (document.getElementById('v_newHouse').checked == true) { url = url + "&dd_no=true"; }
var con = new AJAXConnection("Conn");
con.xmlhttpPost(url, "GET", new doVuokraUpdateResultCount(callbackF));
}
function doVuokraUpdateResultCount(callbackF) {
this.className = 'doVuokraUpdateResultCount';
// callBackFunction must exist
this.callBackFunction = function(xmlResultObject) {
var resultCount = getResultCount(xmlResultObject);
document.getElementById('v_hakutulos').innerHTML = "";
if(resultCount > 0){
document.getElementById('v_hakutulos').innerHTML = 'Hakuehdoilla löytyy ' + resultCount.toString() + ' asuntoa';
} else {
var errMessage = getHoverData("vuokraNotAvailable").text;
if (errMessage != "") {
// Replace certain strings from errMessage if they appear
// URL must be formatted as : #?cityID=@cityID®ion=@region
errMessage = errMessage.replace(/@cityID/g, $("#v_cityList").val());
errMessage = errMessage.replace(/@region/g, $("#v_areaList").val());
document.getElementById('v_hakutulos').innerHTML = errMessage;
}
}
var vb = document.getElementById("v_submitter");
vb.className = vb.className.replace(/_disabled/g, "");
if (vb) {
vb.disabled = (resultCount == "0");
if (vb.disabled)
vb.className = vb.className.replace(/form_submit/g, "form_submit_disabled");
}
if (typeof callbackF == 'object')
callbackF;
}
}
// Set events for various seect lists
function setSelectBoxEvents(prefix) {
var vSel = document.getElementById(prefix + "_acdc");
if (vSel) {
vSel.onchange = function() {
if ($("#" + prefix + "_ac_me")[0].autocompleter) {
$("#" + prefix + "_ac_me")[0].autocompleter.setExtraParams(
{
dd_city: vSel.options[vSel.selectedIndex].value
}
);
}
}
}
}
function setCityListEvents() {
setSelectBoxEvents("v");
//setSelectBoxEvents("o");
}
function loadCitylist(livingform) {
if (!livingform)
var livingform = "1";
setCityListEvents();
var url = thisServer + "/cps/CityWeblet?dd_livigform=" + livingform;
var con = new AJAXConnection("CityList");
con.xmlhttpPost(url, "GET", new stateCityChanged());
}
function clearAreaList(listid) {
var Alist = document.getElementById(listid + 'areaList');
while (Alist.options.length > 0) {
Alist.options[0] = null;
}
}
function loadArealist(cityId, searchId) {
var Cities;
if (!searchId || searchId == null)
return;
if (searchId == "v_" || searchId == "sv")
Cities = v_cities;
if (searchId == "o_" || searchId == "so")
Cities = o_cities;
clearAreaList(searchId);
document.getElementById(searchId + 'areaList').options[0] = new Option("Kaikki alueet", "");
for (var a = 0; a < Cities.length; a++) {
if (Cities[a].id == cityId) {
areaChanged(Cities[a], searchId);
}
}
//var url = thisServer + "/cps/AreaWeblet?cityId=" + cityId;
//var con = new AJAXConnection(searchId + "loadArealist");
//con.xmlhttpPost(url, "GET", new stateAreaChanged(searchId));
}
function stateCityChanged(param, sTyp) {
this.className = 'stateCityChanged';
// callBackFunction must exist
this.callBackFunction = function(xmlCityObject) {
var selectedCity = -1;
var selectedCityValue = -1;
var qCity = $.query.get('dd_city');
if (!sTyp)
var sTyp = $.query.get('styp');
cityNodeList = xmlCityObject.getElementsByTagName('vacity');
for (var iNode = 0; iNode < cityNodeList.length; iNode++) {
var cityNode = cityNodeList.item(iNode);
var kaupunkiId = cityNode.getElementsByTagName('kaupunkiId')[0].childNodes[0];
if (parseInt(kaupunkiId.textContent || kaupunkiId.text) == qCity) {
selectedCity = iNode + 1;
selectedCityValue = parseInt(kaupunkiId.textContent || kaupunkiId.text);
}
var kaupunkiNimi = cityNode.getElementsByTagName('nimi')[0].childNodes[0];
var v_myNewOption = new Option(kaupunkiNimi.nodeValue, kaupunkiId.nodeValue);
var o_myNewOption = new Option(kaupunkiNimi.nodeValue, kaupunkiId.nodeValue);
var s_myNewOption = new Option(kaupunkiNimi.nodeValue, kaupunkiId.nodeValue);
var vc_myNewOption = new Option(kaupunkiNimi.nodeValue, kaupunkiId.nodeValue);
var vCityList = document.getElementById("v_cityList");
if (vCityList)
vCityList.options[vCityList.options.length] = v_myNewOption;
var oCityList = document.getElementById("o_cityList");
if (oCityList)
oCityList.options[oCityList.options.length] = o_myNewOption;
var sCityList = document.getElementById("s_adcd");
if (sCityList)
sCityList.options[sCityList.options.length] = s_myNewOption;
var vcList = document.getElementById("v_acdc");
if (vcList)
vcList.options[vcList.options.length] = vc_myNewOption;
}
// If querystring hs dd_city set select appropriate item
if (qCity && qCity != "" && selectedCity != -1 && sTyp) {
if (sCityList && sTyp == "s") { sCityList.selectedIndex = selectedCity; cityChanged(selectedCityValue, "s_"); }
if (vCityList && sTyp == "v") { vCityList.selectedIndex = selectedCity; cityChanged(selectedCityValue, "v_"); }
if (oCityList && sTyp == "o") { oCityList.selectedIndex = selectedCity; cityChanged(selectedCityValue, "o_"); }
}
}
}
function stateAreaChanged(searchId) {
this.className = 'stateAreaChanged';
// callBackFunction must exist
this.callBackFunction = function(xmlAreaObject) {
var areaNodeList = xmlAreaObject.getElementsByTagName('district');
if (!areaNodeList)
return;
var selectedAreaID = -1;
var qArea = $.query.get('dd_district');
for (var iNode = 0; iNode < areaNodeList.length; iNode++) {
var areaNode = areaNodeList.item(iNode);
var areaId = areaNode.getElementsByTagName('kaupunginosaId')[0].firstChild;
if (parseInt(areaId.textContent || areaId.text) == qArea)
selectedAreaID = iNode;
var areaNimi = areaNode.getElementsByTagName('nimi')[0].firstChild;
var myNewOption = new Option(areaNimi.nodeValue, areaId.nodeValue);
document.getElementById(searchId + 'areaList').options[document.getElementById(searchId + 'areaList').options.length] = myNewOption;
}
if (selectedAreaID != -1)
document.getElementById(searchId + 'areaList').selectedIndex = selectedAreaID + 1;
}
}
function areaChanged(cityArr, searchId) {
if (!cityArr)
return;
if (!cityArr.regions)
return;
var selectedAreaID = -1;
var qArea = $.query.get('dd_district');
for (var i = 0; i < cityArr.regions.length; i++) {
var areaNode = cityArr.regions[i];
if (areaNode.id == qArea)
selectedAreaID = i;
var myNewOption = new Option(areaNode.name, areaNode.id);
var aopt = document.getElementById(searchId + 'areaList');
if (typeof aopt == 'object')
aopt.options[aopt.options.length] = myNewOption;
}
if (selectedAreaID != -1)
document.getElementById(searchId + 'areaList').selectedIndex = selectedAreaID + 1;
}
function cityChanged(cityvalue, searchId) {
if (searchId == 'v_') {
updateResultCountVuokra(new function() { loadArealist(cityvalue, searchId); });
} else if (searchId == 'o_') {
updateResultCountOmistus(new function() { loadArealist(cityvalue, searchId); });
} else if (searchId == 's_') {
updateResultCountSeniori(new function() { loadArealist(cityvalue, searchId); });
}
}