snappymail/rainloop/v/1.2.7.417/static/js/boot.js
RainLoop Team 059d5f6b94 v1.2.7.417
2013-09-30 21:14:48 +04:00

69 lines
14 KiB
JavaScript

/*
* See http://www.JSON.org/js.html
*/
var JSON;JSON||(JSON={}),function(){function str(a,b){var c,d,e,f,g=gap,h,i=b[a];i&&typeof i=="object"&&typeof i.toJSON=="function"&&(i=i.toJSON(a)),typeof rep=="function"&&(i=rep.call(b,a,i));switch(typeof i){case"string":return quote(i);case"number":return isFinite(i)?String(i):"null";case"boolean":case"null":return String(i);case"object":if(!i)return"null";gap+=indent,h=[];if(Object.prototype.toString.apply(i)==="[object Array]"){f=i.length;for(c=0;c<f;c+=1)h[c]=str(c,i)||"null";e=h.length===0?"[]":gap?"[\n"+gap+h.join(",\n"+gap)+"\n"+g+"]":"["+h.join(",")+"]",gap=g;return e}if(rep&&typeof rep=="object"){f=rep.length;for(c=0;c<f;c+=1)d=rep[c],typeof d=="string"&&(e=str(d,i),e&&h.push(quote(d)+(gap?": ":":")+e))}else for(d in i)Object.hasOwnProperty.call(i,d)&&(e=str(d,i),e&&h.push(quote(d)+(gap?": ":":")+e));e=h.length===0?"{}":gap?"{\n"+gap+h.join(",\n"+gap)+"\n"+g+"}":"{"+h.join(",")+"}",gap=g;return e}}function quote(a){escapable.lastIndex=0;return escapable.test(a)?'"'+a.replace(escapable,function(a){var b=meta[a];return typeof b=="string"?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function f(a){return a<10?"0"+a:a}"use strict",typeof Date.prototype.toJSON!="function"&&(Date.prototype.toJSON=function(a){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(a){return this.valueOf()});var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;typeof JSON.stringify!="function"&&(JSON.stringify=function(a,b,c){var d;gap="",indent="";if(typeof c=="number")for(d=0;d<c;d+=1)indent+=" ";else typeof c=="string"&&(indent=c);rep=b;if(b&&typeof b!="function"&&(typeof b!="object"||typeof b.length!="number"))throw new Error("JSON.stringify");return str("",{"":a})}),typeof JSON.parse!="function"&&(JSON.parse=function(text,reviver){function walk(a,b){var c,d,e=a[b];if(e&&typeof e=="object")for(c in e)Object.hasOwnProperty.call(e,c)&&(d=walk(e,c),d!==undefined?e[c]=d:delete e[c]);return reviver.call(a,b,e)}var j;text=String(text),cx.lastIndex=0,cx.test(text)&&(text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver=="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse")})}();
/*! pace 0.4.10 */
(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L=[].slice,M={}.hasOwnProperty,N=function(a,b){function c(){this.constructor=a}for(var d in b)M.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},O=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};q={catchupTime:500,initialRate:.03,minTime:500,ghostTime:250,maxProgressPerFrame:10,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnBackboneRoute:!0,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10},ajax:{trackMethods:["GET"],trackWebSockets:!0}},y=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance?"function"==typeof performance.now?performance.now():void 0:void 0)?a:+new Date},A=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,p=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==A&&(A=function(a){return setTimeout(a,50)},p=function(a){return clearTimeout(a)}),C=function(a){var b,c;return b=y(),c=function(){var d;return d=y()-b,b=y(),a(d,function(){return A(c)})},c()},B=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?L.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},r=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?L.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)M.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?r(b[a],e):b[a]=e);return b},u=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},null==window.Pace&&(window.Pace={}),z=Pace.options=r(q,window.paceOptions,u()),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;return null==this.el&&(this.el=document.createElement("div"),this.el.className="pace pace-active",this.el.innerHTML='<div class="pace-progress">\n <div class="pace-progress-inner"></div>\n</div>\n<div class="pace-activity"></div>',a=document.querySelector(z.target),null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)),this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){return this.getElement().parentNode.removeChild(this.getElement()),this.el=void 0},a.prototype.render=function(){var a,b;return null==document.querySelector(z.target)?!1:(a=this.getElement(),a.children[0].style.width=""+this.progress+"%",(!this.lastRenderedProgress||0|(this.lastRenderedProgress|0!==this.progress))&&(a.setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?b="99":(b=this.progress<10?"0":"",b+=0|this.progress),a.setAttribute("data-progress",""+b)),this.lastRenderedProgress=this.progress)},a.prototype.done=function(){return this.progress>=100},a}(),g=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),I=window.XMLHttpRequest,H=window.XDomainRequest,G=window.WebSocket,s=function(a,b){var c,d,e,f;f=[];for(d in b.prototype)try{e=b.prototype[d],null==a[d]&&"function"!=typeof e?f.push(a[d]=e):f.push(void 0)}catch(g){c=g}return f},h=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e){var f;return f=(null!=d?d:"GET").toUpperCase(),O.call(z.ajax.trackMethods,f)>=0&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new I(b),a(c),c},s(window.XMLHttpRequest,I),null!=H&&(window.XDomainRequest=function(){var b;return b=new H,a(b),b},s(window.XDomainRequest,H)),null!=G&&z.ajax.trackWebSockets&&(window.WebSocket=function(a,b){var d;return d=new G(a,b),c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d},s(window.WebSocket,G))}return N(b,a),b}(g),x=new h,a=function(){function a(){var a=this;this.elements=[],x.on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d;return d=a.type,b=a.request,c="socket"===d?new k(b):new l(b),this.elements.push(c)},a}(),l=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener("progress",function(a){return h.progress=a.lengthComputable?100*a.loaded/a.total:h.progress+(100-h.progress)/2}),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100});else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),k=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100})}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},z.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d=this;this.progress=0,a=0,c=0,b=y(),setInterval(function(){var e;return e=y()-b-50,b=y(),a+=(e-a)/15,c++>z.eventLag.minSamples&&Math.abs(a)<3&&(a=0),d.progress=100*(3/(a+3))},50)}return a}(),j=function(){function a(a){this.source=a,this.last=this.sinceLastUpdate=0,this.rate=z.initialRate,this.catchup=0,this.progress=this.lastProgress=0,null!=this.source&&(this.progress=B(this.source,"progress"))}return a.prototype.tick=function(a,b){var c;return null==b&&(b=B(this.source,"progress")),b>=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/z.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,z.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+z.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),E=null,D=null,n=null,F=null,m=null,o=null,v=function(){return z.restartOnPushState?Pace.restart():void 0},null!=window.history.pushState&&(J=window.history.pushState,window.history.pushState=function(){return v(),J.apply(window.history,arguments)}),null!=window.history.replaceState&&(K=window.history.replaceState,window.history.replaceState=function(){return v(),K.apply(window.history,arguments)}),t=!0,z.restartOnBackboneRoute&&setTimeout(function(){return null!=window.Backbone?Backbone.history.on("route",function(a,b){var c,d,e,f,g;if(d=z.restartOnBackboneRoute){if(t)return t=!1,void 0;if("object"==typeof d){for(g=[],e=0,f=d.length;f>e;e++)if(c=d[e],c===b){Pace.restart();break}return g}return Pace.restart()}}):void 0},0),i={ajax:a,elements:d,document:c,eventLag:f},(w=function(){var a,c,d,e,f,g,h,k,l;for(Pace.sources=E=[],h=["ajax","elements","document","eventLag"],d=0,f=h.length;f>d;d++)c=h[d],z[c]!==!1&&E.push(new i[c](z[c]));for(l=null!=(k=z.extraSources)?k:[],e=0,g=l.length;g>e;e++)a=l[e],E.push(new a(z));return Pace.bar=n=new b,D=[],F=new j})(),Pace.stop=function(){return n.destroy(),o=!0,null!=m&&("function"==typeof p&&p(m),m=null),w()},Pace.restart=function(){return Pace.stop(),Pace.go()},Pace.go=function(){return n.render(),o=!1,m=C(function(a,b){var c,d,e,f,g,h,i,k,l,m,p,q,r,s,t,u,v,w;for(k=100-n.progress,d=r=0,e=!0,h=s=0,u=E.length;u>s;h=++s)for(p=E[h],m=null!=D[h]?D[h]:D[h]=[],g=null!=(w=p.elements)?w:[p],i=t=0,v=g.length;v>t;i=++t)f=g[i],l=null!=m[i]?m[i]:m[i]=new j(f),e&=l.done,l.done||(d++,r+=l.tick(a));return c=r/d,n.update(F.tick(a,c)),q=y(),n.done()||e||o?(n.update(100),setTimeout(function(){return n.finish()},Math.max(z.ghostTime,Math.min(z.minTime,y()-q)))):b()})},Pace.start=function(a){return r(z,a),n.render(),document.querySelector(".pace")?Pace.go():setTimeout(Pace.start,50)},"function"==typeof define&&define.amd?define(function(){return Pace}):"object"==typeof exports?module.exports=Pace:z.startOnPageLoad&&Pace.start()}).call(this);
function CRLTopDriver() {}
CRLTopDriver.prototype.sess = window.sessionStorage;
CRLTopDriver.prototype.top = window.top || window;
CRLTopDriver.prototype.getHash = function() {
var mR = null;
if (this.sess) {
mR = this.sess.getItem('__rlA') || null;
} else if (this.top) {
var mData = this.top.name && JSON && '{' === this.top.name.toString().substr(0, 1) ? JSON.parse(this.top.name) : null;
mR = mData ? (mData['__rlA'] || null) : null;
}
return mR;
};
CRLTopDriver.prototype.setHash = function() {
if (this.sess) {
this.sess.setItem('__rlA',
window.rainloopAppData && window.rainloopAppData['AuthAccountHash'] ? window.rainloopAppData['AuthAccountHash'] : '');
} else if (this.top) {
this.top.name = JSON.stringify({
'__rlA': window.rainloopAppData && window.rainloopAppData['AuthAccountHash'] ? window.rainloopAppData['AuthAccountHash'] : ''
});
}
};
CRLTopDriver.prototype.clearHash = function() {
if (this.sess) {
this.sess.setItem('__rlA', '');
} else if (this.top) {
this.top.name = '';
}
};
window._topRLDriver = new CRLTopDriver();
function __rlah() {
return window._topRLDriver ? window._topRLDriver.getHash() : null;
}
function __rlah_set() {
if (window._topRLDriver) {
window._topRLDriver.setHash();
}
}
function __rlah_clear() {
if (window._topRLDriver) {
window._topRLDriver.clearHash();
}
}
if (window.Pace && window.Pace.start)
{
window.Pace.start({
'startOnPageLoad': false,
'restartOnPushState': false,
'restartOnBackboneRoute': false,
'catchupTime': 500,
'initialRate': 0.05,
'elements': false
});
}