var a=[];var b=0;var c=0;var d=0;var f=true;var g=false;var h=null;var i=null;var j=new Object();var k={'seattle':{'lat':47.620975,'lng':-122.347183},'boston':{'lat':42.358544,'lng':-71.058197}};var l='seattle';function m(name){name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var n=new RegExp("[\\?&]"+name+"=([^&#]*)");var o=n.exec(window.location.href);if(o){return o[1];}else{return null;}}function p(){var url=l+'.xml';GDownloadUrl(url,q);}function load(){if(GBrowserIsCompatible()){var r=document.getElementById("listings").tBodies[0];var s=r.insertRow(-1);var t=s.insertCell(0);t.setAttribute('colspan',3);t.setAttribute('align','center');t.style.height='500px';if(m('city')){l=m('city');if(l in k){t.innerHTML='<b>Loading listings...</b>';}else{t.innerHTML='<b>Unknown city "'+l+'", email me about it.</b>';return;}}i=new GMap2(document.getElementById("map"));i.enableScrollWheelZoom();i.addControl(new GLargeMapControl());var u=v('mapCenterLat');var w=v('mapCenterLng');var x=v('mapZoom');if(m('clean')){u=w=x=null;}if(null==u||null==w||null==x){w=k[l]['lng'];u=k[l]['lat'];x=13;y('mapCenterLng',w);y('mapCenterLat',u);y('mapZoom',x);}else{u=parseFloat(u);w=parseFloat(w);x=parseInt(x);}i.setCenter(new GLatLng(u,w),x);GEvent.addListener(i,"moveend",z);GEvent.addListener(i,"zoomend",z);aa();p();}}function aa(){j.ab=i.getBounds().getSouthWest().lat();j.ac=i.getBounds().getSouthWest().lng();j.ad=i.getBounds().getNorthEast().lat();j.ae=i.getBounds().getNorthEast().lng();}function q(af){var ag=GXml.parse(af);af=null;var ah=ag.documentElement.getElementsByTagName("listing");b=a.length;for(var ai=0;ai<ah.length;ai++){var aj=new Object();var ak=ah[ai].attributes;for(var al=0;al<ak.length;al++){var am=ak.item(al);aj[am.name]=am.value;}aj['title']=ah[ai].textContent;a.push(aj);if(an(aj)){c++;}}ah=null;document.getElementById('totalCount').innerHTML=c;sortNodes(null);}function z(){var ao=i.getCenter();y('mapCenterLng',ao.lng());y('mapCenterLat',ao.lat());y('mapZoom',i.getZoom());aa();ap();document.getElementById('totalCount').innerHTML=c;if(b>c){b=c;document.getElementById('activeCount').innerHTML=b;}aq();}function ap(){var ar=0;c=0;g=false;as();for(var ai=0;ai<a.length;ai++){a[ai].s=null;if(a[ai]==h){at(a[ai]);au(a[ai],'active');av(a[ai]);ar++;}else if(an(a[ai])){c++;if(ar<b&&aw(a[ai])){at(a[ai]);av(a[ai]);ar++;}else{ax(a[ai]);}}else{ax(a[ai]);}}}function ay(az){var ba=0;var bb=0;for(var ai=0;ai<a.length;ai++){if(aw(a[ai])){if(ba>=b){if(bb>=az){break;}else{bb++;at(a[ai]);av(a[ai]);}}else{ba++;}}}b+=bb;document.getElementById('activeCount').innerHTML=b;aq();}function av(bc){if(null==bc.bd){be(bc);}if(false==bc.bf){bc.bd.show();}bc.bf=true;}function ax(bc){if(null==bc.bd){return;}if(true==bc.bf){bc.bd.hide();bc.bf=false;}}function aq(){if(b<c){document.getElementById('scroll_more').innerHTML='scroll down for more!';}else{document.getElementById('scroll_more').innerHTML='&nbsp;';}}function aw(bc){var bg=0;if(an(bc)){bg++;}return bg>0;}function an(bc){var lat=bc.lat;var lng=bc.lng;if(lat>=j.ab&&lat<=j.ad&&lng>=j.ac&&lng<=j.ae){return true;}return false;}function at(bc){var price=bc.price;var bh=bc.br;var date=new Date();date.setTime(1000*bc.date);var bi=(1+date.getMonth())+'/'+date.getDate();date=null;var title=bj(bc,true);var r=document.getElementById("listings").tBodies[0];var bk=g?'alt':'';var s=r.insertRow(-1);s.setAttribute('id',bc.id);s.className=bk;var t=s.insertCell(0);t.innerHTML=price;t=s.insertCell(1);t.innerHTML=bh;t=s.insertCell(2);t.innerHTML=bi;t=s.insertCell(3);t.innerHTML=title;s.appendChild(document.createTextNode("\n"));g=!g;bc.s=s;s.bc=bc;}function be(bc,bl){var bm=new GLatLng(bc.lat,bc.lng);var bn={};if(null!=bl){bn.icon=new GIcon(G_DEFAULT_ICON);bn.icon.image='http:/'+'/paperbeatsrock.net/clmap/marker_'+bl.toLowerCase()+'.png';bn.zIndexProcess=function(){return 1;};}var bo=new GMarker(bm,bn);GEvent.addListener(bo,'click',function(){if(null!=h){if(h.bd==this){return;}i.removeOverlay(h.bd);be(h);au(h,'');}i.removeOverlay(this);be(this.bc,'green');au(this.bc,'active');h=this.bc;});bo.bindInfoWindowHtml(bc.price+'<br/>'+bj(bc));bo.bc=bc;i.addOverlay(bo);bc.bd=null;bc.bd=bo;bc.bf=true;}function au(bc,bk){var bp=new RegExp('odd|even');var bq=bp.exec(bc.s.getAttribute('class'));var bs;if(null!=bq){bs=bq+' '+bk;}else{bs=bk;}bc.s.className=bs;}function bj(bc,bt){var bu='';if(bt){bu+='<span class="entry" onclick="chooseMarker('+bc.id+')">';}bu+=bc.title;if(bt){bu+='</span>';}bu+='&nbsp;<a href="'+'http:/'+'/seattle.craigslist.org'+bc.url+'" target="_blank"><img src='+'"/clmap/cl_icon.png" alt="[CL]" border="0"/></a>';return bu;}function chooseMarker(id){var bv=document.getElementById(id);GEvent.trigger(bv.bc.bd,'click');}function sortNodes(bw){if(bw==d){f=!f;}else if(null!=bw){if(bw==0){f=true;}else if(bw==1){f=true;}else if(bw==2){f=false;}d=bw;}var bx=null;if(d==0){by(0);bx=function(bz,ca){var cb=bz.price;var cc=ca.price;if(f){return cb-cc;}else{return cc-cb;}};}else if(d==1){by(1);bx=function(bz,ca){var cb=bz.br;var cc=ca.br;if(f){return cb-cc;}else{return cc-cb;}};}else if(d==2){by(2);bx=function(bz,ca){var cb=bz.date;var cc=ca.date;if(f){return cb-cc;}else{return cc-cb;}};}else{}a.sort(bx);ap();}function as(){var cd=document.getElementById("listings").getElementsByTagName("tbody")[0];while(cd.hasChildNodes()){cd.removeChild(cd.childNodes[0]);}}function by(id){for(var ai=0;ai<=2;ai++){if(ai==id){if(f){document.getElementById('col'+ai+'arrow').innerHTML='&#9650;';}else{document.getElementById('col'+ai+'arrow').innerHTML='&#9660;';}}else{document.getElementById('col'+ai+'arrow').innerHTML='';}}}function detectScroll(){var ce=document.getElementById("listings_div").clientHeight;var cf=document.getElementById("listings").scrollHeight;var cg=document.getElementById("listings_div").scrollTop;var height=cf-ce;if(cg>=height-20){if(b<c){ay(20,true);}}return true;}function y(name,value,ch){ch=90;if(ch){var date=new Date();date.setTime(date.getTime()+(ch*24*60*60*1000));var ci="; expires="+date.toGMTString();}else var ci="";document.cookie=name+"="+value+ci+"; path=/clmap/";}function v(name){var cj=name+"=";var ck=document.cookie.split(';');for(var ai=0;ai<ck.length;ai++){var cl=ck[ai];while(cl.charAt(0)==' ')cl=cl.substring(1,cl.length);if(cl.indexOf(cj)==0)return cl.substring(cj.length,cl.length);}return null;}function cm(name){y(name,"",-1);}function cn(co){var cp=document.createElement("p");cp.innerHTML=co;document.getElementById("tracing").appendChild(cp);}setInterval("detectScroll()",500);
