<%@ Page Language="JScript" %>
<%@ Register TagPrefix="IBuySpy" TagName="Header" Src="_Header.ascx" %>
<%@ Register TagPrefix="IBuySpy" TagName="Menu" Src="_Menu.ascx" %>

<script runat="server">

    //*******************************************************
    //
    // The RegisterBtn_Click event handler is used on this page to
    // add a new user into the IBuySpy Customers database.
    //
    // The event handler then migrates any items stored in the user's
    // temporary (non-persistent) shopping cart to their
    // permanent customer account, adds a cookie to the client
    // (so that we can personalize the home page's welcome
    // message), and then redirects the browser back to the
    // originating page.
    //
    //*******************************************************

    function RegisterBtn_Click(sender: Object, e: ImageClickEventArgs) : void {

        // Only attempt a login if all form fields on the page are valid
        if (Page.IsValid == true) {

            // Store off old temporary shopping cart ID
            var shoppingCart : IBuySpy.ShoppingCartDB  = new IBuySpy.ShoppingCartDB();
            var tempCartId : String  = shoppingCart.GetShoppingCartId();

            // Add New Customer to CustomerDB database
            var accountSystem : IBuySpy.CustomersDB  = new IBuySpy.CustomersDB();
            var customerId : String  = accountSystem.AddCustomer(Server.HtmlEncode(Name.Text), Email.Text, Password.Text);

            if (customerId != "") {

                // Set the user's authentication name to the customerId
                FormsAuthentication.SetAuthCookie(customerId, false);

                // Migrate any existing shopping cart items into the permanent shopping cart
                shoppingCart.MigrateCart(tempCartId, customerId);

                // Store the user's fullname in a cookie for personalization purposes
                Response.Cookies["IBuySpy_FullName"].Value = Server.HtmlEncode(Name.Text);

                // Redirect browser back to shopping cart page
                Response.Redirect("ShoppingCart.aspx");
            }
            else {
                MyError.Text = "Registration failed:  That email address is already registered.
"; } } } </script> <html> <head> <link rel="stylesheet" type="text/css" href="IBuySpy.css"> </head> <body background="images/sitebkgrd.gif" leftmargin="0" topmargin="0" rightmargin="0" bottommargin="0" marginheight="0" marginwidth="0"> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tr> <td colspan="2"> <IBuySpy:Header ID="Header1" runat="server" /> </td> </tr> <tr> <td valign="top"> <IBuySpy:Menu id="Menu1" runat="server" /> <img height="1" src="images/1x1.gif" width="145"> </td> <td align="left" valign="top" width="100%" nowrap> <table height="100%" align="left" cellspacing="0" cellpadding="0" width="100%" border="0"> <tr valign="top"> <td nowrap> <br> <form runat="server"> <img align="left" width="24" height="1" src="images/1x1.gif"> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tr> <td class="ContentHead"> <img align="left" height="32" width="60" src="images/1x1.gif">Create a New Account <br> </td> </tr> </table> <img align="left" height="1" width="92" src="images/1x1.gif"> <asp:Label id="MyError" CssClass="ErrorText" EnableViewState="false" runat="Server" /> <table height="100%" cellspacing="0" cellpadding="0" width="500" border="0"> <tr valign="top"> <td width="550"> <br> <br> <span class="NormalBold">Full Name</span> <br> <asp:TextBox size="25" id="Name" runat="server" />   <asp:RequiredFieldValidator ControlToValidate="Name" Display="dynamic" Font-Name="verdana" Font-Size="9pt" ErrorMessage="'Name' must not be left blank." runat="server"></asp:RequiredFieldValidator> <br> <br> <span class="NormalBold">Email</span> <br> <asp:TextBox size="25" id="Email" runat="server" />   <asp:RegularExpressionValidator ControlToValidate="Email" ValidationExpression="[\w\.-]+(\+[\w-]*)?@([\w-]+\.)+[\w-]+" Display="Dynamic" Font-Name="verdana" Font-Size="9pt" ErrorMessage="Must use a valid email address." runat="server"></asp:RegularExpressionValidator> <asp:RequiredFieldValidator ControlToValidate="Email" Display="dynamic" Font-Name="verdana" Font-Size="9pt" ErrorMessage="'Email' must not be left blank." runat="server"></asp:RequiredFieldValidator> <br> <br> <span class="NormalBold">Password</span> <br> <asp:TextBox size="25" id="Password" TextMode="Password" runat="server" />   <asp:RequiredFieldValidator ControlToValidate="Password" Display="dynamic" Font-Name="verdana" Font-Size="9pt" ErrorMessage="'Password' must not be left blank." runat="server"></asp:RequiredFieldValidator> <br> <br> <span class="NormalBold">Confirm Password</span> <br> <asp:TextBox size="25" id="ConfirmPassword" TextMode="Password" runat="server" />   <asp:RequiredFieldValidator ControlToValidate="ConfirmPassword" Display="dynamic" Font-Name="verdana" Font-Size="9pt" ErrorMessage="'Confirm' must not be left blank." runat="server"></asp:RequiredFieldValidator> <asp:CompareValidator ControlToValidate="ConfirmPassword" ControlToCompare="Password" Display="Dynamic" Font-Name="verdana" Font-Size="9pt" ErrorMessage="Password fields do not match." runat="server"></asp:CompareValidator> <br> <br> <asp:ImageButton id=RegisterBtn OnClick="RegisterBtn_Click" ImageUrl="images/submit.gif" runat="server" /> <br> </td> </tr> </table> </form> </td> </tr> </table> </td> </tr> </table> </body> </html>