Fun w/the jQuery UI Dialog Box, mobile & cookies
HTML
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/jquery-ui.min.js"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/ui-lightness/jquery-ui.css">
<script src="http://www.mcclatchyinteractive.com/static/scripts/MI_Detect.js"></script>
<script src="http://www.mcclatchyinteractive.com/static/scripts/qunit.js"></script>
<link rel="stylesheet" href="http://www.mcclatchyinteractive.com/static/css/qunit.css">
<script src="http://www.mcclatchyinteractive.com/mistatic/javascripts/MI.js"></script>
<script src="http://www.mcclatchyinteractive.com/mistatic/javascripts/MI_Cookie.js"></script>
<h2>My Test</h2>
<div id="content-container">test1:</div>
<p>End of Test</p>
<div id="qunit-tests"><div id="qunit"></div><div id="qunit-fixture"></div></div>
JavaScript
(function ($) {
if (!$.mi_app) {
$.mi_app = new mi.App() || new Object();
};
$.mi_app.MobileCallOut = function (el, options) {
// To avoid scope issues, use 'base' instead of 'this'
// to reference this class from internal events and functions.
var base = this;
// Access to jQuery and DOM versions of element
base.$el = $(el);
base.el = el;
// Add a reverse reference to the DOM object
base.$el.data("mi_app.MobileCallOut", base);
// let's create a cookie object
base._cookie;
// - - - - - Device Tests - - - - -
base.isiPhone = function () {
return ($.os.iphone || false);
}
base.isiPad = function () {
return ($.os.ipad || false);
}
base.isAndroid = function () {
return ($.os.android || false);
}
base.isAndroidTablet = function () {
return (($.os.android && $.os.tablet) || false);
}
base.isWindowsTablet = function() {
return (( $.os.windows && $.os.tablet ) || false);
}
base.isTestDevice = function() {
return (base.options.active.test || false);
}
base.isTargetDevice = function() {
// NOTE - we currently leave out base.isAndroid();
return (base.isiPhone() || base.isiPad() || base.isAndroidTablet() || base.isWindowsTablet() || base.isTestDevice());
}
// - - - - - Get Cookie Info - - - - -
base.getLastResponse = function(cookie) {
cookie = (cookie || base.getCookie());
return (cookie['last-response']) ?
((cookie['last-response']).toLowerCase() === "true") :
false;
}
base.getLastResponseEpoch = function(cookie) {
cookie = (cookie || base.getCookie());
return $.isNumeric(cookie['last-response-epoch']) ?
...