/************************************************************************************
/*  Name:       validate.js
/*  Purpose:    Form validation javascript functions.
/*
/*  Change Log
/*      2/1/06  Cassidy Rauch       Created script file
/***********************************************************************************/

/*******************************************************************************
/* Name:    isValidEmailAddress
/* Purpose: Check if passed in string is a syntactically valid email address.
/******************************************************************************/
function isValidEmailAddress(email)
{    
    var emailReg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;   
    return (emailReg.test(email));     
}

/********************************************************************************************
/* Name:    isValidPhone
/* Purpose: Check if passed in string is a syntactically valid phone in format (555)555-5555
/********************************************************************************************/
function isValidPhone(phone)
{    
    //var phoneReg = /^\(\d\d\d\)\d\d\d-\d\d\d\d$/; 
    var phoneReg = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,3})|(\(?\d{2,3}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/    
    return phoneReg.test(phone);  
}


/*******************************************************************************
/* Name:    confirmDelete
/* Purpose: Prompt user to confirm delete before deleting a user.
/******************************************************************************/
function confirmDelete(user_id)
{
	var formUsers = document.users;
	
	if (confirm("Are you sure you want to delete this user."))
	{
		formUsers.action = "users_maintain.php?function=delete&id=" + user_id;
		formUsers.submit();
	}
}


/*******************************************************************************
/* Name:    validateEmail
/* Purpose: Validate email address.
/******************************************************************************/
function validateEmail()
{
	var formValidate = document.download;
	
	if (!isValidEmailAddress(formValidate.email.value))
    {
        alert("Email address is not valid.");
        formValidate.email.focus();
        return false;
    }
    else
    {
        formValidate.submit();
        return true;	
    }
}


/*******************************************************************************
/* Name:    validateRegister
/* Purpose: Validate myZykronix registration form input.
/******************************************************************************/
function validateRegister()
{
	var formValidate = document.register;
	
	formValidate.submit();
    return true;
}


/*******************************************************************************
/* Name:    validateUpdate
/* Purpose: Validate myZykronix update form input.
/******************************************************************************/
function validateUpdate()
{
	var formValidate = document.userUpdate;
	
	formValidate.submit();
    return true;
}


/*******************************************************************************
/* Name:    validateLogin
/* Purpose: Validate myZykronix login form input.
/******************************************************************************/
function validateLogin()
{
	var formValidate = document.login;
	
	formValidate.submit();
    return true;
}


/*******************************************************************************
/* Name:    validateContact
/* Purpose: Validate contact form input.
/******************************************************************************/
function validateForm()
{
    var formValidate = document.download;
	
    if (formValidate.firstName.value == "")
    {
        alert("First name is required.");
        formValidate.firstName.focus();
        return false;
    } 
    else if (formValidate.lastName.value == "")
    {
        alert("Last name is required.");
        formValidate.lastName.focus();
        return false;
    }   
    else if (!isValidEmailAddress(formValidate.email.value))
    {
        alert("Email address is not valid.");
        formValidate.email.focus();
        return false;
    }    
    else if (!isValidPhone(formValidate.phone.value))
    {
        alert("A valid phone number is required.\nFor example: 555 555 5555 or +11 (0) 1 5555 5555");
        formValidate.phone.focus();
        return false;
    }    
    else
    {
        formValidate.submit();
        return true;	
    } 
}                                      
