// set icons
var allSurfIcon = new GIcon();
allSurfIcon.image = "images/allBoards.png";
allSurfIcon.iconSize = new GSize(21, 21);
allSurfIcon.iconAnchor = new GLatLng(0, 0);
allSurfIcon.infoWindowAnchor = new GLatLng(0, 0);

var longBoardIcon = new GIcon();
longBoardIcon.image = "images/longBoard.png";
longBoardIcon.iconSize = new GSize(21, 21);
longBoardIcon.iconAnchor = new GLatLng(0, 0);
longBoardIcon.infoWindowAnchor = new GLatLng(0, 0);

var shortBoardIcon = new GIcon();
shortBoardIcon.image = "images/shortBoard.png";
shortBoardIcon.iconSize = new GSize(17, 17);
shortBoardIcon.iconAnchor = new GLatLng(0, 0);
shortBoardIcon.infoWindowAnchor = new GLatLng(0, 0);

var skateboardIcon = new GIcon();
skateboardIcon.image = "images/skateboard.png";
skateboardIcon.iconSize = new GSize(21, 22);
skateboardIcon.iconAnchor = new GLatLng(0, 0);
skateboardIcon.infoWindowAnchor = new GLatLng(0, 0);

var foodIcon = new GIcon();
foodIcon.image = "images/food.png";
foodIcon.iconSize = new GSize(21, 21);
foodIcon.iconAnchor = new GLatLng(0, 0);
foodIcon.infoWindowAnchor = new GLatLng(0, 0);

var stillCamIcon = new GIcon();
stillCamIcon.image = "images/stillCam.png";
stillCamIcon.iconSize = new GSize(22, 17);
stillCamIcon.iconAnchor = new GLatLng(0, 0);
stillCamIcon.infoWindowAnchor = new GLatLng(0, 0);

var streamCamIcon = new GIcon();
streamCamIcon.image = "images/streamCam.png";
streamCamIcon.iconSize = new GSize(23, 16);
streamCamIcon.iconAnchor = new GLatLng(0, 0);
streamCamIcon.infoWindowAnchor = new GLatLng(0, 0);

var panCamIcon = new GIcon();
panCamIcon.image = "images/panCam.png";
panCamIcon.iconSize = new GSize(23, 20);
panCamIcon.iconAnchor = new GLatLng(0, 0);
panCamIcon.infoWindowAnchor = new GLatLng(0, 0);

var buoyIcon = new GIcon();
buoyIcon.image = "images/buoy.png";
buoyIcon.iconSize = new GSize(23, 24);
buoyIcon.iconAnchor = new GLatLng(0, 0);
buoyIcon.infoWindowAnchor = new GLatLng(0, 0);


// set default map center
var centerOfAllPoint = new GLatLng ( -7.013668,-97.03125 );

// set spot point, marker and info

// surf spots
// florida
var ponceInletPoint = new GLatLng( 29.079145,-80.918748 );
var ponceInletMarker = new GMarker( ponceInletPoint, allSurfIcon );
var ponceInletInfo = "Daytona Beach\n\nSouth jetty, located in a state park area so DP sessions might be up to the park ranger's discretion. Cleanest on south swells."

var newSmyrnaPoint = new GLatLng( 29.073387,-80.911818 );
var newSmyrnaMarker = new GMarker( newSmyrnaPoint, shortBoardIcon );
var newSmyrnaInfo = "New Smyrna Beach\n\nMost consistent and well known break in Florida, ultra crowded."

var bethunePoint = new GLatLng( 28.97277,-80.854118 );
var bethuneMarker = new GMarker( bethunePoint, allSurfIcon );
var bethuneInfo = "Bethune\n\nWell defined sandbar making a fun outside break with a good connection to the inside."

var typhoonLagoonPoint = new GLatLng( 28.365885,-81.530228 );
var typhoonLagoonMarker = new GMarker( typhoonLagoonPoint, shortBoardIcon );
var typhoonLagoonInfo = "Lake Buena Vista\n\nAverage wave, this is a pool so it's always on. For about $1,200 per session."

var jettyParkPoint = new GLatLng( 28.407161,-80.591304 );
var jettyParkMarker = new GMarker( jettyParkPoint, longBoardIcon );
var jettyParkInfo = "Cape Canaveral\n\nSmall waves, only good on south swells or north VAS conditions."

var cbPierPoint = new GLatLng( 28.367169,-80.60287 );
var cbPierMarker = new GMarker( cbPierPoint, allSurfIcon );
var cbPierInfo = "Cocoa Beach\n\nAverage waves, very crowded best for DP sessions before work on south swells or VAS conditions."

var loriWilsonPoint = new GLatLng( 28.336601,-80.607204 );
var loriWilsonMarker = new GMarker( loriWilsonPoint, allSurfIcon );
var loriWilsonInfo = "Cocoa Beach\n\nAverage waves, good parking and crowded."

var holidayInnPoint = new GLatLng( 28.333565,-80.606539 );
var holidayInnMarker = new GMarker( holidayInnPoint, allSurfIcon );
var holidayInnInfo = "Cocoa Beach\n\nAverage waves, good parking and seldom crowded."

var thirteenthPoint = new GLatLng( 28.295208,-80.607719 );
var thirteenthMarker = new GMarker( thirteenthPoint, allSurfIcon );
var thirteenthInfo = "Cocoa Beach\n\nAverage waves, deep sandbar best on high to incoming tide. Seldom crowded."

var murksheParkPoint = new GLatLng( 28.289842,-80.607395 );
var murksheParkMarker = new GMarker( murksheParkPoint, allSurfIcon );
var murksheParkInfo = "Cocoa Beach\n\nAverage waves, free parking and seldom crowded."

var tablesPoint = new GLatLng( 28.266727, -80.60544 );
var tablesMarker = new GMarker( tablesPoint, allSurfIcon );
var tablesInfo = "PAFB\n\nAverage waves, very crowded."

var oClubPoint = new GLatLng( 28.257069, -80.604013 );
var oClubMarker = new GMarker( oClubPoint, longBoardIcon );
var oClubInfo = "PAFB\n\nMellow atmosphere somewhat crowded."

var secondLightPoint = new GLatLng( 28.252868, -80.60346 );
var secondLightMarker = new GMarker( secondLightPoint, shortBoardIcon );
var secondLightInfo = "PAFB\n\nPeaky shortboard waves but highly agro attitude, ultra crowded."

