var smartSelect=function(a){return this._init(a)};smartSelect.prototype={_init:function(a){this.Selectors={place:[],type:[],kind:[],price:[],pType:[],build:[]};this.Attributes={kamers:[],perceel:[],woon:[]};this.smartNav=[];this.objectCount=0;this.smartMaxObj=5;this.recentAantal=5;this.recInfos=new String(document.getElementById("ssRecInfoIDs").value).split("~");this.selectFirst=0;this.curPreFilter=null;this._debug=false;this.smartPre=[];this.preFilters={skip:[],deny:[]};this.smartMap=null;this.devMode=false;this.xtraTekst=null;if(typeof a.gmaps!="undefined"){this.smartMap=a.gmaps}this.mySmartList=null;this._setup();this.addFilter();this.mySmartList=GR_SmartListInit({recInfo:this.recInfos,debug:this._debug,preFilter:this.curPreFilter,smartNav:this.smartNav});if(this._loadStorage()){this.addFilter();this._saveStorage()}this._saveStorage();if(this.selectFirst>0){ssDisplay("none")}},_setup:function(){this._setPageDesc("Default");if(gr_objExists(document.getElementById("ssSelectFirst"))){this.selectFirst=document.getElementById("ssSelectFirst").value}if(gr_objExists(document.getElementById("ssMaxObjects"))){this.smartMaxObj=document.getElementById("ssMaxObjects").value}if(gr_objExists(document.getElementById("ssRecentAantal"))){this.recentAantal=document.getElementById("ssRecentAantal").value}if(gr_objExists(document.getElementById("GoogleContainer"))){document.getElementById("GoogleContainer").style.display="none"}if(this.devMode){alert("DevMode activated. Let op er kunnen nu fouten optreden, maak je niet druk de module word geupdate.")}if((sParam=GetUrlParam("pre"))!==null){this.curPreFilter=this.getPre(sParam);this._setPageDesc(sParam)}else{if((sParam=GetUrlParam("snelzoek"))){this.curPreFilter=sParam;this._setPageDesc("99")}}if((sParam=GetUrlRewrite())!==null){this.curPreFilter=this.getPre(sParam);this._setPageDesc(sParam.toString())}if(this.curPreFilter!=null){if(this.curPreFilter=="INT_XTRATEKST"){if((sParam=GetUrlParam("xtraTekst"))!==null){this.setXtraTekst(unescape(sParam))}}else{this.addPre()}}else{if(document.getElementsByTagName){document.getElementsByTagName("body")[0].className="aanbod"}else{document.body.className="aanbod"}}},toggleGMap:function(){var b=document.getElementById("GoogleContainer");var a=document.getElementById("ObjectsContainer");if(b.style.display=="none"){document.getElementById("pageNav").style.visibility="hidden";document.getElementById("pageNavBottom").style.visibility="hidden";if(gr_objExists(document.getElementById("SortContainer"))){document.getElementById("SortContainer").style.visibility="hidden"}b.style.display="block";a.style.display="none"}else{document.getElementById("pageNav").style.visibility="visible";document.getElementById("pageNavBottom").style.visibility="visible";if(gr_objExists(document.getElementById("SortContainer"))){document.getElementById("SortContainer").style.visibility="visible"}b.style.display="none";a.style.display="block"}},GMapBalloon:function(a){if(this.smartMap==null){return}this.smartMap.map.panTo(this.smartMap.markers[a].getLatLng());this.smartMap.markers[a].openInfoWindowHtml(this.smartMap.markers[a].innerMap)},_loadStorage:function(){var f,d="";if(!getCookie("SmartSelect1")){return false}f=getCookie("SmartSelect1").split("~");for(var e=0,c=f.length;e<c;++e){d=f[e].split(",");for(var b=0;b<d.length;++b){if(d[b]==""){continue}if(e==0){this.getFilter("plaats").push(d[b])}else{if(e==1){this.getFilter("type").push(d[b])}else{if(e==2){this.getFilter("prijs").push(d[b])}}}}}if(this._debug){alert("DEBUG_[LOAD_STORAGE] place"+this.getFilter("plaats")+", type "+this.getFilter("type")+", price "+this.getFilter("prijs"))}this._setStorageSelect();return true},_setStorageSelect:function(){var c=document.getElementById("SearchContainer").getElementsByTagName("li");for(var b=0,a=c.length;b<a;++b){if(this.getFilter("plaats").indexOf(c[b].title)!=-1){c[b].className="filter_sel"}if(this.getFilter("type").indexOf(c[b].title)!=-1){c[b].className="filter_sel"}if(this.getFilter("prijs").indexOf(c[b].title)!=-1){c[b].className="filter_sel"}}},_saveStorage:function(a){var b=this.Selectors.place+"~"+this.Selectors.type+"~"+this.Selectors.price;if(!a){setCookieMin("SmartSelect1",b,5)}if(this._debug){alert("DEBUG_[SAVE_STORAGE] "+b)}b=this.smartNav;setCookieMin("SmartNav",b,5);if(this._debug){alert("DEBUG_[SAVE_PAGEINFO] "+b)}},clsFilter:function(d,b){var a=d.parentNode.getElementsByTagName("li");for(var e=0;e<a.length;++e){if(a[e].className=="filter_sel"){a[e].className="filter_norm"}}this.getFilter(b).splice(0,this.getFilter(b).length);this.addFilter();this._saveStorage();if(this._debug){alert("DEBUG_[CLS_FILTER] De filters uit de lijst: "+b+" zijn opgeruimd.")}},getFilter:function(a){switch(a){case"type":return this.Selectors.type;break;case"plaats":return this.Selectors.place;break;case"prijs":return this.Selectors.price;break;case"kamers":return this.Attributes.kamers;break;case"perceel":return this.Attributes.perceel;break;case"woon":return this.Attributes.woon;break;default:return null;break}return null},setFilter:function(b,a){var c;if(this.getFilter(a)==null){return}if((c=this.getFilter(a).indexOf(b.title))!==-1){this.getFilter(a).splice(c,1);b.className="filter_norm"}else{this.getFilter(a).push(b.title);b.className="filter_sel"}this.addFilter();this._saveStorage();if(this._debug){alert("DEBUG_[SET_FILTER] Filter: "+a+" met: "+b.title+" toegevoegd.")}},setSFilter:function(b,a){if(this.getFilter(a)==null){return}if(b.value=="geen"){this.getFilter(a).splice(0,1)}else{this.getFilter(a).splice(0,1,b.value)}this.addFilter();this._saveStorage();if(this._debug){alert("DEBUG_[SET_SFILTER] Filter: "+a+" met: "+b.value+" toegevoegd.")}},setXtraTekst:function(a){this.xtraTekst=a},getPre:function(a){var b=document.getElementById("ssPreFilter"+a);if(!gr_objExists(b)){return null}if(document.getElementsByTagName){document.getElementsByTagName("body")[0].className="aanbod"+a}else{document.body.className="aanbod"+a}return b.value},addPre:function(){var f,g,b;var d=0;var e=1;var i=2;var j=[];this.preFilters.skip=[];this.preFilters.deny=[];if(this.curPreFilter.indexOf("INT_")!=-1){return}if(this._debug){alert("DEBUG_[PRE-CUR_FILTER] "+this.curPreFilter)}pre_list=this.curPreFilter.split("~");if(pre_list.length<1){return}for(var a=0;a<this.recInfos.length;a++){if(!gr_objExists(document.getElementById(this.recInfos[a]))){continue}f=document.getElementById(this.recInfos[a]).value.split("~");b=d;for(var c=0;c<pre_list.length;++c){if(f[c]==""&&pre_list[c]==""){continue}if(pre_list[c]==""){continue}if(c===10){if(f[c].toLowerCase().indexOf(pre_list[c])!=-1){b=i;break}}if(c===5){if(this._isBetween([pre_list[c]],f[c])!=true){b=e;break}else{b=i}break}if(pre_list[c].indexOf("+")!=-1){tmp=pre_list[c].split("+");if(pre_list[c].indexOf("!")==-1&&tmp.indexOf(f[c])!=-1){b=i;continue}else{for(var h=0;h<tmp.length;++h){if(tmp[h].indexOf(f[c])!=-1){b=e}}}}if(pre_list[c].indexOf("!")==-1){if(f[c]==pre_list[c]){b=i}else{if(f[c]!=pre_list[c]){b=e;break}else{if("!"+f[c]==pre_list[c]){b=e}}}}else{tmp=pre_list[c].substr(1);if(tmp==f[c]){b=e;break}}}switch(b){case e:this.preFilters.skip.push(f[0]);break;case i:this.preFilters.deny.push(f[0]);break;case d:default:break}j.push(f[0])}if(this.preFilters.skip.length<1&&this.preFilters.deny.length<1){for(var a=0;a<j.length;++a){this.preFilters.skip.push(j[a])}}if(this._debug){alert("DEBUG_[PRE-SKIP_LENGTH] "+this.preFilters.skip);alert("DEBUG_[PRE-DENY_LENGTH] "+this.preFilters.deny)}},addFilter:function(d){var b,a;this.smartNav=[];this.objectCount=0;this.recInfos=new String(document.getElementById("ssRecInfoIDs").value).split("~");if(this.recInfos.length<=0){return}for(var e=0,c=this.recInfos.length;e<c;++e){if(!gr_objExists(document.getElementById(this.recInfos[e]))){continue}b=document.getElementById(this.recInfos[e]).value.split("~");a=true;if(this.Selectors.place.length>0){if(this.Selectors.place.indexOf(b[2])==-1){a=false}}if(this.Selectors.type.length>0){if(this.Selectors.type.indexOf(b[3])==-1){a=false}}if(this.Selectors.kind.length>0){if(smartSelector.kind.indexOf(b[4])==-1){a=false}}if(this.Selectors.price.length>0){if(this._isBetween(this.Selectors.price,b[5])!=true){a=false}}if(this.Selectors.pType.length>0){if(this.Selectors.pType.indexOf(b[8])==-1){a=false}}if(this.Selectors.build.length>0){if(this.Selectors.build.indexOf(b[9])==-1){a=false}}if(this.Attributes.kamers.length>0){if(this._isGreater(this.Attributes.kamers,b[14])!=true){a=false}}if(this.Attributes.perceel.length>0){if(this._isBetween(this.Attributes.perceel,b[12])!=true){a=false}}if(this.Attributes.woon.length>0){if(this._isBetween(this.Attributes.woon,b[13])!=true){a=false}}if(this.preFilters.skip.length>0){if(this.preFilters.skip.indexOf(b[0])!=-1){a=false}}if(this.preFilters.deny.length>0){if(this.preFilters.deny.indexOf(b[0])==-1){a=false}}if(this.xtraTekst!=null){if(b[10].toLowerCase().indexOf("open huis")==-1){a=false}}if(a){this._loadObjectPic(b[0]);if(this.curPreFilter=="INT_RECENT"){this.smartNav.push(b[0]+"~"+b[7])}else{this.smartNav.push(b[0])}this.objectCount++}}this.setCount(this.smartNav.length,{0:"Er zijn geen objecten gevonden.",1:"Er is [num] object gevonden.",2:"Er zijn [num] objecten gevonden."});if(this.Selectors.place.length<1&&this.Selectors.type.length<1&&this.Selectors.kind.length<1&&this.Selectors.price.length){ssDisplay("block")}if(this.curPreFilter=="INT_RECENT"){this.smartNav.sort(sortDate);this.smartNav.splice(this.recentAantal,this.smartNav.length);this.setCount(this.smartNav.length,{0:"Er zijn geen recente objecten gevonden.",1:"Er is [num] recent object gevonden.",2:"Er zijn [num] recente objecten gevonden."});if(this._debug){alert("DEBUG_[PRE-INT_RECENT] Recent filter succesvol toegepast.")}}this.setPageNav(0);if(typeof GR_Maps!="undefined"){this.smartMap.filter(this.smartNav)}},setCount:function(c,b){var a="";if(!gr_objExists(document.getElementById("num"))){return}if(b.length<2){return}if(c==0){a=b[0]}else{if(c==1){a=b[1]}else{a=b[2]}}document.getElementById("num").innerHTML=(a.indexOf("[num]")!=-1)?a.replace("[num]",c):a},setPageNav:function(d){var c=parseInt(this.smartMaxObj);ssDisplay("none");if(this.smartNav.length<1){document.getElementById("pageNav").innerHTML="";document.getElementById("pageNavBottom").innerHTML="";return}for(var b=d;b<(d+c);++b){if(b>=this.smartNav.length){break}if(this.curPreFilter=="INT_RECENT"){var a=this.smartNav[b].split("~");ssDisplayElement(a[0],true)}else{ssDisplayElement(this.smartNav[b],true)}}if(!gr_objExists(document.getElementById("pageNav"))){return}document.getElementById("pageNav").innerHTML=this.addPageNav(d);if(!gr_objExists(document.getElementById("pageNavBottom"))){return}document.getElementById("pageNavBottom").innerHTML=this.addPageNav(d)},addPageNav:function(e){var f='<ul class="ssPageNav">\n<li>Pagina: </li>';var c=false;var a=5;if(this.smartNav.length<1){return}if(!this.smartMaxObj||this.smartMaxObj==null){return}var d=Math.ceil(this.smartNav.length/this.smartMaxObj);if(a<d){c=true}if(d==6){var c=false}if(e>0){f+='<li class="ssPageNav ssPageNavPrev" onClick="mySmartSelect.setPageNav('+(e-this.smartMaxObj)+');TopScrollPos();">&laquo;</li>'}else{f+='<li class="ssPageNav ssPageNavEmty">&nbsp;</li>'}if(c){if(e>3*this.smartMaxObj){f+='<li class="ssPageNav" onClick="mySmartSelect.setPageNav(0);TopScrollPos();">1</li><li class="ssPageNav ssPageNavEmty">|</li>'}else{f+='<li class="ssPageNav ssPageNavEmty">&nbsp;</li><li class="ssPageNav ssPageNavEmty">&nbsp;</li>'}}startPage=0;endPage=d;if(c){if(e>3*this.smartMaxObj){startPage=(e/this.smartMaxObj)-2}endPage=startPage+a;if(endPage>d){endPage=d}if(Math.abs(startPage-endPage)<5){startPage-=5-Math.abs(startPage-endPage)}}for(var b=startPage;b<endPage;++b){if(e==b*this.smartMaxObj){f+='<li class="ssPageNav_current">'+(b+1)+"</li>"}else{f+='<li class="ssPageNav" onClick="mySmartSelect.setPageNav('+b*this.smartMaxObj+');TopScrollPos();">'+(b+1)+"</li>"}}if(c){if(e<(d-3)*this.smartMaxObj){f+='<li class="ssPageNav ssPageNavEmty">|</li>';f+='<li class="ssPageNav" onClick="mySmartSelect.setPageNav('+((d-1)*this.smartMaxObj)+');TopScrollPos();">'+d+"</li>"}else{f+='<li class="ssPageNav ssPageNavEmty">&nbsp;</li><li class="ssPageNav ssPageNavEmty">&nbsp;</li>'}}if(e<(d-1)*this.smartMaxObj){f+='<li class="ssPageNav ssPageNavNext" onClick="mySmartSelect.setPageNav('+(parseInt(e)+parseInt(this.smartMaxObj))+');TopScrollPos();">&raquo;</li>'}else{f+='<li class="ssPageNav ssPageNavEmty">&nbsp;</li>'}f+="</ul>";return f},_setPageDesc:function(b){var a=document.getElementById("ssOverzichtDescription");if(!gr_objExists(a)){return}a=a.value;if((pos=a.search(new RegExp("[~|^\d]("+b+")[:]")))!==-1){tmp=a.substring(pos+b.length+2,a.indexOf("~",pos+b.length+1))}else{sPos=a.indexOf("Default");ePos=a.indexOf("~",sPos+b.length);tmp=a.substring(sPos+(b.length+1),ePos)}document.getElementById("OverzichtDescription").innerHTML=tmp;if(this._debug){alert("DEBUG_[SETPAGEDESC] Pagina omschrijving toegekend.")}},seeker:function(){var e,d,b=document.getElementById("listSeek").value.toLowerCase();if(b.length<3){alert("De zoekcriteria moet minimaal 3 karakters bevatten.");return}document.getElementById("ssSeekReset").disabled=false;this.smartNav=[];for(var c=0,a=this.recInfos.length;c<a;++c){if(!gr_objExists(document.getElementById(this.recInfos[c]))){continue}aNode=document.getElementById(this.recInfos[c]).value.split("~");if(this.curPreFilter!=null){bNode=this.curPreFilter.split("~")}else{bNode=aNode}e=this.recInfos[c].replace("ssRecInfo","Rec");d=document.getElementById(e).innerHTML.toLowerCase();if((d.indexOf(b)!=-1)&&(aNode[8]==bNode[8])){this.smartNav.push(e)}}this.setCount(this.smartNav.length,{0:"Er zijn geen objecten gevonden.",1:"Er is [num] object gevonden met uw zoekcriteria.",2:"Er zijn [num] objecten gevonden met uw zoekcriteria."});this.setPageNav(0)},seekerReset:function(){if(!gr_objExists(document.getElementById("listSeek"))){return}document.getElementById("listSeek").value="";document.getElementById("ssSeekReset").disabled=true;this.addFilter()},_loadObjectPic:function(b){for(var a=1;a<=4;++a){posImg=document.getElementById("PostImg"+a+"_"+b);if(gr_objExists(posImg)){document.getElementById("PreImg"+a+"_"+b).src=posImg.value}}},_isBetween:function(a,c){for(var d=0,b=a.length;d<b;++d){priceArr=a[d].split("-");if(parseInt(c)<priceArr[0]||parseInt(c)>priceArr[1]){continue}else{return true}}},_isGreater:function(b,e){for(var d=0,c=b.length;d<c;++d){if(parseInt(e)<b[d]){continue}else{return true}}}};var GR_SmartInit=function(){mySmartSelect=new smartSelect()};var setFilter=function(b,a){mySmartSelect.setFilter(b,a)};var setSFilter=function(b,a){mySmartSelect.setSFilter(b,a)};var clsFilter=function(b,a){mySmartSelect.clsFilter(b,a)};var ssSetObjCount=function(b,a){mySmartSelect.setCount(b,a)};var ssSeeker=function(){mySmartSelect.seeker()};var ssSeekerReset=function(){mySmartSelect.seekerReset()};function toggleSmartGMap(a,b,c){if(!gr_objExists(document.getElementById("mgmMarkerIDs"))){return}if(document.getElementById(b).className=="TabOn"){return}mySmartSelect.toggleGMap();document.getElementById(b).className="TabOn";document.getElementById(c).className="TabOff"}function viewGMap(b,a){if(b.className=="ObjectOn"){return}b.className="ObjectOn";mySmartSelect.GMapBalloon(a)};
