(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,r=a("head"),k=[],i=0,m={},j,o=0,x,d,b=RegExp(" Mobile/").test(navigator.userAgent),f=true,w=0,F=[],t={},E=a.jQTouch.prototype.extensions,G=["slide","flip","slideup","swap","cube","pop","dissolve","fade","back"],p=[],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:"body > * > ul li a",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){r.prepend(h)}a(document).ready(function(){for(var Q in E){var R=E[Q];if(a.isFunction(R)){a.extend(t,R(t))}}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(s);v=a("body");if(m.fullScreenClass&&window.navigator.standalone==true){v.addClass(m.fullScreenClass+" "+m.statusBar)}v.bind("touchstart",I).bind("orientationchange",C).trigger("orientationchange").submit(q);if(m.useFastTouch&&a.support.touch){v.click(function(T){var S=a(T.target);if(S.attr("target")=="_blank"||S.attr("rel")=="external"||S.is('input[type="checkbox"]')){return true}else{return false}});v.mousedown(function(S){var T=(new Date()).getTime()-w;if(T<200){return false}})}if(a("body > .current").length==0){x=a("body > *:first")}else{x=a("body > .current:first");a("body > .current").removeClass("current")}a(x).addClass("current");location.hash="#"+a(x).attr("id");u(x);scrollTo(0,0);B()})}function J(O){dummy=(O);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}dummy=(location.hash);return t}function H(M,N,K){var O=k[0].page;if(typeof(M)==="string"){M=a(M)}if(typeof(N)==="string"){for(var L=p.length-1;L>=0;L--){if(p[L].name===N){N=p[L];break}}}if(g(O,M,N,K)){u(M,N,K);return t}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.attr("target")=="_blank"||L.attr("rel")=="external"){return true}for(var K=p.length-1;K>=0;K--){if(L.is(p[K].selector)){M=p[K];break}}if(O=="_webapp"){window.location=L.attr("href")}else{if(L.is(m.backSelector)){dummy=("Selected back "+N);J(N)}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 u(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}a(":focus").blur();scrollTo(0,0);var P=function K(R){if(N){M.removeClass("in "+N.name);O.removeClass("current out "+N.name);if(L){M.toggleClass("reverse");O.toggleClass("reverse")}}else{O.removeClass("current")}M.trigger("pageAnimationEnd",{direction:"in"});O.trigger("pageAnimationEnd",{direction:"out"});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){M.one("webkitAnimationEnd",P);f=false;if(L){M.toggleClass("reverse");O.toggleClass("reverse")}M.addClass(N.name+" in current ");O.addClass(N.name+" out")}else{M.addClass("current");P()}return true}function D(){o=1;var K=x.attr("id");if(location.hash==""){location.hash="#"+K}else{if(location.hash!="#"+K){return;clearInterval(j);J(location.hash)}}}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($referrer){$referrer.unselect()}}}function q(L,M){var K=(typeof(L)==="string")?a(L):a(L.target);if(K.length&&K.is(m.formSelector)){z(K.attr("action"),{data:K.serialize(),method:K.attr("method")||"POST",animation:p[0]||null,callback:M});return false}return true}function s(L){var K=a(this).closest("form");if(K.length){evt=jQuery.Event("submit");evt.preventDefault();K.trigger(evt);return false}return true}function A(K){if(typeof(K.selector)=="string"&&typeof(K.name)=="string"){p.push(K);a(K.selector).tap(n);F.push(K.selector)}}function C(){d=window.innerWidth<window.innerHeight?"profile":"landscape";v.removeClass("profile 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");if(T.length){W=T}else{return}}if(event){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"}).unbind("touchmove touchend")}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 touchend");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).bind("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")}};t={getOrientation:l,goBack:J,goTo:H,addAnimation:A,submitForm:q};return t};a.jQTouch.prototype.extensions=[];a.jQTouch.addExtension=function(b){a.jQTouch.prototype.extensions.push(b)}})(jQuery);