var hangersPoint = new GLatLng( 28.243058, -80.601786 );
var hangersMarker = new GMarker( hangersPoint, allSurfIcon );
var hangersInfo = "PAFB\n\nAverage waves, seldom crowded just beware of old pier piling remains."

var perkinsPoint = new GLatLng( 28.200697, -80.595408 );
var perkinsMarker = new GMarker( perkinsPoint, shortBoardIcon );
var perkinsInfo = "Satellite Beach\n\nPeaky waves, better oncrowded."

var blackbeardsDenPoint = new GLatLng( 28.173651,-80.589083 );
var blackbeardsDenMarker = new GMarker( blackbeardsDenPoint, shortBoardIcon );
var blackbeardsDenInfo = "Satellite Beach\n\nPeaky waves, seldom crowded."

var boardwalkPoint = new GLatLng( 28.091844,-80.565829 );
var boardwalkMarker = new GMarker( boardwalkPoint, allSurfIcon );
var boardwalkInfo = "Indialantic\n\nAverage waves, end of a causeway so it's often crowded."

var oceanAvenuePoint = new GLatLng( 28.068866,-80.557052 );
var oceanAvenueMarker = new GMarker( oceanAvenuePoint, allSurfIcon );
var oceanAvenueInfo = "Melbourne Beach\n\nAverage waves, good on north swells seldom crowded."

var sebastianInletPoint = new GLatLng( 27.862232,-80.447559 );
var sebastianInletMarker = new GMarker( sebastianInletPoint, shortBoardIcon );
var sebastianInletInfo = "Melbourne Beach\n\nPeaky waves, very consistant very crowded."

var fortPiercePoint = new GLatLng( 27.474161,-80.288086 );
var fortPierceMarker = new GMarker( fortPiercePoint, allSurfIcon );
var fortPierceInfo = "Fort Pierce\n\nAverage waves, most consistant break in the south Florida area."

var jupiterCliffPoint = new GLatLng( 26.926054,-80.06756 );
var jupiterCliffMarker = new GMarker( jupiterCliffPoint, allSurfIcon );
var jupiterCliffInfo = "Jupiter\n\nAverage waves, fairly empty park on the side of the road and climb down the cliff."

var southBeachPoint = new GLatLng( 25.765566,-80.131123 );
var southBeachMarker = new GMarker( southBeachPoint, shortBoardIcon );
var southBeachInfo = "Miami Beach\n\nVery inconsistent, but can be a great wave on strong south swells. Ultra crowded."

var portOfMiamiPoint = new GLatLng( 25.76488,-80.132668 );
var portOfMiamiMarker = new GMarker( portOfMiamiPoint, shortBoardIcon );
var portOfMiamiInfo = "Miami Beach\n\nRare wave, you'll have to wait for a long time, but better than doing nothing. Best around 4:00pm"

var virginiaKeyShoalsPoint = new GLatLng( 25.748627,-80.135951 );
var virginiaKeyShoalsMarker = new GMarker( virginiaKeyShoalsPoint, allSurfIcon );
var virginiaKeyShoalsInfo = "Key Biscayne\n\nVery inconsistent and out of reach, but if you have a boat or windsurf it's a lot of fun no crowd."

// costa rica
var olliesPtPoint = new GLatLng( 10.851346,-85.79936 );
var olliesPtMarker = new GMarker( olliesPtPoint, allSurfIcon );
var olliesPtInfo = "Ollie's Point\n\nRight point, you'll need a boat. I'll be there one day."

var witchsRockPoint = new GLatLng( 10.793302,-85.681729 );
var witchsRockMarker = new GMarker( witchsRockPoint, allSurfIcon );
var witchsRockInfo = "Witch's Rock\n\nWorld class, very crowded. I'll be there one day."

// california
var malibuPoint = new GLatLng( 34.034133,-118.678393 );
var malibuMarker = new GMarker( malibuPoint, longBoardIcon );
var malibuInfo = "Malibu\n\nMellow longboard wave, very long right point ultra crowded."

var sunsetBlvdPoint = new GLatLng( 34.037707,-118.553982 );
var sunsetBlvdMarker = new GMarker( sunsetBlvdPoint, shortBoardIcon );
var sunsetBlvdInfo = "Santa Monica\n\nPeaky waves, look out for rocks."

var manhattanBeachPierPoint = new GLatLng( 33.884329,-118.41279 );
var manhattanBeachPierMarker = new GMarker( manhattanBeachPierPoint, allSurfIcon );
var manhattanBeachPierInfo = "Manhattan Beach\n\nAverage wave, moderate crowd."

var huntingtonBeachPierPoint = new GLatLng( 33.655035,-118.003555 );
var huntingtonBeachPierMarker = new GMarker( huntingtonBeachPierPoint, shortBoardIcon );
var huntingtonBeachPierInfo = "Huntington Beach\n\nRegional classic, better on the south end ultra crowded."

// hawaii
var honoluaBayPoint = new GLatLng( 21.01465,-156.639719 );
var honoluaBayMarker = new GMarker( honoluaBayPoint, allSurfIcon );
var honoluaBayInfo = "North Maui\n\nRight point break, a powerful wave that breaks over a shallow reef. The hike down is hellish."

var hookipaPoint = new GLatLng( 20.934907,-156.355963 );
var hookipaMarker = new GMarker( hookipaPoint, allSurfIcon );
var hookipaInfo = "Paia\n\nMost consistant break on the island, pretty crowded reef break lefts and right point."

var kamehamehaIkiPoint = new GLatLng( 20.868637,-156.676755 );
var kamehamehaIkiMarker = new GMarker( kamehamehaIkiPoint, longBoardIcon );
var kamehamehaIkiInfo = "Lahaina\n\nSmall longboard wave, very shallow reef no crowd, just beware of surf schools."

var puamanaPoint = new GLatLng( 20.85438,-156.663516 );
var puamanaMarker = new GMarker( puamanaPoint, longBoardIcon );
var puamanaInfo = "Lahaina\n\nMellow wave, lots of fun on a longboard small crowd."

var kaiHeleHuPoint = new GLatLng( 20.843171,-156.652722 );
var kaiHeleHuMarker = new GMarker( kaiHeleHuPoint, longBoardIcon );
var kaiHeleHuInfo = "West Maui\n\nSmall wave, very shallow reef especially in low tide no crowd."

