function showError(errorText) {
    wb = document.getElementById("warningBox");
    wb.innerHTML = errorText;
    wb.style.display = "block";
}
function hideError() {
    wb = document.getElementById("warningBox");
    wb.style.display = "none";
}
function validateEmail() {
    emailBox = document.getElementById('username');
    if(emailBox.value != "") {
        if(emailBox.value.indexOf('@') != -1 && emailBox.value.indexOf('.') != -1) {
            checkEmailOnServer(emailBox.value);
        } else {
            showError('Please enter a valid e-mail address');
            emailBox.focus();
        }
    }
}

function checkEmailOnServer(emailAddress) {
    var soaprequest, param;
				
	param = AddXMLParameter("emailAddress", emailAddress);
	param = WrapXML("CheckProEmailAddress", "xmlns='http://webservice.lifepics.com'", param);

	soaprequest = CreateSOAPRequestXML(param);
	
	SubmitSOAPRequest(soaprequest, "http://webservice.lifepics.com/CheckProEmailAddress", getEmailResponse);
}

function getEmailResponse() {
    if(GotGoodResponse()) {
        var dom = http.responseXML;
        var emailStatusNode = dom.getElementsByTagName("EmailStatus")[0];
        var emailStatus = emailStatusNode.firstChild.nodeValue;

	    if(emailStatus == "valid") {
	        hideError();
	        document.getElementById("agreement").style.display="none";
	        document.getElementById("tips").style.display="none";
	        document.getElementById("registerElements").style.display="none";
	        document.getElementById("registerButton").style.display="none";
	        document.getElementById("loginButton").style.display="block";	
	        document.getElementById("names").style.display="none";          
            document.getElementById("lostPass").style.display="block";
            document.getElementById("returningHdr").style.display="none";
            document.getElementById("newGuestHdr").style.display="block";
            document.getElementById("new").style.display="none";
            document.getElementById("return").style.display="block";
	    } else {
	        hideError();
	        document.getElementById("agreement").style.display="block";
	        document.getElementById("tips").style.display="block";
	        document.getElementById("registerElements").style.display="block";
	        document.getElementById("registerButton").style.display="block";
	        document.getElementById("names").style.display="block";
	        document.getElementById("loginButton").style.display="none";
	        document.getElementById("lostPass").style.display="none";
	        document.getElementById("returningHdr").style.display="block";
            document.getElementById("newGuestHdr").style.display="none";
            document.getElementById("new").style.display="block";
            document.getElementById("return").style.display="none";
	    }
    }
}

function validatePasswords() {
    if(!validateOtherBox) {
        pw1 = document.getElementById('password');
        pw2 = document.getElementById('confpassword');
        
        if(pw1.value != pw2.value) {
            validateOtherBox = true;
            showError('Your passwords do not match.  Please go back and try again.');
            pw1.focus();
        } else {
            hideError();
        }
    } else {
        validateOtherBox = false;
    }
}

function showRegister() {
    document.getElementById("agreement").style.display="block";
    document.getElementById("tips").style.display="block";
    document.getElementById("registerElements").style.display="block";
    document.getElementById("registerButton").style.display="block";
    document.getElementById("loginButton").style.display="none";    
    document.getElementById("lostPass").style.display="none";
    document.getElementById("names").style.display="block";
    document.getElementById("returningHdr").style.display="block";
    document.getElementById("newGuestHdr").style.display="none";
    document.getElementById("new").style.display="block";
    document.getElementById("return").style.display="none";
}

function showReturning() {
    document.getElementById("agreement").style.display="none";
    document.getElementById("tips").style.display="none";
    document.getElementById("registerElements").style.display="none";
    document.getElementById("registerButton").style.display="none";
    document.getElementById("loginButton").style.display="block";    
    document.getElementById("lostPass").style.display="block";
    document.getElementById("names").style.display="none";
    document.getElementById("returningHdr").style.display="none";
    document.getElementById("newGuestHdr").style.display="block";
    document.getElementById("new").style.display="none";
    document.getElementById("return").style.display="block";
}

function ValidateRegistration() {
    var emailBox = document.getElementById("username");
    var pass1Box = document.getElementById("password");
    var pass2Box = document.getElementById("confpassword");
    var readUA = document.getElementById("readAgreement");

    var validForm = true;
    if(emailBox.value.indexOf('@') == -1 || emailBox.value.indexOf('.') == -1) {
        showError("Please enter a valid e-mail address.");
        validForm = false;
    }
    if(pass1Box.value == "" || pass2Box.value == "") {
        showError("Please enter your password.");
        validForm = false;
    }
    if(pass1Box.value != pass2Box.value) {
        showError("Your passwords do not match.");
        validForm = false;
    }
    if(!readUA.checked) {
        showError("Please confirm that you've read and understand our user agreement.");
        validForm = false;
    }
    
    return validForm;
}
