var loginType = "login";
var changeType = "change";

function alertBox(text, alignment, title)
{
	alignment = "style='text-align:"+alignment+";'";
	title = "<h1 class='faceboxTitle'>"+title+"</h1>";
	$.facebox(title+"<p "+alignment+">"+text+"</p>");	
}

function smallAlert(text, alignment, title, size)
{
	alignment = "style='text-align:"+alignment+";'";
	title = "<"+size+" class='faceboxTitle'>"+title+"</"+size+">";
	$.facebox(title+"<p "+alignment+">"+text+"</p>");
}

function closeBox()
{
	$(document).trigger('close.facebox');	
}

function errorCheck(data)
{
	return data.substring(0,3) == "<p>";
}

function clearMain()
{
	var main = $("#main");
	main.html('');	
	main.scrollTop(0);	
}

function enterCheck(e, test)
{
	if (e.keyCode == 13 && test == "login")
		loginCheck();
	else if (e.keyCode == 13 && test == "change")
		changePass();
	else if (e.keyCode == 13 && test != "change")
		emailList(test);
}

function login()
{	
	if ($("#log").html() == "Log-Out")
		logout($("#log"));
	else
	{
		$.facebox('<h1 class="faceboxTitle">Log-In</h1><form id="logIn" method="post" style="text-align:center;"><p><label id="mainLabel">Name:</label><input name="logName" style="margin-left: 20px; margin-bottom: 5px;" type="text" id="logName" alt="Name" maxlength="50" size="20"/><br /><label id="passLabel">Password:</label><input type="password" name="pass" id="pass" style="margin-left: 2px; margin-bottom: 5px;" alt="Password" onkeydown="enterCheck(event, loginType);" size="20" /><br /><label id="newPassLabel">New Password:</label><input type="password" name="newPass" id="newPass" alt="Password" onkeydown="enterCheck(event, changeType);" size="20" /><br /><span id="logWrap"><input type="button" name="loginSubmit" id="loginSubmit" value="Log-In" onclick="loginCheck();" /></span><input type="button" name="cancel" id="cancel" value="Cancel" onclick="closeBox();" /><br /><input type="button" name="passwordForgot" id="passwordForgot" value="Forgot Password" onclick="forgotPass();" /><input type="button" name="passwordChange" id="passwordChange" value="Change Password" onclick="changePass();" /></p></form>');
		
		$("#passwordForgot").css('visibility','visible');
		$("#passwordChange").css('visibility','visible');

		var mainButton = $("#loginSubmit").val("Log-In");
		$("#passLabel").html("Password:");
		$("#logName").focus();
		
		$("#newPass").css('visibility','hidden');
		$("#newPassLabel").css('visibility','hidden');
	}
}

function loginCheck()
{
	var name = $("#logName").val();
	var pass = $("#pass").val();
	$.post("login.php", {name: name, pass: pass}, function(data){checkPass(data);});	
}

function logout(logLink)
{
	logLink.html("Log-In");
	$.get("logout.php", function(data){window.location = "index.php";});
}

function checkPass(data)
{
	if (errorCheck(data))
		alertBox(data, "center", "Error");					
	else
	{
		$("#log").html("Log-Out");
		if (data == "meet")
			window.location = "meet.php";
		else if (data == "admin")
			window.location = "cp.php";
		else
			window.location = "index.php";
	}
}

function forgotPass()
{
	var name = $("#logName").val();
	$.post("password.php", {name: name}, function(data){confirmPass(data);});
}

function confirmPass(data)
{
	if (errorCheck(data))
		alertBox(data, "center", "Error");
	else
		alertBox(data, "center", "Password Sent");
}
	
function changePass()
{
	$("#passwordForgot").css('visibility','hidden');
	$("#passwordChange").css('visibility','hidden');		
	$("#newPass").css('visibility','visible');
	$("#newPassLabel").css('visibility','visible');		

	$("#logWrap").html('<input type="button" name="loginSubmit" id="loginSubmit" value="Change Password" onclick="changePassButton();" />');
	$("#passLabel").html("Old Password:");
}

