(function(c){c.jQTouch=function(t){function L(a){g=c.extend({},{addGlossToIcon:true,backSelector:".back, .cancel, .goback",cacheGetRequests:true,cubeSelector:".cube",dissolveSelector:".dissolve",fadeSelector:".fade",fixedViewport:true,flipSelector:".flip",formSelector:"form",fullScreen:true,fullScreenClass:"fullscreen",icon:null,touchSelector:"a, .touch",popSelector:".pop",preloadImages:false,slideSelector:"#jqt > * > ul li a",slideupSelector:".slideup",startupScreen:null,statusBar:"default",submitSelector:".submit", swapSelector:".swap",useAnimations:true,useFastTouch:true},a);if(g.preloadImages)for(a=g.preloadImages.length-1;a>=0;a--)(new Image).src=g.preloadImages[a];if(g.icon)m+='<link rel="apple-touch-icon'+(g.addGlossToIcon?"":"-precomposed")+'" href="'+g.icon+'" />';if(g.startupScreen)m+='<link rel="apple-touch-startup-image" href="'+g.startupScreen+'" />';if(g.fixedViewport)m+='<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;"/>';if(g.fullScreen){m+= '<meta name="apple-mobile-web-app-capable" content="yes" />';if(g.statusBar)m+='<meta name="apple-mobile-web-app-status-bar-style" content="'+g.statusBar+'" />'}m&&M.prepend(m);c(document).ready(function(){for(var b in z){var d=z[b];c.isFunction(d)&&c.extend(o,d(o))}for(b in A){d=A[b];var f=g[d+"Selector"];typeof f=="string"&&B({name:d,selector:f})}i.push("input");i.push(g.touchSelector);i.push(g.backSelector);i.push(g.submitSelector);c(i.join(", ")).css("-webkit-touch-callout","none");c(g.backSelector).tap(C); c(g.submitSelector).tap(N);j=c("#jqt");g.fullScreenClass&&window.navigator.standalone==true&&j.addClass(g.fullScreenClass+" "+g.statusBar);j.bind("touchstart",O).bind("orientationchange",P).trigger("orientationchange").submit(D);if(g.useFastTouch&&c.support.touch){j.click(function(e){e=c(e.target);if(e.attr("nodeName")!=="A"&&e.attr("nodeName")!=="AREA"&&e.attr("nodeName")!=="INPUT")e=e.closest("a, area");return e.isExternalLink()?true:false});j.mousedown(function(){if((new Date).getTime()-E<200)return false})}if(c("#jqt > .current").length== 0)k=c("#jqt > *:first");else{k=c("#jqt > .current:first");c("#jqt > .current").removeClass("current")}c(k).addClass("current");location.hash="#"+c(k).attr("id");F(k);scrollTo(0,0);G()})}function u(a){var b=Math.min(parseInt(a||1,10),h.length-1),d=h[0];if(isNaN(b)&&typeof a==="string"&&a!="#")for(var f=1,e=h.length;f<e;f++)if("#"+h[f].id===a){b=f;break}if(isNaN(b)||b<1)b=1;if(h.length>1){h.splice(0,b);H(d.page,h[0].page,d.animation,d.reverse===false)}else location.hash="#"+d.id;return o}function v(a, b,d){var f=h[0].page;if(typeof a==="string")a=c(a);if(typeof b==="string")for(var e=l.length-1;e>=0;e--)if(l[e].name===b){b=l[e];break}if(H(f,a,b,d)){F(a,b,d);return o}else{console.error("Could not animate pages.");return false}}function Q(){return r}function C(a){var b=c(a.target);if(b.attr("nodeName")!=="A"&&b.attr("nodeName")!=="AREA")b=b.closest("a, area");a=b.attr("target");var d=b.attr("hash"),f=null;if(w==false||!b.length){console.warn("Not able to tap element.");return false}if(b.isExternalLink()){b.removeClass("active"); return true}for(var e=l.length-1;e>=0;e--)if(b.is(l[e].selector)){f=l[e];break}if(a=="_webapp")window.location=b.attr("href");else if(b.is(g.backSelector))u(d);else if(b.attr("href")=="#"){b.unselect();return true}else if(d&&d!="#"){b.addClass("active");v(c(d).data("referrer",b),f,c(this).hasClass("reverse"))}else{b.addClass("loading active");I(b.attr("href"),{animation:f,callback:function(){b.removeClass("loading");setTimeout(c.fn.unselect,250,b)},$referrer:b})}return false}function F(a,b,d){var f= a.attr("id");h.unshift({page:a,animation:b,reverse:d||false,id:f})}function H(a,b,d,f){if(b.length===0){c.fn.unselect();console.error("Target element is missing.");return false}if(b.hasClass("current")){c.fn.unselect();console.error("Target element is the current page.");return false}c(":focus").blur();scrollTo(0,0);var e=function(){if(d){b.removeClass("in "+d.name);a.removeClass("current out "+d.name);if(f){b.toggleClass("reverse");a.toggleClass("reverse")}}else a.removeClass("current");b.trigger("pageAnimationEnd", {direction:"in"});a.trigger("pageAnimationEnd",{direction:"out"});clearInterval(x);k=b;location.hash="#"+k.attr("id");G();var n=b.data("referrer");n&&n.unselect();E=(new Date).getTime();w=true};a.trigger("pageAnimationStart",{direction:"out"});b.trigger("pageAnimationStart",{direction:"in"});if(c.support.WebKitAnimationEvent&&d&&g.useAnimations){b.one("webkitAnimationEnd",e);w=false;if(f){b.toggleClass("reverse");a.toggleClass("reverse")}b.addClass(d.name+" in current ");a.addClass(d.name+" out")}else{b.addClass("current"); e()}return true}function R(){var a=k.attr("id");if(location.hash=="")location.hash="#"+a;else if(location.hash!="#"+a){clearInterval(x);u(location.hash)}}function G(){x=setInterval(R,100)}function S(a,b){var d=null;c(a).each(function(){var f=c(this);f.attr("id")||f.attr("id","page-"+ ++T);j.trigger("pageInserted",{page:f.appendTo(j)});if(f.hasClass("current")||!d)d=f});if(d!==null){v(d,b);return d}else return false}function I(a,b){var d=c.extend({},{data:null,method:"GET",animation:null,callback:null, $referrer:null},b);if(a!="#")c.ajax({url:a,data:d.data,type:d.method,success:function(f){if(f=S(f,d.animation)){d.method=="GET"&&g.cacheGetRequests===true&&d.$referrer&&d.$referrer.attr("href","#"+f.attr("id"));d.callback&&d.callback(true)}},error:function(){d.$referrer&&d.$referrer.unselect();d.callback&&d.callback(false)}});else d.$referrer&&d.$referrer.unselect()}function D(a,b){a=typeof a==="string"?c(a).eq(0):a.target?c(a.target):c(a);if(a.length&&a.is(g.formSelector)){I(a.attr("action"),{data:a.serialize(), method:a.attr("method")||"POST",animation:l[0]||null,callback:b});return false}return true}function N(){var a=c(this).closest("form");if(a.length){evt=jQuery.Event("submit");evt.preventDefault();a.trigger(evt);return false}return true}function B(a){if(typeof a.selector=="string"&&typeof a.name=="string"){l.push(a);c(a.selector).tap(C);i.push(a.selector)}}function P(){r=window.innerWidth<window.innerHeight?"profile":"landscape";j.removeClass("profile landscape").addClass(r).trigger("turn",{orientation:r})} function O(a){function b(){f();var q=Math.abs(p),J=Math.abs(s);if(q>J&&q>35&&K<1E3)e.trigger("swipe",{direction:p<0?"left":"right",deltaX:p,deltaY:s}).unbind("touchmove",b).unbind("touchend",d);else J>1&&e.removeClass("active");clearTimeout(y)}function d(){f();if(s===0&&p===0){e.makeActive();e.trigger("tap")}else e.removeClass("active");e.unbind("touchmove",b).unbind("touchend",d);clearTimeout(y)}function f(){var q=event.changedTouches[0]||null;p=q.pageX-U;s=q.pageY-V;K=(new Date).getTime()-W}var e= c(a.target);if(!c(a.target).is(i.join(", "))){var n=c(a.target).closest("a, area");if(n.length&&n.is(i.join(", ")))e=n;else return}if(a){var y=null,U=event.changedTouches[0].clientX,V=event.changedTouches[0].clientY,W=(new Date).getTime(),p=0,s=0,K=0;e.bind("touchmove",b).bind("touchend",d);y=setTimeout(function(){e.makeActive()},100)}}c.support.WebKitCSSMatrix=typeof WebKitCSSMatrix=="object";c.support.touch=typeof Touch=="object";c.support.WebKitAnimationEvent=typeof WebKitTransitionEvent=="object"; var j,M=c("head"),h=[],T=0,g={},x,k,r;RegExp(" Mobile/").test(navigator.userAgent);var w=true,E=0,i=[],o={},z=c.jQTouch.prototype.extensions,A=["slide","flip","slideup","swap","cube","pop","dissolve","fade","back"],l=[],m="";L(t);c.fn.unselect=function(a){a?a.removeClass("active"):c(".active").removeClass("active")};c.fn.makeActive=function(){return c(this).addClass("active")};c.fn.swipe=function(a){return c.isFunction(a)?c(this).bind("swipe",a):c(this).trigger("swipe")};c.fn.tap=function(a){if(c.isFunction(a)){var b= g.useFastTouch&&c.support.touch?"tap":"click";return c(this).live(b,a)}else return c(this).trigger("tap")};c.fn.isExternalLink=function(){var a=c(this);return a.attr("target")=="_blank"||a.attr("rel")=="external"||a.is('input[type="checkbox"], input[type="radio"], a[href^="http://maps.google.com:"], a[href^="mailto:"], a[href^="tel:"], a[href^="javascript:"], a[href*="youtube.com/v"], a[href*="youtube.com/watch"]')};return o={getOrientation:Q,goBack:u,goTo:v,addAnimation:B,submitForm:D}};c.jQTouch.prototype.extensions= [];c.jQTouch.addExtension=function(t){c.jQTouch.prototype.extensions.push(t)}})(jQuery);
