﻿function pageLoad() 
{
    callMaster();
    
    if (ssa.get_isLoggedIn() === true) 
    {
        //location.href = '../home.aspx';
        $get('RegisterHere').className = "ContentTable Hide";
        $get('RegisterFinish').className = "ContentTable Hide";
        $get('AlreadyRegistered').className = "ContentTable";
    }
    else
    {
        //location.href = '../home.aspx';
        $get('RegisterHere').className = "ContentTable";
        $get('RegisterFinish').className = "ContentTable Hide";
        $get('AlreadyRegistered').className = "ContentTable Hide";
    }
    hideLoginControl();
    $addHandler($get('SubmitButton'), 'click', validate);
    var inputs = document.getElementsByTagName("input");
    for (i = 0; i < inputs.length; i++) 
    {
        if ((inputs[i].id).indexOf("_UserName") > 0) 
        {
            inputs[i].focus();
        }
    }
}
function validate()
{
    openWaitImage();
    $removeHandler($get('SubmitButton'), 'click', validate);
    var inputs = document.getElementsByTagName("input");
    var userNameElement;
    var userPasswordElement;
    var userPasswordConfirmElement;
    /*
    var userFirstNameElement;
    var userLastNameElement;
    */
    var userName;
    var userPassword;
    var userPasswordConfirm;
    /*
    var userFirstName;
    var userLastName;
    */
    var flag = 0;
    var message = '';
    
    var product;
    
    for (i = 0; i < inputs.length; i++) 
    {
        if ((inputs[i].id).indexOf("_UserName") > 0) 
        {
            userNameElement = inputs[i];
        }
        /*
        if ((inputs[i].id).indexOf("_FirstName") > 0) 
        {
            userFirstNameElement = inputs[i];
        }
        if ((inputs[i].id).indexOf("_LastName") > 0) 
        {
            userLastNameElement = inputs[i];
        }
        */
        if ((inputs[i].id).indexOf("_Password") > 0) 
        {
            userPasswordElement = inputs[i];
            //alert(inputs[i].id);
        }
        if ((inputs[i].id).indexOf("_ConfirmPassword") > 0) 
        {
            userPasswordConfirmElement = inputs[i];
        }
    }
    //alert(inputs.length);
    userName = userNameElement.value.trim();
    /*
    userFirstName = userFirstNameElement.value.trim();
    userLastName = userLastNameElement.value.trim();
    */
    userPassword = userPasswordElement.value.trim();
    userPasswordConfirm = userPasswordConfirmElement.value.trim();
    //alert(userPassword);
    if (userName.length === 0) 
    {
        userNameElement.className = "Required";
        message = message + '\n- Please specify your Email';
        flag = 1;
    }
    else
    {
      userNameElement.className = '';
    }
    if (!isEmail(userName)) 
    {
        userNameElement.className = "Required";
        message = message + '\n- Please enter a Valid Email Address';
        flag = 1;
    }
    else {
        if (userNameElement.className != 'Required')
        { userNameElement.className = ''; }
    }
    /*
    if (userFirstName.length === 0) 
    {
        userFirstNameElement.className = "Required";
        message = message + '\n- Please specify your First Name';
        flag = 1;
    }
    else
    {
      userFirstNameElement.className = '';        
    }
    if (!isName(userFirstName))
    {
        userFirstNameElement.className = "Required";
        message = message + "\n- Only Alphabets, Spaces, Dot(.) & Apostrophe(') allowed in First Name";
        flag = 1;        
    }
    else
    {
      if(userFirstNameElement.className != 'Required')
        {  userFirstNameElement.className = '';   }      
    }
    if (!isName(userLastName))
    {
        userLastNameElement.className = "Required";
        message = message + "\n- Only Alphabets, Spaces, Dot(.) & Apostrophe(') allowed in Last Name";
        flag = 1;        
    }
    else
    {
      userLastNameElement.className = '';        
    }
    */
    if (userPassword.length === 0) 
    {
        userPasswordElement.className = "Required";
        message = message + '\n- Please specify a Password';
        flag = 1;
    }
    else
    {
      userPasswordElement.className = '';        
    }
    if (userPassword.length < 5 && userPassword.length != 0 ) 
    {
        message = message + '\n- Password should be 5 or more characters';
        userPasswordElement.className = 'Required';
        flag = 1;
        //return;
    }
    else
    {
      if(userPasswordElement.className != 'Required')
        {  userPasswordElement.className = '';   }
    }
    if (userPasswordConfirm.length === 0) 
    {
        userPasswordConfirmElement.className = "Required";
        message = message + '\n- Please specify a confirm Password';
        flag = 1;
    }
    else
    {
      userPasswordConfirmElement.className = '';        
    }
    
    if(userPasswordConfirm != userPassword)
    {
        message = message + '\n- Password & Confirm Password fields should match';
        //$get('RegisterUserPassword').className = 'Required';
        userPasswordConfirmElement.className = 'Required';
        flag = 1;
    }
    else
    {
      if(userPasswordConfirmElement.className != 'Required')
        {  userPasswordConfirmElement.className = '';   }
    }
    if (flag === 1) 
    {
        $get('ErrorMessage').className = 'ErrorMessage';
        $get('ErrorMessage').innerHTML = "<br /><span class='BoldText'> Error:</span><br />" + message.replace(/\n/g, '<br />') + " <br />";
        alert(message);
       
        if (userPasswordConfirmElement.className === "Required")
        {
            userPasswordConfirmElement.focus();
        }
        if (userPasswordElement.className === "Required")
        {
            userPasswordElement.focus();
        }
        /*
        if (userLastNameElement.className === "Required") 
        {
            userLastNameElement.focus();
        }
        if (userFirstNameElement.className === "Required") 
        {
            userFirstNameElement.focus();
        }
        */
        if (userNameElement.className === "Required") 
        {
            userNameElement.focus();
        }
        $addHandler($get('SubmitButton'), 'click', validate);
        closeWaitImage();
        return false;
    }
    else 
    {
        userNameElement.className = '';
        /*
        userFirstNameElement.className = '';
        userLastNameElement.className = '';
        */
        userPasswordElement.className = '';
        userPasswordConfirmElement.className = '';
        $get('ErrorMessage').className = 'ErrorMessage Hide';
        UserRegistration.Register(userName, /*userFirstName, userLastName,*/ userPassword, userPasswordConfirm, OnRequestComplete, OnError);
        return true;
    }
}
function OnRequestComplete(result) 
{
    if (result.substring(0,1) == "E") 
    {
        $get('ErrorMessage').className = 'ErrorMessage';
        alert('Error: ' + result);
        result = result.replace('Error:', '<span class="BoldText">Error:</span>');
        $get('ErrorMessage').innerHTML = '<br />' + result.replace(/\n/g, '<br />') + '<br />';        
    }
    else 
    {
        $get('ErrorMessage').className = 'ErrorMessage Hide';
        //alert(result);
        $get('RegisterHere').className = "ContentTable Hide";
        $get('RegisterFinish').className = "ContentTable";
    }
    $addHandler($get('SubmitButton'), 'click', validate);
    closeWaitImage();
    
}
function OnError(result) 
{
    $get('ErrorMessage').className = 'ErrorMessage';
    //result = result.replace('Error:', '<span class="BoldText">Error:</span>');
    $get('ErrorMessage').innerHTML = '<br /><span class="BoldText">Error:</span><br />' + (result.get_message()).replace(/\n/g, '<br />') 
    + '<br />';
    alert('Error: ' + result.get_message());
    $addHandler($get('SubmitButton'), 'click', validate);
    closeWaitImage();
}

function LogoutNow() 
{
    openWaitImage();
    ssa.logout(null, onUserLogoutComplete, onUserLogoutFailure, null);    
}

function onUserLogoutComplete() 
{
    if (ssa.get_isLoggedIn() === false) 
    {
        $get('RegisterHere').className = "ContentTable";
        $get('RegisterFinish').className = "ContentTable Hide";
        $get('AlreadyRegistered').className = "ContentTable Hide";              
    }
    //location.reload(true);
    closeWaitImage();
    return false;
}
function onUserLogoutFailure() 
{
    if (ssa.get_isLoggedIn() === true) 
    {
        $get('RegisterHere').className = "ContentTable";
        $get('RegisterFinish').className = "ContentTable Hide";
        $get('AlreadyRegistered').className = "ContentTable Hide";
    }
    closeWaitImage();
    return true;
}