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

