﻿
SSF.Register = function() {

    /* Private */

    /* Properties */

    var cmp = {};





    /* Methods */

    var init = function() {

        $('#showLogin').click(function() {
            $('#loginPanel').show();
            $('#registerPanel').hide();
        });
        
        $('#showRegister').click(function() {
            $('#registerPanel').show();
            $('#loginPanel').hide();
        });
        
        initRegisterForm();
        initLoginForm();
    };

    var initRegisterForm = function(){
        
        cmp.registerForm = new TVI.Form({
        
            ID: 'registerForm',
            errorsEl: '.status',
            handler: register
        
        });      
    
    };
    
    var initLoginForm = function() {
    
        cmp.loginForm2 = new TVI.Form({
        
            ID: 'loginForm2',
            errorsEl: '.status',
            handler: login2
        });
    
    };
    
    var login2 = function() {
    
        cmp.loginForm2.submit({

                url: '/handlers/SSF.aspx/login',

                success: function(d) {
                
                    if (TVI.Request.QueryString['returnurl'] != undefined) {
                        window.location = Base64.decode(TVI.Request.QueryString['returnurl']);
                    }
                    else {
                        window.location = '/AccountEdit.aspx';
                    }
                    
                },
                failure: function(d) {

                    cmp.loginForm2.error('Unable to login');
                }

            });
    
    }
    
    var register = function() {
        
        cmp.registerForm.validate({

            success: function(d) {
                cmp.registerForm.submit({
           
                    query: 'register',
                    
                    success: function(d) {
                        if (d.rows[0].Column1 != 'Exists') {
                        
                            TVI.ajax({
            
                                url: '/handlers/SSF.aspx/login',
                                data: {
                                    'email' : cmp.registerForm.field('email').val(),
                                    'password' : cmp.registerForm.field('password').val()
                                },
                                success: function(d){
                                   if (TVI.Request.QueryString['returnurl'] != undefined) {
                                        window.location = Base64.decode(TVI.Request.QueryString['returnurl']);
                                    }
                                    else {
                                        window.location = '/AccountEdit.aspx';
                                    }
                                }
                            });
                        }
                        else {
                            cmp.registerForm.error('A customer with this email address already exists');
                        }
                    }
           
                });
            },
            failure: function(d) {
                cmp.registerForm.error(d.errors);
            }
            
        });
    
    }


    TVI.ready(init);


    return cmp;


} ();