// chile
var ritoquePoint = new GLatLng( -32.827889,-71.527712 );
var ritoqueMarker = new GMarker( ritoquePoint, shortBoardIcon );
var ritoqueInfo = "Ritoque\n\nEpic, right point that can hold waves well over 20 feet."

var ritoqueSurPoint = new GLatLng( -32.847838,-71.516619 );
var ritoqueSurMarker = new GMarker( ritoqueSurPoint, shortBoardIcon );
var ritoqueSurInfo = "Ritoque\n\nAverage beach break, some lines to be had on south swells best when Ritoque is too large to handle."

var conConPoint = new GLatLng( -32.919412,-71.513615 );
var conConMarker = new GMarker( conConPoint, shortBoardIcon );
var conConInfo = "Con Con\n\nLeft point, fun short point at the end of a river mouth making the water a tad warmer."

var playaAmarillaPoint = new GLatLng( -32.923438,-71.525609 );
var playaAmarillaMarker = new GMarker( playaAmarillaPoint, shortBoardIcon );
var playaAmarillaInfo = "Con Con\n\nAverage wave, decent beach break with small to no crowd."

var renacaPoint = new GLatLng( -32.96282,-71.548076 );
var renacaMarker = new GMarker( renacaPoint, shortBoardIcon );
var renacaInfo = "Renaca\n\nAverage wave, the most popular break on the central coast ultra crowded."

var vinaDelMarPoint = new GLatLng( -33.014026,-71.556659 );
var vinaDelMarMarker = new GMarker( vinaDelMarPoint, shortBoardIcon );
var vinaDelMarInfo = "Vina del Mar\n\nShore pound, fast breaking wave best for skim boarding but still surfable."

var pichilemuPoint = new GLatLng( -34.380864,-72.015896 );
var pichilemuMarker = new GMarker( pichilemuPoint, shortBoardIcon );
var pichilemuInfo = "Pichilemu\n\nEpic point, left point that can litreally last for a mile medium crowd."

var puntaDeLobosPoint = new GLatLng( -34.424895,-72.042804 );
var puntaDeLobosMarker = new GMarker( puntaDeLobosPoint, shortBoardIcon );
var puntaDeLobosInfo = "Pichilemu\n\nLeft point, fun wave with nice punch seldom crowded."

//skate spots
var medfordSkateparkPoint = new GLatLng( 45.137871,-90.355082 );
var medfordSkateparkMarker = new GMarker( medfordSkateparkPoint, skateboardIcon );
var medfordSkateparkInfo = "Medford, WI\n\nThermo stuff ramps. Free"

var thirdLairSkateparkPoint = new GLatLng( 44.973094,-93.363361 );
var thirdLairSkateparkMarker = new GMarker( thirdLairSkateparkPoint, skateboardIcon );
var thirdLairSkateparkInfo = "Minneapolis, MN\n\nIndoor wood park."

var wausauSkateparkPoint = new GLatLng( 44.950259,-89.626948 );
var wausauSkateparkMarker = new GMarker( wausauSkateparkPoint, skateboardIcon );
var wausauSkateparkInfo = "Wausau, WI\n\nThermo stuff ramps. Free"

var stratfordRampPoint = new GLatLng( 44.802088,-90.079179 );
var stratfordRampMarker = new GMarker( stratfordRampPoint, skateboardIcon );
var stratfordRampInfo = "Stratford, WI\n\nThermo stuff ramp. Free"

var marshfieldSkateparkPoint = new GLatLng( 44.6714,-90.180674 );
var marshfieldSkateparkMarker = new GMarker( marshfieldSkateparkPoint, skateboardIcon );
var marshfieldSkateparkInfo = "Marshfield, WI\n\nThermo stuff ramps and a mini 1/2. Free"

var orlandoSkateparkPoint = new GLatLng( 28.54819,-81.346789 );
var orlandoSkateparkMarker = new GMarker( orlandoSkateparkPoint, skateboardIcon );
var orlandoSkateparkInfo = "Orlando, FL\n\nConcrete bowl, pool, mini ramp beginer's area. $6.00"

var vansOrlandoSkateparkPoint = new GLatLng( 28.467074,-81.446768 );
var vansOrlandoSkateparkMarker = new GMarker( vansOrlandoSkateparkPoint, skateboardIcon );
var vansOrlandoSkateparkInfo = "Orlando, FL\n\nConcrete bowl/pool and outdoor area. Tons of wood ramps. $12.00"

var cocoaBeachSkateparkPoint = new GLatLng( 28.315314,-80.628254 );
var cocoaBeachSkateparkMarker = new GMarker( cocoaBeachSkateparkPoint, skateboardIcon );
var cocoaBeachSkateparkInfo = "Cocoa Beach, FL\n\nConcrete bowl, snake run, pool and street section. $3.00"

var satelliteBeachSkateparkPoint = new GLatLng( 28.15971,-80.598444 );
var satelliteBeachSkateparkMarker = new GMarker( satelliteBeachSkateparkPoint, skateboardIcon );
var satelliteBeachSkateparkInfo = "Satellite Beach, FL\n\nConcrete pockets wedges and boxes. $3.00"

// food
// dinner
var roysOrlandoPoint = new GLatLng( 28.448633,-81.488973 );
var roysOrlandoMarker = new GMarker( roysOrlandoPoint, foodIcon );
var roysOrlandoInfo = "<b>Roy's</b><br>Orlando, FL<br><br>Very best restaurant in town but expensive.<br>Hawai'ian Japanese fusion.<br><br><b>Must try:</b> Roy's Signature Ahi, seared rare"

var mamasFishHousePoint = new GLatLng( 20.929085,-156.367164 );
var mamasFishHouseMarker = new GMarker( mamasFishHousePoint, foodIcon );
var mamasFishHouseInfo = "<b>Mama's Fish House</b><br>Paia, Maui, HI<br><br>Very cool atmosphere and amazing<br>fish that you've ever heard of.<br><br><b>Must try:</b> Seviche"

var roysLahainaPoint = new GLatLng( 20.971779,-156.677678 );
var roysLahainaMarker = new GMarker( roysLahainaPoint, foodIcon );
var roysLahainaInfo = "<b>Roy's</b><br>Lahaina, Maui, HI<br><br>Amazing, but it'll cost ya."

// after surf
var simplyDeliciousPoint = new GLatLng( 28.320844,-80.609793 );
var simplyDeliciousMarker = new GMarker( simplyDeliciousPoint, foodIcon );
var simplyDeliciousInfo = "<b>Simply Delicious Cafe & Bakery</b><br>Cocoa Beach, FL<br><br>Most amazing breakfast food ever.<br><br><b>Must try:</b> Banana pancakes."

