﻿// JScript File
var xmlHttp=null;
var _result;
function fnFunctionalityNA()
{
    alert("This Functionality is not yet implemented");
}

function fnCreateNewAccount()
{
    var objTable = document.getElementById("LoginContainer");
    var objNewAccountTable = document.getElementById("CreateContainer");
        objTable.className='LoginContainer_Hide';
        objNewAccountTable.className='CreateContainer_Show';
        document.getElementById("createAccountActivePane").value="1"; // set create account visiblity in hf
}

function fnLoginClicked()
{
    var loginUsernameValue=trim(document.getElementById("lblUserName").value);
    var boolSubmit = true;
    if((trim(document.getElementById("txtUserName").value)=="" || fncornerSpacesPresent( document.getElementById("txtUserName").value,trim(document.getElementById("txtUserName").value) ) ) || trim(document.getElementById("txtUserName").value)==loginUsernameValue)
    {
        document.getElementById("UsernameError").className="lock_error";//"Error_Star_Show";
        document.getElementById("lblError").innerHTML="";
        boolSubmit = false;
    }  
    else
        document.getElementById("UsernameError").className="lock_error_hide";//"Error_Star_Hide";
        
    if((trim(document.getElementById("txtPassword").value)=="" || fncornerSpacesPresent( document.getElementById("txtPassword").value,trim(document.getElementById("txtPassword").value) ) ) || trim(document.getElementById("txtPassword").value)=="userpassword")
    {
        document.getElementById("PasswordError").className="lock_error"//"Error_Star_Show";
        document.getElementById("lblError").innerHTML="";
        boolSubmit = false;
    } 
    else
        document.getElementById("PasswordError").className="lock_error_hide";//"Error_Star_Hide"; 
   if(boolSubmit)
    {
        document.getElementById("LoginAction").value="login";
        document.forms[0].submit();
    }
}

