var path="/";function signup(){$("username-err","password-err","email-err","name-err").invoke("hide");var a=/\W/;var b=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;if($F("username")==""){$("username-err").style.display="inline";$("username-err").innerHTML="please enter a username";return false}else{if($F("username").length<3||$F("username").length>15){$("username-err").style.display="inline";$("username-err").innerHTML="username must be 3-15 characters";return false}else{if(a.test($F("username"))){$("username-err").style.display="inline";$("username-err").innerHTML="username must contain only letters, numbers and underscores";return false}else{if($F("password")==""){$("password-err").style.display="inline";$("password-err").innerHTML="please enter a password";return false}else{if($F("password").length<6||$F("password").length>15){$("password-err").style.display="inline";$("password-err").innerHTML="password must be 6-15 characters";return false}else{if($F("password")==$F("username")){$("password-err").style.display="inline";$("password-err").innerHTML="password must be different from username";return false}else{if($F("email")==""){$("email-err").style.display="inline";$("email-err").innerHTML="please enter your email address";return false}else{if(!b.test($F("email"))){$("email-err").style.display="inline";$("email-err").innerHTML="your email address doesn't appear to be correct";return false}else{if($F("name")==""){$("name-err").style.display="inline";$("name-err").innerHTML="please enter your name";return false}else{if($F("name").length>45){$("name-err").style.display="inline";$("name-err").innerHTML="name cannot be more than 45 characters";return false}}}}}}}}}}return true}function retire(a){if($("status-"+a).innerHTML=="active"){new Ajax.Request(path+"ajax/retire.php",{method:"get",parameters:"id="+a,onComplete:function(c){var b=c.responseText.evalJSON(true);if(b.status=="error"){alert(b.text)}else{if($("showretired").checked){$("status-"+b.id).update("retired");$("retirebtn-"+b.id).update("un-retire")}else{$("item-"+b.id).update('<td colspan="'+$("item-"+b.id).childElements().length+'" class="message">'+b.text+"</td>")}}}})}else{new Ajax.Request("ajax/unretire.php",{method:"get",parameters:"id="+a,onComplete:function(c){var b=c.responseText.evalJSON(true);if(b.status=="error"){alert(b.text)}else{$("status-"+b.id).update("active");$("retirebtn-"+b.id).update("retire")}}})}}function deleteItem(a,b){if(confirm("Are you sure you would like to delete this "+a+"?  There is NO UNDO!")){new Ajax.Request(path+"ajax/delete.php",{method:"get",parameters:"item="+a+"&id="+b,onComplete:function(d){var c=d.responseText.evalJSON(true);if(c.status=="error"){alert(c.text)}else{$("item-"+c.id).update('<td colspan="'+$("item-"+c.id).childElements().length+'" class="message">'+c.text+"</td>");$("item-"+c.id).title=null}}})}}function acceptFriend(a){new Ajax.Request(path+"ajax/accept.php",{method:"get",parameters:"id="+a,onComplete:function(c){var b=c.responseText.evalJSON(true);if(b.status=="error"){alert(b.text)}else{$("request-"+b.id).update(b.text+".  You are now friends with "+$("request-user-"+a).innerHTML);$("inbox-count").update(parseInt($("inbox-count").innerHTML)-1)}}})}function denyFriend(a){new Ajax.Request(path+"ajax/deny.php",{method:"get",parameters:"id="+a,onComplete:function(c){var b=c.responseText.evalJSON(true);if(b.status=="error"){alert(b.text)}else{$("request-item-"+b.id).update(b.text);$("inbox-count").update(parseInt($("inbox-count").innerHTML)-1)}}})}function addFriend(a){new Ajax.Request(path+"ajax/addfriend.php",{method:"get",parameters:"id="+a,onComplete:function(c){var b=c.responseText.evalJSON(true);if(b.status=="error"){alert(b.text)}else{$("addtofriends").update(b.text)}}})}function removeFriend(a){if(confirm("Are you sure you would like to remove this friend?")){new Ajax.Request(path+"ajax/removefriend.php",{method:"get",parameters:"id="+a,onComplete:function(c){var b=c.responseText.evalJSON(true);if(b.status=="error"){alert(b.text)}else{$("remove-"+b.id).update(b.text);$("friends-count").update(parseInt($("friends-count").innerHTML)-1)}}})}}function userExists(){new Ajax.Request(path+"ajax/check.php",{method:"get",parameters:"username="+$F("username"),onComplete:function(b){var a=b.responseText.evalJSON(true);$("profileurl").update(a.response)}})}function changeCourse(){new Ajax.Request(path+"ajax/distance.php",{method:"get",parameters:"id="+$F("course"),onComplete:function(b){var a=b.responseText.evalJSON(true);if(a.status!="error"){$("distance").value=a.distance;$("total").update($("distance").value*$("laps").value)}}})}function stats(){num=$("distance").value*$("laps").value;document.title="Log your "+num.toFixed(2)+" "+$("myunits").value+" run"}function text(a){num=90-$(a).value.length;if(num<0){$("chars").update('<span class="error">'+num+"</span> characters remaining")}else{$("chars").update(num+" characters remaining")}}function focusHint(b,a){if($(b).value==a){$(b).value="";$(b).removeClassName("hint")}}function blurHint(b,a){if($(b).value==""){$(b).value=a;$(b).addClassName("hint")}}function showMore(){$("more").toggle();if($("showmore").innerHTML=="less"){$("showmore").update("more")}else{$("showmore").update("less")}}function like(a){new Ajax.Request(path+"ajax/like.php",{method:"get",parameters:"id="+a,onComplete:function(c){var b=c.responseText.evalJSON(true);if(b.status=="error"){alert(b.text)}else{if($("like-"+b.id).hasClassName("liked")){$("like-"+b.id).removeClassName("liked");$("like-"+b.id).update("Like this run")}else{$("like-"+b.id).addClassName("liked");$("like-"+b.id).update("Unlike this run")}}}})}function nudge(a){new Ajax.Request(path+"ajax/nudge.php",{method:"get",parameters:"id="+a,onComplete:function(c){var b=c.responseText.evalJSON(true);if(b.status=="error"){alert(b.text)}else{$("nudge").update(b.text)}}})}function dismissNudge(a){new Ajax.Request(path+"ajax/dismiss.php",{method:"get",parameters:"id="+a,onComplete:function(c){var b=c.responseText.evalJSON(true);if(b.status=="error"){alert(b.text)}else{$("nudge-"+b.id).update(b.text);$("inbox-count").update(parseInt($("inbox-count").innerHTML)-1)}}})}function refreshSnap(){new Ajax.Request(path+"ajax/stats.php",{onComplete:function(b){var a=b.responseText.evalJSON(true);if(a.status!="error"){$("runs").update(a.runs);$("miles").update(a.miles)}}})}function closeMessage(){if(!$("message").hasClassName("hide")){$("message").addClassName("hide")}};