/* fitscreen.js 9/3/2010 8:49:47 AM */

var allthumbs=new Array();var _slide=false;var _slide_link=false;var vertScroll;var MIN_CONTENT_HEIGHT=440;var MAX_FOOTER_HEIGHT=40;var MIN_WIDTH=372;var _new_center=null;var resizing=false;function fixLayout(){if(resizing||showingTooltip())return;resizing=true;scalePreview();var center=$j('#center');var container=$j('#container');var topbox=$j('#center .top-box');var right=$j('#right');var list=$j('#list');var header=$j('#header');var centerHeight=right.height();if(centerHeight<MIN_CONTENT_HEIGHT)centerHeight=MIN_CONTENT_HEIGHT;var windowHeight=$j(window).height()-20;var headerHeight=header.height();var hasVerticalScroll=$j(document).height()>$j(window).height();if(hasVerticalScroll)
scrollMe(headerHeight);else
windowHeight-=header.height();var footerHeight=$j('#footer').height();if(footerHeight>MAX_FOOTER_HEIGHT)footerHeight=MAX_FOOTER_HEIGHT;windowHeight-=footerHeight;if(list.height()!=null&&list.height()<right.height())
centerHeight=right.height();else if(centerHeight<windowHeight){centerHeight=windowHeight;if($j('#maptop').height()!=null)centerHeight-=$j('#maptop').height()-10;}
center.css('height',centerHeight);container.css('height',center.height()-topbox.height()-1);fitresults();resizing=false;}
function showingTooltip(){return($j.browser.msie&&$j('.tipsy').length>0);}
function scrollMe(top){if(showingTooltip())return;}
function fitresults(item){if($j.browser.msie){var center=$j('#center');var container=$j('#container');var centerScroll=$j('#list').height()>container.height();if(centerScroll){if(item)$j(item).css('width','98%');else $j('#list li').css('width','98%');}else{center.css('width',center.parent().width());}}}

/* results.js 9/3/2010 8:49:47 AM */

