summaryrefslogtreecommitdiff
path: root/sitestatic/konami.js
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@sbcglobal.net>2014-10-02 20:52:06 -0400
committerLuke Shumaker <lukeshu@sbcglobal.net>2014-10-02 20:52:06 -0400
commitdceadbebbe0b196278573ed294be8c631d45ecef (patch)
tree5274fc4e0397a705dcf1d488074bea9503b3f2c7 /sitestatic/konami.js
parent724f8c309c97aa9af7f963687342e8f37e682204 (diff)
parent355087ebe2e3fbd5f860e4655888a89d9df52e34 (diff)
Merge branch 'master-nomake'
Diffstat (limited to 'sitestatic/konami.js')
-rw-r--r--sitestatic/konami.js182
1 files changed, 93 insertions, 89 deletions
diff --git a/sitestatic/konami.js b/sitestatic/konami.js
index 88b494e0..15882b9f 100644
--- a/sitestatic/konami.js
+++ b/sitestatic/konami.js
@@ -1,101 +1,105 @@
/*
- * Konami-JS ~
- * :: Now with support for touch events and multiple instances for
- * :: those situations that call for multiple easter eggs!
- * Code: http://konami-js.googlecode.com/
- * Examples: http://www.snaptortoise.com/konami-js
- * Copyright (c) 2009 George Mandis (georgemandis.com, snaptortoise.com)
- * Version: 1.4.1 (3/1//2013)
- * Licensed under the GNU General Public License v3
- * http://www.gnu.org/copyleft/gpl.html
- * Tested in: Safari 4+, Google Chrome 4+, Firefox 3+, IE7+, Mobile Safari 2.2.1 and Dolphin Browser
-*/
+ * Konami-JS ~
+ * :: Now with support for touch events and multiple instances for
+ * :: those situations that call for multiple easter eggs!
+ * Code: http://konami-js.googlecode.com/
+ * Examples: http://www.snaptortoise.com/konami-js
+ * Copyright (c) 2009 George Mandis (georgemandis.com, snaptortoise.com)
+ * Version: 1.4.2 (9/2/2013)
+ * Licensed under the MIT License (http://opensource.org/licenses/MIT)
+ * Tested in: Safari 4+, Google Chrome 4+, Firefox 3+, IE7+, Mobile Safari 2.2.1 and Dolphin Browser
+ */
-var Konami = function(callback) {
- var konami= {
- addEvent:function ( obj, type, fn, ref_obj )
- {
- if (obj.addEventListener)
- obj.addEventListener( type, fn, false );
- else if (obj.attachEvent)
- {
- // IE
- obj["e"+type+fn] = fn;
- obj[type+fn] = function() { obj["e"+type+fn]( window.event,ref_obj ); }
- obj.attachEvent( "on"+type, obj[type+fn] );
+var Konami = function (callback) {
+ var konami = {
+ addEvent: function (obj, type, fn, ref_obj) {
+ if (obj.addEventListener)
+ obj.addEventListener(type, fn, false);
+ else if (obj.attachEvent) {
+ // IE
+ obj["e" + type + fn] = fn;
+ obj[type + fn] = function () {
+ obj["e" + type + fn](window.event, ref_obj);
}
+ obj.attachEvent("on" + type, obj[type + fn]);
+ }
+ },
+ input: "",
+ pattern: "38384040373937396665",
+ load: function (link) {
+ this.addEvent(document, "keydown", function (e, ref_obj) {
+ if (ref_obj) konami = ref_obj; // IE
+ konami.input += e ? e.keyCode : event.keyCode;
+ if (konami.input.length > konami.pattern.length)
+ konami.input = konami.input.substr((konami.input.length - konami.pattern.length));
+ if (konami.input == konami.pattern) {
+ konami.code(link);
+ konami.input = "";
+ e.preventDefault();
+ return false;
+ }
+ }, this);
+ this.iphone.load(link);
+ },
+ code: function (link) {
+ window.location = link
+ },
+ iphone: {
+ start_x: 0,
+ start_y: 0,
+ stop_x: 0,
+ stop_y: 0,
+ tap: false,
+ capture: false,
+ orig_keys: "",
+ keys: ["UP", "UP", "DOWN", "DOWN", "LEFT", "RIGHT", "LEFT", "RIGHT", "TAP", "TAP"],
+ code: function (link) {
+ konami.code(link);
},
- input:"",
- pattern:"3838404037393739666513",
- load: function(link) {
- this.addEvent(document,"keydown", function(e,ref_obj) {
- if (ref_obj) konami = ref_obj; // IE
- konami.input+= e ? e.keyCode : event.keyCode;
- if (konami.input.length > konami.pattern.length) konami.input = konami.input.substr((konami.input.length - konami.pattern.length));
- if (konami.input == konami.pattern) {
- konami.code(link);
- konami.input="";
- return;
- }
- },this);
- this.iphone.load(link);
-
- },
- code: function(link) { window.location=link},
- iphone:{
- start_x:0,
- start_y:0,
- stop_x:0,
- stop_y:0,
- tap:false,
- capture:false,
- orig_keys:"",
- keys:["UP","UP","DOWN","DOWN","LEFT","RIGHT","LEFT","RIGHT","TAP","TAP","TAP"],
- code: function(link) { konami.code(link);},
- load: function(link){
- this.orig_keys = this.keys;
- konami.addEvent(document,"touchmove",function(e){
- if(e.touches.length == 1 && konami.iphone.capture==true){
- var touch = e.touches[0];
- konami.iphone.stop_x = touch.pageX;
- konami.iphone.stop_y = touch.pageY;
- konami.iphone.tap = false;
- konami.iphone.capture=false;
- konami.iphone.check_direction();
- }
- });
- konami.addEvent(document,"touchend",function(evt){
- if (konami.iphone.tap==true) konami.iphone.check_direction(link);
- },false);
- konami.addEvent(document,"touchstart", function(evt){
- konami.iphone.start_x = evt.changedTouches[0].pageX;
- konami.iphone.start_y = evt.changedTouches[0].pageY;
- konami.iphone.tap = true;
- konami.iphone.capture = true;
- });
- },
- check_direction: function(link){
- x_magnitude = Math.abs(this.start_x-this.stop_x);
- y_magnitude = Math.abs(this.start_y-this.stop_y);
- x = ((this.start_x-this.stop_x) < 0) ? "RIGHT" : "LEFT";
- y = ((this.start_y-this.stop_y) < 0) ? "DOWN" : "UP";
- result = (x_magnitude > y_magnitude) ? x : y;
- result = (this.tap==true) ? "TAP" : result;
+ load: function (link) {
+ this.orig_keys = this.keys;
+ konami.addEvent(document, "touchmove", function (e) {
+ if (e.touches.length == 1 && konami.iphone.capture == true) {
+ var touch = e.touches[0];
+ konami.iphone.stop_x = touch.pageX;
+ konami.iphone.stop_y = touch.pageY;
+ konami.iphone.tap = false;
+ konami.iphone.capture = false;
+ konami.iphone.check_direction();
+ }
+ });
+ konami.addEvent(document, "touchend", function (evt) {
+ if (konami.iphone.tap == true) konami.iphone.check_direction(link);
+ }, false);
+ konami.addEvent(document, "touchstart", function (evt) {
+ konami.iphone.start_x = evt.changedTouches[0].pageX;
+ konami.iphone.start_y = evt.changedTouches[0].pageY;
+ konami.iphone.tap = true;
+ konami.iphone.capture = true;
+ });
+ },
+ check_direction: function (link) {
+ x_magnitude = Math.abs(this.start_x - this.stop_x);
+ y_magnitude = Math.abs(this.start_y - this.stop_y);
+ x = ((this.start_x - this.stop_x) < 0) ? "RIGHT" : "LEFT";
+ y = ((this.start_y - this.stop_y) < 0) ? "DOWN" : "UP";
+ result = (x_magnitude > y_magnitude) ? x : y;
+ result = (this.tap == true) ? "TAP" : result;
- if (result==this.keys[0]) this.keys = this.keys.slice(1,this.keys.length);
- if (this.keys.length==0) {
- this.keys=this.orig_keys;
- this.code(link);
- }
- }
- }
+ if (result == this.keys[0]) this.keys = this.keys.slice(1, this.keys.length);
+ if (this.keys.length == 0) {
+ this.keys = this.orig_keys;
+ this.code(link);
+ }
+ }
+ }
}
-
+
typeof callback === "string" && konami.load(callback);
- if(typeof callback === "function") {
+ if (typeof callback === "function") {
konami.code = callback;
konami.load();
}
return konami;
-}
+};