﻿EmailSignup = function(SignupType){
    this.SignupType = Ext.get(SignupType);
};

Ext.extend(EmailSignup, Ext.util.Observable, {

    Initialize : function(){
        document.getElementById('FirstName').value = '';
        document.getElementById('LastName').value = '';
        document.getElementById('EmailAddress').value = '';
        document.getElementById('ConfirmEmailAddress').value = ''; 
        document.getElementById('ZipCode').value = '';
    },
    
    SignUp: function() {
        var SignupType = this.SignupType.dom.value;
        var FirstName = document.getElementById('FirstName').value;
        var LastName = document.getElementById('LastName').value;
        var EmailAddress = document.getElementById('EmailAddress').value;
        var ConfirmEmailAddress = document.getElementById('ConfirmEmailAddress').value;  
        var ZipCode = document.getElementById('ZipCode').value;

        if(FirstName == '' || LastName == '' || EmailAddress == '' || ConfirmEmailAddress == '' || ZipCode == ''){
            setVis('requiredFields', true);
        }
        else if(!isValidEmail(EmailAddress))
        {
            setVis('requiredFields', false);
            setVis('emailNotValid', true);
            setVis('confirmEmail', false);
            setVis('zipCodeMsg', false);
        }
        else if(EmailAddress != ConfirmEmailAddress)
        {
            setVis('requiredFields', false);
            setVis('emailNotValid', false);
            setVis('confirmEmail', true);
            setVis('zipCodeMsg', false);
        } 
        else if(!isValidZip(ZipCode))
        {
            setVis('requiredFields', false);
            setVis('emailNotValid', false);
            setVis('confirmEmail', false);
            setVis('zipCodeMsg', true);
        }
        else{
            JoyOfCooking.API.EmailSignup.SignUp(FirstName, LastName, EmailAddress, ZipCode, SignupType, this.onDataSignUp.createDelegate(this));
        }
    },
    
    onDataSignUp: function(response) {
        if(response.value != 'login error'){
            setVis('EmailSignupForm', false);
            setVis('EmailSignupConfirmation', true);
        }
    }
    
});