var breakfastAtLilysPoint = new GLatLng( 28.207197,-80.597787 );
var breakfastAtLilysMarker = new GMarker( breakfastAtLilysPoint, foodIcon );
var breakfastAtLilysInfo = "<b>Breakfast at Lily's</b><br>Satellite Beach, FL<br><br>Good breakfast after a hard DP.<br><br><b>Must try:</b> Spinach cheddar and mushroom omelet."

var longDoggersSBPoint = new GLatLng( 28.179281,-80.605729 );
var longDoggersSBMarker = new GMarker( longDoggersSBPoint, foodIcon );
var longDoggersSBInfo = "<b>Long Doggers</b><br>Satellite Beach, FL<br><br>Great food and cool patio.<br><br><b>Must try:</b> Dolphin Ruben"

var longDoggersMPoint = new GLatLng( 28.172323,-80.670628 );
var longDoggersMMarker = new GMarker( longDoggersMPoint, foodIcon );
var longDoggersMInfo = "<b>Long Doggers</b><br>Melbourne, FL<br><br>Like the other two Long Doggers,<br>the food is great but being on the mainland<br>it's better as a regular lunch/dinner spot.<br><br><b>Must try:</b> The Hobgoods Mahi dinner"

var dakineDiegosPoint = new GLatLng( 28.173706,-80.59029 );
var dakineDiegosMarker = new GMarker( dakineDiegosPoint, foodIcon );
var dakineDiegosInfo = "<b>Dakine Diego's</b><br>Satellite Beach, FL<br><br>Best burritos in Brevard County.<br><br><b>Must try:</b> Insane Burritos with the yellow hot sauce"

var doublesPoint = new GLatLng( 28.152036,-80.600228 );
var doublesMarker = new GMarker( doublesPoint, foodIcon );
var doublesInfo = "<b>Doubles Hoagies</b><br>Indian Harbour Beach, FL<br><br>Well priced and lots of food for<br>an after session meal.<br><br><b>Must try:</b> Cheese fries"

var longDoggersIPoint = new GLatLng( 28.098434,-80.569273 );
var longDoggersIMarker = new GMarker( longDoggersIPoint, foodIcon );
var longDoggersIInfo = "<b>Long Doggers</b><br>Indialantic, FL<br><br>Great food and cool patio.<br><br><b>Must try:</b> Seared rare tuna appetizer"

var alohaMixedPlatePoint = new GLatLng( 20.89065,-156.684866 );
var alohaMixedPlateMarker = new GMarker( alohaMixedPlatePoint, foodIcon );
var alohaMixedPlateInfo = "<b>Aloha Mixed Plate</b><br>Lahaina, Maui, HI<br><br>Cheap, yummy, cheap, on the beach and cheap."

var lasMasDeliciosasPoint = new GLatLng( -32.92029,-71.509849 );
var lasMasDeliciosasMarker = new GMarker( lasMasDeliciosasPoint, foodIcon );
var lasMasDeliciosasInfo = "<b>Empanadas Las Mas Deliciosas</b><br>Con Con, Chile<br><br>The very best empanadas ever.<br>Crab, cheese, locos, pino, macha etc...<br><br><b>Must try:</b> Crab empanadas"

// surf cams
var jettyParkCamPoint = new GLatLng( 28.405,-80.59278 );
var jettyParkCamMarker = new GMarker( jettyParkCamPoint, panCamIcon );
var jettyParkCamInfo = "<b>Jetty Park</b><br><a href='http://www.ipcamhost.net/flash/ptz/default640/index.jsp?camera=cocoabeach1' target='_new'><img src='http://www.ipcamhost.net/-flash-/cocoabeach1/GetLiveImage?connection_id=156-1942' border='0' width='320' height='240'></a>"

var capeCanaveralCamPoint = new GLatLng( 28.390872,-80.596733 );
var capeCanaveralCamMarker = new GMarker( capeCanaveralCamPoint, streamCamIcon );
var capeCanaveralCamInfo = "<b>Cape Canaveral</b><br><a href='http://www.twopalms.com/' target='_new'><img src='http://www.twopalms.com/jpg/beach.jpg' border='0' width='320' height='240'></a>"

var cbPierNorthCamPoint = new GLatLng( 28.369133,-80.60243 );
var cbPierNorthCamMarker = new GMarker( cbPierNorthCamPoint, panCamIcon );
var cbPierNorthCamInfo = "Cocoa Beach Pier North<br><a href='http://www.ipcamhost.net/flash/ptz/default640/index.jsp?camera=cocoabeach2' target='_new'><img src='http://www.ipcamhost.net/-flash-/cocoabeach2/GetLiveImage?connection_id=1c2-e722' border='0' width='320' height='240'></a>"

var cbPierPanCamPoint = new GLatLng( 28.36766,-80.602189 );
var cbPierPanCamMarker = new GMarker( cbPierPanCamPoint, panCamIcon );
var cbPierPanCamInfo = "Cocoa Beach Pier<br><a href='http://www.ronjons.com/DisplayContent.aspx?ContentID=106&MenuGroup=4&SelectedItem=2' target='_new'><img src='http://ccpier.dyndns.org/-wvhttp-01-/getoneshot?v=320&frame_count=1' border='0' width='320' height='240'></a>"

var cbPierCamPoint = new GLatLng( 28.367665,-80.601389 );
var cbPierCamMarker = new GMarker( cbPierCamPoint, streamCamIcon );
var cbPierCamInfo = "Cocoa Beach Pier<br><a href='http://www.gosurfsportswear.com/piercam/pier.html' target='_new'><img src='http://cams06.surfline.com/jpeg/cap34/latest0.jpg' border='0' width='320' height='240'></a>"

var loriWilsonCamPoint = new GLatLng( 28.337437,-80.607682 );
var loriWilsonCamMarker = new GMarker( loriWilsonCamPoint, panCamIcon );
var loriWilsonCamInfo = "Lori Wilson Park<br><a href='http://www.ipcamhost.net/flash/ptz/default640/index.jsp?camera=cocoabeach3' target='_new'><img src='http://www.ipcamhost.net/-flash-/cocoabeach3/GetLiveImage?connection_id=17e-4324' border='0' width='320' height='240'></a>"

