$(document).ready(function(){$("#txtAddress").keypress(function(a){if(a.keyCode==13){onSearch();return false}});$("#txtInitialAddress").keypress(function(a){if(a.keyCode==13){onInitialSearch();return false}});initState();$("#txtInitialAddress").watermark(watermarkAddressText)});function initState(){if($.cookie(COOKIE_SEARCH_ADDRESS)!=null){curAddress=$.cookie(COOKIE_SEARCH_ADDRESS)}if($.cookie(COOKIE_SEARCH_RADIUS)!=null){curRadius=$.cookie(COOKIE_SEARCH_RADIUS)}$("#txtInitialAddress").val(curAddress);$("#txtAddress").val(curAddress);$("#selInitialRadius").val(curRadius);$("#selRadius").val(curRadius);if((isProductSearch()||isQuickSearch())&&!isNullOrEmpty(curAddress)){$("#siteSearch h1").width("100%");$("#initialSearchArea").hide();onSearch()}else{$("#initialSearchArea").show()}}function onInitialSearch(){curAddress=$("#txtInitialAddress").val();if(isNullOrEmpty(curAddress)||curAddress==watermarkAddressText){return}curRadius=$("#selInitialRadius").val();$("#waitIcon").center().show();geocodeAddress()}function onSearch(){curAddress=$("#txtAddress").val();if(isNullOrEmpty(curAddress)||curAddress==watermarkAddressText){return}curRadius=$("#selRadius").val();$("#waitIcon").center().show();geocodeAddress()}function geocodeAddress(){var a=new GClientGeocoder();a.getLatLng(curAddress,function(b){if(!b){showErrorDlg("#badaddress","Address Not Found")}else{curPos=b;searchNearbyKiosks(b)}})}function searchNearbyKiosks(a){if(isProductSearch()){BBXWeb.Controls.SiteSearch.SiteSearchService.FindNearbySitesForProduct(productId,a.lat(),a.lng(),curRadius,siteSearchSuccess,siteSearchFail)}else{BBXWeb.Controls.SiteSearch.SiteSearchService.FindNearbySites(a.lat(),a.lng(),curRadius,siteSearchSuccess,siteSearchFail)}bbxSiteHeader_RefreshSessionExpirationDialog()}function getRentControls(b){if(!allKiosksOutOfRange&&!b.IsRboEnabled){return"<div class='nonRbo'>Not available<br />for online rental</div>"}var a="<div class='buttons'>";if(!choosePreferredKioskOnly&&!allKiosksOutOfRange){if(isProductSearch()){if(b.HasProduct){a+="<a class='pickupLink' href=\"javascript:onAddItem('"+productId+"', '"+b.Id+"', "+roundDistance(b.Distance)+');"></a>'}else{if(!b.HasProduct&&b.IsRboEnabled){a+="<span class='movieNotAvailable'></span>"}}}else{var c=hasProductsInCart?"rentHereLink":"browseHereLink";a+="<a class='"+c+"' href=\"javascript:onChangeSite('"+b.Id+"', "+roundDistance(b.Distance)+');"></a>'}}a+="</div>";return a}function isProductSearch(){return productId.length>0}function siteSearchSuccess(a){if(a){$("#siteSearch h1").width("100%");$("#resultArea").show();$("#initialSearchArea").remove();processResults(curPos,a);updateSearchState();$("#txtAddress").val(curAddress);$("#selRadius").val(curRadius);$("#txtAddress").watermark(watermarkAddressText);$("#waitIcon").hide()}}function siteSearchFail(a){showErrorDlg("#searcherror","Error")}function showErrorDlg(a,b){if(!$("#resultArea").is(":visible")){$("#initialSearchArea").show()}$("#waitIcon").hide();$(a).dialog({title:b,modal:true,draggable:false,resizable:false,buttons:{OK:function(){$(this).dialog("close")}}})}function getPagerHtml(b,a){var c="";if(b==1){$("#kioskPager").html(c);$("#kioskPager2").html(c);return}if(a>1){c+="<span class='pageNum'><a href='javascript:changePage("+(a-1)+");'>&lt; Prev</a></span>"}else{c+="<span class='pageNum disabled'>&lt; Prev</span>"}for(var d=1;d<=b;d++){if(a==d){c+="<span class='pageNum currentPage'>[ "+d+" ]</span>"}else{c+="<span class='pageNum'><a href='javascript:changePage("+d+");'>"+d+"</a></span>"}}if(b>a){c+="<span class='pageNum'><a href='javascript:changePage("+(a+1)+");'>Next &gt;</a></span>"}else{c+="<span class='pageNum disabled'>Next &gt;</span>"}$("#kioskPager").html(c);$("#kioskPager2").html(c)}function changePage(a){var b=Math.ceil(totalSiteCount/pageSize);getPagerHtml(b,a);$("#resultArea .currentPageHost").removeClass("currentPageHost");$("#siteSearchPage"+(a-1)).addClass("currentPageHost");if(!isCompletelyScrolledIntoView("#kioskPager")){$("html,body").animate({scrollTop:$("#kioskPager").offset().top-10},200)}}function processResults(n,b){if(b.PreferredSite==null&&b.CurrentSite==null){$("#mapCanvas").addClass("mapCanvasFull")}map=new GMap2(document.getElementById("mapCanvas"));clearMap();var t=new GLatLngBounds();t.extend(new GLatLng(n.lat(),n.lng()));map.addOverlay(new GMarker(n));var w=map.getDefaultUI();w.controls.largemapcontrol3d=true;map.setUI(w);allKiosksOutOfRange=false;var s=b.Sites.length;totalSiteCount=s;var m=false;var q=false;var h=Math.ceil(s/pageSize);var v=1;getPagerHtml(h,v);var u="";for(var p=0;p<h;p++){var d=p*pageSize;var l=Math.min((p*pageSize)+pageSize,s)-1;var k=(l-d)+1;var g=Math.ceil(k/2);var c="resultPgHost";if(v==(p+1)){c+=" currentPageHost"}u+='<div class="'+c+'" id="siteSearchPage'+p+'">';u+='<table cellpadding="0" cellspacing="0" class="kiosktable">';var r=0;for(var f=d;f<=l;f++){var o;if(r%2==0){u+='<tr><td class="leftCol">';o=(r/2)+d}else{u+='</td><td class="rightCol">';o=parseInt(g+((r-1)/2))+d}if(o>=s){break}result=b.Sites[o];if(result.IsPreferred){updateSpecialPreferredSite(result,o);m=true}if(result.IsCurrent){updateSpecialCurrentSite(result,o);q=true}if(f==0){var a=750;allKiosksOutOfRange=result.Distance>curRadius;if(allKiosksOutOfRange){$("#noNearSitesWarning").show().effect("highlight",{},a).effect("highlight",{},a).effect("highlight",{},a)}else{$("#noNearSitesWarning").hide()}}addSiteMarker(result,o);t.extend(new GLatLng(result.Latitude,result.Longitude));var e=getSiteInfoHtml(result,o);u+=e;if(r%2==0){if(r==(k-1)){u+='</td><td class="rightCol">&nbsp;</td></tr>'}}else{u+="</td></tr>"}r++}u+="</table>";u+="</div>"}if(!m){updateSpecialPreferredSite(b.PreferredSite)}if(!q){updateSpecialCurrentSite(b.CurrentSite)}if(v>1){changePage(v)}$("#rboResultList").append(u);extendBoundsByRatio(t,boundsExtensionRatio);map.setCenter(t.getCenter(),map.getBoundsZoomLevel(t))}function extendBoundsByRatio(b,a){var c=b.getNorthEast();var d=b.getSouthWest();var f=c.lat()-d.lat();var e=c.lng()-d.lng();b.extend(new GLatLng(c.lat()+f*a,c.lng()+e*a));b.extend(new GLatLng(d.lat()-f*a,d.lng()-e*a));return b}function clearMap(){map.clearOverlays();$("#rboResultList").html("");$("#rboHeader").hide();$("#nonRboHeader").hide();siteMarkers=new Array();$("#markerInfoWindows")}function addSiteMarker(c,e){var d=new GIcon(G_DEFAULT_ICON);d.image=iconUrl;d.iconSize=new GSize(20,34);d.shadow="";var a={icon:d};var b=new GMarker(new GLatLng(c.Latitude,c.Longitude),a);map.addOverlay(b);$("#markerInfoWindows").append(getMarkerPopupHtml(c,e));GEvent.addListener(b,"click",function(){var f={noCloseOnClick:true,maxWidth:225,maxHeight:100};b.openInfoWindowHtml($("#popupText_"+c.Id).parent().html(),f)});siteMarkers[c.Id]=b}function getMarkerPopupHtml(c,f){var e=f+1;var d=roundDistance(c.Distance);var a=c.IsOutdoor?"(Outdoor)":"(Indoor)";var b="<div><div id='popupText_"+c.Id+"' siteId='"+c.Id+"' class='resultItem popup' ><div class='location'>"+e+". "+c.ChannelPartner+" <span class='outdoor'>"+a+"</span></div><div class='address1'>"+c.Address1+"</div><div class='address2'>"+$.trim(c.Address2)+"</div><div class='cityStateZip'>"+c.City+", "+c.State+" "+c.PostalCode+"</div><div><div class='distance'>"+d+" miles</div>";b+="<div class='direction'><a target='_blank' href=\""+makeDrivingDirectionsUrl(c)+"\">Get Directions</a></div><div class='clear'></div></div>";b+=getRentControls(c);b+="</div></div>";return b}function getSiteInfoHtml(c,g){var f=g+1;var d=roundDistance(c.Distance);var b=c.IsPreferred?"isPreferredSite":"";var a=c.IsOutdoor?"(Outdoor)":"(Indoor)";var e="<div siteId='"+c.Id+"' id='resultListItem_"+c.Id+"' class='resultItem "+b+"' ><table cellpadding='0' cellspacing='0' class='kioskitemtable'><tr><td class='infoCol'><div class='location locationClickable' onclick='resultItemClick(this)' >"+f+". "+c.ChannelPartner+" <span class='outdoor'>"+a+"</span></div><div class='address1'>"+c.Address1+"</div><div class='address2'>"+$.trim(c.Address2)+"</div><div class='cityStateZip'>"+c.City+", "+c.State+" "+c.PostalCode+"</div><div class='distance'>Distance: "+d+" miles</div><div>";e+=getTodaysSiteHoursHtml(c);e+="</div><div class='clear'></div>";e+="</td><td class='actionCol'>";e+=getRentControls(c)+"<div class='direction'><a target='_blank' href=\""+makeDrivingDirectionsUrl(c)+'">Get Directions</a></div>'+preferredSiteLink(c.Id,c.IsPreferred,c.IsRboEnabled,true);e+="</td></tr></table>";e+="</div>";return e}function getTodaysSiteHoursHtml(a){var b=a.IsClosed?" siteClosed":"";return"<div class='hoursContainer'><div class='hoursHeader'>Today's Hours:</div><div class='hours"+b+"'>"+$.trim(a.HoursToday)+"</div></div>"}function resultItemClick(b){var c=$(b).parents(".resultItem").attr("siteId");var a=siteMarkers[c];if(a!=null){GEvent.trigger(a,"click");if(!isCompletelyScrolledIntoView("#mapCanvas")){$("html,body").animate({scrollTop:$("#mapCanvas").offset().top-10},200)}}}function isCompletelyScrolledIntoView(c){var b=$(window).scrollTop();var e=b+$(window).height();var d=$(c).offset().top;var a=d+$(c).height();return(d>=b)}function preferredSiteLink(d,a,c,e){var b="";if(c){if(a){b="This is my preferred kiosk."}else{b="<a id='setPreferred_"+d+"' href=\"javascript:setPreferredSite('"+d+"');\">Make this my preferred kiosk</a>"}if(e){b="<div class='preferredSite'>"+b+"</div>"}}return b}function updateSpecialCurrentSite(a,b){updateSpecialSite(a,"currentSiteHeader","Current Kiosk","#rboCurrentSite",b)}function updateSpecialPreferredSite(a,b){updateSpecialSite(a,"preferredSiteHeader","Preferred Kiosk","#rboPreferredSite",b)}function updateSpecialSite(c,f,g,h,e){if(c!=null){var b=roundDistance(c.Distance);var a="<div class='"+f+"'>"+g+"</div><div siteId='"+c.Id+"' class='specialResultItem resultItem' >";var d=result.IsOutdoor?"(Outdoor)":"(Indoor)";if(e>=0){a+="<div class='location locationClickable' onclick='resultItemClick(this)' >"+(e+1)+". "+c.ChannelPartner+" <span class='outdoor'>"+d+"</span></div>"}else{a+="<div class='location'>"+c.ChannelPartner+" <span class='outdoor'>"+d+"</span></div>"}a+="<div class='address1'>"+c.Address1+"</div><div class='address2'>"+$.trim(c.Address2)+"</div><div class='cityStateZip'>"+c.City+", "+c.State+" "+c.PostalCode+"</div>";if(b>0){a+="<div class='distance'>Distance: "+b+" miles</div><div>"}a+=getTodaysSiteHoursHtml(c);a+="<div class='direction'><a target='_blank' href=\""+makeDrivingDirectionsUrl(c)+'">Get Directions</a></div>';a+=getRentControls(c);a+="</div><div class='clear'></div></div>";$(h).html(a);$("#mapCanvas").removeClass("mapCanvasFull")}}function onChangeSite(b,a){setCurrentLocationCookies(a);bbxShoppingCart_ChangeSite(b)}function setCurrentLocationCookies(a){$.cookie(COOKIE_LAST_SOURCE_ADDRESSS,curAddress,{path:"/"});$.cookie(COOKIE_LAST_SOURCE_COORD,formatPosition(curPos),{path:"/"});$.cookie(COOKIE_LAST_DISTANCE_TO_SITE,a,{path:"/"})}function onAddItem(b,c,a){setCurrentLocationCookies(a);bbxShoppingCart_AddItem(b,c)}function roundDistance(a){return Math.round(a*100)/100}function formatPosition(a){return a.lat()+","+a.lng()}function updateSearchState(){$.cookie(COOKIE_SEARCH_ADDRESS,curAddress,{path:"/"});$.cookie(COOKIE_SEARCH_RADIUS,curRadius,{path:"/"})}function setPreferredSite(b){var a=null;if(isProductSearch()){a=productId}BBXWeb.Controls.SiteSearch.SiteSearchService.UpdatePreferredSite(b,a,curPos.lat(),curPos.lng(),window.location.href,updatePreferredSiteSuccess,siteSearchFail)}function updatePreferredSiteSuccess(e){if(e){if(e.LogInRequired){buttons={"Log In Now!":function(){window.location.href=e.LogInUrl},Close:function(){$(this).dialog("close")}};$.errorDialog("Log In Required","You must be logged in to set your preferred kiosk.",true,false,buttons);return}var d=e.Site.Id;var c=$("div.isPreferredSite");if(c.length>0){var a=preferredSiteLink(c.attr("siteId"),false,true,false);c.find("div.preferredSite").html(a);c.removeClass("isPreferredSite")}var f=$("#resultListItem_"+d);f.find("div.preferredSite").html("This is my preferred kiosk.");f.addClass("isPreferredSite");updateSpecialPreferredSite(e.Site);var b=roundDistance(e.Site.Distance);$.cookie(COOKIE_LAST_SOURCE_ADDRESSS,curAddress,{path:"/"});$.cookie(COOKIE_LAST_DISTANCE_TO_SITE,b,{path:"/"});if(typeof(updatePreferredKioskMini)=="function"){updatePreferredKioskMini(e.Site.ChannelPartner,e.Site.Address1,e.Site.Address2,e.Site.City,e.Site.State,e.Site.PostalCode,makeDrivingDirectionsUrl(e.Site),b)}if(typeof(showPreferredKioskChangeText)=="function"){showPreferredKioskChangeText()}}};