﻿RegisterForm = function() { };

RegisterForm.prototype.SERVICE_PATH = '/register/ajax.aspx';
RegisterForm.prototype.IS_VALID = true;

RegisterForm.prototype.TXT_FIRST_NAME = null;
RegisterForm.prototype.TXT_LAST_NAME = null;
RegisterForm.prototype.TXT_EMAIL = null;
RegisterForm.prototype.TXT_PASSWORD = null;
RegisterForm.prototype.TXT_USERNAME = null;
RegisterForm.prototype.TXT_ADDRESS_1 = null;
RegisterForm.prototype.TXT_ADDRESS_2 = null;
RegisterForm.prototype.TXT_ADDRESS_3 = null;
RegisterForm.prototype.TXT_TOWN_CITY = null;
RegisterForm.prototype.TXT_COUNTY_STATE = null;

RegisterForm.prototype.LBL_FIRST_NAME = null;
RegisterForm.prototype.LBL_LAST_NAME = null;
RegisterForm.prototype.LBL_EMAIL = null;
RegisterForm.prototype.LBL_PASSWORD = null;
RegisterForm.prototype.LBL_USERNAME = null;
RegisterForm.prototype.LBL_ADDRESS_1 = null;
RegisterForm.prototype.LBL_TOWN_CITY = null;
RegisterForm.prototype.LBL_COUNTY_STATE = null;

RegisterForm.prototype.LBL_EMAIL_DEFAULT = 'Email *';
RegisterForm.prototype.LBL_USERNAME_DEFAULT = 'Username *<br /><em>This will be displayed next to any comments you post</em>';

RegisterForm.prototype.validate = function() {

    if (this.TXT_FIRST_NAME.value == '') {
        this.set_value(this.LBL_FIRST_NAME, this.LBL_FIRST_NAME.innerHTML, 'red');
        this.IS_VALID = false;
    }

    if (this.TXT_LAST_NAME.value == '') {
        this.set_value(this.LBL_LAST_NAME, this.LBL_LAST_NAME.innerHTML, 'red');
        this.IS_VALID = false;
    }

    if (this.TXT_EMAIL.value == '') {
        this.set_value(this.LBL_EMAIL, this.LBL_EMAIL.innerHTML, 'red');
        this.IS_VALID = false;
    }
    else {
        this.txt_email_blur();
    }

    if (this.TXT_PASSWORD.value == '') {
        this.set_value(this.LBL_PASSWORD, this.LBL_PASSWORD.innerHTML, 'red');
        this.IS_VALID = false;
    }

    if (this.TXT_USERNAME.value == '') {
        this.set_value(this.LBL_USERNAME, this.LBL_USERNAME.innerHTML, 'red');
        this.IS_VALID = false;
    }

    if (this.TXT_ADDRESS_1.value == '') {
        this.set_value(this.LBL_ADDRESS_1, this.LBL_ADDRESS_1.innerHTML, 'red');
        this.IS_VALID = false;
    }

    if (this.TXT_TOWN_CITY.value == '') {
        this.set_value(this.LBL_TOWN_CITY, this.LBL_TOWN_CITY.innerHTML, 'red');
        this.IS_VALID = false;
    }

    if (this.TXT_COUNTY_STATE.value == '') {
        this.set_value(this.LBL_COUNTY_STATE, this.LBL_COUNTY_STATE.innerHTML, 'red');
        this.IS_VALID = false;
    }

    if (!this.IS_VALID)
        window.scrollTo(0, 0);

    return this.IS_VALID;
};

RegisterForm.prototype.txt_email_blur = function() {
    var s = this;
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if (filter.test(this.TXT_EMAIL.value)) {
        this.set_value(this.LBL_EMAIL, '<em>Checking email...</em>', '#ccc');
        var ajaxobject = {};
        ajaxobject.url = this.SERVICE_PATH + '?check_type=email&check_value=' + this.TXT_EMAIL.value;
        ajaxobject.success = function() {
            if (arguments[0].responseText == '0') {
                s.set_value(s.LBL_EMAIL, 'Valid email', '#000');
            }
            else {
                s.set_value(s.LBL_EMAIL, 'This email already exists!', 'red');
            }
        };
        cp.ajax.post(ajaxobject);
    }
    else {
        this.set_value(this.LBL_EMAIL, 'Email *', '#000');
        this.IS_VALID = false;
    }
};

RegisterForm.prototype.txt_username_blur = function() {
    var s = this;
    if (this.TXT_USERNAME.value.length > 3) {
        this.set_value(this.LBL_USERNAME, '<em>Checking username...</em><br />&nbsp;', '#ccc');
        var ajaxobject = {};
        ajaxobject.url = this.SERVICE_PATH + '?check_type=username&check_value=' + this.TXT_USERNAME.value;
        ajaxobject.success = function() {
            if (arguments[0].responseText == '0') {
                s.set_value(s.LBL_USERNAME, s.LBL_USERNAME_DEFAULT, '#000');
            }
            else {
                s.set_value(s.LBL_USERNAME, 'This username already exists! Please choose another.<br />&nbsp;', 'red');
            }
        };
        cp.ajax.post(ajaxobject);
    }
};

RegisterForm.prototype.set_value = function() {
    arguments[0].innerHTML = arguments[1];
    Dom.setStyle(arguments[0], 'color', arguments[2]);
};