/*
 * MBP - Mobile boilerplate helper functions
 */
(function(a){window.MBP=window.MBP||{},MBP.viewportmeta=a.querySelector&&a.querySelector('meta[name="viewport"]'),MBP.ua=navigator.userAgent,MBP.scaleFix=function(){MBP.viewportmeta&&/iPhone|iPad/.test(MBP.ua)&&!/Opera Mini/.test(MBP.ua)&&(MBP.viewportmeta.content="width=device-width, minimum-scale=1.0, maximum-scale=1.0",a.addEventListener("gesturestart",MBP.gestureStart,!1))},MBP.gestureStart=function(){MBP.viewportmeta.content="width=device-width, minimum-scale=0.25, maximum-scale=1.6"},MBP.hideUrlBar=function(){/iPhone/.test(MBP.ua)&&!pageYOffset&&!location.hash&&setTimeout(function(){window.scrollTo(0,1)},1e3)},MBP.fastButton=function(a,b){this.element=a,this.handler=b,a.addEventListener&&(a.addEventListener("touchstart",this,!1),a.addEventListener("click",this,!1))},MBP.fastButton.prototype.handleEvent=function(a){switch(a.type){case"touchstart":this.onTouchStart(a);break;case"touchmove":this.onTouchMove(a);break;case"touchend":this.onClick(a);break;case"click":this.onClick(a)}},MBP.fastButton.prototype.onTouchStart=function(b){b.stopPropagation(),this.element.addEventListener("touchend",this,!1),a.body.addEventListener("touchmove",this,!1),this.startX=b.touches[0].clientX,this.startY=b.touches[0].clientY,this.element.style.backgroundColor="rgba(0,0,0,.7)"},MBP.fastButton.prototype.onTouchMove=function(a){(Math.abs(a.touches[0].clientX-this.startX)>10||Math.abs(a.touches[0].clientY-this.startY)>10)&&this.reset()},MBP.fastButton.prototype.onClick=function(a){a.stopPropagation(),this.reset(),this.handler(a),a.type=="touchend"&&MBP.preventGhostClick(this.startX,this.startY),this.element.style.backgroundColor=""},MBP.fastButton.prototype.reset=function(){this.element.removeEventListener("touchend",this,!1),a.body.removeEventListener("touchmove",this,!1),this.element.style.backgroundColor=""},MBP.preventGhostClick=function(a,b){MBP.coords.push(a,b),window.setTimeout(function(){MBP.coords.splice(0,2)},2500)},MBP.ghostClickHandler=function(a){for(var b=0,c=MBP.coords.length;b<c;b+=2){var d=MBP.coords[b],e=MBP.coords[b+1];Math.abs(a.clientX-d)<25&&Math.abs(a.clientY-e)<25&&(a.stopPropagation(),a.preventDefault())}},a.addEventListener&&a.addEventListener("click",MBP.ghostClickHandler,!0),MBP.coords=[],MBP.splash=function(){var b=navigator.platform==="iPad"?"h/":"l/";a.write('<link rel="apple-touch-startup-image" href="/img/'+b+'splash.png" />')},MBP.autogrow=function(a,b){function c(a){var b=this.scrollHeight,c=this.clientHeight;b>c&&(this.style.height=b+3*e+"px")}var d=b?b:12,e=a.currentStyle?a.currentStyle.lineHeight:getComputedStyle(a,null).lineHeight;e=e.indexOf("px")==-1?d:parseInt(e,10),a.style.overflow="hidden",a.addEventListener?a.addEventListener("keyup",c,!1):a.attachEvent("onkeyup",c)}})(document)
