/** * * /$$ * | $$ * | $$ /$$ /$$ /$$$$$$$ /$$$$$$ /$$$$$$ * | $$ | $$ | $$| $$__ $$ /$$__ $$ /$$__ $$ * | $$ | $$ | $$| $$ \ $$| $$ \ $$| $$ \ $$ * | $$ | $$ | $$| $$ | $$| $$ | $$| $$ | $$ * | $$$$$$$$| $$$$$$/| $$ | $$| $$$$$$$| $$$$$$/ * |________/ \______/ |__/ |__/ \____ $$ \______/ * /$$ \ $$ * | $$$$$$/ * \______/ * * @copyright 2011 TapQuo Inc (c) * @license http://www.github.com/tapquo/lungo/blob/master/LICENSE.txt * @version 1.0.3 * @link https://github.com/TapQuo/Lungo.js * * @author Javier Jimenez Villar || @soyjavi * @author Guillermo Pascual || @pasku1 */ (function(a){if(String.prototype.trim===a)String.prototype.trim=function(){return this.replace(/^\s+/,"").replace(/\s+$/,"")};if(Array.prototype.reduce===a)Array.prototype.reduce=function(g){if(this===void 0||this===null)throw new TypeError;var f=Object(this),h=f.length>>>0,j=0,n;if(typeof g!="function")throw new TypeError;if(h==0&&arguments.length==1)throw new TypeError;if(arguments.length>=2)n=arguments[1];else{do{if(j in f){n=f[j++];break}if(++j>=h)throw new TypeError;}while(1)}for(;j= 0||d===window){r=[d];d=null}else if(G.test(d)){r=z(d.trim(),RegExp.$1);d=null}else r=d.nodeType&&d.nodeType==3?[d]:y(s,d);return A(r,d)}}function D(d,p){return p===k?t(d):t(d).filter(p)}function F(d,p,r,B){return a(p)?p.call(d,r,B):p}function v(d,p,r){var B=d%2?p:p.parentNode;B&&B.insertBefore(r,!d?p.nextSibling:d==1?B.firstChild:d==2?p:null)}function m(d,p){p(d);for(var r in d.childNodes)m(d.childNodes[r],p)}var k,u,y,c,b=[],e=b.slice,s=window.document,x={},C={},E=s.defaultView.getComputedStyle, H={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},G=/^\s*<(\w+)[^>]*>/,J=[1,9,11],O=s.createElement("table"),Q=s.createElement("tr"),P={tr:s.createElement("tbody"),tbody:O,thead:O,tfoot:O,td:Q,th:Q,"*":s.createElement("div")},R=/complete|loaded|interactive/,S=/^\.([\w-]+)$/,T=/^#([\w-]+)$/,U=/^[\w-]+$/;t.extend=function(d){e.call(arguments,1).forEach(function(p){for(u in p)d[u]=p[u]});return d};t.qsa=y=function(d,p){var r;return d===s&&T.test(p)?(r=d.getElementById(RegExp.$1))? [r]:b:e.call(S.test(p)?d.getElementsByClassName(RegExp.$1):U.test(p)?d.getElementsByTagName(p):d.querySelectorAll(p))};t.isFunction=a;t.isObject=g;t.isArray=f;t.map=function(d,p){var r,B=[],I;if(h(d))for(I=0;I0?[].concat.apply([],B):B};t.each=function(d,p){var r;if(h(d))for(r=0;r=0}))},end:function(){return this.prevObject||t()},andSelf:function(){return this.add(this.prevObject||t())},add:function(d,p){return t(o(this.concat(t(d,p))))},is:function(d){return this.length>0&&t(this[0]).filter(d).length>0},not:function(d){var p=[];if(a(d)&&d.call!==k)this.each(function(B){d.call(this,B)||p.push(this)});else{var r=typeof d=="string"?this.filter(d): h(d)&&a(d.item)?e.call(d):t(d);this.forEach(function(B){r.indexOf(B)<0&&p.push(B)})}return t(p)},eq:function(d){return d===-1?this.slice(d):this.slice(d,+d+1)},first:function(){var d=this[0];return d&&!g(d)?d:t(d)},last:function(){var d=this[this.length-1];return d&&!g(d)?d:t(d)},find:function(d){var p;p=this.length==1?y(this[0],d):this.map(function(){return y(this,d)});return t(p)},closest:function(d,p){var r=this[0],B=y(p||s,d);for(B.length||(r=null);r&&B.indexOf(r)<0;)r=r!==p&&r!==s&&r.parentNode; return t(r)},parents:function(d){for(var p=[],r=this;r.length>0;)r=t.map(r,function(B){if((B=B.parentNode)&&B!==s&&p.indexOf(B)<0){p.push(B);return B}});return D(p,d)},parent:function(d){return D(o(this.pluck("parentNode")),d)},children:function(d){return D(this.map(function(){return e.call(this.children)}),d)},siblings:function(d){return D(this.map(function(p,r){return e.call(r.parentNode.children).filter(function(B){return B!==r})}),d)},empty:function(){return this.each(function(){this.innerHTML= ""})},pluck:function(d){return this.map(function(){return this[d]})},show:function(){return this.each(function(){this.style.display=="none"&&(this.style.display=null);if(E(this,"").getPropertyValue("display")=="none"){var d=this.style,p=this.nodeName,r,B;if(!x[p]){r=s.createElement(p);s.body.appendChild(r);B=E(r,"").getPropertyValue("display");r.parentNode.removeChild(r);B=="none"&&(B="block");x[p]=B}d.display=x[p]}})},replaceWith:function(d){return this.each(function(){t(this).before(d).remove()})}, wrap:function(d){return this.each(function(){t(this).wrapAll(t(d)[0].cloneNode(false))})},wrapAll:function(d){if(this[0]){t(this[0]).before(d=t(d));d.append(this)}return this},unwrap:function(){this.parent().each(function(){t(this).replaceWith(t(this).children())});return this},hide:function(){return this.css("display","none")},toggle:function(d){return(d===k?this.css("display")=="none":d)?this.show():this.hide()},prev:function(){return t(this.pluck("previousElementSibling"))},next:function(){return t(this.pluck("nextElementSibling"))}, html:function(d){return d===k?this.length>0?this[0].innerHTML:null:this.each(function(p){var r=this.innerHTML;t(this).empty().append(F(this,d,p,r))})},text:function(d){return d===k?this.length>0?this[0].textContent:null:this.each(function(){this.textContent=d})},attr:function(d,p){var r;return typeof d=="string"&&p===k?this.length==0?k:d=="value"&&this[0].nodeName=="INPUT"?this.val():!(r=this[0].getAttribute(d))&&d in this[0]?this[0][d]:r:this.each(function(B){if(g(d))for(u in d)this.setAttribute(u, d[u]);else this.setAttribute(d,F(this,p,B,this.getAttribute(d)))})},removeAttr:function(d){return this.each(function(){this.removeAttribute(d)})},data:function(d,p){return this.attr("data-"+d,p)},val:function(d){return d===k?this.length>0?this[0].value:null:this.each(function(p){this.value=F(this,d,p,this.value)})},offset:function(){if(this.length==0)return null;var d=this[0].getBoundingClientRect();return{left:d.left+window.pageXOffset,top:d.top+window.pageYOffset,width:d.width,height:d.height}}, css:function(d,p){if(p===k&&typeof d=="string")return this.length==0?k:this[0].style[n(d)]||E(this[0],"").getPropertyValue(d);var r="";for(u in d)r+=q(u)+":"+(typeof d[u]=="number"&&!H[q(u)]?d[u]+"px":d[u])+";";if(typeof d=="string")r=q(d)+":"+(typeof p=="number"&&!H[q(d)]?p+"px":p);return this.each(function(){this.style.cssText+=";"+r})},index:function(d){return d?this.indexOf(t(d)[0]):this.parent().children().indexOf(this[0])},hasClass:function(d){return this.length<1?false:w(d).test(this[0].className)}, addClass:function(d){return this.each(function(p){c=[];var r=this.className;F(this,d,p,r).split(/\s+/g).forEach(function(B){t(this).hasClass(B)||c.push(B)},this);c.length&&(this.className+=(r?" ":"")+c.join(" "))})},removeClass:function(d){return this.each(function(p){if(d===k)return this.className="";c=this.className;F(this,d,p,c).split(/\s+/g).forEach(function(r){c=c.replace(w(r)," ")});this.className=c.trim()})},toggleClass:function(d,p){return this.each(function(r){r=F(this,d,r,this.className); (p===k?!t(this).hasClass(r):p)?t(this).addClass(r):t(this).removeClass(r)})}};"filter,add,not,eq,first,last,find,closest,parents,parent,children,siblings".split(",").forEach(function(d){var p=t.fn[d];t.fn[d]=function(){var r=p.apply(this,arguments);r.prevObject=this;return r}});["width","height"].forEach(function(d){t.fn[d]=function(p){var r,B=d.replace(/./,function(I){return I[0].toUpperCase()});return p===k?this[0]==window?window["inner"+B]:this[0]==s?s.documentElement["offset"+B]:(r=this.offset())&& r[d]:this.each(function(I){var L=t(this);L.css(d,F(this,p,I,L[d]()))})}});["after","prepend","before","append"].forEach(function(d,p){t.fn[d]=function(r){var B=g(r)?r:z(r);if(!("length"in B)||B.nodeType)B=[B];if(B.length<1)return this;var I=this.length,L=I>1,V=p<2;return this.each(function(W,X){for(var M=0;M0&&this.one(m,v);setTimeout(function(){F.css(t);o<=0&&setTimeout(function(){F.each(function(){v.call(this)})},0)},0);return this};j=null})(Zepto); (function(a){function g(m,k,u,y){if(m.global){m=k||t;u=a.Event(u);a(m).trigger(u,y);return!u.defaultPrevented}}function f(m){m.global&&a.active++===0&&g(m,null,"ajaxStart")}function h(m,k){var u=k.context;if(k.beforeSend.call(u,m,k)===false||g(k,u,"ajaxBeforeSend",[m,k])===false)return false;g(k,u,"ajaxSend",[m,k])}function j(m,k,u){var y=u.context;u.success.call(y,m,"success",k);g(u,y,"ajaxSuccess",[k,u,m]);q("success",k,u)}function n(m,k,u,y){var c=y.context;y.error.call(c,u,k,m);g(y,c,"ajaxError", [u,y,m]);q(k,u,y)}function q(m,k,u){var y=u.context;u.complete.call(y,k,m);g(u,y,"ajaxComplete",[k,u]);u.global&&!--a.active&&g(u,null,"ajaxStop")}function o(){}function w(m,k,u,y){var c=a.isArray(k);a.each(k,function(b,e){if(y)b=u?y:y+"["+(c?"":b)+"]";if(!y&&c)m.add(e.name,e.value);else(u?a.isArray(e):A(e))?w(m,e,u,b):m.add(b,e)})}var z=0,A=a.isObject,t=window.document,D,F;a.active=0;a.ajaxJSONP=function(m){var k="jsonp"+ ++z,u=t.createElement("script"),y={abort:function(){a(u).remove();if(k in window)window[k]= o;q(y,m,"abort")}},c;window[k]=function(b){clearTimeout(c);a(u).remove();delete window[k];j(b,y,m)};u.src=m.url.replace(/=\?/,"="+k);a("head").append(u);if(m.timeout>0)c=setTimeout(function(){y.abort();q(y,m,"timeout")},m.timeout);return y};a.ajaxSettings={type:"GET",beforeSend:o,success:o,error:o,complete:o,context:null,global:true,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript",json:"application/json",xml:"application/xml, text/xml",html:"text/html", text:"text/plain"},crossDomain:false,timeout:0};a.ajax=function(m){var k=a.extend({},m||{});for(D in a.ajaxSettings)if(k[D]===undefined)k[D]=a.ajaxSettings[D];f(k);if(!k.crossDomain)k.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(k.url)&&RegExp.$2!=window.location.host;if(/=\?/.test(k.url))return a.ajaxJSONP(k);if(!k.url)k.url=window.location.toString();if(k.data&&!k.contentType)k.contentType="application/x-www-form-urlencoded";if(A(k.data))k.data=a.param(k.data);if(k.type.match(/get/i)&&k.data){m=k.data; if(k.url.match(/\?.*=/))m="&"+m;else if(m[0]!="?")m="?"+m;k.url+=m}var u=k.accepts[k.dataType];m={};var y=/^([\w-]+:)\/\//.test(k.url)?RegExp.$1:window.location.protocol,c=a.ajaxSettings.xhr(),b;k.crossDomain||(m["X-Requested-With"]="XMLHttpRequest");if(u)m.Accept=u;k.headers=a.extend(m,k.headers||{});c.onreadystatechange=function(){if(c.readyState==4){clearTimeout(b);var e,s=false;if(c.status>=200&&c.status<300||c.status==0&&y=="file:"){if(u=="application/json"&&!/^\s*$/.test(c.responseText))try{e= JSON.parse(c.responseText)}catch(x){s=x}else e=c.responseText;s?n(s,"parsererror",c,k):j(e,c,k)}else n(null,"error",c,k)}};c.open(k.type,k.url,true);if(k.contentType)k.headers["Content-Type"]=k.contentType;for(F in k.headers)c.setRequestHeader(F,k.headers[F]);if(h(c,k)===false){c.abort();return false}if(k.timeout>0)b=setTimeout(function(){c.onreadystatechange=o;c.abort();n(null,"timeout",c,k)},k.timeout);c.send(k.data);return c};a.get=function(m,k){return a.ajax({url:m,success:k})};a.post=function(m, k,u,y){if(a.isFunction(k)){y=y||u;u=k;k=null}return a.ajax({type:"POST",url:m,data:k,success:u,dataType:y})};a.getJSON=function(m,k){return a.ajax({url:m,success:k,dataType:"json"})};a.fn.load=function(m,k){if(!this.length)return this;var u=this,y=m.split(/\s/),c;if(y.length>1){m=y[0];c=y[1]}a.get(m,function(b){u.html(c?a(t.createElement("div")).html(b).find(c).html():b);k&&k.call(u)});return this};var v=encodeURIComponent;a.param=function(m,k){var u=[];u.add=function(y,c){this.push(v(y)+"="+v(c))}; w(u,m,k);return u.join("&").replace("%20","+")}})(Zepto); (function(a){a.fn.serializeArray=function(){var g=[],f;a(Array.prototype.slice.call(this.get(0).elements)).each(function(){f=a(this);var h=f.attr("type");if(!this.disabled&&h!="submit"&&h!="reset"&&h!="button"&&(h!="radio"&&h!="checkbox"||this.checked))g.push({name:f.attr("name"),value:f.val()})});return g};a.fn.serialize=function(){var g=[];this.serializeArray().forEach(function(f){g.push(encodeURIComponent(f.name)+"="+encodeURIComponent(f.value))});return g.join("&")};a.fn.submit=function(g){if(g)this.bind("submit", g);else if(this.length){g=a.Event("submit");this.eq(0).trigger(g);g.defaultPrevented||this.get(0).submit()}return this}})(Zepto); (function(a){function g(){if(f.last&&Date.now()-f.last>=j){a(f.target).trigger("longTap");f={}}}var f={},h,j=750;a(document).ready(function(){a(document.body).bind("touchstart",function(n){var q=Date.now(),o=q-(f.last||q);f.target="tagName"in n.touches[0].target?n.touches[0].target:n.touches[0].target.parentNode;h&&clearTimeout(h);f.x1=n.touches[0].pageX;f.y1=n.touches[0].pageY;if(o>0&&o<=250)f.isDoubleTap=true;f.last=q;setTimeout(g,j)}).bind("touchmove",function(n){f.x2=n.touches[0].pageX;f.y2=n.touches[0].pageY}).bind("touchend", function(){if(f.isDoubleTap){a(f.target).trigger("doubleTap");f={}}else if(f.x2>0||f.y2>0){(Math.abs(f.x1-f.x2)>30||Math.abs(f.y1-f.y2)>30)&&a(f.target).trigger("swipe")&&a(f.target).trigger("swipe"+(Math.abs(f.x1-f.x2)>=Math.abs(f.y1-f.y2)?f.x1-f.x2>0?"Left":"Right":f.y1-f.y2>0?"Up":"Down"));f.x1=f.x2=f.y1=f.y2=f.last=0}else if("last"in f)h=setTimeout(function(){h=null;a(f.target).trigger("tap");f={}},250)}).bind("touchcancel",function(){f={}})});["swipe","swipeLeft","swipeRight","swipeUp","swipeDown", "doubleTap","tap","longTap"].forEach(function(n){a.fn[n]=function(q){return this.bind(n,q)}})})(Zepto);(function(){var a=Math,g=/webkit/i.test(navigator.appVersion)?"webkit":/firefox/i.test(navigator.userAgent)?"Moz":"opera"in window?"O":"",f="WebKitCSSMatrix"in window&&"m11"in new WebKitCSSMatrix,h="ontouchstart"in window,j=g+"Transform"in document.documentElement.style,n=/android/gi.test(navigator.appVersion),q=/iphone|ipad/gi.test(navigator.appVersion),o=/playbook/gi.test(navigator.appVersion),w=q||o,z=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame|| window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(c){return setTimeout(c,1)}}(),A=window.cancelRequestAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||clearTimeout,t="onorientationchange"in window?"orientationchange":"resize",D=h?"touchstart":"mousedown",F=h?"touchmove":"mousemove",v=h?"touchend":"mouseup",m=h?"touchcancel":"mouseup",k=g=="Moz"?"DOMMouseScroll": "mousewheel",u="translate"+(f?"3d(":"("),y=f?",0)":")";o=function(c,b){var e=this,s=document,x;e.wrapper=typeof c=="object"?c:s.getElementById(c);e.wrapper.style.overflow="hidden";e.scroller=e.wrapper.children[0];e.options={hScroll:true,vScroll:true,bounce:true,bounceLock:false,momentum:true,lockDirection:true,useTransform:true,useTransition:false,topOffset:0,checkDOMChanges:false,hScrollbar:true,vScrollbar:true,fixedScrollbar:n,hideScrollbar:q,fadeScrollbar:q&&f,scrollbarClass:"",zoom:false,zoomMin:1, zoomMax:4,doubleTapZoom:2,wheelAction:"scroll",snap:false,snapThreshold:1,onRefresh:null,onBeforeScrollStart:function(C){C.preventDefault()},onScrollStart:null,onBeforeScrollMove:null,onScrollMove:null,onBeforeScrollEnd:null,onScrollEnd:null,onTouchEnd:null,onDestroy:null,onZoomStart:null,onZoom:null,onZoomEnd:null};for(x in b)e.options[x]=b[x];e.options.useTransform=j?e.options.useTransform:false;e.options.hScrollbar=e.options.hScroll&&e.options.hScrollbar;e.options.vScrollbar=e.options.vScroll&& e.options.vScrollbar;e.options.zoom=e.options.useTransform&&e.options.zoom;e.options.useTransition=w&&e.options.useTransition;e.scroller.style[g+"TransitionProperty"]=e.options.useTransform?"-"+g.toLowerCase()+"-transform":"top left";e.scroller.style[g+"TransitionDuration"]="0";e.scroller.style[g+"TransformOrigin"]="0 0";if(e.options.useTransition)e.scroller.style[g+"TransitionTimingFunction"]="cubic-bezier(0.33,0.66,0.66,1)";if(e.options.useTransform)e.scroller.style[g+"Transform"]=u+"0,0"+y;else e.scroller.style.cssText+= ";position:absolute;top:0;left:0";if(e.options.useTransition)e.options.fixedScrollbar=true;e.refresh();e._bind(t,window);e._bind(D);if(!h){e._bind("mouseout",e.wrapper);e._bind(k)}if(e.options.checkDOMChanges)e.checkDOMTime=setInterval(function(){e._checkDOMChanges()},500)};o.prototype={enabled:true,x:0,y:0,steps:[],scale:1,currPageX:0,currPageY:0,pagesX:[],pagesY:[],aniTime:null,wheelZoomCount:0,handleEvent:function(c){switch(c.type){case D:if(!h&&c.button!==0)break;this._start(c);break;case F:this._move(c); break;case v:case m:this._end(c);break;case t:this._resize();break;case k:this._wheel(c);break;case "mouseout":this._mouseout(c);break;case "webkitTransitionEnd":this._transitionEnd(c)}},_checkDOMChanges:function(){this.moved||this.zoomed||this.animating||this.scrollerW==this.scroller.offsetWidth*this.scale&&this.scrollerH==this.scroller.offsetHeight*this.scale||this.refresh()},_scrollbar:function(c){var b=document,e;if(this[c+"Scrollbar"]){if(!this[c+"ScrollbarWrapper"]){e=b.createElement("div"); if(this.options.scrollbarClass)e.className=this.options.scrollbarClass+c.toUpperCase();else e.style.cssText="position:absolute;z-index:100;"+(c=="h"?"height:7px;bottom:1px;left:2px;right:"+(this.vScrollbar?"7":"2")+"px":"width:7px;bottom:"+(this.hScrollbar?"7":"2")+"px;top:2px;right:1px");e.style.cssText+=";pointer-events:none;-"+g+"-transition-property:opacity;-"+g+"-transition-duration:"+(this.options.fadeScrollbar?"350ms":"0")+";overflow:hidden;opacity:"+(this.options.hideScrollbar?"0":"1");this.wrapper.appendChild(e); this[c+"ScrollbarWrapper"]=e;e=b.createElement("div");if(!this.options.scrollbarClass)e.style.cssText="position:absolute;z-index:100;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);-"+g+"-background-clip:padding-box;-"+g+"-box-sizing:border-box;"+(c=="h"?"height:100%":"width:100%")+";-"+g+"-border-radius:3px;border-radius:3px";e.style.cssText+=";pointer-events:none;-"+g+"-transition-property:-"+g+"-transform;-"+g+"-transition-timing-function:cubic-bezier(0.33,0.66,0.66,1);-"+g+"-transition-duration:0;-"+ g+"-transform:"+u+"0,0"+y;if(this.options.useTransition)e.style.cssText+=";-"+g+"-transition-timing-function:cubic-bezier(0.33,0.66,0.66,1)";this[c+"ScrollbarWrapper"].appendChild(e);this[c+"ScrollbarIndicator"]=e}if(c=="h"){this.hScrollbarSize=this.hScrollbarWrapper.clientWidth;this.hScrollbarIndicatorSize=a.max(a.round(this.hScrollbarSize*this.hScrollbarSize/this.scrollerW),8);this.hScrollbarIndicator.style.width=this.hScrollbarIndicatorSize+"px";this.hScrollbarMaxScroll=this.hScrollbarSize-this.hScrollbarIndicatorSize; this.hScrollbarProp=this.hScrollbarMaxScroll/this.maxScrollX}else{this.vScrollbarSize=this.vScrollbarWrapper.clientHeight;this.vScrollbarIndicatorSize=a.max(a.round(this.vScrollbarSize*this.vScrollbarSize/this.scrollerH),8);this.vScrollbarIndicator.style.height=this.vScrollbarIndicatorSize+"px";this.vScrollbarMaxScroll=this.vScrollbarSize-this.vScrollbarIndicatorSize;this.vScrollbarProp=this.vScrollbarMaxScroll/this.maxScrollY}this._scrollbarPos(c,true)}else if(this[c+"ScrollbarWrapper"]){if(j)this[c+ "ScrollbarIndicator"].style[g+"Transform"]="";this[c+"ScrollbarWrapper"].parentNode.removeChild(this[c+"ScrollbarWrapper"]);this[c+"ScrollbarWrapper"]=null;this[c+"ScrollbarIndicator"]=null}},_resize:function(){var c=this;setTimeout(function(){c.refresh()},n?200:0)},_pos:function(c,b){c=this.hScroll?c:0;b=this.vScroll?b:0;if(this.options.useTransform)this.scroller.style[g+"Transform"]=u+c+"px,"+b+"px"+y+" scale("+this.scale+")";else{c=a.round(c);b=a.round(b);this.scroller.style.left=c+"px";this.scroller.style.top= b+"px"}this.x=c;this.y=b;this._scrollbarPos("h");this._scrollbarPos("v")},_scrollbarPos:function(c,b){var e=c=="h"?this.x:this.y;if(this[c+"Scrollbar"]){e=this[c+"ScrollbarProp"]*e;if(e<0){if(!this.options.fixedScrollbar){e=this[c+"ScrollbarIndicatorSize"]+a.round(e*3);if(e<8)e=8;this[c+"ScrollbarIndicator"].style[c=="h"?"width":"height"]=e+"px"}e=0}else if(e>this[c+"ScrollbarMaxScroll"])if(this.options.fixedScrollbar)e=this[c+"ScrollbarMaxScroll"];else{e=this[c+"ScrollbarIndicatorSize"]-a.round((e- this[c+"ScrollbarMaxScroll"])*3);if(e<8)e=8;this[c+"ScrollbarIndicator"].style[c=="h"?"width":"height"]=e+"px";e=this[c+"ScrollbarMaxScroll"]+(this[c+"ScrollbarIndicatorSize"]-e)}this[c+"ScrollbarWrapper"].style[g+"TransitionDelay"]="0";this[c+"ScrollbarWrapper"].style.opacity=b&&this.options.hideScrollbar?"0":"1";this[c+"ScrollbarIndicator"].style[g+"Transform"]=u+(c=="h"?e+"px,0":"0,"+e+"px")+y}},_start:function(c){var b=h?c.touches[0]:c,e,s;if(this.enabled){this.options.onBeforeScrollStart&&this.options.onBeforeScrollStart.call(this, c);if(this.options.useTransition||this.options.zoom)this._transitionTime(0);this.zoomed=this.animating=this.moved=false;this.dirY=this.dirX=this.absDistY=this.absDistX=this.distY=this.distX=0;if(this.options.zoom&&h&&c.touches.length>1){s=a.abs(c.touches[0].pageX-c.touches[1].pageX);e=a.abs(c.touches[0].pageY-c.touches[1].pageY);this.touchesDistStart=a.sqrt(s*s+e*e);this.originX=a.abs(c.touches[0].pageX+c.touches[1].pageX-this.wrapperOffsetLeft*2)/2-this.x;this.originY=a.abs(c.touches[0].pageY+c.touches[1].pageY- this.wrapperOffsetTop*2)/2-this.y;this.options.onZoomStart&&this.options.onZoomStart.call(this,c)}if(this.options.momentum){if(this.options.useTransform){e=getComputedStyle(this.scroller,null)[g+"Transform"].replace(/[^0-9-.,]/g,"").split(",");s=e[4]*1;e=e[5]*1}else{s=getComputedStyle(this.scroller,null).left.replace(/[^0-9-]/g,"")*1;e=getComputedStyle(this.scroller,null).top.replace(/[^0-9-]/g,"")*1}if(s!=this.x||e!=this.y){this.options.useTransition?this._unbind("webkitTransitionEnd"):A(this.aniTime); this.steps=[];this._pos(s,e)}}this.absStartX=this.x;this.absStartY=this.y;this.startX=this.x;this.startY=this.y;this.pointX=b.pageX;this.pointY=b.pageY;this.startTime=c.timeStamp||(new Date).getTime();this.options.onScrollStart&&this.options.onScrollStart.call(this,c);this._bind(F);this._bind(v);this._bind(m)}},_move:function(c){var b=h?c.touches[0]:c,e=b.pageX-this.pointX,s=b.pageY-this.pointY,x=this.x+e,C=this.y+s,E=c.timeStamp||(new Date).getTime();this.options.onBeforeScrollMove&&this.options.onBeforeScrollMove.call(this, c);if(this.options.zoom&&h&&c.touches.length>1){x=a.abs(c.touches[0].pageX-c.touches[1].pageX);C=a.abs(c.touches[0].pageY-c.touches[1].pageY);this.touchesDist=a.sqrt(x*x+C*C);this.zoomed=true;b=1/this.touchesDistStart*this.touchesDist*this.scale;if(bthis.options.zoomMax)b=2*this.options.zoomMax*Math.pow(0.5,this.options.zoomMax/b);this.lastScale=b/this.scale;x=this.originX-this.originX*this.lastScale+this.x; C=this.originY-this.originY*this.lastScale+this.y;this.scroller.style[g+"Transform"]=u+x+"px,"+C+"px"+y+" scale("+b+")";this.options.onZoom&&this.options.onZoom.call(this,c)}else{this.pointX=b.pageX;this.pointY=b.pageY;if(x>0||x=0||this.maxScrollX>=0?0:this.maxScrollX;if(C>this.minScrollY||C=this.minScrollY||this.maxScrollY>=0?this.minScrollY:this.maxScrollY;if(this.absDistX<6&&this.absDistY<6){this.distX+= e;this.distY+=s;this.absDistX=a.abs(this.distX);this.absDistY=a.abs(this.distY)}else{if(this.options.lockDirection)if(this.absDistX>this.absDistY+5){C=this.y;s=0}else if(this.absDistY>this.absDistX+5){x=this.x;e=0}this.moved=true;this._pos(x,C);this.dirX=e>0?-1:e<0?1:0;this.dirY=s>0?-1:s<0?1:0;if(E-this.startTime>300){this.startTime=E;this.startX=this.x;this.startY=this.y}this.options.onScrollMove&&this.options.onScrollMove.call(this,c)}}},_end:function(c){if(!(h&&c.touches.length!=0)){var b=this, e=h?c.changedTouches[0]:c,s,x,C={dist:0,time:0},E={dist:0,time:0},H=(c.timeStamp||(new Date).getTime())-b.startTime,G=b.x,J=b.y;b._unbind(F);b._unbind(v);b._unbind(m);b.options.onBeforeScrollEnd&&b.options.onBeforeScrollEnd.call(b,c);if(b.zoomed){G=b.scale*b.lastScale;G=Math.max(b.options.zoomMin,G);G=Math.min(b.options.zoomMax,G);b.lastScale=G/b.scale;b.scale=G;b.x=b.originX-b.originX*b.lastScale+b.x;b.y=b.originY-b.originY*b.lastScale+b.y;b.scroller.style[g+"TransitionDuration"]="200ms";b.scroller.style[g+ "Transform"]=u+b.x+"px,"+b.y+"px"+y+" scale("+b.scale+")";b.zoomed=false;b.refresh();b.options.onZoomEnd&&b.options.onZoomEnd.call(b,c)}else{if(b.moved){if(H<300&&b.options.momentum){C=G?b._momentum(G-b.startX,H,-b.x,b.scrollerW-b.wrapperW+b.x,b.options.bounce?b.wrapperW:0):C;E=J?b._momentum(J-b.startY,H,-b.y,b.maxScrollY<0?b.scrollerH-b.wrapperH+b.y-b.minScrollY:0,b.options.bounce?b.wrapperH:0):E;G=b.x+C.dist;J=b.y+E.dist;if(b.x>0&&G>0||b.xb.minScrollY&& J>b.minScrollY||b.y=0?0:this.x=this.minScrollY||this.maxScrollY> 0?this.minScrollY:this.yb.options.zoomMax)s=b.options.zoomMax;if(s!=b.scale){!b.wheelZoomCount&&b.options.onZoomStart&&b.options.onZoomStart.call(b,c);b.wheelZoomCount++;b.zoom(c.pageX,c.pageY,s,400);setTimeout(function(){b.wheelZoomCount--; !b.wheelZoomCount&&b.options.onZoomEnd&&b.options.onZoomEnd.call(b,c)},400)}}else{e=b.x+e;s=b.y+s;if(e>0)e=0;else if(eb.minScrollY)s=b.minScrollY;else if(s=s+x.time){c._pos(x.x,x.y);c.animating=false;c.options.onAnimationEnd&&c.options.onAnimationEnd.call(c);c._startAni()}else{H=(H-s)/x.time-1;C=a.sqrt(1-H*H);H=(x.x-b)*C+b;c._pos(H, (x.y-e)*C+e);if(c.animating)c.aniTime=z(E)}})()}else c._resetPos(400)},_transitionTime:function(c){c+="ms";this.scroller.style[g+"TransitionDuration"]=c;if(this.hScrollbar)this.hScrollbarIndicator.style[g+"TransitionDuration"]=c;if(this.vScrollbar)this.vScrollbarIndicator.style[g+"TransitionDuration"]=c},_momentum:function(c,b,e,s,x){b=a.abs(c)/b;var C=b*b/0.0012,E=0;E=0;if(c>0&&C>e){E=x/(6/(C/b*6.0E-4));e+=E;b=b*e/C;C=e}else if(c<0&&C>s){E=x/(6/(C/b*6.0E-4));s+=E;b=b*s/C;C=s}C*=c<0?-1:1;E=b/6.0E-4; return{dist:C,time:a.round(E)}},_offset:function(c){for(var b=-c.offsetLeft,e=-c.offsetTop;c=c.offsetParent;){b-=c.offsetLeft;e-=c.offsetTop}if(c!=this.wrapper){b*=this.scale;e*=this.scale}return{left:b,top:e}},_snap:function(c,b){var e,s,x;x=this.pagesX.length-1;e=0;for(s=this.pagesX.length;e=this.pagesX[e]){x=e;break}x==this.currPageX&&x>0&&this.dirX<0&&x--;c=this.pagesX[x];s=(s=a.abs(c-this.pagesX[this.currPageX]))?a.abs(this.x-c)/s*500:0;this.currPageX=x;x=this.pagesY.length-1;for(e= 0;e=this.pagesY[e]){x=e;break}x==this.currPageY&&x>0&&this.dirY<0&&x--;b=this.pagesY[x];e=(e=a.abs(b-this.pagesY[this.currPageY]))?a.abs(this.y-b)/e*500:0;this.currPageY=x;x=a.round(a.max(s,e))||200;return{x:c,y:b,time:x}},_bind:function(c,b,e){(b||this.scroller).addEventListener(c,this,!!e)},_unbind:function(c,b,e){(b||this.scroller).removeEventListener(c,this,!!e)},destroy:function(){this.scroller.style[g+"Transform"]="";this.vScrollbar=this.hScrollbar=false;this._scrollbar("h");this._scrollbar("v"); this._unbind(t,window);this._unbind(D);this._unbind(F);this._unbind(v);this._unbind(m);if(this.options.hasTouch){this._unbind("mouseout",this.wrapper);this._unbind(k)}this.options.useTransition&&this._unbind("webkitTransitionEnd");this.options.checkDOMChanges&&clearInterval(this.checkDOMTime);this.options.onDestroy&&this.options.onDestroy.call(this)},refresh:function(){var c,b=0,e=0;if(this.scalethis.wrapperH);this.hScrollbar=this.hScroll&&this.options.hScrollbar;this.vScrollbar=this.vScroll&&this.options.vScrollbar&&this.scrollerH>this.wrapperH;c=this._offset(this.wrapper);this.wrapperOffsetLeft=-c.left;this.wrapperOffsetTop=-c.top;if(typeof this.options.snap=="string"){this.pagesX=[];this.pagesY=[];els=this.scroller.querySelectorAll(this.options.snap);i=0;for(l=els.length;i=this.maxScrollX;){this.pagesX[e]=b;b-=this.wrapperW;e++}if(this.maxScrollX%this.wrapperW)this.pagesX[this.pagesX.length]=this.maxScrollX-this.pagesX[this.pagesX.length-1]+this.pagesX[this.pagesX.length-1];e=b=0;for(this.pagesY=[];b>=this.maxScrollY;){this.pagesY[e]=b;b-=this.wrapperH;e++}if(this.maxScrollY%this.wrapperH)this.pagesY[this.pagesY.length]= this.maxScrollY-this.pagesY[this.pagesY.length-1]+this.pagesY[this.pagesY.length-1]}this._scrollbar("h");this._scrollbar("v");if(!this.zoomed){this.scroller.style[g+"TransitionDuration"]="0";this._resetPos(200)}},scrollTo:function(c,b,e,s){var x=c;this.stop();x.length||(x=[{x:c,y:b,time:e,relative:s}]);c=0;for(b=x.length;c0?0:e.leftthis.minScrollY?this.minScrollY:e.topthis.pagesX.length-1?this.pagesX.length-1:c;b=b<0?0:b>this.pagesY.length-1?this.pagesY.length-1:b;this.currPageX=c;this.currPageY=b;c=this.pagesX[c];b=this.pagesY[b]}else{c=-this.wrapperW*c;b=-this.wrapperH*b;if(c0?0:this.xthis.minScrollY?this.minScrollY: this.y0)j=true;else a.Core.log(3,"Lungo.Router ERROR: The target "+h+" does not exists.");return j};return{section:function(h){h=h.indexOf("#")?"#"+h:h;if(f("section"+h)){a.Dom.query(a.Router.History.current()).removeClass(g.SHOW).addClass(g.HIDE);a.Dom.query(h).addClass(g.SHOW);a.Router.History.add(h)}},article:function(h,j){f(h+" article"+j)&&a.View.Article.show(h,j)},back:function(){a.Dom.query(a.Router.History.current()).removeClass(g.SHOW); a.Router.History.removeLast();a.Dom.query(a.Router.History.current()).removeClass(g.HIDE).addClass(g.SHOW)}}}(LUNGO);LUNGO.Router.History=function(){var a=[],g=function(){return a[a.length-1]};return{add:function(f){f!==g()&&a.push(f)},current:g,removeLast:function(){a.length-=1}}}();LUNGO.View.Article=function(a){var g={ARTICLE:"article",NAVIGATION_ITEM:"a"},f={ACTIVE:"current"};return{show:function(h,j){var n=h+" "+g.NAVIGATION_ITEM;a.Dom.query(n).removeClass(f.ACTIVE);n=a.Dom.query(n+'[href="'+j+'"]');n.addClass(f.ACTIVE);(n=n.data("title"))&&a.Dom.query(h+" header .title, "+h+" footer .title").text(n);a.Dom.query(h+" "+g.ARTICLE).removeClass(f.ACTIVE);a.Dom.query(j).addClass(f.ACTIVE)}}}(LUNGO);LUNGO.View.Resize=function(a){return{scroll:function(g){var f=g.children().first(),h=f.children().first();if(a.View.Scroll.isHorizontal(g)){h=f.children().length*h.width();f.css("width",h+"px")}else{var j=f.children().length;g=Math.floor(g.width()/h.width());h=Math.ceil(j/g)*h.height();f.css("height",h+"px")}},article:function(g,f,h,j){f=g.children(f);if(f.length>0){j=f[j]();g.children("article").css(h,j+"px")}},toolbars:function(){for(var g=".toolbar nav",f=a.Dom.query(g),h=0,j=f.length;h> No type defined.");n=void 0}n=n;a.Dom.query("#"+h).html(n); a.Core.execute(q)}else a.Core.log(3,"lng.View.Template.binding: id "+j+" not exists")},dataAttribute:function(h,j){var n=h.data(j.tag);if(n){n=j.html.replace("{{value}}",n);h.prepend(n)}}}}(LUNGO);LUNGO.View.Template.List=function(a){var g=null,f=function(){var h=g.order_field,j=g.order_type==="desc"?-1:1;h&&j&&g.data.sort(function(n,q){return n[h]q[h]?j:0})};return{create:function(h){g=h;g.container_id+="_list";h=false;var j=!!a.Dom.query(g.container_id),n=a.View.Template.exists(g.template_id);if(j&&n){a.Dom.query("#"+g.container_id).html("");j=a.Core.toType(g.data);if(j==="array"||j==="object")h=true}if(h){f();a.View.Template.Binding.create(g.container_id,g.template_id,g.data); h=a.Dom.query("#"+g.container_id).parent().attr("id");a.View.Scroll.create(h,{snap:"li"})}}}}(LUNGO);LUNGO.View.Scroll=function(a){var g={hScroll:false,vScroll:false,useTransition:true,momentum:true,lockDirection:true,fixedScrollbar:true,fadeScrollbar:true,hideScrollbar:true},f=function(j){return j.hasClass("horizontal")?true:false},h=function(j,n){a.Data.Cache.exists("scrolls")||a.Data.Cache.set("scrolls",{});var q=a.Data.Cache.get("scrolls");q[j]=new iScroll(j,n);a.Data.Cache.set("scrolls",q)};return{create:function(j,n){if(j){var q=a.Dom.query("#"+j),o=q.children(),w=o.height()>=q.height();if(o.length> 0&&w){o=n;q=f(q)?"hScroll":"vScroll";o||(o={});o[q]=true;n=o=a.Core.mix(g,o);h(j,n)}}else a.Core.log(3,"ERROR: Impossible to create a without ID")},update:function(j,n){var q=a.Dom.query("#"+j),o=q.children().first();if(o.length===0){q.html('
');o=q.children().first()}o.html(n);a.View.Resize.scroll(q);!a.Data.Cache.get("scrolls",j)&&h(j);a.Data.Cache.get("scrolls",j).refresh()},remove:function(j){if(a.Data.Cache.exists("scrolls")){a.Data.Cache.get("scrolls",j).destroy(); a.Data.Cache.remove("scrolls",j)}},isHorizontal:f}}(LUNGO);LUNGO.Dom=function(a,g){return{query:function(f){return g(f)}}}(LUNGO,Zepto);LUNGO.Dom.Event=function(a){var g=function(f,h,j){var n=false;switch(h){case "SWIPE":a.Dom.query(f).swipe(j);break;case "SWIPE_LEFT":a.Dom.query(f).swipeLeft(j);break;case "SWIPE_RIGHT":a.Dom.query(f).swipeRight(j);break;case "SWIPE_UP":a.Dom.query(f).swipeUp(j);break;case "SWIPE_DOWN":a.Dom.query(f).swipeDown(j);break;case "DOUBLE_TAP":a.Environment.isDesktop()?a.Dom.query(f).live(a.Events.get(h),j):a.Dom.query(f).doubleTap(j);break;default:n=true}return n};return{bind:function(f,h,j){g(f,h,j)&& a.Dom.query(f).bind(a.Events.get(h),j)},unbind:function(f,h){a.Dom.query(f).unbind(a.Events.get(h))},live:function(f,h,j){g(f,h,j)&&a.Dom.query(f).live(a.Events.get(h),j)},die:function(f,h){a.Dom.query(f).die(a.Events.get(h))},delegate:function(f,h,j,n){g(f,j,n)&&a.Dom.query(f).delegate(h,a.Events.get(j),n)},undelegate:function(f){a.Dom.query(f).undelegate(f)},listener:function(f,h,j){f.addEventListener(a.Events.get(h),function(n){setTimeout(j,0,n)},false)}}}(LUNGO);LUNGO.Attributes.Data={search:{tag:"search",selector:".list",html:''},icon:{tag:"icon",selector:"*",html:''},title:{tag:"title",selector:"header, footer",html:'

{{value}}

'},back:{tag:"back",selector:"header, footer",html:''}};LUNGO.Attributes.Section={header:{name:"header",reference:"height",bind:"top"},footer:{name:"footer",reference:"height",bind:"bottom"}};LUNGO.Data.Cache=function(a){var g={},f=function(j){return arguments.length===1?g[j]:g[arguments[0]][arguments[1]]},h=function(j){return g[j]?true:false};return{set:function(j,n){g[j]=h(j)?a.Core.mix(f(j),n):n},get:f,remove:function(j){if(arguments.length===1)delete g[j];else delete g[arguments[0]][arguments[1]]},exists:h}}(LUNGO);LUNGO.Data.Sql=function(a){var g={name:"lungo_db",version:"1.0",size:65536,schema:[]},f=null,h=function(o,w){a.Core.log(1,"lng.Data.Sql >> "+o);f.transaction(function(z){z.executeSql(o,[],function(A,t){n(w,t)},q)})},j=function(o,w){var z="",A;for(A in o)if(a.Core.isOwnProperty(o,A)){var t=o[A];if(z)z+=" "+w+" ";z+=A+"=";z+=isNaN(t)?'"'+t+'"':t}return z},n=function(o,w){a.Core.toType(o)==="function"&&setTimeout(o,100,w)},q=function(o,w){a.Core.log(3,"lng.Data.Sql >> "+w.code+": "+w.message)};return{init:function(o){g= a.Core.mix(g,o);if(f=openDatabase(g.name,g.version,g.name,g.size)){o=g.schema;var w=o.length;if(w)for(var z=0;z> Failed to connect to database.")},select:function(o,w,z){w=w?" WHERE "+j(w,"AND"):"";h("SELECT * FROM "+o+w,function(A){for(var t= [],D=0,F=A.rows.length;D')}},j=function(q){q=q.attr("id");a.View.Scroll.create(q)},n=function(q){q.append(" ")};return{start:function(){f(g.LIST_IN_ARTICLE,h);f(g.SCROLL_IN_ARTICLE, j);f(g.CHECKBOX_IN_ARTICLE,n)}}}(LUNGO);LUNGO.Boot.Data=function(a){return{start:function(){var g=a.Attributes.Data,f;for(f in g)if(a.Core.isOwnProperty(g,f))for(var h=g[f],j=a.Dom.query(h.selector),n=0,q=j.length;n