if(GBrowserIsCompatible())
{var curPos={point:0};var gmarkers=[];var icon_l9=new GIcon();icon_l9.image='images/icon_gmap_-9.png';icon_l9.shadow='images/icon_gmap_shadow.png';icon_l9.iconSize=new GSize(22,37);icon_l9.shadowSize=new GSize(41,37);icon_l9.iconAnchor=new GPoint(11,37);icon_l9.infoWindowAnchor=new GPoint(5,1);var icon_9=new GIcon();icon_9.image='images/icon_gmap_9.png';icon_9.shadow='images/icon_gmap_shadow.png';icon_9.iconSize=new GSize(22,37);icon_9.shadowSize=new GSize(41,37);icon_9.iconAnchor=new GPoint(11,37);icon_9.infoWindowAnchor=new GPoint(11,0);var icon_1017=new GIcon();icon_1017.image='images/icon_gmap_10-17.png';icon_1017.shadow='images/icon_gmap_shadow.png';icon_1017.iconSize=new GSize(22,37);icon_1017.shadowSize=new GSize(41,37);icon_1017.iconAnchor=new GPoint(11,37);icon_1017.infoWindowAnchor=new GPoint(5,1);var icon_18=new GIcon();icon_18.image='images/icon_gmap_18.png';icon_18.shadow='images/icon_gmap_shadow.png';icon_18.iconSize=new GSize(22,37);icon_18.shadowSize=new GSize(41,37);icon_18.iconAnchor=new GPoint(11,37);icon_18.infoWindowAnchor=new GPoint(5,1);var icon_18p=new GIcon();icon_18p.image='images/icon_gmap_18+.png';icon_18p.shadow='images/icon_gmap_shadow.png';icon_18p.iconSize=new GSize(22,37);icon_18p.shadowSize=new GSize(41,37);icon_18p.iconAnchor=new GPoint(11,37);icon_18p.infoWindowAnchor=new GPoint(5,1);var redicon=new GIcon();redicon.image='images/icon_gmap_redx.png';redicon.iconSize=new GSize(7,7);redicon.iconAnchor=new GPoint(4,4);redicon.infoWindowAnchor=new GPoint(5,1);function insRow(tableid,cname,holes,location,distance,landscape,terrain,rating)
{var x=document.getElementById(tableid).insertRow(-1);var a=x.insertCell(0);var b=x.insertCell(1);var c=x.insertCell(2);var d=x.insertCell(3);var e=x.insertCell(4);var f=x.insertCell(5);var g=x.insertCell(6);a.innerHTML=cname;b.innerHTML=location;c.align='center';c.innerHTML=distance;d.align='center';d.innerHTML=holes;e.align='center';e.innerHTML=landscape;f.align='center';f.innerHTML=terrain;g.align='center';g.innerHTML=rating;}
function listclick(i){GEvent.trigger(gmarkers[i],"click");}
function getObjId(id){return document.getElementById(id);}
function getObjName(name){return document.getElementsByName(name)[0];}
function getKeyCode(e,curPos){var intKey=(window.Event)?e.which:e.keyCode;if(intKey==13){GDownloadUrl('browse_zipll.php?zip='+getObjId('zip').value,prepPoints);}}
prepPoints=function(zipll)
{var latlon=/\(([-.\d]*), ([-.\d]*)/.exec(zipll);var lat=parseFloat(latlon[1]);var lon=parseFloat(latlon[2]);point=new GLatLng(lat,lon);curPos.point=point;prepVars(point,'',9,curPos,0);}
function serialize(a)
{var a_srz="";var total=0;for(var key in a)
{++total;a_srz=a_srz+"s:"+
String(key).length+":\""+String(key)+"\";s:"+
String(a[key]).length+":\""+String(a[key])+"\";";}
a_srz="a:"+total+":{"+a_srz+"}";return a_srz;}
function prepVars(point,zip,zoom,curPos,filter)
{if(filter==1){point=curPos.point;}
var coursetype=[];var landscape=[];var terrain=[];var counter=0;var photos=0;var videos=0;var tourneys=0;var camping=0;var nopets=0;var priv=0;var paytoplay=0;var exclude=0;if(getObjName('coursetype1').checked){coursetype[counter]=1;++counter;}
if(getObjName('coursetype2').checked){coursetype[counter]=2;++counter}
if(getObjName('coursetype3').checked){coursetype[counter]=3;++counter}
if(getObjName('coursetype4').checked){coursetype[counter]=4;}
counter=0;if(getObjName('landscape1').checked){landscape[counter]=1;++counter;}
if(getObjName('landscape2').checked){landscape[counter]=2;++counter}
if(getObjName('landscape3').checked){landscape[counter]=3;}
counter=0;if(getObjName('terrain1').checked){terrain[counter]=1;++counter;}
if(getObjName('terrain2').checked){terrain[counter]=2;++counter}
if(getObjName('terrain3').checked){terrain[counter]=3;}
if(getObjName('photos').checked){photos=1;}
if(getObjName('videos').checked){videos=1;}
if(getObjName('tourneys').checked){tourneys=1;}
if(getObjName('camping').checked){camping=1;}
if(getObjName('nopets').checked){nopets=1;}
if(getObjName('priv').checked){priv=1;}
if(getObjName('paytoplay').checked){paytoplay=1;}
if(getObjName('exclude')!==undefined)
{if(getObjName('exclude').checked){exclude=getObjName('exclude').value;}}
var ser_coursetype=serialize(coursetype);var ser_landscape=serialize(landscape);var ser_terrain=serialize(terrain);getObjId('div_courseinfo').innerHTML='<table id="infotable" width="100%" cellpadding="2" cellspacing="0" border="0" class="form_cell">\n<tr class="browse"><td>&nbsp;Course</td><td>Location</td><td align="center">Distance</td><td align="center">Holes</td><td align="center"><img src="images/icon_hill_cat.gif" height="25" width="25" border="0" title="Landscape"></td><td align="center"><img src="images/icon_wood_cat.gif" height="25" width="25" border="0" title="Terrain"></td><td align="center">Rating</td></tr>\n</table>';showCourses(point,zip,zoom,getObjName('holes').value,getObjName('holetype').value,getObjName('teetype').value,getObjName('mpins').value,getObjName('mtees').value,getObjName('range').value,ser_coursetype,ser_landscape,ser_terrain,getObjName('num_reviews').value,getObjName('rating_min').value,getObjName('rating_max').value,getObjName('cndtn').value,getObjName('yem').value,getObjName('yex').value,photos,videos,tourneys,camping,nopets,priv,paytoplay,exclude,curPos,filter);}
function createMarker(point,html,gmarkers){var spstr=html.split('||');var cid=spstr[0];var cname=spstr[1];var holes=parseInt(spstr[2]);var details=spstr[3].split('^');var rating;spstr[3]=spstr[3].replace(/\^/g,'');spstr='<div id="gmap_text"><a href="http://www.dgcoursereview.com/course.php?id='+cid+'" target="_blank">'+cname+'</a>'+spstr[3]+'</div>';switch(holes)
{case 9:var marker=new GMarker(point,icon_9);break;case 18:var marker=new GMarker(point,icon_18);break;default:if(holes<9)
{var marker=new GMarker(point,icon_l9);}
else if(holes>9&&holes<18)
{var marker=new GMarker(point,icon_1017);}
else if(holes>18)
{var marker=new GMarker(point,icon_18p);}
break;}
GEvent.addListener(marker,'click',function(){marker.openInfoWindowHtml(spstr);});if(details[15]!=undefined)
{rating=details[15];}
else
{rating='No Reviews';}
gmarkers.push(marker);var course_link='<a href="#maptop" OnClick="listclick('+(gmarkers.length-1)+')">'+cname+'<\/a>';insRow('infotable',course_link+details[0],details[8],details[2],details[5],details[11],details[13],rating);return marker;}
function showCourses(point,zip,zoom,holes,holetype,teetype,mpins,mtees,range,coursetype,landscape,terrain,num_reviews,rating_min,rating_max,conditions,year_min,year_max,photos,videos,tourneys,camping,nopets,priv,paytoplay,exclude,curPos,filter){if(point){map.clearOverlays();var request=GXmlHttp.create();if(zoom>0)
{map.setZoom(zoom);}
if(filter<1)
{map.panTo(point);}
var marker=new GMarker(point,redicon);map.addOverlay(marker);var latlon=/\(([-.\d]*), ([-.\d]*)/.exec(point);if(latlon)
{var lat=parseFloat(latlon[1]);var lon=parseFloat(latlon[2]);lat=lat.toFixed(6);lon=lon.toFixed(6);}
curPos.point=point;curzoom=map.getZoom();request.open('GET','browse_xml.php?lat='+lat+'&lon='+lon+'&zip='+zip+'&holes='+holes+'&holetype='+holetype+'&teetype='+teetype+'&mpins='+mpins+'&mtees='+mtees+'&coursetype='+coursetype+'&landscape='+landscape+'&terrain='+terrain+'&num_reviews='+num_reviews+'&rating_min='+rating_min+'&rating_max='+rating_max+'&cndtn='+conditions+'&yem='+year_min+'&yex='+year_max+'&photos='+photos+'&videos='+videos+'&tourneys='+tourneys+'&camping='+camping+'&nopets='+nopets+'&priv='+priv+'&paytoplay='+paytoplay+'&exclude='+exclude+'&range='+range+'&zoom='+curzoom,true);request.onreadystatechange=function(){if(request.readyState==4)
{var xmlDoc=GXml.parse(request.responseText);var markers=xmlDoc.documentElement.getElementsByTagName('marker');for(var i=0;i<markers.length;i++)
{var lat=parseFloat(markers[i].getAttribute('lat'));var lon=parseFloat(markers[i].getAttribute('lon'));var point=new GLatLng(lat,lon);var html=markers[i].getAttribute('html');var marker=createMarker(point,html,gmarkers);map.addOverlay(marker);}}}}
request.send(null);}
var map=new GMap2(document.getElementById('map'));map.addControl(new GLargeMapControl());map.addControl(new GMapTypeControl());var otherOpts={buttonStartingStyle:{background:'#FFF',paddingTop:'4px',paddingLeft:'4px',border:'1px solid black'},buttonHTML:'<img title="Drag Zoom In" src="images/zoomin.gif">',buttonStyle:{width:'25px',height:'23px'},buttonZoomingHTML:'Drag a region on the map (click here to reset)',buttonZoomingStyle:{background:'yellow',width:'75px',height:'100%'},backButtonHTML:'<img title="Zoom Back Out" src="images/zoomout.gif">',backButtonStyle:{display:'none',marginTop:'5px',width:'25px',height:'23px'},backButtonEnabled:true,overlayRemoveTime:1500}
map.addControl(new DragZoomControl({},otherOpts,{}),new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(19,300)));map.setCenter(new GLatLng(41.6401,-97.8223),4);var counter=0;GEvent.addListener(map,'click',function(overlay,point){if(point!=undefined)
{if(counter==0)
{prepVars(point,'',9,curPos,0);}
else
{prepVars(point,'',0,curPos,0);}}
counter=1;});}
else
{alert('Sorry, the Google Maps API is not compatible with this browser');}
