home *** CD-ROM | disk | FTP | other *** search
/ PC World 2007 June / PCWorld_2007-06_cd.bin / komunikace / xfire / xfire_installer_26107.exe / $0 / templates / registration.tmpl < prev    next >
Text File  |  2007-04-30  |  25KB  |  718 lines

  1. <html>
  2.     <head>
  3.         <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  4.         <style>
  5.             body
  6.             {
  7.                 margin:0px;
  8.                 background-color:ThreeDFace;
  9.                 color:WindowText;
  10.                 font: 8pt MS Shell Dlg;
  11.             }
  12.             td
  13.             {
  14.                 font: 8pt MS Shell Dlg;
  15.             }
  16.             tr
  17.             {
  18.                 padding-left:2em;
  19.             }
  20.             .second_col
  21.             {
  22.                 padding-left:0.6em;
  23.             }
  24.             .fakelink
  25.             {
  26.                 color: rgb(0, 55, 118);
  27.                 text-decoration: underline;
  28.                 cursor: pointer;
  29.             }
  30.             .advice_text
  31.             {
  32.                 margin-top: -21px;
  33.                 padding-left: 3px;
  34.                 padding-top: 6px;
  35.                 padding-bottom: 6px;
  36.             }
  37.             .short_text
  38.             {
  39.                 line-height: 21px;
  40.                 vertical-align: middle;
  41.             }
  42.             #registering, #animation, #registering_background
  43.             {
  44.                 position: absolute;
  45.                 top:60px;
  46.                 left:0px;
  47.                 background-color:ThreeDFace;
  48.                 color:WindowText;
  49.                 text-align:center;
  50.                 vertical-align:middle;
  51.                 font-size: 24pt;
  52.             }
  53.         </style>
  54.         <script>
  55. %include infoview/scripts/AjaxRequest.js%
  56.             // Advice list
  57.             var advice = 
  58.             {
  59.                 username:'%text_reg_advice_username%',
  60.                 email:'%text_reg_advice_email%',
  61.                 first_name:'%text_reg_advice_name%',
  62.                 last_name:'%text_reg_advice_name%',
  63.                 password:'%text_reg_advice_pwd%',
  64.                 password2:'%text_reg_advice_pwd%',
  65.                 captcha:"%text_reg_advice_bot%",
  66.                 month:"%text_reg_advice_birthdate%",
  67.                 day:"%text_reg_advice_birthdate%",
  68.                 year:"%text_reg_advice_birthdate%"
  69.             };
  70.  
  71.             var username_problems = [ "",
  72.                           "%text_reg_username_available%",
  73.                           "%text_reg_enter_username%",
  74.                           "%text_reg_allowed_chars%",
  75.                           "%text_reg_char_limits%",
  76.                           "%text_reg_username_taken%",
  77.                           "%text_reg_username_taken%"
  78.                         ];
  79.             
  80.             var password_problems = [ "%text_registration_passwords_match%",
  81.                           "%text_registration_password_short%"
  82.                         ];
  83.             var birthday_problems = [ "%text_registration_invalid_date%",
  84.                           "%text_registration_not_13%"
  85.                         ];
  86.  
  87.             var inputs = [ "first_name",
  88.                        "last_name",
  89.                        "email",
  90.                        "username",
  91.                        "male",
  92.                        "female",
  93.                        "password",
  94.                        "password2",
  95.                        "captcha",
  96.                        "newsletter",
  97.                        "partner_auth",
  98.                        "month",
  99.                        "day",
  100.                        "year"
  101.                      ];
  102.  
  103.             var normal   = [ 'WindowText', '<img src="%media_template_folder%tip.gif" width="12" height="21" style="position:relative; top:6px; left:-12px;">' ];
  104.             var negative = [ '#8F0000', '<img src="%media_template_folder%tip_neg.gif" width="12" height="21" style="position:relative; top:6px; left:-12px;">' ];
  105.             var positive = [ '#006B33', '<img src="%media_template_folder%tip_pos.gif" width="12" height="21" style="position:relative; top:6px; left:-12px;">' ];
  106.  
  107.             var tips = new Object();
  108.             var advice_ballon = null;
  109.             var last_advice_obj = null;
  110.  
  111.             function ShowAdvice(obj)
  112.             {
  113.                 if (advice_balloon)
  114.                 {
  115.                     if (tips[obj.id])
  116.                     {
  117.                         var tip = tips[obj.id];
  118.                         var style = tip[0];
  119.                         var color = style[0];
  120.                         var arrow = style[1];
  121.                         var text = tip[1];
  122.  
  123.                         var html_str = arrow + "<div class='advice_text'>";
  124.  
  125.                         if (text.length < 42)
  126.                             html_str += "<span class='short_text'>" + text + "</span>";
  127.                         else
  128.                             html_str += text;
  129.  
  130.                         html_str += "</div>";
  131.  
  132.                         advice_balloon.innerHTML = html_str;
  133.                         advice_balloon.style.top=(GetAbsoluteTop(obj) - 6) + "px";
  134.                         advice_balloon.style.borderColor = color;
  135.                         advice_balloon.style.display = "";
  136.                         last_advice_obj = obj;
  137.                     }
  138.                     else
  139.                     {
  140.                         advice_balloon.style.display = "none";
  141.                         last_advice_obj = null;
  142.                     }
  143.                     Resink();
  144.                 }
  145.             }
  146.  
  147.             function CheckUsername(obj)
  148.             {
  149.                 if (!obj)
  150.                 {
  151.                     obj = document.getElementById("username");
  152.                 }
  153.                 AjaxRequest.get(
  154.                     {
  155.                         'url':'%scripting_host%/testuser/' + obj.value + '/',
  156.                         'onSuccess':
  157.                             function (req)
  158.                             {
  159.                                 SetUsernameError(req.responseText, 1);
  160.                             }
  161.                     });
  162.             }
  163.             
  164.             var first_error = null;
  165.             function ClearErrors()
  166.             {
  167.                 for (var elem in advice)
  168.                 {
  169.                     tips[elem] = [normal, advice[elem]];
  170.                     var td = document.getElementById(elem + '_label');
  171.                     if (td)
  172.                     {
  173.                         td.style.color = normal[0];
  174.                     }
  175.                 }
  176.                 advice_balloon.style.display = "none";
  177.                 first_error = null;
  178.             }
  179.  
  180.             function InterruptSubmit(obj)
  181.             {
  182.                 var evnt = document.createEventObject();
  183.                 obj.fireEvent("ondataavailable", evnt);
  184.             }
  185.  
  186.             function DoSubmit()
  187.             {
  188.                 for (var i = 0; i < inputs.length; i++)
  189.                 {
  190.                     var input = document.getElementById(inputs[i]);
  191.                     if (input)
  192.                     {
  193.                         input.blur();
  194.                     }
  195.                 }
  196.                 ClearErrors();
  197.  
  198.                 var registering_background = document.getElementById("registering_background");
  199.                 var registering = document.getElementById("registering");
  200.                 var animation = document.getElementById("animation");
  201.                 if (registering_background && registering && animation)
  202.                 {
  203.                     registering_background.style.display = "";
  204.                     registering.style.display = "";
  205.                     animation.style.display = "";
  206.                     registering.style.top = (document.body.offsetHeight - registering.offsetHeight - 60)/2 + "px";
  207.                     registering.style.left = ((document.body.offsetWidth - registering.offsetWidth - 56)/2 + 56) + "px";
  208.                     animation.style.top = (document.body.offsetHeight - 110)/2 + "px";
  209.                     animation.style.left = (document.body.offsetWidth - registering.offsetWidth - 56)/2 + "px";
  210.                     registering_background.style.height = (document.body.offsetHeight - 60) + "px";
  211.                     registering_background.style.zIndex = 1;
  212.                     registering.style.zIndex = 2;
  213.                     animation.style.zIndex = 2;
  214.                     // IE 6 has some issues with select's
  215.                     var month = document.getElementById('month');
  216.                     var day = document.getElementById('day');
  217.                     var year = document.getElementById('year');
  218.                     if (month && day && year)
  219.                     {
  220.                         month.style.display = 'none';
  221.                         day.style.display = 'none';
  222.                         year.style.display = 'none';
  223.                     }
  224.                 }
  225.                 Resink();
  226.  
  227.                 var f = document.getElementById("f");
  228.                 f.onSubmit = "return true;";
  229.                 AjaxRequest.submit(f,
  230.                                    {timeout:45000,
  231.                             onSuccess:SubmissionDone,
  232.                             onError:SubmissionError,
  233.                             onTimeout:SubmissionTimeout}
  234.                           );
  235.                 f.onSubmit = "InterruptSubmit(this); return false;";
  236.             }
  237.  
  238.             function GetUsername()
  239.             {
  240.                 var username = document.getElementById("username");
  241.                 if (username)
  242.                     return username.value;
  243.                 return "";
  244.             }
  245.  
  246.             function GetPassword()
  247.             {
  248.                 var password = document.getElementById("password");
  249.                 if (password)
  250.                     return password.value;
  251.                 return "";
  252.             }
  253.  
  254.             function ClearUsername()
  255.             {
  256.                 if(last_advice_obj)
  257.                     ShowAdvice(last_advice_obj);
  258.                 else
  259.                     ShowAdvice(document);
  260.             }
  261.  
  262.             function SetUsernameError(code, force)
  263.             {
  264.                 var td = document.getElementById('username_label');
  265.                 if (code == 1)
  266.                 {
  267.                     tips['username'] = [ positive, username_problems[code] ];
  268.                     if (td)
  269.                     {
  270.                         td.style.color = normal[0];
  271.                     }
  272.                 }
  273.                 else
  274.                 {
  275.                     tips['username'] = [ negative, username_problems[code] ];
  276.                     if (td)
  277.                     {
  278.                         td.style.color = negative[0];
  279.                     }
  280.                 }
  281.                 if (force)
  282.                 {
  283.                     var inp = document.getElementById('username');
  284.                     if (inp)
  285.                     {
  286.                         var saved = last_advice_obj;
  287.                         ShowAdvice(inp);
  288.                         last_advice_obj = saved;
  289.                         setTimeout("ClearUsername()", 3500);
  290.                     }
  291.                 }
  292.                 else
  293.                 {
  294.                     if (!first_error)
  295.                         first_error = 'username';
  296.                 }
  297.             }
  298.  
  299.             function SetEmailError(code)
  300.             {
  301.                 tips['email'] = [ negative, '%text_registration_email_invalid%' ];
  302.                 if (!first_error)
  303.                     first_error = 'email';
  304.                 var td = document.getElementById('email_label');
  305.                 if (td)
  306.                 {
  307.                     td.style.color = negative[0];
  308.                 }
  309.             }
  310.  
  311.             function SetPasswordError(code)
  312.             {
  313.                 tips['password'] = [ negative, password_problems[code] ];
  314.                 tips['password2'] = [ negative, password_problems[code] ];
  315.                 if (!first_error)
  316.                     first_error = 'password';
  317.                 var td = document.getElementById('password_label');
  318.                 if (td)
  319.                 {
  320.                     td.style.color = negative[0];
  321.                 }
  322.                 var td = document.getElementById('password2_label');
  323.                 if (td)
  324.                 {
  325.                     td.style.color = negative[0];
  326.                 }
  327.             }
  328.  
  329.             function SetCaptchaError(code)
  330.             {
  331.                 tips['captcha'] = [ negative, '%text_registration_captcha_mismatch%' ];
  332.                 if (!first_error)
  333.                     first_error = 'captcha';
  334.                 var td = document.getElementById('captcha_label');
  335.                 if (td)
  336.                 {
  337.                     td.style.color = negative[0];
  338.                 }
  339.             }
  340.  
  341.             function SetBirthdayError(code)
  342.             {
  343.                 tips['month'] = [ negative, birthday_problems[code] ];
  344.                 tips['day'] = [ negative, birthday_problems[code] ];
  345.                 tips['year'] = [ negative, birthday_problems[code] ];
  346.                 if (!first_error)
  347.                     first_error = 'month';
  348.                 var td = document.getElementById('month_label');
  349.                 if (td)
  350.                 {
  351.                     td.style.color = negative[0];
  352.                 }
  353.             }
  354.  
  355.             function SetGeneralError(code)
  356.             {
  357.                 tips['first_name'] = [ negative, '%text_registration_general_error%' ];
  358.                 if (!first_error)
  359.                     first_error = 'first_name';
  360.             }
  361.  
  362.             function ShowErrors()
  363.             {
  364.                 if (first_error)
  365.                 {
  366.                     var obj = document.getElementById(first_error);
  367.                     if (obj)
  368.                     {
  369.                         obj.focus();
  370.                     }
  371.                 }
  372.             }
  373.  
  374.             function SubmissionDone(req)
  375.             {
  376.                 FinishSubmit(req.responseText);
  377.             }
  378.  
  379.             function FinishSubmit(response_text)
  380.             {
  381.                 evnt = document.createEventObject();
  382.                 var registering_background = document.getElementById("registering_background");
  383.                 var registering = document.getElementById("registering");
  384.                 var animation = document.getElementById("animation");
  385.                 if (registering_background && registering && animation)
  386.                 {
  387.                     registering_background.style.display = "none";
  388.                     registering.style.display = "none";
  389.                     animation.style.display = "none";
  390.                     // IE 6 has some issues with select's
  391.                     var month = document.getElementById('month');
  392.                     var day = document.getElementById('day');
  393.                     var year = document.getElementById('year');
  394.                     if (month && day && year)
  395.                     {
  396.                         month.style.display = '';
  397.                         day.style.display = '';
  398.                         year.style.display = '';
  399.                     }
  400.                 }
  401.                 Resink();
  402.                 var reg_complete = document.getElementById('reg_complete');
  403.                 reg_complete.setAttribute("response", response_text);
  404.                 if (reg_complete)
  405.                 {
  406.                     reg_complete.fireEvent("ondataavailable", evnt);
  407.                 }
  408.             }
  409.  
  410.             function SubmissionError(req)
  411.             {
  412.                 FinishSubmit("general error\n-1\n");
  413.             }
  414.  
  415.             function SubmissionTimeout(req)
  416.             {
  417.                 FinishSubmit("timeout error\n-1\n");
  418.             }
  419.  
  420.             function Resink()
  421.             {
  422.                 var header = document.getElementById("header");
  423.                 if (header)
  424.                 {
  425.                     var evnt = document.createEventObject();
  426.                     header.fireEvent("ondataavailable", evnt);
  427.                 }
  428.             }
  429.  
  430.             function SetCaptcha(val)
  431.             {
  432.                 var hidden_captcha = document.getElementById('hidden_captcha');
  433.                 var captcha = document.getElementById('captcha');
  434.                 var img_captcha = document.getElementById('img_captcha');
  435.                 if (hidden_captcha && captcha && img_captcha)
  436.                 {
  437.                     hidden_captcha.value = val;
  438.                     captcha.value = "";
  439.                     img_captcha.src = "%scripting_host%/register/image/?number=" + val;
  440.                     Resink();
  441.                 }
  442.             }
  443.  
  444.             function GetAbsoluteLeft(obj)
  445.             {
  446.                 if (obj == null)
  447.                     return 0;
  448.                 return GetAbsoluteLeft(obj.offsetParent) + obj.offsetLeft;
  449.             }
  450.  
  451.             function GetAbsoluteTop(obj)
  452.             {
  453.                 if (obj == null)
  454.                     return 0;
  455.                 return GetAbsoluteTop(obj.offsetParent) + obj.offsetTop;
  456.             }
  457.  
  458.             function CalculateAdviceWidth(left)
  459.             {
  460.                 return document.body.offsetWidth - left - 8;
  461.             }
  462.  
  463.             function CalculateGlobalLeft(obj)
  464.             {
  465.                 return GetAbsoluteLeft(obj) + obj.offsetWidth + 12;
  466.             }
  467.  
  468.             function init()
  469.             {
  470.                 d=new Date();
  471.                 document.getElementById('time_zone_offset').value=d.getTimezoneOffset();
  472.                 var registering = document.getElementById("registering");
  473.                 var registering_background = document.getElementById("registering_background");
  474.                 var animation = document.getElementById("animation");
  475.                 if (registering_background && registering && animation)
  476.                 {
  477.                     registering_background.style.display = "none";
  478.                     registering.style.display = "none";
  479.                     animation.style.display = "none";
  480.                 }
  481.  
  482.                 advice_balloon = document.getElementById('advice');
  483.                 ClearErrors();
  484.  
  485.                 var first_name = document.getElementById('first_name');
  486.                 if (first_name)
  487.                 {
  488.                     var left = CalculateGlobalLeft(first_name);
  489.                     var width = CalculateAdviceWidth(left);
  490.                     advice_balloon.style.left = left + "px";
  491.                     advice_balloon.style.width = width + "px";
  492.                     first_name.focus();
  493.                 }
  494.             }
  495.         </script>
  496.     </head>
  497.     <body onload="init();">
  498.         <div id="header" style="height: 60px; background-color: #FFFFFF; color: #000000; vertical-align: middle; line-height: 16px;"><img src="%media_template_folder%header_image.png" width="150" height="57" style="float: left"/><span id='reg_complete' style="float: left; padding-top: 10px; padding-left: 25px;"><b>%text_new_user_registration_title%</b><br/>%text_registration_instructions%</span></div>
  499.         <table border="0" cellpadding="0" cellspacing="2">
  500.         <form id="f" action="%https_scripting_host%/register/process/" method="post" onsubmit="InterruptSubmit(this); return false;">
  501.             <tr style="line-height: 2em; vertical-align: middle; height: 2em;">
  502.                 <td align="right">%text_registration_already_member%</td>
  503.                 <td class="second_col"><span class="fakelink" action="close">%text_login%</span></td>
  504.             </tr>
  505.             <tr>
  506.                 <td id="first_name_label" align="right">%text_first_name%:</td>
  507.                 <td class="second_col"><input value="" type="text" name="p_register_firstname" maxlength="60" id="first_name" onfocus="ShowAdvice(this); return true;" size="30"></td>
  508.             </tr>
  509.             <tr>
  510.                 <td align="right">%text_last_name%:</td>
  511.                 <td class="second_col"><input value="" type="text" name="p_register_lastname" maxlength="60" id="last_name" onfocus="ShowAdvice(this); return true;" size="30"></td>
  512.             </tr>
  513.             <tr>
  514.                 <td id="email_label" align="right">%text_email_address%:</td>
  515.                 <td class="second_col"><input value="" type="text" name="p_register_user_email" maxlength="255" id="email" onfocus="ShowAdvice(this); return true;" size="30"></td>
  516.             </tr>
  517.             <tr>
  518.                 <td align="right">%text_gender%:</td>
  519.                 <td class="second_col"><input type="radio" name="p_register_user_gender" value="m" id="male" checked="checked" onfocus="ShowAdvice(this); return true;"> <label for="male">%text_male%</label>  <input type="radio" name="p_register_user_gender" value="f" id="female" onfocus="ShowAdvice(this); return true;"> <label for="female">%text_female%</label></td>
  520.             </tr>
  521.             <tr>
  522.                 <td id="month_label" align="right">%text_date_of_birth%:</td>
  523.                 <td class="second_col">
  524.                             <select name="p_register_birth_month" id="month" onfocus="ShowAdvice(this); return true;">
  525.                                 <option value="1">%text_january%</option>
  526.                                 <option value="2">%text_february%</option>
  527.                                 <option value="3">%text_march%</option>
  528.                                 <option value="4">%text_april%</option>
  529.                                 <option value="5">%text_may%</option>
  530.                                 <option value="6">%text_june%</option>
  531.                                 <option value="7">%text_july%</option>
  532.                                 <option value="8">%text_august%</option>
  533.                                 <option value="9">%text_september%</option>
  534.                                 <option value="10">%text_october%</option>
  535.                                 <option value="11">%text_november%</option>
  536.                                 <option value="12">%text_december%</option>
  537.                             </select>
  538.                              
  539.                             <select name="p_register_birth_day" id="day" onfocus="ShowAdvice(this); return true;">
  540.                                 <option value="1">1</option>
  541.                                 <option value="2">2</option>
  542.                                 <option value="3">3</option>
  543.                                 <option value="4">4</option>
  544.                                 <option value="5">5</option>
  545.                                 <option value="6">6</option>
  546.                                 <option value="7">7</option>
  547.                                 <option value="8">8</option>
  548.                                 <option value="9">9</option>
  549.                                 <option value="10">10</option>
  550.                                 <option value="11">11</option>
  551.                                 <option value="12">12</option>
  552.                                 <option value="13">13</option>
  553.                                 <option value="14">14</option>
  554.                                 <option value="15">15</option>
  555.                                 <option value="16">16</option>
  556.                                 <option value="17">17</option>
  557.                                 <option value="18">18</option>
  558.                                 <option value="19">19</option>
  559.                                 <option value="20">20</option>
  560.                                 <option value="21">21</option>
  561.                                 <option value="22">22</option>
  562.                                 <option value="23">23</option>
  563.                                 <option value="24">24</option>
  564.                                 <option value="25">25</option>
  565.                                 <option value="26">26</option>
  566.                                 <option value="27">27</option>
  567.                                 <option value="28">28</option>
  568.                                 <option value="29">29</option>
  569.                                 <option value="30">30</option>
  570.                                 <option value="31">31</option>
  571.                             </select>
  572.                              
  573.                             <select name="p_register_birth_year" id="year" onfocus="ShowAdvice(this); return true;">
  574.                                 <option value="2007">2007</option>
  575.                                 <option value="2006">2006</option>
  576.                                 <option value="2005">2005</option>
  577.                                 <option value="2004">2004</option>
  578.                                 <option value="2003">2003</option>
  579.                                 <option value="2002">2002</option>
  580.                                 <option value="2001">2001</option>
  581.                                 <option value="2000">2000</option>
  582.                                 <option value="1999">1999</option>
  583.                                 <option value="1998">1998</option>
  584.                                 <option value="1997">1997</option>
  585.                                 <option value="1996">1996</option>
  586.                                 <option value="1995">1995</option>
  587.                                 <option value="1994">1994</option>
  588.                                 <option value="1993">1993</option>
  589.                                 <option value="1992">1992</option>
  590.                                 <option value="1991">1991</option>
  591.                                 <option value="1990">1990</option>
  592.                                 <option value="1989">1989</option>
  593.                                 <option value="1988">1988</option>
  594.                                 <option value="1987">1987</option>
  595.                                 <option value="1986">1986</option>
  596.                                 <option value="1985">1985</option>
  597.                                 <option value="1984">1984</option>
  598.                                 <option value="1983">1983</option>
  599.                                 <option value="1982">1982</option>
  600.                                 <option value="1981">1981</option>
  601.                                 <option value="1980">1980</option>
  602.                                 <option value="1979">1979</option>
  603.                                 <option value="1978">1978</option>
  604.                                 <option value="1977">1977</option>
  605.                                 <option value="1976">1976</option>
  606.                                 <option value="1975">1975</option>
  607.                                 <option value="1974">1974</option>
  608.                                 <option value="1973">1973</option>
  609.                                 <option value="1972">1972</option>
  610.                                 <option value="1971">1971</option>
  611.                                 <option value="1970">1970</option>
  612.                                 <option value="1969">1969</option>
  613.                                 <option value="1968">1968</option>
  614.                                 <option value="1967">1967</option>
  615.                                 <option value="1966">1966</option>
  616.                                 <option value="1965">1965</option>
  617.                                 <option value="1964">1964</option>
  618.                                 <option value="1963">1963</option>
  619.                                 <option value="1962">1962</option>
  620.                                 <option value="1961">1961</option>
  621.                                 <option value="1960">1960</option>
  622.                                 <option value="1959">1959</option>
  623.                                 <option value="1958">1958</option>
  624.                                 <option value="1957">1957</option>
  625.                                 <option value="1956">1956</option>
  626.                                 <option value="1955">1955</option>
  627.                                 <option value="1954">1954</option>
  628.                                 <option value="1953">1953</option>
  629.                                 <option value="1952">1952</option>
  630.                                 <option value="1951">1951</option>
  631.                                 <option value="1950">1950</option>
  632.                                 <option value="1949">1949</option>
  633.                                 <option value="1948">1948</option>
  634.                                 <option value="1947">1947</option>
  635.                                 <option value="1946">1946</option>
  636.                                 <option value="1945">1945</option>
  637.                                 <option value="1944">1944</option>
  638.                                 <option value="1943">1943</option>
  639.                                 <option value="1942">1942</option>
  640.                                 <option value="1941">1941</option>
  641.                                 <option value="1940">1940</option>
  642.                                 <option value="1939">1939</option>
  643.                                 <option value="1938">1938</option>
  644.                                 <option value="1937">1937</option>
  645.                                 <option value="1936">1936</option>
  646.                                 <option value="1935">1935</option>
  647.                                 <option value="1934">1934</option>
  648.                                 <option value="1933">1933</option>
  649.                                 <option value="1932">1932</option>
  650.                                 <option value="1931">1931</option>
  651.                                 <option value="1930">1930</option>
  652.                                 <option value="1929">1929</option>
  653.                                 <option value="1928">1928</option>
  654.                                 <option value="1927">1927</option>
  655.                                 <option value="1926">1926</option>
  656.                                 <option value="1925">1925</option>
  657.                                 <option value="1924">1924</option>
  658.                                 <option value="1923">1923</option>
  659.                                 <option value="1922">1922</option>
  660.                                 <option value="1921">1921</option>
  661.                                 <option value="1920">1920</option>
  662.                                 <option value="1919">1919</option>
  663.                                 <option value="1918">1918</option>
  664.                                 <option value="1917">1917</option>
  665.                                 <option value="1916">1916</option>
  666.                                 <option value="1915">1915</option>
  667.                                 <option value="1914">1914</option>
  668.                                 <option value="1913">1913</option>
  669.                                 <option value="1912">1912</option>
  670.                                 <option value="1911">1911</option>
  671.                                 <option value="1910">1910</option>
  672.                                 <option value="1909">1909</option>
  673.                                 <option value="1908">1908</option>
  674.                                 <option value="1907">1907</option>
  675.                                 <option value="1906">1906</option>
  676.                                 <option value="1905">1905</option>
  677.                                 <option value="1904">1904</option>
  678.                                 <option value="1903">1903</option>
  679.                                 <option value="1902">1902</option>
  680.                                 <option value="1901">1901</option>
  681.                                 <option value="1900">1900</option>
  682.                             </select>
  683.                 </td>
  684.             </tr>
  685.             <tr>
  686.                 <td id="username_label" align="right">%text_username%:</td>
  687.                 <td class="second_col"><input value="" type="text" name="p_register_username" maxlength="25" id="username" onfocus="ShowAdvice(this); return true;" onblur="CheckUsername(this); return true;" size="30"></td>
  688.             </tr>
  689.             <tr>
  690.                 <td id="password_label" align="right">%text_create_password%:</td>
  691.                 <td class="second_col"><input value="" type="password" name="p_register_password" maxlength="20" id="password" onfocus="ShowAdvice(this); return true;" size="30"></td>
  692.             </tr>
  693.             <tr>
  694.                 <td id="password2_label" align="right">%text_verify_password%:</td>
  695.                 <td class="second_col"><input value="" type="password" name="p_register_password2" maxlength="20" id="password2" onfocus="ShowAdvice(this); return true;" size="30"></td>
  696.             </tr>
  697.             <tr>
  698.                 <td id="captcha_label" align="right">%text_enter_code%:</td>
  699.                 <td class="second_col"><input id="hidden_captcha" type="hidden" name="p_register_number" value="000000"><input type="text" size="16" name="p_register_security_code" maxlength="6" id="captcha" onfocus="ShowAdvice(this); return true;"><img id="img_captcha" src="%scripting_host%/register/image/?number=000000" style="border: 1px solid #000000; position: relative; top: 3px; left: 6px;"></td>
  700.             </tr>
  701.             <tr>
  702.                 <td align="right"> </td>
  703.                 <td class="second_col"><input type="checkbox" name="p_register_xfire_spam" value="1" id="newsletter" style="margin-left:-5px;" onfocus="ShowAdvice(this); return true;"><label for="newsletter">%text_reg_xfire_subscribe%</label></td>
  704.             </tr>
  705.             <tr>
  706.                 <td align="right"> </td>
  707.                 <td class="second_col"><input type="checkbox" name="p_register_partner_spam" value="1" id="partner_auth" style="margin-left:-5px;" onfocus="ShowAdvice(this); return true;"><label for="partner_auth">%text_reg_partner_subscribe%</label></td>
  708.             </tr>
  709.         <input type="hidden" name="p_register_partner" value="%partner%"><input type="hidden" name="from_client" value="1"><input type="hidden" name="time_zone_offset" id="time_zone_offset" value="0">
  710.         </form>
  711.         </table>
  712.         <div id="advice" style="position:absolute; top:91px; left:348px; width=189px; line-height: 12px; background: #FFFFFF; border: 1px solid #000000;"><img src="%media_template_folder%tip.gif" width="12" height="21" style="position:relative; top:6px; left:-12px;"><div class="advice_text">%text_reg_advice_name%</div></div>
  713.         <span id="registering" style="display:none">%text_registering%</span>
  714.         <img src="%media_template_folder%busy.gif" width="50" height="50" id="animation" style="display:none">
  715.         <div id="registering_background" style="width:100%; display:none;"></div>
  716.     </body>
  717. </html>
  718.