function changePassButton()
{
	var name = $("#logName").val();
	var oldPass = $("#pass").val();
	var newPass = $("#newPass").val();
	$.post("passChange.php", {name: name, pass: oldPass, newPass: newPass}, function(data){confirmPass(data);});
}

function email()
{
		$.facebox('<h1 class="faceboxTitle">Mailing List</h1><form method="post" action=""><p><label>Email: </label><input name="email" id="emailBox" type="text" maxlength="75" onkeydown="enterCheck(event, this.form);"/><br /><input type="button" class="button" id="addEmail" onclick="emailList(this.form);" value="Sign Up: Email Updates" /></p></form>');
	
		$("#emailBox").focus();
}

function emailList(form)
{
	form.email.blur();
	var email = form.email.value;
	var emailTest = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	
	if (emailTest.test(email))
		$.post("signup.php", {email: email}, function(data){alertBox(data, "left", "Mailing List");});
	else
		alertBox("You did not enter a valid email address.", "center", "Error");
}

function miles()
{	
	$.get("miles.php", function(data){showMiles(data);});
}
	
function showMiles(data)
{
	var milesRun = data.split("*");
	$("#runs").html("Team Miles Run: " + milesRun[0]);
				
	if (document.getElementById("miles"))
		$("#miles").html("Your Miles Run: " + milesRun[1] + " miles");
				
	if (document.getElementById("pace"))
		$("#pace").html("Your Race Pace: " + milesRun[2] + ":" + milesRun[3] + " per mile");
}

function schedule()
{	
	$.get("schedule.php", function(data){showSchedule(data);});
}

function showSchedule(data)
{
	var meets = data.split("***");
	
	if (errorCheck(data))
		alertBox(data, "center", "Error");
	else
	{
		var main = $("#main").css('text-align','center');
		clearMain();
		main.append('<h1>Season Schedule');

		var newTable = '<table border="1" align="center"><tr><th>Meet (Click for Map)</th><th>Date</th><th>Time</th><th>Level</th></tr>';
		var num = meets.length-1;
		for (i=0; i<num; i++) 
		{
			var currentMeet = meets[i].split("*");
			if (currentMeet[3] != '#')
			{
				currentMeet[3]	= currentMeet[3].replace("&amp;", "&");
				currentMeet[3]	= currentMeet[3].replace("&amp;", "&");
				newTable += '<tr><td><a href="'+currentMeet[3]+'" target="_blank">'+currentMeet[0]+'</a></td>';
			}
			else
				newTable += '<tr><td>'+currentMeet[0]+'</td>';
			newTable += '<td>'+currentMeet[1]+'</td><td>'+currentMeet[2]+'</td><td>'+currentMeet[4]+'</td></tr>';
		}
	}
	main.append(newTable);
}

function showGallery()
{
	var main = $("#main").css('text-align','center');
	clearMain();
	main.append('<h1>Photo Gallery</h1><img src="images/loading.gif" />');
	$.get("gallery.php", function(data){view(data);});	
}

function view(data)
{
	$("#main :last-child").remove();
	$("#main").append(data);
	$("#main").scrollTop(0);
}

function showAlbum(albumName, start)
{
	var main = $("#main").css('text-align','center');
	clearMain();
	main.append('<h1>'+albumName.substring(3)+'</h1><img src="images/loading.gif" />');
	$.post("album.php", {name: albumName, start: start}, function(data){view(data);});	
}

function faq()
{
	var main = $("#main").css('text-align','center');
	clearMain();
	main.append('<h1>Cross Country FAQ</h1><img src="images/loading.gif" />');
	$.get("faq.php", function(data){main.css('text-align','left'); view(data);});
}

function records()
{
	var main = $("#main").css('text-align','center');
	clearMain();
	main.append('<h1>Results and Records</h1><img src="images/loading.gif" />');
	$.get("awards.php", function(data){showAwards(data);});
}

