/*
 * 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.signin=function()
{var _win;var _$username,_$pwd,_$expires;var _$login,_$reg;var _loading;var _proxy=DB2();var _eventGrabed;var _username=WORD('ui-login-[user.name]');var _pwd=WORD('ui-login-[password]');var _remme=WORD('ui-login-[remember.me]');var _no=WORD('ui-login-[no]');var _day=WORD('ui-login-[1.day]');var _week=WORD('ui-login-[1.week]');var _month=WORD('ui-login-[1.month]');var _year=WORD('ui-login-[1.year]');var _ok=WORD('ui-login-[ok]');var _reg=WORD('ui-login-[reg]');var _show=function()
{var p=$(['<div style="text-align:center;padding:20px 0;"><div><span>{0}</span><input type="text" /><em>*</em></div>'.toString(_username),'<div><span>{0}</span><input type="password" /><em>*</em></div>'.toString(_pwd),'<div style="padding-top:20px;"><span>{0}</span><select><option val="0">{1}</option><option val="1">{2}</option><option val="7">{3}</option><option val="31">{4}</option><option val="365">{5}</option></select></div>'.toString(_remme,_no,_day,_week,_month,_year),'<div style="text-align:center;padding-top:20px;"><button>{0}</button><button>{1}</button></div></div>'.toString(_ok,_reg)].join(''));var bs=p.find('div').css({'display':'block','width':'270px','height':'24px','margin':'0 auto'}).end().find('span').css({'width':'90px','display':'block','float':'left'}).end().find('input').css('width','160px').end().find('em').css({'margin-left':'5px','color':'#ff0000'}).hide().end().find('button').css({'margin':'0 5px','padding':'0 5px'});_win=new UI_WIN(OP['ui-window-login-size'][0],OP['ui-window-login-size'][1]);_win.el().append(p);_win.show();_$login=bs.eq(0).bind('click',_onsignin);_$reg=bs.eq(1).bind('click',_onregister);_$username=p.find(':text');_$pwd=p.find(':password');_$expires=p.find('select');_$username.focus();if(!_eventGrabed)
{_eventGrabed=true;_$username.bind('keypress',_onKey);_$pwd.bind('keypress',_onKey);_$expires.bind('keypress',_onKey);}};var _onKey=function(e)
{if(e.keyCode==app['keyCode']['ENTER'])
{_$login.click();}};var _destroy=function()
{_$login.unbind('click');_$reg.unbind('click');_eventGrabed=false;_$username.unbind('keypress');_$pwd.unbind('keypress');_$expires.unbind('keypress');_win.close();};var _ondata=function(data)
{if(_loading)
{_loading.hide();_loading=null;}
_$reg.removeAttr('disabled');_$login.removeAttr('disabled');if(data)
{switch(data)
{case 1:NAVI.update();_destroy();break;case 2:alert(WORD('ui-login-[not.exist]'));break;case 3:alert(WORD('ui-login-[pwd.error]'));break;}}};var _onsignin=function()
{var name=_$username.val().trim();var pwd=_$pwd.val().trim();var expires=_$expires.val();if(!OP['verify-test-letter-number'].test(name)||name.length<2||name.length>16)
{alert(WORD('ui-login-[err.username]'));return;}
if(!OP['verify-test-letter-number'].test(pwd)||pwd.length<6||pwd.length>16)
{alert(WORD('ui-login-[err.password]'));return;}
if(!TYPE.isInteger(expires))
{expires=0;}
_loading=new UI_LOADING(_win.getFoot());_loading.show();_$reg.attr('disabled','disabled');_$login.attr('disabled','disabled');_proxy.reset().bind(ENUM.ASNY.COMPLETE,_ondata).run({'cmd':'login','username':name,'password':pwd,'expires':expires});};var _onregister=function()
{_win.close();app.controls.register();};_show();}
$.extend(window,{SIGNIN:app.controls.signin});});
