<%@ 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>