My simple way of doing this (appears to work so far)
In
/main/register_account.tpl
change
Code:
<TR>
<TD align="right">{$lng.lbl_username}</TD>
<TD></TD>
<TD nowrap>
<INPUT type="text" name="uname" size="32" maxlength="32" value="{$userinfo.login}">
</TD>
</TR>
to
Code:
<TR>
<TD align="right">{$lng.lbl_username}</TD>
<TD></TD>
<TD nowrap>
<INPUT type="text" name="uname" size="32" maxlength="32" value="{$userinfo.login}" onchange="javascript: checkEmailAddress(this);">
{if $fillerror ne "" and $userinfo.email eq "" && $default_fields.email.required eq 'Y'}<FONT class="Star"><<</FONT>{/if}
</TD>
</TR>
You should also change the string for $lng.lbl_username to something like 'Email Address'. Easiest to do in webmaster mode I find.
This forces the user (using javascript) to put in an email address as their username.
HTH
xgarb