if(typeof wtl == "undefined") { alert("reset"); wtl = {}; }
var temp = {
    elem: elem,
    Validate: Validate,
    ValidateEmailListing: ValidateEmailListing,
    ValidateLogIn: ValidateLogIn,
    ValidatePasswordReq: ValidatePasswordReq,
    ValidateRegister: ValidateRegister,
    ValidateGuestInfo: ValidateGuestInfo
};

mixin();
function mixin() {
    for (attrname in temp) { wtl[attrname] = temp[attrname]; }
}

function goToDetail(url) {
    window.location = url;
}

var emailRegex  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
var nls = wtl.resources.validate;

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(nls.firstname);
	    elem("FirstName").focus();
	    return false;
    }
    if (elem("LastName").value.length == 0) {
	    alert(nls.lastname);
	    elem("LastName").focus();
	    return false;
    }
    if (elem("EmailAddress").value.length == 0) {
	    alert(nls.emailaddress);
	    elem("EmailAddress").focus();
	    return false;
    }
    if (!elem("EmailAddress").value.match(emailRegex)) {
        alert(nls.emailinvalid);
        elem("EmailAddress").focus();
	    return false;
    }
    if (elem("Subject").length) {
        if (elem("Subject").value.length == 0) {
	        alert(nls.emailsubject);
	        elem("Subject").focus();
	        return false;
        }
    }
    if (elem("Message").value.length == 0) {
	    alert(nls.emailmessage);
	    elem("Message").focus();
	    return false;
    }
    return true;
}

function ValidateEmailListing() {
    if(!Validate()) {
        return false;
    }
    if (elem("EmailTo").value.length == 0) {
	    alert(nls.emailrecipient);
	    elem("EmailTo").focus();
	    return false;
    }
    if (!elem("EmailTo").value.match(emailRegex)) {
        alert(nls.emailinvalid);
        elem("EmailTo").focus();
	    return false;
    }
    return true;
}

function ValidateLogIn() {
    if (elem("Username").value.length == 0) {
	    alert(nls.username);
	    elem("Username").focus();
	    return false;
    }
    if (elem("Password").value.length == 0) {
	    alert(nls.password);
	    elem("Password").focus();
	    return false;
    }
    return true;
}

function ValidatePasswordReq() {
    if (elem("UsernamePW").value.length == 0) {
	    alert(nls.username);
	    elem("UsernamePW").focus();
	    return false;
    }
    if (elem("EmailAddressPW").value.length == 0) {
	    alert(nls.emailaddress);
	    elem("EmailAddressPW").focus();
	    return false;
    }
    if (!elem("EmailAddressPW").value.match(emailRegex)) {
        alert(nls.emailinvalid);
        elem("EmailAddressPW").focus();
	    return false;
    }
    return true;
}

function ValidateRegister() {
    if (elem("UsernameRegister").value.length == 0) {
	    alert(nls.username2);
	    elem("UsernameRegister").focus();
	    return false;
    }
    if (elem("Password1Register").value.length < 7 || elem("Password2Register").value.length < 7) {
	    alert(nls.password7);
	    elem("Password1Register").focus();
	    return false;
    }
    if (elem("Password1Register").value != elem("Password2Register").value) {
	    alert(nls.passwordmatch);
	    elem("Password2Register").focus();
	    return false;
    }
    if (elem("EmailAddressRegister").value.length == 0) {
	    alert(nls.emailaddress);
	    elem("EmailAddressRegister").focus();
	    return false;
    }
    if (!elem("EmailAddressRegister").value.match(emailRegex)) {
        alert(nls.emailinvalid);
        elem("EmailAddressRegister").focus();
	    return false;
    }
     if (elem("FirstNameRegister").value.length == 0) {
	    alert(nls.firstname);
	    elem("FirstNameRegister").focus();
	    return false;
    }
     if (elem("LastNameRegister").value.length == 0) {
	    alert(nls.lastname);
	    elem("LastNameRegister").focus();
	    return false;
    }
    return true;
}

function ValidateGuestInfo() {
    if (elem("Password1").value != elem("Password2").value) {
	    alert(nls.passwordmatch);
	    elem("Password2").focus();
	    return false;
    }
    if (elem("EmailAddress").value.length == 0) {
	    alert(nls.emailaddress);
	    elem("EmailAddress").focus();
	    return false;
    }
    if (!elem("EmailAddress").value.match(emailRegex)) {
        alert(nls.emailinvalid);
        elem("EmailAddress").focus();
	    return false;
    }
     if (elem("FirstName").value.length == 0) {
	    alert(nls.firstname);
	    elem("FirstName").focus();
	    return false;
    }
    if (elem("LastName").value.length == 0) {
	    alert(nls.lastname);
	    elem("LastName").focus();
	    return false;
    }
    return true;
}