function fnLogin(event)
{
    if(event.keyCode==13)
       fnLoginClicked();

}
function fnCreateClicked()
{
    var allErrorsSummary= "";
    var objcreatelblError=document.getElementById("createlblError");
    var loginDisableText =document.getElementById("transLoginDisabled").value;
    var loginUsernameValue=document.getElementById("lblUserName").value;
    var boolsubmit = true ;
    
    if((trim(document.getElementById("CreatetxtUserName").value)=="" || fncornerSpacesPresent( document.getElementById("CreatetxtUserName").value,trim(document.getElementById("CreatetxtUserName").value) ) ) || trim(document.getElementById("CreatetxtUserName").value)==loginUsernameValue)
    {
        document.getElementById("CreateUsernameError").className="lock_error";//"Error_Star_Show";
        allErrorsSummary += document.getElementById("transUsernameRequired").value+ "<br />";
        objcreatelblError.innerHTML=allErrorsSummary;
        boolsubmit = false;
    }  
    else
      document.getElementById("CreateUsernameError").className="lock_error_hide"//"Error_Star_Hide";
       
    if((trim(document.getElementById("CreatetxtPassword").value)=="" || fncornerSpacesPresent( document.getElementById("CreatetxtPassword").value,trim(document.getElementById("CreatetxtPassword").value) ) ) || trim(document.getElementById("CreatetxtPassword").value)=="userpassword")
    {
        document.getElementById("createPasswordError").className="lock_error"//"Error_Star_Show";
        allErrorsSummary += document.getElementById("transPasswordRequired").value+ "<br />";
        objcreatelblError.innerHTML=allErrorsSummary;
        boolsubmit = false;
    }
    else if((trim(document.getElementById("CreatetxtPassword").value)).length < 5 )
    {
        document.getElementById("createPasswordError").className="lock_error"; //"Error_Star_Show";
        allErrorsSummary += document.getElementById("transPasswordLength").value+ "<br />";
        objcreatelblError.innerHTML=allErrorsSummary;
        boolsubmit = false;
    }
    else
      document.getElementById("createPasswordError").className="Error_Star_Hide";
        
    if((trim(document.getElementById("createtxtEmail").value)=="" || fncornerSpacesPresent( document.getElementById("createtxtEmail").value,trim(document.getElementById("createtxtEmail").value) ) ) || trim(document.getElementById("createtxtEmail").value)== document.getElementById("createlblEmail").value)
    {
        document.getElementById("createtxtEmailError").className="lock_error";
        allErrorsSummary += document.getElementById("transEmailRequired").value+ "<br />";
        objcreatelblError.innerHTML=allErrorsSummary;
        boolsubmit = false;
    }
    else if(!VMvalidateEmail(trim(document.getElementById("createtxtEmail").value)))
    {
        document.getElementById("createtxtEmailError").className="lock_error";
        allErrorsSummary += document.getElementById("transEmailInvalid").value+ "<br />";
        objcreatelblError.innerHTML=allErrorsSummary;
        boolsubmit = false;
    }  
    else
    {
      document.getElementById("createtxtEmailError").className="Error_Star_Hide"; 
      document.getElementById("createtxtEmailError").innerHTML="";
    }
  
 if((trim(document.getElementById("createtxtPhone").value)=="" || fncornerSpacesPresent( document.getElementById("createtxtPhone").value,trim(document.getElementById("createtxtPhone").value) ) ) || trim(document.getElementById("createtxtPhone").value.toLowerCase())=="phone number")
    {
        document.getElementById("CreatePhoneError").className="lock_error";
        allErrorsSummary += document.getElementById("transPhoneNumberRequired").value + "<br />";
        objcreatelblError.innerHTML=allErrorsSummary;
        boolsubmit = false;
    }
    else if(!fnValidatePhone( trim(document.getElementById("createtxtPhone").value)) )
    {
        document.getElementById("CreatePhoneError").className="lock_error";
        allErrorsSummary += document.getElementById("transPhoneNumberInvalid").value + "<br />";
        objcreatelblError.innerHTML=allErrorsSummary;
        boolsubmit = false;
    }
    else
      document.getElementById("CreatePhoneError").className="Error_Star_Hide"; 
      
 if(boolsubmit)
    {
      
        document.getElementById("LoginAction").value="newaccount";
        document.getElementById("createAccountActivePane").value="1";
        document.forms[0].submit();
    }
}
function VMvalidateEmail(elementValue)
{
var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; 
return emailPattern.test(elementValue); 
}
function fnValidatePhone(elementValue)
{
    var phoneReg =null;
    phoneReg=new RegExp("^\d*$");
    if( elementValue.length==10 && !phoneReg.test(elementValue) )
    {
        return true;    
    }
    else
      return false;
}
function fncornerSpacesPresent(strOriginal,strTrimmed)
{
    if(strOriginal == strTrimmed)
        return false;
    else
        return true;
}
function fnCancelClicked()
{
    //clear styling of error locks and summary
    document.getElementById("CreateUsernameError").className="lock_error_hide";
    document.getElementById("createPasswordError").className="lock_error_hide";
    document.getElementById("createtxtEmailError").className="lock_error_hide";
    document.getElementById("CreatePhoneError").className="lock_error_hide";
    document.getElementById("createlblError").innerHTML="";
    var objTable = document.getElementById("LoginContainer");
    var objNewAccountTable = document.getElementById("CreateContainer");
         objTable.className='LoginContainer';
         objNewAccountTable.className='CreateContainer_Hide';
    //document.getElementById("txtUserName").focus();
    
    document.getElementById("createAccountActivePane").value="0";
}

