summaryrefslogtreecommitdiffstats
path: root/static/functions/detect_mobile.js
diff options
context:
space:
mode:
authorGit <git@what.cd>2012-08-11 08:00:15 +0000
committerGit <git@what.cd>2012-08-11 08:00:15 +0000
commit8f340b001b8e6585e43791b01df1eed5d4be8f8b (patch)
tree4fb68f039cbbc392ba740467e5291a6fab539cdc /static/functions/detect_mobile.js
parent08cb7c2eb842ae29a879d617117f35d68fef585c (diff)
downloadGazelle-8f340b001b8e6585e43791b01df1eed5d4be8f8b.zip
Gazelle-8f340b001b8e6585e43791b01df1eed5d4be8f8b.tar.gz
Gazelle-8f340b001b8e6585e43791b01df1eed5d4be8f8b.tar.bz2
Empty commit
Diffstat (limited to 'static/functions/detect_mobile.js')
-rw-r--r--static/functions/detect_mobile.js80
1 files changed, 80 insertions, 0 deletions
diff --git a/static/functions/detect_mobile.js b/static/functions/detect_mobile.js
new file mode 100644
index 0000000..1ce72b8
--- /dev/null
+++ b/static/functions/detect_mobile.js
@@ -0,0 +1,80 @@
+var ANDROID_COOKIE_NAME = "mobile_checked_android";
+var OTHER_COOKIE_NAME = "mobile_checked_other";
+var MOBILE_SITE_URL = "https://m.what.cd/";
+var ANDROID_APP_URL = "http://bit.ly/git_wa_stable";
+
+var isMobile = {
+ Android: function() {
+ return navigator.userAgent.match(/Android/i) ? true : false;
+ },
+ BlackBerry: function() {
+ return navigator.userAgent.match(/BlackBerry/i) ? true : false;
+ },
+ iOS: function() {
+ return navigator.userAgent.match(/iPhone|iPad|iPod/i) ? true : false;
+ },
+ Windows: function() {
+ return navigator.userAgent.match(/IEMobile/i) ? true : false;
+ },
+ Any: function() {
+ return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Windows());
+ },
+ NotAndroid: function() {
+ return (isMobile.BlackBerry() || isMobile.iOS() || isMobile.Windows());
+ }
+};
+
+if(isMobile.Android()) {
+ if(!hasCookie(ANDROID_COOKIE_NAME)) {
+ setCookie(ANDROID_COOKIE_NAME, true, 365);
+ var result=confirm("A Android App is available for What.CD, would you like to download it?");
+ if (result==true) {
+ window.location = ANDROID_APP_URL;
+ }
+ }
+}
+
+else if(isMobile.NotAndroid()) {
+ if(!hasCookie(OTHER_COOKIE_NAME)) {
+ setCookie(OTHER_COOKIE_NAME, true, 365);
+ var result=confirm("A mobile version of What.CD is available, would you like to use it?");
+ if (result==true) {
+ window.location = MOBILE_SITE_URL;
+ }
+ }
+}
+
+
+function setCookie(c_name,value,exdays)
+{
+var exdate=new Date();
+exdate.setDate(exdate.getDate() + exdays);
+var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
+document.cookie=c_name + "=" + c_value;
+}
+
+function getCookie(c_name)
+{
+var i,x,y,ARRcookies=document.cookie.split(";");
+for (i=0;i<ARRcookies.length;i++)
+{
+ x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
+ y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
+ x=x.replace(/^\s+|\s+$/g,"");
+ if (x==c_name)
+ {
+ return unescape(y);
+ }
+ }
+}
+
+
+function hasCookie(c_name)
+{
+var checked=getCookie(c_name);
+ if (checked != null)
+ {
+ return true;
+ }
+ return false;
+}