o: ActiveSupport::Cache::Entry :@compressedF:@expires_in0:@created_atf1319563272.089597»õ: @value{ I" length:EFiHI" digest; F"%77ab42706c108cfee75ac80cad4bf9ccI" source; FI"H(function() { var isNumber; var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor; child.__super__ = parent.prototype; return child; }; isNumber = function(n) { return !isNaN(parseFloat(n)) && isFinite(n); }; String.prototype.capitalize = function() { return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase(); }; String.prototype.titleize = function() { var parts, res; res = []; parts = this.split(" "); $.each(parts, function(index, part) { return res.push(part.capitalize()); }); return res.join(" "); }; Handlebars.registerHelper("rounded", function(number) { if (isNumber(number)) { return parseFloat(number).toFixed(2); } }); Handlebars.registerHelper("titleize", function(string) { if (string !== void 0) { return string.titleize(); } }); Handlebars.registerHelper("address_without_comma", function(lab) { if (!(this.data && this.data.address)) { return; } return this.data.address.replace(/(\s*,\s*$)/g, "").titleize(); }); window.Lab = (function() { Lab.prototype.map_tooltip_template = Handlebars.compile("{{titleize name}}\n{{address_without_comma address}}\n{{titleize city}},{{state}} "); function Lab(data) { this.data = data; this.index = null; this.marker = null; this.point = null; } Lab.prototype.clearMarker = function() { if (this.marker) { this.marker.setMap(null); return this.marker = null; } }; Lab.prototype.setMarker = function(map, markerBounds, index) { this.point = new google.maps.LatLng(this.data.lat, this.data.lng); this.marker = this.makeMarker(map, index); if (markerBounds) { return markerBounds.extend(this.point); } }; Lab.prototype.makeMarker = function(map, index) { return new google.maps.Marker({ position: this.point, map: map, title: this.map_tooltip_template(this.data), icon: this.makeIcon(index) }); }; Lab.prototype.makeIcon = function() { return "/assets/medivo/lab.png"; }; Lab.prototype.icon = function() { if (this.marker) { return this.marker.icon; } return this.makeIcon(); }; return Lab; })(); window.OrderedLab = (function() { __extends(OrderedLab, Lab); function OrderedLab(index, data) { this.index = index; this.data = data; } OrderedLab.prototype.makeIcon = function() { if (!isNumber(this.index)) { OrderedLab.__super__.makeIcon.call(this); } return "/assets/medivo/marker" + this.makeLetter(this.index) + ".png"; }; OrderedLab.prototype.makeLetter = function(number) { if (number >= 0 && number <= 26) { return String.fromCharCode(number + 65); } return ''; }; OrderedLab.prototype.icon = function() { if (this.marker) { return this.marker.icon; } return this.makeIcon(this.index); }; return OrderedLab; })(); window.LabList = (function() { LabList.prototype.show_number = 3; function LabList(lab_info, show_number) { this.labs = []; if (show_number) { this.show_number = show_number; } this.setLabs(lab_info); } LabList.prototype.getLabs = function() { return this.labs.slice(0, this.show_number); }; LabList.prototype.setLabs = function(lab_info) { var labs; this.clearMarkers(); labs = this.labs = []; if (lab_info !== void 0) { return $.each(lab_info, function(index, lab_data) { return labs.push(new Lab(lab_data)); }); } }; LabList.prototype.clearMarkers = function() { return $.each(this.labs, function(index, lab) { return lab.clearMarker(); }); }; return LabList; })(); window.OrderedLabList = (function() { __extends(OrderedLabList, LabList); function OrderedLabList() { OrderedLabList.__super__.constructor.apply(this, arguments); } OrderedLabList.prototype.setLabs = function(lab_info) { var labs; this.clearMarkers(); labs = this.labs = []; if (lab_info !== void 0) { return $.each(lab_info, function(index, lab_data) { return labs.push(new OrderedLab(index, lab_data)); }); } }; return OrderedLabList; })(); }).call(this); ; FI" _version; F"%0c6214f6b8d1f92265686c590b946f82