var newUser=false;var loginPage=false;var loginButtonText="Sign in";var loginButtonNewUserText="Create Account";var loginButtonActionText="Signing in...";var loginButtonNewUserActionText="Creating Account...";var forgotPasswordButtonText="Get Password";var forgotPasswordButtonActionText="Please wait...";var loginCallbackFunction=null;function focusLoginForm(){var A=$("loginForm");A.username.focus()}function isLoggedIn(){var A="LoginStatus";var C="outxx=xml&r="+getRandomNumber();var B=new Ajax.Request(A,{method:"get",parameters:C,asynchronous:false});return processIsLoggedInRequest(B)}function processIsLoggedInRequest(B){var A=B.transport.responseXML;var C=A.getElementsByTagName("loggedIn")[0].firstChild.nodeValue;if(C=="true"){return true}else{return false}}function isNewUser(){var D=$("loginForm");var B=D.username.value;if(B!=null&&B!=""&&isEmailAddressValid(B)){var A="IsNewUser";var C="username="+B+"&isNewUser=true&outxx=xml&r="+getRandomNumber();new Ajax.Request(A,{method:"get",parameters:C,onSuccess:processIsNewUserRequest,onFailure:failure,onException:exception})}else{newUserAlertDisplay(false)}}function processIsNewUserRequest(C){var A=C.responseXML;var B=A.getElementsByTagName("isNewUser")[0].firstChild.nodeValue;if(B=="true"){newUserAlertDisplay(true)}else{newUserAlertDisplay(false)}}function newUserAlertDisplay(A){var E=$("newUserText");var C=$("newUserAlert");var D=$("newUserPassword2");var B=$("rememberMe");if(A){E.style.display="none";C.style.display="block";D.style.display="block";B.style.display="none";$("loginButton").value=loginButtonNewUserText;newUser=true}else{E.style.display="block";C.style.display="none";D.style.display="none";B.style.display="block";$("loginButton").value=loginButtonText;newUser=false}}function loginViaReturnKey(A){var B=(window.event)?event.keyCode:A.keyCode;if(B=="13"){login()}}function login(){$("loginErrorMessageContainer").style.display="none";var E=$("loginForm");var C=E.username.value;if(isGoodEmailAddress(C,E.username)){var A=E.password.value;var D=E.password2.value;var B=E.rememberUser.checked;if(validatePassword(A,D,E,newUser)){if(newUser){grayOutButton("loginButton",loginButtonNewUserActionText);sendNewUserRequest(C,A,B)}else{grayOutButton("loginButton",loginButtonActionText);sendAuthenticationRequest(C,A,B)}}}}function validatePassword(A,E,D,C){var B=A.length;if(B<6){alert("Sorry, but your password must be at least 6 characters long.\nIt currently is "+B+" characters long.");D.password.focus();return false}else{if(B>40){alert("Sorry, but your password cannot be longer than 40 characters.\nIt currently is "+B+" characters long.");D.password.focus();return false}else{if(C&&A!=E){alert("Sorry, but the two passwords you entered do not match.\nPlease try again.");D.password.focus();return false}}}return true}function sendNewUserRequest(F,B,C){var D=encryptAndEscapeString(B);var A="NewUser";var E="username="+F+"&password="+D+"&rememberUser="+C+"&newUserRequest=true&outxx=xml&r="+getRandomNumber();new Ajax.Request(A,{method:"post",parameters:E,onSuccess:processNewUserRequest,onFailure:failure,onException:exception})}function processNewUserRequest(B){var A=B.responseXML;var C=A.getElementsByTagName("emailAddress")[0].firstChild.nodeValue;$("newUserEmailAddress").innerHTML=C;setWhiteListsText();$("loginFormContainer").style.display="none";$("newUsersContainer").style.display="none";$("newUserConfirmationContainer").style.display="block";$("newUserConfirmationContainer").style.border="thin solid #F0F0F0";$("whiteListsTextContainer").style.display="block"}function setWhiteListsText(){var B="&#122;&#108;&#101;&#114;&#116;";var A="<img src='images/emailMiddle.png' height='11' width='10'  id='emailAtSymbol' style='vertical-align: bottom;'/>";var C="&#122;&#108;&#101;&#114;&#116;&#046;&#099;&#111;&#109";$("whiteListsTextContainer").innerHTML='Please add "'+B+A+C+"\" to your email program's address book. This is to make sure that email from us does not end up accidentally in your junk or spam folder."}function sendAuthenticationRequest(F,B,C){var D=encryptAndEscapeString(B);var A="Login";var E="username="+F+"&password="+D+"&rememberUser="+C+"&outxx=xml&r="+getRandomNumber();new Ajax.Request(A,{method:"post",parameters:E,onSuccess:processAuthenticationRequest,onFailure:failure,onException:exception})}function processAuthenticationRequest(E){var C=E.responseXML;var D=C.getElementsByTagName("valid")[0].firstChild.nodeValue;if(D!="true"){var B=C.getElementsByTagName("errorMessage")[0].firstChild.nodeValue;resetGrayedOutButton("loginButton",loginButtonText);var A=$("loginErrorMessageContainer");A.style.display="block";A.innerHTML=B+"<br/><br/>";var F=$("forgotPasswordLink");F.style.fontSize="75%";F.style.fontWeight="bold"}else{if(loginPage){location.replace(destination)}else{loginCallbackFunction(true)}}}function encryptAndEscapeString(A){var B=encrypt(A);if(B!=null){B=encodeURIComponent(B)}return B}function isGoodEmailAddress(B,A){if(B==null||B==""){alert("Oops! No email address entered.\nPlease enter an email address.");A.focus();return false}else{if(!isEmailAddressValid(B)){alert("Sorry, but your email address doesn't appear to be valid.\nPlease enter an email address that we can send a confirmation email to.");A.focus();return false}}return true}function toggleForgotPassword(A,D){var B=$(A);var C=$(D);if(B.style.display==""||B.style.display=="none"){$("standardLoginContainer").style.display="none";$("newUsersContainer").style.display="none";B.style.display="block";C.innerHTML="<< Back";C.style.cssFloat="left";$("forgotPasswordForm").username.focus();turnOffForgotPasswordAdditionalContainers()}else{if(B.style.display=="block"){B.style.display="none";C.innerHTML="Forgot Password?";C.style.cssFloat="none";turnOffForgotPasswordAdditionalContainers();$("standardLoginContainer").style.display="block";$("newUsersContainer").style.display="block"}}}function turnOffForgotPasswordAdditionalContainers(){var B=$("forgotPasswordConfirmationContainer");var A=$("forgotPasswordNoAccountContainer");if(B.style.display=="block"){B.style.display="none"}if(A.style.display=="block"){A.style.display="none"}resetGrayedOutButton("forgotPasswordButton",forgotPasswordButtonText)}function getPassword(){$("loginErrorMessageContainer").style.display="none";var A=$("forgotPasswordForm");var B=A.username.value;grayOutButton("forgotPasswordButton",forgotPasswordButtonActionText);if(isGoodEmailAddress(B,A.username)){sendPasswordViaEmail(B)}else{resetGrayedOutButton("forgotPasswordButton",forgotPasswordButtonText)}}function sendPasswordViaEmail(B){var A="ForgotPassword";var C="username="+B+"&outxx=xml&r="+getRandomNumber();new Ajax.Request(A,{method:"get",parameters:C,onSuccess:processSendUserPasswordRequest,onFailure:failure,onException:exception})}function processSendUserPasswordRequest(C){var B=C.responseXML;var A=B.getElementsByTagName("validAccount")[0].firstChild.nodeValue;var D=B.getElementsByTagName("emailAddress")[0].firstChild.nodeValue;$("forgotPasswordContainer").style.display="none";if(A=="true"){$("forgotPasswordConfirmationContainer").style.display="block";$("forgotPasswordEmailAddress").innerHTML=D}else{if(A=="false"){$("forgotPasswordNoAccountContainer").style.display="block";$("forgotPasswordNoAccountEmailAddress").innerHTML=D}}}function setUserName(){populateUserEmailAddress("loginUserName");var A=getValueFromCookie("uid");if(A!=null&&A!=""){var B=$("loginForm");B.password.focus();B.rememberUser.checked="true"}}function initializeLoginForm(){$("newUserPassword2").style.display="none";$("newUserConfirmationContainer").style.display="none";$("loginErrorMessageContainer").style.display="none";var A=$("newUserConfirmationContainer");if(A!=null){A.style.border="none"}var B=$("whiteListsTextContainer");if(B!=null){B.style.display="none"}$("password").value="";$("password2").value="";turnOffForgotPasswordAdditionalContainers();$("loginFormContainer").style.display="block";$("newUsersContainer").style.display="block";resetGrayedOutButton("loginButton",loginButtonText);focusLoginForm();setUserName()}function floatLoginForm(B,D,C,A){floatForm(B,D,C,"login");loginCallbackFunction=A;initializeLoginForm()}function cancelFloatLoginForm(){cancelFloatForm("login");loginCallbackFunction(false)};