function fnForgotPassword()
{
    // hide login and show forgot password
    var objLoginContainer = document.getElementById("LoginContainer");
    var objForgotPasswordContainer = document.getElementById("ForgotPasswordContainer");
    if(objLoginContainer)
    {
        objLoginContainer.className="LoginContainer_Hide";
        objForgotPasswordContainer.className = "ForgotPasswordContainer";
        //document.getElementById("fpUsername").focus();
    }
    document.getElementById("createAccountActivePane").value="2";
}
function fnResetCancel()
{
    var objTable = document.getElementById("LoginContainer");
    var objForgotPasswordTable = document.getElementById("ForgotPasswordContainer");
    objTable.className='LoginContainer';
    objForgotPasswordTable.className='ForgotPasswordContainer_Hide';
    //document.getElementById("txtUserName").focus();
    document.getElementById("createAccountActivePane").value="0";
    //document.getElementById("fpUsernameError").className="lock_error_hide";
    document.getElementById("fpEmailError").className="lock_error_hide";
}
function fnSetNewPasswordCancel()
{
    var objTable = document.getElementById("LoginContainer");
    var objResetPasswordTable = document.getElementById("ResetPasswordContainer");
    objTable.className='LoginContainer';
    objResetPasswordTable.className='ResetPasswordContainer_Hide';
    //document.getElementById("txtUserName").focus();
    document.getElementById("createAccountActivePane").value="0";
    document.getElementById("form1").action="main.aspx";
}

function fnResetPassword()
{
            
    var blnSubmit = true;
    var localeSetting = document.getElementById("Translator").value;
    var localeId="";
    var objfpInfoText = document.getElementById("fpInfoText");
    if(localeSetting=="" || localeSetting=="default")
    {
        localeId="1043";
    }
    else
    {
        localeId = "1033";
    }
    var objfpUsername = document.getElementById("fpUsername");
    var objfpEmail = document.getElementById("fpEmail");
    var objUsernameErrorLabel = document.getElementById("fpUsernameError");
    var objEmailErrorLabel = document.getElementById("fpEmailError");
    if(objfpEmail!=null)
    {
        if(trim(objfpEmail.value).length == 0 || trim(objfpEmail.value)==trim(document.getElementById("createlblEmail").value) )
        {
            objEmailErrorLabel.className = "lock_error";
            blnSubmit=false;
        }
        else if(trim(objfpEmail.value).length>0 && VMvalidateEmail(trim(objfpEmail.value))==false)
        {
            objEmailErrorLabel.className = "lock_error";
            blnSubmit=false;
        }
        else
        {
            objEmailErrorLabel.className = "Error_Star_Hide";
        }
    }
    if(blnSubmit==true)
    {//ok 
    document.getElementById("ImgResetProcessing").style.display="block";
    objfpInfoText.innerHTML="";
            //fnShowProcessing();
            xmlHttp=GetXmlHttpObject();
            if (xmlHttp==null)
            {
              var msgNoAjax = document.getElementById("TransNoAjax").value;
              errorGlobal.innerHTML = msgNoAjax;
              errorGlobal.className="ErrorGlobal_Show";
              return;
            } 

             
            xmlHttp.onreadystatechange= fnUpdateForgetPasswordInfo;
            var url="ajaxresults.aspx";
            url=url+"?action=resetmail"+"&emailaddress=" +  objfpEmail.value + "&locale=" + localeId;
            xmlHttp.open("GET",url,true);
            xmlHttp.send(null);
            
    }//if blnsubmit==true
        
        return false;
}
function fnUpdateForgetPasswordInfo()
{
    var objfpInfoText = document.getElementById("fpInfoText");

if (xmlHttp.readyState==4)
                { 
    document.getElementById("ImgResetProcessing").style.display="none";
                
                   var _responseText = xmlHttp.responseText;
                   var _document = _responseText.split("=#=");
                   var _result="";
                   if(_document.length > 0)
                   {
                       _result = _document[1];
                       if(_result.toString().toLowerCase() == "done")
                       {
                           
                        if(objfpInfoText)
                            {
                                objfpInfoText.innerHTML = document.getElementById("transResetSuccessful").value;
                                objfpInfoText.className="Reset_Success";
                            }
                       }
                       if(_result.toString().toLowerCase() == "notfound")
                       {
                        if(objfpInfoText)
                            {
                                objfpInfoText.innerHTML = document.getElementById("transResetNoMatch").value;
                                objfpInfoText.className="Reset_Failure";
                            }
                       }
                       if(_result.toString().toLowerCase() == "emailfailed")
                       {
                           if(objfpInfoText)
                            {
                                objfpInfoText.innerHTML = document.getElementById("transResetMailFailure").value;
                                objfpInfoText.className="Reset_Failure";
                            }
                       }
                   }
                 }//readystat==4


}
function fnSetNewPassword()
{
    var blnSubmit = true;
    var objrpInfoText = document.getElementById("rpInfoText");
    var objNewPassword = document.getElementById("rpNewPassword");
    var objConfirmNewPassword = document.getElementById("rpConfirmNewPassword");
    var objNewPasswordError = document.getElementById("rpPasswordError");
    var objConfirmNewPasswordError = document.getElementById("rpConfirmPasswordError");
    
    
    if(objNewPassword !=null && objConfirmNewPassword!=null)
    {
        if(trim(objNewPassword.value).length==0)
        { //new pass is blank
            objNewPasswordError.className="lock_error_reset";
            blnSubmit=false;
        }
        else
        {
            objNewPasswordError.className = "Error_Star_Hide";
        }
        if( trim(objConfirmNewPassword.value).length==0 || fncornerSpacesPresent( objConfirmNewPassword.value,trim(objConfirmNewPassword.value) )   )
        {
            //objConfirmNewPasswordError.innerHTML=document.getElementById("transConfirmPasswordRequired").value;
            objConfirmNewPasswordError.className = "lock_error_reset";
            blnSubmit=false;
        }
        
        else
        {
            objConfirmNewPasswordError.className = "Error_Star_Hide";
        }
        if( (trim(objNewPassword.value).length > 0 && trim(objConfirmNewPassword.value).length > 0) && (objNewPassword.value!=objConfirmNewPassword.value)  )
        {   
            //objConfirmNewPasswordError.innerHTML=document.getElementById("transConfirmPasswordNoMatch").value;
            objConfirmNewPasswordError.className = "lock_error";
            blnSubmit=false;
        }
        
        if(blnSubmit)
        {//ok 
        
            document.getElementById("ImgNewPasswordProcessing").style.display="block";
        
            var passwordValue = objNewPassword.value;
            xmlHttp=GetXmlHttpObject();
            if (xmlHttp==null)
            {
              var msgNoAjax = document.getElementByuId("TransNoAjax").value;
              errorGlobal.innerHTML = msgNoAjax;
              errorGlobal.className="ErrorGlobal_Show";
              return;
            } 
           
            var mainaspx=document.location.href.toString().split("?");
            //alert(mainaspx[0].substring(0,mainaspx[0].lastIndexOf("/")));
            var path=mainaspx[0].substring(0,mainaspx[0].lastIndexOf("/"));
            var url=path + "/ajaxresults.aspx";
            url=url+"?action=resetpassword"+"&hash=" + getPasswordHash() + "&newpassword=" +  passwordValue;
            //alert("URL: " + url);
           
            xmlHttp.open("GET",url,false);
           // xmlHttp.onreadystatechange= fnUpdateNewPasswordInfo;
            xmlHttp.send(null);
           
            if (xmlHttp.readyState==4)
                {
                    //alert(xmlHttp.responseText);
                    fnUpdateNewPasswordInfo();
                }
            
        
        }
        
        
    }
    

}