var isOverLimit=false;var callNumber=1;var listingIndex=0;var arr;var indexCount;var getMore=true;var gettingData=true;var allthumbs=new Array();var _slide=false;var _slide_link=false;var totalCount=0;var currentPreview=0;var currentIndex=0;var scroll;var currentWidth=$j(window).width();var currentHeight=$j(window).height();$j(window).load(function(){initResults();fixLayout();adjustWidthForScroll();setTotalCount();addListEvents(false);setFirstAndLast();if($("indicator"))Element.hide('indicator');setReportSort();});$j(window).resize(function(e){if(currentHeight==$j(window).height()&&currentWidth==$j(window).width())
return;currentWidth=$j(window).width();currentHeight=$j(window).height();fixLayout();adjustWidthForScroll();scalePreview();});function selectListing(listingID,index,scrollTo){var id='listing_'+listingID+'_'+index;var element=$(id);if(element){if(element.hasClassName('off-market'))
return;currentPreview=listingID;currentIndex=index;element.addClassName('clicked');scalePreview();loadThumbs();if(scrollTo){var c=$('container');c.scrollTop=element.offsetTop;scrolling();}}}
function initResults(){if($('container')){Event.observe("container","scroll",function(event){scrolling(event);});}}
function adjustWidthForScroll(){var list=$("list");if(!list)return;var center=$('center');var containerOffset=52;var compliance=$('compliance')
if(compliance&&compliance.innerHTML.length>0){containerOffset+=compliance.offsetHeight;var lm=$('loading-more');lm.setStyle({bottom:compliance.offsetHeight+'px'});}
if(center.offsetHeight>0)
list.parentNode.style.height=center.offsetHeight-containerOffset+"px";}
function scrolling(event){var c=$("container");scroll={height:c.scrollHeight,top:c.scrollTop,bottom:c.offsetHeight+c.scrollTop,percent:(c.offsetHeight+c.scrollTop)/c.scrollHeight};setFirstAndLast(false);if(scroll.percent>=.8)
{if(getMore)
{getMore=false;getListings(location.search);if(gettingData&&event)Event.stop(event);}}}
function setFirstAndLast(isPageLoad){var c=$("container");if(!c)return;scroll={height:c.scrollHeight,top:c.scrollTop,bottom:c.offsetHeight+c.scrollTop,percent:(c.offsetHeight+c.scrollTop)/c.scrollHeight};var first=0;var last=0;var list=$('list');var results=list.childNodes;var itemIndex=0;if(isPageLoad)
scroll.bottom=$('footer').offsetTop-140;for(i=0,len=results.length;i<len;i++)
{element=results[i];if(element.nodeName=="LI")
{itemIndex++;if(first==0&&(element.offsetTop+element.offsetHeight)>=scroll.top)
first=itemIndex;if(last==0&&element.offsetTop>=scroll.bottom)
last=itemIndex-1;}}
if(last==0)last=itemIndex;$('prop-view').innerHTML=first+'-'+last;}
function getListings(searchParams){var c=$("container");if(!c)return;if(isOverLimit)return;callNumber++;total=$('list').immediateDescendants().length;listingIndex=total+1;$('load-current').innerHTML=listingIndex;Element.show('loading-more');var nextChar="&";if(!searchParams||searchParams.length==0)
nextChar="?";var url="/service.ashx"+searchParams+nextChar+"lastIndex="+(listingIndex-1)+"&ms="+new Date().getTime();var serviceMethod=getServiceMethod(searchParams);new Ajax.Request(url,{method:"get",parameters:{method:serviceMethod},onComplete:listingsCompleted});}
function getServiceMethod(queryString){if(queryString.toQueryParams()["rid"])
return"getreport";return"getresults";}
function listingsCompleted(transport){var l=$("list");var totalCount=0;var response=transport.responseText;if(response!="NULL")
{writeOutput(response);adjustWidthForScroll();}
else
{if($("indicator"))$("indicator").hide();}
window.setTimeout("gettingData = false",5000);}
function writeOutput(html){var list=$("list");arr=html.split("^");indexCount=0;writeItem();}
function writeItem(){while(arr[indexCount]=="")
indexCount++;var listing=new String(arr[indexCount++]);new Insertion.Bottom('list',listing);fitresults();$('load-current').innerHTML=listingIndex++;addListEvents(true);if(indexCount<arr.length)
{window.setTimeout("writeItem()",200);}
else
{getMore=true;if($("loading-more"))Element.hide('loading-more');totalCount=$("totalcount2").innerHTML;if(listingIndex>=totalCount)
isOverLimit=true;if(maxResults&&maxResults>0){if(listingIndex>=maxResults){isOverLimit=true;alert("MLS rules prevent us from showing more than "+maxResults+" at a time. Please refine your search.");}}}}
function addListEvents(lastOneOnly){var list=document.getElementById("list");if(!list)return;results=document.getElementById("list").immediateDescendants();if(lastOneOnly)
{attachEventListeners(results[results.length-1]);}
else
{for(i=0,len=results.length;i<len;i++)
attachEventListeners(results[i]);}}
function attachEventListeners(element){if(element.hasClassName('off-market'))
{return;}
if(element.onmouseover==null)
{element.onmouseover=function(){this.className='hover';}
element.onmouseout=function(){if(currentPreview)
{curID='listing_'+currentPreview+'_'+currentIndex;if(this.id==curID)
this.className='clicked';else
this.className='';}
else
this.className='';}
element.onclick=function(){if(!toggleFav){for(i=0,len=results.length;i<len;i++){if(results[i].nodeName=="LI")Element.removeClassName(results[i].id,'clicked');}
this.className='clicked';var element=this.id.split('_');currentPreview=element[1];currentIndex=element[2];showDetails(currentPreview,currentIndex,true);}
else
toggleFav=false;}
element.getElementsBySelector('.link-listing').each(function(link)
{link.onclick=function(){return false;}});element.getElementsBySelector('.thumb-container').each(function(link)
{link.onclick=function(){return false;}});var context=$j(element);$j('.tips',context).each(function(){var el=$j(this);if(el.hasClass('is-fav')){el.attr('title-add',el.attr('title'));el.attr('title',el.attr('title-remove'));}
el.tipsy({delayIn:500,gravity:'s'});});}}
function showDetails(id,index,trackThis){Element.hide("details");$("loading").show();var params={method:"getdetails",listingid:id,rowIndex:index};new Ajax.Request("/service.ashx",{method:"get",parameters:params,onSuccess:function(response)
{window.setTimeout(function()
{$("details").innerHTML=response.responseText;if(trackThis){var format="/preview.aspx?lid=#{listingid}";tracking.track(format,params);}
loadThumbs();scalePreview();if($("loading"))$("loading").hide();new Effect.Appear("details",{duration:0.2});},100);}});}
function setTotalCount(){var curCount=Element.getElementsByClassName('div','frame').length;if(curCount>=totalCount)
{isOverLimit=true;}
formattedTotal=QuickUtils.addCommas(totalCount);if(!$('map')&&$('totalcount2'))$("totalcount2").innerHTML=formattedTotal;if($("load-total"))$("load-total").innerHTML=formattedTotal;if($("properties-found"))$("properties-found").show();}
function scalePreview(){_right=document.getElementById("right");_rightW=_right.offsetWidth-2;_rightH=_right.offsetHeight;_gallery=$('gallery');_preview=$('preview');if(_gallery&&_preview)
{if(_rightW>210)
{_newWidth=_rightW-10;_newHeight=_newWidth*.75;_gallery.style.width=_newWidth+"px";_gallery.style.height=(_newHeight+16)+"px";_preview.style.width=(_newWidth-16)+"px";imageContainer=_gallery.getElementsByTagName("ul");for(i=0;i<imageContainer.length;i++)
imageContainer[i].style.height=_newHeight+"px";images=_gallery.getElementsByTagName("li");for(i=0;i<images.length;i++)
images[i].style.height=(_newHeight-2)+"px";spanWidth=_newWidth-120;imageCount=_gallery.getElementsByTagName("span");for(i=0;i<imageCount.length;i++)
imageCount[i].style.width=spanWidth+"px";}
else
{_gallery.style.width='';_gallery.style.height='';_preview.style.width='';_preview.style.height='';imageContainer=_gallery.getElementsByTagName("ul");for(i=0;i<imageContainer.length;i++)
imageContainer[i].style.height='';images=_gallery.getElementsByTagName("li");for(i=0;i<images.length;i++)
images[i].style.height='';imageCount=_gallery.getElementsByTagName("span");for(i=0;i<imageCount.length;i++)
imageCount[i].style.width='';}}}
function loadThumbs(){allthumbs=new Array();var thumbs=document.getElementById("gallery");if(thumbs)
{var tnodes=thumbs.getElementsByTagName("img");if(tnodes)
{for(var i=0;i<tnodes.length;i++)
{if(tnodes[i].parentNode.parentNode.className=="active")
{active_img_id=i;}
allthumbs[i]=tnodes[i].parentNode.parentNode;}
$("gallery-total").innerHTML=""+tnodes.length;$("gallery-now").innerHTML=active_img_id+1;}
else
alert('no nodes');}}
function fullImage(id){for(i in allthumbs)
{allthumbs[i].className=""}
old_active_id=active_img_id;active_img_id=id;total_cnt=document.getElementById("gallery-now");if(total_cnt)total_cnt.innerHTML=active_img_id+1;if(allthumbs[id])allthumbs[id].className="active";}
function previous(){if(active_img_id)
index=active_img_id;else
index=0;if(allthumbs[index-1])index--;else index=allthumbs.length-1;fullImage(index);}
function next(){if(active_img_id!=null)i=active_img_id
else i=0
if(allthumbs[i+1])fullImage(i+1);else fullImage(0);}
function setReportSort(){if(location.search.toQueryParams()["rid"])
{var el=$("sort");if(el)el.selectedIndex=8;}}

