
var nextDateField;var SPORT_TOPIC_TYPE=0;var LEAGUE_TOPIC_TYPE=1;var SUBLEAGUE_TOPIC_TYPE=2;var DIVISION_TOPIC_TYPE=3;var TEAM_TOPIC_TYPE=4;var PLAYER_TOPIC_TYPE=5;var SPORTING_EVENT_TOPIC_TYPE=6;var debug=true;function FFLocation(){this.id;this.latitude;this.longitude;this.address1;this.state;this.city;this.zip;this.name;this.url;}
function FFLocationRef(){this.fanFinderLocation;this.referringLat;this.referringLng;this.mileDistance;this.ddUrl;}
function FFEvent(){this.id;this.sportingEvent;this.ffLocation;this.fanList;}
function Fan(){this.id;this.username;this.streetAddress;this.zip;this.state;this.city;this.friendList;}
function SportingEvent(){this.id;this.homeTopicId;this.awayTopicId;this.sportId;this.name;this.time;this.prettyDate;}
function Topic(){this.id;this.name;this.type;}
var searchRadiusMap=[0,0,0,500,200,100,50,20,10,5,2,1];function getNextEventDate(teamEltId,dateEltId,isMini){var nextDateField=document.getElementById(dateEltId);var eventNameField=document.getElementById("eventName");var fullDateField=document.getElementById("fullEventDate");var targetTopicId=document.getElementById(teamEltId).value;if(targetTopicId==null||targetTopicId==''){return;}
var milliDate=fullDateField.value;GlobalDWREngine.getNextEvent({id:targetTopicId},milliDate,function(sportingEvent){if(!sportingEvent){nextDateField.value="N/A";if(!isMini){eventNameField.innerHTML="No events found.";}
return;}
var jsDate=new Date(sportingEvent.time);nextDateField.value=(jsDate.getMonth()+1)+"/"+jsDate.getDate()+"/"+jsDate.getFullYear();fullDateField.value=sportingEvent.time;globalLongDate=sportingEvent.time;if(!isMini){eventNameField.innerHTML=sportingEvent.name+" "+sportingEvent.prettyDateAndTime;loadUpcomingEvents(targetTopicId);}else{document.getElementById("eventId").value=sportingEvent.id;}});}
function loadUpcomingEvents(teamId){var zipcode=document.getElementById("zipcode").value;var ajaxRequestStr="/web/ajax?view=fanFinderAjaxController&actionCmd=reloadUpcomingEvents&topicId="+teamId+"&fanZipcode="+zipcode;ajaxHandler.doAjaxCall(ajaxRequestStr,"upcoming-games",'overwrite',ajaxHandler.updateLayer);}
function initMapSearchDiv(){var mapDiv=document.getElementById("mapDiv");var mapSearchDiv=document.getElementById("mapSearchDiv");if(!mapDiv){return;}
var mapDivX=getPosition.returnX(mapDiv);var mapDivY=getPosition.returnY(mapDiv);var targetX=mapDivX;var targetY=(mapDivY+mapDiv.clientHeight)-mapSearchDiv.clientHeight+1;mapSearchDiv.style.top=targetY;mapSearchDiv.style.left=targetX+1;mapSearchDiv.style.zIndex=mapDiv.style.zIndex+1;mapSearchDiv.style.visibility="visible";}
function showFriends(friendStr){if(!friendStr)return;var friends=friendStr.split(",");var friendsDiv=document.getElementById("friendsDiv");if(!friendsDiv||!friends||friends.length==0)return;for(var i=0;i<friends.length;i++){var fontElt=document.createElement("font");fontElt.appendChild(document.createTextNode(friends[i]));friendsDiv.appendChild(fontElt.cloneNode(true));}
friendsDiv.style.visibility="visible";}
function setDistance(eventLocation,componentId){alert("Setting distance for "+eventLocation);geoCoder.getLatLng(eventLocation,function(point){var dist=metersToMiles(point.distanceFrom(myFFMap.userCenterPoint));var divElt=document.getElementById(componentId);alert("Dist = "+dist+" miles");divElt.innerHTML=dist+" miles";});}
function addEventToCal(eventName,eventDate){var d=new Date();d.setTime(eventDate);var calDiv=document.getElementById("calDiv");calDiv.style.position="absolute";calDiv.style.width="100px";calDiv.style.height="60px";calDiv.style.backgroundColor="white";var buttonElt=document.getElementById("addCalButton");calDiv.style.top=getPosition.returnY(buttonElt);calDiv.style.left=getPosition.returnX(buttonElt);calDiv.style.zIndex=(buttonElt.style.zIndex+1);calDiv.style.visibility="visible";}
function sendInvite(emailEltId,fanId,eventId){var emailList=document.getElementById(emailEltId).value;var sendInviteDWRCallback=function(){alertLayer.populateLayer("fanFinderAlert","Your friends have been notified.",null,500,300,true,"green");};requestWrapper(null,"member_perm",GlobalDWREngine.inviteFriends,new Array(emailList,fanId,eventId,sendInviteDWRCallback),"hideloading");}
function updateEventFan(eventId,isFanAttending,zipcodeFieldId){if(eventId==null){alertLayer.populateLayer("fanFinderAlert","Event was not specified. Please choose a team and the event will be pre-populated.",null,500,300,true);return;}
var zipcode=document.getElementById(zipcodeFieldId).value;var dwrFunction=GlobalDWREngine.updateEventFan;var dwrCallBack=function(ffLoc){getFFEvents(zipcode,ffLoc.latitude,ffLoc.longitude);loadingLayer.hideLoading('ffResultsTable');};var dwrArgs=new Array(eventId,isFanAttending,dwrCallBack);requestWrapper(null,"member_perm",dwrFunction,dwrArgs,'hideloading');}
function addFanToLocation(ffLocation_,topic,date,distance,ddUrl){if(topic.id==null||topic.id==""){alertLayer.populateLayer("fanFinderAlert","Please choose a team first.",null,500,300,true);return;}
var eventNameText=document.getElementById("eventName").innerHTML;if(eventNameText.indexOf("Enter a team",0)>=0){alertLayer.populateLayer("fanFinderAlert","There is no upcoming event. Please choose another team.",null,500,300,true);return;}
var lat=ffLocation_.latitude;var lng=ffLocation_.longitude;var locationRef=new FFLocationRef();locationRef.fanFinderLocation=ffLocation_;locationRef.referringLat=lat;locationRef.referringLng=lng;locationRef.mileDistance=distance;locationRef.ddUrl=ddUrl;var addFanFunction=GlobalDWREngine.addFanToLocation;var dwrCallBack=function(fanCount){var zip=document.getElementById('zipcode').value;getFFEvents(null,lat,lng);}
var dwrArgs=new Array(locationRef,topic,date,dwrCallBack);try{requestWrapper(null,"member_perm",addFanFunction,dwrArgs,"hideloading");}catch(exception){alert("Exception: "+exception);}}
function getZoomLevel(swLat,swLng,neLat,neLng){var bounds=new GLatLngBounds(new GLatLng(swLat,swLng),new GLatLng(neLat,neLng));myFFMap.centerOnPoint(myFFMap.currentSearchCenter,myFFMap.gMap.getBoundsZoomLevel(bounds));}
function showFriendsGoing(buttonID,friendLayerID){document.getElementById(friendLayerID).style.left=getPosition.returnX(document.getElementById(buttonID));document.getElementById(friendLayerID).style.top=getPosition.returnY(document.getElementById(buttonID))+17;commonLayer.show(friendLayerID,true,true)}