(function(g,c,e,f){var h,d;function b(j,k){var i;if("FileReader" in g){i=new FileReader();i.readAsDataURL(j);i.onload=function(){k(i.result)}}else{return k(j.getAsDataURL())}}function a(o,q,n,i,p){var k,j,m,l;b(o,function(r){k=c.createElement("canvas");k.style.display="none";c.body.appendChild(k);j=k.getContext("2d");m=new Image();m.onload=function(){var v,s,t,u,w;l=Math.min(q/m.width,n/m.height);if(l<1){v=Math.round(m.width*l);s=Math.round(m.height*l);k.width=v;k.height=s;j.drawImage(m,0,0,v,s);w=new d();w.init(atob(r.substring(r.indexOf("base64,")+7)));u=w.APP1({width:v,height:s});r=k.toDataURL(i);r=r.substring(r.indexOf("base64,")+7);r=atob(r);if(u){w.init(r);w.setAPP1(u);r=w.getBinary()}k.parentNode.removeChild(k);p({success:true,data:r})}else{p({success:false})}};m.src=r})}e.runtimes.Html5=e.addRuntime("html5",{getFeatures:function(){var n,j,m,k,i,l=g;j=m=k=i=false;if(l.Uint8Array&&l.ArrayBuffer&&!XMLHttpRequest.prototype.sendAsBinary){XMLHttpRequest.prototype.sendAsBinary=function(s){var r,p,t,o;r=new ArrayBuffer(s.length);p=new Uint8Array(r,0);for(var q=0;q<s.length;q++){p[q]=(s.charCodeAt(q)&255)}t=new BlobBuilder();t.append(r);o=t.getBlob();this.send(o)}}if(l.XMLHttpRequest){n=new XMLHttpRequest();m=!!n.upload;j=!!(n.sendAsBinary||n.upload)}if(j){k=!!(File&&(File.prototype.getAsDataURL||l.FileReader)&&n.sendAsBinary);i=!!(File&&File.prototype.slice)}h=navigator.userAgent.indexOf("Safari")>0&&navigator.vendor.indexOf("Apple")!==-1;return{html5:j,dragdrop:l.mozInnerScreenX!==f||i||h,jpgresize:k,pngresize:k,multipart:k||!!l.FileReader||!!l.FormData,progress:m,chunking:i||k,canOpenDialog:navigator.userAgent.indexOf("WebKit")!==-1}},init:function(l,m){var i={},j;function k(r){var p,o,q=[],s,n={};for(o=0;o<r.length;o++){p=r[o];if(n[p.name]){continue}n[p.name]=true;s=e.guid();i[s]=p;q.push(new e.File(s,p.fileName,p.fileSize))}if(q.length){l.trigger("FilesAdded",q)}}j=this.getFeatures();if(!j.html5){m({success:false});return}l.bind("Init",function(r){var B,A,w=[],q,x,o=r.settings.filters,p,v,n=c.body,z;B=c.createElement("div");B.id=r.id+"_html5_container";for(q=0;q<o.length;q++){p=o[q].extensions.split(/,/);for(x=0;x<p.length;x++){v=e.mimeTypes[p[x]];if(v){w.push(v)}}}e.extend(B.style,{position:"absolute",background:l.settings.shim_bgcolor||"transparent",width:"100px",height:"100px",overflow:"hidden",zIndex:99999,opacity:l.settings.shim_bgcolor?"":0});B.className="plupload html5";if(l.settings.container){n=c.getElementById(l.settings.container);n.style.position="relative"}n.appendChild(B);B.innerHTML='<input id="'+l.id+'_html5" style="width:100%;height:100%;" type="file" accept="'+w.join(",")+'" '+(l.settings.multi_selection?'multiple="multiple"':"")+" />";z=c.getElementById(l.id+"_html5");z.onchange=function(){k(this.files);this.value=""};A=c.getElementById(r.settings.browse_button);if(A){var t=r.settings.browse_button_hover,u=r.settings.browse_button_active,s=r.features.canOpenDialog?A:B;if(t){e.addEvent(s,"mouseover",function(){e.addClass(A,t)},r.id);e.addEvent(s,"mouseout",function(){e.removeClass(A,t)},r.id)}if(u){e.addEvent(s,"mousedown",function(){e.addClass(A,u)},r.id);e.addEvent(c.body,"mouseup",function(){e.removeClass(A,u)},r.id)}if(r.features.canOpenDialog){e.addEvent(A,"click",function(y){c.getElementById(r.id+"_html5").click();y.preventDefault()},r.id)}}});l.bind("PostInit",function(){var n=c.getElementById(l.settings.drop_element);if(n){if(h){e.addEvent(n,"dragenter",function(r){var q,o,p;q=c.getElementById(l.id+"_drop");if(!q){q=c.createElement("input");q.setAttribute("type","file");q.setAttribute("id",l.id+"_drop");q.setAttribute("multiple","multiple");e.addEvent(q,"change",function(){k(this.files);e.removeEvent(q,"change",l.id);q.parentNode.removeChild(q)},l.id);n.appendChild(q)}o=e.getPos(n,c.getElementById(l.settings.container));p=e.getSize(n);e.extend(n.style,{position:"relative"});e.extend(q.style,{position:"absolute",display:"block",top:0,left:0,width:p.w+"px",height:p.h+"px",opacity:0})},l.id);return}e.addEvent(n,"dragover",function(o){o.preventDefault()},l.id);e.addEvent(n,"drop",function(p){var o=p.dataTransfer;if(o&&o.files){k(o.files)}p.preventDefault()},l.id)}});l.bind("Refresh",function(n){var o,q,r,s,p;o=c.getElementById(l.settings.browse_button);if(o){q=e.getPos(o,c.getElementById(n.settings.container));r=e.getSize(o);s=c.getElementById(l.id+"_html5_container");e.extend(s.style,{top:q.y+"px",left:q.x+"px",width:r.w+"px",height:r.h+"px"});if(l.features.canOpenDialog){p=parseInt(o.parentNode.style.zIndex,10);if(isNaN(p)){p=0}e.extend(o.style,{position:"relative",zIndex:p});e.extend(s.style,{zIndex:p-1})}}});l.bind("UploadFile",function(n,p){var q=n.settings,s,o;function r(t){var w=0,v=0;function u(){var D=t,K,L,G,H,I=0,z="----pluploadboundary"+e.guid(),C,E,A,B="--",J="\r\n",F="",y,x=n.settings.url;if(p.status==e.DONE||p.status==e.FAILED||n.state==e.STOPPED){return}H={name:p.target_name||p.name};if(q.chunk_size&&j.chunking){C=q.chunk_size;G=Math.ceil(p.size/C);E=Math.min(C,p.size-(w*C));if(typeof(t)=="string"){D=t.substring(w*C,w*C+E)}else{D=t.slice(w*C,E)}H.chunk=w;H.chunks=G}else{E=p.size}K=new XMLHttpRequest();L=K.upload;if(L){L.onprogress=function(M){p.loaded=Math.min(p.size,v+M.loaded-I);n.trigger("UploadProgress",p)}}if(!n.settings.multipart||!j.multipart){x=e.buildUrl(n.settings.url,H)}else{H.name=p.target_name||p.name}K.open("post",x,true);K.onreadystatechange=function(){var M,O;if(K.readyState==4){try{M=K.status}catch(N){M=0}if(M>=400){n.trigger("Error",{code:e.HTTP_ERROR,message:e.translate("HTTP Error."),file:p,status:M})}else{if(G){O={chunk:w,chunks:G,response:K.responseText,status:M};n.trigger("ChunkUploaded",p,O);v+=E;if(O.cancelled){p.status=e.FAILED;return}p.loaded=Math.min(p.size,(w+1)*C)}else{p.loaded=p.size}n.trigger("UploadProgress",p);if(!G||++w>=G){p.status=e.DONE;n.trigger("FileUploaded",p,{response:K.responseText,status:M});s=t=i[p.id]=null}else{u()}}K=D=A=F=null}};e.each(n.settings.headers,function(N,M){K.setRequestHeader(M,N)});if(n.settings.multipart&&j.multipart){if(!K.sendAsBinary){A=new FormData();e.each(e.extend(H,n.settings.multipart_params),function(N,M){A.append(M,N)});A.append(n.settings.file_data_name,D);K.send(A);return}K.setRequestHeader("Content-Type","multipart/form-data; boundary="+z);e.each(e.extend(H,n.settings.multipart_params),function(N,M){F+=B+z+J+'Content-Disposition: form-data; name="'+M+'"'+J+J;F+=unescape(encodeURIComponent(N))+J});y=e.mimeTypes[p.name.replace(/^.+\.([^.]+)/,"$1")]||"application/octet-stream";F+=B+z+J+'Content-Disposition: form-data; name="'+n.settings.file_data_name+'"; filename="'+unescape(encodeURIComponent(p.name))+'"'+J+"Content-Type: "+y+J+J+D+J+B+z+B+J;I=F.length-D.length;D=F}else{K.setRequestHeader("Content-Type","application/octet-stream")}if(K.sendAsBinary){K.sendAsBinary(D)}else{K.send(D)}}u()}s=i[p.id];o=n.settings.resize;if(j.jpgresize){if(o&&/\.(png|jpg|jpeg)$/i.test(p.name)){a(s,o.width,o.height,/\.png$/i.test(p.name)?"image/png":"image/jpeg",function(t){if(t.success){p.size=t.data.length;r(t.data)}else{r(s.getAsBinary())}})}else{r(s.getAsBinary())}}else{r(s)}});l.bind("Destroy",function(n){var p,q,o=c.body,r={inputContainer:n.id+"_html5_container",inputFile:n.id+"_html5",browseButton:n.settings.browse_button,dropElm:n.settings.drop_element};for(p in r){q=c.getElementById(r[p]);if(q){e.removeAllEvents(q,n.id)}}e.removeAllEvents(c.body,n.id);if(n.settings.container){o=c.getElementById(n.settings.container)}o.removeChild(c.getElementById(r.inputContainer))});m({success:true})}});d=function(){var k,l,A,u,v,p,t,w,F,r,C,y,m,E,i,D,B,n,j;function q(){var J=false,H;function K(M,O){var L=J?0:-8*(O-1),P=0,N;for(N=0;N<O;N++){P|=(H.charCodeAt(M+N)<<Math.abs(L+N*8))}return P}function G(L,N,M){H=H.substr(0,L)+N+H.substr((M===true?N.length:0)+L)}function I(M,N,P){var Q="",L=J?0:-8*(P-1),O;for(O=0;O<P;O++){Q+=String.fromCharCode((N>>Math.abs(L+O*8))&255)}G(M,Q,true)}return{II:function(L){if(L===i){return J}else{J=L}},init:function(L){H=L},SEGMENT:function(L,N,M){if(!arguments.length){return H}if(typeof N=="number"){return H.substr(parseInt(L,10),N)}G(L,N,M)},BYTE:function(L){return K(L,1)},SHORT:function(L){return K(L,2)},LONG:function(L,M){if(M===i){return K(L,4)}else{I(L,M,4)}},SLONG:function(L){var M=K(L,4);return(M>2147483647?M-4294967296:M)},STRING:function(L,M){var N="";for(M+=L;L<M;L++){N+=String.fromCharCode(K(L,1))}return N}}}F=new q();D={274:"Orientation",34665:"ExifIFDPointer",34853:"GPSInfoIFDPointer"};B={36864:"ExifVersion",40961:"ColorSpace",40962:"PixelXDimension",40963:"PixelYDimension",36867:"DateTimeOriginal",33434:"ExposureTime",33437:"FNumber",34855:"ISOSpeedRatings",37377:"ShutterSpeedValue",37378:"ApertureValue",37383:"MeteringMode",37384:"LightSource",37385:"Flash",41986:"ExposureMode",41987:"WhiteBalance",41990:"SceneCaptureType",41988:"DigitalZoomRatio",41992:"Contrast",41993:"Saturation",41994:"Sharpness"};n={0:"GPSVersionID",1:"GPSLatitudeRef",2:"GPSLatitude",3:"GPSLongitudeRef",4:"GPSLongitude"};j={ColorSpace:{1:"sRGB",0:"Uncalibrated"},MeteringMode:{0:"Unknown",1:"Average",2:"CenterWeightedAverage",3:"Spot",4:"MultiSpot",5:"Pattern",6:"Partial",255:"Other"},LightSource:{1:"Daylight",2:"Fliorescent",3:"Tungsten",4:"Flash",9:"Fine weather",10:"Cloudy weather",11:"Shade",12:"Daylight fluorescent (D 5700 - 7100K)",13:"Day white fluorescent (N 4600 -5400K)",14:"Cool white fluorescent (W 3900 - 4500K)",15:"White fluorescent (WW 3200 - 3700K)",17:"Standard light A",18:"Standard light B",19:"Standard light C",20:"D55",21:"D65",22:"D75",23:"D50",24:"ISO studio tungsten",255:"Other"},Flash:{0:"Flash did not fire.",1:"Flash fired.",5:"Strobe return light not detected.",7:"Strobe return light detected.",9:"Flash fired, compulsory flash mode",13:"Flash fired, compulsory flash mode, return light not detected",15:"Flash fired, compulsory flash mode, return light detected",16:"Flash did not fire, compulsory flash mode",24:"Flash did not fire, auto mode",25:"Flash fired, auto mode",29:"Flash fired, auto mode, return light not detected",31:"Flash fired, auto mode, return light detected",32:"No flash function",65:"Flash fired, red-eye reduction mode",69:"Flash fired, red-eye reduction mode, return light not detected",71:"Flash fired, red-eye reduction mode, return light detected",73:"Flash fired, compulsory flash mode, red-eye reduction mode",77:"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected",79:"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected",89:"Flash fired, auto mode, red-eye reduction mode",93:"Flash fired, auto mode, return light not detected, red-eye reduction mode",95:"Flash fired, auto mode, return light detected, red-eye reduction mode"},ExposureMode:{0:"Auto exposure",1:"Manual exposure",2:"Auto bracket"},WhiteBalance:{0:"Auto white balance",1:"Manual white balance"},SceneCaptureType:{0:"Standard",1:"Landscape",2:"Portrait",3:"Night scene"},Contrast:{0:"Normal",1:"Soft",2:"Hard"},Saturation:{0:"Normal",1:"Low saturation",2:"High saturation"},Sharpness:{0:"Normal",1:"Soft",2:"Hard"},GPSLatitudeRef:{N:"North latitude",S:"South latitude"},GPSLongitudeRef:{E:"East longitude",W:"West longitude"}};function s(G,N){var I=F.SHORT(G),K,Q,S,M,L,H,J,O,P=[],R={};for(K=0;K<I;K++){J=H=G+12*K+2;S=N[F.SHORT(J)];if(S===i){continue}M=F.SHORT(J+=2);L=F.LONG(J+=2);J+=4;P=[];switch(M){case 1:case 7:if(L>4){J=F.LONG(J)+E}for(Q=0;Q<L;Q++){P[Q]=F.BYTE(J+Q)}break;case 2:if(L>4){J=F.LONG(J)+E}R[S]=F.STRING(J,L-1);continue;case 3:if(L>2){J=F.LONG(J)+E}for(Q=0;Q<L;Q++){P[Q]=F.SHORT(J+Q*2)}break;case 4:if(L>1){J=F.LONG(J)+E}for(Q=0;Q<L;Q++){P[Q]=F.LONG(J+Q*4)}break;case 5:J=F.LONG(J)+E;for(Q=0;Q<L;Q++){P[Q]=F.LONG(J+Q*4)/F.LONG(J+Q*4+4)}break;case 9:J=F.LONG(J)+E;for(Q=0;Q<L;Q++){P[Q]=F.SLONG(J+Q*4)}break;case 10:J=F.LONG(J)+E;for(Q=0;Q<L;Q++){P[Q]=F.SLONG(J+Q*4)/F.SLONG(J+Q*4+4)}break;default:continue}O=(L==1?P[0]:P);if(j.hasOwnProperty(S)&&typeof O!="object"){R[S]=j[S][O]}else{R[S]=O}}return R}function z(){var G=w+4;E+=w;if(F.STRING(G,4).toUpperCase()!=="EXIF"||F.SHORT(G+=4)!==0){return}F.II(F.SHORT(G+=2)==18761);if(F.SHORT(G+=2)!==42){return}m=E+F.LONG(G+=2);k=s(m,D);C=("ExifIFDPointer" in k?E+k.ExifIFDPointer:i);y=("GPSInfoIFDPointer" in k?E+k.GPSInfoIFDPointer:i);return true}function o(G,L,K){var J=G.SHORT(K),I,H;for(H=0;H<J;H++){I=K+12*H+2;if(G.SHORT(I)==L){return I+8}}}function x(J,H){var I,K,L=C!=i?C-w:i,G=new q();G.init(t);G.II(F.II());if(L===i){return}I=o(G,40962,L);if(I!==i){G.LONG(I,J)}K=o(G,40963,L);if(K!==i){G.LONG(K,H)}t=G.SEGMENT()}return{init:function(G){E=10;k=l=A=u=v=p=t=w=r=i;F.init(G);if(F.SHORT(0)!==65496){return false}switch(F.SHORT(2)){case 65504:v=2;p=F.SHORT(4)+2;if(F.SHORT(p)==65505){w=p;r=F.SHORT(p+2)+2}break;case 65505:w=2;r=F.SHORT(4)+2;break;default:return false}if(r!==i){z()}},APP1:function(G){if(w===i&&r===i){return}t=t||(t=F.SEGMENT(w,r));if(G!==i&&"width" in G&&"height" in G){x(G.width,G.height)}return t},EXIF:function(){l=s(C,B);l.ExifVersion=String.fromCharCode(l.ExifVersion[0],l.ExifVersion[1],l.ExifVersion[2],l.ExifVersion[3]);return l},GPS:function(){A=s(y,n);A.GPSVersionID=A.GPSVersionID.join(".");return A},setAPP1:function(G){if(w!==i){return false}F.SEGMENT((v?v+p:2),G)},getBinary:function(){return F.SEGMENT()}}}})(window,document,plupload);