function showAwards(data)
{
	var main = $("#main").css('text-align','left');
	clearMain();
	main.append('<h1>Results and Records</h1>');
	var links = '<div style="text-align: center; float: left; width:448px"><hr/><a href="#awards">Accomplishments &amp; Awards</a> | <a href="#captains">Captains</a> | <a href="#records">Records</a> | <a href="#result">Results</a><br/><hr/></div>';
	if(data!='<table width="100%"><tr><th>Year</th><th>Award</th><th>Name</th></tr></table>')
		main.append('<a name="awards"></a>'+links+'<h3>Accomplishments &amp; Awards</h3><div id="awardList">'+data+'</div>');
	$.get("captains.php", function(data){showCaptains(data,main,links);});
}

function newAwards(year)
{
	$.post("awards.php", {currentYear: year}, function(data){
		$("#awardList").html(data);
	});
}

function showCaptains(data,main,links)
{	
	if(data!="")
		main.append('<a name="captains"></a>'+links+'<div id="captainList">'+data+'</div>');
	$.get("records.php", function(data){showRecords(data,main,links);});
}

function newCaptains(year)
{
	$.post("captains.php", {currentYear: year}, function(data){
		$("#captainList").html(data);
	});
}

function showRecords(data,main,links)
{
	if(data!="")
	{
		var records = data.split("*")[0];
		var years = data.split("*");
		main.append('<a name="records"></a>'+links+records+'<br/><a name="result"></a>'+links);

		var num = years.length;
		var recordsText="";
		for (i=1;i<num;i++)
			recordsText+='<a href="javascript:results(\''+years[i]+'\');">'+years[i]+' Results</a><br/>';
	
		recordsText+='<div id="results" style="width: 400px; padding: 2px;"></div>';
		main.append(recordsText);
		var main = $("#main");
		main.scrollTop(0);
	
		results(years[1],main);
	}
}

function results(year,main)
{
	$.post("meets.php", {year: year}, function(data){updateResults(data,year,main);});
}

function updateResults(data,year,main)
{
	if(data!="")
	{
		var runners = data.split("#")[0].split("*");
		var meets = data.split("#")[1].split("*");
		var resultsText = '<div id="meetResults" style="position: absolute; right: 10px; width: 300px; padding: 2px; text-align: right;"><h2>Meet Results</h2>';
		var results = $("#results");
		results.children().remove();

		var num = meets.length-1;
		for (i=0;i<num;i++)
		{
			meetName = meets[i].replace(/[(]\d-\d\d[)]/, "");
			meetName = meetName.replace(/[(]\d\d-\d\d[)]/, "");
			meetDate = meets[i].substring(meets[i].length-6);
			resultsText+='<a href="javascript:meetResults(\''+meetName+'\',\''+year+meetDate+'\');">'+meets[i]+'</a><br/>';
		}			

		resultsText+='</div><h2>Runner Results</h2>';
		var num = runners.length-1;		
		for (i=0;i<num;i++) 
			resultsText+='<a href="javascript:runnerResults(\''+runners[i]+'\','+year+');">'+runners[i]+'</a><br/>';

		results.append(resultsText);	
	}
}

function runnerResults(runner, year)
{
	$.facebox(function(){$.post("meets.php", {runner: runner, currentYear: year}, function(data){updateRunnerResults(data);})});
}