var satCamPoint = new GLatLng( 28.168289,-80.587721 );
var satCamMarker = new GMarker( satCamPoint, streamCamIcon );
var satCamInfo = "Satellite Beach<br><a href='http://www.2ndlight.com/cams/satcam/Java1.html' target='_new'><img src='http://www.2ndlight.com/cams/satcam/capture1.jpg' border='0' width='320' height='240'></a>"

var oceanAvenueCamPoint = new GLatLng( 28.069003,-80.557503 );
var oceanAvenueCamMarker = new GMarker( oceanAvenueCamPoint, streamCamIcon );
var oceanAvenueCamInfo = "Ocean Avenue<br><a href='http://www.surfcam.net/' target='_new'><img src='http://66.220.163.30/sgifs/ispy1.00.jpg' border='0' width='320' height='240'></a>"

var sebastianInletCamPoint = new GLatLng( 27.861938,-80.448115 );
var sebastianInletCamMarker = new GMarker( sebastianInletCamPoint, panCamIcon );
var sebastianInletCamInfo = "Sebastian Inlet<br><a href='http://www.ronjons.com/DisplayContent.aspx?ContentID=84&MenuGroup=1&SelectedItem=5' target='_new'><img src='http://sbinlet.dyndns.org/-wvhttp-01-/getoneshot?v=320&frame_count=300' border='0' width='320' height='240'></a>"

// buoys
var canaveral20BuoyPoint = new GLatLng( 28.501281,-80.165863 );
var canaveral20BuoyMarker = new GMarker( canaveral20BuoyPoint, buoyIcon );
var canaveral20BuoyInfo = "<a href='http://www.ndbc.noaa.gov/station_page.php?station=41009&unit=E'>Canaveral 20 mile Buoy</a>"

var canaveral120BuoyPoint = new GLatLng( 28.950476,-78.475342 );
var canaveral120BuoyMarker = new GMarker( canaveral120BuoyPoint, buoyIcon );
var canaveral120BuoyInfo = "<a href='http://www.ndbc.noaa.gov/station_page.php?station=41010&unit=E'>Canaveral 120 mile Buoy</a>"

var stAugustine40BuoyPoint = new GLatLng( 30.045322,-80.551758 );
var stAugustine40BuoyMarker = new GMarker( stAugustine40BuoyPoint, buoyIcon );
var stAugustine40BuoyInfo = "<a href='http://www.ndbc.noaa.gov/station_page.php?station=41012&unit=E'>Saint Augustine 40 mile Buoy</a>"

var map;

