// de query var q = {}; q.list = {}; q.map = {}; // de sliders var sliders = new Hash(); // klaar? var inited = false; function init() { // interface initInterface(); // eerdere q? var found_q = false; if ($chk(Cookie.read('q'))) { var q_try = {}; try { q_try = JSON.decode(Cookie.read('q')); } catch(e) { q_try = false; } if (q_try) { q = q_try; found_q = true; } } if (found_q) { var slider = sliders.get('price_sale'); slider.el.setMin(slider.range.lookup(q.price_sale[0])); slider.el.setMax(slider.range.lookup(q.price_sale[1])); var slider = sliders.get('price_rent'); slider.el.setMin(slider.range.lookup(q.price_rent[0])); slider.el.setMax(slider.range.lookup(q.price_rent[1])); var slider = sliders.get('floorspace'); slider.el.setMin(slider.range.lookup(q.floorspace[0])); slider.el.setMax(slider.range.lookup(q.floorspace[1])); var slider = sliders.get('rooms'); slider.el.setMin(slider.range.lookup(q.rooms[0])); slider.el.setMax(slider.range.lookup(q.rooms[1])); // selecteer types var div_type = $('div_type'); if (q.types && q.types.length > 0) { //console.log(q.types); //$('a_type').set('html', 'Wijzig selectie'); $$(div_type.getElementsByTagName('input')).each(function(input) { if (q.types.indexOf(input.value) >= 0) { input.checked = true; } }); } else { // selecteer allemaal $$(div_type.getElementsByTagName('input')).each(function(input) { input.checked = true; }); q.types = ["0", "1", "2", "3", "4", "5", "6"]; //$('a_type').set('html', 'Selecteer'); } // selecteer groups var div_group = $('div_group'); if (q.groups && q.groups.length > 0) { $('a_group').set('html', 'Wijzig selectie'); $$(div_group.getElementsByTagName('input')).each(function(input) { if (q.groups.indexOf(input.value) >= 0) { input.checked = true; } }); } else { // selecteer allemaal $$(div_group.getElementsByTagName('input')).each(function(input) { input.checked = true; }); $('a_group').set('html', 'Selecteer'); } } else { // defaults q.salerent = 1; q.price_sale = [0, -1]; q.price_rent = [0, -1]; q.floorspace = [0, -1]; q.rooms = [0, -1]; q.list.orderby = 'price'; q.map.lat = 52.352; q.map.lng = 4.81; q.map.zoom = 11; // selecteer alle types q.types = ["0", "1", "2", "3", "4", "5", "6"]; var div_type = $('div_type'); $$(div_type.getElementsByTagName('input')).each(function(input) { input.checked = true; }); } // welke tab? if (document.location.href.indexOf('lijst') > 0) q.tab = 'list'; else q.tab = 'map'; initializeMap(); selectTab(); selectSort(q.list.orderby); selectSaleRent(q.salerent); update(); inited = true; } function update() { if (flagNoUpdate) { // even niets flagNoUpdate = 0; } else { // bewaar Cookie.write('q', JSON.encode(q), {duration: 1000, path: '/'}); // indicator $('indicator').setStyle('display', 'block'); if (q.tab == 'map') { updateMap(); if (window._Mtrack) _Mtrack('Update kaart'); } else if (q.tab == 'list') { updateList(); if (window._Mtrack) _Mtrack('Update lijst'); } } }