function fnUpdateNewPasswordInfo()
{
    var objrpInfoText = document.getElementById("rpInfoText");
                //alert(xmlHttp.readyState);
                if (xmlHttp.readyState==4)
                { 
                document.getElementById("ImgNewPasswordProcessing").style.display="none";
                   var _responseText = xmlHttp.responseText;
                   var _document = _responseText.split("=#=");
                   var _result = _document[1];
                   
                   if(_result.toString().toLowerCase() == "done")
                   {

                    if(objrpInfoText)
                        {
                            //hide reset controls-----
                            document.getElementById("ResetPasswordBoxMiddle").className = "Hide";
                            document.getElementById("ResetPasswordBoxBottom").className = "Hide";
                            //------------------------
                            objrpInfoText.innerHTML = document.getElementById("transPasswordChangeSuccess").value;
                            objrpInfoText.className="Reset_Success";
                        }
                   }
                   if(_result.toString().toLowerCase() == "ResetFailure")
                   {//alert("failure");
                    if(objrpInfoText)
                        {
                            objrpInfoText.innerHTML = document.getElementById("transPasswordChangeFailure").value;
                            objrpInfoText.className="Reset_Failure";
                        }
                   }
                   
                 }//readystat==4

}

function fnCreate(event)
{
if(event.keyCode==13)
       fnCreateClicked();
}

