/*
 * hipic.web.app
 * Copyright(c) 2010, FeiKan.
 * 
 * This code is licensed under BSD license. Use it as you wish, 
 * but keep this copyright intact.
 */


$(function()
{app.controls.register=function()
{var _win;var _$username,_$pwd,_$pwd2,_$region,_$email,_$tel,_$code;var _$agreement,_$submit,_$reset;var _$cImg,_$cChgImg;var _loading;var _db={};var _proxy=DB2();var _eventGrabed;var _username=WORD('ui-reg-[user.name]');var _pwd=WORD('ui-reg-[password]');var _pwd2=WORD('ui-reg-[password2]');var _region=WORD('ui-reg-[region]');var _email=WORD('ui-reg-[email]');var _email_fn=WORD('ui-reg-[email.fn]');var _tel=WORD('ui-reg-[tel]');var _code=WORD('ui-reg-[code]');var _code_refresh=WORD('ui-reg-[code.refresh]');var _ok=WORD('ui-reg-[ok]');var _reset=WORD('ui-reg-[reset]');var _choice=WORD('ui-reg-[region.choice]');var _mainland=WORD('ui-reg-[region.mainland]');var _hongkong=WORD('ui-reg-[region.hongkong]');var _macao=WORD('ui-reg-[region.macao]');var _taiwan=WORD('ui-reg-[region.taiwan]');var _overseas=WORD('ui-reg-[region.overseas]');var _agree=WORD('ui-reg-[agree]');var _agreement=WORD('ui-reg-[agreement]');var _show=function()
{var p=$(['<div style="text-align:center;padding:20px 0;"><div><span>{0}</span><input id="r_user" type="text" /><em>*</em></div>'.toString(_username),'<div><span>{0}</span><input id="r_pwd" type="password" /><em>*</em></div>'.toString(_pwd),'<div><span>{0}</span><input id="r_pwd2" type="password" /><em>*</em></div>'.toString(_pwd2),'<div><span>{0}</span><select id="r_region"></select></div>'.toString(_region),'<div><span>{0}</span><input id="r_email" type="text" /><em>*</em></div>'.toString(_email),'<div><span>&nbsp;</span><label style="color:#333;">{0}</label></div>'.toString(_email_fn),'<div><span>{0}</span><input id="r_tel" type="text" /></div>'.toString(_tel),'<div class="igd"><span>{0}</span><input id="r_code" type="text" class="ig" style="float:left;width:110px;" /><img src="img/EnCode.aspx" style="display:block;float:left;width:110px;height:35px;" /><em>*</em><div id="chgimg">{1}</div></div>'.toString(_code,_code_refresh),'<div class="iagree"><textarea style="width:270px;height:100px;border:solid 1px #888;font-size:11px;overflow:hidden;overflow-y:scroll;"></textarea><input id="r_agree" type="checkbox" class="ig" style="margin:0 5px 0 0;vertical-align:middle;" /><label for="r_agree">{0}</label></div>'.toString(_agree),'<div style="text-align:center;padding-top:10px;"><button disabled="disabled">{0}</button><button>{1}</button></div></div>'.toString(_ok,_reset)].join(''));var bs=p.find('div').css({'display':'block','width':'270px','height':'20px','margin':'0 auto'}).end().find('.iagree').css('height','auto').end().find('.igd').css('height','80px').end().find('span').css({'width':'80px','display':'block','float':'left'}).end().find('input, select').not('.ig').css('width','160px').end().end().find('em').css({'margin-left':'5px','color':'#ff0000'}).end().find('textarea').val(_agreement).end().find('button').css({'margin':'0 5px','padding':'0 5px'});_win=new UI_WIN(OP['ui-window-register-size'][0],OP['ui-window-register-size'][1]);_win.el().append(p);_win.show();_$submit=bs.eq(0).bind('click',_onsubmit);_$reset=bs.eq(1).bind('click',_onreset);var chk=p.find(':checkbox').change(function()
{if($(this).attr('checked'))
{_$submit.removeAttr('disabled').blur();}
else
{_$submit.attr('disabled','disabled').focus();}});_$cImg=p.find('img');_$cChgImg=p.find('#chgimg').bind('click',_changeCode).css({'display':'block','width':'190px','float':'left','margin':'5px 0 0 80px','cursor':'pointer'});_$username=p.find('#r_user');_$pwd=p.find('#r_pwd');_$pwd2=p.find('#r_pwd2');_$region=p.find('#r_region');_$email=p.find('#r_email');_$tel=p.find('#r_tel');_$code=p.find('#r_code');$([_choice,_mainland,_hongkong,_macao,_taiwan,_overseas]).each(function()
{_$region.append('<option value="{0}">{1}</option>'.toString(this,this));});_$username.focus();if(!_eventGrabed)
{_eventGrabed=true;_$username.bind('keypress',_onKey);_$pwd.bind('keypress',_onKey);_$pwd2.bind('keypress',_onKey);_$region.bind('keypress',_onKey);_$email.bind('keypress',_onKey);_$tel.bind('keypress',_onKey);_$code.bind('keypress',_onKey);}};var _onKey=function(e)
{if(e.keyCode==app['keyCode']['ENTER'])
{_$submit.click();}};var _changeCode=function()
{_$cImg.attr('src','img/EnCode.aspx?{0}'.toString(GUID()));};var _destroy=function()
{_$submit.unbind('click');_$reset.unbind('click');_$cChgImg.unbind('click');_eventGrabed=false;_$username.unbind('keypress');_$pwd.unbind('keypress');_$pwd2.unbind('keypress');_$region.unbind('keypress');_$email.unbind('keypress');_$tel.unbind('keypress');_$code.unbind('keypress');_win.close();};var _ondata=function(data)
{if(_loading)
{_loading.hide();_loading=null;}
_$submit.removeAttr('disabled');_$reset.removeAttr('disabled');if(data)
{switch(data)
{case 1:NAVI.update();_destroy();break;case 4:alert(WORD('ui-reg-[err.code2]'));_changeCode();break;}}};var _onsubmit=function()
{if(_verify())
{_loading=new UI_LOADING(_win.getFoot());_loading.show();_$submit.attr('disabled','disabled');_$reset.attr('disabled','disabled');_proxy.reset().bind(ENUM.ASNY.COMPLETE,_ondata).run({'cmd':'register','username':_db.name,'password':_db.pwd,'region':_db.region,'email':_db.email,'tel':_db.tel,'code':_db.code});}};var _onreset=function()
{_$username.val('');_$pwd.val('');_$pwd2.val('');_$region.children(':selected').removeAttr('selected');_$email.val('');_$tel.val('');_$code.val('');};var _verify=function()
{_db.name=_$username.val().trim();_db.pwd=_$pwd.val().trim();_db.pwd2=_$pwd2.val().trim();_db.region=_$region.val().trim();_db.email=_$email.val().trim();_db.tel=_$tel.val().trim();_db.code=_$code.val().trim();if(!OP['verify-test-letter-number'].test(_db.name)||_db.name.length<2||_db.name.length>16)
{alert(WORD('ui-reg-[err.username]'));return;}
if(!OP['verify-test-letter-number'].test(_db.pwd)||_db.pwd.length<6||_db.pwd.length>16)
{alert(WORD('ui-reg-[err.password]'));return;}
if(_db.pwd!=_db.pwd2)
{alert(WORD('ui-reg-[err.password2]'));return;}
if(_db.region==_$region.children('option:eq(0)').text())
{alert(WORD('ui-reg-[err.region]'));return;}
if(!_db.code)
{alert(WORD('ui-reg-[err.code]'));return;}
return true;};_show();}
$.extend(window,{'REG':app.controls.register});});
