// Copyright (c) 2008 Synology Inc. All rights reserved.
SYNOPHOTO_LOGINDIALOG=function(_1,_2){var _3={modal:true,autoTabs:true,autoCreate:true,width:370,height:250,shadow:true,minWidth:370,minHeight:250,proxyDrag:true,closable:true,collapsible:false,center:{autoScroll:false,tabPosition:"top",closeOnTab:true,titlebar:false,alwaysShowTabs:true}};_2=_2?Ext.applyIf(_2,_3):_3;SYNOPHOTO_LOGINDIALOG.superclass.constructor.call(this,_1,_2);this.addButton(photo_str_btnOK,this.onClickSubmit,this);if(_2.closable){this.addButton(photo_str_btnClose,this.hide,this);this.addKeyListener(27,this.hide,this);}this.init();this.getLayout().getRegion("center").showPanel(0);this.addKeyListener([10,13],this.onClickSubmit,this);};Ext.extend(SYNOPHOTO_LOGINDIALOG,Ext.LayoutDialog,{form:null,messageContainer:Ext.id(),text_field_username:null,text_field_password:null,photo_url:null,init:function(){var _4=Ext.id();var _5=String.format("<div style=\"margin:20px; font-size:12px;\" id=\"{0}\">{1}</div><div style=\"margin:20px;\" id=\"{2}\"></div>",this.messageContainer,photo_login_hint,_4);var _6=this.getLayout();_6.beginUpdate();var cp=_6.add("center",new Ext.ContentPanel(Ext.id(),{autoCreate:true,title:photo_login,background:true}));_6.endUpdate();cp.setContent(_5);this.form=new Ext.form.Form({labelWidth:100,labelAlign:"right",buttonAlign:"right",trackResetOnLoad:true,el:"login_form"});this.text_field_username=new Ext.form.TextField({fieldLabel:photo_username,name:"username",allowBlank:false,width:170,validateOnBlur:true,validationEvent:"blur",el:"login_username"});this.text_field_password=new Ext.form.TextField({fieldLabel:photo_password,name:"passwd",inputType:"password",width:170,validateOnBlur:true,validationEvent:"blur",el:"login_passwd"});this.form.column({width:300},this.text_field_username,this.text_field_password);if(!Ext.isSafari){Ext.fly("login_form").on("submit",Ext.emptyFn,this,{stopEvent:true});}Ext.fly("login_form").appendTo(_4);this.form.render(_4);SYNOBLOG_UTILS.SetTextMaxLen(this.form,"username",15);SYNOBLOG_UTILS.SetTextMaxLen(this.form,"passwd",128);this.on("show",function(_8){if(typeof onKeyMapSwitch=="function"){onKeyMapSwitch(false);}_8.text_field_username.focus();_8.text_field_username.focus();});this.on("hide",function(_9){if(typeof onKeyMapSwitch=="function"){onKeyMapSwitch(true);}});var el;this.form.on("actioncomplete",function(_b,_c){if(_c.result.success=="login_error"){el=Ext.get(this.messageContainer);el.dom.innerHTML="<font color='#FF0000'>"+photo_login_failed+"</font><br>"+photo_login_hint;}else{if(_c.result.success=="disable_account"){el=Ext.get(this.messageContainer);el.dom.innerHTML="<font color='#FF0000'>"+photo_login_disabled+"</font><br>"+photo_login_hint;}else{if(_c.result.success=="login_noprivilege"){el=Ext.get(this.messageContainer);el.dom.innerHTML="<font color='#FF0000'>"+photo_login_noprivilege+"</font><br>"+photo_login_hint;}else{this.hide();var _d="/photo/index.php";if(this.photo_url!=null&&this.photo_url!=""){_d=this.photo_url;}window.location=_d;}}}},this);},reset:function(){this.form.reset();var el=Ext.get(this.messageContainer);el.dom.innerHTML=photo_login_hint;},onClickSubmit:function(){if(this.form.isValid()){Ext.fly("login_submit").dom.click();this.form.submit({url:"/blog/login.php",waitTitle:" ",waitMsg:photo_str_plz_wait,params:{action:"login",url:this.photo_url,username:this.text_field_username.getValue(),passwd:this.text_field_password.getValue()}});}},show_dialog:function(_f){this.photo_url=_f;this.show();}});function onLogin(url){var _11=Ext.DialogManager.get("login-dlg");if(!_11){_11=new SYNOPHOTO_LOGINDIALOG("login-dlg");}_11.reset();_11.show_dialog(url);}Ext.namespace("SYNOBLOG_UTILS");Ext.Ajax.on("requestcomplete",function(_1,_2,_3){if(SYNOBLOG_UTILS.checkServerError(_2)){_1.purgeListeners();}});Ext.override(Ext.form.Field,{setLabel:function(_4){var r=this.getEl().up("div.x-form-item");r.dom.firstChild.firstChild.nodeValue=String.format("{0}",_4);}});SYNOBLOG_UTILS.UploadFileFormats=["jpg","jpeg","jpe","bmp","gif","png","arw","srf","sr2","dcr","k25","kdc","cr2","crw","nef","mrw","ptx","pef","raf","3fr","erf","mef","mos","orf","rw2","dng","x3f","asf","wmv","mpg","mpeg","mp4","mov","dat","avi","divx","xvid","flv","m4v","3gp","3g2","qt"];SYNOBLOG_UTILS.SetTextMaxLen=function(_6,_7,_8){var _9=_6.findField(_7);if(_9){_9.getEl().dom.setAttribute("maxLength",_8);}};SYNOBLOG_UTILS.checkServerError=function(_a){var _b=false;var _c=window.location.href;if(_c.indexOf("/blog")>=0){_b=true;}if(_a&&_a.getResponseHeader){var _d=_a.getResponseHeader["x-request-error"];if(_d){_d=Ext.util.Format.trim(_d);var _e;if(_b){_e=blog_str_common_error;}else{_e=photo_str_common_error;}if(_d=="error_timeout"){if(_b){_e=blog_str_common_session_timeout;}else{_e=photo_str_common_session_timeout;}}alert(_e);if(_b){window.location="/blog/index.php";}else{window.location="/photo/index.php";}return true;}}return false;};SYNOBLOG_UTILS.arrayFindIndex=function(_f,_10){var i,_12=-1;for(i in _f){if(_f[i]==_10){_12=i;break;}}return _12;};Ext.form.SRadio=function(cfg){if(cfg.indent&&cfg.indent>0){var _14=13*cfg.indent;var _15=String.format("display: inline;width:{0}px;",_14);cfg.labelStyle=_15;cfg.labelSeparator="";}Ext.form.SRadio.superclass.constructor.apply(this,arguments);};SYNOBLOG_UTILS.isValidUploadFileFormat=function(_16){_16=_16.toLowerCase();var _17=_16.lastIndexOf(".");if(_17==-1){return false;}var _18=_16.substr(_17+1);if(_18==null||_18==""||0>SYNOBLOG_UTILS.arrayFindIndex(SYNOBLOG_UTILS.UploadFileFormats,_18)){return false;}return true;};Ext.extend(Ext.form.SRadio,Ext.form.Radio,{setValue:function(v){var _1a=this.el.up("form").query("input[name="+this.el.dom.name+"]");if(typeof v=="string"){for(var j=0;j<_1a.length;j++){var _1c=Ext.getCmp(_1a[j].id);if(_1a[j].value==v){_1a[j].checked=true;}else{_1a[j].checked=false;}_1c.checked=_1a[j].checked;_1c.fireEvent("check",_1c,_1c.checked);}}else{if(typeof v=="boolean"){if(v===true){this.setValue(this.el.dom.value);}}}},onClick:function(){if(this.el.dom.checked!=this.checked){this.setValue(this.el.dom.value);}}});SYNOBLOG_UTILS.getThumbWidthHeightStyle=function(_1d,_1e,_1f){var _20=[];if(_1d<_1f&&_1e<_1f){_20["width"]=_1d;_20["height"]=_1e;_20["margin-top"]=0;_20["margin-left"]=0;}else{if((_1d<_1f&&_1e>_1f)){_20["width"]=_1d;_20["height"]=_1e;if(Ext.isIE){_20["margin-top"]=0;}else{_20["margin-top"]="-"+Math.floor((_1e-_1f)/2);}_20["margin-left"]=0;}else{if((_1d>_1f&&_1e<_1f)){_20["width"]=_1d;_20["height"]=_1e;_20["margin-left"]="-"+Math.floor((_1d-_1f)/2);_20["margin-top"]=0;}else{if(_1d>_1e){_20["width"]=_1f*_1d/_1e;_20["height"]=_1f;_20["margin-left"]="-"+Math.floor(((_1f*_1d/_1e)-_1f)/2);_20["margin-top"]=0;}else{_20["width"]=_1f;_20["height"]=Math.floor(_1f*_1e/_1d);if(Ext.isIE){_20["margin-top"]=0;}else{_20["margin-top"]="-"+Math.floor(((_1f*_1e/_1d)-_1f)/2);}_20["margin-left"]=0;}}}}return _20;};SYNOBLOG_UTILS.getThumbWidthHeight=function(_21,_22,_23,_24){var _25=[];_25["width"]=_21;_25["height"]=_22;if(_21>_23&&_22>_24){if((_22/_24)<(_21/_23)){_25["width"]=_23;_25["height"]=Math.floor(_22*(_23/_21));}else{_25["height"]=_24;_25["width"]=Math.floor(_21*(_24/_22));}}else{if(_22>_24){_25["height"]=_24;_25["width"]=Math.floor(_21*(_24/_22));}else{if(_21>_23){_25["width"]=_23;_25["height"]=Math.floor(_22*(_23/_21));}}}return _25;};SYNOBLOG_UTILS.getRealOffset=function(_26){var _27=_26.offsetLeft;var _28=_26.offsetTop;var _29=_26.offsetParent;while(_29){_27+=_29.offsetLeft;_28+=_29.offsetTop;_29=_29.offsetParent;}var _2a=new Array();_2a.top=_28;_2a.left=_27;return _2a;};function onKeyMapPressed(fn){if(!Ext.fly(document.body).isMasked()&&document.keyMapperEnabled){fn();}}function onKeyMapSwitch(_2){if(!document.keyMapper){return;}document.keyMapperEnabled=_2;}function createKeyMapper(fn){document.keyMapper=new Ext.KeyMap(document,[{key:"x",fn:onKeyMapPressed.createCallback(fn.createCallback(-1)),scope:this},{key:"c",fn:onKeyMapPressed.createCallback(fn.createCallback(1)),scope:this}]);if(typeof g_thumbnail_page_layout=="undefined"||g_thumbnail_page_layout!="layout_imageflow"){document.keyMapper.addBinding({key:37,fn:onKeyMapPressed.createCallback(fn.createCallback(-1)),scope:this});document.keyMapper.addBinding({key:39,fn:onKeyMapPressed.createCallback(fn.createCallback(1)),scope:this});}document.keyMapperEnabled=true;}