var teams=new Array();function team_selection_show(){
	try{
		Effect.SlideUp('team_name_wrapper',{duration:1});
		$('team_selection_content').innerHTML='Loading Teams...One Moment';
		new Ajax.Updater('team_selection_content','iditarod_calls.php',{parameters:'action=fetch_team_selection',asynchronous:false});
		Effect.SlideDown('team_selection',{duration:1});
	}
	catch(e){

	}
}

function team_selection_check(obj){
	try{
		teams=new Array();
		len=$("team_selection_content").getElementsByTagName("input").length;
		count=0;
		for(i=0;i<len;i++){
			if($("ck_"+i).checked==true){
				count++;
				if(count>3){
					alert("You can only select up to 3 teams");
					obj.checked=false;
					break;
				}
				else{
					teams[count]=$("ck_"+i).name;
				}
			}
		}
	}
	catch(e){}
}
function team_selection_save(){
	try{
		var str='';
		for(i=1;i<teams.length;i++){
			str+="&team[]="+teams[i];
		}
		$('gps_data').innerHTML='One Moment - Loading Data';
		new Ajax.Updater('','iditarod_calls.php',{parameters:'action=save_team_selection'+str,asynchronous:false});
		fetch_gps_data();
		fetch_gps_gpoints();
		team_selection_close();
	}
	catch(e){}
}

function team_selection_close(){
	try{
		Effect.SlideUp('team_selection',{duration:1});
	}
	catch(e){
	}
}
function team_detail_show(){
	//$('team_detail').style.display="";
	$('team_name_wrapper').style.display='';
	try{Effect.SlideDown('team_detail',{duration:1});}catch(e){}
}
function team_detail_close(){
	//$('team_detail').style.display='none';
	try{Effect.SlideUp('team_detail',{duration:1});}catch(e){}
}

function fetch_gps_data(){
	try{
		new Ajax.Updater('gps_data','iditarod_calls.php',{parameters:'action=fetch_gps_data'});
	}
	catch(e){

	}
}


function fetch_latest_results(){
	try{
		new Ajax.Updater('gps_data','iditarod_calls.php',{parameters:'action=fetch_latest_results'});
		fetch_latest_gpoints();
	}
	catch(e){

	}
}

function fetch_team_data(bib,all){
	try{
		$('team_name_wrapper').style.display='';
		new Ajax.Updater('gps_data','iditarod_calls.php',{parameters:'action=fetch_team_data&id='+bib+"&all="+all});
		new Ajax.Updater('team_name','iditarod_calls.php',{parameters:'action=fetch_team_details&id='+bib});
		fetch_team_gpoints(bib,all);
	}
	catch(e){

	}
}


function fetch_waypoint_data(){
	try{
		new Ajax.Updater('gps_data','iditarod_calls.php',{parameters:'action=fetch_waypoint_data'});
		fetch_waypoints();
	}
	catch(e){

	}
}
function fetch_latest_gpoints(){
	try{
		map.clearOverlays();

		GDownloadUrl('iditarod_calls.php?action=fetch_latest_gpoints', function(data, responseCode) {
			var	points=[];
			var xml = GXml.parse(data);
			var markers = xml.documentElement.getElementsByTagName("marker");
			for (var i = 0; i < markers.length; i++) {
				var lat=parseFloat(markers[i].getAttribute("lat"));
				var lng=parseFloat(markers[i].getAttribute("lng"));
				//alert(lat+" "+lng);
				var point = new GLatLng(lat,lng);
				points.push(point);
				map.addOverlay(new GMarker(point))
				txt="Team "+markers[i].getAttribute("bib")+"<br />"+markers[i].getAttribute("team")+"<br />Date/Time: "+markers[i].getAttribute("date")+"<br />Latitude: "+lat+"<br />Longitude: "+lng;

				map.addOverlay(createMarker(point, txt));
			}
			map.panTo(point);

			//map.addOverlay(new GPolyline(points));
		}
		);
	}
	catch(e){

	}
}

function fetch_team_gpoints(bib,all){
	try{
		map.clearOverlays();
		GDownloadUrl('iditarod_calls.php?action=fetch_team_gpoints&id='+bib+'&all='+all, function(data, responseCode) {
			var	points=[];
			var xml = GXml.parse(data);
			var markers = xml.documentElement.getElementsByTagName("marker");
			for (var i = 0; i < markers.length; i++) {
				var lat=parseFloat(markers[i].getAttribute("lat"));
				var lng=parseFloat(markers[i].getAttribute("lng"));
				//alert(lat+" "+lng);
				var point = new GLatLng(lat,lng);
				points.push(point);
				map.addOverlay(new GMarker(point))
				txt="Team "+markers[i].getAttribute("bib")+"<br />"+markers[i].getAttribute("team")+"<br />Date/Time: "+markers[i].getAttribute("date")+"<br />Latitude: "+lat+"<br />Longitude: "+lng;

				map.addOverlay(createMarker(point, txt));
			}
			map.addOverlay(new GPolyline(points));
			map.panTo(point);

		}
		);
	}
	catch(e){

	}
}


function fetch_gps_gpoints(){
	try{
		map.clearOverlays();
		for(t=1;t<teams.length;t++){
			teamid=teams[t];
			GDownloadUrl('iditarod_calls.php?action=fetch_team_gpoints&id='+teamid+'&all=true', function(data, responseCode) {
				var	points=[];
				var xml = GXml.parse(data);
				var markers = xml.documentElement.getElementsByTagName("marker");
				for (var i = 0; i < markers.length; i++) {
					var lat=parseFloat(markers[i].getAttribute("lat"));
					var lng=parseFloat(markers[i].getAttribute("lng"));
					var point = new GLatLng(lat,lng);
					points.push(point);
					map.addOverlay(new GMarker(point))
					txt="Team "+markers[i].getAttribute("bib")+"<br />"+markers[i].getAttribute("team")+"<br />Date/Time: "+markers[i].getAttribute("date")+"<br />Latitude: "+lat+"<br />Longitude: "+lng;

					map.addOverlay(createMarker(point, txt));
				}
				map.addOverlay(new GPolyline(points));
				map.panTo(point);
			}
			);
		}
	}
	catch(e){
	}
}

function fetch_waypoints(){
	try{
		map.clearOverlays();
		GDownloadUrl('iditarod_calls.php?action=fetch_waypoints', function(data, responseCode) {
			var	points=[];
			var xml = GXml.parse(data);
			var markers = xml.documentElement.getElementsByTagName("marker");
			for (var i = 0; i < markers.length; i++) {
				var lat=parseFloat(markers[i].getAttribute("lat"));
				var lng=parseFloat(markers[i].getAttribute("lng"));
				//alert(lat+" "+lng);
				var point = new GLatLng(lat,lng);
				points.push(point);
				map.addOverlay(new GMarker(point))
				txt="Waypoint "+(i+1)+"<br />Latitude: "+markers[i].getAttribute("lat")+"<br />Longitude: "+markers[i].getAttribute("lng");
				map.addOverlay(createMarker(point, txt));
			}
			map.addOverlay(new GPolyline(points));
			map.panTo(point);
		}
		);
	}
	catch(e){
	}
}



function createMarker(point, text,icon) {
	try{
		var marker = new GMarker(point);
		GEvent.addListener(marker, "click", function() {
			marker.openInfoWindowHtml(text);
		});
		return marker;
	}
	catch(e){}
}

function update_text(id,t){
	try{
		$(id).innerHTML=t;
	}
	catch(e){

	}
}
