if(typeof wtl == "undefined") { wtl = {}; }
wtl = {
    elem: elem,
    Validate: Validate,
    ValidateEmailListing: ValidateEmailListing,
    ValidateLogIn: ValidateLogIn,
    ValidatePasswordReq: ValidatePasswordReq,
    ValidateRegister: ValidateRegister,
    ValidateGuestInfo: ValidateGuestInfo
};

function goToDetail(url)
{
    window.location = url;
}

var emailRegex  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

function elem(id) {
    return document.getElementById(id);
}

// Contact Us, Email Agent and Office, and RMI Forms
function Validate() {
    if (elem("FirstName").value.length == 0) {
	    alert("Please enter your first name.");
	    elem("FirstName").focus();
	    return false;
    }
    if (elem("LastName").value.length == 0) {
	    alert("Please enter your last name.");
	    elem("LastName").focus();
	    return false;
    }
    if (elem("EmailAddress").value.length == 0) {
	    alert("Please enter your E-mail Address.");
	    elem("EmailAddress").focus();
	    return false;
    }
    if (!elem("EmailAddress").value.match(emailRegex)) {
        alert("The E-mail Address you entered is not valid.\nPlease enter a valid E-mail Address.");
        elem("EmailAddress").focus();
	    return false;
    }
    if (elem("Subject").length) {
        if (elem("Subject").value.length == 0) {
	        alert("Please enter a subject.");
	        elem("Subject").focus();
	        return false;
        }
    }
    if (elem("Message").value.length == 0) {
	    alert("Please enter your message.");
	    elem("Message").focus();
	    return false;
    }
    return true;
}

function ValidateEmailListing() {
    if(!Validate()) {
        return false;
    }
    if (elem("EmailTo").value.length == 0) {
	    alert("Please enter the E-mail Address to send this listing to.");
	    elem("EmailTo").focus();
	    return false;
    }
    if (!elem("EmailTo").value.match(emailRegex)) {
        alert("The E-mail Address you entered is not valid.\nPlease enter a valid E-mail Address.");
        elem("EmailTo").focus();
	    return false;
    }
    return true;
}

function ValidateLogIn() {
    if (elem("Username").value.length == 0) {
	    alert("Please enter your Username.");
	    elem("Username").focus();
	    return false;
    }
    if (elem("Password").value.length == 0) {
	    alert("Please enter your Password.");
	    elem("Password").focus();
	    return false;
    }
    return true;
}

function ValidatePasswordReq() {
    if (elem("UsernamePW").value.length == 0) {
	    alert("Please enter your Username.");
	    elem("UsernamePW").focus();
	    return false;
    }
    if (elem("EmailAddressPW").value.length == 0) {
	    alert("Please enter your E-mail Address.");
	    elem("EmailAddressPW").focus();
	    return false;
    }
    if (!elem("EmailAddressPW").value.match(emailRegex)) {
        alert("The E-mail Address you entered is not valid.\nPlease enter a valid E-mail Address.");
        elem("EmailAddressPW").focus();
	    return false;
    }
    return true;
}

function ValidateRegister() {
    if (elem("UsernameRegister").value.length == 0) {
	    alert("Please enter a user name.");
	    elem("UsernameRegister").focus();
	    return false;
    }
    if (elem("Password1Register").value.length < 7 || elem("Password2Register").value.length < 7) {
	    alert("Password must be at least 7 characters.");
	    elem("Password1Register").focus();
	    return false;
    }
    if (elem("Password1Register").value != elem("Password2Register").value) {
	    alert("Passwords do not match.");
	    elem("Password2Register").focus();
	    return false;
    }
    if (elem("EmailAddressRegister").value.length == 0) {
	    alert("Please enter your E-mail Address.");
	    elem("EmailAddressRegister").focus();
	    return false;
    }
    if (!elem("EmailAddressRegister").value.match(emailRegex)) {
        alert("The E-mail Address you entered is not valid.\nPlease enter a valid E-mail Address.");
        elem("EmailAddressRegister").focus();
	    return false;
    }
     if (elem("FirstNameRegister").value.length == 0) {
	    alert("Please enter your first name.");
	    elem("FirstNameRegister").focus();
	    return false;
    }
     if (elem("LastNameRegister").value.length == 0) {
	    alert("Please enter your last name.");
	    elem("LastNameRegister").focus();
	    return false;
    }
    return true;
}

function ValidateGuestInfo() {
    if (elem("Password1").value != elem("Password2").value) {
	    alert("Passwords do not match.");
	    elem("Password2").focus();
	    return false;
    }
    if (elem("EmailAddress").value.length == 0) {
	    alert("Please enter your E-mail Address.");
	    elem("EmailAddress").focus();
	    return false;
    }
    if (!elem("EmailAddress").value.match(emailRegex)) {
        alert("The E-mail Address you entered is not valid.\nPlease enter a valid E-mail Address.");
        elem("EmailAddress").focus();
	    return false;
    }
    if (elem("FirstName").value.length == 0) {
	    alert("Please enter your first name.");
	    elem("FirstName").focus();
	    return false;
    }
    if (elem("LastName").value.length == 0) {
	    alert("Please enter your last name.");
	    elem("LastName").focus();
	    return false;
    }
    return true;
}
