var Photos=Photos||{};Photos.AjaxUploader=function(b){this._config={before_upload_handler:function(){},button:null,imagespec:"image185x185",preview:null,progress:null,input:null,url_input:null,error:null,finish_upload_handler:function(){}};$.extend(this._config,b);var c=new qq.FileUploaderBasic({button:this._config.button[0],action:"/photos/ajax/upload_photo",allowedExtensions:["jpg","jpeg","png","gif"],onProgress:$.proxy(this._updateProgress,this),onSubmit:$.proxy(this._startUpload,this),onComplete:$.proxy(this._finishUpload,this),debug:true,sizeLimit:2000000,params:{spec:this._config.imagespec},showMessage:function(d){systemTxt(d)}});default_data=this._config.input.val();if(default_data!=null&&default_data!=""){if(this._config.url_input&&this._config.url_input.val()!=""){var a=$('<img src="'+this._config.url_input.val()+'">');this._config.preview.html(a.hide().fadeIn(2000))}else{tmp_size=this._config.imagespec.substr(5);width=tmp_size.split("x")[0];height=tmp_size.split("x")[1];url_input=this._config.url_input;preview=this._config.preview;if(default_data!=""){$.ajax({type:"GET",dataType:"html",url:"/photos/"+default_data+"/"+width+"/"+height+"/",success:function(e){var d=$('<img class="uploaded_photo" src="'+e+'">');preview.html(d.hide().fadeIn(1000))}})}}}};Photos.AjaxUploader.prototype={_startUpload:function(c,a){this._config.before_upload_handler();this._config.preview.fadeOut(600);this._config.input.val("");var b=$('<div class="con loading_bg"></div>');this._config.preview.html(b);this._config.preview.fadeIn(100)},_updateProgress:function(d,b,a,c){},_finishUpload:function(d,c,b){if(b.status==1){var a=$('<img class="uploaded_photo" src="'+b.url+'" id="'+b.id+'">');this._config.preview.html(a);this._config.preview.fadeIn(1000);this._config.input.val(b.id);if(this._config.url_input){this._config.url_input.val(b.url)}this._config.finish_upload_handler()}else{this._handleError(b.message)}return false},_handleError:function(a){if(this._config.error!=null){this._config.error.text(a)}}};Photos.NewAjaxUploader=function(b){this._config={uploader_root:null,max_photos:3,btn_container:null,button:null,delete_button:null,initial_photo_class:null,initial_photo:null,preview:null,input:null,tagged_photo_list:null,default_photos:{photo_id_list:[],photo_url_list:[]},url_input:null,imagespec:"image105x105",thumbnail_pagination:true,prev_photo_btn:null,next_photo_btn:null,current_page:null,total_pages:null,errors:null};$.extend(this._config,b);this.current_page=parseInt(this._config.current_page.html());this.total_pages=parseInt(this._config.total_pages.html());this.lock=$('<div class="uploading_lock con loading_bg"></div>');this.lock.css({width:"100%",height:"100%",position:"absolute",top:"0px",left:"0px",padding:"0px",display:"none"});this._config.uploader_root.css("position","relative");this._config.uploader_root.append(this.lock);this.tagged_photo_list=new Gulu.ListClass(this._config.tagged_photo_list);var e=new qq.FileUploaderBasic({button:this._config.button[0],action:"/photos/ajax/upload_photo",allowedExtensions:["jpg","jpeg","png","gif"],onProgress:$.proxy(this._onProgress,this),onSubmit:$.proxy(this._onSubmit,this),onComplete:$.proxy(this._onComplete,this),debug:true,sizeLimit:2000000,params:{spec:this._config.imagespec},showMessage:function(f){systemTxt(f)}});var a=this;var d=this._config.preview;this.handle_page=$.proxy(this._handlePage,this);var c=this.handle_page;this.clear_photos=$.proxy(this._clearPhotos,this);this.restore_default_photos=$.proxy(this._restoreDefaultPhotos,this);this.restore_default_photos();if(this.total_pages<=0&&this._config.default_photos.photo_id_list.length==0){if(this._config.initial_photo!=null){this._config.initial_photo.css("display","block");this._config.preview.css("display","none")}}if(this.total_pages<=0){this._config.delete_button.css("display","none")}if(this._config.btn_container!=null){this._config.btn_container.css("display","none");this._config.btn_container.parent().mouseenter(function(){a._config.btn_container.css("display","inline");a._config.preview.removeClass(a._config.initial_photo_class);if(a._config.initial_photo!=null){a._config.initial_photo.css("display","none");d.css("display","block")}});this._config.btn_container.parent().mouseleave(function(){a._config.btn_container.css("display","none");a._config.preview.addClass(a._config.initial_photo_class);if(a.total_pages<=0){if(a._config.initial_photo!=null){a._config.initial_photo.css("display","block");d.css("display","none")}}})}if(this._config.delete_button!=null){this._config.delete_button.click(function(){if(a.total_pages>0){if(a.total_pages==1){a._config.delete_button.css("display","none")}if(a.total_pages<=a._config.max_photos){a._config.button.css("display","block")}d.children("img:first").fadeOut(50,function(){a.tagged_photo_list.remove(d.children("img:first").attr("id"));d.children("img:first").remove();d.children("img:first").fadeIn(100);c(null,-1)})}})}if(this._config.thumbnail_pagination==true){this._config.prev_photo_btn.click(function(){if(a.total_pages>1){d.children("img:first").fadeOut(50,function(){d.children("img:first").css("display","none");d.children("img:first").insertAfter(d.children("img:last"));d.children("img:first").fadeIn(100);c(-1,null)})}return false});this._config.next_photo_btn.click(function(){if(a.total_pages>1){d.children("img:first").fadeOut(50,function(){d.children("img:first").css("display","none");d.children("img:last").insertBefore(d.children("img:first"));d.children("img:first").fadeIn(100);c(1,null)})}return false})}};Photos.NewAjaxUploader.prototype={_onSubmit:function(b,a){if(this._config.initial_photo!=null){this._config.initial_photo.css("display","none")}this._config.preview.children("img:first").css("display","none");this._config.btn_container.css("display","none");this.lock.css("display","block");this._config.input.val("")},_onProgress:function(d,b,a,c){},_onComplete:function(d,c,b){if(b.status==1){this._config.errors.css("display","none");this.lock.css("display","none");var a=$('<img class="uploaded_photo" src="'+b.url+'" id="'+b.id+'">');this._config.preview.prepend(a);this._config.preview.fadeIn(1000);this._handlePage(null,1);this._config.input.val(b.id);if(this._config.url_input){this._config.url_input.val(b.url)}if(this.total_pages>=this._config.max_photos){this._config.button.css("display","none")}else{this._config.button.css("display","block")}this._config.delete_button.css("display","inline");if(this._config.initial_photo!=null){this._config.initial_photo.css("display","none")}this.tagged_photo_list.add(b.id)}else{this._handleError(b.message)}return false},_handleError:function(a){if(this._config.error!=null){this._config.error.text(a)}},_handlePage:function(c,b){var d=this.current_page;var a=this.total_pages;if(c!=null){d=d+c;if(d>0){if(d>a){d=1}}else{d=a}}if(b!=null){a=a+b;d=d+b;if(a<0){a=0}if(d>0){if(d>a){d=1}}else{d=a}}this.current_page=d;this.total_pages=a;this._config.current_page.html(this.current_page);this._config.total_pages.html(this.total_pages);if(this.total_pages<=0){if(this._config.initial_photo!=null){this._config.initial_photo.css("display","block");this._config.preview.css("display","none")}}else{if(this._config.initial_photo!=null){this._config.initial_photo.css("display","none");this._config.preview.css("display","block")}}},_clearPhotos:function(){this._config.preview.children("img").remove();this.tagged_photo_list.remove_all();this.current_page=0;this.total_pages=0;this._config.current_page.html(0);this._config.total_pages.html(0);this._config.delete_button.css("display","none");this._config.button.css("display","block");if(this._config.initial_photo!=null){this._config.initial_photo.css("display","block");this._config.preview.css("display","none")}},_restoreDefaultPhotos:function(){var b=this._config.default_photos;var c=this.handle_page;if(b!=null&&b!=""){var a=b.photo_id_list.length;if((a>0)&&(a<=this._config.max_photos)){img="";var d=this.tagged_photo_list;d.remove_all();$.each(b.photo_id_list,function(e,f){img='<img src="'+b.photo_url_list[e]+'"id="'+b.photo_id_list[e]+'">'+img;d.add(b.photo_id_list[e])});if(this._config.initial_photo!=null){this._config.initial_photo.css("display","none")}this._config.preview.html($(img).css("display","none"));this._config.preview.children("img:first").css("display","block");c(null,a);this._config.next_photo_btn.trigger("click")}}}};
