$.google=function(){var m=214;var K=16;var t="/privatpersoner/common/vagbeskrivning.aspx?id=";var M="/privatpersoner/radochprodukter/common/ajax/ApoSearchApotekOchOmbudByProximityAjax.aspx";var r='<tr><td class="tdcol1"><a href="R_URL">R_ADDRESS</a><input type="hidden" name="mapdata" value="({url:\'R_URL\',text:\'R_ADDRESS\',latlng:[R_LAT,R_LNG]})" /><div class="callout"><address><strong>R_NAME</strong><br />R_ADDRESS<br />R_POST R_CITY</address><p>Ã–ppet idag: R_HOURS</p><a class="arrow" href="R_URL">Ã–ppettider och information</a><a class="arrow" href="R_DIRECTIONS_URL">VÃ¤gbeskrivning</a></div></td><td class="tdcol2">R_CITY</td><td class="tdcol3">R_HOURS</td></tr>';var H="/privatpersoner/common/ajax/sok.aspx";var o="/privatpersoner/common/ajax/ApoSearchApotekOchOmbudByProximityAjax.aspx";var c="/privatpersoner/common/apotek.aspx?id=";var J="/_ApoLayouts/img/mapmarkers/apoPin.png";var l="/_ApoLayouts/img/mapmarkers/apoPinHover.png";var s="/_ApoLayouts/img/mapmarkers/arrow.png";var x;var q;var k;var D;var A;var g;var b;var p;var u;var E={search:"proximity",radius:"5"};var C=function(R,Q){var O=new GMarker(new GLatLng(R[0],R[1]),{icon:A,clickable:(Q!=null)});x.addOverlay(O);if(!D.containsLatLng(O.getLatLng())){D.extend(O.getLatLng())}if(Q!=null){O.bindInfoWindow(Q.find(".callout").outerHTML(),{maxWidth:m,pixelOffset:new GSize(5,5)});var P=N(O);P.data("row",Q);GEvent.addListener(O,"mouseover",function(){var S=N(this).data("row");S.css("background","#fffeee")});GEvent.addListener(O,"mouseout",function(){var S=N(this).data("row");S.css("background","transparent")})}return O};var N=function(Q){for(var P in Q){if(typeof(Q[P])=="object"&&Q[P]!=null&&Q[P][0]!=null){var O=$(Q[P][0]);if(O.attr("src")!=null){return O}}}};var B=function(P){var O=new GMarker(new GLatLng(P[0],P[1]),{icon:g,clickable:0});x.addOverlay(O);return O};var h=function(){if($("#sq").val().replace(" ","").length==0){return false}var O=$(".type001 tbody");O.html("");if(x!=null){x.clearOverlays()}$.get(H,{sq:$("#sq").val(),tab:"Ha"},function(P){f();i();$.google.initMap();$.google.setPins();$.google.setMapZoom()});return false};var d=function(){var O=$(".type001 tbody");O.html("");i()};var i=function(){if($(".resultlist").is(":empty")||!$(".type001 tbody tr").length){j();$(".resultlist").hide();$(".col_half_right").hide()}else{$(".dynamic_content_008").append('<div class="extendedsearch"><a class="arrow" id="extendedsearch" href="#">Sök på den geografiska platsen "<strong>'+$("#sq").val()+'</strong>"</a></div>');$(".results").hide()}};var f=function(){$('input[name="placemark"]').click(function(){var O=new Object();O[$(this).attr("name")]=$(this).val();$.get(o,O,function(){$.google.initMap();$.google.setPins();$.google.setMapZoom(14)})})};var j=function(){var O=$("#sq").val();O=O+" sweden";q.getLocations(O.toLowerCase(),function(R){var P=$("<div></div>");$(".results").show();$(".results").children().remove();switch(R.Status.code){case G_GEO_SERVER_ERROR:P.append('<div class="error"><p>Servern kunde inte genomföra din sökning, felkod 500. Försök igen!</p></div>');$(".results").append(P).show();return false;case G_GEO_MISSING_QUERY:P.append('<div class="error"><p>Du måste skriva in en adress!</p></div>');$(".results").append(P).show();return false;case G_GEO_UNKNOWN_ADDRESS:P.append('<div class="error"><p>Vi kunde inte hitta den givna adressen.</p></div>');$(".results").append(P).show();return false}for(var Q=0;Q<R.Placemark.length;Q++){P.append(y(R.Placemark[Q],Q))}$(".results").attr("id","proximitySuggestions").append("<h3>De mest relevanta resultaten för din sökning</h3><fieldset>").append("<legend>Välj din ort i listan nedan</legend>").append(P).append("</fieldset>").show()})};var y=function(Q,O){if(Q.address&&Q.address!=""){address=Q.address.replace(", Sweden","").replace(", Sverige","").replace("Municipality","Kommun").replace(/, ?([^,]+)/,", <strong>$1</strong>")}else{if(Q.AddressDetails.Accuracy>=6){address=Q.AddressDetails.Country.AdministrativeArea.Locality.Thoroughfare.ThoroughfareName}if(Q.AddressDetails.Accuracy>=4){if(Q.AddressDetails.Country.AdministrativeArea){address="<strong>"+Q.AddressDetails.Country.AdministrativeArea.Locality.LocalityName+"</strong>"}else{if(Q.AddressDetails.Country.Locality){address="<strong>"+Q.AddressDetails.Country.Locality.LocalityName+"</strong>"}}}if(address.join("")==""&&Q.AddressDetails.Accuracy>=2){address="<strong>"+Q.AddressDetails.Country.AdministrativeArea.AdministrativeAreaName+"</strong>"}}var P=$('<div class="hit"></div>');P.append('<input type="radio" id="placemark-'+O+'" name="placemark" value="'+Q.Point.coordinates[1]+","+Q.Point.coordinates[0]+'" />');P.append('<label for="placemark-'+O+'">'+address+"</label>");P.find("input").click(G);return P};var G=function(Q){var O=$(this).siblings("label").text();$("div.results").hide();var P=$(this).val();$.get(H,{sq:P,tab:"Ha",proximity:"true",proximityLocation:O},function(){$.google.initMap();$.google.setPins();$.google.setMapZoom();$("#placemark-address").html("").html(O)})};var n=function(){var O=$("#address-from").val();O=O+" sweden";q.getLocations(O.toLowerCase(),function(R){var P=$("<div></div>");$(".results .error").remove();$(".results .hit").remove();switch(R.Status.code){case G_GEO_SERVER_ERROR:P.append('<div class="error"><p>Servern kunde inte genomfÃ¶ra din sökning, felkod 500. Försök igen!</p></div>');$(".results").append(P).show();return false;case G_GEO_MISSING_QUERY:P.append('<div class="error"><p>Du måste skriva in en adress!</p></div>');$(".results").append(P).show();return false;case G_GEO_UNKNOWN_ADDRESS:P.append('<div class="error"><p>Vi kunde inte hitta den givna adressen.</p></div>');$(".results").append(P).show();return false;case G_GEO_UNKNOWN_DIRECTIONS:P.append('<div class="error"><p>Google har ingen väg mellan de två adresserna.</p></div>');$(".results").append(P).show();return false}for(var Q=0;Q<R.Placemark.length;Q++){P.append(L(R.Placemark[Q],Q))}$("div.results").append(P).show();$(".search_navigation").hide()});return false};var L=function(Q,O){if(Q.address&&Q.address!=""){address=Q.address.replace(", Sweden","").replace(", Sverige","").replace("Municipality","Kommun").replace(/, ?([^,]+)/,", <strong>$1</strong>")}else{if(Q.AddressDetails.Accuracy>=6){address=Q.AddressDetails.Country.AdministrativeArea.Locality.Thoroughfare.ThoroughfareName}if(Q.AddressDetails.Accuracy>=4){if(Q.AddressDetails.Country.AdministrativeArea){address="<strong>"+Q.AddressDetails.Country.AdministrativeArea.Locality.LocalityName+"</strong>"}else{if(Q.AddressDetails.Country.Locality){address="<strong>"+Q.AddressDetails.Country.Locality.LocalityName+"</strong>"}}}if(address.join("")==""&&Q.AddressDetails.Accuracy>=2){address="<strong>"+Q.AddressDetails.Country.AdministrativeArea.AdministrativeAreaName+"</strong>"}}var P=$('<div class="hit"></div>');P.append('<input type="radio" id="placemark-'+O+'" name="placemark" value="'+Q.Point.coordinates[1]+","+Q.Point.coordinates[0]+'" />');P.append('<label for="placemark-'+O+'">'+address+"</label>");P.find("input").click(I);return P};var v=function(){$(".directions_box").slideUp(500,function(){p=$('<a class="arrowback" href="#">Ändra varifrån du åker</a>');p.click(function(){e();return false});$(".pagetitle .moreinfo").append(p)})};var e=function(){p.remove();$(".directions_box").slideDown(500)};var I=function(){$("#googlepane").html("");var P=new GPoint($(this).val().split(",")[0],$(this).val().split(",")[1]);var O=b;k.loadFromWaypoints([P,O],{locale:"sv"});google.maps.Event.addListener(k,"load",function(){x.clearOverlays()});google.maps.Event.addListener(k,"error",function(){var Q=this.getStatus();if(Q&&Q.code==G_GEO_UNKNOWN_DIRECTIONS){$("#googlepane").html('<div class="puff"><p>Kunde inte finna någon vägbeskrivning. Om möjligt försök att precisera din sökning genom att ange ett vägnamn.</p></div>')}});v()};var z=function(){u=$("#map").offset();$(window).scroll(function(O){if($(window).scrollTop()-u.top>0){$("#map").addClass("fixed")}else{$("#map").removeClass("fixed")}})};var w=function(){var O=x.getCenter();var P=Math.abs(b[0]-O.y)+Math.abs(b[1]-O.x);b=[O.y,O.x];if(P>0&&$(".type001").length){}};var F=function(Q){var P=x.getZoom();switch(P){case 13:radius=10;break;case 12:radius=15;break;case 11:radius=30;break;case 10:radius=50;break;case 9:radius=80;break;case 8:radius=100;break;case 7:radius=200;break;case 6:radius=400;break;case 5:radius=7000;break;case 4:radius=1000;break;default:radius=5}E.radius=radius;E.center=b[0]+","+b[1];var O=this;$.ajax({url:M,dataType:"json",data:E,success:a})};var a=function(S,T){var R=S.apotek;var Q=$(".type001 tbody");Q.html("");x.clearOverlays();for(var P=0;P<R.length;P++){R[P].latitud=R[P].latitud.replace(",",".");R[P].longitud=R[P].longitud.replace(",",".");var O=r.replace("R_LAT",R[P].latitud).replace("R_LNG",R[P].longitud).replace(/R_URL/g,c+R[P].id).replace(/R_CITY/g,R[P].ort).replace(/R_NAME/g,R[P].namn).replace(/R_ADDRESS/g,R[P].gatuadress).replace(/R_POST/g,R[P].postnummer).replace(/R_DIRECTIONS_URL/g,t+R[P].id).replace(/R_HOURS/g,R[P].oppet);Q.append($(O))}$.google.setPins()};return{initMap:function(){if(!x||x.getContainer()!=$("#googlemap").get(0)){b=$("#mapcenter").metadata({type:"attr",name:"value"}).latlng;if(b[0]!=0&&b[1]!=0){x=new google.maps.Map2($("#googlemap").get(0));x.setCenter(new google.maps.LatLng(b[0],b[1]),K);x.addControl(new google.maps.SmallMapControl());x.addControl(new google.maps.MapTypeControl())}else{x=false}google.maps.Event.addListener(x,"dragend",w)}var P=this;var O=function(){var Q=$(this);var R=Q.attr("rel");$.get(R,"",function(){$.google.initMap();P.refreshMap()});return false};$("div.search_navigation a").expire("click").livequery("click",O);$("div.dynamic_content_008 th a").expire("click").livequery("click",O);$("#advancedsearch a").expire("click").livequery("click",O);z()},initAjaxSearch:function(){q=new google.maps.ClientGeocoder();q.setBaseCountryCode("se");$('input[name="hittaapoteksubmit"]').click(h);$("a#extendedsearch").live("click",d);f()},refreshMap:function(){x.clearOverlays();this.setPins();this.setMapZoom()},initDirections:function(){q=new google.maps.ClientGeocoder();q.setBaseCountryCode("se");k=new GDirections(x,document.getElementById("googlepane"));$("div.directions_box a.submit-white-button-container input:eq(0)").click(n);$("#address-from").bind("keydown",function(O){if(O.keyCode==13){n();return false}})},setMapZoom:function(){var O=x.getBoundsZoomLevel(D);O=(O<K)?O:K;x.setZoom(O);b=[D.getCenter().y,D.getCenter().x];x.setCenter(D.getCenter(),O)},setPins:function(){A=new google.maps.Icon(G_DEFAULT_ICON,J);A.iconSize=new google.maps.Size(24,38);g=new google.maps.Icon(G_DEFAULT_ICON,s);g.iconSize=new google.maps.Size(39,34);D=new google.maps.LatLngBounds();$('input[name="mapdata"]').each(function(Q){var O=$(this).metadata({type:"attr",name:"value"}).latlng;if(typeof O[0]!="number"||typeof O[1]!="number"||(O[0]==0||O[1]==0)){return}var P=$(this).parent().parent();if(P.get(0).tagName.toLowerCase()=="tr"){if(Q==0){B(b)}P.data("marker",C(O,P)).click(function(){var R=$(this).data("marker");R.openInfoWindow($(this).find(".callout").outerHTML(),{maxWidth:m});return false}).hover(function(){var R=$(this).data("marker");$(this).css("background","#fffeee");R.setImage(l);N(R).css("zIndex","2")},function(){var R=$(this).data("marker");$(this).css("background","transparent");R.setImage(J);N(R).css("zIndex","1")}).each(function(){var R=this;$(this).find(".ajax-tooltip").click(function(){$(R).trigger("click")})})}else{C(O)}})}}}();if(typeof google!="undefined"){google.load("search","1");google.load("maps","2");google.setOnLoadCallback(function(){if(GBrowserIsCompatible()){if($("#map").length){$.google.initMap();$.google.setPins();$.google.setMapZoom();$.google.initAjaxSearch()}else{if($('[name="hittaapoteksubmit"]').length){$.google.initAjaxSearch()}else{if($("#proximitySuggestions").length){$.google.initAjaxSearch()}}}if($(".directions_box").length){$.google.initDirections()}}})};
