﻿function gologin()    {
    Shared.GetForm('Login.htm',RenderDynamicContent);
}
function gonewuser()    {
    Shared.GetForm('NewUser.htm',RenderDynamicContent);
}
function goupdateuser()    {
    Shared.GetActiveForm('UpdateUser.aspx',RenderDynamicContent);
}

function login()    {
   var un=GEID("loginUsername").value;
   var pwd=GEID("loginPassword").value; 
   var rmb=GEID("chkRemember");
   if (rmb.checked)   {
    createCookie("Username",un,30);
    createCookie("Password",pwd,30); 
   }
   var msg="";
   GEID("btnLogin").disabled=true;   
   Profile.Login(un,pwd,LoginResult);
}
function logout()  {
    eraseCookie("Password");
    Profile.Logout(LogoutResult);
}
function LogoutResult() {
     showlogincontrols(); 
     eval(RequestedFunctionCall);
}
function showlogincontrols()  {
    GEID("logincontrols").innerHTML = "<div id=\"loginlink\" onclick=\"gologin()\">[Login]</div><div id=\"newuserlink\" onclick=\"gonewuser()\">[New User]</div>";
   LoggedIn=false; 
}
function showlogoutcontrols() {
    GEID("logincontrols").innerHTML = "<div id=\"logoutlink\" onclick=\"logout()\">[Logout]</div><div id=\"updateuserlink\" onclick=\"goupdateuser()\">[Update Account]</div>";
   LoggedIn=true; 
}
function LoginResult(oResponse) {
   if (oResponse) {
     showlogoutcontrols();
     if (RequestedFunctionCall!="gologin()") 
        eval(RequestedFunctionCall);
     else
        pageproduct(1,1);  
   } 
   else
   {
    GEID("btnLogin").disabled=false;
     alert("Login Failed. Have you verified your email address?");
   } 
}
function forgottenPassword() {
   var o=GEID("forgottenpassword");
   if (o.style.display!="block")
        GEID("forgottenpassword").style.display="block";
   else
        GEID("forgottenpassword").style.display="none"; 
}
function sendpassword()   {
   var em=GEID("fpEmail").value;
   GEID("btnSendPassword").disabled=true;
   Profile.SendPassword(em,PasswordSent);
}
function PasswordSent(oResponse) {
    alert(oResponse);
    GEID("btnSendPassword").disabled=false;
}
function newuser()   {
   var un=GEID("nuUsername").value;
   var pwd=GEID("nuPassword").value;
   var pwdcfm=GEID("nuPasswordConfirm").value; 
   var em=GEID("nuEmailAddress").value;  
   var nup=GEID("nuPhoneNumber").value; 
   var nun=GEID("nuNewsletter").checked; 
   var msg="";
   if (un.length<5)
    msg+="Username must be at least 5 characters.\n";
   if (pwd.length<5)
    msg+="Password must be at least 5 characters.\n";
   if (pwd!=pwdcfm)
    msg+="Passwords must match.\n";
   if (em.length<5 || em.indexOf("@")==-1 || em.indexOf(".")==-1)
    msg+="Email address is invalid.\n";  
   if (msg=="") {  
       GEID("btnCreateUser").disabled=true;
       Profile.CreateUser(un,pwd,em,nup,nun,CreateUserResult);
   }
   else
    alert(msg);
}
function updateuser()   {
   var un=GEID("uuUsername").value;
   var pwd=GEID("uuPassword").value;
   var pwdcfm=GEID("uuPasswordConfirm").value; 
   var em=GEID("uuEmailAddress").value;  
   var nup=GEID("uuPhoneNumber").value; 
   var nun=GEID("uuNewsletter").checked; 
   var msg="";
   if (un.length<5)
    msg+="Username must be at least 5 characters.\n";
   if (pwd.length<5)
    msg+="Password must be at least 5 characters.\n";
   if (pwd!=pwdcfm)
    msg+="Passwords must match.\n";
   if (em.length<5 || em.indexOf("@")==-1 || em.indexOf(".")==-1)
    msg+="Email address is invalid.\n";  
   if (msg=="") {  
       GEID("btnUpdateUser").disabled=true;
       Profile.UpdateUser(un,pwd,em,nup,nun,UpdateUserResult);
   }
   else
    alert(msg);
}
function CreateUserResult(oResponse) {
   if (oResponse[0]=="false")  {
    GEID("btnCreateUser").disabled=false;    
    alert(oResponse[1]);
   } 
   else
      RenderDynamicContent(oResponse[1]);
}
function UpdateUserResult(o) {
   GEID("btnUpdateUser").disabled=false;
   switch(o[0].toString())  {
       case "1":
        alert(o[1]);
       break;
       case "2":
        RenderDynamicContent(o[1]);
       break;
       case "3":
        showlogincontrols();
        RenderDynamicContent(o[1]); 
       break; 
   }
}

if (typeof(Sys) !== 'undefined') {
    Sys.Application.notifyScriptLoaded();
} 