// load map parameters
function load()
{
   // map defaults
   map = new GMap( document.getElementById( "googleSurfMap" ) );
   map.addControl( new GSmallZoomControl() );
   map.centerAndZoom( secondLightPoint, 4 );
   map.setMapType(G_SATELLITE_MAP);

   // map overlays
   // florida
   map.addOverlay( ponceInletMarker );
   map.addOverlay( newSmyrnaMarker );
   map.addOverlay( bethuneMarker );
   map.addOverlay( typhoonLagoonMarker );
   map.addOverlay( jettyParkMarker );
   map.addOverlay( cbPierMarker );
   map.addOverlay( loriWilsonMarker );
   map.addOverlay( holidayInnMarker );
   map.addOverlay( thirteenthMarker );
   map.addOverlay( murksheParkMarker );
   map.addOverlay( tablesMarker );
   map.addOverlay( oClubMarker );
   map.addOverlay( secondLightMarker );
   map.addOverlay( hangersMarker );
   map.addOverlay( perkinsMarker );
   map.addOverlay( blackbeardsDenMarker );
   map.addOverlay( boardwalkMarker );
   map.addOverlay( oceanAvenueMarker );
   map.addOverlay( sebastianInletMarker );
   map.addOverlay( fortPierceMarker );
   map.addOverlay( jupiterCliffMarker );
   map.addOverlay( southBeachMarker );
   map.addOverlay( portOfMiamiMarker );
   map.addOverlay( virginiaKeyShoalsMarker );

   // costa rica
   map.addOverlay( olliesPtMarker );
   map.addOverlay( witchsRockMarker );

   // california
   map.addOverlay( malibuMarker );
   map.addOverlay( sunsetBlvdMarker );
   map.addOverlay( manhattanBeachPierMarker );
   map.addOverlay( huntingtonBeachPierMarker );

   // hawaii
   map.addOverlay( honoluaBayMarker );
   map.addOverlay( hookipaMarker );
   map.addOverlay( kamehamehaIkiMarker );
   map.addOverlay( puamanaMarker );
   map.addOverlay( kaiHeleHuMarker );

   // chile
   map.addOverlay( ritoqueMarker );
   map.addOverlay( ritoqueSurMarker );
   map.addOverlay( conConMarker );
   map.addOverlay( playaAmarillaMarker );
   map.addOverlay( renacaMarker );
   map.addOverlay( vinaDelMarMarker );
   map.addOverlay( pichilemuMarker );
   map.addOverlay( puntaDeLobosMarker );

   //skate spots
   map.addOverlay( medfordSkateparkMarker );
   map.addOverlay( wausauSkateparkMarker );
   map.addOverlay( stratfordRampMarker );
   map.addOverlay( thirdLairSkateparkMarker );
   map.addOverlay( marshfieldSkateparkMarker );
   map.addOverlay( orlandoSkateparkMarker );
   map.addOverlay( vansOrlandoSkateparkMarker );
   map.addOverlay( cocoaBeachSkateparkMarker );
   map.addOverlay( satelliteBeachSkateparkMarker );

   // food
   map.addOverlay( roysOrlandoMarker );
   map.addOverlay( mamasFishHouseMarker );
   map.addOverlay( roysLahainaMarker );

   map.addOverlay( simplyDeliciousMarker );
   map.addOverlay( breakfastAtLilysMarker );
   map.addOverlay( longDoggersSBMarker );
   map.addOverlay( longDoggersMMarker );
   map.addOverlay( dakineDiegosMarker );
   map.addOverlay( doublesMarker );
   map.addOverlay( longDoggersIMarker );
   map.addOverlay( alohaMixedPlateMarker );
   map.addOverlay( lasMasDeliciosasMarker );

   // surf cams
   map.addOverlay( jettyParkCamMarker );
   map.addOverlay( capeCanaveralCamMarker );
   map.addOverlay( cbPierNorthCamMarker );
   map.addOverlay( cbPierPanCamMarker );
   map.addOverlay( cbPierCamMarker );
   map.addOverlay( loriWilsonCamMarker );
   map.addOverlay( satCamMarker );
   map.addOverlay( oceanAvenueCamMarker );
   map.addOverlay( sebastianInletCamMarker );

   // buoys
   map.addOverlay( canaveral20BuoyMarker );
   map.addOverlay( canaveral120BuoyMarker );
   map.addOverlay( stAugustine40BuoyMarker );

   // set map click listeners
   // florida
   GEvent.addListener( ponceInletMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = ponceInletInfo;
                                    spotInfoForm.selectSurfSpot.value = "ponceInlet";
                                    map.panTo( ponceInletPoint ); });
   GEvent.addListener( newSmyrnaMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = newSmyrnaInfo;
                                    spotInfoForm.selectSurfSpot.value = "newSmyrna";
                                    map.panTo( newSmyrnaPoint ); });
   GEvent.addListener( bethuneMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = bethuneInfo;
                                    spotInfoForm.selectSurfSpot.value = "bethune";
                                    map.panTo( bethunePoint ); });
   GEvent.addListener( typhoonLagoonMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = typhoonLagoonInfo;
                                    spotInfoForm.selectSurfSpot.value = "typhoonLagoon";
                                    map.panTo( typhoonLagoonPoint ); });
   GEvent.addListener( jettyParkMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = jettyParkInfo;
                                    spotInfoForm.selectSurfSpot.value = "jettyPark";
                                    map.panTo( jettyParkPoint ); });
   GEvent.addListener( cbPierMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = cbPierInfo;
                                    spotInfoForm.selectSurfSpot.value = "cbPier";
                                    map.panTo( cbPierPoint ); });
   GEvent.addListener( loriWilsonMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = loriWilsonInfo;
                                    spotInfoForm.selectSurfSpot.value = "loriWilson";
                                    map.panTo( loriWilsonPoint ); });
   GEvent.addListener( holidayInnMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = holidayInnInfo;
                                    spotInfoForm.selectSurfSpot.value = "holidayInn";
                                    map.panTo( holidayInnPoint ); });
   GEvent.addListener( murksheParkMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = murksheParkInfo;
                                    spotInfoForm.selectSurfSpot.value = "murkshePark";
                                    map.panTo( murksheParkPoint ); });
   GEvent.addListener( thirteenthMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = thirteenthInfo;
                                    spotInfoForm.selectSurfSpot.value = "thirteenth";
                                    map.panTo( thirteenthPoint ); });
   GEvent.addListener( tablesMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = tablesInfo;
                                    spotInfoForm.selectSurfSpot.value = "tables";
                                    map.panTo( tablesPoint ); });
   GEvent.addListener( oClubMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = oClubInfo;
                                    spotInfoForm.selectSurfSpot.value = "oClub";
                                    map.panTo( oClubPoint ); });
   GEvent.addListener( secondLightMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = secondLightInfo;
                                    spotInfoForm.selectSurfSpot.value = "secondLight";
                                    map.panTo( secondLightPoint ); });
   GEvent.addListener( hangersMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = hangersInfo;
                                    spotInfoForm.selectSurfSpot.value = "hangers";
                                    map.panTo( hangersPoint ); });
   GEvent.addListener( perkinsMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = perkinsInfo;
                                    spotInfoForm.selectSurfSpot.value = "perkins";
                                    map.panTo( perkinsPoint ); });
   GEvent.addListener( blackbeardsDenMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = blackbeardsDenInfo;
                                    spotInfoForm.selectSurfSpot.value = "blackbeardsDen";
                                    map.panTo( blackbeardsDenPoint ); });
   GEvent.addListener( boardwalkMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = boardwalkInfo;
                                    spotInfoForm.selectSurfSpot.value = "boardwalk";
                                    map.panTo( boardwalkPoint ); });
   GEvent.addListener( oceanAvenueMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = oceanAvenueInfo;
                                    spotInfoForm.selectSurfSpot.value = "oceanAvenue";
                                    map.panTo( oceanAvenuePoint ); });
   GEvent.addListener( sebastianInletMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = sebastianInletInfo;
                                    spotInfoForm.selectSurfSpot.value = "sebastianInlet";
                                    map.panTo( sebastianInletPoint ); });
   GEvent.addListener( fortPierceMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = fortPierceInfo;
                                    spotInfoForm.selectSurfSpot.value = "fortPierce";
                                    map.panTo( fortPiercePoint ); });
   GEvent.addListener( jupiterCliffMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = jupiterCliffInfo;
                                    spotInfoForm.selectSurfSpot.value = "jupiterCliff";
                                    map.panTo( jupiterCliffPoint ); });
   GEvent.addListener( southBeachMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = southBeachInfo;
                                    spotInfoForm.selectSurfSpot.value = "southBeach";
                                    map.panTo( southBeachPoint ); });
   GEvent.addListener( portOfMiamiMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = portOfMiamiInfo;
                                    spotInfoForm.selectSurfSpot.value = "portOfMiami";
                                    map.panTo( portOfMiamiPoint ); });
   GEvent.addListener( virginiaKeyShoalsMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = virginiaKeyShoalsInfo;
                                    spotInfoForm.selectSurfSpot.value = "virginiaKeyShoals";
                                    map.panTo( virginiaKeyShoalsPoint ); });

   // costa rica
   GEvent.addListener( olliesPtMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = olliesPtInfo;
                                    spotInfoForm.selectSurfSpot.value = "olliesPt";
                                    map.panTo( olliesPtPoint ); });
   GEvent.addListener( witchsRockMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = witchsRockInfo;
                                    spotInfoForm.selectSurfSpot.value = "witchsRock";
                                    map.panTo( witchsRockPoint ); });

   // california
   GEvent.addListener( malibuMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = malibuInfo;
                                    spotInfoForm.selectSurfSpot.value = "malibu";
                                    map.panTo( malibuPoint ); });
   GEvent.addListener( sunsetBlvdMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = sunsetBlvdInfo;
                                    spotInfoForm.selectSurfSpot.value = "sunsetBlvd";
                                    map.panTo( sunsetBlvdPoint ); });
   GEvent.addListener( manhattanBeachPierMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = manhattanBeachPierInfo;
                                    spotInfoForm.selectSurfSpot.value = "manhattanBeachPier";
                                    map.panTo( manhattanBeachPierPoint ); });
   GEvent.addListener( huntingtonBeachPierMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = huntingtonBeachPierInfo;
                                    spotInfoForm.selectSurfSpot.value = "huntingtonBeachPier";
                                    map.panTo( huntingtonBeachPierPoint ); });

   // hawaii
   GEvent.addListener( honoluaBayMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = honoluaBayInfo;
                                    spotInfoForm.selectSurfSpot.value = "honoluaBay";
                                    map.panTo( honoluaBayPoint ); });
   GEvent.addListener( hookipaMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = hookipaInfo;
                                    spotInfoForm.selectSurfSpot.value = "hookipa";
                                    map.panTo( hookipaPoint ); });
   GEvent.addListener( kamehamehaIkiMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = kamehamehaIkiInfo;
                                    spotInfoForm.selectSurfSpot.value = "kamehamehaIki";
                                    map.panTo( kamehamehaIkiPoint ); });
   GEvent.addListener( puamanaMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = puamanaInfo;
                                    spotInfoForm.selectSurfSpot.value = "puamana";
                                    map.panTo( puamanaPoint ); });
   GEvent.addListener( kaiHeleHuMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = kaiHeleHuInfo;
                                    spotInfoForm.selectSurfSpot.value = "kaiHeleHu";
                                    map.panTo( kaiHeleHuPoint ); });

   // chile
   GEvent.addListener( ritoqueMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = ritoqueInfo;
                                    spotInfoForm.selectSurfSpot.value = "ritoque";
                                    map.panTo( ritoquePoint ); });
   GEvent.addListener( ritoqueSurMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = ritoqueSurInfo;
                                    spotInfoForm.selectSurfSpot.value = "ritoqueSur";
                                    map.panTo( ritoqueSurPoint ); });
   GEvent.addListener( conConMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = conConInfo;
                                    spotInfoForm.selectSurfSpot.value = "conCon";
                                    map.panTo( conConPoint ); });
   GEvent.addListener( playaAmarillaMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = playaAmarillaInfo;
                                    spotInfoForm.selectSurfSpot.value = "playaAmarilla";
                                    map.panTo( playaAmarillaPoint ); });
   GEvent.addListener( renacaMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = renacaInfo;
                                    spotInfoForm.selectSurfSpot.value = "renaca";
                                    map.panTo( renacaPoint ); });
   GEvent.addListener( vinaDelMarMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = vinaDelMarInfo;
                                    spotInfoForm.selectSurfSpot.value = "vinaDelMar";
                                    map.panTo( vinaDelMarPoint ); });
   GEvent.addListener( pichilemuMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = pichilemuInfo;
                                    spotInfoForm.selectSurfSpot.value = "pichilemu";
                                    map.panTo( pichilemuPoint ); });
   GEvent.addListener( puntaDeLobosMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = puntaDeLobosInfo;
                                    spotInfoForm.selectSurfSpot.value = "puntaDeLobos";
                                    map.panTo( puntaDeLobosPoint ); });

   // skate spots
   GEvent.addListener( medfordSkateparkMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = medfordSkateparkInfo;
                                    spotInfoForm.selectSurfSpot.value = "medfordSkatepark";
                                    map.panTo( medfordSkateparkPoint ); });
   GEvent.addListener( wausauSkateparkMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = wausauSkateparkInfo;
                                    spotInfoForm.selectSurfSpot.value = "wausauSkatepark";
                                    map.panTo( wausauSkateparkPoint ); });
   GEvent.addListener( stratfordRampMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = stratfordRampInfo;
                                    spotInfoForm.selectSurfSpot.value = "stratfordRamp";
                                    map.panTo( stratfordRampPoint ); });
   GEvent.addListener( thirdLairSkateparkMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = thirdLairSkateparkInfo;
                                    spotInfoForm.selectSurfSpot.value = "thirdLairSkatepark";
                                    map.panTo( thirdLairSkateparkPoint ); });
   GEvent.addListener( marshfieldSkateparkMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = marshfieldSkateparkInfo;
                                    spotInfoForm.selectSurfSpot.value = "marshfieldSkatepark";
                                    map.panTo( marshfieldSkateparkPoint ); });
   GEvent.addListener( orlandoSkateparkMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = orlandoSkateparkInfo;
                                    spotInfoForm.selectSurfSpot.value = "orlandoSkatepark";
                                    map.panTo( orlandoSkateparkPoint ); });
   GEvent.addListener( vansOrlandoSkateparkMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = vansOrlandoSkateparkInfo;
                                    spotInfoForm.selectSurfSpot.value = "vansOrlandoSkatepark";
                                    map.panTo( vansOrlandoSkateparkPoint ); });
   GEvent.addListener( cocoaBeachSkateparkMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = cocoaBeachSkateparkInfo;
                                    spotInfoForm.selectSurfSpot.value = "cocoaBeachSkatepark";
                                    map.panTo( cocoaBeachSkateparkPoint ); });
   GEvent.addListener( satelliteBeachSkateparkMarker,
                       "click",
                       function() { spotInfoForm.spotInformation.value = satelliteBeachSkateparkInfo;
                                    spotInfoForm.selectSurfSpot.value = "satelliteBeachSkatepark";
                                    map.panTo( satelliteBeachSkateparkPoint ); });

   // food
   GEvent.addListener( roysOrlandoMarker,
                       "click",
                       function() { map.openInfoWindow( roysOrlandoPoint, roysOrlandoInfo );
                                    map.panTo( roysOrlandoPoint ); });
   GEvent.addListener( mamasFishHouseMarker,
                       "click",
                       function() { map.openInfoWindow( mamasFishHousePoint, mamasFishHouseInfo );
                                    map.panTo( mamasFishHousePoint ); });
   GEvent.addListener( roysLahainaMarker,
                       "click",
                       function() { map.openInfoWindow( roysLahainaPoint, roysLahainaInfo );
                                    map.panTo( roysLahainaPoint ); });

   GEvent.addListener( simplyDeliciousMarker,
                       "click",
                       function() { map.openInfoWindow( simplyDeliciousPoint, simplyDeliciousInfo );
                                    map.panTo( simplyDeliciousPoint ); });

   GEvent.addListener( breakfastAtLilysMarker,
                       "click",
                       function() { map.openInfoWindow( breakfastAtLilysPoint, breakfastAtLilysInfo );
                                    map.panTo( breakfastAtLilysPoint ); });
   GEvent.addListener( longDoggersSBMarker,
                       "click",
                       function() { map.openInfoWindow( longDoggersSBPoint, longDoggersSBInfo );
                                    map.panTo( longDoggersSBPoint ); });
   GEvent.addListener( longDoggersMMarker,
                       "click",
                       function() { map.openInfoWindow( longDoggersMPoint, longDoggersMInfo );
                                    map.panTo( longDoggersMPoint ); });
   GEvent.addListener( dakineDiegosMarker,
                       "click",
                       function() { map.openInfoWindow( dakineDiegosPoint, dakineDiegosInfo );
                                    map.panTo( dakineDiegosPoint ); });
   GEvent.addListener( doublesMarker,
                       "click",
                       function() { map.openInfoWindow( doublesPoint, doublesInfo );
                                    map.panTo( doublesPoint ); });
   GEvent.addListener( longDoggersIMarker,
                       "click",
                       function() { map.openInfoWindow( longDoggersIPoint, longDoggersIInfo );
                                    map.panTo( longDoggersIPoint ); });
   GEvent.addListener( alohaMixedPlateMarker,
                       "click",
                       function() { map.openInfoWindow( alohaMixedPlatePoint, alohaMixedPlateInfo );
                                    map.panTo( alohaMixedPlatePoint ); });
   GEvent.addListener( lasMasDeliciosasMarker,
                       "click",
                       function() { map.openInfoWindow( lasMasDeliciosasPoint, lasMasDeliciosasInfo );
                                    map.panTo( lasMasDeliciosasPoint ); });

   // surf cams
   GEvent.addListener( jettyParkCamMarker,
                       "click",
                       function() { map.openInfoWindow( jettyParkCamPoint, jettyParkCamInfo );
                                    map.panTo( jettyParkCamPoint ); });
   GEvent.addListener( capeCanaveralCamMarker,
                       "click",
                       function() { map.openInfoWindow( capeCanaveralCamPoint, capeCanaveralCamInfo );
                                    map.panTo( capeCanaveralCamPoint ); });
   GEvent.addListener( cbPierNorthCamMarker,
                       "click",
                       function() { map.openInfoWindow( cbPierNorthCamPoint, cbPierNorthCamInfo );
                                    map.panTo( cbPierNorthCamPoint ); });
   GEvent.addListener( cbPierPanCamMarker,
                       "click",
                       function() { map.openInfoWindow( cbPierPanCamPoint, cbPierPanCamInfo );
                                    map.panTo( cbPierPanCamPoint ); });
   GEvent.addListener( cbPierCamMarker,
                       "click",
                       function() { map.openInfoWindow( cbPierCamPoint, cbPierCamInfo );
                                    map.panTo( cbPierCamPoint ); });
   GEvent.addListener( loriWilsonCamMarker,
                       "click",
                       function() { map.openInfoWindow( loriWilsonCamPoint, loriWilsonCamInfo );
                                    map.panTo( loriWilsonCamPoint ); });
   GEvent.addListener( satCamMarker,
                       "click",
                       function() { map.openInfoWindow( satCamPoint, satCamInfo );
                                    map.panTo( satCamPoint ); });
   GEvent.addListener( oceanAvenueCamMarker,
                       "click",
                       function() { map.openInfoWindow( oceanAvenueCamPoint, oceanAvenueCamInfo );
                                    map.panTo( oceanAvenueCamPoint ); });
   GEvent.addListener( sebastianInletCamMarker,
                       "click",
                       function() { map.openInfoWindow( sebastianInletCamPoint, sebastianInletCamInfo );
                                    map.panTo( sebastianInletCamPoint ); });

   // buoys
   GEvent.addListener( canaveral20BuoyMarker,
                       "click",
                       function() { map.openInfoWindow( canaveral20BuoyPoint, canaveral20BuoyInfo );
                                    map.panTo( canaveral20BuoyPoint ); });
   GEvent.addListener( canaveral120BuoyMarker,
                       "click",
                       function() { map.openInfoWindow( canaveral120BuoyPoint, canaveral120BuoyInfo );
                                    map.panTo( canaveral120BuoyPoint ); });
   GEvent.addListener( stAugustine40BuoyMarker,
                       "click",
                       function() { map.openInfoWindow( stAugustine40BuoyPoint, stAugustine40BuoyInfo );
                                    map.panTo( stAugustine40BuoyPoint ); });

}

