﻿function ValidateCurrentPwd(source, args)
{
  CurrPwd = FindControl('hfCurrPwd');
  var sCurrPwd = null;
  
  if (CurrPwd != null)
    sCurrPwd = CurrPwd.value;
    
  if (sCurrPwd == "")
  {
    args.IsValid = false;
  }
  else
  {
    if (sCurrPwd != args.Value)
    {
      args.IsValid = false;
    }
    else
    {
      args.IsValid = true;
    }
  }
}

function FindControl(ctrlId)
{
  var frm = frmSignUp;  
  var objCtrl = null;
  
  if (frm != null)
  {
    for (var i=0; i<frm.length;i++)
    {
      if (frm.elements[i].id.indexOf(ctrlId) != -1)
      { 
        objCtrl = frm.elements[i];
        
        break;
      }
    }
  }
  
  return objCtrl;
}

function ValidateNewPwd(source, args)
{
  CurrPwd = FindControl('hfCurrPwd');
  var sCurrPwd = null;
  
  if (CurrPwd != null)
    sCurrPwd = CurrPwd.value;
  
  UsrID = FindControl('hfUsrID');
  var sUsrID = null;
  
  if (UsrID != null)
    sUsrID = UsrID.value;
  
  PwdMinLen = FindControl('hfPwdMinLen');
  var iPwdMinLen = null;
  
  if (PwdMinLen != null)
    iPwdMinLen = parseInt(PwdMinLen.value);
  
  PwdMaxLen = FindControl('hfPwdMaxLen');
  var iPwdMaxLen = null;
  
  if (PwdMaxLen != null)
    iPwdMaxLen = parseInt(PwdMaxLen.value);
  
  PwdFormat = FindControl('hfPwdFormat');
  var iPwdFormat = null;
  
  if (PwdFormat != null)
    iPwdFormat = parseInt(PwdFormat.value);
  
  var iPwdLen = args.Value.length;
  
  if ((CurrPwd != null) && (sCurrPwd == args.Value))
  {
    args.IsValid = false;
  }
  else if (iPwdLen < iPwdMinLen || iPwdLen > iPwdMaxLen)
  {
    args.IsValid = false;
  }
  else if (args.Value == sUsrID)
  {
    args.IsValid = false;
  }
  else if (iPwdFormat != GeneratePwdFormat(args.Value))
  {
    args.IsValid = false;    
  }
  else
  {
    args.IsValid = true;
  }
}

function GeneratePwdFormat(sPwd)
{  
  PwdFormatAlpha = FindControl('hfPwdFormatAlpha');
  var iPwdFormatAlpha = null;
  
  if (PwdFormatAlpha.value != null)
    iPwdFormatAlpha = parseInt(PwdFormatAlpha.value);
  
  PwdFormatNumeric = FindControl('hfPwdFormatNumeric');
  var iPwdFormatNumeric = null;
  
  if (PwdFormatNumeric != null)
    iPwdFormatNumeric = parseInt(PwdFormatNumeric.value);
  
  PwdFormatSymbol = FindControl('hfPwdFormatSymbol');
  var iPwdFormatSymbol = null;
  
  if (PwdFormatSymbol != null)
    iPwdFormatSymbol = parseInt(PwdFormatSymbol.value);
  
  var iPwdFormat = 0;

  var reAlpha = new RegExp("[a-zA-Z]");  
  var reNumeirc = new RegExp("[0-9]");
  var reSymbol = new RegExp("[^0-9a-zA-Z ]");

  if (reAlpha.test(sPwd))
    iPwdFormat += iPwdFormatAlpha;
  
  if (reNumeirc.test(sPwd))
    iPwdFormat += iPwdFormatNumeric;

  if (reSymbol.test(sPwd))
    iPwdFormat += iPwdFormatSymbol;

  return iPwdFormat;
}

function ValidateConfirmPwd(source, args)
{
  NewPwd = FindControl('txtNewPwd');

  if (NewPwd != null)
  {
    if (args.Value == NewPwd.value)
      args.IsValid = true;
    else
      args.IsValid = false;
  }
  else
  {
    args.IsValid = false;
  }
}

function NewUsrValidateConfirmPwd(source, args)
{
  NewPwd = FindControl('txtUsrPwd');

  if (NewPwd != null)
  {
    if (args.Value == NewPwd.value)
      args.IsValid = true;
    else
      args.IsValid = false;
  }
  else
  {
    args.IsValid = false;
  }
}
