var PHARMACY_YELLOW_THRESHOLD=30;var PHARMACY_CHANGES_MINUTES_THRESHOLD=10;var PHARMACY_OPENS_HOURS_THRESHOLD=60;var PHARMACY_HOURS_ROUNDING_THRESHOLD=15;var PHARMACY_UPDATE_INTERVAL=5*60;var pharmaciesOnCall={};var pharmaciesOnMap=[];var pharmacyCounter=0;var pharmacyRequestBounds;var pharmacyRequestDuration;
var pharmacyServerDate;var pharmacyRequestDate;var pharmacyUpdateTimer;var pharmaciesVisible=false;function parsePharmacyDate(F){var E=F.indexOf("-",0);var D=F.indexOf("-",E+1);var C=F.indexOf(" ",D+1);var A=F.indexOf(":",C+1);var B=new Date();B.setMilliseconds(0);B.setSeconds(0);B.setMinutes(F.substring(A+1));
B.setHours(F.substring(C+1,A));B.setDate(F.substring(0,E));B.setMonth(F.substring(E+1,D)-1);B.setFullYear(F.substring(D+1,C));return B}function getPharmacyInfo(G){var E,D,A;for(i=0;i<pharmacyCounter;i++){if(pharmaciesOnMap[i].id==G.id){A=i;break}}E=A-1;D=A+1;if(E<0){E=pharmacyCounter-1}var F=pharmaciesOnMap[E].id;
if(D>pharmacyCounter-1){D=0}var C=pharmaciesOnMap[D].id;var B='<div align="center"><table width="100%"><tr><td align="left"><a href="javascript:showPharmacies('+F+')"><img src="images/velaki_aristera.png" style="border:0px;" title="Προηγούμενo" alt="Προηγούμενo" /></a>&nbsp;</td>';B+='<td align="center"><b><a href="javascript:showPharmacy('+G.id+')">'+G.name+'</a></b>&nbsp;</td><td align="right"><a href="javascript:showPharmacies('+C+')"><img src="images/velaki_deksia.png" style="border:0px;" title="Επόμενo" alt="Επόμενo" /></a></td></tr></table><br />';
B+=G.area+"<br />";B+=G.address+"<br />";B+="<b>Ανοίγει:</b> "+G.opensAt+"<br />";B+="<b>Κλείνει:</b> "+G.closesAt+"<br />";B+="<b>Τηλ:</b> "+G.phone+"<br />";B+="<b>Εφημερία:</b> "+G.efimeria+"<br />";B+="<a href=\"javascript:setRoutePointFrom('"+G.lat+"','"+G.lng+"')\">";B+='<img src="images/start_hex.png" style="border:0px; margin-right:3px;" title="Διαδρομή από" alt="Διαδρομή από" />';
B+="</a>&nbsp;&nbsp;&nbsp;";B+="<a href=\"javascript:setRoutePointTo('"+G.lat+"','"+G.lng+"')\">";B+='<img src="images/stop_hex.png" style="border:0px; margin-right:3px;" title="Διαδρομή έως" alt="Διαδρομή έως" /></a>';B+="</div>";return B}function trueRound(A){A=String(A);var B=A.indexOf(".");if(B>=0){A=A.substring(0,B)
}if(A.length==0){A="0"}return A}function getPharmacyTip(F){var E,A,D;var C=new Date();var K=pharmacyServerDate.getTime()+(C.getTime()-pharmacyRequestDate.getTime());var J=parsePharmacyDate(F.opensAt).getTime();var G=parsePharmacyDate(F.closesAt).getTime();if((J<=K)&&(K<G)){if((G-K<PHARMACY_YELLOW_THRESHOLD*60*1000)){E="Κλείνει σε ";
var B=Math.round((G-K)/(60*1000));if(B<=PHARMACY_CHANGES_MINUTES_THRESHOLD){E+=trueRound(B)+" λεπτά"}else{B=Math.round(B/5)*5;E+=trueRound(B)+" λεπτά"}A="yellow50.png";D="#FFCC33"}else{E="Ανοιχτό";A="green50.png";D="#33CC00"}}else{A="red50.png";D="#FF3300";var E="Ανοίγει σε ";var B=Math.round((J-K)/(60*1000));
if(B>=PHARMACY_OPENS_HOURS_THRESHOLD){var I=B-Math.floor(B/60)*60;var H=(B-I)/60;if(I>=60-PHARMACY_HOURS_ROUNDING_THRESHOLD){H++;I-=60}E+=trueRound(H);if(I>=PHARMACY_HOURS_ROUNDING_THRESHOLD){E+="+"}if((H==1)&&(I<PHARMACY_HOURS_ROUNDING_THRESHOLD)){E+=" ώρα"}else{E+=" ώρες"}}else{if(B<=PHARMACY_CHANGES_MINUTES_THRESHOLD){E+=trueRound(B)+" λεπτά"
}else{B=Math.round(B/5)*5;E+=trueRound(B)+" λεπτά"}}}return{"style":A,"text":E,"color":D}}function addPharmacy(D){pharmaciesOnCall[D.id]=D;pharmaciesOnMap[pharmacyCounter]=D;pharmacyCounter++;var C=iconPerCategoryId[HEALTH_ICON];var A=new google.maps.Marker({position:new google.maps.LatLng(D.lat,D.lng),map:map,icon:C,title:D.name});
A.pharmacydata=D;var B="Φαρμακείο: "+D.name;markersOnMap.push({"lat":D.lat,"lng":D.lng,"name":B});pharmaciesOnCall[D.id].marker=A;pharmaciesOnCall[D.id].touched=true;google.maps.event.addListener(A,"click",function(){showPharmacies(D.id)})}function showPharmacies(A){var D;if(A){D=pharmaciesOnCall[A]}else{for(i in pharmaciesOnCall){D=pharmaciesOnCall[i];
break}}var C=getPharmacyTip(D);var B=getPharmacyInfo(D);B+='<br><div align="center" style="font-size:14px;font-weight:bold"><span style="background-color:'+C.color+'")">'+C.text+"</span></div>";$("#about_td").html(B);show_td(3)}function showPharmacy(B){var A=pharmaciesOnCall[B];show_td(0);map.setZoom(16);
map.setCenter(new google.maps.LatLng(A.lat,A.lng))}function getNewPharmacies(B,A){jQuery.ajax({type:"POST",url:"functs/fsa.jsp",data:{"sw_lat":B.southwest.lat,"sw_lng":B.southwest.lng,"ne_lat":B.northeast.lat,"ne_lng":B.northeast.lng,"dur":A},dataType:"json",success:function(D){pharmacyServerDate=parsePharmacyDate(D[0]);
pharmacyRequestDate=new Date();pharmacies=D[1];for(var C in pharmacies){var E=pharmacies[C];if(pharmaciesOnCall[E.id]===undefined){addPharmacy(E)}}}})}function clearPharmacies(){for(var A in pharmaciesOnCall){var B=pharmaciesOnCall[A];removeFromMarkersOnMap(B.lat,B.lng);B.marker.setMap(null)}pharmaciesOnCall={};
pharmaciesOnMap=[];pharmacyCounter=0;pharmacyRequestBounds=null;$("#pharmacies_ico").attr("src","images/markers/ico_pharmacies.png");$("#pharmacies_href").css("font-style","normal")}function togglePharmaciesOnCall(B){if(B){var A=map.getBounds();var C={"southwest":{"lat":A.getSouthWest().lat(),"lng":A.getSouthWest().lng()},"northeast":{"lat":A.getNorthEast().lat(),"lng":A.getNorthEast().lng()}};
pharmacyRequestDuration=3;if(jQuery("#pharmacies_hours").get(0)){pharmacyRequestDuration=jQuery("#pharmacies_hours").get(0).value}getNewPharmacies(C,pharmacyRequestDuration);pharmacyRequestBounds=C;startPharmacyUpdateTimer();pharmaciesVisible=true;$("#pharmacies_ico").attr("src","images/markers/ico_pharmacies_pressed.png");
$("#pharmacies_href").css("font-style","italic")}else{clearPharmacies();pharmaciesVisible=false}}function updatePharmacies(B,G){if((B)||(jQuery("#pharmacies").get(0).checked)){var E;if(jQuery("#pharmacies_hours").get(0)){E=jQuery("#pharmacies_hours").get(0).value}else{E=G}if(E!=pharmacyRequestDuration){clearPharmacies()
}var A=map.getBounds();var F={"southwest":{"lat":A.getSouthWest().lat(),"lng":A.getSouthWest().lng()},"northeast":{"lat":A.getNorthEast().lat(),"lng":A.getNorthEast().lng()}};var D;if(pharmacyRequestBounds!=null){D=getRectangleDiff(pharmacyRequestBounds,F)}else{D=[F]}for(var C in D){getNewPharmacies(D[C],E)
}pharmacyRequestBounds=F;pharmacyRequestDuration=E;startPharmacyUpdateTimer()}}function startPharmacyUpdateTimer(){if(pharmacyUpdateTimer!=null){clearTimeout(pharmacyUpdateTimer)}pharmacyUpdateTimer=setTimeout("updatePharmacies1();",PHARMACY_UPDATE_INTERVAL*1000)}function updatePharmacies1(){if(pharmaciesVisible){jQuery.ajax({type:"POST",url:"functs/fsa.jsp",data:{"sw_lat":pharmacyRequestBounds.southwest.lat,"sw_lng":pharmacyRequestBounds.southwest.lng,"ne_lat":pharmacyRequestBounds.northeast.lat,"ne_lng":pharmacyRequestBounds.northeast.lng,"dur":pharmacyRequestDuration},dataType:"json",success:function(F){pharmacyServerDate=parsePharmacyDate(F[0]);
pharmacyRequestDate=new Date();pharmacies=F[1];for(var B in pharmaciesOnCall){pharmaciesOnCall[B].touched=false}for(var B in pharmacies){var G=pharmacies[B];if(pharmaciesOnCall[G.id]===undefined){addPharmacy(G)}else{var D=pharmaciesOnCall[G.id];G.marker=D.marker;G.marker.pharmacyinfo=getPharmacyInfo(G);
var E=getPharmacyTip(G);pharmaciesOnCall[G.id]=G;pharmaciesOnCall[G.id].touched=true}}var C=[];for(var B in pharmaciesOnCall){var G=pharmaciesOnCall[B];if(!G.touched){C.push(B)}}for(var B in C){var A=C[B];pharmaciesOnCall[A].marker.setMap(null);delete (pharmaciesOnCall[A])}startPharmacyUpdateTimer()}})
}};