// set surf spot information from form menu
function getSurfSpot(spotName)
{
   var spotNamePoint = eval(spotName + "Point");
   var spotNameMarker = eval(spotName + "Marker");
   var spotNameInfo = eval(spotName + "Info");

   // set zoom for specific surf spots with odd satellite and map resolution
   var zoomFactor = 1;
   if (spotName == "olliesPt")
   {
      zoomFactor = 3;
   }

   map.centerAndZoom( spotNamePoint, zoomFactor );
   spotInfoForm.spotInformation.value = spotNameInfo;

   // create an array of surf spots with bad satellite resolution
   var mapOnlySpots = new Array("honoluaBay", "kamehamehaIki", "puamana", "kaiHeleHu", "medfordSkatepark", "stratfordRamp", "marshfieldSkatepark")

   for ( i = 0; i < mapOnlySpots.length; i++ )
   {
      if ( spotName == mapOnlySpots[i] )
      {
         map.setMapType(G_NORMAL_MAP);
         return
      }
      else
      {
         map.setMapType(G_SATELLITE_MAP);
      }
   }
}

// set food spot information from form menu
function getFoodSpot(spotName)
{
   var spotNamePoint = eval(spotName + "Point");
   var spotNameMarker = eval(spotName + "Marker");
   var spotNameInfo = eval(spotName + "Info");

   map.centerAndZoom( spotNamePoint, 0 );
   map.openInfoWindow( spotNamePoint, spotNameInfo );

   // create an array of restaurants with bad satellite resolution
   var mapOnlySpots = new Array("alohaMixedPlate", "roysLahaina")

   for ( i = 0; i < mapOnlySpots.length; i++ )
   {
      if ( spotName == mapOnlySpots[i] )
      {
         map.setMapType(G_NORMAL_MAP);
         return
      }
      else
      {
         map.setMapType(G_SATELLITE_MAP);
      }
   }
}

// set area zoom and center from static links
function showState(zoomValue, statePoint, stateName)
{
   map.setZoom(zoomValue);
   map.setCenter(statePoint);
   spotInfoForm.selectSurfSpot.value = stateName;
   spotInfoForm.spotInformation.value = "";
}
