/
script_and_jqtap_min.js
1 lines (1 loc) · 12.3 KB
/
script_and_jqtap_min.js
1
function getWindowHeight(){return $(window).height()}function adjustContentSpacing(e){var t=getWindowHeight();$(e).css({"min-height":t})}function playAudio(e){var t=window.location.pathname;t=t.substr(0,t.length-10);e=t+e;var n=new Media(e,function(){console.log("playAudio():Audio Success")},function(e){console.log("playAudio():Audio Error: "+e)});n.play();setTimeout(function(){n.release()},1e3)}function changeStatus(e){$deviceStatus.fadeOut("fast",function(){$deviceStatus.html(e)});$deviceStatus.fadeIn("fast")}function powerUp(){changeStatus("Powering On...");$powerButton.fadeOut("fast",function(){$powerButtonOff.fadeIn()});flashCounter=0;usingPhonegap?playAudio(beeperPG):$beeper.play();redLEDFlash=setTimeout(function(){$redLED.removeClass("hidden");setTimeout(function(){$redLED.addClass("hidden");changeStatus("Mode: POST");flashLCD(88,9)},500)},500);powered=true;setTimeout(function(){flashGreenLED(500,3e3);setTimeout(function(){changeStatus("Mode: Ready")},2e3)},4e3)}function powerDown(){$powerButtonOff.fadeOut("fast",function(){$powerButton.fadeIn()});powered=false;turnOffLCD();turnOffAllLED();doseCount=0;clearInterval(flashTimer);clearInterval(walkPatternTimer);clearInterval(doseRepeatTimer);clearInterval(beeperTimer);clearInterval(redLEDFlash);clearInterval(greenLEDFlash);doseStageNum=0;changeStatus("Powered Off")}function flashLCD(e,t){flashCounter=0;turnOffLCD();flashTimer=setInterval(function(){if(flashCounter<t){segmentToggle(digits[Math.floor(e/10)],"tens");segmentToggle(digits[e%10],"ones");flashCounter++}else{clearInterval(flashTimer);setLCDNum(doseCount)}},500)}function turnOffLCD(){$display.find("*").addClass("digitOff")}function turnOnLCD(){$display.find("*").removeClass("digitOff")}function setLCDNum(e){turnOffLCD();if(e>9)segmentToggle(digits[Math.floor(e/10)],"tens",on);segmentToggle(digits[e%10],"ones",on)}function segmentToggle(e,t,n){for(var r in e){segmentClass="."+e[r];placeClass="."+t;if(n==on)$(placeClass).find(segmentClass).removeClass("digitOff");else if(n==off)$(placeClass).find(segmentClass).addClass("digitOff");else $(placeClass).find(segmentClass).toggleClass("digitOff")}}function walkLCD(){var e=0;var t,n;walkPatternTimer=setInterval(function(){turnOffLCD();t=walkpattern[e][0];n=walkpattern[e][1];segmentToggle(n,t,on);if(e<7)e++;else e=0},200);var r=setTimeout(function(){clearInterval(walkPatternTimer);setLCDNum(doseCount)},3400)}function setReadyMode(){turnOffAllLED();flashGreenLED(500,3e3);setLCDNum(doseCount);doseLockout=false;clearInterval(flashTimer);clearInterval(walkPatternTimer);clearInterval(doseRepeatTimer);clearInterval(beeperTimer)}function setDose(){doseLockout=true;turnOffLCD();turnOffAllLED();usingPhonegap?playAudio(beeperLongPG):$beeperLong.play();flashGreenLED(400,800);walkLCD();var e=setInterval(function(){walkLCD()},5600);var t=setTimeout(function(){clearInterval(e);doseCount++;setReadyMode();$doseNumber.val(doseCount)},2e4)}function setPoorskin(){doseLockout=true;turnOffAllLED();flashRedLED(400,800);var e=0;usingPhonegap?playAudio(beeperLongPG):$beeperLong.play();setTimeout(function(){usingPhonegap?playAudio(beeperPG):$beeper.play()},900);beeperTimer=setInterval(function(){usingPhonegap?playAudio(beeperLongPG):$beeperLong.play();setTimeout(function(){usingPhonegap?playAudio(beeperPG):$beeper.play()},900);if(e>=6){clearInterval(beeperTimer);setTimeout(function(){setReadyMode()},1e3)}else e++},2400)}function setEOU(){turnOffAllLED();turnOffLCD();setLCDNum(80);flashLCD(80,1e5)}function setEOL(){turnOffAllLED();turnOffLCD();setLCDNum(17);flashLCD(17,1e5);flashRedLED(500,1e3);var e=0;beeperTimer=setInterval(function(){setTimeout(function(){if(e<=4){usingPhonegap?playAudio(beeperPG):$beeper.play()}else e=0},150);e++},750)}function doseModeEnter(e){changeStatus("Mode: "+e);if(e=="Dose 1"||e=="Dose 2"||e=="Normal Operation"){setDose()}else if(e=="Poor Skin 1"||e=="Poor Skin 2"){setPoorskin()}else if(e=="EOU"){setEOU()}else if(e=="EOL"){clearInterval(beeperTimer);clearInterval(flashTimer);setReadyMode();setEOL()}else if(e=="Power Off"){powerDown()}doseStageNum++}function flashGreenLED(e,t){if(powered){greenLEDFlash=setInterval(function(){$greenLED.removeClass("hidden");setTimeout(function(){$greenLED.addClass("hidden")},e)},t)}}function flashRedLED(e,t){if(powered){redLEDFlash=setInterval(function(){$redLED.removeClass("hidden");setTimeout(function(){$redLED.addClass("hidden")},e)},t)}}function turnOffAllLED(){clearInterval(greenLEDFlash);clearInterval(redLEDFlash)}function setStyle(e){var t=document.createElement("style");t.type="text/css";window.customSheet=t;(document.head||document.getElementsByTagName("head")[0]).appendChild(t);return(setStyle=function(e,n){if(!n||n.parentNode!==t)return t.appendChild(document.createTextNode(e));n.nodeValue=e;return n})(e)}!function(e,t){"use strict";var n,r,i,s="._tap",o="._tapActive",u="tap",a=40,f=400,l="clientX clientY screenX screenY pageX pageY".split(" "),c={count:0,event:0},h=function(e,n){var r=n.originalEvent,i=t.Event(r);i.type=e;for(var s=0,o=l.length;o>s;s++)i[l[s]]=n[l[s]];return i},p=function(e){if(e.isTrigger)return!1;var t=c.event,n=Math.abs(e.pageX-t.pageX),r=Math.abs(e.pageY-t.pageY),i=Math.max(n,r);return e.timeStamp-t.timeStamp<f&&a>i&&(!t.touches||1===c.count)&&m.isTracking},d=function(e){var t=Math.abs(e.pageX-i.pageX),n=Math.abs(e.pageY-i.pageY),r=Math.max(t,n);return Math.abs(e.timeStamp-i.timeStamp)<750&&a>r},v=function(e){if(0===e.type.indexOf("touch")){e.touches=e.originalEvent.changedTouches;for(var t=e.touches[0],n=0,r=l.length;r>n;n++)e[l[n]]=t[l[n]]}e.timeStamp||(e.timeStamp=(new Date).getTime())},m={isEnabled:!1,isTracking:!1,enable:function(){m.isEnabled||(m.isEnabled=!0,n=t(e.body).on("touchstart"+s,m.onStart).on("mousedown"+s,m.onStart).on("click"+s,m.onClick))},disable:function(){m.isEnabled&&(m.isEnabled=!1,n.off(s))},onStart:function(e){e.isTrigger||(v(e),e.touches&&(c.count=e.touches.length),m.isTracking||(e.touches||!d(e))&&(m.isTracking=!0,c.event=e,e.touches?(i=e,n.on("touchend"+s+o,m.onEnd).on("touchcancel"+s+o,m.onCancel)):n.on("mouseup"+s+o,m.onEnd)))},onEnd:function(e){var n;e.isTrigger||(v(e),p(e)&&(n=h(u,e),r=n,t(c.event.target).trigger(n)),m.onCancel(e))},onCancel:function(e){e&&"touchcancel"===e.type&&e.preventDefault(),m.isTracking=!1,n.off(o)},onClick:function(e){return!e.isTrigger&&r&&r.isDefaultPrevented()&&r.target===e.target&&r.pageX===e.pageX&&r.pageY===e.pageY&&e.timeStamp-r.timeStamp<750?(r=null,!1):void 0}};t(e).ready(m.enable)}(document,jQuery);var flashCounter=0;var $flashButton=$("#flashButton");var $powerButton=$("#powerButton");var $powerButtonOff=$("#powerButtonOff");var $walkButton=$("#walkButton");var $doseUpButton=$("#doseUpButton");var $doseButton=$(".doseButton");var $poorSkinButton=$("#poorSkin");var $EOLButton=$("#EOL");var $EOUButton=$("#EOU");var $readyButton=$("#readyButton");var $deviceStatus=$("#deviceStatus");var $testSoundPG=$("#testSoundPG");var $doseNumber=$("#doseNumber");var $display=$(".seven-segment");var $greenLED=$(".ledGreen");var $redLED=$(".ledRed");var $beeper=$("#beeper")[0];var $beeperLong=$("#beeper-long")[0];var $buttonPress=$("#button-press")[0];var $logoCircle=$("#headerLogoCircle");var $extraButtons=$(".extraButtons");var powered=false;var on="on";var off="off";var doseButtonFirstPress=false;var doseLockout=false;var doseCount=0;var greenLEDFlash,redLEDFlash;var beeperTimer,flashTimer,timer,doseRepeatTimer,walkPatternTimer;var $contextContent=$(".contextContent");var $contextArrow=$(".contextArrow");var $contextArrowContainer=$(".contextArrowContainer");var $deviceContent=$(".device");var isFullScreen,contextSize;var tempContentStyle;var tempArrowStyle;var contextOpen=false;var $debugLog=$(".debugLog");var $testSlideButton=$("#testSlide");var beeperPG=document.getElementById("beeper").getAttribute("src");var beeperLongPG=document.getElementById("beeper-long").getAttribute("src");var buttonPressPG=document.getElementById("button-press").getAttribute("src");var usingPhonegap=false;var digits=new Array;digits[0]=["a","b","c","d","e","f"];digits[1]=["b","c"];digits[2]=["a","b","g","e","d"];digits[3]=["a","b","g","c","d"];digits[4]=["f","g","b","c"];digits[5]=["a","f","g","c","d"];digits[6]=["a","f","e","d","c","g"];digits[7]=["a","b","c"];digits[8]=["a","b","c","d","e","f","g"];digits[9]=["a","f","g","b","c","d"];var walkpattern=[["ones","a"],["ones","b"],["ones","c"],["ones","d"],["tens","d"],["tens","e"],["tens","f"],["tens","a"]];var doseStage=["Dose 1","Dose 2","Poor Skin 1","Poor Skin 2","EOU","EOL","Power Off"];var doseStageNum=0;document.addEventListener("deviceready",function(){usingPhonegap=true;statusBar.hide()},false);$(document).ready(function(){adjustContentSpacing("section");$powerButtonOff.hide();console.log(document.styleSheets[0]);var e=function(){var e=document.createElement("style");e.appendChild(document.createTextNode(""));document.head.appendChild(e);return e.sheet}();isFullScreen=window.matchMedia("(min-width: 900px)").matches;if(isFullScreen){$contextContent.addClass("notransition");var t=$contextContent.outerWidth();tempContentStyle=setStyle(".contextContent{left:"+ -$contextContent.outerWidth()+"px}");tempArrowStyle=setStyle(".contextArrow.slideRight{left:"+t+"px}");setTimeout(function(){$contextContent.removeClass("notransition")},50)}else{tempContentStyle=setStyle(".contextContent{top:0px}");console.log($contextContent.outerHeight())}$contextArrow.on("tap",function(){isFullScreen=window.matchMedia("(min-width: 900px)").matches;if(isFullScreen){$contextContent.toggleClass("slideRight");$contextArrow.toggleClass("slideRight");$contextArrow.toggleClass("contextArrowClosed").toggleClass("contextArrowOpen")}else{$contextContent.addClass("docked");contextSize=isFullScreen?$contextContent.outerWidth():$contextContent.outerHeight();$debugLog.html(contextSize);$contextContent.removeClass("docked");console.log($contextContent.css("height"));if($contextContent.css("height")=="0px")e.insertRule(".contextContent.slideDown{min-height: "+(contextSize+20)+"px !important;}",0);else e.removeRule(0);$contextContent.toggleClass("slideDown");$contextArrow.toggleClass("slideDown");$contextArrow.toggleClass("contextArrowClosed").toggleClass("contextArrowOpen")}});$testSlideButton.on("tap",function(){$contextContent.toggleClass("slideRight")});$display.find("*").addClass("digitOff");$powerButton.on("tap",function(){if(!powered){powerUp()}});$powerButtonOff.on("tap",function(){if(powered){powerDown()}});$testSoundPG.on("tap",function(){playAudio("beep.mp3")});$poorSkinButton.on("tap",function(){if(powered)doseModeEnter("Poor Skin 1")});$EOUButton.on("tap",function(){if(powered)doseModeEnter("EOU")});$EOLButton.on("tap",function(){if(powered)doseModeEnter("EOL")});$flashButton.on("tap",function(){if(powered)flashLCD(88,9)});$walkButton.on("tap",function(){if(powered)walkLCD()});$doseUpButton.on("tap",function(){if(powered&&!doseLockout)setDose()});$readyButton.on("tap",function(){if(powered){setReadyMode();changeStatus("Mode: Ready")}});$doseNumber.change(function(){var e=parseInt($doseNumber.val(),10);if(powered){setLCDNum(e);doseCount=e}});$logoCircle.on("tap",function(){$extraButtons.toggleClass("hidden")});$doseButton.on("touchstart mousedown",function(e){e.preventDefault();$doseButton.addClass("doseButtonPressed");usingPhonegap?playAudio(buttonPressPG):$buttonPress.play()});$doseButton.on("touchend mouseup touchcancel",function(e){e.preventDefault();setTimeout(function(){$doseButton.removeClass("doseButtonPressed")},25);if(powered&&!doseLockout){if(doseButtonFirstPress){doseModeEnter(doseStage[doseStageNum]);doseButtonFirstPress=false}else{setTimeout(function(){doseButtonFirstPress=true},200);setTimeout(function(){doseButtonFirstPress=false},3e3)}}})});$(window).resize(function(){clearTimeout(timer);timer=setTimeout(function(){adjustContentSpacing("section");setStyle("",tempArrowStyle);setStyle("",tempContentStyle);isFullScreen=window.matchMedia("(min-width: 900px)").matches;if(isFullScreen){$contextContent.add($contextArrow).addClass("notransition");$contextArrow.addClass("contextArrowClosed").removeClass("contextArrowOpen");tempContentStyle=setStyle(".contextContent{left:"+ -$contextContent.outerWidth()+"px}");tempArrowStyle=setStyle(".contextArrow.slideRight{left:"+$contextContent.outerWidth()+"px}");setTimeout(function(){$contextContent.add($contextArrow).removeClass("notransition")},50)}else{$contextArrow.addClass("contextArrowClosed").removeClass("contextArrowOpen");tempContentStyle=setStyle(".contextContent{top:0px}")}},100)});