/* Copyright (c) 2011 Synology Inc. All rights reserved. */

var LoginDialog=Ext.extend(Ext.util.Observable,{url:null,dialog:null,elStatus:null,login_form:null,isSubmitForm:false,constructor:function(a){this.url=a.url;this.addEvents("myEventName");LoginDialog.superclass.constructor.call(this);this.dialog=Ext.get("syno_login_dialog");if(this.dialog==null){alert("dialog not exist")}this.login_form=document.forms.login_form;this.elStatus=Ext.get("login_status");this.addEvents("show","close");Ext.get("syno_login_close").on("click",this.closeDialog.createDelegate(this,[]));Ext.get("syno_login_enter").on("click",this.submitForm.createDelegate(this,[]));Ext.get("login_username").addKeyListener([10,13],this.submitForm.createDelegate(this,[]));Ext.get("login_passwd").addKeyListener([10,13],this.submitForm.createDelegate(this,[]))},show:function(){SYNOPHOTO_UTILS.maskBody({noMsg:true});this.dialog.alignTo(Ext.getBody(),"c-c");Ext.get("login_username").focus();this.fireEvent("show")},closeDialog:function(){this.dialog.dom.style.left="-1000px";SYNOPHOTO_UTILS.unmaskBody();this.login_form.elements.username.value="";this.login_form.elements.passwd.value="";this.setStatus("");this.fireEvent("close")},submitForm:function(){if(!this.isFormValid()||this.isSubmitForm){return}this.setStatus('<img src="'+SYNOPHOTO_UTILS.url_prefix+'/photo/images/loading.gif"> <span style="padding-left:20px;color:#1C548C;">'+photo_str_logging+"</span>");this.setFormDisable(true);this.isSubmitForm=true;Ext.fly("login_submit").dom.click();var a={action:"login",username:this.login_form.elements.username.value,passwd:this.login_form.elements.passwd.value};Ext.Ajax.request({url:SYNOPHOTO_UTILS.url_prefix+"/photo/photo_login.php",params:a,method:"POST",scope:this,success:function(b,c){this.setFormDisable(false);this.isSubmitForm=false;var d=Ext.util.JSON.decode(b.responseText);if(d.success=="login_error"){this.setStatus(photo_str_login_error)}else{if(d.success=="disable_account"){this.setStatus(photo_str_login_account_disable)}else{if(d.success=="login_noprivilege"){this.setStatus(photo_login_noprivilege)}else{this.closeDialog();window.location=this.url}}}},failure:function(b,c){this.setStatus("");this.setFormDisable(false);this.isSubmitForm=false;Ext.MessageBox.alert(photo_str_ap_name,photo_str_error_unknown_desc)}})},setStatus:function(a){this.elStatus.dom.innerHTML=a},isFormValid:function(){if(this.login_form.elements.username.value==""){this.setStatus(photo_str_no_username);return false}return true},setFormDisable:function(a){this.login_form.elements.username.disabled=a;this.login_form.elements.passwd.disabled=a}});Ext.MessageBox.minWidth=300;Ext.QuickTips.init();Ext.data.Connection.prototype.timeout=120000;Ext.form.BasicForm.prototype.timeout=120;Ext.namespace("SYNOPHOTO_UTILS");Ext.Ajax.on("requestcomplete",function(b,c,a){if(SYNOPHOTO_UTILS.checkServerError(c)){b.purgeListeners()}});SYNOPHOTO_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"];SYNOPHOTO_UTILS.UploadFlashThumbnailFormats=["jpg","jpeg","jpe","bmp","png"];SYNOPHOTO_UTILS.UploadFlashVideoFormats=["asf","wmv","mpg","mpeg","mp4","mov","dat","avi","divx","xvid","flv","m4v","3gp","3g2","qt"];SYNOPHOTO_UTILS.MultiPowUploadFileFormats="Image and Video Files - Max Size 2G|*.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";SYNOPHOTO_UTILS.ThumbnailSizes=new Array();SYNOPHOTO_UTILS.ThumbnailSizes[0]=new Array(120,120);SYNOPHOTO_UTILS.ThumbnailSizes[1]=new Array(320,320);SYNOPHOTO_UTILS.ThumbnailSizes[2]=new Array(640,640);SYNOPHOTO_UTILS.ThumbnailSizes[3]=new Array(800,800);SYNOPHOTO_UTILS.ThumbnailSizes[4]=new Array(1280,1280);SYNOPHOTO_UTILS.ThumbnailNames=["SYNOPHOTO:THUMB_S","SYNOPHOTO:THUMB_M","SYNOPHOTO:THUMB_B","SYNOPHOTO:THUMB_L","SYNOPHOTO:THUMB_XL"];SYNOPHOTO_UTILS.SocialNetworkUrlPrefix=["http://www.facebook.com/sharer.php?u=","http://twitter.com/share?url=","http://www.plurk.com/?qualifier=shares&status="];SYNOPHOTO_UTILS.ImageEditorUrlPrefix={editor:"PixlrEditorHandler.php?action=editor&mode=pixlr&type=editor&",express:"PixlrEditorHandler.php?action=editor&mode=pixlr&type=express&",picnik:"PixlrEditorHandler.php?action=editor&mode=picnik&"};SYNOPHOTO_UTILS.uploadWriteStrategyStore=new Ext.data.SimpleStore({fields:["value","strategy"],data:[[0,photo_str_upload_skip],[1,photo_str_upload_overwrite]]});SYNOPHOTO_UTILS.albumPrivilegeStore=new Ext.data.SimpleStore({fields:["value","desc"],data:[[0,photo_str_photoalbum_public2],[1,photo_str_private],[2,photo_str_password_protected]]});SYNOPHOTO_UTILS.url_prefix=(location.pathname.match(/\/~[^\/]+/))?location.pathname.match(/\/~[^\/]+/):"";SYNOPHOTO_UTILS.checkServerError=function(b){if(b&&b.getResponseHeader){var a=b.getResponseHeader["x-request-error"];if(a){a=Ext.util.Format.trim(a);var d=photo_str_common_error;if(a=="error_timeout"){d=photo_str_common_session_timeout}alert(d);var c=(location.pathname.match(/\/~[^\/]+/))?location.pathname.match(/\/~[^\/]+/):"";window.location=c+"/photo/index.php";return true}}return false};SYNOPHOTO_UTILS.arrayFindIndex=function(d,c){var b,a=-1;for(b in d){if(d[b]==c){a=b;break}}return a};SYNOPHOTO_UTILS.isValidUploadFileFormat=function(a){a=a.toLowerCase();var b=a.lastIndexOf(".");if(b==-1){return false}var c=a.substr(b+1);if(c==null||c==""||0>SYNOPHOTO_UTILS.arrayFindIndex(SYNOPHOTO_UTILS.UploadFileFormats,c)){return false}return true};SYNOPHOTO_UTILS.isValidFileFormat=function(b,a){b=b.toLowerCase();var c=b.lastIndexOf(".");if(c==-1){return false}var d=b.substr(c+1);if(d==null||d==""||0>SYNOPHOTO_UTILS.arrayFindIndex(a,d)){return false}return true};SYNOPHOTO_UTILS.getThumbWidthHeightStyle=function(c,b,d){var a=[];if(c<d&&b<d){a.width=c;a.height=b;a["margin-top"]=0;a["margin-left"]=0}else{if((c<d&&b>d)){a.width=c;a.height=b;if(Ext.isIE){a["margin-top"]=0}else{a["margin-top"]="-"+Math.floor((b-d)/2)}a["margin-left"]=0}else{if((c>d&&b<d)){a.width=c;a.height=b;a["margin-left"]="-"+Math.floor((c-d)/2);a["margin-top"]=0}else{if(c>b){a.width=d*c/b;a.height=d;a["margin-left"]="-"+Math.floor(((d*c/b)-d)/2);a["margin-top"]=0}else{a.width=d;a.height=Math.floor(d*b/c);if(Ext.isIE){a["margin-top"]=0}else{a["margin-top"]="-"+Math.floor(((d*b/c)-d)/2)}a["margin-left"]=0}}}}return a};SYNOPHOTO_UTILS.getThumbWidthHeight=function(d,b,e,c){var a=[];a.width=d;a.height=b;if(d>e&&b>c){if((b/c)<(d/e)){a.width=e;a.height=Math.floor(b*(e/d))}else{a.height=c;a.width=Math.floor(d*(c/b))}}else{if(b>c){a.height=c;a.width=Math.floor(d*(c/b))}else{if(d>e){a.width=e;a.height=Math.floor(b*(e/d))}}}return a};SYNOPHOTO_UTILS.getRealOffset=function(d){var e=d.offsetLeft;var a=d.offsetTop;var b=d.offsetParent;while(b){e+=b.offsetLeft;a+=b.offsetTop;b=b.offsetParent}var c=new Array();c.top=a;c.left=e;return c};SYNOPHOTO_UTILS.DisplayField=function(c,a,g){var f=c.findField(a);if(!f){return}var b=f.getEl().findParent("div[class~=x-form-item]",c.el,true);if(!b){return}var e=b.isDisplayed();b.setDisplayed(g);if(e==false&&g==true&&f.msgTarget=="under"){var d=f.getEl().findParent(".x-form-element",5,true);var h=d.child("div[class~=x-form-invalid-msg]");if(h){h.setWidth(d.getWidth(true)-20)}}};SYNOPHOTO_UTILS.FieldFind=function(b,a){var c=b.findField(a);if(c==null){c=Ext.getCmp(a)}return c};SYNOPHOTO_UTILS.EnableRadioGroup=Ext.extend(Object,{constructor:function(e,d,a){this.form=e;this.members=a;var g=SYNOPHOTO_UTILS.getRadioGroup(e,d);for(var c=0;c<g.length;c++){var b=g[c];var f=b.el.dom.value;if(f in a){b.mon(b,"check",this.onRadioCheck,this);b.mon(b,"enable",this.onRadioEnable,this,{delay:50});b.mon(b,"disable",this.onRadioEnable,this,{delay:50})}}},onRadioEnable:function(c){var e=c.getRawValue();var a=this.members[e];var d=c.getValue();var b=d&&(!c.disabled);Ext.each(a,function(g){var h=SYNOPHOTO_UTILS.FieldFind(this.form,g);h.setDisabled(!b)},this)},onRadioCheck:function(b,c){var d=b.getRawValue();var a=this.members[d];Ext.each(a,function(e){var g=SYNOPHOTO_UTILS.FieldFind(this.form,e);g.setDisabled(!c)},this)}});SYNOPHOTO_UTILS.EnableCheckGroup=Ext.extend(Object,{constructor:function(b,a,e,d){var c=SYNOPHOTO_UTILS.FieldFind(b,a);d=typeof(d)!="undefined"?d:[];this.enable_fields=e;this.disable_fields=d;this.form=b;c.mon(c,"check",this.checkHandler,this);c.mon(c,"enable",this.enableHandler,this,{delay:50});c.mon(c,"disable",this.enableHandler,this,{delay:50});this.checkHandler(c,c.getValue())},setFieldStatus:function(d,g,c,a){if(g.inputType=="radio"){var f=SYNOPHOTO_UTILS.getRadioGroup(d,g.getName());for(var b=0;b<f.length;b++){if(a){var h=c?f[b].disable():f[b].enable()}else{h=c?f[b].enable():f[b].disable()}}}else{if(a){var e=c?g.disable():g.enable()}else{e=c?g.enable():g.disable()}}},checkHandler:function(c,b){var a;for(a=0;a<this.enable_fields.length;a++){var d=SYNOPHOTO_UTILS.FieldFind(this.form,this.enable_fields[a]);this.setFieldStatus(this.form,d,b,false)}for(a=0;a<this.disable_fields.length;a++){d=SYNOPHOTO_UTILS.FieldFind(this.form,this.disable_fields[a]);this.setFieldStatus(this.form,d,b,true)}},enableHandler:function(c){var b;var a=(c.disabled===false&&c.getValue()===true);for(b=0;b<this.enable_fields.length;b++){var d=SYNOPHOTO_UTILS.FieldFind(this.form,this.enable_fields[b]);this.setFieldStatus(this.form,d,a,false)}for(b=0;b<this.disable_fields.length;b++){d=SYNOPHOTO_UTILS.FieldFind(this.form,this.disable_fields[b]);this.setFieldStatus(this.form,d,a,true)}}});SYNOPHOTO_UTILS.getRadioGroup=function(c,b){var e=[];var d=c.el.query("input[name="+b+"]");for(var a=0;a<d.length;a++){e.push(Ext.getCmp(d[a].id))}return e};SYNOPHOTO_UTILS.tinyMCE_init=function(f,e,a,c,d,b){var h="none";if(f){h="exact"}var g={composition:"cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,media,cleanup,code,|,preview,|,sub,sup",headline:"cut,copy,paste,pastetext,pasteword,|,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,image,cleanup,code,|,sub,sup"};tinyMCE.init({mode:h,elements:f,theme:"advanced",skin:"o2k7",skin_variant:"silver",plugins:"safari,spellchecker,pagebreak,style,layer,table,advhr,advimage,advlink,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",width:e,height:a,theme_advanced_buttons1:"bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsizeselect,|,forecolor,backcolor,|,fullscreen",theme_advanced_buttons2:g[d],theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"left",theme_advanced_statusbar_location:"none",theme_advanced_resizing:c,document_base_url:"/",relative_urls:false,oninit:b})};SYNOPHOTO_UTILS.PollTask=function(e){var b=null;var j=e.handler;var l=e.scope;var a=e.url;var c=e.params;var f=0;var d=null;var h=function(n,p,m){if(p){var o=Ext.util.JSON.decode(m.responseText);j.apply(l,[p,o])}else{j.apply(l,[false])}if(b){b.delay(f)}};var g=function(){d=Ext.Ajax.request({url:a,params:c,callback:h})};this.startAutoRefresh=function(n,m){if(b){b.cancel()}else{b=new Ext.util.DelayedTask(g,this)}f=1000*n;if(m){g()}else{b.delay(f)}};this.stopAutoRefresh=function(){if(b){b.cancel();b=null;if(d){Ext.Ajax.abort(d)}}}};SYNOPHOTO_UTILS.isValidExtension=function(d,b){var a=0;var c=d.toLowerCase();if(!d.length||!b.length){return false}a=c.lastIndexOf(b);if(-1==a){return false}if(c.length!=(a+b.length)){return false}return true};SYNOPHOTO_UTILS.isFlashReservedPort=function(a){var b=[1,7,9,11,13,15,17,19,20,21,22,23,25,37,42,43,53,77,79,87,95,101,102,103,104,109,110,111,113,115,117,119,123,135,139,143,179,389,465,512,513,514,515,526,530,531,532,540,556,563,587,601,636,993,995,2049,4045,6000];if("string"===typeof(a)){a=parseInt(a,10)}return(-1!==b.indexOf(a))};SYNOPHOTO_UTILS.maskBody=function(b){var a=null;if(typeof b!="undefined"&&b.noMsg){a=Ext.get(document.body).mask()}else{a=Ext.get(document.body).mask(photo_str_plz_wait,"x-mask-loading")}a.setSize(Ext.lib.Dom.getViewWidth(true),Ext.lib.Dom.getViewHeight(true))};SYNOPHOTO_UTILS.unmaskBody=function(){Ext.get(document.body).unmask()};SYNOPHOTO_UTILS.isAlbumNameValid=function(a){if(!a){return false}if("@eadir"==a.toLowerCase()){return false}if(a=="."||a==".."){return false}if(a.substr(0,2)=="._"){return false}if(/[\:\/\\\?\|\*<>]/.test(a)){return false}return true};SYNOPHOTO_UTILS.getRealLength=function(a){return a.replace(/[^\x00-\xff]/g,"---").length};SYNOPHOTO_UTILS.shareSocialNetwork=function(d){var e="";var a="";var f="";switch(d.from){case"album":e=document.getElementById("fb_share_url").content;if(typeof(d.defaultTitle)==undefined){a=document.getElementById("path-link-last").title}f=document.getElementById("info_desc").innerHTML;break;case"photo":e=document.getElementById("fb_share_url").content.replace(/\?.*/,"");e+=document.getElementById("main_img").src.replace(/.*\/convert.php/,"");e=e.replace(/&type=.*/,"");a=document.getElementById("info_title").innerHTML;f=document.getElementById("info_desc").innerHTML;break;case"blog":e=document.getElementById("fb_share_url").content;a=d.title;if(0>e.indexOf("#")){e=e+"#param=id_"+d.id}break}if(typeof(d.defaultTitle)!==undefined){a=(a===photo_str_add_title||a=="")?d.defaultTitle:a;f=(f===photo_str_add_description||f=="")?d.defaultTitle:f}var b=(0<e.indexOf("?"))?"&":"?";if(0==d.type&&"blog"==d.from){e=e.replace("#",b+"post_id="+d.id+"&cv="+Math.random()+"#")}else{if(0==d.type){e+=b+"cv="+Math.random()}}var c=SYNOPHOTO_UTILS.SocialNetworkUrlPrefix[d.type]+encodeURIComponent(e);switch(d.type){case 0:break;case 1:c=c+"&text="+encodeURIComponent(a);break;case 2:c=c+encodeURIComponent(" ("+a+")");break}window.open(c)};SYNOPHOTO_UTILS.launchImageEditor=function(b){var a=SYNOPHOTO_UTILS.ImageEditorUrlPrefix[b.type];delete b.type;for(k in b){a+=String.format("&{0}={1}",k,encodeURIComponent(b[k]))}window.open(a)};SYNOPHOTO_UTILS.launchFacebookUploader=function(){if(!window.fbDialog){fbDialog=new FacebookUploader({renderTo:Ext.getBody()})}fbDialog.show()};SYNOPHOTO_UTILS.IsIDevice=function(){var a=navigator.userAgent.match(/(iPhone|iPod|iPad)/i);if(a){return true}return false};SYNOPHOTO_UTILS.disableSelect=function(){var a=function(d){if(d.getTarget(".selectabletext")){return true}if(d.getTarget("textarea")){return true}var c=d.getTarget("input"),b=(c&&c.type)?c.type.toLowerCase():"";if("text"!==b&&"textarea"!==b&&"password"!==b){return false}if(c.readOnly){return false}return true};if(Ext.isIE){Ext.getDoc().on("selectstart",function(b){if(!a(b)){b.stopEvent()}})}Ext.getDoc().on("keydown",function(b){if(b.ctrlKey&&b.A===b.getKey()&&!a(b)){b.stopEvent()}})};SYNOPHOTO_UTILS.toolOnMouseDown=function(){if(this.menu.hidden){this.menu.show(this.btn,"tl-bl")}this.btn.addClass("b-button-pressed")};Ext.override(Ext.Window,{constructor:function(a){var b={xtype:"statusbar",defaultText:"&nbsp;",statusAlign:"left",buttonAlign:"left",items:[]};if(a.buttons){b.items=b.items.concat(a.buttons);delete a.buttons}Ext.applyIf(a,{fbar:b});Ext.Window.superclass.constructor.call(this,a)},onShow:function(){this.el.addClass(["sds-window","active-win"]);this.center()}});SYNOPHOTO_UTILS.countProperties=function(b){var a=0;for(var c in b){if(b.hasOwnProperty(c)){++a}}return a};Ext.form.CompositeField.prototype.combineErrors=false;Ext.ns("SYNOPHOTO_UTILS");SYNOPHOTO_UTILS.getPunyHostname=function(){var a=[],b=location.hostname.split(".");for(i=0;i<b.length;++i){a.push(SYNOPHOTO_UTILS.PunyCode.encode(b[i],true))}return a.join(".")};SYNOPHOTO_UTILS.getPunyBaseURL=function(){var b,c,a=SYNOPHOTO_UTILS.getPunyHostname();c=location.protocol+"//"+a;if(location.port){c+=":"+location.port}c+=location.pathname;if(c.indexOf("?")!=-1){c=c.substring(0,c.indexOf("?"))}c=c.substring(0,c.lastIndexOf("/"));return c+"/"};SYNOPHOTO_UTILS.PunyCode=(function(){var g=128;var n=72;var a="-";var c=36;var e=700;var b=1;var h=26;var q=38;var d=2147483647;function f(u){var t=[],v=0,s=u.length,w,r;while(v<s){w=u.charCodeAt(v++);if((w&63488)===55296){r=u.charCodeAt(v++);if(((w&64512)!==55296)||((r&64512)!==56320)){throw new RangeError("UTF-16(decode): Illegal UTF-16 sequence")}w=((w&1023)<<10)+(r&1023)+65536}t.push(w)}return t}function o(t){var s=[],u=0,r=t.length,v;while(u<r){v=t[u++];if((v&63488)===55296){throw new RangeError("UTF-16(encode): Illegal UTF-16 value")}if(v>65535){v-=65536;s.push(String.fromCharCode(((v>>>10)&1023)|55296));v=56320|(v&1023)}s.push(String.fromCharCode(v))}return s.join("")}function m(r){return r-48<10?r-22:r-65<26?r-65:r-97<26?r-97:c}function p(s,r){return s+22+75*(s<26)-((r!=0)<<5)}function l(u,t,s){var r;u=s?Math.floor(u/e):(u>>1);u+=Math.floor(u/t);for(r=0;u>(((c-b)*h)>>1);r+=c){u=Math.floor(u/(c-b))}return Math.floor(r+(c-b+1)*u/(u+q))}function j(s,r){s-=(s-97<26)<<5;return s+((!r&&(s-65<26))<<5)}return{decode:function(z,u){var x=[];var K=[];var E=z.length;var D,I,H,v,s,G,C,r,y,F,B,A,J;D=g;H=0;v=n;s=z.lastIndexOf(a);if(s<0){s=0}for(G=0;G<s;++G){if(u){K[x.length]=(z.charCodeAt(G)-65<26)}if(z.charCodeAt(G)>=128){throw new RangeError("Illegal input >= 0x80")}x.push(z.charCodeAt(G))}for(C=s>0?s+1:0;C<E;){for(r=H,y=1,F=c;;F+=c){if(C>=E){throw RangeError("punycode_bad_input(1)")}B=m(z.charCodeAt(C++));if(B>=c){throw RangeError("punycode_bad_input(2)")}if(B>Math.floor((d-H)/y)){throw RangeError("punycode_overflow(1)")}H+=B*y;A=F<=v?b:F>=v+h?h:F-v;if(B<A){break}if(y>Math.floor(d/(c-A))){throw RangeError("punycode_overflow(2)")}y*=(c-A)}I=x.length+1;v=l(H-r,I,r===0);if(Math.floor(H/I)>d-D){throw RangeError("punycode_overflow(3)")}D+=Math.floor(H/I);H%=I;if(u){K.splice(H,0,z.charCodeAt(C-1)-65<26)}x.splice(H,0,D);H++}if(u){for(H=0,J=x.length;H<J;H++){if(K[H]){x[H]=(String.fromCharCode(x[H]).toUpperCase()).charCodeAt(0)}}}return UTF16Eecode(x)},encode:function(F,r){var w,H,B,E,C,A,x,u,z,I,G,s;if(r){s=f(F)}F=f(F.toLowerCase());var D=F.length;if(r){for(A=0;A<D;A++){s[A]=F[A]!=s[A]}}var y="",v=[];w=g;H=0;C=n;for(A=0;A<D;++A){if(F[A]<128){v.push(String.fromCharCode(s?j(F[A],s[A]):F[A]))}}B=E=v.length;if(E&&E<D){v.push(a)}if(E<D){y="xn--"}while(B<D){for(x=d,A=0;A<D;++A){G=F[A];if(G>=w&&G<x){x=G}}if(x-w>Math.floor((d-H)/(B+1))){throw RangeError("punycode_overflow (1)")}H+=(x-w)*(B+1);w=x;for(A=0;A<D;++A){G=F[A];if(G<w){if(++H>d){return Error("punycode_overflow(2)")}}if(G==w){for(u=H,z=c;;z+=c){I=z<=C?b:z>=C+h?h:z-C;if(u<I){break}v.push(String.fromCharCode(p(I+(u-I)%(c-I),0)));u=Math.floor((u-I)/(c-I))}v.push(String.fromCharCode(p(u,r&&s[A]?1:0)));C=l(H,B+1,B==E);H=0;++B}}++H;++w}return y+v.join("")}}})();PhotoPasswordDialog=Ext.extend(Ext.Window,{url:null,login_form:null,constructor:function(b){this.albumName=b.albumName;var a={title:photo_str_password_protected,width:460,height:150,modal:true,shadow:true,layout:"fit",border:false,resizable:false,items:[this.getFormConf()],buttons:[{text:photo_str_submit,scope:this,handler:this.onClickSubmit},{text:photo_str_btnClose,scope:this,handler:function(){this.close()}}],keys:[{key:[10,13],fn:this.onClickSubmit,scope:this}]};Ext.apply(a,b);SYNO.LayoutConfig.fill(a);PhotoPasswordDialog.superclass.constructor.call(this,a);this.form=this.getComponent("commentForm").getForm();this.on("show",function(){Ext.getCmp("password_textField_password").focus(true,300)},this);this.on("close",function(){if(null!=this.url){window.location=SYNOPHOTO_UTILS.url_prefix+"/photo/index.php"}},this)},getFormConf:function(){var a={xtype:"form",itemId:"commentForm",trackResetOnLoad:true,padding:10,items:[{synotype:"text",inputType:"password",id:"password_textField_password",fieldLabel:photo_str_login_passwd,width:240,maxlength:128,allowBlank:false,name:"passwd"},{synotype:"desc",name:"message",cls:"login_error"}]};return SYNO.LayoutConfig.fill(a)},onClickSubmit:function(){if(!this.form.isValid()){return}var a={action:"check_album_password",album_name:this.albumName};this.form.submit({url:SYNOPHOTO_UTILS.url_prefix+"/photo/ajax_handler.php",params:a,scope:this,success:function(b,c){if(c.result.success=="error"){this.form.findField("message").setValue(photo_str_password_error);return}if(null!=this.url){window.location=this.url;return}window.location="photo_thumb.php?dir="+this.albumName},failure:function(b,c){Ext.MessageBox.alert(photo_str_ap_name,photo_str_error_unknown_desc)}})}});