function fnForgot(event)
{         
    if(event.keyCode==13)
        fnResetPassword();
}

function fnNewPassword(event)
{
    if(event.keyCode==13)
        fnSetNewPassword();
}

//onfocus='checkDefaultText(this, false)' onBlur='checkDefaultText(this, true)'


//var defaultText = 'Username'
//var defaultTextUsername=document.getElementById("lblUserName").value;
//var defaultTextPassword=document.getElementById("lblPassword").value;

function checkDefaultText(t, d,UserOrPassword)
{ 
var defaultTextUsername=document.getElementById("lblUserName").value;
var defaultTextPassword="userpassword";//document.getElementById("lblPassword").value;

	if (d)
	{
		if (t.value.length==0)
		{
		    if(UserOrPassword=='user')
			    t.value = defaultTextUsername;
			else
			    t.value = defaultTextPassword;
			        
		} 
		else
		 {
		 //nothing
		  }
	} 
	else
	{
	    if(UserOrPassword=='user')
	    {
		    if (t.value == defaultTextUsername)
			t.value = '';
		}
		else
		{
		    if (t.value == defaultTextPassword)
            t.value = '';
		}
	}
}


function checkDefaultTextCreate(t, d,field)
{ 
var defaultTextUsername=document.getElementById("lblUserName").value;
var defaultTextPassword="userpassword";//document.getElementById("lblPassword").value;
var defaultTextEmail = document.getElementById("createlblEmail").value;
var defaultTextPhone = document.getElementById("createlblPhone").value;


	if (d)
	{
		if (t.value.length==0)
		{
//		    if(UserOrPassword=='user')
//			    t.value = defaultTextUsername;
//			else
//			    t.value = defaultTextPassword;
            
            switch(field)
            {
                case 'user':
                t.value = defaultTextUsername;
                break;
                case 'pass':
                t.value = defaultTextPassword;
                break;
                case 'email':
                t.value = defaultTextEmail;
                break;
                case 'phone':
                t.value = defaultTextPhone;
                break;
                
            }
			        
		} 
		else
		 {
		 //nothing
		  }
	} 
	else
	{
	
	 switch(field)
        {
            case 'user':
            if (t.value == defaultTextUsername)
			    t.value = '';
            break;
            case 'pass':
            if(t.value == defaultTextPassword)
            t.value ='';
            break;
            case 'email':
            if(t.value == defaultTextEmail)
                t.value ='';
            break;
            case 'phone':
            if(t.value == defaultTextPhone)
            t.value ='';
            break;
            
        }
	}
}


function checkDefaultTextForgotPassword(t,d,UserOrEmail)
{ 
var defaultTextUsername=document.getElementById("lblUserName").value;
var defaultTextEmail=document.getElementById("createlblEmail").value;
	if (d)
	{
		if (t.value.length==0)
		{
		    if(UserOrEmail=='user')
			    t.value = defaultTextUsername;
			else
			    t.value = defaultTextEmail;
			        
		} 
		else
		 {
		 //nothing
		  }
	} 
	else
	{
	    if(UserOrEmail=='user')
	    {
		    if (t.value == defaultTextUsername)
			t.value = '';
		}
		else
		{
		    if (t.value == defaultTextEmail)
            t.value = '';
		}
	}
}

function fnShowLoginAfterReset()
{
var objResetContainer = document.getElementById("ResetPasswordContainer");
var objLoginContainer = document.getElementById("LoginContainer");
objResetContainer.className="ResetPasswordContainer_Hide";
objLoginContainer.className="LoginContainer";
document.getElementById("createAccountActivePane").value="0";
}

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

