
URL_Redirect();leaveFrames();var map;var clickedPixel;var contextmenu=document.createElement("div");function load(){if(GBrowserIsCompatible()){map=new GMap2(document.getElementById("map"));map.addControl(new GLargeMapControl3D());map.addControl(new ctrlClearMap());map.addControl(new ctrlDefaultView());map.addControl(new ctrlInMyArea());map.addControl(new GHierarchicalMapTypeControl());map.addMapType(G_PHYSICAL_MAP);map.addMapType(G_SATELLITE_3D_MAP);map.enableDoubleClickZoom();map.enableContinuousZoom();map.enableScrollWheelZoom();centerAndZoom();welcomeMsg();initContextMenu();showHomeLocation();startUpShowMarkers();drawBorder();}}
function startUpShowGroup(catID){showMsg();clearMap();centerAndZoom();GDownloadUrl("getPlaces.asp?catId="+catID,function(data,responseCode){if(responseCode==200){parseAllPlaces(data);}else if(responseCode==-1){alert("Data request timed out. Please try again later.");}else{alert("Request resulted in error. Please report this error.");}
hideMsg();});}
function startUpShowPlace(placeID){showMsg();var callURL;clearMap();callURL="getPlaceGCs.asp?placeID="+placeID
GDownloadUrl(callURL,function(data,responseCode){if(responseCode==200){showMarker(data,"");}else if(responseCode==-1){alert("Data request timed out. Please try again later.");}else{alert("Request resulted in error. Please report this error.");}
hideMsg();});}
function showHomeLocation(){if(getCookie("lat")){var homeLocation=new GPoint(getCookie("lng"),getCookie("lat"));setHome(homeLocation);}}
function welcomeMsg(){if(!getCookie("visitedSite")){if(navigator.appName=="Opera"){map.openInfoWindowHtml(map.getCenter(),"<span style= 'font-family: arial;'><div style= 'color: #548DD4; text-align: center; font-weight: bold; font-size: 22px;'>Welcome to funInSauga!</div><br/>Your guide to food, fun and entertainment in Mississauga.<br/><br/>Find places using the menu on the left.<br/><br/>Some features will not be available with the web browser you are using.</span>");}else{map.openInfoWindowHtml(map.getCenter(),"<span style= 'font-family: arial;'><div style= 'color: #548DD4; text-align: center; font-weight: bold; font-size: 22px;'>Welcome to funInSauga!</div><br/>Your guide to food, fun and entertainment in Mississauga.<br/><br/>Find places using the menu on the left.<br/><br/><b>Right click on the map</b> for more options</span>");}
setCookie("visitedSite","true",999);}}
function setCookie(c_name,value,expiredays){var exdate=new Date();exdate.setDate(exdate.getDate()+expiredays);document.cookie=c_name+"="+escape(value)+((expiredays==null)?"":";expires="+exdate.toGMTString());}
function getCookie(c_name){if(document.cookie.length>0){c_start=document.cookie.indexOf(c_name+"=");if(c_start!=-1){c_start=c_start+c_name.length+1;c_end=document.cookie.indexOf(";",c_start);if(c_end==-1)c_end=document.cookie.length;return unescape(document.cookie.substring(c_start,c_end));}}
return"";}
function startUpShowMarkers(){var pl=getQueryString("p");var gr=getQueryString("g");if(pl){startUpShowPlace(pl);}else if(gr){startUpShowGroup(gr);}}
function getQueryString(qStr){var url=location.href;qStr=qStr+"=";var qStrPos=url.indexOf(qStr);if(qStrPos>0){var qStrVal=url.substring(qStrPos+2);}
return qStrVal;}
function centerAndZoom(){map.setCenter(new GLatLng(43.58262,-79.64813),12);}
function defaultView(){centerAndZoom();map.setMapType(G_NORMAL_MAP);}
function setZoom(lat,lng,obj){if(obj.innerHTML=="Zoom In"){obj.innerHTML="Zoom Out";map.setCenter(new GLatLng(lat,lng),15);}else{obj.innerHTML="Zoom In";map.setCenter(new GLatLng(lat,lng),12);}}
function dirToHere(placeName,lat,lng){var saddr=prompt("PLEASE ENTER THE ADDRESS\n\nExample: 123 Rathburn Road, Mississauga, ON");if(saddr!=null&&saddr!=""){saddr=escape(saddr);window.open("http://maps.google.com/maps?saddr="+saddr+"&daddr="+placeName+"@"+lat+","+lng);}}
function dirFromHere(placeName,lat,lng){var daddr=escape(prompt("PLEASE ENTER THE ADDRESS\n\nExample: 123 Rathburn Road, Mississauga, ON"));if(daddr!=null&&daddr!="")
window.open("http://maps.google.com/maps?saddr="+placeName+"@"+lat+","+lng+"&daddr="+daddr);}
function dirFromHome(placeName,lat,lng){window.open("http://maps.google.com/maps?saddr=My Home@"+getCookie("lat")+", "+getCookie("lng")+"&daddr="+placeName+"@"+lat+","+lng);}
function dirToHome(placeName,lat,lng){window.open("http://maps.google.com/maps?daddr=My Home@"+getCookie("lat")+", "+getCookie("lng")+"&saddr="+placeName+"@"+lat+","+lng);}
function drawBorder(){var encodedPoints="onkhGjx~dNy`Gp_J|yAjbBidO~zToo@clAwHsw@wQvUcc@ueBwJccAqrDudEmzAscDqzAkiByeDgfAgmA_g@yuDohEvVk_@oHoU`xLwcGvpBx{B~@aBv@w@xAWv@]dAgBDu@@kAa@cCGw@H_@d@aAV}AFoBq@kEl@{DdAOrAeQjCgCX}EmByMuGcN`B_H~EwIdEqFtEOlA{B~DwAvCo@jFeFrCoAb@AvI~CpCmAl@SfCr@xKeD|JlEfDeCbDkUnAuGfCqCbCuP~CwJ}EyT}AkHj@qHqGwFHuPnEsChMCpAtBo@xDzK~C`EaBvChFfQq@~EtFxNpAtDeKQ}FjDaFtKfTxEGtD_F[oChBwCtCFjBcCEuF|D{EbDeIbFgHnBaBzByGzRcEdCmI|EqAjI~@lCmEv@qWjCy@fQlDxEQvHeQnNpMrIqTpPk@|CgI";var encodedLevels="BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB";var encodedPolyline=new GPolyline.fromEncoded({color:"#3333cc",weight:6,points:encodedPoints,levels:encodedLevels,zoomFactor:32,numLevels:4});map.addOverlay(encodedPolyline);}
function clearMap(){map.clearOverlays();drawBorder();showHome();}
function inMyArea(type){if(map.getZoom()<15){var zoomIn=confirm("Please zoom-In. \nWould you like to zoom-in automatically?");if(zoomIn){map.setZoom(15);}}
if(map.getZoom()>=15){showMsg();clearMap();var x1=map.getBounds().getSouthWest().lat();var y1=map.getBounds().getSouthWest().lng();var x2=map.getBounds().getNorthEast().lat();var y2=map.getBounds().getNorthEast().lng();callURL="getInMyArea.asp?type="+type+"&x1="+x1+"&y1="+y1+"&x2="+x2+"&y2="+y2;callURL=replaceAll(callURL,"&amp;","%26");GDownloadUrl(callURL,function(data,responseCode){if(responseCode==200){parseAllPlaces(data);}else if(responseCode==-1){alert("Data request timed out. Please try again later.");}else{alert("Request resulted in error. Please report this error.");}
hideMsg();});}}
function placesNearHome(type){map.setCenter(homeMarker.getPoint());if(map.getZoom()<15){map.setZoom(15);}
inMyArea(type);}
function parseTag(retVal,startTag,endTag){var tagStart=retVal.indexOf(startTag);var valueEnd=retVal.indexOf(endTag);var tagLength=startTag.length;return retVal.substring(tagStart+tagLength,valueEnd);}
function fillInfoWindow(val,pName){var retVal=val;var placeName=parseTag(retVal,"<name>","</name>");document.getElementById("idAddress").innerHTML=parseTag(retVal,"<address>","</address>");document.getElementById("idPhone").innerHTML=parseTag(retVal,"<phone>","</phone>");var url=parseTag(retVal,"<url>","</url>");if(url=="")
document.getElementById("idName").innerHTML="<b>"+placeName+"</b>";else{document.getElementById("idName").innerHTML="<a id= 'idURL' href= '' target= '_blank'>"+placeName+"</a>"
document.getElementById("idURL").href=url;}
document.getElementById("idDescription").innerHTML=parseTag(retVal,"<description>","</description>");document.getElementById("idSunO").innerHTML=parseTag(retVal,"<sunO>","</sunO>");document.getElementById("idSunC").innerHTML=parseTag(retVal,"<sunC>","</sunC>");document.getElementById("idMonO").innerHTML=parseTag(retVal,"<monO>","</monO>");document.getElementById("idMonC").innerHTML=parseTag(retVal,"<monC>","</monC>");document.getElementById("idTuesO").innerHTML=parseTag(retVal,"<tuesO>","</tuesO>");document.getElementById("idTuesC").innerHTML=parseTag(retVal,"<tuesC>","</tuesC>");document.getElementById("idWedO").innerHTML=parseTag(retVal,"<wedO>","</wedO>");document.getElementById("idWedC").innerHTML=parseTag(retVal,"<wedC>","</wedC>");document.getElementById("idThursO").innerHTML=parseTag(retVal,"<thursO>","</thursO>");document.getElementById("idThursC").innerHTML=parseTag(retVal,"<thursC>","</thursC>");document.getElementById("idFriO").innerHTML=parseTag(retVal,"<friO>","</friO>");document.getElementById("idFriC").innerHTML=parseTag(retVal,"<friC>","</friC>");document.getElementById("idSatO").innerHTML=parseTag(retVal,"<satO>","</satO>");document.getElementById("idSatC").innerHTML=parseTag(retVal,"<satC>","</satC>");}
function replaceAll(pInputString,pReplaceThis,pReplaceWith){var returnVal=pInputString.split(pReplaceThis).join(pReplaceWith);return returnVal;}
function isViewable(point){var mapArea=new GLatLngBounds(map.getBounds().getSouthWest(),map.getBounds().getNorthEast());if(!mapArea.containsLatLng(point)){map.zoomOut();}}
function createMarker(point,pName,icon){var marker,placeName;var lat,lng,callURL;if(pName.charCodeAt(0)==8226){placeName=pName.slice(7);}else{placeName=pName;}
isViewable(point);if(icon!=""){var customIcon=new GIcon();customIcon.image='images/'+icon;customIcon.shadow='images/shadow.png';customIcon.iconSize=new GSize(28,28);customIcon.shadowSize=new GSize(43,28);customIcon.iconAnchor=new GPoint(6,20);customIcon.infoWindowAnchor=new GPoint(5,1);marker=new GMarker(point,{title:unescape(placeName),icon:customIcon});}else{marker=new GMarker(point,{title:unescape(placeName)});}
GEvent.addListener(marker,"click",function(){lat=marker.getPoint().lat();lng=marker.getPoint().lng();callURL="getPlaceInfo.asp?latitude="+lat+"&longitude="+lng+"&placeName="+placeName;callURL=replaceAll(callURL,"&amp;","%26");GDownloadUrl(callURL,function(data,responseCode){if(responseCode==200){var info,description,hours,update;info=getInfoWindowData_Info(placeName,lat,lng,data);description=getInfoWindowData_Desc(data);hours=getInfoWindowData_Hours(data);update=getInfoWindowData_Update(lat,lng);var infoTabs=[new GInfoWindowTab("Info",info),new GInfoWindowTab("Description",description),new GInfoWindowTab("Hours",hours),new GInfoWindowTab("Update",update)];marker.openInfoWindowTabsHtml(infoTabs);}else if(responseCode==-1){alert("Data request timed out. Please try again later.");}else{alert("Request resulted in error. Please report this error.");}});});return marker;}
function getInfoWindowData_Info(placeName,lat,lng,data){var info,name,address,phone,url;var url=parseTag(data,"<url>","</url>");if(url=="")
name="<span id= 'idName'>"+parseTag(data,"<name>","</name>")+"</span>";else{name="<span id= 'idName'><a id= 'idURL' href= '"+url+"' target= '_blank'>"+parseTag(data,"<name>","</name>")+"</a></span>";}
address="<span id= 'idAddress'>"+parseTag(data,"<address>","</address>")+"</span> ";phone="<span id= 'idPhone'>"+parseTag(data,"<phone>","</phone>")+"</span>";info=name+"<br/>"+address+"<br/>"+phone+"<br/><br/>";if(map.getZoom()>12)
info+="<span id= 'idZoom'><img src= 'images/search.gif'/> <span class= 'link' onClick= \"setZoom("+lat+","+lng+", this);\">Zoom Out</span></span><br/>"
else
info+="<span id= 'idZoom'><img src= 'images/search.gif'/> <span class= 'link' onClick= \"setZoom("+lat+","+lng+", this);\">Zoom In</span></span><br/>"
info+="<span id= 'idZoom'><img src= 'images/car.png'/> Get Directions "
if(getCookie("lat")){info+=" <span class= 'link' onClick= \"dirFromHome('"+escape(placeName)+"', "+lat+","+lng+");\">From My Home</span> <img src= 'images/home_sm.png' style= 'cursor: pointer;' onClick= \"dirFromHome('"+escape(placeName)+"', "+lat+","+lng+");\" />"
info+=" or <span class= 'link' onClick= \"dirToHere('"+escape(placeName)+"', "+lat+","+lng+");\">another address</span>"
info+="</span>"}else{info+="<span class= 'link' onClick= \"dirToHere('"+escape(placeName)+"', "+lat+","+lng+");\">To Here</span>"
info+="</span>"}
return info;}
function getInfoWindowData_Desc(data){return"<div id= 'idDescription' style= 'font-family: Arial; font-size: 14px; height: 120px; width: 340px; overflow: auto;'>"+parseTag(data,"<description>","</description>")+"</div>";}
function getInfoWindowData_Hours(data){var hours;hours="<table border= '0' cellspacing= '0' style= 'font-family: arial; font-size: 13px;'>"
hours+="<tr style= 'background-color: #99B3CC;'><td>Sunday</td><td><span id= 'idSunO'>"+parseTag(data,"<sunO>","</sunO>")+"</span></td><td><span id= 'idSunC' class='clHrs'>"+parseTag(data,"<sunC>","</sunC>")+"</span></td></tr>"
hours+="<tr style= 'background-color: white;'><td>Monday</td><td><span id= 'idMonO'>"+parseTag(data,"<monO>","</monO>")+"</span></td><td><span id= 'idMonC' class='clHrs'>"+parseTag(data,"<monC>","</monC>")+"</span></td></tr>"
hours+="<tr style= 'background-color: #99B3CC;'><td>Tuesday</td><td><span id= 'idTuesO'>"+parseTag(data,"<tuesO>","</tuesO>")+"</span></td><td><span id= 'idTuesC' class='clHrs'>"+parseTag(data,"<tuesC>","</tuesC>")+"</span></td></tr>"
hours+="<tr style= 'background-color: white;'><td>Wednesday</td><td><span id= 'idWedO'>"+parseTag(data,"<wedO>","</wedO>")+"</span></td><td><span id= 'idWedC' class='clHrs'>"+parseTag(data,"<wedC>","</wedC>")+"</span></td></tr>"
hours+="<tr style= 'background-color: #99B3CC;'><td>Thursday</td><td><span id= 'idThursO'>"+parseTag(data,"<thursO>","</thursO>")+"</span></td><td><span id= 'idThursC' class='clHrs'>"+parseTag(data,"<thursC>","</thursC>")+"</span></td></tr>"
hours+="<tr style= 'background-color: white;'><td>Friday</td><td><span id= 'idFriO'>"+parseTag(data,"<friO>","</friO>")+"</span></td><td><span id= 'idFriC' class='clHrs'>"+parseTag(data,"<friC>","</friC>")+"</span></td></tr>"
hours+="<tr style= 'background-color: #99B3CC;'><td>Saturday</td><td><span id= 'idSatO'>"+parseTag(data,"<satO>","</satO>")+"</span></td><td><span id= 'idSatC' class='clHrs'>"+parseTag(data,"<satC>","</satC>")+"</span></td></tr>"
hours+="</table>"
return hours;}
function getInfoWindowData_Update(lat,lng){var updateStr;updateStr="<div style='width: 350px;'>";updateStr+="<div style= 'font-family: arial; font-weight: bold; font-size: 13px;'>Please type your suggestion and click ";updateStr+="<input class= 'btnSend' type= 'button' value= 'Send' onClick= 'sendUpdate("+lat+", "+lng+");' />";updateStr+="</div>";updateStr+="<div style= 'border-style: none; border-width: 1px;'><textarea id= 'objUpdate' style= 'width: 100%; height: 90px; font-family: Arial;' onkeyup= 'txtLimit(this, 300);'></textarea></div>";updateStr+="</div>";return updateStr;}
function sendUpdate(pLat,pLng){var update;var callURL;update=document.getElementById("objUpdate");if(update.value.replace(/^\s*|\s*$/g,"")==""){alert("Please provide the update");update.focus();}else{callURL="submitSuggestion.asp?update="+update.value+"&lat="+pLat+"&long="+pLng;GDownloadUrl(callURL,function(data,responseCode){if(responseCode==200){alert("Thank you for providing an update. Your submission will be processed wihtin 48 hours.");update.value="";}else if(responseCode==-1){alert("Data request timed out. Please try again later.");}else{alert("Request resulted in error. Please report this error.");}});}}
function clickPlace(placeID,placeObj){showMsg();var callURL;var placeName=placeObj.innerHTML;clearMap();callURL="getPlaceGCs.asp?placeID="+placeID
GDownloadUrl(callURL,function(data,responseCode){if(responseCode==200){showMarker(data,placeName);}else if(responseCode==-1){alert("Data request timed out. Please try again later.");}else{alert("Request resulted in error. Please report this error.");}
hideMsg();});}
function showMarker(str,pName){var comma,lat,lng,icon,point
centerAndZoom();while(str!=""){comma=str.indexOf(",");lat=str.substring(0,comma);str=str.substr(comma+1);comma=str.indexOf(",");lng=str.substring(0,comma);str=str.substr(comma+1);comma=str.indexOf(",");icon=str.substring(0,comma);str=str.substr(comma+1);point=new GLatLng(lat,lng);map.addOverlay(createMarker(point,pName,icon));}}
function search(placeName){showMsg();var callURL;clearMap();placeName=replaceAll(placeName,"&","%26");callURL="search.asp?placeName="+placeName
GDownloadUrl(callURL,function(data,responseCode){if(responseCode==200){showMarker(data,placeName);}else if(responseCode==-1){alert("Data request timed out. Please try again later.");}else{alert("Request resulted in error. Please report this error.");}
hideMsg();});}
function leaveFrames(){if(top.location!=location)
top.location.href=document.location.href;}
function URL_Redirect(){if(document.location.href.toLowerCase().indexOf("funinsauga.ca")>0||document.location.href.toLowerCase().indexOf("funinmississauga.ca")>0||document.location.href.toLowerCase().indexOf("funinmississauga.com")>0){top.location.href="http://www.funInSauga.com/";}}
function showMsg(){var loadingMsg=document.getElementById("divLoad");loadingMsg.style.display="";loadingMsg.style.top="45%";loadingMsg.style.padding="10px";loadingMsg.style.left="50%";}
function hideMsg(){document.getElementById("divLoad").style.display="none"}
function clickSearch(obj){if(obj.value=="Type here to search by name"){obj.value="";obj.style.color="black";obj.style.fontStyle="normal";}else{obj.select();}}
function clearSearchBox(){document.getElementById('searchBox').value="Type here to search by name";document.getElementById('searchBox').style.color="#696969";document.getElementById('searchBox').blur();}
function txtLimit(objInp,pLimit){var maxChars=pLimit;var numChars;var text;var input=objInp;text=input.value;numChars=text.length;if(numChars>maxChars){alert("Char limit is "+maxChars);input.style.backgroundColor="yellow";input.value=text.substr(0,maxChars);text=input.value;numChars=text.length;}else{input.style.backgroundColor="white";}}
function dispShowAll(obj){var objRef=document.getElementById(obj).style.display='';}
function hideShowAll(obj){var objRef=document.getElementById(obj).style.display='none';}
function showAll(catID,imgObj){imgObj.style.visibility="hidden";showMsg();clearMap();centerAndZoom();GDownloadUrl("getPlaces.asp?catId="+catID,function(data,responseCode){if(responseCode==200){parseAllPlaces(data);}else if(responseCode==-1){alert("Data request timed out. Please try again later.");}else{alert("Request resulted in error. Please report this error.");}
hideMsg();imgObj.style.visibility="";});}
function parseAllPlaces(str){var comma,lat,lng,icon,point
while(str!=""){comma=str.indexOf(",");lat=str.substring(0,comma);str=str.substr(comma+1);comma=str.indexOf(",");lng=str.substring(0,comma);str=str.substr(comma+1);comma=str.indexOf(",");icon=str.substring(0,comma);str=str.substr(comma+1);point=new GLatLng(lat,lng);map.addOverlay(createMarker(point,"",icon));}}
