﻿//this is handled in the default page
//if(self.location.href.indexOf("weber.edu")>0)
//    document.domain = "weber.edu";		
    
//luminisHost="https://speedy.weber.edu/cp/home/login";
luminisHost="https://eweber.weber.edu/cp/home/login";
//luminisHost="https://pepe.weber.edu/cp/home/login";
sPass="";
function writeMessage(Message)
	{
		window.status="";
		if(Message!="ok")
		{
		    //cleanup the messages for the home page
		        //to expire message
		        Message = Message.replace("New Password: <input","<strong>New Password:</strong><BR> <input");
		        Message = Message.replace("Retype the password: <input","<strong>Retype the password:</strong><br> <input");
		        Message = Message.replace("name=confirmpass><input","name=confirmpass><BR><input");
		        Message = Message.replace("expire on","expire on<strong>");
		        Message = Message.replace(", you will need","</strong>, you will need");
		        
		        //expired message
		        
		    //end cleanup
		    
			lbl = document.getElementById("lblMessage");
			Message = "<p align=right><a href='javascript:HideMessage();'>close</a></p>" + Message;
			lbl.innerHTML = Message;
			lbl.style.visibility="visible";
			loginForm.user.focus();		

		}
		else
		{
			DoLogin();
		}					
	}

function focusChange()
{
//focus the change form
}

function DoLogin()
	{
		loginForm=document.forms[1];				
		loginForm.action=luminisHost;
		loginForm.target="_self";
		loginForm.pass.value = sPass;
		loginForm.submit();
	}

function ValidateLogin()
	{				
	    //3 forms, the .NET form, SL form, PWD Change form    
		HideChangeMessage();
    	loginForm=document.forms[1];
		sPass=loginForm.pass.value;
		window.status="Checking Password Expiration...";						
		loginForm.action="https://portalapps.weber.edu/smartlogin/default.aspx";
		loginForm.target="SLFrame";
		//loginForm.submit();
	}

function SubmitAZ(filter)
{
    document.getElementById("azFilter").value=filter;
    document.getElementById("azService").value="lazindex";
    document.forms[2].submit();
}

function SubmitSearch(filter)
{
    document.getElementById("azFilter").value=filter;
    document.getElementById("azService").value="search";
    document.forms[2].submit();
}

function ShowHelp()
{
	document.getElementById("lblHelp").style.visibility="visible";
}

function HideHelp()
{
	document.getElementById("lblHelp").style.visibility="hidden";	
}	

function HideMessage()
{
	HideChangeMessage();
	lbl = document.getElementById("lblMessage");
	lbl.style.visibility="hidden";	
}

function HideAZ()
{
	lbl = document.getElementById("lblAZ");	
	lbl.style.visibility="hidden";	
	frame = document.getElementById("SLFrame");
	frame.src="https://apps-dev.weber.edu/WSUHomePage20/blank.htm";
}

function ShowAZ(results)
{
	lbl = document.getElementById("lblAZ");
	lbl.innerHTML = results;
	lbl.style.visibility="visible";
}
	
function CheckStrong()
{
	HideChangeMessage();
	
	changeForm=document.forms[3];
	loginForm = document.forms[1];
	sErrorMessage="";
	
	sNewPass = changeForm.newpass.value;
	sConfirmPass = changeForm.confirmpass.value;
	
	if(sNewPass!=sConfirmPass)
		{
			//new pass and confirm do not match
			sErrorMessage += "<strong>-Your password and its confirmation do not match.</strong><BR><BR>";
		}
		
	changeForm.uname.value = loginForm.user.value;
	changeForm.pass.value = loginForm.pass.value;
	
	pAlphaLower = new RegExp("[a-z]");
	pAlphaUpper = new RegExp("[A-Z]");
	pNumeric = new RegExp("[0-9]");
	
	if(sNewPass==loginForm.pass.value)
		{sErrorMessage+='<strong>-Your new password cannot be the same as your previous password.</strong><BR><BR>';}
	
	if(!pAlphaLower.test(sNewPass))
		{sErrorMessage+='<strong>-Your new password must contain at least one lower case letter.</strong><BR><BR>';}
		
	if(!pAlphaUpper.test(sNewPass))
		{sErrorMessage+='<strong>-Your new password must contain at least one upper case letter.</strong><BR><BR>';}
		
	//Not an IDM2 requirement (ugh)
	if(!pNumeric.test(sNewPass))
		{sErrorMessage+='<strong>-Your new password must contain at least one number.</strong><BR><BR>';}
		
	if(sNewPass.length<8)
		{sErrorMessage+='<strong>-Your new password must be at least 8 characters long.</strong><BR><BR>';}

	//no special characters
	x=0;
	for(x=0;x<sNewPass.length;x++)
		{
			sChar = sNewPass.charAt(x);

			if(!pAlphaLower.test(sChar) && !pAlphaUpper.test(sChar) && !pNumeric.test(sChar))
				{
					x=sNewPass.length +1;
					sErrorMessage+='<strong>-Your new password must only contain alpha and numeric characters (a-z, 0-9), no special characters like spaces or symbols.</strong><BR><BR>';
					
				}
		}


	//4 Unique characters
	rUnique = "";
	x=0;
	for(x=0;x<sNewPass.length;x++)
		{
			sChar = sNewPass.charAt(x);
			if(rUnique.indexOf(sChar)<0)
				{rUnique += sChar;}
		}
	if(rUnique.length<4)
		{
			sErrorMessage+='<strong>-Your new password must be contain at least 4 unique characters.</strong><BR><BR>';
		}	

	if(sErrorMessage!="")
		ChangeMessage(sErrorMessage);
	else
		changeForm.submit();
}

function ChangeMessage(sText)
{
	lbl = document.getElementById("lblChangeMessage");
	lbl.innerHTML = sText;
	lbl.style.visibility="visible";
}

function HideChangeMessage()
{   
	lbl = document.getElementById("lblChangeMessage");
	lbl.innerHTML = "";
	lbl.style.visibility="hidden";	
}

function ChangeResults(sText)
{
	if(sText=="ok")
		{
			//log them in
				changeForm=document.forms[3];
				loginForm = document.forms[1];
				
				sPass = changeForm.newpass.value;
							
				DoLogin();

		}
	else
		{
			//other message
			ChangeMessage(sText);
		}
}