function updateRunnerResults(data)
{
	var maxMiles = data.split("#")[0];
	var runner = data.split("#")[1];
	var races = data.split("#")[2].split("*");
	var results = $("#div");
	
	var num = races.length-1;
	var resultsText = "";
	if (maxMiles == 2)
		var divisor = 4;
	else
		var divisor = 5;
	for (i=0;i<num;i++) 
	{
		if ((i % divisor) == 0)
			resultsText+="<h3>Race: "+races[i]+"</h3>";
		else if (((i - 1) % divisor) == 0 )
			resultsText+="Time: "+races[i].replace(/^[0]+/g,"")+"<br/>";
		else if (((i - 2) % divisor) == 0 )
			resultsText+="Mile 1: "+races[i].replace(/^[0]+/g,"")+"<br/>";
		else if (((i - 3) % divisor) == 0 )
			resultsText+="Mile 2: "+races[i].replace(/^[0]+/g,"")+"<br/>";
		else if (maxMiles == 3)
			resultsText+="Mile 3: "+races[i].replace(/^[0]+/g,"")+"<br/>";
	}
	smallAlert(resultsText,"left",runner,"h2");
}

function meetResults(meet, year)
{
	$.facebox(function(){$.post("meets.php", {meet: meet, currentYear: year}, function(data){updateMeetResults(data);})});
}

function updateMeetResults(data)
{
	var maxMiles = data.split("#")[0]
	var meet = data.split("#")[1];
	var runners = data.split("#")[2].split("*");
	var results = $("#div");
	
	var num = runners.length-1;
	var resultsText = "";
	if (maxMiles == 2)
		var divisor = 4;
	else
		var divisor = 5;
	for (i=0;i<num;i++) 
	{
		if ((i % divisor) == 0)
			resultsText+="<h3>Runner: "+runners[i]+"</h3>";
		else if (((i - 1) % divisor) == 0 )
			resultsText+="Time: "+runners[i].replace(/^[0]+/g,"")+"<br/>";
		else if (((i - 2) % divisor) == 0 )
			resultsText+="Mile 1: "+runners[i].replace(/^[0]+/g,"")+"<br/>";
		else if (((i - 3) % divisor) == 0 )
			resultsText+="Mile 2: "+runners[i].replace(/^[0]+/g,"")+"<br/>";
		else if (maxMiles == 3)
			resultsText+="Mile 3: "+runners[i].replace(/^[0]+/g,"")+"<br/>";
	}
	smallAlert(resultsText,"left",meet,"h4");
}

function links()
{
	var main = $("#main").css('text-align','center');
	clearMain();
	$.get("links.php", function(data){main.css('text-align','left'); view(data);});	
}

function runs()
{
	var main = $("#main").css('text-align','center')
	clearMain();
	
	main.append("<h1 id=\"runTitle\">Example Run</h1>");
	main.append("<div><a href=\"http://www.runningahead.com/maps/12d7c941359b47aba918dcc2bc117b3c\" target=\"_blank\" id=\"map\">View Route Map</a>");
	main.append("<h2 id=\"miles\">Your Miles Run: 0 miles</h2>");
	main.append("<h2 id=\"pace\">Your Race Pace: 0:00 per mile</h2></div>");
	
	main.append("<div id=\"mapCommands\" style=\"visibility:hidden\"><a href=\"#\" onclick=\"first();\" >|&lt;</a> <a href=\"#\" onclick=\"previous();\" >&lt;PREV</a> * <a href=\"#\" onclick=\"next();\" >NEXT&gt;</a> <a href=\"#\" onclick=\"last();\" >&gt;|</a><h2 id=\"date\">Date</h2><form id=\"runOptions\" method=\"post\" action-\"\"><input type=\"radio\" name=\"radioRuns\" id=\"option1\" onclick=\"runChange();\"/><label id=\"option1Label\">Option 1</label><br/><input type=\"text\" id=\"loops\" value=\"1\" size=\"2\" maxLength=\"5\"/><label id=\"loopsLabel\">Loops</label><br/><input type=\"radio\" name=\"radioRuns\" id=\"option2\" onclick=\"runChange();\"/><label id=\"option2Label\">Option 2</label><br/><label id=\"timeLabel\">Total Time:</label><br/><input type=\"radio\" name=\"radioRuns\" id=\"DNR\" value=\"options\" onclick=\"runChange();\"/><label id=\"DNRLabel\">Did Not Run</label><br/><input type=\"hidden\" id=\"runKey\" value=\"0\"/><br/><label>Run Comments</label><br/><textarea name=\"comments\" id=\"comments\" cols=\"20\" rows=\"10\"/><br/><input type=\"button\" id=\"send\" value=\"Save Run\" onclick=\"sendData();\" /></form></div>");
	
	$.get("runs.php", function(data){showRuns(data);});
}

function showRuns(data)
{	
	if (data.substring(0,3) == "<p>")
	{
		$("#mapCommands").css('visibility','hidden');
		alertBox(data, "center", "Error");
	}
	else
	{
		var commands = $("#mapCommands").css('visibility','visible');
		var main = $("#main").scrollTop(0);
		var run = data.split("*");
		
		var key = $("#runKey").val(run[5]);
		
		$("#runTitle").html(run[0]);
	
		var dateDiv = $("#date").html("");
		var date = run[1].split("-");
		var months=["January","February","March","April","May","June","July","August","September","October","November","December"];
		
		for (i=1; i<date.length; i++)
		{
			if (i == 1)
			{
				if (date[i].substr(0,1) == '0')
					date[i] = date[i].substr(1);
				dateDiv.append(months[date[i]-1]+" ");
			}
			else if (i == 2)
			{
				date[i] = date[i].replace(/^[0]+/g,"");
				dateDiv.append(date[i] + ", " + date[0]);
			}
		}
				
		$("#comments").val(run[4]);			
		var mapLink = $("#map");
		var routes = run[2].split("$");
				
		if (run[3] == 1)
		{
			$("#option1").attr('checked',true);
			mapLink.attr('href', run[6].split("#")[0]);
			mapLink.attr('onclick',"");
			mapLink.attr('target', "_blank");
		}
		else if (run[3] == 2)
		{
			$("#option2").attr('checked',true);
			mapLink.attr('href', run[6].split("#")[1]);
			mapLink.attr('onclick',"");
			mapLink.attr('target', "_blank");
		}
		else if (run[3] == 0)
		{
			$("#DNR").attr('checked',true);	
			mapLink.attr('href', "#");
			mapLink.attr('onclick','alertBox("There is no map available for this route.", "center", "Error")');
			mapLink.attr('target', "");
		}

		if (routes.length == 2)
		{
			$("#option2").css('visibility','hidden');
			$("#option2Label").css('visibility','hidden');
			var info = routes[1].split("^");
						
			if (info.length == 2 && info[1] == "LOOP")
			{
				var option = $("#option1Label").html('');
				option.append("Loop Route: " + info[0] + " miles");
				$("#timeLabel").css('visibility','hidden');
				
				var loops = $("#loops").css('visibility','visible');
				var loopsLabel = $("#loopsLabel").css('visibility','visible');
				loopsLabel.html('');
				loopsLabel.append("Loops");
				if (typeof(run[7]) != "undefined")
					loops.val(run[7]);
				else
					loops.val("0");
			}
			else if (info.length == 2 && info[1] == "MEET")
			{
				var option = $("#option1Label").html('');
				option.append("Race Route: " + info[0] + " miles");			
				$("#loops").css('visibility','hidden');
				$.post("meetInfo.php", {meetName: run[0]}, function(data){showMeet(data);});
			}
			else
			{
				var info = routes[1];
				var option = $("#option1Label").html(''); 
				option.append("Route 1: " + info + " miles");
				$("#loops").css('visibility','hidden');
				$("#loopsLabel").css('visibility','hidden');
				$("#timeLabel").css('visibility','hidden');
			}
		}
		else if (routes.length == 3)
		{
			$("#loops").css('visibility','hidden');
			$("#loopsLabel").css('visibility','hidden');
			$("#timeLabel").css('visibility','hidden');
						
			var info = routes[1];
			var option = $("#option1Label").html(''); 
			option.append("Route 1: " + info + " miles");
					
			var info = routes[2];
			$("#option2").css('visibility','visible');
			var option = $("#option2Label").css('visibility','visible');;
			option.html(''); 
			option.append("Route 2: " + info + " miles");
		}
	}
			
	miles();
}

function showMeet(data)
{
	$("#loops").val("1");
	var times = data.split("*");
			
	var loopsLabel = $("#loopsLabel").html('');
	loopsLabel.append("First Mile: " + times[1].substring(3) + " - Second Mile: " + times[2].substring(3));
	loopsLabel.css('visibility','visible');

	if (times[5] != "")
		loopsLabel.append(" - Third Mile: " + times[5].substring(3));
	
	var time = $("#timeLabel").css('visibility','visible');
	time.html("Total Time: " + times[0].substring(3,times[0].length));
				
	$("#pace").html("Your Race Pace: " + times[3] + ":" + times[4] + " per mile");			
}

function runChange()
{
	var key = $("#runKey").val();
	var option = $("#option1");
	var option2 = $("#option2");
	var option3 = $("#DNR");
	
	if (option.attr('checked') == true)
		$.post("runChange.php", {option: "1", key: escape(key)}, function(data){showRuns(data);});
	else if (option2.attr('checked') == true)
		$.post("runChange.php", {option: "2", key: escape(key)}, function(data){showRuns(data);});
	else if (option3.attr('checked') == true)
		$.post("runChange.php", {option: "0", key: escape(key)}, function(data){showRuns(data);});
}

function sendData()
{
	var comments = $("#comments").val();
	var key = $("#runKey").val();
	var loops = $("#loops").val();
	var option = $("#option1");
	var option2 = $("#option2");
	var option3 = $("#DNR");
		
	if (option.attr('checked') == true)
	{
		var distance = $("#option1Label").html();
		var distance2 =  distance.split(" miles");
		var miles =  distance2[0].split(": ");
		$.post("runSubmit.php", {option: "1", comment: comments, key: escape(key), miles: escape(miles[1] * loops)}, function(data){dataSaved();});
	}
	else if (option2.attr('checked') == true)
	{
		var distance = $("#option2Label").html();
		var distance2 =  distance.split(" miles");
		var miles =  distance2[0].split(": ");
		$.post("runSubmit.php", {option: "2", comment: comments, key: escape(key), miles: escape(miles[1])}, function(data){dataSaved();});
	}
	else if (option3.attr('checked') == true)
		$.post("runSubmit.php", {option: "0", comment: comments, key: escape(key), miles: "0"}, function(data){dataSaved(data);});
}

function dataSaved(data)
{
	miles();
	alertBox("Your changes for this run have been saved.","center","Data Saved");	
}

function first()
{
	$.get("first.php", function(data){showRuns(data);});
}
	
function last()
{
	$.get("runs.php", function(data){showRuns(data);});
}
	
function previous()
{
	var key = $("#runKey").val();
	$.post("previous.php", {key: escape(key)}, function(data){showRuns(data);});
}
	
function next()
{
	var key = $("#runKey").val();
	$.post("next.php", {key: escape(key)}, function(data){showRuns(data);});
}

function addComment(key)
{
	var commentName = $("#commentBox").val();
	var comment = $("#commentBody").val();
	$.post("newComment.php", {name: commentName, comment: comment, noteKey: key}, function(data){
		if (data.substring(0,4) != "<p>P")
			alertBox(data,"left","Comment Submission");
		else
			$("#allComments").html(data);
	});
}

function runSlideShow(){
	var slideshow = document.getElementById("slideShow");
		
	if (document.all){
		slideshow.style.filter="blendTrans(duration=2)";
		slideshow.style.filter="blendTrans(duration=crossFadeDuration)";
		slideshow.filters.blendTrans.Apply(); 
	}
		
	slideshow.src = preLoad[j].src;
	if (document.all)
		slideshow.filters.blendTrans.Play();
		
	j = j + 1

	if (j > (p-1)) j=0
		t = setTimeout('runSlideShow()', slideShowSpeed);
}