var build_date="Wed Feb  8 12:37:23 2012",s2KeyCode={BACKSPACE:8,TAB:9,ENTER:13,ESC:27,leftarrow:37,uparrow:38,rightarrow:39,downarrow:40};
(function(a,c){function d(n){return r.isWindow(n)?n:n.nodeType===9?n.defaultView||n.parentWindow:false}function b(n){if(!mb[n]){var p=r("<"+n+">").appendTo("body"),t=p.css("display");p.remove();if(t==="none"||t==="")t="block";mb[n]=t}return mb[n]}function f(n,p){var t={};r.each(pb.concat.apply([],pb.slice(0,p)),function(){t[this]=n});return t}function g(){try{return new a.XMLHttpRequest}catch(n){}}function h(){r(a).unload(function(){for(var n in db)db[n](0,1)})}function m(n,p,t,v){if(r.isArray(p)&&
p.length)r.each(p,function(C,F){t||Db.test(n)?v(n,F):m(n+"["+(typeof F==="object"||r.isArray(F)?C:"")+"]",F,t,v)});else if(t||p==null||typeof p!=="object")v(n,p);else if(r.isArray(p)||r.isEmptyObject(p))v(n,"");else for(var x in p)m(n+"["+x+"]",p[x],t,v)}function o(n,p,t,v,x,C){x=x||p.dataTypes[0];C=C||{};C[x]=true;x=n[x];for(var F=0,V=x?x.length:0,S=n===nb,Q;F<V&&(S||!Q);F++){Q=x[F](p,t,v);typeof Q==="string"&&(!S||C[Q]?Q=c:(p.dataTypes.unshift(Q),Q=o(n,p,t,v,Q,C)))}(S||!Q)&&!C["*"]&&(Q=o(n,p,t,
v,"*",C));return Q}function q(n){return function(p,t){typeof p!=="string"&&(t=p,p="*");if(r.isFunction(t))for(var v=p.toLowerCase().split(qb),x=0,C=v.length,F,V;x<C;x++){F=v[x];(V=/^\+/.test(F))&&(F=F.substr(1)||"*");F=n[F]=n[F]||[];F[V?"unshift":"push"](t)}}}function u(n,p,t){var v=p==="width"?n.offsetWidth:n.offsetHeight;if(t==="border")return v;r.each(p==="width"?Eb:Fb,function(){t||(v-=parseFloat(r.css(n,"padding"+this))||0);t==="margin"?v+=parseFloat(r.css(n,"margin"+this))||0:v-=parseFloat(r.css(n,
"border"+this+"Width"))||0});return v}function w(n,p){p.src?r.ajax({url:p.src,async:false,dataType:"script"}):r.globalEval(p.text||p.textContent||p.innerHTML||"");p.parentNode&&p.parentNode.removeChild(p)}function A(n){return"getElementsByTagName"in n?n.getElementsByTagName("*"):"querySelectorAll"in n?n.querySelectorAll("*"):[]}function H(n,p){if(p.nodeType===1){var t=p.nodeName.toLowerCase();p.clearAttributes();p.mergeAttributes(n);if(t==="object")p.outerHTML=n.outerHTML;else if(t!=="input"||n.type!==
"checkbox"&&n.type!=="radio")if(t==="option")p.selected=n.defaultSelected;else{if(t==="input"||t==="textarea")p.defaultValue=n.defaultValue}else{n.checked&&(p.defaultChecked=p.checked=n.checked);p.value!==n.value&&(p.value=n.value)}p.removeAttribute(r.expando)}}function K(n,p){if(p.nodeType===1&&r.hasData(n)){var t=r.expando,v=r.data(n),x=r.data(p,v);if(v=v[t]){var C=v.events;x=x[t]=r.extend({},v);if(C){delete x.handle;x.events={};for(var F in C){t=0;for(v=C[F].length;t<v;t++)r.event.add(p,F+(C[F][t].namespace?
".":"")+C[F][t].namespace,C[F][t],C[F][t].data)}}}}}function L(n,p,t){if(r.isFunction(p))return r.grep(n,function(x,C){return!!p.call(x,C,x)===t});if(p.nodeType)return r.grep(n,function(x){return x===p===t});if(typeof p==="string"){var v=r.grep(n,function(x){return x.nodeType===1});if(Za.test(p))return r.filter(p,v,!t);p=r.filter(p,v)}return r.grep(n,function(x){return r.inArray(x,p)>=0===t})}function E(n,p){return(n&&n!=="*"?n+".":"")+p.replace(ya,"`").replace(Qa,"&")}function O(n){var p,t,v,x,C,
F,V,S,Q,da,pa,za=[];x=[];C=r._data(this,"events");if(n.liveFired!==this&&C&&C.live&&!n.target.disabled&&(!n.button||n.type!=="click")){n.namespace&&(pa=RegExp("(^|\\.)"+n.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)"));n.liveFired=this;var sa=C.live.slice(0);for(V=0;V<sa.length;V++){C=sa[V];C.origType.replace(Ca,"")===n.type?x.push(C.selector):sa.splice(V--,1)}x=r(n.target).closest(x,n.currentTarget);S=0;for(Q=x.length;S<Q;S++){da=x[S];for(V=0;V<sa.length;V++){C=sa[V];if(da.selector===C.selector&&
(!pa||pa.test(C.namespace))&&!da.elem.disabled){F=da.elem;v=null;if(C.preType==="mouseenter"||C.preType==="mouseleave"){n.type=C.preType;v=r(n.relatedTarget).closest(C.selector)[0]}(!v||v!==F)&&za.push({elem:F,handleObj:C,level:da.level})}}}S=0;for(Q=za.length;S<Q;S++){x=za[S];if(t&&x.level>t)break;n.currentTarget=x.elem;n.data=x.handleObj.data;n.handleObj=x.handleObj;pa=x.handleObj.origHandler.apply(x.elem,arguments);if(pa===false||n.isPropagationStopped()){t=x.level;pa===false&&(p=false);if(n.isImmediatePropagationStopped())break}}return p}}
function I(n,p,t){var v=r.extend({},t[0]);v.type=n;v.originalEvent={};v.liveFired=c;r.event.handle.call(p,v);v.isDefaultPrevented()&&t[0].preventDefault()}function B(){return true}function T(){return false}function ea(n){for(var p in n)if(p!=="toJSON")return false;return true}function W(n,p,t){if(t===c&&n.nodeType===1){t=n.getAttribute("data-"+p);if(typeof t==="string"){try{t=t==="true"?true:t==="false"?false:t==="null"?null:r.isNaN(t)?ta.test(t)?r.parseJSON(t):t:parseFloat(t)}catch(v){}r.data(n,
p,t)}else t=c}return t}var M=a.document,r=function(){function n(){if(!p.isReady){try{M.documentElement.doScroll("left")}catch(G){setTimeout(n,1);return}p.ready()}}var p=function(G,X){return new p.fn.init(G,X,x)},t=a.jQuery,v=a.$,x,C=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,F=/\S/,V=/^\s+/,S=/\s+$/,Q=/\d/,da=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,pa=/^[\],:{}\s]*$/,za=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,sa=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,Ba=/(?:^|:|,)(?:\s*\[)+/g,Ka=/(webkit)[ \/]([\w.]+)/,
Ga=/(opera)(?:.*version)?[ \/]([\w.]+)/,La=/(msie) ([\w.]+)/,Ra=/(mozilla)(?:.*? rv:([\w.]+))?/,z=navigator.userAgent,N=false,Z,R="then done fail isResolved isRejected promise".split(" "),U,aa=Object.prototype.toString,ka=Object.prototype.hasOwnProperty,ja=Array.prototype.push,wa=Array.prototype.slice,Ia=String.prototype.trim,Ha=Array.prototype.indexOf,Ma={};p.fn=p.prototype={constructor:p,init:function(G,X,ca){var fa,qa;if(!G)return this;if(G.nodeType){this.context=this[0]=G;this.length=1;return this}if(G===
"body"&&!X&&M.body){this.context=M;this[0]=M.body;this.selector="body";this.length=1;return this}if(typeof G==="string"){fa=C.exec(G);if(!fa||!fa[1]&&X)return!X||X.jquery?(X||ca).find(G):this.constructor(X).find(G);if(fa[1]){qa=(X=X instanceof p?X[0]:X)?X.ownerDocument||X:M;(ca=da.exec(G))?p.isPlainObject(X)?(G=[M.createElement(ca[1])],p.fn.attr.call(G,X,true)):G=[qa.createElement(ca[1])]:(ca=p.buildFragment([fa[1]],[qa]),G=(ca.cacheable?p.clone(ca.fragment):ca.fragment).childNodes);return p.merge(this,
G)}if((X=M.getElementById(fa[2]))&&X.parentNode){if(X.id!==fa[2])return ca.find(G);this.length=1;this[0]=X}this.context=M;this.selector=G;return this}if(p.isFunction(G))return ca.ready(G);G.selector!==c&&(this.selector=G.selector,this.context=G.context);return p.makeArray(G,this)},selector:"",jquery:"1.5.1",length:0,size:function(){return this.length},toArray:function(){return wa.call(this,0)},get:function(G){return G==null?this.toArray():G<0?this[this.length+G]:this[G]},pushStack:function(G,X,ca){var fa=
this.constructor();p.isArray(G)?ja.apply(fa,G):p.merge(fa,G);fa.prevObject=this;fa.context=this.context;X==="find"?fa.selector=this.selector+(this.selector?" ":"")+ca:X&&(fa.selector=this.selector+"."+X+"("+ca+")");return fa},each:function(G,X){return p.each(this,G,X)},ready:function(G){p.bindReady();Z.done(G);return this},eq:function(G){return G===-1?this.slice(G):this.slice(G,+G+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(wa.apply(this,
arguments),"slice",wa.call(arguments).join(","))},map:function(G){return this.pushStack(p.map(this,function(X,ca){return G.call(X,ca,X)}))},end:function(){return this.prevObject||this.constructor(null)},push:ja,sort:[].sort,splice:[].splice};p.fn.init.prototype=p.fn;p.extend=p.fn.extend=function(){var G,X,ca,fa,qa,xa,Aa=arguments[0]||{},Da=1,Na=arguments.length,Ua=false;typeof Aa==="boolean"&&(Ua=Aa,Aa=arguments[1]||{},Da=2);typeof Aa!=="object"&&!p.isFunction(Aa)&&(Aa={});for(Na===Da&&(Aa=this,--Da);Da<
Na;Da++)if((G=arguments[Da])!=null)for(X in G){ca=Aa[X];fa=G[X];if(Aa!==fa)Ua&&fa&&(p.isPlainObject(fa)||(qa=p.isArray(fa)))?(qa?(qa=false,xa=ca&&p.isArray(ca)?ca:[]):xa=ca&&p.isPlainObject(ca)?ca:{},Aa[X]=p.extend(Ua,xa,fa)):fa!==c&&(Aa[X]=fa)}return Aa};p.extend({noConflict:function(G){a.$=v;G&&(a.jQuery=t);return p},isReady:false,readyWait:1,ready:function(G){G===true&&p.readyWait--;if(!p.readyWait||G!==true&&!p.isReady){if(!M.body)return setTimeout(p.ready,1);p.isReady=true;if(!(G!==true&&--p.readyWait>
0)){Z.resolveWith(M,[p]);p.fn.trigger&&p(M).trigger("ready").unbind("ready")}}},bindReady:function(){if(!N){N=true;if(M.readyState==="complete")return setTimeout(p.ready,1);if(M.addEventListener){M.addEventListener("DOMContentLoaded",U,false);a.addEventListener("load",p.ready,false)}else if(M.attachEvent){M.attachEvent("onreadystatechange",U);a.attachEvent("onload",p.ready);var G=false;try{G=a.frameElement==null}catch(X){}M.documentElement.doScroll&&G&&n()}}},isFunction:function(G){return p.type(G)===
"function"},isArray:Array.isArray||function(G){return p.type(G)==="array"},isWindow:function(G){return G&&typeof G==="object"&&"setInterval"in G},isNaN:function(G){return G==null||!Q.test(G)||isNaN(G)},type:function(G){return G==null?String(G):Ma[aa.call(G)]||"object"},isPlainObject:function(G){if(!G||p.type(G)!=="object"||G.nodeType||p.isWindow(G))return false;if(G.constructor&&!ka.call(G,"constructor")&&!ka.call(G.constructor.prototype,"isPrototypeOf"))return false;for(var X in G);return X===c||
ka.call(G,X)},isEmptyObject:function(G){for(var X in G)return false;return true},error:function(G){throw G;},parseJSON:function(G){if(typeof G!=="string"||!G)return null;G=p.trim(G);if(pa.test(G.replace(za,"@").replace(sa,"]").replace(Ba,"")))return a.JSON&&a.JSON.parse?a.JSON.parse(G):(new Function("return "+G))();p.error("Invalid JSON: "+G)},parseXML:function(G,X,ca){a.DOMParser?(ca=new DOMParser,X=ca.parseFromString(G,"text/xml")):(X=new ActiveXObject("Microsoft.XMLDOM"),X.async="false",X.loadXML(G));
ca=X.documentElement;(!ca||!ca.nodeName||ca.nodeName==="parsererror")&&p.error("Invalid XML: "+G);return X},noop:function(){},globalEval:function(G){if(G&&F.test(G)){var X=M.head||M.getElementsByTagName("head")[0]||M.documentElement,ca=M.createElement("script");p.support.scriptEval()?ca.appendChild(M.createTextNode(G)):ca.text=G;X.insertBefore(ca,X.firstChild);X.removeChild(ca)}},nodeName:function(G,X){return G.nodeName&&G.nodeName.toUpperCase()===X.toUpperCase()},each:function(G,X,ca){var fa,qa=
0,xa=G.length,Aa=xa===c||p.isFunction(G);if(ca)if(Aa)for(fa in G){if(X.apply(G[fa],ca)===false)break}else for(;qa<xa;){if(X.apply(G[qa++],ca)===false)break}else if(Aa)for(fa in G){if(X.call(G[fa],fa,G[fa])===false)break}else for(ca=G[0];qa<xa&&X.call(ca,qa,ca)!==false;ca=G[++qa]);return G},trim:Ia?function(G){return G==null?"":Ia.call(G)}:function(G){return G==null?"":(G+"").replace(V,"").replace(S,"")},makeArray:function(G,X){var ca=X||[];if(G!=null){var fa=p.type(G);G.length==null||fa==="string"||
fa==="function"||fa==="regexp"||p.isWindow(G)?ja.call(ca,G):p.merge(ca,G)}return ca},inArray:function(G,X){if(X.indexOf)return X.indexOf(G);for(var ca=0,fa=X.length;ca<fa;ca++)if(X[ca]===G)return ca;return-1},merge:function(G,X){var ca=G.length,fa=0;if(typeof X.length==="number")for(var qa=X.length;fa<qa;fa++)G[ca++]=X[fa];else for(;X[fa]!==c;)G[ca++]=X[fa++];G.length=ca;return G},grep:function(G,X,ca){var fa=[],qa;ca=!!ca;for(var xa=0,Aa=G.length;xa<Aa;xa++){qa=!!X(G[xa],xa);ca!==qa&&fa.push(G[xa])}return fa},
map:function(G,X,ca){for(var fa=[],qa,xa=0,Aa=G.length;xa<Aa;xa++){qa=X(G[xa],xa,ca);qa!=null&&(fa[fa.length]=qa)}return fa.concat.apply([],fa)},guid:1,proxy:function(G,X,ca){arguments.length===2&&(typeof X==="string"?(ca=G,G=ca[X],X=c):X&&!p.isFunction(X)&&(ca=X,X=c));!X&&G&&(X=function(){return G.apply(ca||this,arguments)});G&&(X.guid=G.guid=G.guid||X.guid||p.guid++);return X},access:function(G,X,ca,fa,qa,xa){var Aa=G.length;if(typeof X==="object"){for(var Da in X)p.access(G,Da,X[Da],fa,qa,ca);
return G}if(ca!==c){fa=!xa&&fa&&p.isFunction(ca);for(Da=0;Da<Aa;Da++)qa(G[Da],X,fa?ca.call(G[Da],Da,qa(G[Da],X)):ca,xa);return G}return Aa?qa(G[0],X):c},now:function(){return(new Date).getTime()},_Deferred:function(){var G=[],X,ca,fa,qa={done:function(){if(!fa){var xa=arguments,Aa,Da,Na,Ua,Va;X&&(Va=X,X=0);Aa=0;for(Da=xa.length;Aa<Da;Aa++){Na=xa[Aa];Ua=p.type(Na);Ua==="array"?qa.done.apply(qa,Na):Ua==="function"&&G.push(Na)}Va&&qa.resolveWith(Va[0],Va[1])}return this},resolveWith:function(xa,Aa){if(!fa&&
!X&&!ca){ca=1;try{for(;G[0];)G.shift().apply(xa,Aa)}catch(Da){throw Da;}finally{X=[xa,Aa];ca=0}}return this},resolve:function(){qa.resolveWith(p.isFunction(this.promise)?this.promise():this,arguments);return this},isResolved:function(){return ca||X},cancel:function(){fa=1;G=[];return this}};return qa},Deferred:function(G){var X=p._Deferred(),ca=p._Deferred(),fa;p.extend(X,{then:function(qa,xa){X.done(qa).fail(xa);return this},fail:ca.done,rejectWith:ca.resolveWith,reject:ca.resolve,isRejected:ca.isResolved,
promise:function(qa){if(qa==null){if(fa)return fa;fa=qa={}}for(var xa=R.length;xa--;)qa[R[xa]]=X[R[xa]];return qa}});X.done(ca.cancel).fail(X.cancel);delete X.cancel;G&&G.call(X,X);return X},when:function(G){var X=arguments.length,ca=X<=1&&G&&p.isFunction(G.promise)?G:p.Deferred(),fa=ca.promise();if(X>1){for(var qa=wa.call(arguments,0),xa=X,Aa=function(Da){return function(Na){qa[Da]=arguments.length>1?wa.call(arguments,0):Na;--xa||ca.resolveWith(fa,qa)}};X--;)(G=qa[X])&&p.isFunction(G.promise)?G.promise().then(Aa(X),
ca.reject):--xa;xa||ca.resolveWith(fa,qa)}else ca!==G&&ca.resolve(G);return fa},uaMatch:function(G){G=G.toLowerCase();G=Ka.exec(G)||Ga.exec(G)||La.exec(G)||G.indexOf("compatible")<0&&Ra.exec(G)||[];return{browser:G[1]||"",version:G[2]||"0"}},sub:function(){function G(ca,fa){return new G.fn.init(ca,fa)}p.extend(true,G,this);G.superclass=this;G.fn=G.prototype=this();G.fn.constructor=G;G.subclass=this.subclass;G.fn.init=function ca(ca,fa){fa&&fa instanceof p&&!(fa instanceof G)&&(fa=G(fa));return p.fn.init.call(this,
ca,fa,X)};G.fn.init.prototype=G.fn;var X=G(M);return G},browser:{}});Z=p._Deferred();p.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(G,X){Ma["[object "+X+"]"]=X.toLowerCase()});z=p.uaMatch(z);z.browser&&(p.browser[z.browser]=true,p.browser.version=z.version);p.browser.webkit&&(p.browser.safari=true);Ha&&(p.inArray=function(G,X){return Ha.call(X,G)});F.test(" ")&&(V=/^[\s\xA0]+/,S=/[\s\xA0]+$/);x=p(M);M.addEventListener?U=function(){M.removeEventListener("DOMContentLoaded",
U,false);p.ready()}:M.attachEvent&&(U=function(){M.readyState==="complete"&&(M.detachEvent("onreadystatechange",U),p.ready())});return p}();(function(){r.support={};var n=M.createElement("div");n.style.display="none";n.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var p=n.getElementsByTagName("*"),t=n.getElementsByTagName("a")[0],v=M.createElement("select"),x=v.appendChild(M.createElement("option")),C=n.getElementsByTagName("input")[0];
if(p&&p.length&&t){r.support={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName("tbody").length,htmlSerialize:!!n.getElementsByTagName("link").length,style:/red/.test(t.getAttribute("style")),hrefNormalized:t.getAttribute("href")==="/a",opacity:/^0.55$/.test(t.style.opacity),cssFloat:!!t.style.cssFloat,checkOn:C.value==="on",optSelected:x.selected,deleteExpando:true,optDisabled:false,checkClone:false,noCloneEvent:true,noCloneChecked:true,boxModel:null,inlineBlockNeedsLayout:false,
shrinkWrapBlocks:false,reliableHiddenOffsets:true};C.checked=true;r.support.noCloneChecked=C.cloneNode(true).checked;v.disabled=true;r.support.optDisabled=!x.disabled;var F=null;r.support.scriptEval=function(){if(F===null){var S=M.documentElement,Q=M.createElement("script"),da="script"+r.now();try{Q.appendChild(M.createTextNode("window."+da+"=1;"))}catch(pa){}S.insertBefore(Q,S.firstChild);a[da]?(F=true,delete a[da]):F=false;S.removeChild(Q)}return F};try{delete n.test}catch(V){r.support.deleteExpando=
false}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick",function S(){r.support.noCloneEvent=false;n.detachEvent("onclick",S)}),n.cloneNode(true).fireEvent("onclick"));n=M.createElement("div");n.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";p=M.createDocumentFragment();p.appendChild(n.firstChild);r.support.checkClone=p.cloneNode(true).cloneNode(true).lastChild.checked;r(function(){var S=M.createElement("div"),Q=M.getElementsByTagName("body")[0];if(Q){S.style.width=
S.style.paddingLeft="1px";Q.appendChild(S);r.boxModel=r.support.boxModel=S.offsetWidth===2;"zoom"in S.style&&(S.style.display="inline",S.style.zoom=1,r.support.inlineBlockNeedsLayout=S.offsetWidth===2,S.style.display="",S.innerHTML="<div style='width:4px;'></div>",r.support.shrinkWrapBlocks=S.offsetWidth!==2);S.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";var da=S.getElementsByTagName("td");r.support.reliableHiddenOffsets=da[0].offsetHeight===0;da[0].style.display=
"";da[1].style.display="none";r.support.reliableHiddenOffsets=r.support.reliableHiddenOffsets&&da[0].offsetHeight===0;S.innerHTML="";Q.removeChild(S).style.display="none"}});p=function(S){var Q=M.createElement("div");S="on"+S;if(!Q.attachEvent)return true;var da=S in Q;da||(Q.setAttribute(S,"return;"),da=typeof Q[S]==="function");return da};r.support.submitBubbles=p("submit");r.support.changeBubbles=p("change");n=p=t=null}})();var ta=/^(?:\{.*\}|\[.*\])$/;r.extend({cache:{},uuid:0,expando:"jQuery"+
(r.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(n){n=n.nodeType?r.cache[n[r.expando]]:n[r.expando];return!!n&&!ea(n)},data:function(n,p,t,v){if(r.acceptData(n)){var x=r.expando,C=typeof p==="string",F=n.nodeType,V=F?r.cache:n,S=F?n[r.expando]:n[r.expando]&&r.expando;if(!((!S||v&&S&&!V[S][x])&&C&&t===c)){S||(F?n[r.expando]=S=++r.uuid:S=r.expando);V[S]||(V[S]={},F||(V[S].toJSON=r.noop));if(typeof p===
"object"||typeof p==="function")v?V[S][x]=r.extend(V[S][x],p):V[S]=r.extend(V[S],p);n=V[S];v&&(n[x]||(n[x]={}),n=n[x]);t!==c&&(n[p]=t);if(p==="events"&&!n[p])return n[x]&&n[x].events;return C?n[p]:n}}},removeData:function(n,p,t){if(r.acceptData(n)){var v=r.expando,x=n.nodeType,C=x?r.cache:n,F=x?n[r.expando]:r.expando;if(C[F]){if(p){var V=t?C[F][v]:C[F];if(V){delete V[p];if(!ea(V))return}}if(t){delete C[F][v];if(!ea(C[F]))return}p=C[F][v];r.support.deleteExpando||C!=a?delete C[F]:C[F]=null;p?(C[F]=
{},x||(C[F].toJSON=r.noop),C[F][v]=p):x&&(r.support.deleteExpando?delete n[r.expando]:n.removeAttribute?n.removeAttribute(r.expando):n[r.expando]=null)}}},_data:function(n,p,t){return r.data(n,p,t,true)},acceptData:function(n){if(n.nodeName){var p=r.noData[n.nodeName.toLowerCase()];if(p)return p!==true&&n.getAttribute("classid")===p}return true}});r.fn.extend({data:function(n,p){var t=null;if(typeof n==="undefined"){if(this.length){t=r.data(this[0]);if(this[0].nodeType===1)for(var v=this[0].attributes,
x,C=0,F=v.length;C<F;C++){x=v[C].name;x.indexOf("data-")===0&&(x=x.substr(5),W(this[0],x,t[x]))}}return t}if(typeof n==="object")return this.each(function(){r.data(this,n)});var V=n.split(".");V[1]=V[1]?"."+V[1]:"";if(p===c){t=this.triggerHandler("getData"+V[1]+"!",[V[0]]);t===c&&this.length&&(t=r.data(this[0],n),t=W(this[0],n,t));return t===c&&V[1]?this.data(V[0]):t}return this.each(function(){var S=r(this),Q=[V[0],p];S.triggerHandler("setData"+V[1]+"!",Q);r.data(this,n,p);S.triggerHandler("changeData"+
V[1]+"!",Q)})},removeData:function(n){return this.each(function(){r.removeData(this,n)})}});r.extend({queue:function(n,p,t){if(n){p=(p||"fx")+"queue";var v=r._data(n,p);if(!t)return v||[];!v||r.isArray(t)?v=r._data(n,p,r.makeArray(t)):v.push(t);return v}},dequeue:function(n,p){p=p||"fx";var t=r.queue(n,p),v=t.shift();v==="inprogress"&&(v=t.shift());v&&(p==="fx"&&t.unshift("inprogress"),v.call(n,function(){r.dequeue(n,p)}));t.length||r.removeData(n,p+"queue",true)}});r.fn.extend({queue:function(n,
p){typeof n!=="string"&&(p=n,n="fx");if(p===c)return r.queue(this[0],n);return this.each(function(){var t=r.queue(this,n,p);n==="fx"&&t[0]!=="inprogress"&&r.dequeue(this,n)})},dequeue:function(n){return this.each(function(){r.dequeue(this,n)})},delay:function(n,p){n=r.fx?r.fx.speeds[n]||n:n;p=p||"fx";return this.queue(p,function(){var t=this;setTimeout(function(){r.dequeue(t,p)},n)})},clearQueue:function(n){return this.queue(n||"fx",[])}});var ia=/[\n\t\r]/g,y=/\s+/,D=/\r/g,J=/^(?:href|src|style)$/,
P=/^(?:button|input)$/i,ha=/^(?:button|input|object|select|textarea)$/i,na=/^a(?:rea)?$/i,va=/^(?:radio|checkbox)$/i;r.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};r.fn.extend({attr:function(n,p){return r.access(this,n,p,true,r.attr)},removeAttr:function(n){return this.each(function(){r.attr(this,n,"");this.nodeType===1&&this.removeAttribute(n)})},
addClass:function(n){if(r.isFunction(n))return this.each(function(Q){var da=r(this);da.addClass(n.call(this,Q,da.attr("class")))});if(n&&typeof n==="string")for(var p=(n||"").split(y),t=0,v=this.length;t<v;t++){var x=this[t];if(x.nodeType===1)if(x.className){for(var C=" "+x.className+" ",F=x.className,V=0,S=p.length;V<S;V++)C.indexOf(" "+p[V]+" ")<0&&(F+=" "+p[V]);x.className=r.trim(F)}else x.className=n}return this},removeClass:function(n){if(r.isFunction(n))return this.each(function(S){var Q=r(this);
Q.removeClass(n.call(this,S,Q.attr("class")))});if(n&&typeof n==="string"||n===c)for(var p=(n||"").split(y),t=0,v=this.length;t<v;t++){var x=this[t];if(x.nodeType===1&&x.className)if(n){for(var C=(" "+x.className+" ").replace(ia," "),F=0,V=p.length;F<V;F++)C=C.replace(" "+p[F]+" "," ");x.className=r.trim(C)}else x.className=""}return this},toggleClass:function(n,p){var t=typeof n,v=typeof p==="boolean";if(r.isFunction(n))return this.each(function(x){var C=r(this);C.toggleClass(n.call(this,x,C.attr("class"),
p),p)});return this.each(function(){if(t==="string")for(var x,C=0,F=r(this),V=p,S=n.split(y);x=S[C++];){V=v?V:!F.hasClass(x);F[V?"addClass":"removeClass"](x)}else if(t==="undefined"||t==="boolean"){this.className&&r._data(this,"__className__",this.className);this.className=this.className||n===false?"":r._data(this,"__className__")||""}})},hasClass:function(n){n=" "+n+" ";for(var p=0,t=this.length;p<t;p++)if((" "+this[p].className+" ").replace(ia," ").indexOf(n)>-1)return true;return false},val:function(n){if(!arguments.length){var p=
this[0];if(p){if(r.nodeName(p,"option")){var t=p.attributes.value;return!t||t.specified?p.value:p.text}if(r.nodeName(p,"select")){t=p.selectedIndex;var v=[],x=p.options;p=p.type==="select-one";if(t<0)return null;for(var C=p?t:0,F=p?t+1:x.length;C<F;C++){var V=x[C];if(V.selected&&(r.support.optDisabled?!V.disabled:V.getAttribute("disabled")===null)&&(!V.parentNode.disabled||!r.nodeName(V.parentNode,"optgroup"))){n=r(V).val();if(p)return n;v.push(n)}}if(p&&!v.length&&x.length)return r(x[t]).val();return v}if(va.test(p.type)&&
!r.support.checkOn)return p.getAttribute("value")===null?"on":p.value;return(p.value||"").replace(D,"")}return c}var S=r.isFunction(n);return this.each(function(Q){var da=r(this),pa=n;if(this.nodeType===1){S&&(pa=n.call(this,Q,da.val()));pa==null?pa="":typeof pa==="number"?pa+="":r.isArray(pa)&&(pa=r.map(pa,function(sa){return sa==null?"":sa+""}));if(r.isArray(pa)&&va.test(this.type))this.checked=r.inArray(da.val(),pa)>=0;else if(r.nodeName(this,"select")){var za=r.makeArray(pa);r("option",this).each(function(){this.selected=
r.inArray(r(this).val(),za)>=0});za.length||(this.selectedIndex=-1)}else this.value=pa}})}});r.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(n,p,t,v){if(!n||n.nodeType===3||n.nodeType===8||n.nodeType===2)return c;if(v&&p in r.attrFn)return r(n)[p](t);v=n.nodeType!==1||!r.isXMLDoc(n);var x=t!==c;p=v&&r.props[p]||p;if(n.nodeType===1){var C=J.test(p);if((p in n||n[p]!==c)&&v&&!C){x&&(p==="type"&&P.test(n.nodeName)&&n.parentNode&&r.error("type property can't be changed"),
t===null?n.nodeType===1&&n.removeAttribute(p):n[p]=t);if(r.nodeName(n,"form")&&n.getAttributeNode(p))return n.getAttributeNode(p).nodeValue;if(p==="tabIndex")return(p=n.getAttributeNode("tabIndex"))&&p.specified?p.value:ha.test(n.nodeName)||na.test(n.nodeName)&&n.href?0:c;return n[p]}if(!r.support.style&&v&&p==="style"){x&&(n.style.cssText=""+t);return n.style.cssText}x&&n.setAttribute(p,""+t);if(!n.attributes[p]&&n.hasAttribute&&!n.hasAttribute(p))return c;n=!r.support.hrefNormalized&&v&&C?n.getAttribute(p,
2):n.getAttribute(p);return n===null?c:n}x&&(n[p]=t);return n[p]}});var Ca=/\.(.*)$/,Ja=/^(?:textarea|input|select)$/i,ya=/\./g,Qa=/ /g,Oa=/[^\w\s.|`]/g,oa=function(n){return n.replace(Oa,"\\$&")};r.event={add:function(n,p,t,v){if(n.nodeType!==3&&n.nodeType!==8){try{r.isWindow(n)&&n!==a&&!n.frameElement&&(n=a)}catch(x){}if(t===false)t=T;else if(!t)return;var C,F;t.handler&&(C=t,t=C.handler);t.guid||(t.guid=r.guid++);if(F=r._data(n)){var V=F.events,S=F.handle;V||(F.events=V={});S||(F.handle=S=function(){return typeof r!==
"undefined"&&!r.event.triggered?r.event.handle.apply(S.elem,arguments):c});S.elem=n;p=p.split(" ");for(var Q,da=0,pa;Q=p[da++];){F=C?r.extend({},C):{handler:t,data:v};Q.indexOf(".")>-1?(pa=Q.split("."),Q=pa.shift(),F.namespace=pa.slice(0).sort().join(".")):(pa=[],F.namespace="");F.type=Q;F.guid||(F.guid=t.guid);var za=V[Q],sa=r.event.special[Q]||{};if(!za){za=V[Q]=[];if(!sa.setup||sa.setup.call(n,v,pa,S)===false)n.addEventListener?n.addEventListener(Q,S,false):n.attachEvent&&n.attachEvent("on"+Q,
S)}sa.add&&(sa.add.call(n,F),F.handler.guid||(F.handler.guid=t.guid));za.push(F);r.event.global[Q]=true}n=null}}},global:{},remove:function(n,p,t,v){if(n.nodeType!==3&&n.nodeType!==8){t===false&&(t=T);var x,C,F=0,V,S,Q,da,pa,za,sa=r.hasData(n)&&r._data(n),Ba=sa&&sa.events;if(sa&&Ba){p&&p.type&&(t=p.handler,p=p.type);if(!p||typeof p==="string"&&p.charAt(0)==="."){p=p||"";for(x in Ba)r.event.remove(n,x+p)}else{for(p=p.split(" ");x=p[F++];){da=x;V=x.indexOf(".")<0;S=[];V||(S=x.split("."),x=S.shift(),
Q=RegExp("(^|\\.)"+r.map(S.slice(0).sort(),oa).join("\\.(?:.*\\.)?")+"(\\.|$)"));if(pa=Ba[x])if(t){da=r.event.special[x]||{};for(C=v||0;C<pa.length;C++){za=pa[C];if(t.guid===za.guid){if(V||Q.test(za.namespace)){v==null&&pa.splice(C--,1);da.remove&&da.remove.call(n,za)}if(v!=null)break}}if(pa.length===0||v!=null&&pa.length===1){(!da.teardown||da.teardown.call(n,S)===false)&&r.removeEvent(n,x,sa.handle);delete Ba[x]}}else for(C=0;C<pa.length;C++){za=pa[C];if(V||Q.test(za.namespace)){r.event.remove(n,
da,za.handler,C);pa.splice(C--,1)}}}if(r.isEmptyObject(Ba)){(p=sa.handle)&&(p.elem=null);delete sa.events;delete sa.handle;r.isEmptyObject(sa)&&r.removeData(n,c,true)}}}}},trigger:function(n,p,t,v){var x=n.type||n;if(!v){n=typeof n==="object"?n[r.expando]?n:r.extend(r.Event(x),n):r.Event(x);x.indexOf("!")>=0&&(n.type=x=x.slice(0,-1),n.exclusive=true);t||(n.stopPropagation(),r.event.global[x]&&r.each(r.cache,function(){var pa=this[r.expando];pa&&pa.events&&pa.events[x]&&r.event.trigger(n,p,pa.handle.elem)}));
if(!t||t.nodeType===3||t.nodeType===8)return c;n.result=c;n.target=t;p=r.makeArray(p);p.unshift(n)}n.currentTarget=t;(v=r._data(t,"handle"))&&v.apply(t,p);v=t.parentNode||t.ownerDocument;try{t&&t.nodeName&&r.noData[t.nodeName.toLowerCase()]||t["on"+x]&&t["on"+x].apply(t,p)===false&&(n.result=false,n.preventDefault())}catch(C){}if(!n.isPropagationStopped()&&v)r.event.trigger(n,p,v,true);else if(!n.isDefaultPrevented()){var F;v=n.target;var V=x.replace(Ca,""),S=r.nodeName(v,"a")&&V==="click",Q=r.event.special[V]||
{};if((!Q._default||Q._default.call(t,n)===false)&&!S&&!(v&&v.nodeName&&r.noData[v.nodeName.toLowerCase()])){try{v[V]&&(F=v["on"+V],F&&(v["on"+V]=null),r.event.triggered=true,v[V]())}catch(da){}F&&(v["on"+V]=F);r.event.triggered=false}}},handle:function(n){var p,t,v,x;x=[];var C=r.makeArray(arguments);n=C[0]=r.event.fix(n||a.event);n.currentTarget=this;(p=n.type.indexOf(".")<0&&!n.exclusive)||(t=n.type.split("."),n.type=t.shift(),x=t.slice(0).sort(),v=RegExp("(^|\\.)"+x.join("\\.(?:.*\\.)?")+"(\\.|$)"));
n.namespace=n.namespace||x.join(".");x=r._data(this,"events");t=(x||{})[n.type];if(x&&t){t=t.slice(0);x=0;for(var F=t.length;x<F;x++){var V=t[x];if(p||v.test(V.namespace)){n.handler=V.handler;n.data=V.data;n.handleObj=V;V=V.handler.apply(this,C);V!==c&&(n.result=V,V===false&&(n.preventDefault(),n.stopPropagation()));if(n.isImmediatePropagationStopped())break}}}return n.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
fix:function(n){if(n[r.expando])return n;var p=n;n=r.Event(p);for(var t=this.props.length,v;t;){v=this.props[--t];n[v]=p[v]}n.target||(n.target=n.srcElement||M);n.target.nodeType===3&&(n.target=n.target.parentNode);!n.relatedTarget&&n.fromElement&&(n.relatedTarget=n.fromElement===n.target?n.toElement:n.fromElement);if(n.pageX==null&&n.clientX!=null){p=M.documentElement;t=M.body;n.pageX=n.clientX+(p&&p.scrollLeft||t&&t.scrollLeft||0)-(p&&p.clientLeft||t&&t.clientLeft||0);n.pageY=n.clientY+(p&&p.scrollTop||
t&&t.scrollTop||0)-(p&&p.clientTop||t&&t.clientTop||0)}n.which==null&&(n.charCode!=null||n.keyCode!=null)&&(n.which=n.charCode!=null?n.charCode:n.keyCode);!n.metaKey&&n.ctrlKey&&(n.metaKey=n.ctrlKey);!n.which&&n.button!==c&&(n.which=n.button&1?1:n.button&2?3:n.button&4?2:0);return n},guid:1E8,proxy:r.proxy,special:{ready:{setup:r.bindReady,teardown:r.noop},live:{add:function(n){r.event.add(this,E(n.origType,n.selector),r.extend({},n,{handler:O,guid:n.handler.guid}))},remove:function(n){r.event.remove(this,
E(n.origType,n.selector),n)}},beforeunload:{setup:function(n,p,t){r.isWindow(this)&&(this.onbeforeunload=t)},teardown:function(n,p){this.onbeforeunload===p&&(this.onbeforeunload=null)}}}};r.removeEvent=M.removeEventListener?function(n,p,t){n.removeEventListener&&n.removeEventListener(p,t,false)}:function(n,p,t){n.detachEvent&&n.detachEvent("on"+p,t)};r.Event=function(n){if(!this.preventDefault)return new r.Event(n);n&&n.type?(this.originalEvent=n,this.type=n.type,this.isDefaultPrevented=n.defaultPrevented||
n.returnValue===false||n.getPreventDefault&&n.getPreventDefault()?B:T):this.type=n;this.timeStamp=r.now();this[r.expando]=true};r.Event.prototype={preventDefault:function(){this.isDefaultPrevented=B;var n=this.originalEvent;n&&(n.preventDefault?n.preventDefault():n.returnValue=false)},stopPropagation:function(){this.isPropagationStopped=B;var n=this.originalEvent;n&&(n.stopPropagation&&n.stopPropagation(),n.cancelBubble=true)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=
B;this.stopPropagation()},isDefaultPrevented:T,isPropagationStopped:T,isImmediatePropagationStopped:T};var Y=function(n){var p=n.relatedTarget;try{if(!(p!==M&&!p.parentNode)){for(;p&&p!==this;)p=p.parentNode;p!==this&&(n.type=n.data,r.event.handle.apply(this,arguments))}}catch(t){}},ba=function(n){n.type=n.data;r.event.handle.apply(this,arguments)};r.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(n,p){r.event.special[n]={setup:function(t){r.event.add(this,p,t&&t.selector?ba:Y,n)},teardown:function(t){r.event.remove(this,
p,t&&t.selector?ba:Y)}}});r.support.submitBubbles||(r.event.special.submit={setup:function(){if(this.nodeName&&this.nodeName.toLowerCase()!=="form"){r.event.add(this,"click.specialSubmit",function(n){var p=n.target,t=p.type;(t==="submit"||t==="image")&&r(p).closest("form").length&&I("submit",this,arguments)});r.event.add(this,"keypress.specialSubmit",function(n){var p=n.target,t=p.type;(t==="text"||t==="password")&&r(p).closest("form").length&&n.keyCode===13&&I("submit",this,arguments)})}else return false},
teardown:function(){r.event.remove(this,".specialSubmit")}});if(!r.support.changeBubbles){var ga,ma=function(n){var p=n.type,t=n.value;p==="radio"||p==="checkbox"?t=n.checked:p==="select-multiple"?t=n.selectedIndex>-1?r.map(n.options,function(v){return v.selected}).join("-"):"":n.nodeName.toLowerCase()==="select"&&(t=n.selectedIndex);return t},la=function(n,p){var t=n.target,v,x;if(Ja.test(t.nodeName)&&!t.readOnly){v=r._data(t,"_change_data");x=ma(t);(n.type!=="focusout"||t.type!=="radio")&&r._data(t,
"_change_data",x);if(!(v===c||x===v))if(v!=null||x){n.type="change";n.liveFired=c;r.event.trigger(n,p,t)}}};r.event.special.change={filters:{focusout:la,beforedeactivate:la,click:function(n){var p=n.target,t=p.type;(t==="radio"||t==="checkbox"||p.nodeName.toLowerCase()==="select")&&la.call(this,n)},keydown:function(n){var p=n.target,t=p.type;(n.keyCode===13&&p.nodeName.toLowerCase()!=="textarea"||n.keyCode===32&&(t==="checkbox"||t==="radio")||t==="select-multiple")&&la.call(this,n)},beforeactivate:function(n){n=
n.target;r._data(n,"_change_data",ma(n))}},setup:function(){if(this.type==="file")return false;for(var n in ga)r.event.add(this,n+".specialChange",ga[n]);return Ja.test(this.nodeName)},teardown:function(){r.event.remove(this,".specialChange");return Ja.test(this.nodeName)}};ga=r.event.special.change.filters;ga.focus=ga.beforeactivate}M.addEventListener&&r.each({focus:"focusin",blur:"focusout"},function(n,p){function t(v){v=r.event.fix(v);v.type=p;return r.event.handle.call(this,v)}r.event.special[p]=
{setup:function(){this.addEventListener(n,t,true)},teardown:function(){this.removeEventListener(n,t,true)}}});r.each(["bind","one"],function(n,p){r.fn[p]=function(t,v,x){if(typeof t==="object"){for(var C in t)this[p](C,v,t[C],x);return this}if(r.isFunction(v)||v===false){x=v;v=c}var F=p==="one"?r.proxy(x,function(S){r(this).unbind(S,F);return x.apply(this,arguments)}):x;if(t==="unload"&&p!=="one")this.one(t,v,x);else{C=0;for(var V=this.length;C<V;C++)r.event.add(this[C],t,F,v)}return this}});r.fn.extend({unbind:function(n,
p){if(typeof n!=="object"||n.preventDefault)for(var t=0,v=this.length;t<v;t++)r.event.remove(this[t],n,p);else for(t in n)this.unbind(t,n[t]);return this},delegate:function(n,p,t,v){return this.live(p,t,v,n)},undelegate:function(n,p,t){return arguments.length===0?this.unbind("live"):this.die(p,null,t,n)},trigger:function(n,p){return this.each(function(){r.event.trigger(n,p,this)})},triggerHandler:function(n,p){if(this[0]){var t=r.Event(n);t.preventDefault();t.stopPropagation();r.event.trigger(t,p,
this[0]);return t.result}},toggle:function(n){for(var p=arguments,t=1;t<p.length;)r.proxy(n,p[t++]);return this.click(r.proxy(n,function(v){var x=(r._data(this,"lastToggle"+n.guid)||0)%t;r._data(this,"lastToggle"+n.guid,x+1);v.preventDefault();return p[x].apply(this,arguments)||false}))},hover:function(n,p){return this.mouseenter(n).mouseleave(p||n)}});var ua={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};r.each(["live","die"],function(n,p){r.fn[p]=function(t,v,x,C){var F,
V=0,S,Q,da=C||this.selector;C=C?this:r(this.context);if(typeof t==="object"&&!t.preventDefault){for(F in t)C[p](F,v,t[F],da);return this}r.isFunction(v)&&(x=v,v=c);for(t=(t||"").split(" ");(F=t[V++])!=null;){S=Ca.exec(F);Q="";S&&(Q=S[0],F=F.replace(Ca,""));if(F==="hover")t.push("mouseenter"+Q,"mouseleave"+Q);else{S=F;F==="focus"||F==="blur"?(t.push(ua[F]+Q),F+=Q):F=(ua[F]||F)+Q;if(p==="live"){Q=0;for(var pa=C.length;Q<pa;Q++)r.event.add(C[Q],"live."+E(F,da),{data:v,selector:da,handler:x,origType:F,
origHandler:x,preType:S})}else C.unbind("live."+E(F,da),x)}}return this}});r.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(n,p){r.fn[p]=function(t,v){v==null&&(v=t,t=null);return arguments.length>0?this.bind(p,t,v):this.trigger(p)};r.attrFn&&(r.attrFn[p]=true)});(function(){function n(z,N,Z,R,U,aa){U=0;for(var ka=R.length;U<ka;U++){var ja=
R[U];if(ja){var wa=false;for(ja=ja[z];ja;){if(ja.sizcache===Z){wa=R[ja.sizset];break}if(ja.nodeType===1){aa||(ja.sizcache=Z,ja.sizset=U);if(typeof N!=="string"){if(ja===N){wa=true;break}}else if(Q.filter(N,[ja]).length>0){wa=ja;break}}ja=ja[z]}R[U]=wa}}}function p(z,N,Z,R,U,aa){U=0;for(var ka=R.length;U<ka;U++){var ja=R[U];if(ja){var wa=false;for(ja=ja[z];ja;){if(ja.sizcache===Z){wa=R[ja.sizset];break}ja.nodeType===1&&!aa&&(ja.sizcache=Z,ja.sizset=U);if(ja.nodeName.toLowerCase()===N){wa=ja;break}ja=
ja[z]}R[U]=wa}}}var t=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,v=0,x=Object.prototype.toString,C=false,F=true,V=/\\/g,S=/\W/;[0,0].sort(function(){F=false;return 0});var Q=function(z,N,Z,R){Z=Z||[];var U=N=N||M;if(N.nodeType!==1&&N.nodeType!==9)return[];if(!z||typeof z!=="string")return Z;var aa,ka,ja,wa,Ia,Ha,Ma=true,G=Q.isXML(N),X=[],ca=z;do{t.exec("");if(aa=t.exec(ca)){ca=aa[3];X.push(aa[1]);if(aa[2]){wa=
aa[3];break}}}while(aa);if(X.length>1&&pa.exec(z))if(X.length===2&&da.relative[X[0]])ka=Ra(X[0]+X[1],N);else for(ka=da.relative[X[0]]?[N]:Q(X.shift(),N);X.length;){z=X.shift();da.relative[z]&&(z+=X.shift());ka=Ra(z,ka)}else{!R&&X.length>1&&N.nodeType===9&&!G&&da.match.ID.test(X[0])&&!da.match.ID.test(X[X.length-1])&&(Ia=Q.find(X.shift(),N,G),N=Ia.expr?Q.filter(Ia.expr,Ia.set)[0]:Ia.set[0]);if(N){Ia=R?{expr:X.pop(),set:Ba(R)}:Q.find(X.pop(),X.length===1&&(X[0]==="~"||X[0]==="+")&&N.parentNode?N.parentNode:
N,G);ka=Ia.expr?Q.filter(Ia.expr,Ia.set):Ia.set;for(X.length>0?ja=Ba(ka):Ma=false;X.length;){aa=Ha=X.pop();da.relative[Ha]?aa=X.pop():Ha="";aa==null&&(aa=N);da.relative[Ha](ja,aa,G)}}else ja=[]}ja||(ja=ka);ja||Q.error(Ha||z);if(x.call(ja)==="[object Array]")if(Ma)if(N&&N.nodeType===1)for(z=0;ja[z]!=null;z++)ja[z]&&(ja[z]===true||ja[z].nodeType===1&&Q.contains(N,ja[z]))&&Z.push(ka[z]);else for(z=0;ja[z]!=null;z++)ja[z]&&ja[z].nodeType===1&&Z.push(ka[z]);else Z.push.apply(Z,ja);else Ba(ja,Z);wa&&(Q(wa,
U,Z,R),Q.uniqueSort(Z));return Z};Q.uniqueSort=function(z){if(Ga){C=F;z.sort(Ga);if(C)for(var N=1;N<z.length;N++)z[N]===z[N-1]&&z.splice(N--,1)}return z};Q.matches=function(z,N){return Q(z,null,null,N)};Q.matchesSelector=function(z,N){return Q(N,null,null,[z]).length>0};Q.find=function(z,N,Z){var R;if(!z)return[];for(var U=0,aa=da.order.length;U<aa;U++){var ka,ja=da.order[U];if(ka=da.leftMatch[ja].exec(z)){var wa=ka[1];ka.splice(1,1);if(wa.substr(wa.length-1)!=="\\"){ka[1]=(ka[1]||"").replace(V,"");
R=da.find[ja](ka,N,Z);if(R!=null){z=z.replace(da.match[ja],"");break}}}}R||(R=typeof N.getElementsByTagName!=="undefined"?N.getElementsByTagName("*"):[]);return{set:R,expr:z}};Q.filter=function(z,N,Z,R){for(var U,aa,ka=z,ja=[],wa=N,Ia=N&&N[0]&&Q.isXML(N[0]);z&&N.length;){for(var Ha in da.filter)if((U=da.leftMatch[Ha].exec(z))!=null&&U[2]){var Ma,G,X=da.filter[Ha];G=U[1];aa=false;U.splice(1,1);if(G.substr(G.length-1)!=="\\"){wa===ja&&(ja=[]);if(da.preFilter[Ha])if(U=da.preFilter[Ha](U,wa,Z,ja,R,Ia)){if(U===
true)continue}else aa=Ma=true;if(U)for(var ca=0;(G=wa[ca])!=null;ca++)if(G){Ma=X(G,U,ca,wa);var fa=R^!!Ma;Z&&Ma!=null?fa?aa=true:wa[ca]=false:fa&&(ja.push(G),aa=true)}if(Ma!==c){Z||(wa=ja);z=z.replace(da.match[Ha],"");if(!aa)return[];break}}}if(z===ka)if(aa==null)Q.error(z);else break;ka=z}return wa};Q.error=function(z){throw"Syntax error, unrecognized expression: "+z;};var da=Q.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className",
"for":"htmlFor"},attrHandle:{href:function(z){return z.getAttribute("href")},type:function(z){return z.getAttribute("type")}},relative:{"+":function(z,N){var Z=typeof N==="string",R=Z&&!S.test(N);Z=Z&&!R;R&&(N=N.toLowerCase());R=0;for(var U=z.length,aa;R<U;R++)if(aa=z[R]){for(;(aa=aa.previousSibling)&&aa.nodeType!==1;);z[R]=Z||aa&&aa.nodeName.toLowerCase()===N?aa||false:aa===N}Z&&Q.filter(N,z,true)},">":function(z,N){var Z,R=typeof N==="string",U=0,aa=z.length;if(R&&!S.test(N))for(N=N.toLowerCase();U<
aa;U++){if(Z=z[U]){Z=Z.parentNode;z[U]=Z.nodeName.toLowerCase()===N?Z:false}}else{for(;U<aa;U++)(Z=z[U])&&(z[U]=R?Z.parentNode:Z.parentNode===N);R&&Q.filter(N,z,true)}},"":function(z,N,Z){var R,U=v++,aa=n;typeof N==="string"&&!S.test(N)&&(N=N.toLowerCase(),R=N,aa=p);aa("parentNode",N,U,z,R,Z)},"~":function(z,N,Z){var R,U=v++,aa=n;typeof N==="string"&&!S.test(N)&&(N=N.toLowerCase(),R=N,aa=p);aa("previousSibling",N,U,z,R,Z)}},find:{ID:function(z,N,Z){if(typeof N.getElementById!=="undefined"&&!Z)return(z=
N.getElementById(z[1]))&&z.parentNode?[z]:[]},NAME:function(z,N){if(typeof N.getElementsByName!=="undefined"){for(var Z=[],R=N.getElementsByName(z[1]),U=0,aa=R.length;U<aa;U++)R[U].getAttribute("name")===z[1]&&Z.push(R[U]);return Z.length===0?null:Z}},TAG:function(z,N){if(typeof N.getElementsByTagName!=="undefined")return N.getElementsByTagName(z[1])}},preFilter:{CLASS:function(z,N,Z,R,U,aa){z=" "+z[1].replace(V,"")+" ";if(aa)return z;aa=0;for(var ka;(ka=N[aa])!=null;aa++)ka&&(U^(ka.className&&(" "+
ka.className+" ").replace(/[\t\n\r]/g," ").indexOf(z)>=0)?Z||R.push(ka):Z&&(N[aa]=false));return false},ID:function(z){return z[1].replace(V,"")},TAG:function(z){return z[1].replace(V,"").toLowerCase()},CHILD:function(z){if(z[1]==="nth"){z[2]||Q.error(z[0]);z[2]=z[2].replace(/^\+|\s*/g,"");var N=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(z[2]==="even"&&"2n"||z[2]==="odd"&&"2n+1"||!/\D/.test(z[2])&&"0n+"+z[2]||z[2]);z[2]=N[1]+(N[2]||1)-0;z[3]=N[3]-0}else z[2]&&Q.error(z[0]);z[0]=v++;return z},ATTR:function(z,
N,Z,R,U,aa){N=z[1]=z[1].replace(V,"");!aa&&da.attrMap[N]&&(z[1]=da.attrMap[N]);z[4]=(z[4]||z[5]||"").replace(V,"");z[2]==="~="&&(z[4]=" "+z[4]+" ");return z},PSEUDO:function(z,N,Z,R,U){if(z[1]==="not")if((t.exec(z[3])||"").length>1||/^\w/.test(z[3]))z[3]=Q(z[3],null,null,N);else{z=Q.filter(z[3],N,Z,true^U);Z||R.push.apply(R,z);return false}else if(da.match.POS.test(z[0])||da.match.CHILD.test(z[0]))return true;return z},POS:function(z){z.unshift(true);return z}},filters:{enabled:function(z){return z.disabled===
false&&z.type!=="hidden"},disabled:function(z){return z.disabled===true},checked:function(z){return z.checked===true},selected:function(z){return z.selected===true},parent:function(z){return!!z.firstChild},empty:function(z){return!z.firstChild},has:function(z,N,Z){return!!Q(Z[3],z).length},header:function(z){return/h\d/i.test(z.nodeName)},text:function(z){return"text"===z.getAttribute("type")},radio:function(z){return"radio"===z.type},checkbox:function(z){return"checkbox"===z.type},file:function(z){return"file"===
z.type},password:function(z){return"password"===z.type},submit:function(z){return"submit"===z.type},image:function(z){return"image"===z.type},reset:function(z){return"reset"===z.type},button:function(z){return"button"===z.type||z.nodeName.toLowerCase()==="button"},input:function(z){return/input|select|textarea|button/i.test(z.nodeName)}},setFilters:{first:function(z,N){return N===0},last:function(z,N,Z,R){return N===R.length-1},even:function(z,N){return N%2===0},odd:function(z,N){return N%2===1},
lt:function(z,N,Z){return N<Z[3]-0},gt:function(z,N,Z){return N>Z[3]-0},nth:function(z,N,Z){return Z[3]-0===N},eq:function(z,N,Z){return Z[3]-0===N}},filter:{PSEUDO:function(z,N,Z,R){var U=N[1],aa=da.filters[U];if(aa)return aa(z,Z,N,R);if(U==="contains")return(z.textContent||z.innerText||Q.getText([z])||"").indexOf(N[3])>=0;if(U==="not"){N=N[3];Z=0;for(R=N.length;Z<R;Z++)if(N[Z]===z)return false;return true}Q.error(U)},CHILD:function(z,N){var Z=N[1],R=z;switch(Z){case "only":case "first":for(;R=R.previousSibling;)if(R.nodeType===
1)return false;if(Z==="first")return true;R=z;case "last":for(;R=R.nextSibling;)if(R.nodeType===1)return false;return true;case "nth":Z=N[2];var U=N[3];if(Z===1&&U===0)return true;var aa=N[0],ka=z.parentNode;if(ka&&(ka.sizcache!==aa||!z.nodeIndex)){var ja=0;for(R=ka.firstChild;R;R=R.nextSibling)R.nodeType===1&&(R.nodeIndex=++ja);ka.sizcache=aa}R=z.nodeIndex-U;return Z===0?R===0:R%Z===0&&R/Z>=0}},ID:function(z,N){return z.nodeType===1&&z.getAttribute("id")===N},TAG:function(z,N){return N==="*"&&z.nodeType===
1||z.nodeName.toLowerCase()===N},CLASS:function(z,N){return(" "+(z.className||z.getAttribute("class"))+" ").indexOf(N)>-1},ATTR:function(z,N){var Z=N[1];Z=da.attrHandle[Z]?da.attrHandle[Z](z):z[Z]!=null?z[Z]:z.getAttribute(Z);var R=Z+"",U=N[2],aa=N[4];return Z==null?U==="!=":U==="="?R===aa:U==="*="?R.indexOf(aa)>=0:U==="~="?(" "+R+" ").indexOf(aa)>=0:aa?U==="!="?R!==aa:U==="^="?R.indexOf(aa)===0:U==="$="?R.substr(R.length-aa.length)===aa:U==="|="?R===aa||R.substr(0,aa.length+1)===aa+"-":false:R&&
Z!==false},POS:function(z,N,Z,R){var U=da.setFilters[N[2]];if(U)return U(z,Z,N,R)}}},pa=da.match.POS,za=function(z,N){return"\\"+(N-0+1)},sa;for(sa in da.match){da.match[sa]=RegExp(da.match[sa].source+/(?![^\[]*\])(?![^\(]*\))/.source);da.leftMatch[sa]=RegExp(/(^(?:.|\r|\n)*?)/.source+da.match[sa].source.replace(/\\(\d+)/g,za))}var Ba=function(z,N){z=Array.prototype.slice.call(z,0);if(N){N.push.apply(N,z);return N}return z};try{Array.prototype.slice.call(M.documentElement.childNodes,0)}catch(Ka){Ba=
function(z,N){var Z=0,R=N||[];if(x.call(z)==="[object Array]")Array.prototype.push.apply(R,z);else if(typeof z.length==="number")for(var U=z.length;Z<U;Z++)R.push(z[Z]);else for(;z[Z];Z++)R.push(z[Z]);return R}}var Ga,La;M.documentElement.compareDocumentPosition?Ga=function(z,N){if(z===N){C=true;return 0}if(!z.compareDocumentPosition||!N.compareDocumentPosition)return z.compareDocumentPosition?-1:1;return z.compareDocumentPosition(N)&4?-1:1}:(Ga=function(z,N){var Z,R,U=[],aa=[];Z=z.parentNode;R=N.parentNode;
var ka=Z;if(z===N){C=true;return 0}if(Z===R)return La(z,N);if(!Z)return-1;if(!R)return 1;for(;ka;){U.unshift(ka);ka=ka.parentNode}for(ka=R;ka;){aa.unshift(ka);ka=ka.parentNode}Z=U.length;R=aa.length;for(ka=0;ka<Z&&ka<R;ka++)if(U[ka]!==aa[ka])return La(U[ka],aa[ka]);return ka===Z?La(z,aa[ka],-1):La(U[ka],N,1)},La=function(z,N,Z){if(z===N)return Z;for(z=z.nextSibling;z;){if(z===N)return-1;z=z.nextSibling}return 1});Q.getText=function(z){for(var N="",Z,R=0;z[R];R++){Z=z[R];Z.nodeType===3||Z.nodeType===
4?N+=Z.nodeValue:Z.nodeType!==8&&(N+=Q.getText(Z.childNodes))}return N};(function(){var z=M.createElement("div"),N="script"+(new Date).getTime(),Z=M.documentElement;z.innerHTML="<a name='"+N+"'/>";Z.insertBefore(z,Z.firstChild);M.getElementById(N)&&(da.find.ID=function(R,U,aa){if(typeof U.getElementById!=="undefined"&&!aa)return(U=U.getElementById(R[1]))?U.id===R[1]||typeof U.getAttributeNode!=="undefined"&&U.getAttributeNode("id").nodeValue===R[1]?[U]:c:[]},da.filter.ID=function(R,U){var aa=typeof R.getAttributeNode!==
"undefined"&&R.getAttributeNode("id");return R.nodeType===1&&aa&&aa.nodeValue===U});Z.removeChild(z);Z=z=null})();(function(){var z=M.createElement("div");z.appendChild(M.createComment(""));z.getElementsByTagName("*").length>0&&(da.find.TAG=function(N,Z){var R=Z.getElementsByTagName(N[1]);if(N[1]==="*"){for(var U=[],aa=0;R[aa];aa++)R[aa].nodeType===1&&U.push(R[aa]);R=U}return R});z.innerHTML="<a href='#'></a>";z.firstChild&&typeof z.firstChild.getAttribute!=="undefined"&&z.firstChild.getAttribute("href")!==
"#"&&(da.attrHandle.href=function(N){return N.getAttribute("href",2)});z=null})();M.querySelectorAll&&function(){var z=Q,N=M.createElement("div");N.innerHTML="<p class='TEST'></p>";if(!N.querySelectorAll||N.querySelectorAll(".TEST").length!==0){Q=function(R,U,aa,ka){U=U||M;if(!ka&&!Q.isXML(U)){var ja=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(R);if(ja&&(U.nodeType===1||U.nodeType===9)){if(ja[1])return Ba(U.getElementsByTagName(R),aa);if(ja[2]&&da.find.CLASS&&U.getElementsByClassName)return Ba(U.getElementsByClassName(ja[2]),
aa)}if(U.nodeType===9){if(R==="body"&&U.body)return Ba([U.body],aa);if(ja&&ja[3]){var wa=U.getElementById(ja[3]);if(!wa||!wa.parentNode)return Ba([],aa);if(wa.id===ja[3])return Ba([wa],aa)}try{return Ba(U.querySelectorAll(R),aa)}catch(Ia){}}else if(U.nodeType===1&&U.nodeName.toLowerCase()!=="object"){ja=U;var Ha=(wa=U.getAttribute("id"))||"__sizzle__",Ma=U.parentNode,G=/^\s*[+~]/.test(R);wa?Ha=Ha.replace(/'/g,"\\$&"):U.setAttribute("id",Ha);G&&Ma&&(U=U.parentNode);try{if(!G||Ma)return Ba(U.querySelectorAll("[id='"+
Ha+"'] "+R),aa)}catch(X){}finally{wa||ja.removeAttribute("id")}}}return z(R,U,aa,ka)};for(var Z in z)Q[Z]=z[Z];N=null}}();(function(){var z=M.documentElement,N=z.matchesSelector||z.mozMatchesSelector||z.webkitMatchesSelector||z.msMatchesSelector,Z=false;try{N.call(M.documentElement,"[test!='']:sizzle")}catch(R){Z=true}N&&(Q.matchesSelector=function(U,aa){aa=aa.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!Q.isXML(U))try{if(Z||!da.match.PSEUDO.test(aa)&&!/!=/.test(aa))return N.call(U,aa)}catch(ka){}return Q(aa,
null,null,[U]).length>0})})();(function(){var z=M.createElement("div");z.innerHTML="<div class='test e'></div><div class='test'></div>";if(z.getElementsByClassName&&z.getElementsByClassName("e").length!==0){z.lastChild.className="e";if(z.getElementsByClassName("e").length!==1){da.order.splice(1,0,"CLASS");da.find.CLASS=function(N,Z,R){if(typeof Z.getElementsByClassName!=="undefined"&&!R)return Z.getElementsByClassName(N[1])};z=null}}})();M.documentElement.contains?Q.contains=function(z,N){return z!==
N&&(z.contains?z.contains(N):true)}:M.documentElement.compareDocumentPosition?Q.contains=function(z,N){return!!(z.compareDocumentPosition(N)&16)}:Q.contains=function(){return false};Q.isXML=function(z){return(z=(z?z.ownerDocument||z:0).documentElement)?z.nodeName!=="HTML":false};var Ra=function(z,N){for(var Z,R=[],U="",aa=N.nodeType?[N]:N;Z=da.match.PSEUDO.exec(z);){U+=Z[0];z=z.replace(da.match.PSEUDO,"")}z=da.relative[z]?z+"*":z;Z=0;for(var ka=aa.length;Z<ka;Z++)Q(z,aa[Z],R);return Q.filter(U,R)};
r.find=Q;r.expr=Q.selectors;r.expr[":"]=r.expr.filters;r.unique=Q.uniqueSort;r.text=Q.getText;r.isXMLDoc=Q.isXML;r.contains=Q.contains})();var ra=/Until$/,Ea=/^(?:parents|prevUntil|prevAll)/,Fa=/,/,Za=/^.[^:#\[\.,]*$/,eb=Array.prototype.slice,Ta=r.expr.match.POS,Sa={children:true,contents:true,next:true,prev:true};r.fn.extend({find:function(n){for(var p=this.pushStack("","find",n),t=0,v=0,x=this.length;v<x;v++){t=p.length;r.find(n,this[v],p);if(v>0)for(var C=t;C<p.length;C++)for(var F=0;F<t;F++)if(p[F]===
p[C]){p.splice(C--,1);break}}return p},has:function(n){var p=r(n);return this.filter(function(){for(var t=0,v=p.length;t<v;t++)if(r.contains(this,p[t]))return true})},not:function(n){return this.pushStack(L(this,n,false),"not",n)},filter:function(n){return this.pushStack(L(this,n,true),"filter",n)},is:function(n){return!!n&&r.filter(n,this).length>0},closest:function(n,p){var t=[],v,x,C=this[0];if(r.isArray(n)){var F,V={},S=1;if(C&&n.length){v=0;for(x=n.length;v<x;v++){F=n[v];V[F]||(V[F]=r.expr.match.POS.test(F)?
r(F,p||this.context):F)}for(;C&&C.ownerDocument&&C!==p;){for(F in V){v=V[F];(v.jquery?v.index(C)>-1:r(C).is(v))&&t.push({selector:F,elem:C,level:S})}C=C.parentNode;S++}}return t}F=Ta.test(n)?r(n,p||this.context):null;v=0;for(x=this.length;v<x;v++)for(C=this[v];C;){if(F?F.index(C)>-1:r.find.matchesSelector(C,n)){t.push(C);break}C=C.parentNode;if(!C||!C.ownerDocument||C===p)break}t=t.length>1?r.unique(t):t;return this.pushStack(t,"closest",n)},index:function(n){if(!n||typeof n==="string")return r.inArray(this[0],
n?r(n):this.parent().children());return r.inArray(n.jquery?n[0]:n,this)},add:function(n,p){var t=typeof n==="string"?r(n,p):r.makeArray(n),v=r.merge(this.get(),t);return this.pushStack(!t[0]||!t[0].parentNode||t[0].parentNode.nodeType===11||!v[0]||!v[0].parentNode||v[0].parentNode.nodeType===11?v:r.unique(v))},andSelf:function(){return this.add(this.prevObject)}});r.each({parent:function(n){return(n=n.parentNode)&&n.nodeType!==11?n:null},parents:function(n){return r.dir(n,"parentNode")},parentsUntil:function(n,
p,t){return r.dir(n,"parentNode",t)},next:function(n){return r.nth(n,2,"nextSibling")},prev:function(n){return r.nth(n,2,"previousSibling")},nextAll:function(n){return r.dir(n,"nextSibling")},prevAll:function(n){return r.dir(n,"previousSibling")},nextUntil:function(n,p,t){return r.dir(n,"nextSibling",t)},prevUntil:function(n,p,t){return r.dir(n,"previousSibling",t)},siblings:function(n){return r.sibling(n.parentNode.firstChild,n)},children:function(n){return r.sibling(n.firstChild)},contents:function(n){return r.nodeName(n,
"iframe")?n.contentDocument||n.contentWindow.document:r.makeArray(n.childNodes)}},function(n,p){r.fn[n]=function(t,v){var x=r.map(this,p,t),C=eb.call(arguments);ra.test(n)||(v=t);v&&typeof v==="string"&&(x=r.filter(v,x));x=this.length>1&&!Sa[n]?r.unique(x):x;(this.length>1||Fa.test(v))&&Ea.test(n)&&(x=x.reverse());return this.pushStack(x,n,C.join(","))}});r.extend({filter:function(n,p,t){t&&(n=":not("+n+")");return p.length===1?r.find.matchesSelector(p[0],n)?[p[0]]:[]:r.find.matches(n,p)},dir:function(n,
p,t){var v=[];for(n=n[p];n&&n.nodeType!==9&&(t===c||n.nodeType!==1||!r(n).is(t));){n.nodeType===1&&v.push(n);n=n[p]}return v},nth:function(n,p,t){p=p||1;for(var v=0;n;n=n[t])if(n.nodeType===1&&++v===p)break;return n},sibling:function(n,p){for(var t=[];n;n=n.nextSibling)n.nodeType===1&&n!==p&&t.push(n);return t}});var fb=/ jQuery\d+="(?:\d+|null)"/g,Wa=/^\s+/,rb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,sb=/<([\w:]+)/,Gb=/<tbody/i,Hb=/<|&#?\w+;/,tb=/<(?:script|object|embed|option|style)/i,
ub=/checked\s*(?:[^=]|=\s*.checked.)/i,Pa={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};Pa.optgroup=Pa.option;Pa.tbody=Pa.tfoot=Pa.colgroup=Pa.caption=Pa.thead;Pa.th=Pa.td;r.support.htmlSerialize||(Pa._default=[1,"div<div>",
"</div>"]);r.fn.extend({text:function(n){if(r.isFunction(n))return this.each(function(p){var t=r(this);t.text(n.call(this,p,t.text()))});if(typeof n!=="object"&&n!==c)return this.empty().append((this[0]&&this[0].ownerDocument||M).createTextNode(n));return r.text(this)},wrapAll:function(n){if(r.isFunction(n))return this.each(function(t){r(this).wrapAll(n.call(this,t))});if(this[0]){var p=r(n,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&p.insertBefore(this[0]);p.map(function(){for(var t=
this;t.firstChild&&t.firstChild.nodeType===1;)t=t.firstChild;return t}).append(this)}return this},wrapInner:function(n){if(r.isFunction(n))return this.each(function(p){r(this).wrapInner(n.call(this,p))});return this.each(function(){var p=r(this),t=p.contents();t.length?t.wrapAll(n):p.append(n)})},wrap:function(n){return this.each(function(){r(this).wrapAll(n)})},unwrap:function(){return this.parent().each(function(){r.nodeName(this,"body")||r(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,
true,function(n){this.nodeType===1&&this.appendChild(n)})},prepend:function(){return this.domManip(arguments,true,function(n){this.nodeType===1&&this.insertBefore(n,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(p){this.parentNode.insertBefore(p,this)});if(arguments.length){var n=r(arguments[0]);n.push.apply(n,this.toArray());return this.pushStack(n,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,
false,function(p){this.parentNode.insertBefore(p,this.nextSibling)});if(arguments.length){var n=this.pushStack(this,"after",arguments);n.push.apply(n,r(arguments[0]).toArray());return n}},remove:function(n,p){for(var t=0,v;(v=this[t])!=null;t++)if(!n||r.filter(n,[v]).length){!p&&v.nodeType===1&&(r.cleanData(v.getElementsByTagName("*")),r.cleanData([v]));v.parentNode&&v.parentNode.removeChild(v)}return this},empty:function(){for(var n=0,p;(p=this[n])!=null;n++)for(p.nodeType===1&&r.cleanData(p.getElementsByTagName("*"));p.firstChild;)p.removeChild(p.firstChild);
return this},clone:function(n,p){n=n==null?false:n;p=p==null?n:p;return this.map(function(){return r.clone(this,n,p)})},html:function(n){if(n===c)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(fb,""):null;if(typeof n!=="string"||tb.test(n)||!r.support.leadingWhitespace&&Wa.test(n)||Pa[(sb.exec(n)||["",""])[1].toLowerCase()])r.isFunction(n)?this.each(function(x){var C=r(this);C.html(n.call(this,x,C.html()))}):this.empty().append(n);else{n=n.replace(rb,"<$1></$2>");try{for(var p=0,t=
this.length;p<t;p++)this[p].nodeType===1&&(r.cleanData(this[p].getElementsByTagName("*")),this[p].innerHTML=n)}catch(v){this.empty().append(n)}}return this},replaceWith:function(n){if(this[0]&&this[0].parentNode){if(r.isFunction(n))return this.each(function(p){var t=r(this),v=t.html();t.replaceWith(n.call(this,p,v))});typeof n!=="string"&&(n=r(n).detach());return this.each(function(){var p=this.nextSibling,t=this.parentNode;r(this).remove();p?r(p).before(n):r(t).append(n)})}return this.pushStack(r(r.isFunction(n)?
n():n),"replaceWith",n)},detach:function(n){return this.remove(n,true)},domManip:function(n,p,t){var v,x,C,F=n[0],V=[];if(!r.support.checkClone&&arguments.length===3&&typeof F==="string"&&ub.test(F))return this.each(function(){r(this).domManip(n,p,t,true)});if(r.isFunction(F))return this.each(function(da){var pa=r(this);n[0]=F.call(this,da,p?pa.html():c);pa.domManip(n,p,t)});if(this[0]){C=F&&F.parentNode;r.support.parentNode&&C&&C.nodeType===11&&C.childNodes.length===this.length?v={fragment:C}:v=
r.buildFragment(n,this,V);C=v.fragment;C.childNodes.length===1?x=C=C.firstChild:x=C.firstChild;if(x){p=p&&r.nodeName(x,"tr");x=0;for(var S=this.length,Q=S-1;x<S;x++)t.call(p?r.nodeName(this[x],"table")?this[x].getElementsByTagName("tbody")[0]||this[x].appendChild(this[x].ownerDocument.createElement("tbody")):this[x]:this[x],v.cacheable||S>1&&x<Q?r.clone(C,true,true):C)}V.length&&r.each(V,w)}return this}});r.buildFragment=function(n,p,t){var v,x,C;p=p&&p[0]?p[0].ownerDocument||p[0]:M;n.length===1&&
typeof n[0]==="string"&&n[0].length<512&&p===M&&n[0].charAt(0)==="<"&&!tb.test(n[0])&&(r.support.checkClone||!ub.test(n[0]))&&(x=true,C=r.fragments[n[0]],C&&C!==1&&(v=C));v||(v=p.createDocumentFragment(),r.clean(n,p,v,t));x&&(r.fragments[n[0]]=C?v:1);return{fragment:v,cacheable:x}};r.fragments={};r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(n,p){r.fn[n]=function(t){var v=[];t=r(t);var x=this.length===1&&this[0].parentNode;
if(x&&x.nodeType===11&&x.childNodes.length===1&&t.length===1){t[p](this[0]);return this}x=0;for(var C=t.length;x<C;x++){var F=(x>0?this.clone(true):this).get();r(t[x])[p](F);v=v.concat(F)}return this.pushStack(v,n,t.selector)}});r.extend({clone:function(n,p,t){var v=n.cloneNode(true),x,C,F;if((!r.support.noCloneEvent||!r.support.noCloneChecked)&&(n.nodeType===1||n.nodeType===11)&&!r.isXMLDoc(n)){H(n,v);x=A(n);C=A(v);for(F=0;x[F];++F)H(x[F],C[F])}if(p){K(n,v);if(t){x=A(n);C=A(v);for(F=0;x[F];++F)K(x[F],
C[F])}}return v},clean:function(n,p,t,v){p=p||M;typeof p.createElement==="undefined"&&(p=p.ownerDocument||p[0]&&p[0].ownerDocument||M);for(var x=[],C=0,F;(F=n[C])!=null;C++){typeof F==="number"&&(F+="");if(F){if(typeof F!=="string"||Hb.test(F)){if(typeof F==="string"){F=F.replace(rb,"<$1></$2>");var V=(sb.exec(F)||["",""])[1].toLowerCase(),S=Pa[V]||Pa._default,Q=S[0],da=p.createElement("div");for(da.innerHTML=S[1]+F+S[2];Q--;)da=da.lastChild;if(!r.support.tbody){Q=Gb.test(F);V=V==="table"&&!Q?da.firstChild&&
da.firstChild.childNodes:S[1]==="<table>"&&!Q?da.childNodes:[];for(S=V.length-1;S>=0;--S)r.nodeName(V[S],"tbody")&&!V[S].childNodes.length&&V[S].parentNode.removeChild(V[S])}!r.support.leadingWhitespace&&Wa.test(F)&&da.insertBefore(p.createTextNode(Wa.exec(F)[0]),da.firstChild);F=da.childNodes}}else F=p.createTextNode(F);F.nodeType?x.push(F):x=r.merge(x,F)}}if(t)for(C=0;x[C];C++)!v||!r.nodeName(x[C],"script")||x[C].type&&x[C].type.toLowerCase()!=="text/javascript"?(x[C].nodeType===1&&x.splice.apply(x,
[C+1,0].concat(r.makeArray(x[C].getElementsByTagName("script")))),t.appendChild(x[C])):v.push(x[C].parentNode?x[C].parentNode.removeChild(x[C]):x[C]);return x},cleanData:function(n){for(var p,t,v=r.cache,x=r.expando,C=r.event.special,F=r.support.deleteExpando,V=0,S;(S=n[V])!=null;V++)if(!(S.nodeName&&r.noData[S.nodeName.toLowerCase()]))if(t=S[r.expando]){if((p=v[t]&&v[t][x])&&p.events){for(var Q in p.events)C[Q]?r.event.remove(S,Q):r.removeEvent(S,Q,p.handle);p.handle&&(p.handle.elem=null)}F?delete S[r.expando]:
S.removeAttribute&&S.removeAttribute(r.expando);delete v[t]}}});var vb=/alpha\([^)]*\)/i,Ib=/opacity=([^)]*)/,Jb=/-([a-z])/ig,Kb=/([A-Z])/g,wb=/^-?\d+(?:px)?$/i,Lb=/^-?\d/,Mb={position:"absolute",visibility:"hidden",display:"block"},Eb=["Left","Right"],Fb=["Top","Bottom"],ib,$a,jb,Nb=function(n,p){return p.toUpperCase()};r.fn.css=function(n,p){if(arguments.length===2&&p===c)return this;return r.access(this,n,p,true,function(t,v,x){return x!==c?r.style(t,v,x):r.css(t,v)})};r.extend({cssHooks:{opacity:{get:function(n,
p){if(p){var t=ib(n,"opacity","opacity");return t===""?"1":t}return n.style.opacity}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true,zoom:true,lineHeight:true},cssProps:{"float":r.support.cssFloat?"cssFloat":"styleFloat"},style:function(n,p,t,v){if(n&&n.nodeType!==3&&n.nodeType!==8&&n.style){var x,C=r.camelCase(p),F=n.style,V=r.cssHooks[C];p=r.cssProps[C]||C;if(t===c){if(V&&"get"in V&&(x=V.get(n,false,v))!==c)return x;return F[p]}if(!(typeof t==="number"&&isNaN(t)||t==null)){typeof t==="number"&&
!r.cssNumber[C]&&(t+="px");if(!V||!("set"in V)||(t=V.set(n,t))!==c)try{F[p]=t}catch(S){}}}},css:function(n,p,t){var v,x=r.camelCase(p),C=r.cssHooks[x];p=r.cssProps[x]||x;if(C&&"get"in C&&(v=C.get(n,true,t))!==c)return v;if(ib)return ib(n,p,x)},swap:function(n,p,t){var v={},x;for(x in p){v[x]=n.style[x];n.style[x]=p[x]}t.call(n);for(x in p)n.style[x]=v[x]},camelCase:function(n){return n.replace(Jb,Nb)}});r.curCSS=r.css;r.each(["height","width"],function(n,p){r.cssHooks[p]={get:function(t,v,x){var C;
if(v){t.offsetWidth!==0?C=u(t,p,x):r.swap(t,Mb,function(){C=u(t,p,x)});if(C<=0){C=ib(t,p,p);C==="0px"&&jb&&(C=jb(t,p,p));if(C!=null)return C===""||C==="auto"?"0px":C}if(C<0||C==null){C=t.style[p];return C===""||C==="auto"?"0px":C}return typeof C==="string"?C:C+"px"}},set:function(t,v){if(!wb.test(v))return v;v=parseFloat(v);if(v>=0)return v+"px"}}});r.support.opacity||(r.cssHooks.opacity={get:function(n,p){return Ib.test((p&&n.currentStyle?n.currentStyle.filter:n.style.filter)||"")?parseFloat(RegExp.$1)/
100+"":p?"1":""},set:function(n,p){var t=n.style;t.zoom=1;var v=r.isNaN(p)?"":"alpha(opacity="+p*100+")",x=t.filter||"";t.filter=vb.test(x)?x.replace(vb,v):t.filter+" "+v}});M.defaultView&&M.defaultView.getComputedStyle&&($a=function(n,p,t){var v;t=t.replace(Kb,"-$1").toLowerCase();if(!(p=n.ownerDocument.defaultView))return c;if(p=p.getComputedStyle(n,null)){v=p.getPropertyValue(t);v===""&&!r.contains(n.ownerDocument.documentElement,n)&&(v=r.style(n,t))}return v});M.documentElement.currentStyle&&
(jb=function(n,p){var t,v=n.currentStyle&&n.currentStyle[p],x=n.runtimeStyle&&n.runtimeStyle[p],C=n.style;!wb.test(v)&&Lb.test(v)&&(t=C.left,x&&(n.runtimeStyle.left=n.currentStyle.left),C.left=p==="fontSize"?"1em":v||0,v=C.pixelLeft+"px",C.left=t,x&&(n.runtimeStyle.left=x));return v===""?"auto":v});ib=$a||jb;r.expr&&r.expr.filters&&(r.expr.filters.hidden=function(n){var p=n.offsetHeight;return n.offsetWidth===0&&p===0||!r.support.reliableHiddenOffsets&&(n.style.display||r.css(n,"display"))==="none"},
r.expr.filters.visible=function(n){return!r.expr.filters.hidden(n)});var Ob=/%20/g,Db=/\[\]$/,xb=/\r?\n/g,Pb=/#.*$/,Qb=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,Rb=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,Sb=/^(?:GET|HEAD)$/,Tb=/^\/\//,yb=/\?/,Ub=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,Vb=/^(?:select|textarea)/i,qb=/\s+/,Wb=/([?&])_=[^&]*/,Xb=/(^|\-)([a-z])/g,Yb=function(n,p,t){return p+t.toUpperCase()},zb=/^([\w\+\.\-]+:)\/\/([^\/?#:]*)(?::(\d+))?/,
Ab=r.fn.load,nb={},Bb={},ab,bb;try{ab=M.location.href}catch(ec){ab=M.createElement("a");ab.href="";ab=ab.href}bb=zb.exec(ab.toLowerCase());r.fn.extend({load:function(n,p,t){if(typeof n!=="string"&&Ab)return Ab.apply(this,arguments);if(!this.length)return this;var v=n.indexOf(" ");if(v>=0){var x=n.slice(v,n.length);n=n.slice(0,v)}v="GET";p&&(r.isFunction(p)?(t=p,p=c):typeof p==="object"&&(p=r.param(p,r.ajaxSettings.traditional),v="POST"));var C=this;r.ajax({url:n,type:v,dataType:"html",data:p,complete:function(F,
V,S){S=F.responseText;F.isResolved()&&(F.done(function(Q){S=Q}),C.html(x?r("<div>").append(S.replace(Ub,"")).find(x):S));t&&C.each(t,[S,V,F])}});return this},serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?r.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||Vb.test(this.nodeName)||Rb.test(this.type))}).map(function(n,p){var t=r(this).val();return t==null?null:r.isArray(t)?
r.map(t,function(v){return{name:p.name,value:v.replace(xb,"\r\n")}}):{name:p.name,value:t.replace(xb,"\r\n")}}).get()}});r.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(n,p){r.fn[p]=function(t){return this.bind(p,t)}});r.each(["get","post"],function(n,p){r[p]=function(t,v,x,C){r.isFunction(v)&&(C=C||x,x=v,v=c);return r.ajax({type:p,url:t,data:v,success:x,dataType:C})}});r.extend({getScript:function(n,p){return r.get(n,c,p,"script")},getJSON:function(n,p,
t){return r.get(n,p,t,"json")},ajaxSetup:function(n,p){p?r.extend(true,n,r.ajaxSettings,p):(p=n,n=r.extend(true,r.ajaxSettings,p));for(var t in{context:1,url:1})t in p?n[t]=p[t]:t in r.ajaxSettings&&(n[t]=r.ajaxSettings[t]);return n},ajaxSettings:{url:ab,isLocal:/(?:^file|^widget|\-extension):$/.test(bb[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript",
"*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":true,"text json":r.parseJSON,"text xml":r.parseXML}},ajaxPrefilter:q(nb),ajaxTransport:q(Bb),ajax:function(n,p){function t(R,U,aa,ka){if(Ga!==2){Ga=2;Ba&&clearTimeout(Ba);sa=c;pa=ka||"";z.readyState=R?4:0;var ja,wa,Ia;if(aa){ka=v;var Ha=z,Ma=ka.contents,G=ka.dataTypes,X=ka.responseFields,ca,fa,qa,xa;for(fa in X)fa in aa&&(Ha[X[fa]]=aa[fa]);for(;G[0]===
"*";){G.shift();ca===c&&(ca=ka.mimeType||Ha.getResponseHeader("content-type"))}if(ca)for(fa in Ma)if(Ma[fa]&&Ma[fa].test(ca)){G.unshift(fa);break}if(G[0]in aa)qa=G[0];else{for(fa in aa){if(!G[0]||ka.converters[fa+" "+G[0]]){qa=fa;break}xa||(xa=fa)}qa=qa||xa}if(qa){qa!==G[0]&&G.unshift(qa);aa=aa[qa]}else aa=void 0}else aa=c;aa=aa;if(R>=200&&R<300||R===304){if(v.ifModified){if(ca=z.getResponseHeader("Last-Modified"))r.lastModified[Q]=ca;if(ca=z.getResponseHeader("Etag"))r.etag[Q]=ca}if(R===304){U="notmodified";
ja=true}else try{ca=v;aa=aa;ca.dataFilter&&(aa=ca.dataFilter(aa,ca.dataType));var Aa=ca.dataTypes;fa={};var Da,Na,Ua=Aa.length,Va,Xa=Aa[0],gb,ob,Ya,cb,hb;for(Da=1;Da<Ua;Da++){if(Da===1)for(Na in ca.converters)typeof Na==="string"&&(fa[Na.toLowerCase()]=ca.converters[Na]);gb=Xa;Xa=Aa[Da];if(Xa==="*")Xa=gb;else if(gb!=="*"&&gb!==Xa){ob=gb+" "+Xa;Ya=fa[ob]||fa["* "+Xa];if(!Ya){hb=c;for(cb in fa){Va=cb.split(" ");if(Va[0]===gb||Va[0]==="*")if(hb=fa[Va[1]+" "+Xa]){cb=fa[cb];cb===true?Ya=hb:hb===true&&
(Ya=cb);break}}}!Ya&&!hb&&r.error("No conversion from "+ob.replace(" "," to "));Ya!==true&&(aa=Ya?Ya(aa):hb(cb(aa)))}}wa=aa;U="success";ja=true}catch(Zb){U="parsererror";Ia=Zb}}else{Ia=U;if(!U||R){U="error";R<0&&(R=0)}}z.status=R;z.statusText=U;ja?F.resolveWith(x,[wa,U,z]):F.rejectWith(x,[z,U,Ia]);z.statusCode(S);S=c;La&&C.trigger("ajax"+(ja?"Success":"Error"),[z,v,ja?wa:Ia]);V.resolveWith(x,[z,U]);La&&(C.trigger("ajaxComplete",[z,v]),--r.active||r.event.trigger("ajaxStop"))}}typeof n==="object"&&
(p=n,n=c);p=p||{};var v=r.ajaxSetup({},p),x=v.context||v,C=x!==v&&(x.nodeType||x instanceof r)?r(x):r.event,F=r.Deferred(),V=r._Deferred(),S=v.statusCode||{},Q,da={},pa,za,sa,Ba,Ka,Ga=0,La,Ra,z={readyState:0,setRequestHeader:function(R,U){Ga||(da[R.toLowerCase().replace(Xb,Yb)]=U);return this},getAllResponseHeaders:function(){return Ga===2?pa:null},getResponseHeader:function(R){var U;if(Ga===2){if(!za)for(za={};U=Qb.exec(pa);)za[U[1].toLowerCase()]=U[2];U=za[R.toLowerCase()]}return U===c?null:U},
overrideMimeType:function(R){Ga||(v.mimeType=R);return this},abort:function(R){R=R||"abort";sa&&sa.abort(R);t(0,R);return this}};F.promise(z);z.success=z.done;z.error=z.fail;z.complete=V.done;z.statusCode=function(R){if(R){var U;if(Ga<2)for(U in R)S[U]=[S[U],R[U]];else{U=R[z.status];z.then(U,U)}}return this};v.url=((n||v.url)+"").replace(Pb,"").replace(Tb,bb[1]+"//");v.dataTypes=r.trim(v.dataType||"*").toLowerCase().split(qb);v.crossDomain||(Ka=zb.exec(v.url.toLowerCase()),v.crossDomain=Ka&&(Ka[1]!=
bb[1]||Ka[2]!=bb[2]||(Ka[3]||(Ka[1]==="http:"?80:443))!=(bb[3]||(bb[1]==="http:"?80:443))));v.data&&v.processData&&typeof v.data!=="string"&&(v.data=r.param(v.data,v.traditional));o(nb,v,p,z);if(Ga===2)return false;La=v.global;v.type=v.type.toUpperCase();v.hasContent=!Sb.test(v.type);La&&r.active++===0&&r.event.trigger("ajaxStart");if(!v.hasContent){v.data&&(v.url+=(yb.test(v.url)?"&":"?")+v.data);Q=v.url;if(v.cache===false){Ka=r.now();var N=v.url.replace(Wb,"$1_="+Ka);v.url=N+(N===v.url?(yb.test(v.url)?
"&":"?")+"_="+Ka:"")}}if(v.data&&v.hasContent&&v.contentType!==false||p.contentType)da["Content-Type"]=v.contentType;v.ifModified&&(Q=Q||v.url,r.lastModified[Q]&&(da["If-Modified-Since"]=r.lastModified[Q]),r.etag[Q]&&(da["If-None-Match"]=r.etag[Q]));da.Accept=v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+(v.dataTypes[0]!=="*"?", */*; q=0.01":""):v.accepts["*"];for(Ra in v.headers)z.setRequestHeader(Ra,v.headers[Ra]);if(v.beforeSend&&(v.beforeSend.call(x,z,v)===false||Ga===2)){z.abort();
return false}for(Ra in{success:1,error:1,complete:1})z[Ra](v[Ra]);if(sa=o(Bb,v,p,z)){z.readyState=1;La&&C.trigger("ajaxSend",[z,v]);v.async&&v.timeout>0&&(Ba=setTimeout(function(){z.abort("timeout")},v.timeout));try{Ga=1;sa.send(da,t)}catch(Z){status<2?t(-1,Z):r.error(Z)}}else t(-1,"No Transport");return z},param:function(n,p){var t=[],v=function(C,F){F=r.isFunction(F)?F():F;t[t.length]=encodeURIComponent(C)+"="+encodeURIComponent(F)};p===c&&(p=r.ajaxSettings.traditional);if(r.isArray(n)||n.jquery&&
!r.isPlainObject(n))r.each(n,function(){v(this.name,this.value)});else for(var x in n)m(x,n[x],p,v);return t.join("&").replace(Ob,"+")}});r.extend({active:0,lastModified:{},etag:{}});var $b=r.now(),kb=/(\=)\?(&|$)|()\?\?()/i;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return r.expando+"_"+$b++}});r.ajaxPrefilter("json jsonp",function(n,p,t){var v=typeof n.data==="string";if(n.dataTypes[0]==="jsonp"||p.jsonpCallback||p.jsonp!=null||n.jsonp!==false&&(kb.test(n.url)||v&&kb.test(n.data))){var x,
C=n.jsonpCallback=r.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,F=a[C];p=n.url;var V=n.data,S="$1"+C+"$2",Q=function(){a[C]=F;x&&r.isFunction(F)&&a[C](x[0])};n.jsonp!==false&&(p=p.replace(kb,S),n.url===p&&(v&&(V=V.replace(kb,S)),n.data===V&&(p+=(/\?/.test(p)?"&":"?")+n.jsonp+"="+C)));n.url=p;n.data=V;a[C]=function(da){x=[da]};t.then(Q,Q);n.converters["script json"]=function(){x||r.error(C+" was not called");return x[0]};n.dataTypes[0]="json";return"script"}});r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},
contents:{script:/javascript|ecmascript/},converters:{"text script":function(n){r.globalEval(n);return n}}});r.ajaxPrefilter("script",function(n){n.cache===c&&(n.cache=false);n.crossDomain&&(n.type="GET",n.global=false)});r.ajaxTransport("script",function(n){if(n.crossDomain){var p,t=M.head||M.getElementsByTagName("head")[0]||M.documentElement;return{send:function(v,x){p=M.createElement("script");p.async="async";n.scriptCharset&&(p.charset=n.scriptCharset);p.src=n.url;p.onload=p.onreadystatechange=
function(C,F){if(!p.readyState||/loaded|complete/.test(p.readyState)){p.onload=p.onreadystatechange=null;t&&p.parentNode&&t.removeChild(p);p=c;F||x(200,"success")}};t.insertBefore(p,t.firstChild)},abort:function(){p&&p.onload(0,1)}}}});var ac=r.now(),db;r.ajaxSettings.xhr=a.ActiveXObject?function(){var n;if(!(n=!this.isLocal&&g()))a:{try{n=new a.ActiveXObject("Microsoft.XMLHTTP");break a}catch(p){}n=void 0}return n}:g;$a=r.ajaxSettings.xhr();r.support.ajax=!!$a;r.support.cors=$a&&"withCredentials"in
$a;$a=c;r.support.ajax&&r.ajaxTransport(function(n){if(!n.crossDomain||r.support.cors){var p;return{send:function(t,v){var x=n.xhr(),C,F;n.username?x.open(n.type,n.url,n.async,n.username,n.password):x.open(n.type,n.url,n.async);if(n.xhrFields)for(F in n.xhrFields)x[F]=n.xhrFields[F];n.mimeType&&x.overrideMimeType&&x.overrideMimeType(n.mimeType);(!n.crossDomain||n.hasContent)&&!t["X-Requested-With"]&&(t["X-Requested-With"]="XMLHttpRequest");try{for(F in t)x.setRequestHeader(F,t[F])}catch(V){}x.send(n.hasContent&&
n.data||null);p=function(S,Q){var da,pa,za,sa,Ba;try{if(p&&(Q||x.readyState===4)){p=c;C&&(x.onreadystatechange=r.noop,delete db[C]);if(Q)x.readyState!==4&&x.abort();else{da=x.status;za=x.getAllResponseHeaders();sa={};(Ba=x.responseXML)&&Ba.documentElement&&(sa.xml=Ba);sa.text=x.responseText;try{pa=x.statusText}catch(Ka){pa=""}da||!n.isLocal||n.crossDomain?da===1223&&(da=204):da=sa.text?200:404}}}catch(Ga){Q||v(-1,Ga)}sa&&v(da,pa,sa,za)};n.async&&x.readyState!==4?(db||(db={},h()),C=ac++,x.onreadystatechange=
db[C]=p):p()},abort:function(){p&&p(0,1)}}}});var mb={},bc=/^(?:toggle|show|hide)$/,cc=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,lb,pb=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];r.fn.extend({show:function(n,p,t){if(n||n===0)return this.animate(f("show",3),n,p,t);t=0;for(var v=this.length;t<v;t++){n=this[t];p=n.style.display;!r._data(n,"olddisplay")&&p==="none"&&(p=n.style.display="");p===""&&r.css(n,"display")===
"none"&&r._data(n,"olddisplay",b(n.nodeName))}for(t=0;t<v;t++){n=this[t];p=n.style.display;if(p===""||p==="none")n.style.display=r._data(n,"olddisplay")||""}return this},hide:function(n,p,t){if(n||n===0)return this.animate(f("hide",3),n,p,t);n=0;for(p=this.length;n<p;n++){t=r.css(this[n],"display");t!=="none"&&!r._data(this[n],"olddisplay")&&r._data(this[n],"olddisplay",t)}for(n=0;n<p;n++)this[n].style.display="none";return this},_toggle:r.fn.toggle,toggle:function(n,p,t){var v=typeof n==="boolean";
r.isFunction(n)&&r.isFunction(p)?this._toggle.apply(this,arguments):n==null||v?this.each(function(){var x=v?n:r(this).is(":hidden");r(this)[x?"show":"hide"]()}):this.animate(f("toggle",3),n,p,t);return this},fadeTo:function(n,p,t,v){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:p},n,t,v)},animate:function(n,p,t,v){var x=r.speed(p,t,v);if(r.isEmptyObject(n))return this.each(x.complete);return this[x.queue===false?"each":"queue"](function(){var C=r.extend({},x),F,V=this.nodeType===
1,S=V&&r(this).is(":hidden"),Q=this;for(F in n){var da=r.camelCase(F);F!==da&&(n[da]=n[F],delete n[F],F=da);if(n[F]==="hide"&&S||n[F]==="show"&&!S)return C.complete.call(this);if(V&&(F==="height"||F==="width")){C.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(r.css(this,"display")==="inline"&&r.css(this,"float")==="none")if(r.support.inlineBlockNeedsLayout)b(this.nodeName)==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1);else this.style.display=
"inline-block"}r.isArray(n[F])&&((C.specialEasing=C.specialEasing||{})[F]=n[F][1],n[F]=n[F][0])}C.overflow!=null&&(this.style.overflow="hidden");C.curAnim=r.extend({},n);r.each(n,function(pa,za){var sa=new r.fx(Q,C,pa);if(bc.test(za))sa[za==="toggle"?S?"show":"hide":za](n);else{var Ba=cc.exec(za),Ka=sa.cur();if(Ba){var Ga=parseFloat(Ba[2]),La=Ba[3]||(r.cssNumber[pa]?"":"px");La!=="px"&&(r.style(Q,pa,(Ga||1)+La),Ka=(Ga||1)/sa.cur()*Ka,r.style(Q,pa,Ka+La));Ba[1]&&(Ga=(Ba[1]==="-="?-1:1)*Ga+Ka);sa.custom(Ka,
Ga,La)}else sa.custom(Ka,za,"")}});return true})},stop:function(n,p){var t=r.timers;n&&this.queue([]);this.each(function(){for(var v=t.length-1;v>=0;v--)t[v].elem===this&&(p&&t[v](true),t.splice(v,1))});p||this.dequeue();return this}});r.each({slideDown:f("show",1),slideUp:f("hide",1),slideToggle:f("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(n,p){r.fn[n]=function(t,v,x){return this.animate(p,t,v,x)}});r.extend({speed:function(n,p,t){var v=n&&
typeof n==="object"?r.extend({},n):{complete:t||!t&&p||r.isFunction(n)&&n,duration:n,easing:t&&p||p&&!r.isFunction(p)&&p};v.duration=r.fx.off?0:typeof v.duration==="number"?v.duration:v.duration in r.fx.speeds?r.fx.speeds[v.duration]:r.fx.speeds._default;v.old=v.complete;v.complete=function(){v.queue!==false&&r(this).dequeue();r.isFunction(v.old)&&v.old.call(this)};return v},easing:{linear:function(n,p,t,v){return t+v*n},swing:function(n,p,t,v){return(-Math.cos(n*Math.PI)/2+0.5)*v+t}},timers:[],fx:function(n,
p,t){this.options=p;this.elem=n;this.prop=t;p.orig||(p.orig={})}});r.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(r.fx.step[this.prop]||r.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var n,p=r.css(this.elem,this.prop);return isNaN(n=parseFloat(p))?!p||p==="auto"?0:p:n},custom:function(n,p,t){function v(F){return x.step(F)}var x=this,C=r.fx;
this.startTime=r.now();this.start=n;this.end=p;this.unit=t||this.unit||(r.cssNumber[this.prop]?"":"px");this.now=this.start;this.pos=this.state=0;v.elem=this.elem;v()&&r.timers.push(v)&&!lb&&(lb=setInterval(C.tick,C.interval))},show:function(){this.options.orig[this.prop]=r.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());r(this.elem).show()},hide:function(){this.options.orig[this.prop]=r.style(this.elem,this.prop);this.options.hide=
true;this.custom(this.cur(),0)},step:function(n){var p=r.now(),t=true;if(n||p>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var v in this.options.curAnim)this.options.curAnim[v]!==true&&(t=false);if(t){if(this.options.overflow!=null&&!r.support.shrinkWrapBlocks){var x=this.elem,C=this.options;r.each(["","X","Y"],function(V,S){x.style["overflow"+S]=C.overflow[V]})}this.options.hide&&r(this.elem).hide();if(this.options.hide||
this.options.show)for(var F in this.options.curAnim)r.style(this.elem,F,this.options.orig[F]);this.options.complete.call(this.elem)}return false}n=p-this.startTime;this.state=n/this.options.duration;p=this.options.easing||(r.easing.swing?"swing":"linear");this.pos=r.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||p](this.state,n,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update();return true}};r.extend(r.fx,{tick:function(){for(var n=
r.timers,p=0;p<n.length;p++)n[p]()||n.splice(p--,1);n.length||r.fx.stop()},interval:13,stop:function(){clearInterval(lb);lb=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(n){r.style(n.elem,"opacity",n.now)},_default:function(n){n.elem.style&&n.elem.style[n.prop]!=null?n.elem.style[n.prop]=(n.prop==="width"||n.prop==="height"?Math.max(0,n.now):n.now)+n.unit:n.elem[n.prop]=n.now}}});r.expr&&r.expr.filters&&(r.expr.filters.animated=function(n){return r.grep(r.timers,function(p){return n===
p.elem}).length});var dc=/^t(?:able|d|h)$/i,Cb=/^(?:body|html)$/i;"getBoundingClientRect"in M.documentElement?r.fn.offset=function(n){var p=this[0],t;if(n)return this.each(function(F){r.offset.setOffset(this,n,F)});if(!p||!p.ownerDocument)return null;if(p===p.ownerDocument.body)return r.offset.bodyOffset(p);try{t=p.getBoundingClientRect()}catch(v){}var x=p.ownerDocument,C=x.documentElement;if(!t||!r.contains(C,p))return t?{top:t.top,left:t.left}:{top:0,left:0};p=x.body;x=d(x);return{top:t.top+(x.pageYOffset||
r.support.boxModel&&C.scrollTop||p.scrollTop)-(C.clientTop||p.clientTop||0),left:t.left+(x.pageXOffset||r.support.boxModel&&C.scrollLeft||p.scrollLeft)-(C.clientLeft||p.clientLeft||0)}}:r.fn.offset=function(n){var p=this[0];if(n)return this.each(function(Q){r.offset.setOffset(this,n,Q)});if(!p||!p.ownerDocument)return null;if(p===p.ownerDocument.body)return r.offset.bodyOffset(p);r.offset.initialize();var t,v=p.offsetParent,x=p.ownerDocument,C=x.documentElement,F=x.body;t=(x=x.defaultView)?x.getComputedStyle(p,
null):p.currentStyle;for(var V=p.offsetTop,S=p.offsetLeft;(p=p.parentNode)&&p!==F&&p!==C;){if(r.offset.supportsFixedPosition&&t.position==="fixed")break;t=x?x.getComputedStyle(p,null):p.currentStyle;V-=p.scrollTop;S-=p.scrollLeft;p===v&&(V+=p.offsetTop,S+=p.offsetLeft,r.offset.doesNotAddBorder&&(!r.offset.doesAddBorderForTableAndCells||!dc.test(p.nodeName))&&(V+=parseFloat(t.borderTopWidth)||0,S+=parseFloat(t.borderLeftWidth)||0),v=p.offsetParent);r.offset.subtractsBorderForOverflowNotVisible&&t.overflow!==
"visible"&&(V+=parseFloat(t.borderTopWidth)||0,S+=parseFloat(t.borderLeftWidth)||0);t=t}if(t.position==="relative"||t.position==="static"){V+=F.offsetTop;S+=F.offsetLeft}r.offset.supportsFixedPosition&&t.position==="fixed"&&(V+=Math.max(C.scrollTop,F.scrollTop),S+=Math.max(C.scrollLeft,F.scrollLeft));return{top:V,left:S}};r.offset={initialize:function(){var n=M.body,p=M.createElement("div"),t,v,x,C=parseFloat(r.css(n,"marginTop"))||0;r.extend(p.style,{position:"absolute",top:0,left:0,margin:0,border:0,
width:"1px",height:"1px",visibility:"hidden"});p.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";n.insertBefore(p,n.firstChild);t=p.firstChild;v=t.firstChild;x=t.nextSibling.firstChild.firstChild;this.doesNotAddBorder=v.offsetTop!==5;this.doesAddBorderForTableAndCells=
x.offsetTop===5;v.style.position="fixed";v.style.top="20px";this.supportsFixedPosition=v.offsetTop===20||v.offsetTop===15;v.style.position=v.style.top="";t.style.overflow="hidden";t.style.position="relative";this.subtractsBorderForOverflowNotVisible=v.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=n.offsetTop!==C;n.removeChild(p);r.offset.initialize=r.noop},bodyOffset:function(n){var p=n.offsetTop,t=n.offsetLeft;r.offset.initialize();r.offset.doesNotIncludeMarginInBodyOffset&&(p+=parseFloat(r.css(n,
"marginTop"))||0,t+=parseFloat(r.css(n,"marginLeft"))||0);return{top:p,left:t}},setOffset:function(n,p,t){var v=r.css(n,"position");v==="static"&&(n.style.position="relative");var x=r(n),C=x.offset(),F=r.css(n,"top"),V=r.css(n,"left"),S=v==="absolute"&&r.inArray("auto",[F,V])>-1;v={};var Q={};S&&(Q=x.position());F=S?Q.top:parseInt(F,10)||0;V=S?Q.left:parseInt(V,10)||0;r.isFunction(p)&&(p=p.call(n,t,C));p.top!=null&&(v.top=p.top-C.top+F);p.left!=null&&(v.left=p.left-C.left+V);"using"in p?p.using.call(n,
v):x.css(v)}};r.fn.extend({position:function(){if(!this[0])return null;var n=this[0],p=this.offsetParent(),t=this.offset(),v=Cb.test(p[0].nodeName)?{top:0,left:0}:p.offset();t.top-=parseFloat(r.css(n,"marginTop"))||0;t.left-=parseFloat(r.css(n,"marginLeft"))||0;v.top+=parseFloat(r.css(p[0],"borderTopWidth"))||0;v.left+=parseFloat(r.css(p[0],"borderLeftWidth"))||0;return{top:t.top-v.top,left:t.left-v.left}},offsetParent:function(){return this.map(function(){for(var n=this.offsetParent||M.body;n&&!Cb.test(n.nodeName)&&
r.css(n,"position")==="static";)n=n.offsetParent;return n})}});r.each(["Left","Top"],function(n,p){var t="scroll"+p;r.fn[t]=function(v){var x=this[0],C;if(!x)return null;if(v!==c)return this.each(function(){(C=d(this))?C.scrollTo(n?r(C).scrollLeft():v,n?v:r(C).scrollTop()):this[t]=v});return(C=d(x))?"pageXOffset"in C?C[n?"pageYOffset":"pageXOffset"]:r.support.boxModel&&C.document.documentElement[t]||C.document.body[t]:x[t]}});r.each(["Height","Width"],function(n,p){var t=p.toLowerCase();r.fn["inner"+
p]=function(){return this[0]?parseFloat(r.css(this[0],t,"padding")):null};r.fn["outer"+p]=function(v){return this[0]?parseFloat(r.css(this[0],t,v?"margin":"border")):null};r.fn[t]=function(v){var x=this[0];if(!x)return v==null?null:this;if(r.isFunction(v))return this.each(function(F){var V=r(this);V[t](v.call(this,F,V[t]()))});if(r.isWindow(x)){var C=x.document.documentElement["client"+p];return x.document.compatMode==="CSS1Compat"&&C||x.document.body["client"+p]||C}if(x.nodeType===9)return Math.max(x.documentElement["client"+
p],x.body["scroll"+p],x.documentElement["scroll"+p],x.body["offset"+p],x.documentElement["offset"+p]);if(v===c){x=r.css(x,t);C=parseFloat(x);return r.isNaN(C)?x:C}return this.css(t,typeof v==="string"?v:v+"px")}});a.jQuery=a.$=r})(window);
(function(){var a=this,c=a._,d={},b=Array.prototype,f=Object.prototype,g=b.slice,h=b.unshift,m=f.toString,o=f.hasOwnProperty,q=b.forEach,u=b.map,w=b.reduce,A=b.reduceRight,H=b.filter,K=b.every,L=b.some,E=b.indexOf,O=b.lastIndexOf;f=Array.isArray;var I=Object.keys,B=function(y){return new r(y)};if(typeof module!=="undefined"&&module.exports){module.exports=B;B._=B}else a._=B;B.VERSION="1.1.4";var T=B.each=B.forEach=function(y,D,J){if(y!=null)if(q&&y.forEach===q)y.forEach(D,J);else if(B.isNumber(y.length))for(var P=
0,ha=y.length;P<ha;P++){if(D.call(J,y[P],P,y)===d)break}else for(P in y)if(o.call(y,P))if(D.call(J,y[P],P,y)===d)break};B.map=function(y,D,J){var P=[];if(y==null)return P;if(u&&y.map===u)return y.map(D,J);T(y,function(ha,na,va){P[P.length]=D.call(J,ha,na,va)});return P};B.reduce=B.foldl=B.inject=function(y,D,J,P){var ha=J!==void 0;if(y==null)y=[];if(w&&y.reduce===w){if(P)D=B.bind(D,P);return ha?y.reduce(D,J):y.reduce(D)}T(y,function(na,va,Ca){if(!ha&&va===0){J=na;ha=true}else J=D.call(P,J,na,va,Ca)});
if(!ha)throw new TypeError("Reduce of empty array with no initial value");return J};B.reduceRight=B.foldr=function(y,D,J,P){if(y==null)y=[];if(A&&y.reduceRight===A){if(P)D=B.bind(D,P);return J!==void 0?y.reduceRight(D,J):y.reduceRight(D)}y=(B.isArray(y)?y.slice():B.toArray(y)).reverse();return B.reduce(y,D,J,P)};B.find=B.detect=function(y,D,J){var P;ea(y,function(ha,na,va){if(D.call(J,ha,na,va)){P=ha;return true}});return P};B.filter=B.select=function(y,D,J){var P=[];if(y==null)return P;if(H&&y.filter===
H)return y.filter(D,J);T(y,function(ha,na,va){if(D.call(J,ha,na,va))P[P.length]=ha});return P};B.reject=function(y,D,J){var P=[];if(y==null)return P;T(y,function(ha,na,va){D.call(J,ha,na,va)||(P[P.length]=ha)});return P};B.every=B.all=function(y,D,J){D=D||B.identity;var P=true;if(y==null)return P;if(K&&y.every===K)return y.every(D,J);T(y,function(ha,na,va){if(!(P=P&&D.call(J,ha,na,va)))return d});return P};var ea=B.some=B.any=function(y,D,J){D=D||B.identity;var P=false;if(y==null)return P;if(L&&y.some===
L)return y.some(D,J);T(y,function(ha,na,va){if(P=D.call(J,ha,na,va))return d});return P};B.include=B.contains=function(y,D){var J=false;if(y==null)return J;if(E&&y.indexOf===E)return y.indexOf(D)!=-1;ea(y,function(P){if(J=P===D)return true});return J};B.invoke=function(y,D){var J=g.call(arguments,2);return B.map(y,function(P){return(D?P[D]:P).apply(P,J)})};B.pluck=function(y,D){return B.map(y,function(J){return J[D]})};B.max=function(y,D,J){if(!D&&B.isArray(y))return Math.max.apply(Math,y);var P=
{computed:-Infinity};T(y,function(ha,na,va){na=D?D.call(J,ha,na,va):ha;na>=P.computed&&(P={value:ha,computed:na})});return P.value};B.min=function(y,D,J){if(!D&&B.isArray(y))return Math.min.apply(Math,y);var P={computed:Infinity};T(y,function(ha,na,va){na=D?D.call(J,ha,na,va):ha;na<P.computed&&(P={value:ha,computed:na})});return P.value};B.sortBy=function(y,D,J){return B.pluck(B.map(y,function(P,ha,na){return{value:P,criteria:D.call(J,P,ha,na)}}).sort(function(P,ha){var na=P.criteria,va=ha.criteria;
return na<va?-1:na>va?1:0}),"value")};B.sortedIndex=function(y,D,J){J=J||B.identity;for(var P=0,ha=y.length;P<ha;){var na=P+ha>>1;J(y[na])<J(D)?P=na+1:ha=na}return P};B.toArray=function(y){if(!y)return[];if(y.toArray)return y.toArray();if(B.isArray(y))return y;if(B.isArguments(y))return g.call(y);return B.values(y)};B.size=function(y){return B.toArray(y).length};B.first=B.head=function(y,D,J){return D&&!J?g.call(y,0,D):y[0]};B.rest=B.tail=function(y,D,J){return g.call(y,B.isUndefined(D)||J?1:D)};
B.last=function(y){return y[y.length-1]};B.compact=function(y){return B.filter(y,function(D){return!!D})};B.flatten=function(y){return B.reduce(y,function(D,J){if(B.isArray(J))return D.concat(B.flatten(J));D[D.length]=J;return D},[])};B.without=function(y){var D=g.call(arguments,1);return B.filter(y,function(J){return!B.include(D,J)})};B.uniq=B.unique=function(y,D){return B.reduce(y,function(J,P,ha){if(0==ha||(D===true?B.last(J)!=P:!B.include(J,P)))J[J.length]=P;return J},[])};B.intersect=function(y){var D=
g.call(arguments,1);return B.filter(B.uniq(y),function(J){return B.every(D,function(P){return B.indexOf(P,J)>=0})})};B.zip=function(){for(var y=g.call(arguments),D=B.max(B.pluck(y,"length")),J=Array(D),P=0;P<D;P++)J[P]=B.pluck(y,""+P);return J};B.indexOf=function(y,D,J){if(y==null)return-1;if(J){J=B.sortedIndex(y,D);return y[J]===D?J:-1}if(E&&y.indexOf===E)return y.indexOf(D);J=0;for(var P=y.length;J<P;J++)if(y[J]===D)return J;return-1};B.lastIndexOf=function(y,D){if(y==null)return-1;if(O&&y.lastIndexOf===
O)return y.lastIndexOf(D);for(var J=y.length;J--;)if(y[J]===D)return J;return-1};B.range=function(y,D,J){var P=g.call(arguments),ha=P.length<=1;y=ha?0:P[0];D=ha?P[0]:P[1];J=P[2]||1;P=Math.max(Math.ceil((D-y)/J),0);ha=0;for(var na=Array(P);ha<P;){na[ha++]=y;y+=J}return na};B.bind=function(y,D){var J=g.call(arguments,2);return function(){return y.apply(D||{},J.concat(g.call(arguments)))}};B.bindAll=function(y){var D=g.call(arguments,1);if(D.length==0)D=B.functions(y);T(D,function(J){y[J]=B.bind(y[J],
y)});return y};B.memoize=function(y,D){var J={};D=D||B.identity;return function(){var P=D.apply(this,arguments);return P in J?J[P]:J[P]=y.apply(this,arguments)}};B.delay=function(y,D){var J=g.call(arguments,2);return setTimeout(function(){return y.apply(y,J)},D)};B.defer=function(y){return B.delay.apply(B,[y,1].concat(g.call(arguments,1)))};var W=function(y,D,J){var P;return function(){var ha=this,na=arguments,va=function(){P=null;y.apply(ha,na)};J&&clearTimeout(P);if(J||!P)P=setTimeout(va,D)}};B.throttle=
function(y,D){return W(y,D,false)};B.debounce=function(y,D){return W(y,D,true)};B.wrap=function(y,D){return function(){var J=[y].concat(g.call(arguments));return D.apply(this,J)}};B.compose=function(){var y=g.call(arguments);return function(){for(var D=g.call(arguments),J=y.length-1;J>=0;J--)D=[y[J].apply(this,D)];return D[0]}};B.keys=I||function(y){if(B.isArray(y))return B.range(0,y.length);var D=[],J;for(J in y)if(o.call(y,J))D[D.length]=J;return D};B.values=function(y){return B.map(y,B.identity)};
B.functions=B.methods=function(y){return B.filter(B.keys(y),function(D){return B.isFunction(y[D])}).sort()};B.extend=function(y){T(g.call(arguments,1),function(D){for(var J in D)y[J]=D[J]});return y};B.clone=function(y){return B.isArray(y)?y.slice():B.extend({},y)};B.tap=function(y,D){D(y);return y};B.isEqual=function(y,D){if(y===D)return true;var J=typeof y;if(J!=typeof D)return false;if(y==D)return true;if(!y&&D||y&&!D)return false;if(y._chain)y=y._wrapped;if(D._chain)D=D._wrapped;if(y.isEqual)return y.isEqual(D);
if(B.isDate(y)&&B.isDate(D))return y.getTime()===D.getTime();if(B.isNaN(y)&&B.isNaN(D))return false;if(B.isRegExp(y)&&B.isRegExp(D))return y.source===D.source&&y.global===D.global&&y.ignoreCase===D.ignoreCase&&y.multiline===D.multiline;if(J!=="object")return false;if(y.length&&y.length!==D.length)return false;J=B.keys(y);var P=B.keys(D);if(J.length!=P.length)return false;for(var ha in y)if(!(ha in D)||!B.isEqual(y[ha],D[ha]))return false;return true};B.isEmpty=function(y){if(B.isArray(y)||B.isString(y))return y.length===
0;for(var D in y)if(o.call(y,D))return false;return true};B.isElement=function(y){return!!(y&&y.nodeType==1)};B.isArray=f||function(y){return m.call(y)==="[object Array]"};B.isArguments=function(y){return!!(y&&o.call(y,"callee"))};B.isFunction=function(y){return!!(y&&y.constructor&&y.call&&y.apply)};B.isString=function(y){return!!(y===""||y&&y.charCodeAt&&y.substr)};B.isNumber=function(y){return!!(y===0||y&&y.toExponential&&y.toFixed)};B.isNaN=function(y){return y!==y};B.isBoolean=function(y){return y===
true||y===false};B.isDate=function(y){return!!(y&&y.getTimezoneOffset&&y.setUTCFullYear)};B.isRegExp=function(y){return!!(y&&y.test&&y.exec&&(y.ignoreCase||y.ignoreCase===false))};B.isNull=function(y){return y===null};B.isUndefined=function(y){return y===void 0};B.noConflict=function(){a._=c;return this};B.identity=function(y){return y};B.times=function(y,D,J){for(var P=0;P<y;P++)D.call(J,P)};B.mixin=function(y){T(B.functions(y),function(D){ia(D,B[D]=y[D])})};var M=0;B.uniqueId=function(y){var D=
M++;return y?y+D:D};B.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g};B.template=function(y,D){var J=B.templateSettings;J="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+y.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(J.interpolate,function(P,ha){return"',"+ha.replace(/\\'/g,"'")+",'"}).replace(J.evaluate||null,function(P,ha){return"');"+ha.replace(/\\'/g,"'").replace(/[\r\n\t]/g," ")+"__p.push('"}).replace(/\r/g,"\\r").replace(/\n/g,
"\\n").replace(/\t/g,"\\t")+"');}return __p.join('');";J=new Function("obj",J);return D?J(D):J};var r=function(y){this._wrapped=y};B.prototype=r.prototype;var ta=function(y,D){return D?B(y).chain():y},ia=function(y,D){r.prototype[y]=function(){var J=g.call(arguments);h.call(J,this._wrapped);return ta(D.apply(B,J),this._chain)}};B.mixin(B);T(["pop","push","reverse","shift","sort","splice","unshift"],function(y){var D=b[y];r.prototype[y]=function(){D.apply(this._wrapped,arguments);return ta(this._wrapped,
this._chain)}});T(["concat","join","slice"],function(y){var D=b[y];r.prototype[y]=function(){return ta(D.apply(this._wrapped,arguments),this._chain)}});r.prototype.chain=function(){this._chain=true;return this};r.prototype.value=function(){return this._wrapped}})();var joosetop=this;Joose=function(){this.currentModule=this.cc=null;this.top=joosetop;this.globalObjects=[];this.anonymouseClassCounter=0};Joose.A={};Joose.A.each=function(a,c){for(var d=0;d<a.length;d++)c(a[d],d)};
Joose.A.exists=function(a,c){for(var d=0;d<a.length;d++)if(a[d]==c)return true;return false};Joose.A.concat=function(a,c){a.push.apply(a,c);return a};Joose.A.grep=function(a,c){var d=[];Joose.A.each(a,function(b){c(b)&&d.push(b)});return d};Joose.A.remove=function(a,c){var d=[];Joose.A.each(a,function(b){b!==c&&d.push(b)});return d};Joose.S={};Joose.S.uppercaseFirst=function(a){var c=a.substr(0,1);a=a.substr(1,a.length-1);c=c.toUpperCase();return c+a};
Joose.S.isString=function(a){if(typeof a=="string")return true;return false};Joose.O={};Joose.O.each=function(a,c){for(var d in a)c(a[d],d)};Joose.O.eachSafe=function(a,c){for(var d in a)a.hasOwnProperty(d)&&c(a[d],d)};Joose.O.extend=function(a,c){for(var d in c)a[d]=c[d]};
Joose.prototype={addToString:function(a,c){a.toString=c},isInstance:function(a){if(!a.meta)throw"isInstance only works with Joose objects and classes.";if(a.constructor===a.meta.c)return true;return false},init:function(){this.builder=new Joose.Builder;this.builder.globalize()},components:function(){return["Joose.Builder","Joose.Class","Joose.Method","Joose.ClassMethod","Joose.Attribute","Joose.Role","Joose.SimpleRequest","Joose.Gears","Joose.Storage","Joose.Storage.Unpacker","Joose.Decorator","Joose.Module",
"Joose.Prototype","Joose.TypeConstraint","Joose.TypeCoercion","Joose.Types"]},loadComponents:function(a){var c="";Joose.A.each(this.components(),function(d){d=""+a+"/"+d.split(".").join("/")+".js";c+='<script type="text/javascript" src="'+d+'"><\/script>'});document.write(c)}};Joose.copyObject=function(a,c){var d="";Joose.O.each(a,function(b,f){d+=", "+f;c[f]=b});return c};Joose.emptyFunction=function(){};var joose=new Joose;
Joose.bootstrap=function(){var a=new Joose.MetaClassBootstrap;a.builder=Joose.MetaClassBootstrap;Joose.MetaClass=a.createClass("Joose.MetaClass");Joose.MetaClass.meta.addNonJooseSuperClass("Joose.MetaClassBootstrap",a);Joose.MetaClass.meta.addMethod("initialize",function(){this._name="Joose.MetaClass"});a=new Joose.MetaClass;a.builder=Joose.MetaClass;Joose.Class=a.createClass("Joose.Class");Joose.Class.meta.addSuperClass(Joose.MetaClass);Joose.MetaClass.meta.addMethod("initialize",function(){this._name=
"Joose.Class"})};Joose.bootstrap2=function(){Joose.Builder.Globals.joosify("Joose.Method",Joose.Method);Joose.Builder.Globals.joosify("Joose.Attribute",Joose.Attribute)};Joose.bootstrap3=function(){};
Joose.MetaClassBootstrap=function(){this._name="Joose.MetaClassBootstrap";this.methodNames=[];this.attributeNames=["_name","isAbstract","isDetached","methodNames","attributeNames","methods","parentClasses","roles","c"];this.attributes={};this.methods={};this.classMethods={};this.parentClasses=[];this.roles=[];this.myRoles=[];this.isDetached=this.isAbstract=false};
Joose.MetaClassBootstrap.prototype={toString:function(){if(this.meta)return"a "+this.meta.className();return"NoMeta"},className:function(){return this._name},getName:function(){return this.className()},newMetaClass:function(){var a=this.builder,c=new a;c.builder=a;c._name=this._name;c.methodNames=[];c.attributeNames=[];c.methods={};c.classMethods={};c.parentClasses=[];c.roles=[];c.myRoles=[];c.attributes={};(a=this.meta)||(a=this);c.meta=a;return c},createClass:function(a,c,d){var b=this.newMetaClass();
if(c)c=c;else{c=this.defaultClassFunctionBody();d&&d.addElement(c)}c.prototype.meta=b;c.meta=b;if(a==null)b._name="__anonymous__";else{var f=a;if(d)f=d.getName()+"."+a;b._name=f}b.c=c;d||joose.globalObjects.push(c);b.addInitializer();b.addToString();b.addDetacher();return c},buildComplete:function(){},initializeFromProps:function(a){this._initializeFromProps(a)},_initializeFromProps:function(a){var c=this;if(a){joose.top.CHAOTIC_TRAVERSION_ORDER&&Joose.A.each(["isa","does","has","method","methods"],
function(b){if(b in a){c._initializeFromProp(b,a[b],a);delete a[b]}});Joose.O.eachSafe(a,function(b,f){c._initializeFromProp(f,b,a)});for(var d=0;d<this.roles.length;d++)this.roles[d].meta.applyMethodModifiers(this.c);c.buildComplete();c.validateClass()}},_initializeFromProp:function(a,c,d){var b="handleProp"+a;if(this.meta.can(b))this[b](c,d);else throw Error("Called invalid builder "+a+" while creating class "+this.className());},instantiate:function(){var a=function(){};a.prototype=this.c.prototype;
a.prototype.constructor=this.c;a=new a;this.c.apply(a,arguments);return a},defaultClassFunctionBody:function(){var a=function(){this.initialize.apply(this,arguments)};joose.addToString(a,function(){return this.meta.className()});return a},addToString:function(){this.addMethod("toString",function(){if(this.stringify)return this.stringify();return"a "+this.meta.className()})},addInitializer:function(){this.c.prototype.initialize||this.addMethod("initialize",this.initializer())},initializer:function(){return function(a){if(this.meta.isAbstract)throw""+
this.meta.className()+" is an abstract class and may not instantiated.";var c=this.meta.getAttributes(),d;for(d in c)c.hasOwnProperty(d)&&c[d].doInitialization(this,a)}},dieIfString:function(a){if(Joose.S.isString(a))throw new TypeError("Parameter must not be a string.");},addRole:function(a){this.dieIfString(a);var c=this.getClassObject();if(a.meta.apply(c)){this.roles.push(a);this.myRoles.push(a)}},getClassObject:function(){return this.c},classNameToClassObject:function(a){var c=joose.top,d=a.split(".");
c=c;for(var b=0;b<d.length;b++){c=c[d[b]];if(!c)throw"Unable to find class "+a;}return c},addNonJooseSuperClass:function(a,c){var d=new Joose.MetaClassBootstrap;d.builder=Joose.MetaClassBootstrap;var b=d.createClass(a);Joose.O.each(c,function(f,g){typeof f=="function"?b.meta.addMethod(g,f):b.meta.addAttribute(g,{init:f})});this.addSuperClass(b)},addSuperClass:function(a){this.dieIfString(a);for(var c=this,d=a.meta.getMethodNames(),b=0;b<d.length;b++){var f=d[b],g=a.meta.getMethodObject(f);if(g){g=
g.copy();g.setIsFromSuperClass(true);c.addMethodObject(g)}if(g=a.meta.getClassMethodObject(f)){g=g.copy();g.setIsFromSuperClass(true);c.addMethodObject(g)}}Joose.O.eachSafe(a.meta.attributes,function(h,m){c.addAttribute(m,h.getProps())});d=a.meta.roles;for(b=0;b<d.length;b++)c.roles.push(d[b]);this.parentClasses.unshift(a)},_fixMetaclassIncompatability:function(a){a=a.meta;var c=a.meta.className();if(!(c=="Joose.Class"||c=="Joose.MetaClass"||c=="Joose.MetaClassBootstrap"))if(!this.meta.meta.isa(a)){a=
a.meta.instantiate(this);for(var d in a)this[d]=a[d]}},isa:function(a){this.dieIfString(a);var c=a.meta.className();if(this.className()==c)return true;for(var d=0;d<this.parentClasses.length;d++){var b=this.parentClasses[d].meta;if(b.className()==c)return true;if(b.isa(a))return true}return false},wrapMethod:function(a,c,d,b){var f=this.getMethodObject(a);if(f)this.addMethodObject(f[c](d));else if(b)b();else throw Error("Unable to apply "+c+" method modifier because method "+a+" does not exist");
},dispatch:function(a){return this.getMethodObject(a).asFunction()},hasMethod:function(a){return this.methods[a]!=null||this.classMethods[a]!=null},addMethod:function(a,c,d){this.addMethodObject(new Joose.Method(a,c,d))},addClassMethod:function(a,c,d){this.addMethodObject(new Joose.ClassMethod(a,c,d))},addMethodObject:function(a){var c=a.getName();!this.methods[c]&&!this.classMethods[c]&&this.methodNames.push(c);if(a.isClassMethod())this.classMethods[c]=a;else this.methods[c]=a;a.addToClass(this.c)},
attributeMetaclass:function(){return Joose.Attribute},addAttribute:function(a,c){var d=this.attributeMetaclass();if(c&&c.metaclass)d=c.metaclass;(new d(a,c)).apply(this.c)},getAttributes:function(){return this.attributes},getAttribute:function(a){return this.attributes[a]},setAttribute:function(a,c){return this.attributes[a]=c},getMethodObject:function(a){return this.methods[a]},getClassMethodObject:function(a){return this.classMethods[a]},getAttributeNames:function(){return this.attributeNames},
getInstanceMethods:function(){var a=[];Joose.O.eachSafe(this.methods,function(c){a.push(c)});return a},getClassMethods:function(){var a=[];Joose.O.eachSafe(this.classMethods,function(c){a.push(c)});return a},getSuperClasses:function(){return this.parentClasses},getSuperClass:function(){return this.parentClasses[0]},getRoles:function(){return this.roles},getMethodNames:function(){return this.methodNames},makeAnonSubclass:function(){var a=this.createClass(this.className()+"__anon__"+joose.anonymouseClassCounter++);
a.meta.addSuperClass(this.getClassObject());return a},addDetacher:function(){this.addMethod("detach",function(){var a=this.meta;if(!a.isDetached){a=a.makeAnonSubclass();a.meta.isDetached=true;this.meta=a.meta;this.constructor=a;var c;if(this.__proto__){c={};Joose.copyObject(this,c)}else c=this;a.prototype=c;this.__proto__=a.prototype}})},validateClass:function(){var a=this.getClassObject();Joose.A.each(this.roles,function(c){c.meta.isImplementedBy(a,true)})},can:function(a){if(!this.methods[a])return false;
return true},classCan:function(a){if(!this.classMethods[a])return false;return true},does:function(a){for(var c=0;c<this.roles.length;c++)if(a===this.roles[c])return true;for(c=0;c<this.roles.length;c++)if(this.roles[c].meta.does(a))return true;return false},implementsMyMethods:function(a){var c=true;Joose.A.each(this.getMethodNames(),function(d){a.meta.can(d)||(c=false)});return c},handleProprequires:function(a){var c=this;if(!this.meta.isa(Joose.Role))throw"Keyword 'requires' only available classes with a meta class of type Joose.Role";
a instanceof Array?Joose.A.each(a,function(d){c.addRequirement(d)}):c.addRequirement(a)},handlePropisAbstract:function(a){this.isAbstract=a},handlePropisa:function(a){this.addSuperClass(a)},handlePropdoes:function(a){var c=this;a instanceof Array?Joose.A.each(a,function(d){c.addRole(d)}):c.addRole(a)},handleProphas:function(a,c){var d=this;typeof a=="string"?d.addAttribute(a,c):Joose.O.eachSafe(a,function(b,f){d.addAttribute(f,b)})},handlePropmethod:function(a,c,d){this.addMethod(a,c,d)},handlePropmethods:function(a){var c=
this;Joose.O.eachSafe(a,function(d,b){c.addMethod(b,d)})},handlePropclassMethods:function(a){var c=this;Joose.O.eachSafe(a,function(d,b){c.addMethodObject(new Joose.ClassMethod(b,d))})},handlePropworkers:function(a){var c=this;Joose.O.eachSafe(a,function(d,b){c.addWorker(b,d)})},handlePropbefore:function(a){var c=this;Joose.O.eachSafe(a,function(d,b){c.wrapMethod(b,"before",d)})},handlePropafter:function(a){var c=this;Joose.O.eachSafe(a,function(d,b){c.wrapMethod(b,"after",d)})},handleProparound:function(a){var c=
this;Joose.O.eachSafe(a,function(d,b){c.wrapMethod(b,"around",d)})},handlePropoverride:function(a){var c=this;Joose.O.eachSafe(a,function(d,b){c.wrapMethod(b,"override",d)})},handlePropaugment:function(a){var c=this;Joose.O.eachSafe(a,function(d,b){c.wrapMethod(b,"augment",d,function(){c.addMethod(b,d)})})},handlePropdecorates:function(a){var c=this;Joose.O.eachSafe(a,function(d,b){c.decorate(d,b)})}};Joose.Attribute=function(a,c){this.initialize(a,c)};
Joose.Attribute.prototype={_name:null,_props:null,getName:function(){return this._name},getProps:function(){return this._props},initialize:function(a,c){this._name=a;this.setProps(c)},setProps:function(a){this._props=a?a:{}},getIsa:function(){var a=this.getProps();if(a.isa){if(!a.isa.meta)return a.isa();return a.isa}},addSetter:function(a){a=a.meta;var c=this.getName(),d=this.getProps(),b=this.getIsa(),f;if(b){if(!b.meta)throw Error("Isa declarations in attribute declarations must be Joose classes, roles or type constraints");
var g=false,h=false;if(Joose.Role&&b.meta.meta.isa(Joose.Role))g=true;else if(Joose.TypeConstraint&&b.meta.isa(Joose.TypeConstraint))h=true;f=function(m,o){var q=m;try{if(!(d.nullable===true&&q==undefined))if(h){var u=null;if(d.coerce)u=b.coerce(q);if(u==null&&d.nullable!==true)b.validate(q);else q=u}else{if(!q||!q.meta)throw new ReferenceError("The attribute "+c+" only accepts values that have a meta object.");if(!(g?q.meta.does(b):q.meta.isa(b)))throw new ReferenceError("The attribute "+c+" only accepts values that are objects of type "+
b.meta.className()+".");}}catch(w){if(o)o.call(this,w,b);else throw w;}this[c]=q;return this}}else f=function(m){this[c]=m;return this};a.addMethod(this.setterName(),f)},addGetter:function(a){a=a.meta;var c=this.getName(),d=this.getProps(),b=function(){return this[c]},f=d.init;if(d.lazy)b=function(){var g=this[c];if(typeof g=="function"&&g===f)this[c]=g.apply(this);return this[c]};a.addMethod(this.getterName(),b)},initializerName:function(){return this.toPublicName()},getterName:function(){if(this.__getterNameCache)return this.__getterNameCache;
return this.__getterNameCache="get"+Joose.S.uppercaseFirst(this.toPublicName())},setterName:function(){if(this.__setterNameCache)return this.__setterNameCache;return this.__setterNameCache="set"+Joose.S.uppercaseFirst(this.toPublicName())},isPrivate:function(){return this.getName().charAt(0)=="_"},toPublicName:function(){if(this.__publicNameCache)return this.__publicNameCache;var a=this.getName();if(this.isPrivate())return this.__publicNameCache=a.substr(1);return this.__publicNameCache=a},handleIs:function(a){this.getName();
var c=this.getProps().is;if(c=="rw"||c=="ro")this.addGetter(a);c=="rw"&&this.addSetter(a)},handleInit:function(a){var c=this.getProps(),d=this.getName();a.prototype[d]=null;if(typeof c.init!="undefined")a.prototype[d]=c.init},handleProps:function(a){this.handleIs(a);this.handleInit(a)},apply:function(a){var c=a.meta,d=this.getName();this.handleProps(a);c.attributeNames.push(d);c.setAttribute(d,this);c.attributes[d]=this}};Joose.Method=function(a,c,d){this.initialize(a,c,d)};
Joose.Method.prototype={_name:null,_body:null,_props:null,_isFromSuperClass:false,getName:function(){return this._name},getBody:function(){return this._body},getProps:function(){return this._props},isFromSuperClass:function(){return this._isFromSuperClass},setIsFromSuperClass:function(a){this._isFromSuperClass=a},copy:function(){return new Joose.Method(this.getName(),this.getBody(),this.getProps())},initialize:function(a,c,d){this._name=a;this._body=c;this._props=d;c.name=a;c.meta=this},isClassMethod:function(){return false},
apply:function(a,c){return this._body.apply(a,c)},addToClass:function(a){a.prototype[this.getName()]=this.asFunction()},asFunction:function(){return this._body}};Joose.bootstrap();Joose.Builder=function(){this.globalize=function(){Joose.O.each(Joose.Builder.Globals,function(a,c){var d="Joose"+c;if(typeof joose.top[c]=="undefined")joose.top[c]=a;joose.top[d]=a})}};
Joose.Builder.Globals={Module:function(a,c){return Joose.Module.setup(a,c)},Role:function(a,c){if(!c.meta)c.meta=Joose.Role;return JooseClass(a,c)},Prototype:function(a,c){if(!c.meta)c.meta=Joose.Prototype;return JooseClass(a,c)},Class:function(a,c){var d=null;if(a){var b=a;if(joose.currentModule)b=joose.currentModule.getName()+"."+a;var f=joose.top;b=b.split(".");for(var g=0;g<b.length;g++)f=f[b[g]];d=f}if(d==null){if(c&&c.meta){f=c.meta;delete c.meta}else f=c&&c.isa&&c.isa!=Joose.Class?c.isa.meta.builder:
Joose.Class;d=new f;d.builder=f;d=d.createClass(a,null,joose.currentModule);d.meta.builder=f;b=d.meta.className();if(a&&b){f=joose.top;b=(new String(b)).split(".");for(g=0;g<b.length-1;g++){if(f[b[g]]==null)f[b[g]]={};f=f[b[g]]}f[b[b.length-1]]=d}}d.meta.initializeFromProps(c);return d},Type:function(a,c){var d=Joose.TypeConstraint.newFromTypeBuilder(a,c),b=joose.currentModule;if(!b){JooseModule("TYPE");b=TYPE.meta}b.addElement(d);return b.getContainer()[a]=d},joosify:function(a,c){var d=c,b=new Joose.Class;
b.builder=Joose.Class;d.toString=function(){return this.meta.className()};d=b.createClass(a,d);b=d.meta;for(var f in c.prototype)if(f!="meta"){var g=c.prototype[f];if(typeof g=="function")b.addMethod(f,g);else{var h={};if(typeof g!="undefined")h.init=g;b.addAttribute(f,h)}}return d},rw:"rw",ro:"ro"};joose.init();Joose.bootstrap2();
(function(a){a("Joose.Method",{methods:{copy:function(){return this.meta.instantiate(this.getName(),this.getBody(),this.getProps())},_makeWrapped:function(c){return this.meta.instantiate(this.getName(),c)},around:function(c){var d=this.getBody();return this._makeWrapped(function(){var b=this;return c.apply(this,Joose.A.concat([function(){return d.apply(b,arguments)}],arguments))})},before:function(c){var d=this.getBody();return this._makeWrapped(function(){c.apply(this,arguments);return d.apply(this,
arguments)})},after:function(c){var d=this.getBody();return this._makeWrapped(function(){var b=d.apply(this,arguments);c.apply(this,arguments);return b})},override:function(c){var d=this.getBody();return this._makeWrapped(function(){var b=this,f=this.SUPER;this.SUPER=function(){return d.apply(b,arguments)};var g=c.apply(this,arguments);this.SUPER=f;return g})},augment:function(c){var d=this.getBody();d.source=d.toString();return this._makeWrapped(function(){var b=this;c.source=c.toString();if(!this.__INNER_STACK__)this.__INNER_STACK__=
[];this.__INNER_STACK__.push(c);var f=this.INNER;this.INNER=function(){return b.__INNER_STACK__.pop().apply(b,arguments)};var g=d.apply(this,arguments);this.INNER=f;return g})}}})})(JooseClass);(function(a){a("Joose.ClassMethod",{isa:Joose.Method,methods:{isClassMethod:function(){return true},addToClass:function(c){c[this.getName()]=this.asFunction()},copy:function(){return new Joose.ClassMethod(this.getName(),this.getBody(),this.getProps())}}})})(JooseClass);
(function(a){a("Joose.Attribute",{after:{handleProps:function(c){this.handleHandles(c);this.handlePredicate(c)}},methods:{isPersistent:function(){if(this.getProps().persistent==false)return false;return true},doInitialization:function(c,d){var b=this.initializerName(),f=this.getName(),g,h=false;if(typeof d!="undefined"&&typeof d[b]!="undefined"){g=d[b];h=true}else{var m=this.getProps(),o=m.init;if(typeof o=="function"&&!m.lazy){g=o.call(c);h=true}else if(m.required)throw"Required initialization parameter missing: "+
b+"(While initializing "+c+")";}if(h){b=this.setterName();if(c.meta.can(b))c[b](g);else c[f]=g}},handleHandles:function(c){c=c.meta;var d=this.getName(),b=this.getProps(),f=b.handles,g=b.isa;if(f)if(f=="*"){if(!g)throw"I need an isa property in order to handle a class";c.decorate(g,d,b.handleWith)}else throw"Unsupported value for handles: "+f;},handlePredicate:function(c){c=c.meta;this.getName();var d=this.getProps().predicate,b=this.getterName();d&&c.addMethod(d,function(){return this[b]()?true:
false})}}})})(JooseClass);
(function(a){a("Joose.Role",{isa:Joose.Class,has:["requiresMethodNames","methodModifiers","metaRoles"],methods:{wrapMethod:function(){this.methodModifiers.push(arguments)},requiresMethod:function(c){var d=false;Joose.A.each(this.requiresMethodNames,function(b){if(c==b)d=true});return d},addInitializer:Joose.emptyFunction,defaultClassFunctionBody:function(){var c=function(){throw Error("Roles may not be instantiated.");};joose.addToString(c,function(){return this.meta.className()});return c},addSuperClass:function(){throw Error("Roles may not inherit from a super class.");
},initialize:function(){this._name="Joose.Role";this.requiresMethodNames=[];this.methodModifiers=[]},addRequirement:function(c){this.requiresMethodNames.push(c)},unapply:function(c){if(!joose.isInstance(c))throw Error("You way only remove roles from instances.");if(!c.meta.isDetached)throw Error("You may only remove roles that were applied at runtime");for(var d=this.getClassObject(),b=c.meta.myRoles,f=false,g=[],h=0;h<b.length;h++)if(b[h]===d)f=true;else g.push(b[h]);if(!f)throw Error("The role "+
this.className()+" was not applied to the object at runtime");b=c.meta.getSuperClass().meta.makeAnonSubclass();f=new b;for(h=0;h<g.length;h++){d=g[h];b.meta.addRole(d)}b.prototype=f;c.meta=b.meta;c.constructor=b;c.__proto__=f},addMethodToClass:function(c,d){var b=c.getName();b=c.isClassMethod()?d.meta.getClassMethodObject(b):d.meta.getMethodObject(b);if(!b||b.isFromSuperClass())d.meta.addMethodObject(c)},apply:function(c){if(c.meta.does(this.getClassObject()))return false;if(joose.isInstance(c)){c.detach();
c.meta.addRole(this.getClassObject());this.applyMethodModifiers(c);this.isImplementedBy(c,true)}else{var d=this,b=this.getMethodNames();Joose.A.each(b,function(f){var g=d.getMethodObject(f);g&&d.addMethodToClass(g,c);(g=d.getClassMethodObject(f))&&d.addMethodToClass(g,c)});this.metaRoles&&Joose.A.each(this.metaRoles,function(f){f.meta.apply(c.meta)})}return true},applyMethodModifiers:function(c){Joose.A.each(this.methodModifiers,function(d){c.meta.wrapMethod.apply(c.meta,d)})},hasRequiredMethods:function(c,
d){var b=this,f=true;Joose.A.each(this.requiresMethodNames,function(g){if(!c.meta.can(g)){if(d)throw"Class "+c.meta.className()+" does not fully implement the role "+b.className()+". The method is "+g+" missing.";f=false}});return f},isImplementedBy:function(c,d){var b=this.hasRequiredMethods(c,d);if(b)b=this.implementsMyMethods(c);return b},handlePropmetaRoles:function(c){this.metaRoles=c}}});Joose.Role.anonymousClassCounter=0})(JooseClass);
(function(a){a("Joose.SimpleRequest",{has:{_req:{}},methods:{initialize:function(){this._req=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP")},getText:function(c){this._req.open("GET",c,false);try{this._req.send(null);if(this._req.status==200||this._req.status==0)return this._req.responseText}catch(d){throw"File not found: "+c;}throw"File not found: "+c;}}})})(JooseClass);
(function(a){a("Joose.Gears",{isa:Joose.Class,has:{wp:{},calls:{init:{}},callIndex:{init:0}},methods:{initialize:function(){JooseGearsInitializeGears();if(this.canGears()){this.wp=google.gears.factory.create("beta.workerpool");var c=this;this.wp.onmessage=function(d,b,f){c.handleGearsMessage(f)}}},handleGearsMessage:function(c){var d=c.body;c=d.to;var b=d.ret;d=this.calls[d.index];d.meta.can(c)&&d[c].call(d,b)},canGears:function(){return window.google&&window.google.gears&&window.google.gears.factory},
addWorker:function(c,d,b){var f="on"+Joose.S.uppercaseFirst(c),g=this.meta.getClassObject().ajaxRequest;if(this.canGears()){var h=this.can("jsonURL")?this.c.jsonURL():"json2.js";h=(new Joose.SimpleRequest).getText(h);var m="var timer = google.gears.factory.create('beta.timer');\nfunction aClass () {}; aClass.prototype."+c+" = "+d.toString()+"\n\naClass.prototype.clientHasGears = function () { return true }\naClass.prototype.ajaxRequest = "+g.toString()+"\n\nvar wp = google.gears.workerPool;\nwp.onmessage = function (a,b,message) {\nvar paras = message.body;\nvar o = new aClass();\no.sendReturn = function (ret, cbName) { wp.sendMessage({ ret: ret, to: cbName, index: paras.index }, message.sender) } \nvar ret = o."+
c+".apply(o, paras.args); if(!ret) ret = null; \no.sendReturn(ret, paras.cbName);\n}\n\n";m+=h;var o=this.wp,q=o.createWorker(m),u=this;h=function(){for(var w=[],A=0;A<arguments.length;A++)w.push(arguments[A]);o.sendMessage({args:w,cbName:f,index:u.callIndex},q);u.calls[u.callIndex]=this;u.callIndex++}}else h=function(){var w=this,A={sendReturn:function(K,L){w.meta.can(L)&&w[L].call(w,K)},clientHasGears:function(){return false},ajaxRequest:g},H=d.apply(A,arguments);A.sendReturn(H,f)};this.addMethod(c,
h,b)}},classMethods:{setupGearsCompat:function(){window.timer={setTimeout:function(c,d){return window.setTimeout(c,d)},setInterval:function(c,d){return window.setInterval(c,d)},clearTimeout:function(c){return window.clearTimeout(c)},clearInterval:function(c){return window.clearInterval(c)}}},clientHasGears:function(){return window.google&&window.google.gears&&window.google.gears.factory},ajaxRequest:function(c,d,b,f,g){var h;h=this.clientHasGears()?google.gears.factory.create("beta.httprequest"):
window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest;var m="";if(b)for(var o in b)m+=encodeURIComponent(o)+"="+encodeURIComponent(b[o])+"&";var q=d;if(b&&c=="GET")q+="?"+m;h.open(c,q,true);h.onreadystatechange=function(){if(h.readyState==4)if(h.status>=200&&h.status<400)f(h.responseText);else if(g)return g(h);else throw Error("Error fetching url "+q+". Response code: "+h.status+" Response text: "+h.responseText);};if(b&&c=="POST")h.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
else m="";h.send(m)}}})})(JooseClass);
function JooseGearsInitializeGears(){if(!(window.google&&google.gears)){var a=null;if(typeof GearsFactory!="undefined")a=new GearsFactory;else try{a=new ActiveXObject("Gears.Factory");a.getBuildInfo().indexOf("ie_mobile")!=-1&&a.privateSetGlobalObject(this)}catch(c){if(navigator.mimeTypes["application/x-googlegears"]){a=document.createElement("object");a.style.display="none";a.width=0;a.height=0;a.type="application/x-googlegears";document.documentElement.appendChild(a)}}if(a){window.google||(google=
{});if(!google.gears)google.gears={factory:a}}}}
(function(a,c){c("Joose.Storage",{methods:{toJSON:function(){var d=this.pack(Joose.Storage.TEMP_SEEN);d.toJSON=function(){return this};return d},identity:function(){return this.__ID__?this.__ID__:this.__ID__=Joose.Storage.OBJECT_COUNTER++},pack:function(d){return this.meta.c.storageEngine().pack(this,d)}},classMethods:{storageEngine:function(){return Joose.Storage.Engine},unpack:function(d){return this.storageEngine().unpack(this,d)}}});c("Joose.Storage.jsonpickle",{does:Joose.Storage,classMethods:{storageEngine:function(){return Joose.Storage.Engine.jsonpickle}}});
Joose.Storage.OBJECT_COUNTER=1;a("Joose.Storage.Engine",{classMethods:{pack:function(d,b){if(b){var f=d.identity();if(b[f])return{__ID__:f}}d.meta.can("prepareStorage")&&d.prepareStorage();if(b)b[d.identity()]=true;var g={__CLASS__:this.packedClassName(d),__ID__:d.identity()};f=d.meta.getAttributes();Joose.O.eachSafe(f,function(h,m){if(h.isPersistent())g[m]=d[m]});return g},unpack:function(d,b){var f=d.meta.instantiate(),g=false;Joose.O.eachSafe(b,function(h,m){if(m=="__CLASS__"){var o=Joose.Storage.Unpacker.packedClassNameToJSClassName(h);
if(o!=f.meta.className())throw Error("Storage data is of wrong type "+o+". I am "+f.meta.className()+".");g=true}else f[m]=h});if(!g)throw Error("Serialized data needs to include a __CLASS__ attribute.: "+b);delete f.__ID__;f.meta.can("finishUnpack")&&f.finishUnpack();return f},packedClassName:function(d){if(d.meta.can("packedClassName"))return d.packedClassName();return d.meta.className().split(".").join("::")}}});a("Joose.Storage.Engine.jsonpickle",{classMethods:{pack:function(d,b){if(b){var f=
d.identity();if(b[f])return{objectid__:f}}d.meta.can("prepareStorage")&&d.prepareStorage();if(b)b[d.identity()]=true;var g={classname__:this.packedClassName(d),classmodule__:this.packedModuleName(d),objectid__:d.identity()};f=d.meta.getAttributes();Joose.O.eachSafe(f,function(h,m){if(h.isPersistent())g[m]=d[m]});return g},unpack:function(d,b){var f=d.meta.instantiate(),g=false;Joose.O.eachSafe(b,function(h,m){if(m=="classname__"){var o=h,q=b.classmodule__;if(q)o=""+q+"."+h;if(o!=f.meta.className())throw Error("Storage data is of wrong type "+
o+". I am "+f.meta.className()+".");g=true}else if(m!="classmodule__")f[m]=h});if(!g)throw Error("Serialized data needs to include a __CLASS__ attribute.: "+b);f.meta.can("finishUnpack")&&f.finishUnpack();return f},packedClassName:function(d){return d.meta.className().split(".").pop()},packedModuleName:function(d){d=d.meta.className().split(".");d.pop();return d.join(".")}}});Joose.Storage.storageEngine=Joose.Storage.Engine;Joose.Storage.jsonpickle.storageEngine=Joose.Storage.Engine.jsonpickle})(JooseClass,
JooseRole);
(function(a){a("Joose.Storage.Unpacker",{classMethods:{unpack:function(c){var d=c.__CLASS__;if(!d)throw"Serialized data needs to include a __CLASS__ attribute.";d=this.meta.classNameToClassObject(this.packedClassNameToJSClassName(d)).unpack(c);var b;if(Joose.Storage.CACHE&&(b=c.__ID__))Joose.Storage.CACHE[b]=d;return d},packedClassNameToJSClassName:function(c){c=c.split("-");c=c[0].split("::");return c.join(".")},jsonParseFilter:function(c,d){if(d!=null&&typeof d=="object"){if(d.__CLASS__)return Joose.Storage.Unpacker.unpack(d);if(d.__ID__)return Joose.Storage.CACHE[d.__ID__]}return d},
patchJSON:function(){var c=JSON.parse,d=this.jsonParseFilter;JSON.parse=function(f,g){Joose.Storage.CACHE={};return c(f,function(h,m){var o=m;if(g)o=g(h,m);return d(h,o)})};var b=JSON.stringify;JSON.stringify=function(){Joose.Storage.TEMP_SEEN={};return b.apply(JSON,arguments)}}}});a("Joose.Storage.Unpacker.jsonpickle",{isa:Joose.Storage.Unpacker,classMethods:{unpack:function(c){var d=c.classname__;if(!d)throw"Serialized data needs to include a classname__ attribute.";d=this.meta.classNameToClassObject(this.packedClassNameToJSClassName(d,
c.classmodule__)).unpack(c);var b;if(Joose.Storage.CACHE&&(b=c.objectid__))Joose.Storage.CACHE[b]=d;return d},packedClassNameToJSClassName:function(c,d){var b="";if(d)b+=d+".";b+=c;return b},jsonParseFilter:function(c,d){if(d!=null&&typeof d=="object"){if(d.classname__)return Joose.Storage.Unpacker.jsonpickle.unpack(d);if(d.objectid__)return Joose.Storage.CACHE[d.objectid__]}return d}}})})(JooseClass);
(function(a){a("Joose.Decorator",{meta:Joose.Role,methods:{decorate:function(c,d,b){var f=this;c=c.meta.getInstanceMethods();Joose.A.each(c,function(g){var h=g.getName();if(!f.can(h)){g=function(){var m=this[d];return m[h].apply(m,arguments)};if(b)g=b(h);f.addMethod(h,g)}})}}});Joose.Decorator.meta.apply(Joose.Class)})(JooseClass);
(function(a){a("Joose.Module",{has:{_name:{is:"rw"},_elements:{is:"rw"},_container:{is:"rw"}},classMethods:{setup:function(c,d){for(var b=c.split("."),f=joose.top,g=[],h,m=0;m<b.length;m++){var o=b[m];if(o=="meta")throw"Module names may not include a part called 'meta'.";h=f[o];g.push(o);c=g.join(".");if(typeof h=="undefined"){f[o]={};h=new Joose.Module(c);h.setContainer(f[o]);f[o].meta=h;Joose.Module._allModules.push(f[o])}else{h=h.meta;if(!(h&&h.meta&&h.meta.isa(Joose.Module)))throw"Trying to setup module "+
c+" failed. There is already something else: "+h;}f=f[o]}b=joose.currentModule;joose.currentModule=h;d&&d(f);joose.currentModule=b;return f},getAllModules:function(){return this._allModules}},methods:{alias:function(c){var d=this;if(arguments.length==0)return this;Joose.A.each(this.getElements(),function(b){var f=d.globalName(b.meta.className());if(c[f]!==b){if(typeof c[f]!="undefined")throw"There is already something else in the spot "+f;c[f]=b}})},globalName:function(c){var d=this.getName();if(c.indexOf(d)!=
0)throw"All things inside me should have a name that starts with "+d+". Name is "+c;c=c.substr(d.length+1);if(c.indexOf(".")!=-1)throw"The things inside me should have no more dots in there name. Name is "+c;return c},removeGlobalSymbols:function(){Joose.A.each(this.getElements(),function(c){c=this.globalName(c.getName());delete joose.top[c]})},initialize:function(c){this.setElements([]);this.setName(c)},isEmpty:function(){return this.getElements().length==0},addElement:function(c){if(!(c||c.meta))throw"You may only add things that are Joose objects";
this._elements.push(c)},getNames:function(){var c=[];Joose.A.each(this.getElements(),function(d){c.push(d.meta.getName())});return c}}})})(JooseClass);__global__={};__global__.meta=new Joose.Module;__global__.meta.setName("__global__");__global__.meta.setContainer(__global__);Joose.Module._allModules=[__global__];JooseModule("__global__.nomodule",function(){});__global__.nomodule.meta._elements=joose.globalObjects;
(function(a){a("Joose.Prototype",{isa:Joose.Class,override:{initializer:function(){var c=this.SUPER();return function(){c.apply(this,arguments);var d=this.meta;this.meta=new Joose.PrototypeLazyMetaObjectProxy;this.meta.metaObject=d;this.meta.object=this}}}});a("Joose.PrototypeLazyMetaObjectProxy",{has:{metaObject:{is:"rw",isa:Joose.Class,handles:"*",handleWith:function(c){return function(){var d=this.object;d.meta=this.metaObject;d.detach();d.meta[c].apply(d.meta,arguments)}}},object:{is:"rw"}}});
Joose.bootstrap3()})(JooseClass);
(function(a){a("Joose.TypeConstraint",{has:{_constraints:{is:"ro",init:function(){return[]}},_coercions:{is:"ro",init:function(){return[]}},_messages:{is:"ro",init:function(){return[]}},_callback:{is:"ro",init:function(){return function(c){throw new ReferenceError(c);}}},_name:{is:"ro"},_uses:{is:"ro"},props:{is:"rw"}},classMethods:{newFromTypeBuilder:function(c,d){var b=new Joose.TypeConstraint({name:c});if(d.uses&&typeof d.uses.meta!="undefined"&&d.uses.meta.isa(Joose.TypeConstraint))b._uses=d.uses;
d.where&&b.addConstraint(d.where,d.message);b.setProps(d);if(d.coerce)for(var f=0;f<d.coerce.length;f++){var g=d.coerce[f];b.addCoercion(new Joose.TypeCoercion({from:g.from,via:g.via}))}return b}},methods:{stringify:function(){return this._name},makeSubType:function(c){var d=new Joose.TypeConstraint({name:c});Joose.A.each(this._constraints,function(b){d.addConstraint(b)});return d},addCoercion:function(c){this._coercions.push(c)},addConstraint:function(c,d){this._constraints.push(c);this._messages.push(d)},
getConstraintList:function(){var c=this._constraints;if(this._uses)return this._uses.getConstraintList().concat(c);return c},getMessageList:function(){var c=this._messages;if(this._uses)return this._uses.getMessageList().concat(c);return c},validateBool:function(c){if(this._validate(c)==-1)return true;return false},validate:function(c){var d=this._validate(c);if(d==-1)return true;var b=this.getMessageList();this._callback(b[d]?b[d].call(this,c):"The passed value ["+c+"] is not a "+this)},_validate:function(c){var d=
this.getConstraintList(),b,f;b=0;for(f=d.length;b<f;b++){var g=d[b],h=false;h=g instanceof RegExp?g.test(c):g.call(this,c);if(!h)return b}return-1},coerce:function(c,d){if(this.validateBool(c))return c;for(var b=this._coercions,f=0,g=b.length;f<g;f++){var h=b[f].coerce(c,d);if(h!==null)return h}return null}}})})(JooseClass);
(function(a,c){c("CoercionFrom",{where:function(d){if(d.meta&&d.meta.isa(Joose.TypeConstraint))return true;return false}});a("Joose.TypeCoercion",{has:{_from:{isa:TYPE.CoercionFrom,is:"rw"},_via:{is:"rw"}},methods:{coerce:function(d,b){if(this._from.validateBool(d))return this._via(d,b);return null}}})})(JooseClass,JooseType);
(function(a){a("Any",{where:function(){return true}});a("Null",{uses:TYPE.Any,where:function(c){if(c===null)return true;return false}});a("NotNull",{uses:TYPE.Any,where:function(c){if(c===null)return false;return true}});a("Enum",{uses:TYPE.NotNull,message:function(c){return"The passed value ["+c+"] is not "+(this.getProps().strictMatch?"*strictly* ":"")+"one of ["+this.getProps().values.join(",")+"]"},where:function(c){var d=this;if(!d.getProps()||d.getProps().values===undefined||!(d.getProps().values instanceof
Array))throw"Enum Type needs Array of values in 'values' property of Type declaration";if(Joose.A.grep(d.getProps().values,function(b){if(d.getProps().strictMatch===true)return b===c;return b==c}).length!=0)return true;return false}});a("Obj",{uses:TYPE.NotNull,where:function(c){if(c instanceof Object)return true;return false}});a("Str",{uses:TYPE.NotNull,where:function(c){if(typeof c=="string"||c instanceof String)return true;return false},coerce:[{from:TYPE.Any,via:function(c){return c==null?"":
""+c}}]});a("Num",{uses:TYPE.NotNull,where:function(c){if(typeof c=="number"||c instanceof Number)return true;return false},coerce:[{from:TYPE.Str,via:function(c){if(!(c==null||c==""))return parseFloat(c)}}]});a("Bool",{uses:TYPE.NotNull,where:function(c){if(c===true||c===false)return true;return false},coerce:[{from:TYPE.Any,via:function(c){if(!(c==null||c==="")){if(c==1||c=="1"||c=="true")return true;if(c==0||c=="0"||c=="false")return false;return null}}}]});a("Int",{uses:TYPE.Num,where:function(c){if(String(c).match(/^\d*\.\d$/))return false;
return true},coerce:[{from:TYPE.Str,via:function(c){if(!(c==null||c==""))if(c.match(/^-{0,1}\d+$/))return parseInt(c)}}]});a("Float",{uses:TYPE.Num,where:function(){return true}});a("Func",{uses:TYPE.Obj,where:function(c){if(typeof c=="function")return true;return false}});a("Array",{uses:TYPE.Obj,where:function(c){if(c instanceof Array)return true;return false}});a("Date",{uses:TYPE.Obj,where:function(c){if(c instanceof Date)return true;return false},coerce:[{from:TYPE.Str,via:function(c){if(!(c==
undefined||c=="")){if(c=c.match(/\s*(\d+)-(\d+)-(\d+)/))return new Date(c[1],c[2]-1,[c[3]]);return null}}}]});a("Joose",{uses:TYPE.Obj,where:function(c){if(c.meta&&c.meta.meta.isa(Joose.Class))return true;return false}})})(JooseType);this.JSON||(JSON={});
(function(){function a(q){return q<10?"0"+q:q}function c(q){f.lastIndex=0;return f.test(q)?'"'+q.replace(f,function(u){var w=m[u];return typeof w==="string"?w:"\\u"+("0000"+u.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+q+'"'}function d(q,u){var w,A,H,K,L=g,E,O=u[q];if(O&&typeof O==="object"&&typeof O.toJSON==="function")O=O.toJSON(q);if(typeof o==="function")O=o.call(u,q,O);switch(typeof O){case "string":return c(O);case "number":return isFinite(O)?String(O):"null";case "boolean":case "null":return String(O);
case "object":if(!O)return"null";g+=h;E=[];if(Object.prototype.toString.apply(O)==="[object Array]"){K=O.length;for(w=0;w<K;w+=1)E[w]=d(w,O)||"null";H=E.length===0?"[]":g?"[\n"+g+E.join(",\n"+g)+"\n"+L+"]":"["+E.join(",")+"]";g=L;return H}if(o&&typeof o==="object"){K=o.length;for(w=0;w<K;w+=1){A=o[w];if(typeof A==="string")if(H=d(A,O))E.push(c(A)+(g?": ":":")+H)}}else for(A in O)if(Object.hasOwnProperty.call(O,A))if(H=d(A,O))E.push(c(A)+(g?": ":":")+H);H=E.length===0?"{}":g?"{\n"+g+E.join(",\n"+g)+
"\n"+L+"}":"{"+E.join(",")+"}";g=L;return H}}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(){return this.getUTCFullYear()+"-"+a(this.getUTCMonth()+1)+"-"+a(this.getUTCDate())+"T"+a(this.getUTCHours())+":"+a(this.getUTCMinutes())+":"+a(this.getUTCSeconds())+"Z"};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()}}var b=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
f=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,g,h,m={"":"\\b","\t":"\\t","\n":"\\n","":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},o;if(typeof JSON.stringify!=="function")JSON.stringify=function(q,u,w){var A;h=g="";if(typeof w==="number")for(A=0;A<w;A+=1)h+=" ";else if(typeof w==="string")h=w;if((o=u)&&typeof u!=="function"&&(typeof u!=="object"||typeof u.length!=="number"))throw Error("JSON.stringify");return d("",{"":q})};
if(typeof JSON.parse!=="function")JSON.parse=function(q,u){function w(H,K){var L,E,O=H[K];if(O&&typeof O==="object")for(L in O)if(Object.hasOwnProperty.call(O,L)){E=w(O,L);if(E!==undefined)O[L]=E;else delete O[L]}return u.call(H,K,O)}var A;b.lastIndex=0;if(b.test(q))q=q.replace(b,function(H){return"\\u"+("0000"+H.charCodeAt(0).toString(16)).slice(-4)});if(/^[\],:{}\s]*$/.test(q.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){A=eval("("+q+")");return typeof u==="function"?w({"":A},""):A}throw new SyntaxError("JSON.parse");}})();
Module("JooseX.DOMBinding",function(a){Role("JQueryMetaRole",{requires:["getAttribute"],methods:{handlePropbind:function(c){var d=this,b=[];Joose.O.each(c,function(f,g){var h=d.getAttribute(g);if(!h)throw Error("Cant find attribute "+g+" for binding");b.push(g);var m={selector:null,accessor:"val",args:[],notifyOn:[]};Joose.O.extend(m,f);var o=m.selector,q=m.accessor,u=m.args,w=m.notifyOn;m=h.getterName();h=h.setterName();d.wrapMethod(m,"before",function(){var A=this.$;if(o)A=this.$.find(o);A=A[q].apply(A,
u);this[g]=A});d.wrapMethod(h,"after",function(){var A=this[g],H=this.$;if(o)H=this.$.find(o);for(var K=[],L=0;L<u.length;L++)K.push(u[L]);K.push(A);H[q].apply(H,K)});d.wrapMethod("draw","after",function(){for(var A=this,H=0;H<w.length;H++){var K=w[H],L=this.$;if(o)L=L.find(o);L.bind(K,function(E){A.notify(K,this,E)})}})});d.addMethod("redraw",function(){for(var f=0;f<b.length;f++){var g=b[f];this[this.meta.getAttribute(g).setterName()](this[g])}})}}});Role("JQuery",{metaRoles:[a.JQueryMetaRole],
methods:{draw:function(){this.$=this.create();this.destination().append(this.$)},destination:function(){return jQuery(document.body)},notify:function(){}},after:{initialize:function(){this.draw()}}})});
Module("JooseX",function(){var a={},c=true;Role("Singleton",{before:{initialize:function(){if(c){var d=this.meta.className();throw Error("The class "+d+" is a singleton. Please use the class method getInstance().");}}},methods:{singletonInitialize:function(){}},classMethods:{getInstance:function(){var d=this.meta.className(),b=a[d];if(b)return b;c=false;b=this.meta.instantiate();c=true;b.singletonInitialize();return a[d]=b}}})});
Module("JooseX.Culture",function(a){var c=jQuery("meta[name='culture']").attr("content")||"de-DE";a.setCurrentCulture=function(b){c=b};a.makeFloatFormatter=function(b,f){return function(g,h){var m=(h?a.sprintf(h,g):""+g).split("."),o=m[0];m=m.length>1?b+m[1]:"";for(var q=/(\d+)(\d{3})/;q.test(o);)o=o.replace(q,"$1"+f+"$2");return o+m}};var d={};Class("Factory",{classMethods:{register:function(b){d[b.identifier()]=b},get:function(b){b=b||c;var f=d[b];if(!f)throw Error("Unknown culture "+b);return f}}});
Class("EnUs",{does:[JooseX.Singleton],methods:{identifier:function(){return"en-US"},dateFormat:function(){return"dd/MM/yyyy"},subIdentifier:function(){return this.identifier().split("-")[1]},majorIdentifier:function(){return this.identifier().split("-")[0]},parseNumber:function(b){b=b+"";b=b.replace(/,/g,"");return parseFloat(b,10)},formatNumber:a.makeFloatFormatter(".",","),parseDate:function(b){return Date.parseExact(b,this.dateFormat())},formatDate:function(b){return b.toString(this.dateFormat())}}});
a.Factory.register(a.EnUs.getInstance());Class("EnGb",{isa:JooseX.Culture.EnUs,methods:{identifier:function(){return"en-GB"},dateFormat:function(){return"dd/MM/yyyy"}}});a.Factory.register(a.EnGb.getInstance());Class("DeDe",{isa:JooseX.Culture.EnUs,methods:{identifier:function(){return"de-DE"},dateFormat:function(){return"dd.MM.yyyy"},parseNumber:function(b){b=""+b;b=b.replace(/\./g,"");b=b.replace(/\,/,".");return parseFloat(b,10)},formatNumber:a.makeFloatFormatter(",",".")}});a.Factory.register(a.DeDe.getInstance());
Class("ItIt",{isa:JooseX.Culture.DeDe,methods:{identifier:function(){return"it-IT"},dateFormat:function(){return"dd/MM/yyyy"}}});a.Factory.register(a.ItIt.getInstance());Class("EsEs",{isa:JooseX.Culture.DeDe,methods:{identifier:function(){return"es-ES"},dateFormat:function(){return"dd.MM.yyyy"}}});a.Factory.register(a.EsEs.getInstance());sprintfWrapper={init:function(){if(typeof arguments=="undefined")return null;if(arguments.length<1)return null;if(typeof arguments[0]!="string")return null;if(typeof RegExp==
"undefined")return null;var b=arguments[0],f=RegExp(/(%([%]|(\-)?(\+|\x20)?(0)?(\d+)?(\.(\d)?)?([bcdfosxX])))/g),g=[],h=[],m=0,o=0,q=0;o=0;for(var u="",w=null;w=f.exec(b);){if(w[9])m+=1;o=o;q=f.lastIndex-w[0].length;h[h.length]=b.substring(o,q);o=f.lastIndex;g[g.length]={match:w[0],left:w[3]?true:false,sign:w[4]||"",pad:w[5]||" ",min:w[6]||0,precision:w[8],code:w[9]||"%",negative:parseInt(arguments[m])<0?true:false,argument:String(arguments[m])}}h[h.length]=b.substring(o);if(g.length==0)return b;
if(arguments.length-1<m)return null;b=null;for(b=0;b<g.length;b++){if(g[b].code=="%")substitution="%";else if(g[b].code=="b"){g[b].argument=String(Math.abs(parseInt(g[b].argument)).toString(2));substitution=sprintfWrapper.convert(g[b],true)}else if(g[b].code=="c"){g[b].argument=String(String.fromCharCode(parseInt(Math.abs(parseInt(g[b].argument)))));substitution=sprintfWrapper.convert(g[b],true)}else if(g[b].code=="d"){g[b].argument=String(Math.abs(parseInt(g[b].argument)));substitution=sprintfWrapper.convert(g[b])}else if(g[b].code==
"f"){g[b].argument=String(Math.abs(parseFloat(g[b].argument)).toFixed(g[b].precision?g[b].precision:6));substitution=sprintfWrapper.convert(g[b])}else if(g[b].code=="o"){g[b].argument=String(Math.abs(parseInt(g[b].argument)).toString(8));substitution=sprintfWrapper.convert(g[b])}else if(g[b].code=="s"){g[b].argument=g[b].argument.substring(0,g[b].precision?g[b].precision:g[b].argument.length);substitution=sprintfWrapper.convert(g[b],true)}else if(g[b].code=="x"){g[b].argument=String(Math.abs(parseInt(g[b].argument)).toString(16));
substitution=sprintfWrapper.convert(g[b])}else if(g[b].code=="X"){g[b].argument=String(Math.abs(parseInt(g[b].argument)).toString(16));substitution=sprintfWrapper.convert(g[b]).toUpperCase()}else substitution=g[b].match;u+=h[b];u+=substitution}u+=h[b];return u},convert:function(b,f){b.sign=f?"":b.negative?"-":b.sign;var g=b.min-b.argument.length+1-b.sign.length;g=Array(g<0?0:g).join(b.pad);return b.left?b.pad=="0"||f?b.sign+b.argument+g.replace(/0/g," "):b.sign+b.argument+g:b.pad=="0"||f?b.sign+g+
b.argument:g+b.sign+b.argument}};a.sprintf=sprintfWrapper.init});
Module("JooseX",function(a){Class("Dumper",{does:[JooseX.Singleton],has:{logger:{is:"rw",init:function(){return window.console||{log:function(){}}}}},methods:{dump:function(c){var d=c.meta.getAttributes(),b=this.logger;b.log("Dumping "+c);Joose.O.each(d,function(f){var g=f.getName();f=f.getterName();var h;h=f&&c[f]?c[f]():c[h];b.log("  "+g+" = "+h)})}}});Role("DumpAfterInit",{after:{initialize:function(){a.Dumper.getInstance().dump(this)}}});Role("Dumpable",{methods:{dump:function(){a.Dumper.getInstance().dump(this)}}})});
(function(a){a.fn.bgIframe=a.fn.bgiframe=function(c){if(a.browser.msie&&/MSIE 6.0/.test(navigator.userAgent)){c=a.extend({top:"auto",left:"auto",width:"auto",height:"auto",opacity:true,src:"javascript:false;"},c||{});var d=function(f){return f&&f.constructor==Number?f+"px":f},b='<iframe class="bgiframe"frameborder="0"tabindex="-1"src="'+c.src+'"style="display:block;position:absolute;z-index:-1;'+(c.opacity!==false?"filter:Alpha(Opacity='0');":"")+"top:"+(c.top=="auto"?"expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+'px')":
d(c.top))+";left:"+(c.left=="auto"?"expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+'px')":d(c.left))+";width:"+(c.width=="auto"?"expression(this.parentNode.offsetWidth+'px')":d(c.width))+";height:"+(c.height=="auto"?"expression(this.parentNode.offsetHeight+'px')":d(c.height))+';"/>';return this.each(function(){a("> iframe.bgiframe",this).length==0&&this.insertBefore(document.createElement(b),this.firstChild)})}return this}})(jQuery);
(function(a){a.fn.extend({autocomplete:function(c,d){var b=typeof c=="string";d=a.extend({},a.Autocompleter.defaults,{url:b?c:null,data:b?null:c,delay:b?a.Autocompleter.defaults.delay:10,max:d&&!d.scroll?10:150},d);d.highlight=d.highlight||function(f){return f};d.formatMatch=d.formatMatch||d.formatItem;return this.each(function(){new a.Autocompleter(this,d)})},result:function(c){return this.bind("result",c)},search:function(c){return this.trigger("search",[c])},flushCache:function(){return this.trigger("flushCache")},
setOptions:function(c){return this.trigger("setOptions",[c])},unautocomplete:function(){return this.trigger("unautocomplete")}});a.Autocompleter=function(c,d){function b(){var W=B.selected();if(!W)return false;var M=W.result;K=M;if(d.multiple){var r=g(A.val());if(r.length>1)M=r.slice(0,r.length-1).join(d.multipleSeparator)+d.multipleSeparator+M;M+=d.multipleSeparator}A.val(ea(M));m();A.trigger("result",[W.data,W.value]);return true}function f(W,M){if(O==u.DEL)B.hide();else{s2.Logger.debug("Open");
var r=A.val();if(r.match(/\.\.\.$/))r=A.data("completeValue");if(!(!M&&r==K)){s2.Logger.debug("Open2");K=r;r=h(r);if(r.length>=d.minChars){A.addClass(d.loadingClass);d.matchCase||(r=r.toLowerCase());q(r,o,m);s2.Logger.debug("Open3")}else{A.removeClass(d.loadingClass);B.hide();s2.Logger.debug("Open4")}}}}function g(W){if(!W)return[""];W=W.split(d.multipleSeparator);var M=[];a.each(W,function(r,ta){if(a.trim(ta))M[r]=a.trim(ta)});return M}function h(W){if(!d.multiple)return W;W=g(W);return W[W.length-
1]}function m(){s2.tuifly.controller.AirportInfoHideEvent.trigger();var W=B.visible();B.hide();clearTimeout(H);A.removeClass(d.loadingClass);d.mustMatch&&A.search(function(M){if(!M)if(d.multiple){M=g(A.val()).slice(0,-1);A.val(ea(M.join(d.multipleSeparator)+(M.length?d.multipleSeparator:"")))}else A.val("")});W&&a.Autocompleter.Selection(c,c.value.length,c.value.length)}function o(W,M){if(M&&M.length&&E){A.removeClass(d.loadingClass);B.display(M,W);var r=M[0].value;if(d.autoFill&&h(A.val()).toLowerCase()==
W.toLowerCase()&&O!=u.BACKSPACE){A.val(ea(A.val()+r.substring(h(K).length)));a.Autocompleter.Selection(c,K.length,K.length+r.length)}B.show();B.scrollTo(A.val())}else m()}function q(W,M,r){d.matchCase||(W=W.toLowerCase());var ta=L.load(W);s2.Logger.debug("Open4.5");if(ta&&ta.length){s2.Logger.debug("Open5 "+ta.length);M(W,ta)}else if(typeof d.url=="string"&&d.url.length>0){var ia={timestamp:+new Date};a.each(d.extraParams,function(y,D){ia[y]=typeof D=="function"?D():D});a.ajax({mode:"abort",port:"autocomplete"+
c.name,dataType:d.dataType,url:d.url,data:a.extend({q:h(W),limit:d.max},ia),success:function(y){var D;if(!(D=d.parse&&d.parse(y))){D=[];y=y.split("\n");for(var J=0;J<y.length;J++){var P=a.trim(y[J]);if(P){P=P.split("|");D[D.length]={data:P,value:P[0],result:d.formatResult&&d.formatResult(P,P[0])||P[0]}}}D=D}D=D;L.add(W,D);M(W,D)}})}else{B.emptyList();r(W)}}var u={UP:38,DOWN:40,DEL:46,TAB:9,RETURN:13,ESC:27,COMMA:188,PAGEUP:33,PAGEDOWN:34,BACKSPACE:8},w,A=a(c).attr("autocomplete","off").addClass(d.inputClass),
H,K="",L=a.Autocompleter.Cache(d),E=0,O,I={mouseDownOnSelect:false},B=a.Autocompleter.Select(d,c,b,I);B.init();var T;a.browser.opera&&a(c.form).bind("submit.autocomplete",function(){if(T)return T=false});A.bind((a.browser.opera?"keypress":"keydown")+".autocomplete",function(W){O=W.keyCode;switch(W.keyCode){case u.UP:W.preventDefault();B.visible()?B.prev():f(0,true);break;case u.DOWN:W.preventDefault();B.visible()?B.next():f(0,true);break;case u.PAGEUP:W.preventDefault();B.visible()?B.pageUp():f(0,
true);break;case u.PAGEDOWN:W.preventDefault();B.visible()?B.pageDown():f(0,true);break;case d.multiple&&a.trim(d.multipleSeparator)==","&&u.COMMA:case u.TAB:if(b()){W.preventDefault();return T=true}break;case u.RETURN:if(b()){W.preventDefault();T=true;return false}break;case u.ESC:B.hide();break;default:clearTimeout(H);H=setTimeout(f,d.delay)}}).focus(function(){s2.Logger.debug("focus");E++}).blur(function(){E=0;if(!I.mouseDownOnSelect){m();s2.Logger.debug("blur/hide")}}).click(function(){d.showAllOnFullMatch=
true;if(E++>0&&!B.visible()){f(0,true);w=(new Date).getTime()}d.showAllOnFullMatch=false}).bind("search",function(){function W(r,ta){var ia;if(ta&&ta.length)for(var y=0;y<ta.length;y++)if(ta[y].result.toLowerCase()==r.toLowerCase()){ia=ta[y];break}typeof M=="function"?M(ia):A.trigger("result",ia&&[ia.data,ia.value])}var M=arguments.length>1?arguments[1]:null;a.each(g(A.val()),function(r,ta){q(ta,W,W)})}).bind("flushCache",function(){L.flush()}).bind("setOptions",function(W,M){a.extend(d,M);"data"in
M&&L.populate()}).bind("unautocomplete",function(){B.unbind();A.unbind();a(c.form).unbind(".autocomplete")}).bind("s2:closeIfOpen",function(){E>0&&(new Date).getTime()-w>300&&m()});var ea=function(W){jQuery("<span>"+W+"</span>").text()}};a.Autocompleter.defaults={inputClass:"ac_input",resultsClass:"ac_results",loadingClass:"ac_loading",minChars:1,delay:400,matchCase:false,matchSubset:true,matchContains:false,cacheLength:10,max:100,mustMatch:false,extraParams:{},selectFirst:true,formatItem:function(c){return c[0]},
formatMatch:null,autoFill:false,width:0,multiple:false,multipleSeparator:", ",highlight:function(c,d){return c.replace(RegExp("(?![^&;]+;)(?!<[^<>]*)("+d.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")+")(?![^<>]*>)(?![^&;]+;)","gi"),"<strong>$1</strong>")},scroll:true,scrollHeight:180};a.Autocompleter.Cache=function(c){function d(m,o){c.matchCase||(m=m.toLowerCase());var q=m.indexOf(o);if(q==-1)return false;return q==0||c.matchContains}function b(m,o){h>c.cacheLength&&f();g[m]||h++;g[m]=o}function f(){g=
{};h=0}var g={},h=0;return{flush:f,add:b,populate:function(){s2.Logger.debug("Pipulate cache");if(!c.data)return false;var m={},o=0;if(!c.url)c.cacheLength=1;m[""]=[];for(var q=0,u=c.data.length;q<u;q++){var w=c.data[q];w=typeof w=="string"?[w]:w;var A=c.formatMatch(w,q+1,c.data.length);if(A!==false){var H=A.charAt(0).toLowerCase();m[H]||(m[H]=[]);w={value:A,data:w,result:c.formatResult&&c.formatResult(w)||A};m[H].push(w);o++<c.max&&m[""].push(w)}}a.each(m,function(K,L){c.cacheLength++;b(K,L)});s2.Logger.debug("Pipulate cache2")},
load:function(m){if(!c.cacheLength||!h)return null;if(!c.url&&c.matchContains){var o=[],q=[],u;for(u in g)if(u.length>0){var w=g[u];a.each(w,function(A,H){d(H.value,m)&&o.push(H);q.push(H)})}if(c.handleResult)if(w=c.handleResult(c,o,q,m))return w;return o}else if(g[m])return g[m];else if(c.matchSubset)for(u=m.length-1;u>=c.minChars;u--)if(w=g[m.substr(0,u)]){o=[];a.each(w,function(A,H){if(d(H.value,m))o[o.length]=H});return o}return null}}};a.Autocompleter.Select=function(c,d,b,f){function g(){if(H){K=
a("<div/>").hide().addClass(c.resultsClass).css("position","absolute").appendTo(document.body);L=a("<ul/>").appendTo(K).mouseover(function(E){if(h(E).nodeName&&h(E).nodeName.toUpperCase()=="LI"){u=a("li",L).removeClass(o.ACTIVE).index(h(E));a(h(E)).addClass(o.ACTIVE)}}).click(function(E){window.triggerClickCompactSearchAllowed=true;a(h(E)).addClass(o.ACTIVE);b();try{d.focus()}catch(O){}return false}).mousedown(function(){f.mouseDownOnSelect=true}).mouseup(function(){f.mouseDownOnSelect=false});c.width>
0&&K.css("width",c.width);H=false}}function h(E){for(E=E.target;E&&E.tagName!="LI";)E=E.parentNode;if(!E)return[];return E}function m(E){q.slice(u,u+1).removeClass(o.ACTIVE);u+=E;if(u<0)u=q.size()-1;else if(u>=q.size())u=0;E=q.slice(u,u+1).addClass(o.ACTIVE);if(c.scroll){var O=0;q.slice(0,u).each(function(){O+=this.offsetHeight});if(O+E[0].offsetHeight-L.scrollTop()>L[0].clientHeight)L.scrollTop(O+E[0].offsetHeight-L.innerHeight());else O<L.scrollTop()&&L.scrollTop(O)}s2.tuifly.controller.AirportInfoShowEvent.trigger(E)}
var o={ACTIVE:"ac_over"},q,u=-1,w,A="",H=true,K,L;return{display:function(E,O){g();w=E;A=O;L.empty();for(var I=c.max&&c.max<w.length?c.max:w.length,B=0;B<I;B++)if(w[B]){var T=c.formatItem(w[B].data,B+1,I,w[B].value,A);if(T!==false){var ea=B%2==0?"ac_even":"ac_odd",W=a("<li class='ac_element "+ea+"'/>");T=c.highlight(T,A);if(W=a(w[B].data[0]).html().match(/([^\(\)]+) \(([a-z]{3})\)/i)){var M=W[1];if(M.length>21)M=M.substr(0,18)+"...";T=T.replace(/>.+<\/span/,"><div class='qAirportname' style='float:left;'>"+
M+"</div><div class='qAirportCode' style='float:right; text-align:left; width:25px;'>"+W[2]+"</div></span")}W=a("<li class='ac_element "+ea+"'/>");W.get(0).innerHTML=T;W.appendTo(L);W=W[0];a.data(W,"ac_data",w[B])}}q=L.find("li");if(c.selectFirst){q.slice(0,1).addClass(o.ACTIVE);u=0}a.fn.bgiframe&&L.bgiframe();s2.tuifly.controller.AutoCompleteShowEvent.trigger()},init:function(){g()},next:function(){m(1)},prev:function(){m(-1)},pageUp:function(){u!=0&&u-8<0?m(-u):m(-8)},pageDown:function(){u!=q.size()-
1&&u+8>q.size()?m(q.size()-1-u):m(8)},hide:function(){K&&K.hide();q&&q.removeClass(o.ACTIVE);u=-1;jQuery.browser.msie&&a("#flugsuche select").removeClass("hidden")},visible:function(){return K&&K.is(":visible")},current:function(){return this.visible()&&(q.filter("."+o.ACTIVE)[0]||c.selectFirst&&q[0])},show:function(){jQuery.browser.msie&&a("#flugsuche select").addClass("hidden");var E=a(d).offset();K.css({width:typeof c.width=="string"||c.width>0?c.width:a(d).width(),top:E.top+d.offsetHeight,left:E.left}).show();
if(c.scroll){L.scrollTop(0);L.css({maxHeight:c.scrollHeight,overflow:"auto"});if(a.browser.msie&&typeof document.body.style.maxHeight==="undefined"){var O=0;q.each(function(){O+=this.offsetHeight});E=O>c.scrollHeight;L.css("height","270px");E||q.width(L.width()-parseInt(q.css("padding-left"))-parseInt(q.css("padding-right")))}}},selected:function(){var E=q&&q.filter("."+o.ACTIVE).removeClass(o.ACTIVE);return E&&E.length&&a.data(E[0],"ac_data")},emptyList:function(){L&&L.empty()},unbind:function(){K&&
K.remove()},scrollTo:function(E){var O=L.get(0);E=E.replace(/\([^(]*$/,"").replace(/\.\.\.$/,"");E=L.find("li:contains('"+E+"')");if(E.length>0){E.get(0);E=E.position().top;s2.Logger.debug("Scroll pos "+E+";"+O.scrollTop);O.scrollTop=E;s2.Logger.debug("Scroll pos "+E+";"+O.scrollTop)}else s2.Logger.debug("not found")}}};a.Autocompleter.Selection=function(c,d,b){if(c.createTextRange){var f=c.createTextRange();f.collapse(true);f.moveStart("character",d);f.moveEnd("character",b);try{f.select()}catch(g){}}else if(c.setSelectionRange)try{c.setSelectionRange(d,
b)}catch(h){}else if(c.selectionStart){c.selectionStart=d;c.selectionEnd=b}try{c.focus()}catch(m){}}})(jQuery);(function(){var a;jQuery.fn.typingEnded=function(c,d){d=jQuery.extend({delay:600},d);var b=d.delay;this.keydown(function(){var f=this,g=arguments;a&&clearTimeout(a);a=setTimeout(function(){c.apply(f,g)},b)});return this}})();
(function(){var a={},c=function(d){var b=a;if(this instanceof jQuery){if(this.QUERY_CACHE==null)this.QUERY_CACHE={};b=this.QUERY_CACHE}if(d in b)return b[d];var f;f=this instanceof jQuery?this.find(d):jQuery(d);return b[d]=f};jQuery.cachedFind=c;jQuery.fn.cachedFind=c;jQuery(window).bind("unload",function(){for(var d in a)delete a[d]})})();
(function(a){a.extend_deep=function(){var c=arguments[0]||{},d=1,b=arguments.length,f=false,g;if(c.constructor==Boolean){f=c;c=arguments[1]||{};d=2}if(typeof c!="object"&&typeof c!="function")c={};if(b==1){c=this;d=0}for(;d<b;d++)if((g=arguments[d])!=null)for(var h in g)if(c!==g[h])if(f&&g[h]&&typeof g[h]=="object"&&c[h]&&!g[h].nodeType)c[h]=a.extend_deep(true,c[h],g[h]);else if(g[h]!=undefined)c[h]=g[h];return c};a.metaobjects=function(c){function d(f){eval("value = "+f+";");return f}function b(f,
g){for(var h=f.split("."),m={},o=m,q=0,u=h.length-1;q<=u;q++)if(h[q])o=o[h[q]]=q==u?g:{};return m}c=a.extend({context:document,clean:true,selector:"object.metaobject"},c);return a(c.selector,c.context).each(function(){var f={target:this.parentNode,cache:false};a("> param[name=metaparam]",this).each(function(){a.extend(f,d(this.value))});a("> param",this).not("[name=metaparam]").each(function(){var g=this.name,h=d(this.value);if(f.cache){var m=g.split("."),o=m.shift(),q=(m=m.join("."))?b(m,h):h;a(f.target).each(function(){var u=
a.data(this,o);u?a.extend_deep(true,u,q):a.data(this,o,q)})}else a(f.target).each(function(){a.extend_deep(true,this,b(g,h))})});c.clean&&a(this).remove()})}})(jQuery);(function(a){a.fn.checkboxChecked=function(c){if(arguments.length==0){var d=true;this.each(function(){if(!this.checked)return d=false});return d}else{this.each(function(){this.checked=c});return this}}})(jQuery);jQuery.fn.extend({selectbox:function(a){return this.each(function(){new jQuery.SelectBox(this,a)})}});
jQuery.expr[":"].startsWith=function(a,c,d){c=d[3];if(!c)return false;return RegExp("^\\s*"+c,"i").test($(a).text())};
jQuery.SelectBox=function(a,c){function d(){L=0;I.hide();r=false;if(E){E=false;O.trigger("customSelect_changedAndClosed")}}function b(){w=h(B.attr("id"));w=$(w);I.append(w);q=$("li",I);u=q.eq(0)}function f(ia){if(q)if(!(L>0)){I.not(":visible").length>0&&I.show();K+=ia;if(K<0)K=0;else if(K>=q.size())K=q.size()-1;q.filter("."+m.hoverClass).removeClass(m.hoverClass);q.filter("."+m.currentClass).removeClass(m.currentClass);w.scrollTop($(q[K]).addClass(m.hoverClass).addClass(m.currentClass).position().top-
u.position().top);g()}}function g(){var ia=$("li."+m.currentClass,I).get(0),y=(""+ia.id).split("_");O.val(y[y.length-1]);B.val($(ia).text());E=true;O.change();return true}function h(ia){var y=document.createElement("ul");if(O.closest(".queryCustomSelects").length>0){var D=O.closest(".queryCustomSelects").attr("optionWidth"),J=O.closest(".queryCustomSelects").attr("optionHeight");if(D&&J){$(y).css("height",J+"px");$(y).css("width",D+"px");$(y).css("overflow","auto")}}O.children("option").each(function(){var P=
document.createElement("li");P.setAttribute("id",ia+"_"+$(this).val());P.innerHTML=$(this).html();if($(this).is(":selected")){B.val($(this).text());$(P).addClass(m.currentClass)}y.appendChild(P);$(y).mouseout(function(){L=-1}).mouseover(function(){L=1});$(P).mouseover(function(ha){L=1;m.debug&&console.log("over on : "+this.id);q.filter("."+m.hoverClass).removeClass(m.hoverClass);K=q.index($(ha.target,I).addClass(m.hoverClass))}).mouseout(function(){m.debug&&console.log("out on : "+this.id)}).click(function(){m.debug&&
console.log("click on :"+this.id);$("li."+m.currentClass,I).removeClass(m.currentClass);$(this).addClass(m.currentClass);K=q.index($(this));g();d()})});return y}var m=c||{};m.inputClass=m.inputClass||"selectbox";m.containerClass=m.containerClass||"selectbox-wrapper";m.hoverClass=m.hoverClass||"current";m.currentClass=m.selectedClass||"selected";m.debug=m.debug||false;var o=a.id,q,u,w,A="",H,K=-1,L=0,E=false,O=$(a),I=function(ia){var y=document.createElement("div");I=$(y);I.attr("id",o+"_container");
I.addClass(ia.containerClass);I.css("position","absolute");I.hide();return I}(m),B=function(ia){var y=document.createElement("input");y=$(y);y.attr("id",o+"_input");y.attr("type","text");y.addClass(ia.inputClass);y.attr("autocomplete","off");y.attr("readonly","readonly");y.attr("tabIndex",O.attr("tabindex"));return y}(m);if(c.maxlength){var T=B.val;B.val=function(ia){if(arguments.length>0){ia=""+ia;return T.call(this,ia.substring(0,parseInt(c.maxlength)))}return T.call(this)}}if(c.abbreviate){T=B.val;
B.val=function(ia){if(arguments.length>0){ia=s2.tuifly.util.toolbox.shortenTextInElement(B,ia,"...");return T.call(this,ia)}return T.call(this)}}O.hide().before(B).before(I);var ea=I.show,W=false;I.show=function(){W||b();W=true;ea.apply($(this));q.filter("."+m.hoverClass).removeClass(m.hoverClass);var ia=q.filter(function(){return $(this).text().match(RegExp("^\\s*"+B.val().replace(/\.\.\.$/,"").replace(/([()^$.*+?\\[\]\/])/g,"\\$1"),"i"))}).eq(0).addClass(m.hoverClass);K=q.index(ia);ia.length!=0&&
w.scrollTop(ia.position().top-u.position().top)};var M=0,r=false;B.click(function(){if(r&&(new Date).getTime()-M>200){I.hide();r=false}else{I.show();r=true}}).focus(function(){if(I.not(":visible")){var ia=B.position(),y=ia.top+B.outerHeight();I.css("top",y+"px");I.css("left",ia.left+"px");I.show();r=true;M=(new Date).getTime()}}).keydown(function(ia){switch(ia.keyCode){case 38:ia.preventDefault();f(-1);break;case 40:ia.preventDefault();f(1);break;case 13:ia.preventDefault();$("li."+m.hoverClass,I).trigger("click");
break;case 27:ia.preventDefault();d()}}).keypress(function(ia){if(!(L>0)){var y;if(ia.which==null)y=ia.keyCode;else if(ia.which>0)y=ia.which;ia=String.fromCharCode(y);if(y&&31<y&&y!=127&&ia.match(/[^\\\.\*\+\?\[\]\(\)\^\$\/]/)){I.not(":visible").length>0&&I.show();A+=ia;y=I.find("li:startsWith("+A+")");if(A.match(/(.)\1/i)&&y.length==0||A.length==1&&y.filter("."+m.hoverClass).length==1&&y.length>1){A=ia;y=y.length>0?y:I.find("li:startsWith("+A+")");ia=y.index(y.filter("."+m.hoverClass))+1;ia=ia<y.length?
ia:0;y=y.eq(ia)}else y=y.eq(0);if(y.length>0){q.filter("."+m.hoverClass).removeClass(m.hoverClass);y.addClass(m.hoverClass);K=q.index(y);w.scrollTop(y.position().top-u.position().top);q.filter("."+m.currentClass).removeClass(m.currentClass);y.addClass(m.currentClass);g()}H&&window.clearTimeout(H);H=window.setTimeout(function(){A=""},1E3)}}}).blur(function(){if(L>0)m.debug&&console.log("container visible and has focus");else d()});var ta=function(){B.val(O.find(":selected").text())};O.data("update",
ta);O.data("updateList",function(){if(w)w.remove();else W=true;b()});$(window).load(ta);s2.tuifly.events.AvailibilityCookieDataSet.observe(ta)};
jQuery.fn.ajaxSubmit=function(a){if(typeof a=="function")a={success:a};a=jQuery.extend({url:this.attr("action")||"",method:this.attr("method")||"GET"},a||{});a.success=a.success||a.after;a.beforeSubmit=a.beforeSubmit||a.before;a.type=a.type||a.method;var c=this.formToArray(a.semantic);if(a.beforeSubmit&&a.beforeSubmit(c,this,a)===false)return this;c=jQuery.param(c);if(a.type.toUpperCase()=="GET"){a.url+=(a.url.indexOf("?")>=0?"&":"?")+c;a.data=null}else a.data=c;var d=this,b=[];a.resetForm&&b.push(function(){d.resetForm()});
a.clearForm&&b.push(function(){d.clearForm()});if(!a.dataType&&a.target){var f=a.success||function(){};b.push(function(g,h){jQuery(a.target).attr("innerHTML",g).evalScripts().each(f,[g,h])})}else a.success&&b.push(a.success);a.success=function(g,h){for(var m=0,o=b.length;m<o;m++)b[m](g,h)};jQuery.ajax(a);return this};
jQuery.fn.ajaxForm=function(a){return this.each(function(){jQuery("input:submit,input:image,button:submit",this).click(function(c){var d=this.form;d.clk=this;if(this.type=="image")if(c.offsetX!=undefined){d.clk_x=c.offsetX;d.clk_y=c.offsetY}else if(typeof jQuery.fn.offset=="function"){var b=jQuery(this).offset();d.clk_x=c.pageX-b.left;d.clk_y=c.pageY-b.top}else{d.clk_x=c.pageX-this.offsetLeft;d.clk_y=c.pageY-this.offsetTop}setTimeout(function(){d.clk=d.clk_x=d.clk_y=null},10)})}).submit(function(){jQuery(this).ajaxSubmit(a);
return false})};
jQuery.fn.formToArray=function(a){var c=[];if(this.length==0)return c;var d=this[0],b=a?d.getElementsByTagName("*"):d.elements;if(!b)return c;for(var f=0,g=b.length;f<g;f++){var h=b[f],m=h.name;if(m)if(a&&d.clk&&h.type=="image")!h.disabled&&d.clk==h&&c.push({name:m+".x",value:d.clk_x},{name:m+".y",value:d.clk_y});else{h=jQuery.fieldValue(h,true);if(h!==null)if(h.constructor==Array)for(var o=0,q=h.length;o<q;o++)c.push({name:m,value:h[o]});else c.push({name:m,value:h})}}if(!a&&d.clk){a=d.getElementsByTagName("input");
f=0;for(g=a.length;f<g;f++){b=a[f];(m=b.name)&&!b.disabled&&b.type=="image"&&d.clk==b&&c.push({name:m+".x",value:d.clk_x},{name:m+".y",value:d.clk_y})}}return c};jQuery.fn.formSerialize=function(a){return jQuery.param(this.formToArray(a))};
jQuery.fn.fieldSerialize=function(a){var c=[];this.each(function(){var d=this.name;if(d){var b=jQuery.fieldValue(this,a);if(b&&b.constructor==Array)for(var f=0,g=b.length;f<g;f++)c.push({name:d,value:b[f]});else b!==null&&typeof b!="undefined"&&c.push({name:this.name,value:b})}});return jQuery.param(c)};
jQuery.fn.fieldValue=function(a){for(var c,d,b=0,f=this.length;b<f;b++){var g=this[b],h=jQuery.fieldValue(g,a);if(!(h===null||typeof h=="undefined"||h.constructor==Array&&!h.length)){if(g.type!="checkbox")return h;d=d||g.name;if(d!=g.name)break;c=c||[];c.push(h)}}return c};
jQuery.fieldValue=function(a,c){var d=a.name,b=a.type,f=a.tagName.toLowerCase();if(typeof c=="undefined")c=true;if(c&&(!d||a.disabled||b=="reset"||(b=="checkbox"||b=="radio")&&!a.checked||(b=="submit"||b=="image")&&a.form&&a.form.clk!=a||f=="select"&&a.selectedIndex==-1))return null;if(f=="select"){var g=a.selectedIndex;if(g<0)return null;d=[];f=a.options;var h=(b=b=="select-one")?g+1:f.length;for(g=b?g:0;g<h;g++){var m=f[g];if(m.selected){m=jQuery.browser.msie&&!m.attributes.value.specified?m.text:
m.value;if(b)return m;d.push(m)}}return d}return a.value};jQuery.fn.clearForm=function(){return this.each(function(){jQuery("input,select,textarea",this).clearFields()})};jQuery.fn.clearFields=jQuery.fn.clearInputs=function(){return this.each(function(){var a=this.type,c=this.tagName.toLowerCase();if(a=="text"||a=="password"||c=="textarea")this.value="";else if(a=="checkbox"||a=="radio")this.checked=false;else if(c=="select")this.selectedIndex=-1})};
jQuery.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||typeof this.reset=="object"&&!this.reset.nodeType)this.reset()})};
(function(a){function c(b){return typeof b=="object"?b:{top:b,left:b}}var d=a.scrollTo=function(b,f,g){a(window).scrollTo(b,f,g)};d.defaults={axis:"y",duration:1};d.window=function(){return a(window).scrollable()};a.fn.scrollable=function(){return this.map(function(){var b=this.parentWindow||this.defaultView;b=this.nodeName=="#document"?b.frameElement||b:this;var f=b.contentDocument||(b.contentWindow||b).document,g=b.setInterval;return b.nodeName=="IFRAME"||g&&a.browser.safari?f.body:g?f.documentElement:
this})};a.fn.scrollTo=function(b,f,g){if(typeof f=="object"){g=f;f=0}if(typeof g=="function")g={onAfter:g};g=a.extend({},d.defaults,g);f=f||g.speed||g.duration;g.queue=g.queue&&g.axis.length>1;if(g.queue)f/=2;g.offset=c(g.offset);g.over=c(g.over);return this.scrollable().each(function(){function h(K){q.animate(A,f,g.easing,K&&function(){K.call(this,b,g)})}function m(K){K="scroll"+K;var L=o.ownerDocument;return H?Math.max(L.documentElement[K],L.body[K]):o[K]}var o=this,q=a(o),u=b,w,A={},H=q.is("html,body");
switch(typeof u){case "number":case "string":if(/^([+-]=)?\d+(px)?$/.test(u)){u=c(u);break}u=a(u,this);case "object":if(u.is||u.style)w=(u=a(u)).offset()}a.each(g.axis.split(""),function(K,L){var E=L=="x"?"Left":"Top",O=E.toLowerCase(),I="scroll"+E,B=o[I],T=L=="x"?"Width":"Height",ea=T.toLowerCase();if(w){A[I]=w[O]+(H?0:B-q.offset()[O]);if(g.margin){A[I]-=parseInt(u.css("margin"+E))||0;A[I]-=parseInt(u.css("border"+E+"Width"))||0}A[I]+=g.offset[O]||0;if(g.over[O])A[I]+=u[ea]()*g.over[O]}else A[I]=
u[O];if(/^\d+$/.test(A[I]))A[I]=A[I]<=0?0:Math.min(A[I],m(T));if(!K&&g.queue){B!=A[I]&&h(g.onAfterFirst);delete A[I]}});h(g.onAfter)}).end()}})(jQuery);
jQuery.ui||function(a){a.ui={version:"1.8",plugin:{add:function(c,d,b){c=a.ui[c].prototype;for(var f in b){c.plugins[f]=c.plugins[f]||[];c.plugins[f].push([d,b[f]])}},call:function(c,d,b){if((d=c.plugins[d])&&c.element[0].parentNode)for(var f=0;f<d.length;f++)c.options[d[f][0]]&&d[f][1].apply(c.element,b)}},contains:function(c,d){return document.compareDocumentPosition?c.compareDocumentPosition(d)&16:c!==d&&c.contains(d)},hasScroll:function(c,d){if(a(c).css("overflow")=="hidden")return false;var b=
d&&d=="left"?"scrollLeft":"scrollTop",f=false;if(c[b]>0)return true;c[b]=1;f=c[b]>0;c[b]=0;return f},isOverAxis:function(c,d,b){return c>d&&c<d+b},isOver:function(c,d,b,f,g,h){return a.ui.isOverAxis(c,b,g)&&a.ui.isOverAxis(d,f,h)},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,
SHIFT:16,SPACE:32,TAB:9,UP:38}};a.fn.extend({_focus:a.fn.focus,focus:function(c,d){return typeof c==="number"?this.each(function(){var b=this;setTimeout(function(){a(b).focus();d&&d.call(b)},c)}):this._focus.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},scrollParent:function(){var c;
c=a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||
!c.length?a(document):c},zIndex:function(c){if(c!==undefined)return this.css("zIndex",c);if(this.length){c=a(this[0]);for(var d;c.length&&c[0]!==document;){d=c.css("position");if(d=="absolute"||d=="relative"||d=="fixed"){d=parseInt(c.css("zIndex"));if(!isNaN(d)&&d!=0)return d}c=c.parent()}}return 0}});a.extend(a.expr[":"],{data:function(c,d,b){return!!a.data(c,b[3])},focusable:function(c){var d=c.nodeName.toLowerCase(),b=a.attr(c,"tabindex");return(/input|select|textarea|button|object/.test(d)?!c.disabled:
"a"==d||"area"==d?c.href||!isNaN(b):!isNaN(b))&&!a(c)["area"==d?"parents":"closest"](":hidden").length},tabbable:function(c){var d=a.attr(c,"tabindex");return(isNaN(d)||d>=0)&&a(c).is(":focusable")}})}(jQuery);
(function(a){var c=a.fn.remove;a.fn.remove=function(d,b){return this.each(function(){if(!b)if(!d||a.filter(d,[this]).length)a("*",this).add(this).each(function(){a(this).triggerHandler("remove")});return c.call(a(this),d,b)})};a.widget=function(d,b,f){var g=d.split(".")[0],h;d=d.split(".")[1];h=g+"-"+d;if(!f){f=b;b=a.Widget}a.expr[":"][h]=function(m){return!!a.data(m,d)};a[g]=a[g]||{};a[g][d]=function(m,o){arguments.length&&this._createWidget(m,o)};b=new b;b.options=a.extend({},b.options);a[g][d].prototype=
a.extend(true,b,{namespace:g,widgetName:d,widgetEventPrefix:a[g][d].prototype.widgetEventPrefix||d,widgetBaseClass:h},f);a.widget.bridge(d,a[g][d])};a.widget.bridge=function(d,b){a.fn[d]=function(f){var g=typeof f==="string",h=Array.prototype.slice.call(arguments,1),m=this;f=!g&&h.length?a.extend.apply(null,[true,f].concat(h)):f;if(g&&f.substring(0,1)==="_")return m;g?this.each(function(){var o=a.data(this,d),q=o&&a.isFunction(o[f])?o[f].apply(o,h):o;if(q!==o&&q!==undefined){m=q;return false}}):this.each(function(){var o=
a.data(this,d);if(o){f&&o.option(f);o._init()}else a.data(this,d,new b(f,this))});return m}};a.Widget=function(d,b){arguments.length&&this._createWidget(d,b)};a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(d,b){this.element=a(b).data(this.widgetName,this);this.options=a.extend(true,{},this.options,a.metadata&&a.metadata.get(b)[this.widgetName],d);var f=this;this.element.bind("remove."+this.widgetName,function(){f.destroy()});this._create();
this._init()},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled")},widget:function(){return this.element},option:function(d,b){var f=d,g=this;if(arguments.length===0)return a.extend({},g.options);if(typeof d==="string"){if(b===undefined)return this.options[d];f={};f[d]=b}a.each(f,
function(h,m){g._setOption(h,m)});return g},_setOption:function(d,b){this.options[d]=b;if(d==="disabled")this.widget()[b?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",b);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(d,b,f){var g=this.options[d];b=a.Event(b);b.type=(d===this.widgetEventPrefix?d:this.widgetEventPrefix+d).toLowerCase();
f=f||{};if(b.originalEvent){d=a.event.props.length;for(var h;d;){h=a.event.props[--d];b[h]=b.originalEvent[h]}}this.element.trigger(b,f);return!(a.isFunction(g)&&g.call(this.element[0],b,f)===false||b.isDefaultPrevented())}}})(jQuery);
(function(a){a.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var c=this;this.element.bind("mousedown."+this.widgetName,function(d){return c._mouseDown(d)}).bind("click."+this.widgetName,function(d){if(c._preventClickEvent){c._preventClickEvent=false;d.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(c){c.originalEvent=c.originalEvent||{};if(!c.originalEvent.mouseHandled){this._mouseStarted&&
this._mouseUp(c);this._mouseDownEvent=c;var d=this,b=c.which==1,f=typeof this.options.cancel=="string"?a(c.target).parents().add(c.target).filter(this.options.cancel).length:false;if(!b||f||!this._mouseCapture(c))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){d.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(c)&&this._mouseDelayMet(c)){this._mouseStarted=this._mouseStart(c)!==false;if(!this._mouseStarted){c.preventDefault();
return true}}this._mouseMoveDelegate=function(g){return d._mouseMove(g)};this._mouseUpDelegate=function(g){return d._mouseUp(g)};a(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);a.browser.safari||c.preventDefault();return c.originalEvent.mouseHandled=true}},_mouseMove:function(c){if(a.browser.msie&&!c.button)return this._mouseUp(c);if(this._mouseStarted){this._mouseDrag(c);return c.preventDefault()}if(this._mouseDistanceMet(c)&&
this._mouseDelayMet(c))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,c)!==false)?this._mouseDrag(c):this._mouseUp(c);return!this._mouseStarted},_mouseUp:function(c){a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=c.target==this._mouseDownEvent.target;this._mouseStop(c)}return false},_mouseDistanceMet:function(c){return Math.max(Math.abs(this._mouseDownEvent.pageX-
c.pageX),Math.abs(this._mouseDownEvent.pageY-c.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery);
(function(a){a.widget("ui.slider",a.ui.mouse,{widgetEventPrefix:"slide",options:{animate:false,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null},_create:function(){var c=this,d=this.options;this._mouseSliding=this._keySliding=false;this._animateOff=true;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all");d.disabled&&this.element.addClass("ui-slider-disabled ui-disabled");
this.range=a([]);if(d.range){if(d.range===true){this.range=a("<div></div>");if(!d.values)d.values=[this._valueMin(),this._valueMin()];if(d.values.length&&d.values.length!=2)d.values=[d.values[0],d.values[0]]}else this.range=a("<div></div>");this.range.appendTo(this.element).addClass("ui-slider-range");if(d.range=="min"||d.range=="max")this.range.addClass("ui-slider-range-"+d.range);this.range.addClass("ui-widget-header")}a(".ui-slider-handle",this.element).length==0&&a('<a href="#"></a>').appendTo(this.element).addClass("ui-slider-handle");
if(d.values&&d.values.length)for(;a(".ui-slider-handle",this.element).length<d.values.length;)a('<a href="#"></a>').appendTo(this.element).addClass("ui-slider-handle");this.handles=a(".ui-slider-handle",this.element).addClass("ui-state-default ui-corner-all");this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(b){b.preventDefault()}).hover(function(){d.disabled||a(this).addClass("ui-state-hover")},function(){a(this).removeClass("ui-state-hover")}).focus(function(){if(d.disabled)a(this).blur();
else{a(".ui-slider .ui-state-focus").removeClass("ui-state-focus");a(this).addClass("ui-state-focus")}}).blur(function(){a(this).removeClass("ui-state-focus")});this.handles.each(function(b){a(this).data("index.ui-slider-handle",b)});this.handles.keydown(function(b){var f=true,g=a(this).data("index.ui-slider-handle");if(!c.options.disabled){switch(b.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.PAGE_UP:case a.ui.keyCode.PAGE_DOWN:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:f=
false;if(!c._keySliding){c._keySliding=true;a(this).addClass("ui-state-active");c._start(b,g)}}var h,m,o=c._step();h=c.options.values&&c.options.values.length?m=c.values(g):m=c.value();switch(b.keyCode){case a.ui.keyCode.HOME:m=c._valueMin();break;case a.ui.keyCode.END:m=c._valueMax();break;case a.ui.keyCode.PAGE_UP:m=h+(c._valueMax()-c._valueMin())/5;break;case a.ui.keyCode.PAGE_DOWN:m=h-(c._valueMax()-c._valueMin())/5;break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(h==c._valueMax())return;
m=h+o;break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(h==c._valueMin())return;m=h-o}c._slide(b,g,m);return f}}).keyup(function(b){var f=a(this).data("index.ui-slider-handle");if(c._keySliding){c._keySliding=false;c._stop(b,f);c._change(b,f);a(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");
this._mouseDestroy();return this},_mouseCapture:function(c){var d=this.options;if(d.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();var b={x:c.pageX,y:c.pageY},f=this._normValueFromMouse(b),g=this._valueMax()-this._valueMin()+1,h,m=this,o;this.handles.each(function(q){var u=Math.abs(f-m.values(q));if(g>u){g=u;h=a(this);o=q}});if(d.range==true&&this.values(1)==d.min)h=a(this.handles[++o]);this._start(c,
o);this._mouseSliding=true;m._handleIndex=o;h.addClass("ui-state-active").focus();d=h.offset();this._clickOffset=!a(c.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:c.pageX-d.left-h.width()/2,top:c.pageY-d.top-h.height()/2-(parseInt(h.css("borderTopWidth"),10)||0)-(parseInt(h.css("borderBottomWidth"),10)||0)+(parseInt(h.css("marginTop"),10)||0)};f=this._normValueFromMouse(b);this._slide(c,o,f);return this._animateOff=true},_mouseStart:function(){return true},_mouseDrag:function(c){var d=
this._normValueFromMouse({x:c.pageX,y:c.pageY});this._slide(c,this._handleIndex,d);return false},_mouseStop:function(c){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(c,this._handleIndex);this._change(c,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation=="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(c){var d;if("horizontal"==this.orientation){d=
this.elementSize.width;c=c.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{d=this.elementSize.height;c=c.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}d=c/d;if(d>1)d=1;if(d<0)d=0;if("vertical"==this.orientation)d=1-d;c=this._valueMax()-this._valueMin();c=d*c;d=c%this.options.step;c=this._valueMin()+c-d;if(d>this.options.step/2)c+=this.options.step;return parseFloat(c.toFixed(5))},_start:function(c,d){var b={handle:this.handles[d],value:this.value()};
if(this.options.values&&this.options.values.length){b.value=this.values(d);b.values=this.values()}this._trigger("start",c,b)},_slide:function(c,d,b){if(this.options.values&&this.options.values.length){var f=this.values(d?0:1);if(this.options.values.length==2&&this.options.range===true&&(d==0&&b>f||d==1&&b<f))b=f;if(b!=this.values(d)){f=this.values();f[d]=b;c=this._trigger("slide",c,{handle:this.handles[d],value:b,values:f});this.values(d?0:1);c!==false&&this.values(d,b,true)}}else if(b!=this.value()){c=
this._trigger("slide",c,{handle:this.handles[d],value:b});c!==false&&this.value(b)}},_stop:function(c,d){var b={handle:this.handles[d],value:this.value()};if(this.options.values&&this.options.values.length){b.value=this.values(d);b.values=this.values()}this._trigger("stop",c,b)},_change:function(c,d){if(!this._keySliding&&!this._mouseSliding){var b={handle:this.handles[d],value:this.value()};if(this.options.values&&this.options.values.length){b.value=this.values(d);b.values=this.values()}this._trigger("change",
c,b)}},value:function(c){if(arguments.length){this.options.value=this._trimValue(c);this._refreshValue();this._change(null,0)}return this._value()},values:function(c,d){if(arguments.length>1){this.options.values[c]=this._trimValue(d);this._refreshValue();this._change(null,c)}if(arguments.length)if(a.isArray(arguments[0])){for(var b=this.options.values,f=arguments[0],g=0,h=b.length;g<h;g++){b[g]=this._trimValue(f[g]);this._change(null,g)}this._refreshValue()}else return this.options.values&&this.options.values.length?
this._values(c):this.value();else return this._values()},_setOption:function(c,d){var b,f=0;if(jQuery.isArray(this.options.values))f=this.options.values.length;a.Widget.prototype._setOption.apply(this,arguments);switch(c){case "disabled":if(d){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.attr("disabled","disabled");this.element.addClass("ui-disabled")}else{this.handles.removeAttr("disabled");this.element.removeClass("ui-disabled")}case "orientation":this._detectOrientation();
this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue();break;case "value":this._animateOff=true;this._refreshValue();this._change(null,0);this._animateOff=false;break;case "values":this._animateOff=true;this._refreshValue();for(b=0;b<f;b++)this._change(null,b);this._animateOff=false}},_step:function(){return this.options.step},_value:function(){var c=this.options.value;return c=this._trimValue(c)},_values:function(c){if(arguments.length){var d=
this.options.values[c];return d=this._trimValue(d)}else{d=this.options.values.slice();for(var b=0,f=d.length;b<f;b++)d[b]=this._trimValue(d[b]);return d}},_trimValue:function(c){if(c<this._valueMin())c=this._valueMin();if(c>this._valueMax())c=this._valueMax();return c},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var c=this.options.range,d=this.options,b=this,f=!this._animateOff?d.animate:false;if(this.options.values&&this.options.values.length)this.handles.each(function(o){var q=
(b.values(o)-b._valueMin())/(b._valueMax()-b._valueMin())*100,u={};u[b.orientation=="horizontal"?"left":"bottom"]=q+"%";a(this).stop(1,1)[f?"animate":"css"](u,d.animate);if(b.options.range===true)if(b.orientation=="horizontal"){o==0&&b.range.stop(1,1)[f?"animate":"css"]({left:q+"%"},d.animate);o==1&&b.range[f?"animate":"css"]({width:q-lastValPercent+"%"},{queue:false,duration:d.animate})}else{o==0&&b.range.stop(1,1)[f?"animate":"css"]({bottom:q+"%"},d.animate);o==1&&b.range[f?"animate":"css"]({height:q-
lastValPercent+"%"},{queue:false,duration:d.animate})}lastValPercent=q});else{var g=this.value(),h=this._valueMin(),m=this._valueMax();g=m!=h?(g-h)/(m-h)*100:0;h={};h[b.orientation=="horizontal"?"left":"bottom"]=g+"%";this.handle.stop(1,1)[f?"animate":"css"](h,d.animate);c=="min"&&this.orientation=="horizontal"&&this.range.stop(1,1)[f?"animate":"css"]({width:g+"%"},d.animate);c=="max"&&this.orientation=="horizontal"&&this.range[f?"animate":"css"]({width:100-g+"%"},{queue:false,duration:d.animate});
c=="min"&&this.orientation=="vertical"&&this.range.stop(1,1)[f?"animate":"css"]({height:g+"%"},d.animate);c=="max"&&this.orientation=="vertical"&&this.range[f?"animate":"css"]({height:100-g+"%"},{queue:false,duration:d.animate})}}});a.extend(a.ui.slider,{version:"1.8"})})(jQuery);
new function(a){a.fn.placeholder=function(c){c=c||{};var d=c.dataKey||"placeholderValue",b=c.attr||"placeholder",f=c.className||"placeholder",g=c.values||[],h=c.blockSubmit||false,m=c.blankSubmit||false,o=c.onSubmit||false,q=c.value||"",u=c.cursor_position||0;return this.filter(":input").each(function(w){a.data(this,d,g[w]||a(this).attr(b))}).each(function(){a.trim(a(this).val())===""&&a(this).addClass(f).val(a.data(this,d))}).focus(function(){a.trim(a(this).val())===a.data(this,d)&&a(this).removeClass(f).val(q);
a.fn.setCursorPosition&&a(this).setCursorPosition(u)}).blur(function(){a.trim(a(this).val())===q&&a(this).addClass(f).val(a.data(this,d))}).each(function(w,A){if(h)new function(H){a(H.form).submit(function(){return a.trim(a(H).val())!=a.data(H,d)})}(A);else if(m)new function(H){a(H.form).submit(function(){a.trim(a(H).val())==a.data(H,d)&&a(H).removeClass(f).val("");return true})}(A);else o&&new function(H){a(H.form).submit(o)}(A)})}}(jQuery);
window.Modernizr=function(a,c,d){function b(){m.input=function(D){for(var J=0,P=D.length;J<P;J++)T[D[J]]=!!(D[J]in A);return T}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" "));m.inputtypes=function(D){for(var J=0,P,ha,na,va=D.length;J<va;J++){A.setAttribute("type",ha=D[J]);(P=A.type!=="text")&&(A.value=H,A.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(ha)&&A.style.WebkitAppearance!==d?(o.appendChild(A),na=c.defaultView,P=na.getComputedStyle&&
na.getComputedStyle(A,null).WebkitAppearance!=="textfield"&&A.offsetHeight!==0,o.removeChild(A)):/^(search|tel)$/.test(ha)||(/^(url|email)$/.test(ha)?P=A.checkValidity&&A.checkValidity()===false:/^color$/.test(ha)?(o.appendChild(A),P=A.value!=H,o.removeChild(A)):P=A.value!=H));B[D[J]]=!!P}return B}("search tel url email datetime date month week time datetime-local number range color".split(" "))}function f(D,J){var P=D.charAt(0).toUpperCase()+D.substr(1);P=(D+" "+E.join(P+" ")+P).split(" ");return!!g(P,
J)}function g(D,J){for(var P in D)if(w[D[P]]!==d&&(!J||J(D[P],u)))return true}function h(D,J){return typeof D===J}var m={},o=c.documentElement,q=c.head||c.getElementsByTagName("head")[0],u=c.createElement("modernizr"),w=u.style,A=c.createElement("input"),H=":)",K=Object.prototype.toString,L=" -webkit- -moz- -o- -ms- -khtml- ".split(" "),E="Webkit Moz O ms Khtml".split(" "),O={svg:"http://www.w3.org/2000/svg"},I={},B={},T={},ea=[],W,M=function(D){var J=c.createElement("style"),P=c.createElement("div");
J.textContent=D+"{#modernizr{height:3px}}";q.appendChild(J);P.id="modernizr";o.appendChild(P);D=P.offsetHeight===3;J.parentNode.removeChild(J);P.parentNode.removeChild(P);return!!D},r=function(){var D={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return function(J,P){P=P||c.createElement(D[J]||"div");var ha=(J="on"+J)in P;ha||(P.setAttribute||(P=c.createElement("div")),P.setAttribute&&P.removeAttribute&&(P.setAttribute(J,""),ha=h(P[J],"function"),h(P[J],
d)||(P[J]=d),P.removeAttribute(J)));return ha}}(),ta={}.hasOwnProperty,ia;h(ta,d)||h(ta.call,d)?ia=function(D,J){return J in D&&h(D.constructor.prototype[J],d)}:ia=function(D,J){return ta.call(D,J)};I.flexbox=function(){var D=c.createElement("div"),J=c.createElement("div");(function(ha,na,va,Ca){na+=":";ha.style.cssText=(na+L.join(va+";"+na)).slice(0,-na.length)+(Ca||"")})(D,"display","box","width:42px;padding:0;");J.style.cssText=L.join("box-flex:1;")+"width:10px;";D.appendChild(J);o.appendChild(D);
var P=J.offsetWidth===42;D.removeChild(J);o.removeChild(D);return P};I.canvas=function(){var D=c.createElement("canvas");return D.getContext&&D.getContext("2d")};I.canvastext=function(){return m.canvas&&h(c.createElement("canvas").getContext("2d").fillText,"function")};I.webgl=function(){return!!a.WebGLRenderingContext};I.touch=function(){return"ontouchstart"in a||M("@media ("+L.join("touch-enabled),(")+"modernizr)")};I.geolocation=function(){return!!navigator.geolocation};I.postmessage=function(){return!!a.postMessage};
I.websqldatabase=function(){return!!a.openDatabase};I.indexedDB=function(){for(var D=-1,J=E.length;++D<J;){var P=E[D].toLowerCase();if(a[P+"_indexedDB"]||a[P+"IndexedDB"])return true}return false};I.hashchange=function(){return r("hashchange",a)&&(c.documentMode===d||c.documentMode>7)};I.history=function(){return!!(a.history&&history.pushState)};I.draganddrop=function(){return r("dragstart")&&r("drop")};I.websockets=function(){return"WebSocket"in a};I.rgba=function(){w.cssText="background-color:rgba(150,255,150,.5)";
return(""+w.backgroundColor).indexOf("rgba")!==-1};I.hsla=function(){w.cssText="background-color:hsla(120,40%,100%,.5)";return(""+w.backgroundColor).indexOf("rgba")!==-1||(""+w.backgroundColor).indexOf("hsla")!==-1};I.multiplebgs=function(){w.cssText="background:url(//:),url(//:),red url(//:)";return/(url\s*\(.*?){3}/.test(w.background)};I.backgroundsize=function(){return f("backgroundSize")};I.borderimage=function(){return f("borderImage")};I.borderradius=function(){return f("borderRadius","",function(D){return(""+
D).indexOf("orderRadius")!==-1})};I.boxshadow=function(){return f("boxShadow")};I.textshadow=function(){return c.createElement("div").style.textShadow===""};I.opacity=function(){var D=L.join("opacity:.55;")+"";w.cssText=D;return/^0.55$/.test(w.opacity)};I.cssanimations=function(){return f("animationName")};I.csscolumns=function(){return f("columnCount")};I.cssgradients=function(){var D=("background-image:"+L.join("gradient(linear,left top,right bottom,from(#9f9),to(white));background-image:")+L.join("linear-gradient(left top,#9f9, white);background-image:")).slice(0,
-17);w.cssText=D;return(""+w.backgroundImage).indexOf("gradient")!==-1};I.cssreflections=function(){return f("boxReflect")};I.csstransforms=function(){return!!g(["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"])};I.csstransforms3d=function(){var D=!!g(["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]);D&&"webkitPerspective"in o.style&&(D=M("@media ("+L.join("transform-3d),(")+"modernizr)"));return D};I.csstransitions=function(){return f("transitionProperty")};
I.fontface=function(){var D,J,P=q||o,ha=c.createElement("style");J=c.implementation||{hasFeature:function(){return false}};ha.type="text/css";P.insertBefore(ha,P.firstChild);D=ha.sheet||ha.styleSheet;J=(J.hasFeature("CSS2","")?function(na){if(!D||!na)return false;var va=false;try{D.insertRule(na,0);va=/src/i.test(D.cssRules[0].cssText);D.deleteRule(D.cssRules.length-1)}catch(Ca){}return va}:function(na){if(!D||!na)return false;D.cssText=na;return D.cssText.length!==0&&/src/i.test(D.cssText)&&D.cssText.replace(/\r+|\n+/g,
"").indexOf(na.split(" ")[0])===0})('@font-face { font-family: "font"; src: url(data:,); }');P.removeChild(ha);return J};I.video=function(){var D=c.createElement("video"),J=!!D.canPlayType;if(J){J=new Boolean(J);J.ogg=D.canPlayType('video/ogg; codecs="theora"');J.h264=D.canPlayType('video/mp4; codecs="avc1.42E01E"')||D.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"');J.webm=D.canPlayType('video/webm; codecs="vp8, vorbis"')}return J};I.audio=function(){var D=c.createElement("audio"),J=!!D.canPlayType;
J&&(J=new Boolean(J),J.ogg=D.canPlayType('audio/ogg; codecs="vorbis"'),J.mp3=D.canPlayType("audio/mpeg;"),J.wav=D.canPlayType('audio/wav; codecs="1"'),J.m4a=D.canPlayType("audio/x-m4a;")||D.canPlayType("audio/aac;"));return J};I.localstorage=function(){try{return!!localStorage.getItem}catch(D){return false}};I.sessionstorage=function(){try{return!!sessionStorage.getItem}catch(D){return false}};I.webWorkers=function(){return!!a.Worker};I.applicationcache=function(){return!!a.applicationCache};I.svg=
function(){return!!c.createElementNS&&!!c.createElementNS(O.svg,"svg").createSVGRect};I.inlinesvg=function(){var D=c.createElement("div");D.innerHTML="<svg/>";return(D.firstChild&&D.firstChild.namespaceURI)==O.svg};I.smil=function(){return!!c.createElementNS&&/SVG/.test(K.call(c.createElementNS(O.svg,"animate")))};I.svgclippaths=function(){return!!c.createElementNS&&/SVG/.test(K.call(c.createElementNS(O.svg,"clipPath")))};for(var y in I)ia(I,y)&&(W=y.toLowerCase(),m[W]=I[y](),ea.push((m[W]?"":"no-")+
W));m.input||b();m.crosswindowmessaging=m.postmessage;m.historymanagement=m.history;m.addTest=function(D,J){D=D.toLowerCase();if(!m[D]){J=!!J();o.className+=" "+(J?"":"no-")+D;m[D]=J;return m}};w.cssText="";u=A=null;a.attachEvent&&function(){var D=c.createElement("div");D.innerHTML="<elem></elem>";return D.childNodes.length!==1}()&&function(D,J){function P(ma,la){for(var ua=-1,ra=ma.length,Ea,Fa=[];++ua<ra;){Ea=ma[ua];(la=Ea.media||la)!="screen"&&Fa.push(P(Ea.imports,la),Ea.cssText)}return Fa.join("")}
function ha(ma){for(var la=-1;++la<va;)ma.createElement(na[la])}var na="abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video".split("|"),va=na.length,Ca=RegExp("(^|\\s)(abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video)","gi"),Ja=RegExp("<(/*)(abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video)",
"gi"),ya=RegExp("(^|[^\\n]*?\\s)(abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video)([^\\n]*)({[\\n\\w\\W]*?})","gi"),Qa=J.createDocumentFragment(),Oa=J.documentElement,oa=Oa.firstChild,Y=J.createElement("body"),ba=J.createElement("style"),ga;ha(J);ha(Qa);oa.insertBefore(ba,oa.firstChild);ba.media="print";D.attachEvent("onbeforeprint",function(){var ma=-1,la=P(J.styleSheets,"all"),ua=[],ra;for(ga=ga||J.body;(ra=
ya.exec(la))!=null;)ua.push((ra[1]+ra[2]+ra[3]).replace(Ca,"$1.iepp_$2")+ra[4]);for(ba.styleSheet.cssText=ua.join("\n");++ma<va;){la=J.getElementsByTagName(na[ma]);ua=la.length;for(ra=-1;++ra<ua;)la[ra].className.indexOf("iepp_")<0&&(la[ra].className+=" iepp_"+na[ma])}Qa.appendChild(ga);Oa.appendChild(Y);Y.className=ga.className;Y.innerHTML=ga.innerHTML.replace(Ja,"<$1font")});D.attachEvent("onafterprint",function(){Y.innerHTML="";Oa.removeChild(Y);Oa.appendChild(ga);ba.styleSheet.cssText=""})}(a,
c);m._enableHTML5=true;m._version="1.7";o.className=o.className.replace(/\bno-js\b/,"")+" js "+ea.join(" ");return m}(this,this.document);
if(jQuery.browser.msie&&jQuery.browser.version.substr(0,1)=="6"){window.DD_belatedPNG={ns:"DD_belatedPNG",imgSize:{},createVmlNameSpace:function(){document.namespaces&&!document.namespaces[this.ns]&&document.namespaces.add(this.ns,"urn:schemas-microsoft-com:vml");window.attachEvent&&window.attachEvent("onbeforeunload",function(){DD_belatedPNG=null})},createVmlStyleSheet:function(){var a=document.createElement("style");document.documentElement.firstChild.insertBefore(a,document.documentElement.firstChild.firstChild);
a=a.styleSheet;a.addRule(this.ns+"\\:*","{behavior:url(#default#VML)}");a.addRule(this.ns+"\\:shape","position:absolute;");a.addRule("img."+this.ns+"_sizeFinder","behavior:none; border:none; position:absolute; z-index:-1; top:-10000px; visibility:hidden;");this.styleSheet=a},readPropertyChange:function(){var a=event.srcElement;if(event.propertyName.search("background")!=-1||event.propertyName.search("border")!=-1)DD_belatedPNG.applyVML(a);if(event.propertyName=="style.display"){var c=a.currentStyle.display==
"none"?"none":"block",d;for(d in a.vml)a.vml[d].shape.style.display=c}event.propertyName.search("filter")!=-1&&DD_belatedPNG.vmlOpacity(a)},vmlOpacity:function(a){if(a.currentStyle.filter.search("lpha")!=-1){var c=a.currentStyle.filter;c=parseInt(c.substring(c.lastIndexOf("=")+1,c.lastIndexOf(")")),10)/100;a.vml.color.shape.style.filter=a.currentStyle.filter;a.vml.image.fill.opacity=c}},handlePseudoHover:function(a){setTimeout(function(){try{DD_belatedPNG.applyVML(a)}catch(c){s2.Logger.debug("Problem in DD_belatedPNG.applyVML "+
c)}},1)},fix:function(a){a=a.split(",");for(var c=0;c<a.length;c++)this.styleSheet.addRule(a[c],"behavior:expression(globalFixPng(this) )")},applyVML:function(a){a.runtimeStyle.cssText="";this.vmlFill(a);this.vmlOffsets(a);this.vmlOpacity(a);a.isImg&&this.copyImageBorders(a)},attachHandlers:function(a){var c=this,d={resize:"vmlOffsets",move:"vmlOffsets"};if(a.nodeName=="A"){var b={mouseleave:"handlePseudoHover",mouseenter:"handlePseudoHover",focus:"handlePseudoHover",blur:"handlePseudoHover"},f;for(f in b)d[f]=
b[f]}for(var g in d)a.attachEvent("on"+g,function(){c[d[g]](a)});a.attachEvent("onpropertychange",this.readPropertyChange)},giveLayout:function(a){a.style.zoom=1;if(a.currentStyle.position=="static")a.style.position="relative"},copyImageBorders:function(a){var c={borderStyle:true,borderWidth:true,borderColor:true},d;for(d in c)a.vml.color.shape.style[d]=a.currentStyle[d]},vmlFill:function(a){if(a.currentStyle){var c=a.currentStyle,d;for(d in a.vml)a.vml[d].shape.style.zIndex=c.zIndex;a.runtimeStyle.backgroundColor=
"";a.runtimeStyle.backgroundImage="";d=true;if(c.backgroundImage!="none"||a.isImg){if(a.isImg)a.vmlBg=a.src;else{a.vmlBg=c.backgroundImage;a.vmlBg=a.vmlBg.substr(5,a.vmlBg.lastIndexOf('")')-5)}var b=this;if(!b.imgSize[a.vmlBg]){d=document.createElement("img");b.imgSize[a.vmlBg]=d;d.className=b.ns+"_sizeFinder";d.runtimeStyle.cssText="behavior:none; position:absolute; left:-10000px; top:-10000px; border:none;";d.attachEvent("onload",function(){this.width=this.offsetWidth;this.height=this.offsetHeight;
b.vmlOffsets(a)});d.src=a.vmlBg;d.removeAttribute("width");d.removeAttribute("height");document.body.insertBefore(d,document.body.firstChild)}a.vml.image.fill.src=a.vmlBg;d=false}a.vml.image.fill.on=!d;a.vml.image.fill.color="none";a.vml.color.shape.style.backgroundColor=c.backgroundColor;a.runtimeStyle.backgroundImage="none";a.runtimeStyle.backgroundColor="transparent"}},vmlOffsets:function(a){var c=a.currentStyle,d={W:a.clientWidth+1,H:a.clientHeight+1,w:this.imgSize[a.vmlBg].width,h:this.imgSize[a.vmlBg].height,
L:a.offsetLeft,T:a.offsetTop,bLW:a.clientLeft,bTW:a.clientTop},b=d.L+d.bLW==1?1:0,f=function(m,o,q,u,w,A){m.coordsize=u+","+w;m.coordorigin=A+","+A;m.path="m0,0l"+u+",0l"+u+","+w+"l0,"+w+" xe";m.style.width=u+"px";m.style.height=w+"px";m.style.left=o+"px";m.style.top=q+"px"};f(a.vml.color.shape,d.L+(a.isImg?0:d.bLW),d.T+(a.isImg?0:d.bTW),d.W-1,d.H-1,0);f(a.vml.image.shape,d.L+d.bLW,d.T+d.bTW,d.W,d.H,1);var g={X:0,Y:0};f=function(m,o){var q=true;switch(o){case "left":case "top":g[m]=0;break;case "center":g[m]=
0.5;break;case "right":case "bottom":g[m]=1;break;default:if(o.search("%")!=-1)g[m]=parseInt(o)*0.01;else q=false}var u=m=="X";g[m]=Math.ceil(q?d[u?"W":"H"]*g[m]-d[u?"w":"h"]*g[m]:parseInt(o));g[m]==0&&g[m]++};for(var h in g)f(h,c["backgroundPosition"+h]);a.vml.image.fill.position=g.X/d.W+","+g.Y/d.H;h=c.backgroundRepeat;f={T:1,R:d.W+b,B:d.H,L:1+b};c={X:{b1:"L",b2:"R",d:"W"},Y:{b1:"T",b2:"B",d:"H"}};if(h!="repeat"){f={T:g.Y,R:g.X+d.w,B:g.Y+d.h,L:g.X};if(h.search("repeat-")!=-1){h=h.split("repeat-")[1].toUpperCase();
f[c[h].b1]=1;f[c[h].b2]=d[c[h].d]}if(f.B>d.H)f.B=d.H;a.vml.image.shape.style.clip="rect("+f.T+"px "+(f.R+b)+"px "+f.B+"px "+(f.L+b)+"px)"}else a.vml.image.shape.style.clip="rect("+f.T+"px "+f.R+"px "+f.B+"px "+f.L+"px)"},fixPng:function(a){a.style.behavior="none";if(!(a.nodeName=="BODY"||a.nodeName=="TD"||a.nodeName=="TR")){a.isImg=false;if(a.nodeName=="IMG")if(a.src.toLowerCase().search(/\.png$/)!=-1){a.isImg=true;a.style.visibility="hidden"}else return;else if(a.currentStyle.backgroundImage.toLowerCase().search(".png")==
-1)return;var c=DD_belatedPNG;a.vml={color:{},image:{}};var d={shape:{},fill:{}},b;for(b in a.vml){for(var f in d)a.vml[b][f]=document.createElement(c.ns+":"+f);a.vml[b].shape.stroked=false;a.vml[b].shape.appendChild(a.vml[b].fill);a.parentNode.insertBefore(a.vml[b].shape,a)}a.vml.image.shape.fillcolor="none";a.vml.image.fill.type="tile";a.vml.color.fill.on=false;c.attachHandlers(a);c.giveLayout(a);c.giveLayout(a.offsetParent);c.applyVML(a)}}};try{document.execCommand("BackgroundImageCache",false,
true)}catch(r$$15){}DD_belatedPNG.createVmlNameSpace();DD_belatedPNG.createVmlStyleSheet()}function globalFixPng(a){DD_belatedPNG&&DD_belatedPNG.fixPng(a)}
(function(a){var c=new function(){var d=this;d.tags={async:[],sync:[]};d.createTag=function(b){if(b.code)return'<script type="text/javascript">'+b.code+"<\/script>";if(b.url){b.url=b.url.replace(/\[zeitstempel\]/ig,Math.random());return'<script type="text/javascript" src="'+b.url+'"><\/script>'}};d.writeSyncTags=function(){d.getMementooTag();d.getPartnerMementooTag();d.tags.sync.length&&$(document).ready(function(){$.cachedFind("body").append(d.tags.sync.join(""))})};d.appendAsyncTags=function(){d.getGoogleRemarketingTag();
d.tags.async.length&&document.write(d.tags.async.join(""))};d.getMementooTag=function(){!location.href.match(/select\.aspx/i)&&!location.href.match(/seats\.aspx/i)&&!location.href.match(/extras\.aspx/i)&&!location.href.match(/contactpayment\.aspx/i)&&!location.href.match(/wait\.aspx/i)&&!location.href.match(/itinerary\.aspx/i)&&d.addSyncTag({url:"https://trk.newtention.net/trk?rt=1&ti=1976&cs=8727&cpi=&pi=&rpi=&ts=[zeitstempel]"})};d.getGoogleRemarketingTag=function(){if(!location.href.match(/itinerary\.aspx/i)){d.addAsyncTag({code:'var google_conversion_id = 1018465411;var google_conversion_language = "en";var google_conversion_format = "3";var google_conversion_color = "666666";var google_conversion_label = "bFl3CO3IigIQg5nS5QM";var google_conversion_value = 0;'});
d.addAsyncTag({url:"https://www.googleadservices.com/pagead/conversion.js"})}};d.getPartnerMementooTag=function(){$.cachedFind("body.de-DE").length!=0&&$.cachedFind("body#home").length!=0&&d.addAsyncTag({url:"https://trk.newtention.net/trk?rt=1&ti=2442&cs=8593&ts=[zeitstempel]"})};d.addAsyncTag=function(b){d.tags.async.push(d.createTag(b))};d.addSyncTag=function(b){d.tags.sync.push(d.createTag(b))};d.addFlashAdOfferWithImage=function(){if($.cachedFind("body.de-DE").length!=0){var b=d.createTag({url:"https://ads.newtention.net/ads?rt=2&et=1&bi=64346&se=m&cs=2590&ts=[zeitstempel]"});
document.write(b)}};d.addFlashAdOfferList=function(){if($.cachedFind("body.de-DE").length!=0){var b=d.createTag({url:"https://ads.newtention.net/ads?rt=2&et=1&bi=64345&se=m&cs=101&ts=[zeitstempel]"});document.write(b)}};d.run=function(){d.writeSyncTags();d.appendAsyncTags()}};a.addFlashAdOfferWithImage=function(){c.addFlashAdOfferWithImage()};a.addFlashAdOfferList=function(){c.addFlashAdOfferList()};a.writeNewtentionTag=function(){c.run()}})(this);
var swfobject=function(){function a(){if(!Ca){try{var Y=M.getElementsByTagName("body")[0].appendChild(M.createElement("span"));Y.parentNode.removeChild(Y)}catch(ba){return}Ca=true;Y=ia.length;for(var ga=0;ga<Y;ga++)ia[ga]()}}function c(Y){if(Ca)Y();else ia[ia.length]=Y}function d(Y){if(typeof W.addEventListener!=I)W.addEventListener("load",Y,false);else if(typeof M.addEventListener!=I)M.addEventListener("load",Y,false);else if(typeof W.attachEvent!=I)H(W,"onload",Y);else if(typeof W.onload=="function"){var ba=
W.onload;W.onload=function(){ba();Y()}}else W.onload=Y}function b(){var Y=M.getElementsByTagName("body")[0],ba=M.createElement(B);ba.setAttribute("type",T);var ga=Y.appendChild(ba);if(ga){var ma=0;(function(){if(typeof ga.GetVariable!=I){var la=ga.GetVariable("$version");if(la){la=la.split(" ")[1].split(",");oa.pv=[parseInt(la[0],10),parseInt(la[1],10),parseInt(la[2],10)]}}else if(ma<10){ma++;setTimeout(arguments.callee,10);return}Y.removeChild(ba);ga=null;f()})()}else f()}function f(){var Y=y.length;
if(Y>0)for(var ba=0;ba<Y;ba++){var ga=y[ba].id,ma=y[ba].callbackFn,la={success:false,id:ga};if(oa.pv[0]>0){var ua=A(ga);if(ua)if(K(y[ba].swfVersion)&&!(oa.wk&&oa.wk<312)){E(ga,true);if(ma){la.success=true;la.ref=g(ga);ma(la)}}else if(y[ba].expressInstall&&h()){la={};la.data=y[ba].expressInstall;la.width=ua.getAttribute("width")||"0";la.height=ua.getAttribute("height")||"0";if(ua.getAttribute("class"))la.styleclass=ua.getAttribute("class");if(ua.getAttribute("align"))la.align=ua.getAttribute("align");
var ra={};ua=ua.getElementsByTagName("param");for(var Ea=ua.length,Fa=0;Fa<Ea;Fa++)if(ua[Fa].getAttribute("name").toLowerCase()!="movie")ra[ua[Fa].getAttribute("name")]=ua[Fa].getAttribute("value");m(la,ra,ga,ma)}else{o(ua);ma&&ma(la)}}else{E(ga,true);if(ma){if((ga=g(ga))&&typeof ga.SetVariable!=I){la.success=true;la.ref=ga}ma(la)}}}}function g(Y){var ba=null;if((Y=A(Y))&&Y.nodeName=="OBJECT")if(typeof Y.SetVariable!=I)ba=Y;else if(Y=Y.getElementsByTagName(B)[0])ba=Y;return ba}function h(){return!Ja&&
K("6.0.65")&&(oa.win||oa.mac)&&!(oa.wk&&oa.wk<312)}function m(Y,ba,ga,ma){Ja=true;na=ma||null;va={success:false,id:ga};var la=A(ga);if(la){if(la.nodeName=="OBJECT"){P=q(la);ha=null}else{P=la;ha=ga}Y.id=ea;if(typeof Y.width==I||!/%$/.test(Y.width)&&parseInt(Y.width,10)<310)Y.width="310";if(typeof Y.height==I||!/%$/.test(Y.height)&&parseInt(Y.height,10)<137)Y.height="137";M.title=M.title.slice(0,47)+" - Flash Player Installation";ma=oa.ie&&oa.win?"ActiveX":"PlugIn";ma="MMredirectURL="+W.location.toString().replace(/&/g,
"%26")+"&MMplayerType="+ma+"&MMdoctitle="+M.title;if(typeof ba.flashvars!=I)ba.flashvars+="&"+ma;else ba.flashvars=ma;if(oa.ie&&oa.win&&la.readyState!=4){ma=M.createElement("div");ga+="SWFObjectNew";ma.setAttribute("id",ga);la.parentNode.insertBefore(ma,la);la.style.display="none";(function(){la.readyState==4?la.parentNode.removeChild(la):setTimeout(arguments.callee,10)})()}u(Y,ba,ga)}}function o(Y){if(oa.ie&&oa.win&&Y.readyState!=4){var ba=M.createElement("div");Y.parentNode.insertBefore(ba,Y);ba.parentNode.replaceChild(q(Y),
ba);Y.style.display="none";(function(){Y.readyState==4?Y.parentNode.removeChild(Y):setTimeout(arguments.callee,10)})()}else Y.parentNode.replaceChild(q(Y),Y)}function q(Y){var ba=M.createElement("div");if(oa.win&&oa.ie)ba.innerHTML=Y.innerHTML;else if(Y=Y.getElementsByTagName(B)[0])if(Y=Y.childNodes)for(var ga=Y.length,ma=0;ma<ga;ma++)!(Y[ma].nodeType==1&&Y[ma].nodeName=="PARAM")&&Y[ma].nodeType!=8&&ba.appendChild(Y[ma].cloneNode(true));return ba}function u(Y,ba,ga){var ma,la=A(ga);if(oa.wk&&oa.wk<
312)return ma;if(la){if(typeof Y.id==I)Y.id=ga;if(oa.ie&&oa.win){var ua="",ra;for(ra in Y)if(Y[ra]!=Object.prototype[ra])if(ra.toLowerCase()=="data")ba.movie=Y[ra];else if(ra.toLowerCase()=="styleclass")ua+=' class="'+Y[ra]+'"';else if(ra.toLowerCase()!="classid")ua+=" "+ra+'="'+Y[ra]+'"';ra="";for(var Ea in ba)if(ba[Ea]!=Object.prototype[Ea])ra+='<param name="'+Ea+'" value="'+ba[Ea]+'" />';la.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ua+">"+ra+"</object>";D[D.length]=
Y.id;ma=A(Y.id)}else{Ea=M.createElement(B);Ea.setAttribute("type",T);for(var Fa in Y)if(Y[Fa]!=Object.prototype[Fa])if(Fa.toLowerCase()=="styleclass")Ea.setAttribute("class",Y[Fa]);else Fa.toLowerCase()!="classid"&&Ea.setAttribute(Fa,Y[Fa]);for(ua in ba)if(ba[ua]!=Object.prototype[ua]&&ua.toLowerCase()!="movie"){Y=Ea;ra=ua;Fa=ba[ua];ga=M.createElement("param");ga.setAttribute("name",ra);ga.setAttribute("value",Fa);Y.appendChild(ga)}la.parentNode.replaceChild(Ea,la);ma=Ea}}return ma}function w(Y){var ba=
A(Y);if(ba&&ba.nodeName=="OBJECT")if(oa.ie&&oa.win){ba.style.display="none";(function(){if(ba.readyState==4){var ga=A(Y);if(ga){for(var ma in ga)if(typeof ga[ma]=="function")ga[ma]=null;ga.parentNode.removeChild(ga)}}else setTimeout(arguments.callee,10)})()}else ba.parentNode.removeChild(ba)}function A(Y){var ba=null;try{ba=M.getElementById(Y)}catch(ga){}return ba}function H(Y,ba,ga){Y.attachEvent(ba,ga);J[J.length]=[Y,ba,ga]}function K(Y){var ba=oa.pv;Y=Y.split(".");Y[0]=parseInt(Y[0],10);Y[1]=parseInt(Y[1],
10)||0;Y[2]=parseInt(Y[2],10)||0;return ba[0]>Y[0]||ba[0]==Y[0]&&ba[1]>Y[1]||ba[0]==Y[0]&&ba[1]==Y[1]&&ba[2]>=Y[2]?true:false}function L(Y,ba,ga,ma){if(!(oa.ie&&oa.mac)){var la=M.getElementsByTagName("head")[0];if(la){ga=ga&&typeof ga=="string"?ga:"screen";if(ma)Qa=ya=null;if(!ya||Qa!=ga){ma=M.createElement("style");ma.setAttribute("type","text/css");ma.setAttribute("media",ga);ya=la.appendChild(ma);if(oa.ie&&oa.win&&typeof M.styleSheets!=I&&M.styleSheets.length>0)ya=M.styleSheets[M.styleSheets.length-
1];Qa=ga}if(oa.ie&&oa.win)ya&&typeof ya.addRule==B&&ya.addRule(Y,ba);else ya&&typeof M.createTextNode!=I&&ya.appendChild(M.createTextNode(Y+" {"+ba+"}"))}}}function E(Y,ba){if(Oa){var ga=ba?"visible":"hidden";if(Ca&&A(Y))A(Y).style.visibility=ga;else L("#"+Y,"visibility:"+ga)}}function O(Y){return/[\\\"<>\.;]/.exec(Y)!=null&&typeof encodeURIComponent!=I?encodeURIComponent(Y):Y}var I="undefined",B="object",T="application/x-shockwave-flash",ea="SWFObjectExprInst",W=window,M=document,r=navigator,ta=
false,ia=[function(){ta?b():f()}],y=[],D=[],J=[],P,ha,na,va,Ca=false,Ja=false,ya,Qa,Oa=true,oa=function(){var Y=typeof M.getElementById!=I&&typeof M.getElementsByTagName!=I&&typeof M.createElement!=I,ba=r.userAgent.toLowerCase(),ga=r.platform.toLowerCase(),ma=ga?/win/.test(ga):/win/.test(ba);ga=ga?/mac/.test(ga):/mac/.test(ba);ba=/webkit/.test(ba)?parseFloat(ba.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false;var la=!+"\v1",ua=[0,0,0],ra=null;if(typeof r.plugins!=I&&typeof r.plugins["Shockwave Flash"]==
B){if((ra=r.plugins["Shockwave Flash"].description)&&!(typeof r.mimeTypes!=I&&r.mimeTypes[T]&&!r.mimeTypes[T].enabledPlugin)){ta=true;la=false;ra=ra.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ua[0]=parseInt(ra.replace(/^(.*)\..*$/,"$1"),10);ua[1]=parseInt(ra.replace(/^.*\.(.*)\s.*$/,"$1"),10);ua[2]=/[a-zA-Z]/.test(ra)?parseInt(ra.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else if(typeof W.ActiveXObject!=I)try{var Ea=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");if(Ea)if(ra=Ea.GetVariable("$version")){la=
true;ra=ra.split(" ")[1].split(",");ua=[parseInt(ra[0],10),parseInt(ra[1],10),parseInt(ra[2],10)]}}catch(Fa){}return{w3:Y,pv:ua,wk:ba,ie:la,win:ma,mac:ga}}();(function(){if(oa.w3){if(typeof M.readyState!=I&&M.readyState=="complete"||typeof M.readyState==I&&(M.getElementsByTagName("body")[0]||M.body))a();if(!Ca){typeof M.addEventListener!=I&&M.addEventListener("DOMContentLoaded",a,false);if(oa.ie&&oa.win){M.attachEvent("onreadystatechange",function(){if(M.readyState=="complete"){M.detachEvent("onreadystatechange",
arguments.callee);a()}});W==top&&function(){if(!Ca){try{M.documentElement.doScroll("left")}catch(Y){setTimeout(arguments.callee,0);return}a()}}()}oa.wk&&function(){Ca||(/loaded|complete/.test(M.readyState)?a():setTimeout(arguments.callee,0))}();d(a)}}})();(function(){oa.ie&&oa.win&&window.attachEvent("onunload",function(){for(var Y=J.length,ba=0;ba<Y;ba++)J[ba][0].detachEvent(J[ba][1],J[ba][2]);Y=D.length;for(ba=0;ba<Y;ba++)w(D[ba]);for(var ga in oa)oa[ga]=null;oa=null;for(var ma in swfobject)swfobject[ma]=
null;swfobject=null})})();return{registerObject:function(Y,ba,ga,ma){if(oa.w3&&Y&&ba){var la={};la.id=Y;la.swfVersion=ba;la.expressInstall=ga;la.callbackFn=ma;y[y.length]=la;E(Y,false)}else ma&&ma({success:false,id:Y})},getObjectById:function(Y){if(oa.w3)return g(Y)},embedSWF:function(Y,ba,ga,ma,la,ua,ra,Ea,Fa,Za){var eb={success:false,id:ba};if(oa.w3&&!(oa.wk&&oa.wk<312)&&Y&&ba&&ga&&ma&&la){E(ba,false);c(function(){ga+="";ma+="";var Ta={};if(Fa&&typeof Fa===B)for(var Sa in Fa)Ta[Sa]=Fa[Sa];Ta.data=
Y;Ta.width=ga;Ta.height=ma;Sa={};if(Ea&&typeof Ea===B)for(var fb in Ea)Sa[fb]=Ea[fb];if(ra&&typeof ra===B)for(var Wa in ra)if(typeof Sa.flashvars!=I)Sa.flashvars+="&"+Wa+"="+ra[Wa];else Sa.flashvars=Wa+"="+ra[Wa];if(K(la)){fb=u(Ta,Sa,ba);Ta.id==ba&&E(ba,true);eb.success=true;eb.ref=fb}else if(ua&&h()){Ta.data=ua;m(Ta,Sa,ba,Za);return}else E(ba,true);Za&&Za(eb)})}else Za&&Za(eb)},switchOffAutoHideShow:function(){Oa=false},ua:oa,getFlashPlayerVersion:function(){return{major:oa.pv[0],minor:oa.pv[1],
release:oa.pv[2]}},hasFlashPlayerVersion:K,createSWF:function(Y,ba,ga){if(oa.w3)return u(Y,ba,ga)},showExpressInstall:function(Y,ba,ga,ma){oa.w3&&h()&&m(Y,ba,ga,ma)},removeSWF:function(Y){oa.w3&&w(Y)},createCSS:function(Y,ba,ga,ma){oa.w3&&L(Y,ba,ga,ma)},addDomLoadEvent:c,addLoadEvent:d,getQueryParamValue:function(Y){var ba=M.location.search||M.location.hash;if(ba){if(/\?/.test(ba))ba=ba.split("?")[1];if(Y==null)return O(ba);ba=ba.split("&");for(var ga=0;ga<ba.length;ga++)if(ba[ga].substring(0,ba[ga].indexOf("="))==
Y)return O(ba[ga].substring(ba[ga].indexOf("=")+1))}return""},expressInstallCallback:function(){if(Ja){var Y=A(ea);if(Y&&P){Y.parentNode.replaceChild(P,Y);if(ha){E(ha,true);if(oa.ie&&oa.win)P.style.display="block"}na&&na(va)}Ja=false}}}}();
(function(a){function c(b,f,g){b=a[b][f].getter||[];b=typeof b=="string"?b.split(/,?\s+/):b;return a.inArray(g,b)!=-1}a.ui={plugin:{add:function(b,f,g){b=a.ui[b].prototype;for(var h in g){b.plugins[h]=b.plugins[h]||[];b.plugins[h].push([f,g[h]])}},call:function(b,f,g){if(f=b.plugins[f])for(var h=0;h<f.length;h++)b.options[f[h][0]]&&f[h][1].apply(b.element,g)}},cssCache:{},css:function(b){if(a.ui.cssCache[b])return a.ui.cssCache[b];var f=a('<div class="ui-gen">').addClass(b).css({position:"absolute",
top:"-5000px",left:"-5000px",display:"block"}).appendTo("body");a.ui.cssCache[b]=!!(!/auto|default/.test(f.css("cursor"))||/^[1-9]/.test(f.css("height"))||/^[1-9]/.test(f.css("width"))||!/none/.test(f.css("backgroundImage"))||!/transparent|rgba\(0, 0, 0, 0\)/.test(f.css("backgroundColor")));try{a("body").get(0).removeChild(f.get(0))}catch(g){}return a.ui.cssCache[b]},disableSelection:function(b){a(b).attr("unselectable","on").css("MozUserSelect","none")},enableSelection:function(b){a(b).attr("unselectable",
"off").css("MozUserSelect","")},hasScroll:function(b,f){var g=/top/.test(f||"top")?"scrollTop":"scrollLeft",h=false;if(b[g]>0)return true;b[g]=1;h=b[g]>0?true:false;b[g]=0;return h},keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};var d=
a.fn.remove;a.fn.remove=function(){a("*",this).add(this).triggerHandler("remove");return d.apply(this,arguments)};a.widget=function(b,f){var g=b.split(".")[0];b=b.split(".")[1];a.fn[b]=function(h){var m=typeof h=="string",o=Array.prototype.slice.call(arguments,1);if(m&&c(g,b,h)){var q=a.data(this[0],b);return q?q[h].apply(q,o):undefined}return this.each(function(){var u=a.data(this,b);if(m&&u&&a.isFunction(u[h]))u[h].apply(u,o);else m||a.data(this,b,new a[g][b](this,h))})};a[g][b]=function(h,m){var o=
this;this.widgetName=b;this.widgetBaseClass=g+"-"+b;this.options=a.extend({},a.widget.defaults,a[g][b].defaults,m);this.element=a(h).bind("setData."+b,function(q,u,w){return o.setData(u,w)}).bind("getData."+b,function(q,u){return o.getData(u)}).bind("remove",function(){return o.destroy()});this.init()};a[g][b].prototype=a.extend({},a.widget.prototype,f)};a.widget.prototype={init:function(){},destroy:function(){this.element.removeData(this.widgetName)},getData:function(b){return this.options[b]},setData:function(b,
f){this.options[b]=f;if(b=="disabled")this.element[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled")},enable:function(){this.setData("disabled",false)},disable:function(){this.setData("disabled",true)}};a.widget.defaults={disabled:false};a.ui.mouse={mouseInit:function(){var b=this;this.element.bind("mousedown."+this.widgetName,function(f){return b.mouseDown(f)});if(a.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on")}this.started=
false},mouseDestroy:function(){this.element.unbind("."+this.widgetName);a.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable)},mouseDown:function(b){this._mouseStarted&&this.mouseUp(b);this._mouseDownEvent=b;var f=this,g=b.which==1,h=typeof this.options.cancel=="string"?a(b.target).parents().add(b.target).filter(this.options.cancel).length:false;if(!g||h||!this.mouseCapture(b))return true;this._mouseDelayMet=!this.options.delay;if(!this._mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){f._mouseDelayMet=
true},this.options.delay);if(this.mouseDistanceMet(b)&&this.mouseDelayMet(b)){this._mouseStarted=this.mouseStart(b)!==false;if(!this._mouseStarted){b.preventDefault();return true}}this._mouseMoveDelegate=function(m){return f.mouseMove(m)};this._mouseUpDelegate=function(m){return f.mouseUp(m)};a(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);return false},mouseMove:function(b){if(a.browser.msie&&!b.button)return this.mouseUp(b);
if(this._mouseStarted){this.mouseDrag(b);return false}if(this.mouseDistanceMet(b)&&this.mouseDelayMet(b))(this._mouseStarted=this.mouseStart(this._mouseDownEvent,b)!==false)?this.mouseDrag(b):this.mouseUp(b);return!this._mouseStarted},mouseUp:function(b){a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this.mouseStop(b)}return false},mouseDistanceMet:function(b){return Math.max(Math.abs(this._mouseDownEvent.pageX-
b.pageX),Math.abs(this._mouseDownEvent.pageY-b.pageY))>=this.options.distance},mouseDelayMet:function(){return this._mouseDelayMet},mouseStart:function(){},mouseDrag:function(){},mouseStop:function(){},mouseCapture:function(){return true}};a.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery);
(function(a){a.widget("ui.draggable",a.extend({},a.ui.mouse,{init:function(){var c=this.options;c.helper=="original"&&!/(relative|absolute|fixed)/.test(this.element.css("position"))&&this.element.css("position","relative");this.element.addClass("ui-draggable");c.disabled&&this.element.addClass("ui-draggable-disabled");this.mouseInit()},mouseStart:function(c){var d=this.options;if(this.helper||d.disabled||a(c.target).is(".ui-resizable-handle"))return false;var b=!this.options.handle||!a(this.options.handle,
this.element).length?true:false;a(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==c.target)b=true});if(!b)return false;if(a.ui.ddmanager)a.ui.ddmanager.current=this;this.helper=a.isFunction(d.helper)?a(d.helper.apply(this.element[0],[c])):d.helper=="clone"?this.element.clone():this.element;this.helper.parents("body").length||this.helper.appendTo(d.appendTo=="parent"?this.element[0].parentNode:d.appendTo);this.helper[0]!=this.element[0]&&!/(fixed|absolute)/.test(this.helper.css("position"))&&
this.helper.css("position","absolute");this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0};this.cssPosition=this.helper.css("position");this.offset=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.offset.click={left:c.pageX-this.offset.left,top:c.pageY-this.offset.top};this.offsetParent=this.helper.offsetParent();var f=this.offsetParent.offset();if(this.offsetParent[0]==
document.body&&a.browser.mozilla)f={top:0,left:0};this.offset.parent={top:f.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:f.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)};f=this.element.position();this.offset.relative=this.cssPosition=="relative"?{top:f.top-(parseInt(this.helper.css("top"),10)||0)+this.offsetParent[0].scrollTop,left:f.left-(parseInt(this.helper.css("left"),10)||0)+this.offsetParent[0].scrollLeft}:{top:0,left:0};this.originalPosition=this.generatePosition(c);
this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()};if(d.cursorAt){if(d.cursorAt.left!=undefined)this.offset.click.left=d.cursorAt.left+this.margins.left;if(d.cursorAt.right!=undefined)this.offset.click.left=this.helperProportions.width-d.cursorAt.right+this.margins.left;if(d.cursorAt.top!=undefined)this.offset.click.top=d.cursorAt.top+this.margins.top;if(d.cursorAt.bottom!=undefined)this.offset.click.top=this.helperProportions.height-d.cursorAt.bottom+this.margins.top}if(d.containment){if(d.containment==
"parent")d.containment=this.helper[0].parentNode;if(d.containment=="document"||d.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(d.containment=="document"?document:window).width()-this.offset.relative.left-this.offset.parent.left-this.helperProportions.width-this.margins.left-(parseInt(this.element.css("marginRight"),10)||0),(a(d.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-
this.offset.relative.top-this.offset.parent.top-this.helperProportions.height-this.margins.top-(parseInt(this.element.css("marginBottom"),10)||0)];if(!/^(document|window|parent)$/.test(d.containment)){f=a(d.containment)[0];var g=a(d.containment).offset();this.containment=[g.left+(parseInt(a(f).css("borderLeftWidth"),10)||0)-this.offset.relative.left-this.offset.parent.left,g.top+(parseInt(a(f).css("borderTopWidth"),10)||0)-this.offset.relative.top-this.offset.parent.top,g.left+Math.max(f.scrollWidth,
f.offsetWidth)-(parseInt(a(f).css("borderLeftWidth"),10)||0)-this.offset.relative.left-this.offset.parent.left-this.helperProportions.width-this.margins.left-(parseInt(this.element.css("marginRight"),10)||0),g.top+Math.max(f.scrollHeight,f.offsetHeight)-(parseInt(a(f).css("borderTopWidth"),10)||0)-this.offset.relative.top-this.offset.parent.top-this.helperProportions.height-this.margins.top-(parseInt(this.element.css("marginBottom"),10)||0)]}}this.propagate("start",c);this.helperProportions={width:this.helper.outerWidth(),
height:this.helper.outerHeight()};a.ui.ddmanager&&!d.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,c);this.helper.addClass("ui-draggable-dragging");this.mouseDrag(c);return true},convertPositionTo:function(c,d){if(!d)d=this.position;var b=c=="absolute"?1:-1;return{top:d.top+this.offset.relative.top*b+this.offset.parent.top*b-(this.cssPosition=="fixed"||this.cssPosition=="absolute"&&this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)*b+(this.cssPosition=="fixed"?a(document).scrollTop():
0)*b+this.margins.top*b,left:d.left+this.offset.relative.left*b+this.offset.parent.left*b-(this.cssPosition=="fixed"||this.cssPosition=="absolute"&&this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft)*b+(this.cssPosition=="fixed"?a(document).scrollLeft():0)*b+this.margins.left*b}},generatePosition:function(c){var d=this.options;c={top:c.pageY-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(this.cssPosition=="fixed"||this.cssPosition=="absolute"&&this.offsetParent[0]==
document.body?0:this.offsetParent[0].scrollTop)-(this.cssPosition=="fixed"?a(document).scrollTop():0),left:c.pageX-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(this.cssPosition=="fixed"||this.cssPosition=="absolute"&&this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft)-(this.cssPosition=="fixed"?a(document).scrollLeft():0)};if(!this.originalPosition)return c;if(this.containment){if(c.left<this.containment[0])c.left=this.containment[0];if(c.top<this.containment[1])c.top=
this.containment[1];if(c.left>this.containment[2])c.left=this.containment[2];if(c.top>this.containment[3])c.top=this.containment[3]}if(d.grid){var b=this.originalPosition.top+Math.round((c.top-this.originalPosition.top)/d.grid[1])*d.grid[1];c.top=this.containment?!(b<this.containment[1]||b>this.containment[3])?b:!(b<this.containment[1])?b-d.grid[1]:b+d.grid[1]:b;b=this.originalPosition.left+Math.round((c.left-this.originalPosition.left)/d.grid[0])*d.grid[0];c.left=this.containment?!(b<this.containment[0]||
b>this.containment[2])?b:!(b<this.containment[0])?b-d.grid[0]:b+d.grid[0]:b}return c},mouseDrag:function(c){this.position=this.generatePosition(c);this.positionAbs=this.convertPositionTo("absolute");this.position=this.propagate("drag",c)||this.position;if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";a.ui.ddmanager&&a.ui.ddmanager.drag(this,c);return false},
mouseStop:function(c){var d=false;if(a.ui.ddmanager&&!this.options.dropBehaviour)d=a.ui.ddmanager.drop(this,c);if(this.options.revert=="invalid"&&!d||this.options.revert=="valid"&&d||this.options.revert===true){var b=this;a(this.helper).animate(this.originalPosition,parseInt(this.options.revert,10)||500,function(){b.propagate("stop",c);b.clear()})}else{this.propagate("stop",c);this.clear()}return false},clear:function(){this.helper.removeClass("ui-draggable-dragging");this.options.helper!="original"&&
!this.cancelHelperRemoval&&this.helper.remove();this.helper=null;this.cancelHelperRemoval=false},plugins:{},uiHash:function(){return{helper:this.helper,position:this.position,absolutePosition:this.positionAbs,options:this.options}},propagate:function(c,d){a.ui.plugin.call(this,c,[d,this.uiHash()]);if(c=="drag")this.positionAbs=this.convertPositionTo("absolute");return this.element.triggerHandler(c=="drag"?c:"drag"+c,[d,this.uiHash()],this.options[c])},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable");
this.mouseDestroy()}}}));a.extend(a.ui.draggable,{defaults:{appendTo:"parent",axis:false,cancel:":input",delay:0,distance:1,helper:"original"}});a.ui.plugin.add("draggable","cursor",{start:function(c,d){var b=a("body");if(b.css("cursor"))d.options._cursor=b.css("cursor");b.css("cursor",d.options.cursor)},stop:function(c,d){d.options._cursor&&a("body").css("cursor",d.options._cursor)}});a.ui.plugin.add("draggable","zIndex",{start:function(c,d){var b=a(d.helper);if(b.css("zIndex"))d.options._zIndex=
b.css("zIndex");b.css("zIndex",d.options.zIndex)},stop:function(c,d){d.options._zIndex&&a(d.helper).css("zIndex",d.options._zIndex)}});a.ui.plugin.add("draggable","opacity",{start:function(c,d){var b=a(d.helper);if(b.css("opacity"))d.options._opacity=b.css("opacity");b.css("opacity",d.options.opacity)},stop:function(c,d){d.options._opacity&&a(d.helper).css("opacity",d.options._opacity)}});a.ui.plugin.add("draggable","iframeFix",{start:function(c,d){a(d.options.iframeFix===true?"iframe":d.options.iframeFix).each(function(){a('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+
"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(a(this).offset()).appendTo("body")})},stop:function(){a("div.DragDropIframeFix").each(function(){this.parentNode.removeChild(this)})}});a.ui.plugin.add("draggable","scroll",{start:function(c,d){var b=d.options,f=a(this).data("draggable");b.scrollSensitivity=b.scrollSensitivity||20;b.scrollSpeed=b.scrollSpeed||20;f.overflowY=function(g){do{if(/auto|scroll/.test(g.css("overflow"))||/auto|scroll/.test(g.css("overflow-y")))return g;
g=g.parent()}while(g[0].parentNode);return a(document)}(this);f.overflowX=function(g){do{if(/auto|scroll/.test(g.css("overflow"))||/auto|scroll/.test(g.css("overflow-x")))return g;g=g.parent()}while(g[0].parentNode);return a(document)}(this);if(f.overflowY[0]!=document&&f.overflowY[0].tagName!="HTML")f.overflowYOffset=f.overflowY.offset();if(f.overflowX[0]!=document&&f.overflowX[0].tagName!="HTML")f.overflowXOffset=f.overflowX.offset()},drag:function(c,d){var b=d.options,f=a(this).data("draggable");
if(f.overflowY[0]!=document&&f.overflowY[0].tagName!="HTML"){if(f.overflowYOffset.top+f.overflowY[0].offsetHeight-c.pageY<b.scrollSensitivity)f.overflowY[0].scrollTop+=b.scrollSpeed;if(c.pageY-f.overflowYOffset.top<b.scrollSensitivity)f.overflowY[0].scrollTop-=b.scrollSpeed}else{c.pageY-a(document).scrollTop()<b.scrollSensitivity&&a(document).scrollTop(a(document).scrollTop()-b.scrollSpeed);a(window).height()-(c.pageY-a(document).scrollTop())<b.scrollSensitivity&&a(document).scrollTop(a(document).scrollTop()+
b.scrollSpeed)}if(f.overflowX[0]!=document&&f.overflowX[0].tagName!="HTML"){if(f.overflowXOffset.left+f.overflowX[0].offsetWidth-c.pageX<b.scrollSensitivity)f.overflowX[0].scrollLeft+=b.scrollSpeed;if(c.pageX-f.overflowXOffset.left<b.scrollSensitivity)f.overflowX[0].scrollLeft-=b.scrollSpeed}else{c.pageX-a(document).scrollLeft()<b.scrollSensitivity&&a(document).scrollLeft(a(document).scrollLeft()-b.scrollSpeed);a(window).width()-(c.pageX-a(document).scrollLeft())<b.scrollSensitivity&&a(document).scrollLeft(a(document).scrollLeft()+
b.scrollSpeed)}}});a.ui.plugin.add("draggable","snap",{start:function(c,d){var b=a(this).data("draggable");b.snapElements=[];a(d.options.snap===true?".ui-draggable":d.options.snap).each(function(){var f=a(this),g=f.offset();this!=b.element[0]&&b.snapElements.push({item:this,width:f.outerWidth(),height:f.outerHeight(),top:g.top,left:g.left})})},drag:function(c,d){for(var b=a(this).data("draggable"),f=d.options.snapTolerance||20,g=d.absolutePosition.left,h=g+b.helperProportions.width,m=d.absolutePosition.top,
o=m+b.helperProportions.height,q=b.snapElements.length-1;q>=0;q--){var u=b.snapElements[q].left,w=u+b.snapElements[q].width,A=b.snapElements[q].top,H=A+b.snapElements[q].height;if(u-f<g&&g<w+f&&A-f<m&&m<H+f||u-f<g&&g<w+f&&A-f<o&&o<H+f||u-f<h&&h<w+f&&A-f<m&&m<H+f||u-f<h&&h<w+f&&A-f<o&&o<H+f){if(d.options.snapMode!="inner"){var K=Math.abs(A-o)<=20,L=Math.abs(H-m)<=20,E=Math.abs(u-h)<=20,O=Math.abs(w-g)<=20;if(K)d.position.top=b.convertPositionTo("relative",{top:A-b.helperProportions.height,left:0}).top;
if(L)d.position.top=b.convertPositionTo("relative",{top:H,left:0}).top;if(E)d.position.left=b.convertPositionTo("relative",{top:0,left:u-b.helperProportions.width}).left;if(O)d.position.left=b.convertPositionTo("relative",{top:0,left:w}).left}if(d.options.snapMode!="outer"){K=Math.abs(A-m)<=20;L=Math.abs(H-o)<=20;E=Math.abs(u-g)<=20;O=Math.abs(w-h)<=20;if(K)d.position.top=b.convertPositionTo("relative",{top:A,left:0}).top;if(L)d.position.top=b.convertPositionTo("relative",{top:H-b.helperProportions.height,
left:0}).top;if(E)d.position.left=b.convertPositionTo("relative",{top:0,left:u}).left;if(O)d.position.left=b.convertPositionTo("relative",{top:0,left:w-b.helperProportions.width}).left}}}}});a.ui.plugin.add("draggable","connectToSortable",{start:function(c,d){var b=a(this).data("draggable");b.sortables=[];a(d.options.connectToSortable).each(function(){if(a.data(this,"sortable")){var f=a.data(this,"sortable");b.sortables.push({instance:f,shouldRevert:f.options.revert});f.refreshItems();f.propagate("activate",
c,b)}})},stop:function(c){var d=a(this).data("draggable");a.each(d.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;d.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance.mouseStop(c);this.instance.element.triggerHandler("sortreceive",[c,a.extend(this.instance.ui(),{sender:d.element})],this.instance.options.receive);this.instance.options.helper=this.instance.options._helper}else this.instance.propagate("deactivate",
c,d)})},drag:function(c,d){var b=a(this).data("draggable"),f=this,g=function(h){var m=h.left,o=m+h.width,q=h.top;h=q+h.height;return m<this.positionAbs.left+this.offset.click.left&&this.positionAbs.left+this.offset.click.left<o&&q<this.positionAbs.top+this.offset.click.top&&this.positionAbs.top+this.offset.click.top<h};a.each(b.sortables,function(){if(g.call(b,this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=a(f).clone().appendTo(this.instance.element).data("sortable-item",
true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return d.helper[0]};c.target=this.instance.currentItem[0];this.instance.mouseCapture(c,true);this.instance.mouseStart(c,true,true);this.instance.offset.click.top=b.offset.click.top;this.instance.offset.click.left=b.offset.click.left;this.instance.offset.parent.left-=b.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=b.offset.parent.top-this.instance.offset.parent.top;
b.propagate("toSortable",c)}this.instance.currentItem&&this.instance.mouseDrag(c)}else if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance.mouseStop(c,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();this.instance.placeholder&&this.instance.placeholder.remove();b.propagate("fromSortable",c)}})}});a.ui.plugin.add("draggable","stack",{start:function(c,d){var b=a.makeArray(a(d.options.stack.group)).sort(function(f,
g){return(parseInt(a(f).css("zIndex"),10)||d.options.stack.min)-(parseInt(a(g).css("zIndex"),10)||d.options.stack.min)});a(b).each(function(f){this.style.zIndex=d.options.stack.min+f});this[0].style.zIndex=d.options.stack.min+b.length}})})(jQuery);
(function(a){a.widget("ui.resizable",a.extend({},a.ui.mouse,{init:function(){var c=this,d=this.options,b=this.element.css("position");this.originalElement=this.element;this.element.addClass("ui-resizable").css({position:/static/.test(b)?"relative":b});a.extend(d,{_aspectRatio:!!d.aspectRatio,helper:d.helper||d.ghost||d.animate?d.helper||"proxy":null,knobHandles:d.knobHandles===true?"ui-resizable-knob-handle":d.knobHandles});d.defaultTheme={"ui-resizable":{display:"block"},"ui-resizable-handle":{position:"absolute",
background:"#F2F2F2",fontSize:"0.1px"},"ui-resizable-n":{cursor:"n-resize",height:"4px",left:"0px",right:"0px",borderTop:"1px solid #DEDEDE"},"ui-resizable-s":{cursor:"s-resize",height:"4px",left:"0px",right:"0px",borderBottom:"1px solid #DEDEDE"},"ui-resizable-e":{cursor:"e-resize",width:"4px",top:"0px",bottom:"0px",borderRight:"1px solid #DEDEDE"},"ui-resizable-w":{cursor:"w-resize",width:"4px",top:"0px",bottom:"0px",borderLeft:"1px solid #DEDEDE"},"ui-resizable-se":{cursor:"se-resize",width:"4px",
height:"4px",borderRight:"1px solid #DEDEDE",borderBottom:"1px solid #DEDEDE"},"ui-resizable-sw":{cursor:"sw-resize",width:"4px",height:"4px",borderBottom:"1px solid #DEDEDE",borderLeft:"1px solid #DEDEDE"},"ui-resizable-ne":{cursor:"ne-resize",width:"4px",height:"4px",borderRight:"1px solid #DEDEDE",borderTop:"1px solid #DEDEDE"},"ui-resizable-nw":{cursor:"nw-resize",width:"4px",height:"4px",borderLeft:"1px solid #DEDEDE",borderTop:"1px solid #DEDEDE"}};d.knobTheme={"ui-resizable-handle":{background:"#F2F2F2",
border:"1px solid #808080",height:"8px",width:"8px"},"ui-resizable-n":{cursor:"n-resize",top:"0px",left:"45%"},"ui-resizable-s":{cursor:"s-resize",bottom:"0px",left:"45%"},"ui-resizable-e":{cursor:"e-resize",right:"0px",top:"45%"},"ui-resizable-w":{cursor:"w-resize",left:"0px",top:"45%"},"ui-resizable-se":{cursor:"se-resize",right:"0px",bottom:"0px"},"ui-resizable-sw":{cursor:"sw-resize",left:"0px",bottom:"0px"},"ui-resizable-nw":{cursor:"nw-resize",left:"0px",top:"0px"},"ui-resizable-ne":{cursor:"ne-resize",
right:"0px",top:"0px"}};d._nodeName=this.element[0].nodeName;if(d._nodeName.match(/canvas|textarea|input|select|button|img/i)){b=this.element;/relative/.test(b.css("position"))&&a.browser.opera&&b.css({position:"relative",top:"auto",left:"auto"});b.wrap(a('<div class="ui-wrapper"\tstyle="overflow: hidden;"></div>').css({position:b.css("position"),width:b.outerWidth(),height:b.outerHeight(),top:b.css("top"),left:b.css("left")}));b=this.element;this.element=this.element.parent();this.element.data("resizable",
this);this.element.css({marginLeft:b.css("marginLeft"),marginTop:b.css("marginTop"),marginRight:b.css("marginRight"),marginBottom:b.css("marginBottom")});b.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});a.browser.safari&&d.preventDefault&&b.css("resize","none");d.proportionallyResize=b.css({position:"static",zoom:1,display:"block"});this.element.css({margin:b.css("margin")});this._proportionallyResize()}if(!d.handles)d.handles=!a(".ui-resizable-handle",this.element).length?"e,s,se":
{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"};if(d.handles.constructor==String){d.zIndex=d.zIndex||1E3;if(d.handles=="all")d.handles="n,e,s,w,se,sw,ne,nw";b=d.handles.split(",");d.handles={};for(var f={handle:"position: absolute; display: none; overflow:hidden;",n:"top: 0pt; width:100%;",e:"right: 0pt; height:100%;",s:"bottom: 0pt; width:100%;",w:"left: 0pt; height:100%;",se:"bottom: 0pt; right: 0px;",
sw:"bottom: 0pt; left: 0px;",ne:"top: 0pt; right: 0px;",nw:"top: 0pt; left: 0px;"},g=0;g<b.length;g++){var h=a.trim(b[g]),m=d.defaultTheme,o="ui-resizable-"+h,q=!a.ui.css(o)&&!d.knobHandles,u=a.ui.css("ui-resizable-knob-handle");m=a.extend(m[o],m["ui-resizable-handle"]);u=a.extend(d.knobTheme[o],!u?d.knobTheme["ui-resizable-handle"]:{});var w=/sw|se|ne|nw/.test(h)?{zIndex:++d.zIndex}:{};o=a(['<div class="ui-resizable-handle ',o,'" style="',q?f[h]:"",f.handle,'"></div>'].join("")).css(w);d.handles[h]=
".ui-resizable-"+h;this.element.append(o.css(q?m:{}).css(d.knobHandles?u:{}).addClass(d.knobHandles?"ui-resizable-knob-handle":"").addClass(d.knobHandles))}if(d.knobHandles)this.element.addClass("ui-resizable-knob").css(!a.ui.css("ui-resizable-knob")?{}:{})}this._renderAxis=function(A){A=A||this.element;for(var H in d.handles){if(d.handles[H].constructor==String)d.handles[H]=a(d.handles[H],this.element).show();d.transparent&&d.handles[H].css({opacity:0});if(this.element.is(".ui-wrapper")&&d._nodeName.match(/textarea|input|select|button/i)){var K=
a(d.handles[H],this.element),L=0;L=/sw|ne|nw|se|n|s/.test(H)?K.outerHeight():K.outerWidth();K=["padding",/ne|nw|n/.test(H)?"Top":/se|sw|s/.test(H)?"Bottom":/^e$/.test(H)?"Right":"Left"].join("");d.transparent||A.css(K,L);this._proportionallyResize()}a(d.handles[H])}};this._renderAxis(this.element);d._handles=a(".ui-resizable-handle",c.element);d.disableSelection&&d._handles.each(function(A,H){a.ui.disableSelection(H)});d._handles.mouseover(function(){if(!d.resizing){if(this.className)var A=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);
c.axis=d.axis=A&&A[1]?A[1]:"se"}});if(d.autoHide){d._handles.hide();a(c.element).addClass("ui-resizable-autohide").hover(function(){a(this).removeClass("ui-resizable-autohide");d._handles.show()},function(){if(!d.resizing){a(this).addClass("ui-resizable-autohide");d._handles.hide()}})}this.mouseInit()},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,options:this.options,originalSize:this.originalSize,
originalPosition:this.originalPosition}},propagate:function(c,d){a.ui.plugin.call(this,c,[d,this.ui()]);c!="resize"&&this.element.triggerHandler(["resize",c].join(""),[d,this.ui()],this.options[c])},destroy:function(){var c=this.element,d=c.children(".ui-resizable").get(0);this.mouseDestroy();var b=function(f){a(f).removeClass("ui-resizable ui-resizable-disabled").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};b(c);if(c.is(".ui-wrapper")&&d){c.parent().append(a(d).css({position:c.css("position"),
width:c.outerWidth(),height:c.outerHeight(),top:c.css("top"),left:c.css("left")})).end().remove();b(d)}},mouseStart:function(c){if(this.options.disabled)return false;var d=false,b;for(b in this.options.handles)if(a(this.options.handles[b])[0]==c.target)d=true;if(!d)return false;d=this.options;var f=this.element.position();b=this.element;var g=function(o){return parseInt(o,10)||0},h=a.browser.msie&&a.browser.version<7;d.resizing=true;d.documentScroll={top:a(document).scrollTop(),left:a(document).scrollLeft()};
if(b.is(".ui-draggable")||/absolute/.test(b.css("position"))){var m=a.browser.msie&&!d.containment&&/absolute/.test(b.css("position"))&&!/relative/.test(b.parent().css("position"));b.css({position:"absolute",top:f.top+(m?d.documentScroll.top:0),left:f.left+(m?d.documentScroll.left:0)})}a.browser.opera&&/relative/.test(b.css("position"))&&b.css({position:"relative",top:"auto",left:"auto"});this._renderProxy();f=g(this.helper.css("left"));g=g(this.helper.css("top"));if(d.containment){f+=a(d.containment).scrollLeft()||
0;g+=a(d.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:f,top:g};this.size=d.helper||h?{width:b.outerWidth(),height:b.outerHeight()}:{width:b.width(),height:b.height()};this.originalSize=d.helper||h?{width:b.outerWidth(),height:b.outerHeight()}:{width:b.width(),height:b.height()};this.originalPosition={left:f,top:g};this.sizeDiff={width:b.outerWidth()-b.width(),height:b.outerHeight()-b.height()};this.originalMousePosition={left:c.pageX,top:c.pageY};d.aspectRatio=
typeof d.aspectRatio=="number"?d.aspectRatio:this.originalSize.height/this.originalSize.width||1;d.preserveCursor&&a("body").css("cursor",this.axis+"-resize");this.propagate("start",c);return true},mouseDrag:function(c){var d=this.helper,b=this.options,f=this.originalMousePosition,g=this._change[this.axis];if(!g)return false;f=g.apply(this,[c,c.pageX-f.left||0,c.pageY-f.top||0]);if(b._aspectRatio||c.shiftKey)f=this._updateRatio(f,c);f=this._respectSize(f,c);this.propagate("resize",c);d.css({top:this.position.top+
"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!b.helper&&b.proportionallyResize&&this._proportionallyResize();this._updateCache(f);this.element.triggerHandler("resize",[c,this.ui()],this.options.resize);return false},mouseStop:function(c){this.options.resizing=false;var d=this.options;if(d.helper){var b=d.proportionallyResize,f=b&&/textarea/i.test(b.get(0).nodeName);b=f&&a.ui.hasScroll(b.get(0),"left")?0:this.sizeDiff.height;f={width:this.size.width-(f?
0:this.sizeDiff.width),height:this.size.height-b};b=parseInt(this.element.css("left"),10)+(this.position.left-this.originalPosition.left)||null;var g=parseInt(this.element.css("top"),10)+(this.position.top-this.originalPosition.top)||null;d.animate||this.element.css(a.extend(f,{top:g,left:b}));d.helper&&!d.animate&&this._proportionallyResize()}d.preserveCursor&&a("body").css("cursor","auto");this.propagate("stop",c);d.helper&&this.helper.remove();return false},_updateCache:function(c){this.offset=
this.helper.offset();if(c.left)this.position.left=c.left;if(c.top)this.position.top=c.top;if(c.height)this.size.height=c.height;if(c.width)this.size.width=c.width},_updateRatio:function(c){var d=this.options,b=this.position,f=this.size,g=this.axis;if(c.height)c.width=f.height/d.aspectRatio;else if(c.width)c.height=f.width*d.aspectRatio;if(g=="sw"){c.left=b.left+(f.width-c.width);c.top=null}if(g=="nw"){c.top=b.top+(f.height-c.height);c.left=b.left+(f.width-c.width)}return c},_respectSize:function(c){var d=
this.options,b=this.axis,f=c.width&&d.maxWidth&&d.maxWidth<c.width,g=c.height&&d.maxHeight&&d.maxHeight<c.height,h=c.width&&d.minWidth&&d.minWidth>c.width,m=c.height&&d.minHeight&&d.minHeight>c.height;if(h)c.width=d.minWidth;if(m)c.height=d.minHeight;if(f)c.width=d.maxWidth;if(g)c.height=d.maxHeight;var o=this.originalPosition.left+this.originalSize.width,q=this.position.top+this.size.height,u=/sw|nw|w/.test(b);b=/nw|ne|n/.test(b);if(h&&u)c.left=o-d.minWidth;if(f&&u)c.left=o-d.maxWidth;if(m&&b)c.top=
q-d.minHeight;if(g&&b)c.top=q-d.maxHeight;if((d=!c.width&&!c.height)&&!c.left&&c.top)c.top=null;else if(d&&!c.top&&c.left)c.left=null;return c},_proportionallyResize:function(){var c=this.options;if(c.proportionallyResize){var d=c.proportionallyResize,b=this.helper||this.element;if(!c.borderDif){var f=[d.css("borderTopWidth"),d.css("borderRightWidth"),d.css("borderBottomWidth"),d.css("borderLeftWidth")],g=[d.css("paddingTop"),d.css("paddingRight"),d.css("paddingBottom"),d.css("paddingLeft")];c.borderDif=
a.map(f,function(h,m){var o=parseInt(h,10)||0,q=parseInt(g[m],10)||0;return o+q})}d.css({height:b.height()-c.borderDif[0]-c.borderDif[2]+"px",width:b.width()-c.borderDif[1]-c.borderDif[3]+"px"})}},_renderProxy:function(){var c=this.element,d=this.options;this.elementOffset=c.offset();if(d.helper){this.helper=this.helper||a('<div style="overflow:hidden;"></div>');var b=a.browser.msie&&a.browser.version<7,f=b?1:0;b=b?2:-1;this.helper.addClass(d.helper).css({width:c.outerWidth()+b,height:c.outerHeight()+
b,position:"absolute",left:this.elementOffset.left-f+"px",top:this.elementOffset.top-f+"px",zIndex:++d.zIndex});this.helper.appendTo("body");d.disableSelection&&a.ui.disableSelection(this.helper.get(0))}else this.helper=c},_change:{e:function(c,d){return{width:this.originalSize.width+d}},w:function(c,d){return{left:this.originalPosition.left+d,width:this.originalSize.width-d}},n:function(c,d,b){return{top:this.originalPosition.top+b,height:this.originalSize.height-b}},s:function(c,d,b){return{height:this.originalSize.height+
b}},se:function(c,d,b){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[c,d,b]))},sw:function(c,d,b){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[c,d,b]))},ne:function(c,d,b){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[c,d,b]))},nw:function(c,d,b){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[c,d,b]))}}}));a.extend(a.ui.resizable,{defaults:{cancel:":input",distance:1,
delay:0,preventDefault:true,transparent:false,minWidth:10,minHeight:10,aspectRatio:false,disableSelection:true,preserveCursor:true,autoHide:false,knobHandles:false}});a.ui.plugin.add("resizable","containment",{start:function(c,d){var b=d.options,f=a(this).data("resizable"),g=f.element;b=b.containment;if(g=b instanceof a?b.get(0):/parent/.test(b)?g.parent().get(0):b){f.containerElement=a(g);if(/document/.test(b)||b==document){f.containerOffset={left:0,top:0};f.containerPosition={left:0,top:0};f.parentData=
{element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight}}else{f.containerOffset=a(g).offset();f.containerPosition=a(g).position();f.containerSize={height:a(g).innerHeight(),width:a(g).innerWidth()};b=f.containerOffset;var h=f.containerSize.height,m=f.containerSize.width;m=a.ui.hasScroll(g,"left")?g.scrollWidth:m;h=a.ui.hasScroll(g)?g.scrollHeight:h;f.parentData={element:g,left:b.left,top:b.top,width:m,height:h}}}},resize:function(c,
d){var b=d.options,f=a(this).data("resizable"),g=f.containerOffset,h=f.position,m=b._aspectRatio||c.shiftKey,o={top:0,left:0},q=f.containerElement;if(q[0]!=document&&/static/.test(q.css("position")))o=f.containerPosition;if(h.left<(b.helper?g.left:o.left)){f.size.width+=b.helper?f.position.left-g.left:f.position.left-o.left;if(m)f.size.height=f.size.width*b.aspectRatio;f.position.left=b.helper?g.left:o.left}if(h.top<(b.helper?g.top:0)){f.size.height+=b.helper?f.position.top-g.top:f.position.top;if(m)f.size.width=
f.size.height/b.aspectRatio;f.position.top=b.helper?g.top:0}h=(b.helper?f.offset.left-g.left:f.position.left-o.left)+f.sizeDiff.width;g=(b.helper?f.offset.top-g.top:f.position.top)+f.sizeDiff.height;if(h+f.size.width>=f.parentData.width){f.size.width=f.parentData.width-h;if(m)f.size.height=f.size.width*b.aspectRatio}if(g+f.size.height>=f.parentData.height){f.size.height=f.parentData.height-g;if(m)f.size.width=f.size.height/b.aspectRatio}},stop:function(c,d){var b=d.options,f=a(this).data("resizable"),
g=f.containerOffset,h=f.containerPosition,m=f.containerElement,o=a(f.helper);f=o.offset();var q=o.innerWidth();o=o.innerHeight();b.helper&&!b.animate&&/relative/.test(m.css("position"))&&a(this).css({left:f.left-g.left,top:f.top-g.top,width:q,height:o});b.helper&&!b.animate&&/static/.test(m.css("position"))&&a(this).css({left:h.left+(f.left-g.left),top:h.top+(f.top-g.top),width:q,height:o})}});a.ui.plugin.add("resizable","grid",{resize:function(c,d){var b=d.options,f=a(this).data("resizable"),g=f.size,
h=f.originalSize,m=f.originalPosition,o=f.axis;b.grid=typeof b.grid=="number"?[b.grid,b.grid]:b.grid;var q=Math.round((g.width-h.width)/(b.grid[0]||1))*(b.grid[0]||1);b=Math.round((g.height-h.height)/(b.grid[1]||1))*(b.grid[1]||1);if(/^(se|s|e)$/.test(o)){f.size.width=h.width+q;f.size.height=h.height+b}else if(/^(ne)$/.test(o)){f.size.width=h.width+q;f.size.height=h.height+b;f.position.top=m.top-b}else{if(/^(sw)$/.test(o)){f.size.width=h.width+q;f.size.height=h.height+b}else{f.size.width=h.width+
q;f.size.height=h.height+b;f.position.top=m.top-b}f.position.left=m.left-q}}});a.ui.plugin.add("resizable","animate",{stop:function(c,d){var b=d.options,f=a(this).data("resizable"),g=b.proportionallyResize,h=g&&/textarea/i.test(g.get(0).nodeName),m=h&&a.ui.hasScroll(g.get(0),"left")?0:f.sizeDiff.height;h={width:f.size.width-(h?0:f.sizeDiff.width),height:f.size.height-m};m=parseInt(f.element.css("left"),10)+(f.position.left-f.originalPosition.left)||null;var o=parseInt(f.element.css("top"),10)+(f.position.top-
f.originalPosition.top)||null;f.element.animate(a.extend(h,o&&m?{top:o,left:m}:{}),{duration:b.animateDuration||"slow",easing:b.animateEasing||"swing",step:function(){var q={width:parseInt(f.element.css("width"),10),height:parseInt(f.element.css("height"),10),top:parseInt(f.element.css("top"),10),left:parseInt(f.element.css("left"),10)};g&&g.css({width:q.width,height:q.height});f._updateCache(q);f.propagate("animate",c)}})}});a.ui.plugin.add("resizable","ghost",{start:function(c,d){var b=d.options,
f=a(this).data("resizable"),g=b.proportionallyResize,h=f.size;f.ghost=g?g.clone():f.element.clone();f.ghost.css({opacity:0.25,display:"block",position:"relative",height:h.height,width:h.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof b.ghost=="string"?b.ghost:"");f.ghost.appendTo(f.helper)},resize:function(){var c=a(this).data("resizable");c.ghost&&c.ghost.css({position:"relative",height:c.size.height,width:c.size.width})},stop:function(){var c=a(this).data("resizable");
c.ghost&&c.helper&&c.helper.get(0).removeChild(c.ghost.get(0))}});a.ui.plugin.add("resizable","alsoResize",{start:function(c,d){var b=d.options;a(this).data("resizable");var f=function(g){a(g).each(function(){a(this).data("resizable-alsoresize",{width:parseInt(a(this).width(),10),height:parseInt(a(this).height(),10),left:parseInt(a(this).css("left"),10),top:parseInt(a(this).css("top"),10)})})};if(typeof b.alsoResize=="object")if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];f(b.alsoResize)}else a.each(b.alsoResize,
function(g){f(g)});else f(b.alsoResize)},resize:function(c,d){var b=d.options,f=a(this).data("resizable"),g=f.originalSize,h=f.originalPosition,m={height:f.size.height-g.height||0,width:f.size.width-g.width||0,top:f.position.top-h.top||0,left:f.position.left-h.left||0},o=function(q,u){a(q).each(function(){var w=a(this).data("resizable-alsoresize"),A={};a.each((u&&u.length?u:["width","height","top","left"])||["width","height","top","left"],function(H,K){var L=(w[K]||0)+(m[K]||0);if(L&&L>=0)A[K]=L||
null});a(this).css(A)})};typeof b.alsoResize=="object"?a.each(b.alsoResize,function(q,u){o(q,u)}):o(b.alsoResize)},stop:function(){a(this).removeData("resizable-alsoresize-start")}})})(jQuery);
(function(a){var c={dragStart:"start.draggable",drag:"drag.draggable",dragStop:"stop.draggable",maxHeight:"maxHeight.resizable",minHeight:"minHeight.resizable",maxWidth:"maxWidth.resizable",minWidth:"minWidth.resizable",resizeStart:"start.resizable",resize:"drag.resizable",resizeStop:"stop.resizable"};a.widget("ui.dialog",{init:function(){var d=this,b=this.options,f=this.options.positionLayer||"absolute",g=typeof b.resizable=="string"?b.resizable:"n,e,s,w,se,sw,ne,nw",h=this.element.addClass("ui-dialog-content").wrap("<div/>").wrap("<div/>"),
m=this.uiDialogContainer=h.parent().addClass("ui-dialog-container").css({position:"relative",width:"100%",height:"100%"}),o=b.title||h.attr("title")||"";o=(this.uiDialogTitlebar=a('<div class="ui-dialog-titlebar"/>')).append('<span class="ui-dialog-title">'+o+"</span>").append('<a href="#" class="ui-dialog-titlebar-close"><span>X</span></a>').prependTo(m);f=(this.uiDialog=m.parent()).appendTo(document.body).hide().addClass("ui-dialog").addClass(b.dialogClass).addClass(h.attr("className")).removeClass("ui-dialog-content").css({position:f,
width:b.width,height:b.height,overflow:"hidden",zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(q){if(b.closeOnEscape){q.keyCode&&q.keyCode==27&&d.close();q.keyCode&&q.keyCode==27&&s2.tuifly.widget.dialog.divLayerClose()}}).mousedown(function(){d.moveToTop()});(this.uiDialogButtonPane=a("<div/>")).css({bottom:0}).addClass("ui-dialog-buttonpane").appendTo(f);this.uiDialogTitlebarClose=a(".ui-dialog-titlebar-close",o).hover(function(){a(this).addClass("ui-dialog-titlebar-close-hover")},
function(){a(this).removeClass("ui-dialog-titlebar-close-hover")}).mousedown(function(q){q.stopPropagation()}).click(function(){d.close();s2.tuifly.widget.dialog.divLayerClose();return false});this.uiDialogTitlebar.find("*").add(this.uiDialogTitlebar).each(function(){a.ui.disableSelection(this)});if(a.fn.draggable){f.draggable({cancel:".ui-dialog-content",helper:b.dragHelper,handle:".ui-dialog-titlebar",start:function(){d.moveToTop();b.dragStart&&b.dragStart.apply(d.element[0],arguments)},drag:function(){b.drag&&
b.drag.apply(d.element[0],arguments)},stop:function(){b.dragStop&&b.dragStop.apply(d.element[0],arguments);a.ui.dialog.overlay.resize()}});b.draggable||f.draggable("disable")}if(a.fn.resizable){f.resizable({cancel:".ui-dialog-content",helper:b.resizeHelper,maxWidth:b.maxWidth,maxHeight:b.maxHeight,minWidth:b.minWidth,minHeight:b.minHeight,start:function(){b.resizeStart&&b.resizeStart.apply(d.element[0],arguments)},resize:function(){b.autoResize&&d.size.apply(d);b.resize&&b.resize.apply(d.element[0],
arguments)},handles:g,stop:function(){b.autoResize&&d.size.apply(d);b.resizeStop&&b.resizeStop.apply(d.element[0],arguments);a.ui.dialog.overlay.resize()}});b.resizable||f.resizable("disable")}this.createButtons(b.buttons);this.isOpen=false;b.bgiframe&&a.fn.bgiframe&&f.bgiframe();b.autoOpen&&this.open()},setData:function(d,b){c[d]&&this.uiDialog.data(c[d],b);switch(d){case "buttons":this.createButtons(b);break;case "draggable":this.uiDialog.draggable(b?"enable":"disable");break;case "height":this.uiDialog.height(b);
break;case "position":this.position(b);break;case "resizable":typeof b=="string"&&this.uiDialog.data("handles.resizable",b);this.uiDialog.resizable(b?"enable":"disable");break;case "title":a(".ui-dialog-title",this.uiDialogTitlebar).text(b);break;case "width":this.uiDialog.width(b)}a.widget.prototype.setData.apply(this,arguments)},position:function(d){var b=a(window),f=a(document),g=0,h=f.scrollLeft(),m=g;if(!this.options.positionLayer||this.options.positionLayer==="absolute")g=f.scrollTop();if(a.inArray(d,
["center","top","right","bottom","left"])>=0)d=[d=="right"||d=="left"?d:"center",d=="top"||d=="bottom"?d:"middle"];if(d.constructor!=Array)d=["center","middle"];if(d[0].constructor==Number)h+=d[0];else switch(d[0]){case "left":h+=0;break;case "right":h+=b.width()-this.uiDialog.width();break;default:case "center":h+=(b.width()-this.uiDialog.width())/2}if(d[1].constructor==Number)g+=d[1];else switch(d[1]){case "top":g+=0;break;case "bottom":g+=b.height()-this.uiDialog.height();break;default:case "middle":g+=
(b.height()-this.uiDialog.height())/2}g=Math.max(g,m);this.uiDialog.css({top:g,left:h})},size:function(){var d=this.uiDialogContainer,b=this.uiDialogTitlebar,f=this.element,g=parseInt(f.css("margin-top"),10)+parseInt(f.css("margin-bottom"),10),h=parseInt(f.css("margin-left"),10)+parseInt(f.css("margin-right"),10);f.height(d.height()-b.outerHeight()-g);f.width(d.width()-h)},open:function(){if(!this.isOpen){this.overlay=this.options.modal?new a.ui.dialog.overlay(this):null;this.uiDialog.next().length>
0&&this.uiDialog.appendTo("body");this.position(this.options.position);this.uiDialog.show(this.options.show);this.options.autoResize&&this.size();this.moveToTop(true);var d={options:this.options};this.uiDialogTitlebarClose.focus();this.element.triggerHandler("dialogopen",[null,d],this.options.open);this.isOpen=true}},moveToTop:function(d){if(this.options.modal&&!d||!this.options.stack&&!this.options.modal)return this.element.triggerHandler("dialogfocus",[null,{options:this.options}],this.options.focus);
d=this.options.zIndex;this.overlay&&this.overlay.$el.css("z-index",++d);this.uiDialog.css("z-index",++d);this.element.triggerHandler("dialogfocus",[null,{options:this.options}],this.options.focus)},close:function(){this.overlay&&this.overlay.destroy();this.uiDialog.hide(this.options.hide);this.element.triggerHandler("dialogclose",[null,{options:this.options}],this.options.close);a.ui.dialog.overlay.resize();this.isOpen=false},destroy:function(){this.overlay&&this.overlay.destroy();this.uiDialog.hide();
this.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content").hide().appendTo("body");this.uiDialog.remove()},createButtons:function(d){var b=this,f=false,g=this.uiDialogButtonPane;g.empty().hide();a.each(d,function(){return!(f=true)});if(f){g.show();a.each(d,function(h,m){a("<button/>").text(h).click(function(){m.apply(b.element[0],arguments)}).appendTo(g)})}}});a.extend(a.ui.dialog,{defaults:{autoOpen:true,autoResize:true,bgiframe:false,buttons:{},closeOnEscape:true,draggable:true,
height:200,minHeight:100,minWidth:150,modal:false,overlay:{},position:"center",resizable:true,stack:true,width:300,zIndex:1E3},overlay:function(d){this.$el=a.ui.dialog.overlay.create(d)}});a.extend(a.ui.dialog.overlay,{instances:[],events:a.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(d){return d+".dialog-overlay"}).join(" "),create:function(d){if(this.instances.length===0&&d.options.closeOnEscape){a(document).bind("keydown.dialog-overlay",function(f){f.keyCode&&f.keyCode==
27&&d.close();if(f.keyCode&&f.keyCode==27)try{s2.tuifly.widget.dialog.divLayerClose()}catch(g){}});a(window).bind("resize.dialog-overlay",a.ui.dialog.overlay.resize)}var b=a("<div/>").appendTo(document.body).addClass("ui-dialog-overlay").css(a.extend({borderWidth:0,margin:0,padding:0,position:"fixed",top:0,left:0,width:"100%",height:"100%"},d.options.overlay));if(a.browser.msie&&a.browser.version.substr(0,1)=="6")b=a("<div/>").appendTo(document.body).addClass("ui-dialog-overlay").css(a.extend({borderWidth:0,
margin:0,padding:0,position:"absolute",top:0,left:0,width:this.width(),height:this.height()},d.options.overlay));d.options.bgiframe&&a.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(d){this.instances.splice(a.inArray(this.instances,d),1);this.instances.length===0&&a([document,window]).unbind(".dialog-overlay");d.remove()},height:function(){if(a.browser.msie&&a.browser.version<7){var d=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);return d<
Math.max(document.documentElement.offsetHeight,document.body.offsetHeight)?a(window).height()+"px":d+"px"}else return a(document).height()+"px"},width:function(){if(a.browser.msie&&a.browser.version<7){var d=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);return d<Math.max(document.documentElement.offsetWidth,document.body.offsetWidth)?a(window).width()+"px":d+"px"}else return a(document).width()+"px"},resize:function(){var d=a([]);a.each(a.ui.dialog.overlay.instances,function(){d=
d.add(this)});d.css({width:0,height:0}).css({width:a.ui.dialog.overlay.width(),height:a.ui.dialog.overlay.height()})}});a.extend(a.ui.dialog.overlay.prototype,{destroy:function(){a.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);
(function(a){function c(){this.debug=false;this._curInst=null;this._disabledInputs=[];this._inDialog=this._datepickerShowing=false;this._mainDivId="ui-datepicker-div";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._promptClass="ui-datepicker-prompt";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._selectedRangeClass="ui-datepicker-selected-range";this.regional=
[];this.regional[""]={clearText:"Clear",clearStatus:"Erase the current date",closeText:"Close",closeStatus:"Close without change",prevText:"&#x3c;Prev",prevStatus:"Show the previous month",nextText:"Next&#x3e;",nextStatus:"Show the next month",currentText:"Today",currentStatus:"Show the current month",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct",
"Nov","Dec"],monthStatus:"Show a different month",yearStatus:"Show a different year",weekHeader:"Wk",weekStatus:"Week of the year",dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],dayStatus:"Set DD as first week day",dateStatus:"Select DD, M d",dateFormat:"mm/dd/yy",firstDay:0,initStatus:"Select a date",isRTL:false};this._defaults={showOn:"focus",showAnim:"show",
showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,closeAtTop:true,mandatory:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:true,changeYear:true,yearRange:"-10:+10",changeFirstDay:true,highlightWeek:false,showOtherMonths:false,showWeeks:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",showStatus:false,statusForDate:this.dateStatus,minDate:null,maxDate:null,duration:"normal",beforeShowDay:null,beforeShow:null,
onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,stepMonths:1,rangeSelect:false,customRangeSelect:false,rangeSeparator:" - ",altField:"",altFormat:""};a.extend(this._defaults,this.regional[""]);this.dpDiv=a('<div id="'+this._mainDivId+'" style="display: none;"></div>')}function d(b,f){a.extend(b,f);for(var g in f)if(f[g]==null||f[g]==undefined)b[g]=f[g];return b}a.extend(c.prototype,{markerClassName:"hasDatepicker",log:function(){this.debug&&console.log.apply("",arguments)},setDefaults:function(b){d(this._defaults,
b||{});return this},_attachDatepicker:function(b,f){var g=null;for(attrName in this._defaults){var h=b.getAttribute("date:"+attrName);if(h){g=g||{};try{g[attrName]=eval(h)}catch(m){g[attrName]=h}}}h=b.nodeName.toLowerCase();var o=h=="div"||h=="span";if(!b.id)b.id="dp"+(new Date).getTime();var q=this._newInst(a(b),o);q.settings=a.extend({},f||{},g||{});if(h=="input")this._connectDatepicker(b,q);else o&&this._inlineDatepicker(b,q)},_newInst:function(b,f){return{id:b[0].id,input:b,selectedDay:0,selectedMonth:0,
selectedYear:0,drawMonth:0,drawYear:0,inline:f,dpDiv:!f?this.dpDiv:a('<div class="ui-datepicker-inline"></div>')}},_connectDatepicker:function(b,f){var g=a(b);if(!g.hasClass(this.markerClassName)){var h=this._get(f,"appendText"),m=this._get(f,"isRTL");if(h)g[m?"before":"after"]('<span class="'+this._appendClass+'">'+h+"</span>");h=this._get(f,"showOn");if(h=="focus"||h=="both")g.focus(this._showDatepicker);if(h=="button"||h=="both"){h=this._get(f,"buttonText");var o=this._get(f,"buttonImage");h=a(this._get(f,
"buttonImageOnly")?a("<img/>").addClass(this._triggerClass).attr({src:o,alt:h,title:h}):a('<button type="button"></button>').addClass(this._triggerClass).html(o==""?h:a("<img/>").attr({src:o,alt:h,title:h})));g[m?"before":"after"](h);h.click(function(){a.datepicker._datepickerShowing&&a.datepicker._lastInput==b?a.datepicker._hideDatepicker():a.datepicker._showDatepicker(b);return false})}g.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).bind("setData.datepicker",
function(q,u,w){f.settings[u]=w}).bind("getData.datepicker",function(q,u){return this._get(f,u)});a.data(b,"datepicker",f)}},_inlineDatepicker:function(b,f){var g=a(b);if(!g.hasClass(this.markerClassName)){g.addClass(this.markerClassName).append(f.dpDiv).bind("setData.datepicker",function(h,m,o){f.settings[m]=o}).bind("getData.datepicker",function(h,m){return this._get(f,m)});a.data(b,"datepicker",f);this._setDate(f,this._getDefaultDate(f));this._updateDatepicker(f)}},_dialogDatepicker:function(b,
f,g,h,m){b=this._dialogInst;if(!b){b="dp"+(new Date).getTime();this._dialogInput=a('<input type="text" id="'+b+'" size="1" style="position: absolute; top: -100px;"/>');this._dialogInput.keydown(this._doKeyDown);a("body").append(this._dialogInput);b=this._dialogInst=this._newInst(this._dialogInput,false);b.settings={};a.data(this._dialogInput[0],"datepicker",b)}d(b.settings,h||{});this._dialogInput.val(f);this._pos=m?m.length?m:[m.pageX,m.pageY]:null;if(!this._pos)this._pos=[(window.innerWidth||document.documentElement.clientWidth||
document.body.clientWidth)/2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+"px").css("top",this._pos[1]+"px");b.settings.onSelect=g;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);a.blockUI&&a.blockUI(this.dpDiv);a.data(this._dialogInput[0],
"datepicker",b);return this},_destroyDatepicker:function(b){var f=b.nodeName.toLowerCase(),g=a(b);a.removeData(b,"datepicker");if(f=="input")g.siblings("."+this._appendClass).remove().end().siblings("."+this._triggerClass).remove().end().removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress);else if(f=="div"||f=="span")g.removeClass(this.markerClassName).empty()},_enableDatepicker:function(b){b.disabled=false;a(b).siblings("button."+
this._triggerClass).each(function(){this.disabled=false}).end().siblings("img."+this._triggerClass).css({opacity:"1.0",cursor:""});this._disabledInputs=a.map(this._disabledInputs,function(f){return f==b?null:f})},_disableDatepicker:function(b){b.disabled=true;a(b).siblings("button."+this._triggerClass).each(function(){this.disabled=true}).end().siblings("img."+this._triggerClass).css({opacity:"0.5",cursor:"default"});this._disabledInputs=a.map(this._disabledInputs,function(f){return f==b?null:f});
this._disabledInputs[this._disabledInputs.length]=b},_isDisabledDatepicker:function(b){if(!b)return false;for(var f=0;f<this._disabledInputs.length;f++)if(this._disabledInputs[f]==b)return true;return false},_changeDatepicker:function(b,f,g){var h=f||{};if(typeof f=="string"){h={};h[f]=g}if(inst=a.data(b,"datepicker")){d(inst.settings,h);this._updateDatepicker(inst)}},_setDateDatepicker:function(b,f,g){if(b=a.data(b,"datepicker")){this._setDate(b,f,g);this._updateDatepicker(b)}},_getDateDatepicker:function(b){(b=
a.data(b,"datepicker"))&&this._setDateFromField(b);return b?this._getDate(b):null},_doKeyDown:function(b){var f=a.data(b.target,"datepicker"),g=true;if(a.datepicker._datepickerShowing)switch(b.keyCode){case 9:a.datepicker._hideDatepicker(null,"");break;case 13:a.datepicker._selectDay(b.target,f.selectedMonth,f.selectedYear,a("td.ui-datepicker-days-cell-over",f.dpDiv)[0]);return false;case 27:a.datepicker._hideDatepicker(null,a.datepicker._get(f,"duration"));break;case 33:a.datepicker._adjustDate(b.target,
b.ctrlKey?-1:-a.datepicker._get(f,"stepMonths"),b.ctrlKey?"Y":"M");break;case 34:a.datepicker._adjustDate(b.target,b.ctrlKey?+1:+a.datepicker._get(f,"stepMonths"),b.ctrlKey?"Y":"M");break;case 35:b.ctrlKey&&a.datepicker._clearDate(b.target);break;case 36:b.ctrlKey&&a.datepicker._gotoToday(b.target);break;case 37:b.ctrlKey&&a.datepicker._adjustDate(b.target,-1,"D");break;case 38:b.ctrlKey&&a.datepicker._adjustDate(b.target,-7,"D");break;case 39:b.ctrlKey&&a.datepicker._adjustDate(b.target,+1,"D");
break;case 40:b.ctrlKey&&a.datepicker._adjustDate(b.target,+7,"D");break;default:g=false}else if(b.keyCode==36&&b.ctrlKey)a.datepicker._showDatepicker(this);else g=false;if(g){b.preventDefault();b.stopPropagation()}},_doKeyPress:function(b){var f=a.data(b.target,"datepicker");f=a.datepicker._possibleChars(a.datepicker._get(f,"dateFormat"));var g=String.fromCharCode(b.charCode==undefined?b.keyCode:b.charCode);return b.ctrlKey||g<" "||!f||f.indexOf(g)>-1},_showDatepicker:function(b){b=b.target||b;if(b.nodeName.toLowerCase()!=
"input")b=a("input",b.parentNode)[0];if(!(a.datepicker._isDisabledDatepicker(b)||a.datepicker._lastInput==b)){var f=a.data(b,"datepicker"),g=a.datepicker._get(f,"beforeShow");d(f.settings,g?g.apply(b,[b,f]):{});a.datepicker._hideDatepicker(null,"");a.datepicker._lastInput=b;a.datepicker._setDateFromField(f);if(a.datepicker._inDialog)b.value="";if(!a.datepicker._pos){a.datepicker._pos=a.datepicker._findPos(b);a.datepicker._pos[1]+=b.offsetHeight}var h=false;a(b).parents().each(function(){h|=a(this).css("position")==
"fixed";return!h});if(h&&a.browser.opera){a.datepicker._pos[0]-=document.documentElement.scrollLeft;a.datepicker._pos[1]-=document.documentElement.scrollTop}b={};b=a.datepicker._get(f,"customRangeSelect")?{left:a("#marketDate_1").offset().left-6,top:a.datepicker._pos[1]-1}:{left:a.datepicker._pos[0],top:a.datepicker._pos[1]};a.datepicker._pos=null;f.rangeStart=null;f.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});a.datepicker._updateDatepicker(f);f.dpDiv.width(a.datepicker._getNumberOfMonths(f)[1]*
a(".ui-datepicker",f.dpDiv[0])[0].offsetWidth);b=a.datepicker._checkOffset(f,b,h);f.dpDiv.css({position:a.datepicker._inDialog&&a.blockUI?"static":h?"fixed":"absolute",display:"none",left:b.left+"px",top:b.top-25+"px"});if(!f.inline){b=a.datepicker._get(f,"showAnim")||"show";g=a.datepicker._get(f,"duration");var m=function(){a.datepicker._datepickerShowing=true};a.effects&&a.effects[b]?f.dpDiv.show(b,a.datepicker._get(f,"showOptions"),g,m):f.dpDiv[b](g,m);g==""&&m();f.input[0].type!="hidden"&&f.input[0].focus();
a.datepicker._curInst=f}if(a.datepicker._get(f,"customRangeSelect")){a.datepicker.selectedDateRangeStart=a('.ui-datepicker td[data-date="'+a("#marketDate_1 input.datepickerForSelect").val()+'"]').data("date");a.datepicker.selectedDateRangeEnd=a('.ui-datepicker td[data-date="'+a("#marketDate_2 input.datepickerForSelect").val()+'"]').data("date");a(".ui-datepicker td").removeClass(a.datepicker._currentClass);if(s2.tuifly.helper.search.getSearchParam("direction")=="RoundTrip"){a(".qTo").show();a(".qArrivalDate").show()}else{a(".qTo").hide();
a(".qArrivalDate").hide()}a.datepicker._updateRangeSelection()}}},_updateDurationAndRange:function(b,f){if(s2.tuifly.helper.search.getSearchParam("direction")=="OneWay")f=b;if(!b&&!f){b=a.datepicker.selectedDateRangeStart;f=a.datepicker.selectedDateRangeEnd;s2.tuifly.helper.search.getSearchParam("direction")=="OneWay"?a(".qPeriod").hide():a(".qPeriod").show()}!b||!f?a(".qReisedauer").text(0):a(".qReisedauer").text(parseInt((Date.parseExact(f,"dd.MM.yyyy")-Date.parseExact(b,"dd.MM.yyyy"))/864E5+1,
10));var g=a("#dateButton");if(b&&f){g.removeClass("qNotClickable");g.removeClass("showButton");g.addClass("bookingButton");g.addClass("qClickable")}else{g.removeClass("qClickable");g.removeClass("bookingButton");g.addClass("showButton");g.addClass("qNotClickable")}a(".qDepartureDate").text(b);a(".qArrivalDate").text(f)},_updateDatepicker:function(b){b.dpDiv.width();b.dpDiv.height();b.dpDiv.empty().append(this._generateDatepicker(b));var f=this._getNumberOfMonths(b);b.dpDiv[(f[0]!=1||f[1]!=1?"add":
"remove")+"Class"]("ui-datepicker-multi");b.dpDiv[(this._get(b,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");b.input&&b.input[0].type!="hidden"&&a(b.input[0]).focus();if(a.datepicker._get(b,"customRangeSelect")){if(s2.tuifly.helper.search.getSearchParam("direction")=="RoundTrip"){a(".qTo").show();a(".qArrivalDate").show()}else{a(".qTo").hide();a(".qArrivalDate").hide()}a.datepicker._updateRangeSelection()}},_checkOffset:function(b,f,g){var h=b.input?this._findPos(b.input[0]):null,m=window.innerWidth||
document.documentElement.clientWidth,o=document.documentElement.scrollLeft||document.body.scrollLeft,q=document.documentElement.scrollTop||document.body.scrollTop;if(this._get(b,"isRTL")||f.left+b.dpDiv.width()-o>m)f.left=Math.max(g?0:o,h[0]+(b.input?b.input.width():0)-(g?o:0)-b.dpDiv.width()-(g&&a.browser.opera?document.documentElement.scrollLeft:0));else f.left-=g?o:0;b.dpDiv.height();f.top-=g?q:0;return f},_findPos:function(b){for(;b&&(b.type=="hidden"||b.nodeType!=1);)b=b.nextSibling;b=a(b).offset();
return[b.left,b.top]},_hideDatepicker:function(b,f){var g=this._curInst;if(g){this._get(g,"rangeSelect")&&this._stayOpen&&this._selectDate("#"+g.id,this._formatDate(g,g.currentDay,g.currentMonth,g.currentYear));this._stayOpen=false;if(this._datepickerShowing){f=f!=null?f:this._get(g,"duration");var h=this._get(g,"showAnim"),m=function(){a.datepicker._tidyDialog(g)};f!=""&&a.effects&&a.effects[h]?g.dpDiv.hide(h,a.datepicker._get(g,"showOptions"),f,m):g.dpDiv[f==""?"hide":h=="slideDown"?"slideUp":h==
"fadeIn"?"fadeOut":"hide"](f,m);f==""&&this._tidyDialog(g);if(h=this._get(g,"onClose"))h.apply(g.input?g.input[0]:null,[this._getDate(g),g]);this._datepickerShowing=false;this._lastInput=null;g.settings.prompt=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(a.blockUI){a.unblockUI();a("body").append(this.dpDiv)}}this._inDialog=false}this._curInst=null}},_customChooseDate:function(b){if(!a(b).hasClass("qNotClickable")){var f=0;_.each(a.datepicker.inputs.slice(0,
2),function(g){var h=a.data(g,"datepicker");h=a.datepicker._get(h,"onSelect");var m="";m=f++===0?a.datepicker.selectedDateRangeStart:a.datepicker.selectedDateRangeEnd;a(g).val(m);h.apply(g,[m])});a.datepicker._hideDatepicker()}},_tidyDialog:function(b){b.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker");a("."+this._promptClass,b.dpDiv).remove()},_checkExternalClick:function(b){if(a.datepicker._curInst){b=a(b.target);b.parents("#"+a.datepicker._mainDivId).length==0&&!b.hasClass(a.datepicker.markerClassName)&&
!b.hasClass(a.datepicker._triggerClass)&&a.datepicker._datepickerShowing&&!(a.datepicker._inDialog&&a.blockUI)&&a.datepicker._hideDatepicker(null,"")}},_adjustDate:function(b,f,g){b=a(b);b=a.data(b[0],"datepicker");this._adjustInstDate(b,f,g);this._updateDatepicker(b)},_gotoToday:function(b){b=a(b);var f=a.data(b[0],"datepicker");if(this._get(f,"gotoCurrent")&&f.currentDay){f.selectedDay=f.currentDay;f.drawMonth=f.selectedMonth=f.currentMonth;f.drawYear=f.selectedYear=f.currentYear}else{var g=new Date;
f.selectedDay=g.getDate();f.drawMonth=f.selectedMonth=g.getMonth();f.drawYear=f.selectedYear=g.getFullYear()}this._adjustDate(b);this._notifyChange(f)},_selectMonthYear:function(b,f,g){b=a(b);var h=a.data(b[0],"datepicker");h._selectingMonthYear=false;h[g=="M"?"drawMonth":"drawYear"]=f.options[f.selectedIndex].value-0;this._adjustDate(b);this._notifyChange(h)},_clickMonthYear:function(b){b=a(b);b=a.data(b[0],"datepicker");b.input&&b._selectingMonthYear&&!a.browser.msie&&b.input[0].focus();b._selectingMonthYear=
!b._selectingMonthYear},_changeFirstDay:function(b,f){var g=a(b);g=a.data(g[0],"datepicker");g.settings.firstDay=f;this._updateDatepicker(g)},_selectDay:function(b,f,g,h){if(!a(h).hasClass(this._unselectableClass)){var m=a(b);m=a.data(m[0],"datepicker");var o=this._get(m,"rangeSelect"),q=this._get(m,"customRangeSelect");if(q){this._stayOpen=true;if(a.datepicker.selectedDateRangeEnd||!a.datepicker.selectedDateRangeStart&&!a.datepicker.selectedDateRangeEnd){a(".ui-datepicker td").removeClass(this._selectedRangeClass);
a(h).addClass(this._selectedRangeClass);a.datepicker.selectedDateRangeStart=a(h).data("date");a.datepicker.selectedDateRangeEnd=s2.tuifly.helper.search.getSearchParam("direction")=="OneWay"?a.datepicker.selectedDateRangeStart:"";a.datepicker._updateDurationAndRange(a(h).data("date"),"")}else{a.datepicker.selectedDateRangeEnd=a(h).data("date");a.datepicker._updateRangeSelection()}}else{m.selectedDay=m.currentDay=a("a",h).html();m.selectedMonth=m.currentMonth=f;m.selectedYear=m.currentYear=g;if(this._stayOpen)m.endDay=
m.endMonth=m.endYear=null;else if(o){m.endDay=m.currentDay;m.endMonth=m.currentMonth;m.endYear=m.currentYear}this._selectDate(b,this._formatDate(m,m.currentDay,m.currentMonth,m.currentYear));if(!q)if(this._stayOpen){m.rangeStart=this._daylightSavingAdjust(new Date(m.currentYear,m.currentMonth,m.currentDay));this._updateDatepicker(m)}else if(o){m.selectedDay=m.currentDay=m.rangeStart.getDate();m.selectedMonth=m.currentMonth=m.rangeStart.getMonth();m.selectedYear=m.currentYear=m.rangeStart.getFullYear();
m.rangeStart=null;m.inline&&this._updateDatepicker(m)}}}},_updateRangeSelection:function(){if(a.datepicker.selectedDateRangeStart||a.datepicker.selectedDateRangeEnd){var b=Date.parseExact(a.datepicker.selectedDateRangeStart,"dd.MM.yyyy"),f=Date.parseExact(a.datepicker.selectedDateRangeEnd,"dd.MM.yyyy");if(b&&f&&b>f){f=a.datepicker.selectedDateRangeStart;a.datepicker.selectedDateRangeStart=a.datepicker.selectedDateRangeEnd;a.datepicker.selectedDateRangeEnd=f;Date.parseExact(a.datepicker.selectedDateRangeStart,
"dd.MM.yyyy");f=Date.parseExact(a.datepicker.selectedDateRangeEnd,"dd.MM.yyyy")}b=Date.parseExact(a.datepicker.selectedDateRangeStart,"dd.MM.yyyy");if(s2.tuifly.helper.search.getSearchParam("direction")=="OneWay")f=Date.parseExact(a.datepicker.selectedDateRangeStart,"dd.MM.yyyy");var g=a(".ui-datepicker td");g.removeClass(a.datepicker._selectedRangeClass);for(g.removeClass(a.datepicker._currentClass);f-b>=0;){JooseX.Culture.Factory.get().majorIdentifier()=="de"||JooseX.Culture.Factory.get().majorIdentifier()==
"es"?a('.ui-datepicker td[data-date="'+b.toString("dd.MM.yyyy")+'"]').not(".ui-datepicker-unselectable").addClass(a.datepicker._selectedRangeClass):a('.ui-datepicker td[data-date="'+b.toString("dd/MM/yyyy")+'"]').not(".ui-datepicker-unselectable").addClass(a.datepicker._selectedRangeClass);b=b.add(1).days()}a.datepicker._updateDurationAndRange()}},_clearDate:function(b){b=a(b);var f=a.data(b[0],"datepicker");if(!this._get(f,"mandatory")){this._stayOpen=false;f.endDay=f.endMonth=f.endYear=f.rangeStart=
null;this._selectDate(b,"")}},_selectDate:function(b,f){var g=a(b);g=a.data(g[0],"datepicker");f=f!=null?f:this._formatDate(g);if(this._get(g,"rangeSelect")&&f)f=(g.rangeStart?this._formatDate(g,g.rangeStart):f)+this._get(g,"rangeSeparator")+f;g.input&&g.input.val(f);this._updateAlternate(g);var h=this._get(g,"onSelect");if(h)h.apply(g.input?g.input[0]:null,[f,g]);else g.input&&g.input.trigger("change");if(g.inline)this._updateDatepicker(g);else if(!this._stayOpen){this._hideDatepicker(null,this._get(g,
"duration"));this._lastInput=g.input[0];typeof g.input[0]!="object"&&g.input[0].focus();this._lastInput=null}},_updateAlternate:function(b){var f=this._get(b,"altField");if(f){var g=this._get(b,"altFormat"),h=this._getDate(b);dateStr=h&&(a.browser.safari&&typeof h=="object"&&h.length||h.constructor&&h.constructor.toString().match(/\Array\(\)/))?!h[0]&&!h[1]?"":this.formatDate(g,h[0],this._getFormatConfig(b))+this._get(b,"rangeSeparator")+this.formatDate(g,h[1]||h[0],this._getFormatConfig(b)):this.formatDate(g,
h,this._getFormatConfig(b));a(f).each(function(){a(this).val(dateStr)})}},noWeekends:function(b){b=b.getDay();return[b>0&&b<6,""]},iso8601Week:function(b){b=new Date(b.getFullYear(),b.getMonth(),b.getDate());var f=new Date(b.getFullYear(),0,4),g=f.getDay()||7;f.setDate(f.getDate()+1-g);if(g<4&&b<f){b.setDate(b.getDate()-3);return a.datepicker.iso8601Week(b)}else if(b>new Date(b.getFullYear(),11,28)){g=(new Date(b.getFullYear()+1,0,4)).getDay()||7;if(g>4&&(b.getDay()||7)<g-3){b.setDate(b.getDate()+
3);return a.datepicker.iso8601Week(b)}}return Math.floor((b-f)/864E5/7)+1},dateStatus:function(b,f){return a.datepicker.formatDate(a.datepicker._get(f,"dateStatus"),b,a.datepicker._getFormatConfig(f))},parseDate:function(b,f,g){if(b==null||f==null)throw"Invalid arguments";f=typeof f=="object"?f.toString():f+"";if(f=="")return null;var h=(g?g.shortYearCutoff:null)||this._defaults.shortYearCutoff,m=(g?g.dayNamesShort:null)||this._defaults.dayNamesShort,o=(g?g.dayNames:null)||this._defaults.dayNames,
q=(g?g.monthNamesShort:null)||this._defaults.monthNamesShort;g=(g?g.monthNames:null)||this._defaults.monthNames;for(var u=-1,w=-1,A=-1,H=false,K=function(ea){(ea=B+1<b.length&&b.charAt(B+1)==ea)&&B++;return ea},L=function(ea){K(ea);for(var W=ea=ea=="@"?14:ea=="y"?4:2,M=0;W>0&&I<f.length&&f.charAt(I)>="0"&&f.charAt(I)<="9";){M=M*10+(f.charAt(I++)-0);W--}if(W==ea)throw"Missing number at position "+I;return M},E=function(ea,W,M){ea=K(ea)?M:W;for(M=W=0;M<ea.length;M++)W=Math.max(W,ea[M].length);M="";
for(var r=I;W>0&&I<f.length;){M+=f.charAt(I++);for(var ta=0;ta<ea.length;ta++)if(M==ea[ta])return ta+1;W--}throw"Unknown name at position "+r;},O=function(){if(f.charAt(I)!=b.charAt(B))throw"Unexpected literal at position "+I;I++},I=0,B=0;B<b.length;B++)if(H)if(b.charAt(B)=="'"&&!K("'"))H=false;else O();else switch(b.charAt(B)){case "d":A=L("d");break;case "D":E("D",m,o);break;case "m":w=L("m");break;case "M":w=E("M",q,g);break;case "y":u=L("y");break;case "@":var T=new Date(L("@"));u=T.getFullYear();
w=T.getMonth()+1;A=T.getDate();break;case "'":if(K("'"))O();else H=true;break;default:O()}if(u<100)u+=(new Date).getFullYear()-(new Date).getFullYear()%100+(u<=h?0:-100);T=this._daylightSavingAdjust(new Date(u,w-1,A));if(T.getFullYear()!=u||T.getMonth()+1!=w||T.getDate()!=A)throw"Invalid date";return T},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TIMESTAMP:"@",W3C:"yy-mm-dd",
formatDate:function(b,f,g){if(!f)return"";var h=(g?g.dayNamesShort:null)||this._defaults.dayNamesShort,m=(g?g.dayNames:null)||this._defaults.dayNames,o=(g?g.monthNamesShort:null)||this._defaults.monthNamesShort;g=(g?g.monthNames:null)||this._defaults.monthNames;var q=function(L){(L=K+1<b.length&&b.charAt(K+1)==L)&&K++;return L},u=function(L,E){return(q(L)&&E<10?"0":"")+E},w=function(L,E,O,I){return q(L)?I[E]:O[E]},A="",H=false;if(f)for(var K=0;K<b.length;K++)if(H)if(b.charAt(K)=="'"&&!q("'"))H=false;
else A+=b.charAt(K);else switch(b.charAt(K)){case "d":A+=u("d",f.getDate());break;case "D":A+=w("D",f.getDay(),h,m);break;case "m":A+=u("m",f.getMonth()+1);break;case "M":A+=w("M",f.getMonth(),o,g);break;case "y":A+=q("y")?f.getFullYear():(f.getYear()%100<10?"0":"")+f.getYear()%100;break;case "@":A+=f.getTime();break;case "'":if(q("'"))A+="'";else H=true;break;default:A+=b.charAt(K)}return A},_possibleChars:function(b){for(var f="",g=false,h=0;h<b.length;h++)if(g)if(b.charAt(h)=="'"&&!lookAhead("'"))g=
false;else f+=b.charAt(h);else switch(b.charAt(h)){case "d":case "m":case "y":case "@":f+="0123456789";break;case "D":case "M":return null;case "'":if(lookAhead("'"))f+="'";else g=true;break;default:f+=b.charAt(h)}return f},_get:function(b,f){return b.settings[f]!==undefined?b.settings[f]:this._defaults[f]},_setDateFromField:function(b){var f=this._get(b,"dateFormat"),g=b.input?b.input.val().split(this._get(b,"rangeSeparator")):null;b.endDay=b.endMonth=b.endYear=null;var h=defaultDate=this._getDefaultDate(b);
if(g.length>0){var m=this._getFormatConfig(b);if(g.length>1){h=this.parseDate(f,g[1],m)||defaultDate;b.endDay=h.getDate();b.endMonth=h.getMonth();b.endYear=h.getFullYear()}try{h=this.parseDate(f,g[0],m)||defaultDate}catch(o){this.log(o);h=defaultDate}}b.selectedDay=h.getDate();b.drawMonth=b.selectedMonth=h.getMonth();b.drawYear=b.selectedYear=h.getFullYear();b.currentDay=g[0]?h.getDate():0;b.currentMonth=g[0]?h.getMonth():0;b.currentYear=g[0]?h.getFullYear():0;this._adjustInstDate(b)},_getDefaultDate:function(b){var f=
this._determineDate(this._get(b,"defaultDate"),new Date),g=this._getMinMaxDate(b,"min",true);b=this._getMinMaxDate(b,"max");f=g&&f<g?g:f;return f=b&&f>b?b:f},_determineDate:function(b,f){var g=function(m){var o=new Date;o.setDate(o.getDate()+m);return o},h=function(m,o){var q=new Date,u=q.getFullYear(),w=q.getMonth();q=q.getDate();for(var A=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,H=A.exec(m);H;){switch(H[2]||"d"){case "d":case "D":q+=H[1]-0;break;case "w":case "W":q+=H[1]*7;break;case "m":case "M":w+=
H[1]-0;q=Math.min(q,o(u,w));break;case "y":case "Y":u+=H[1]-0;q=Math.min(q,o(u,w))}H=A.exec(m)}return new Date(u,w,q)};if(b=(b=b==null?f:typeof b=="string"?h(b,this._getDaysInMonth):typeof b=="number"?isNaN(b)?f:g(b):b)&&b.toString()=="Invalid Date"?f:b){b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0)}return this._daylightSavingAdjust(b)},_daylightSavingAdjust:function(b){if(!b)return null;b.setHours(b.getHours()>12?b.getHours()+2:0);return b},_setDate:function(b,f,g){var h=!f;
f=this._determineDate(f,new Date);b.selectedDay=b.currentDay=f.getDate();b.drawMonth=b.selectedMonth=b.currentMonth=f.getMonth();b.drawYear=b.selectedYear=b.currentYear=f.getFullYear();if(this._get(b,"rangeSelect"))if(g){g=this._determineDate(g,null);b.endDay=g.getDate();b.endMonth=g.getMonth();b.endYear=g.getFullYear()}else{b.endDay=b.currentDay;b.endMonth=b.currentMonth;b.endYear=b.currentYear}this._adjustInstDate(b);if(b.input)b.input.val(h?"":this._formatDate(b)+(!this._get(b,"rangeSelect")?"":
this._get(b,"rangeSeparator")+this._formatDate(b,b.endDay,b.endMonth,b.endYear)))},_getDate:function(b){var f=!b.currentYear||b.input&&b.input.val()==""?null:this._daylightSavingAdjust(new Date(b.currentYear,b.currentMonth,b.currentDay));return this._get(b,"rangeSelect")?[b.rangeStart||f,!b.endYear?b.rangeStart||f:this._daylightSavingAdjust(new Date(b.endYear,b.endMonth,b.endDay))]:f},_generateDatepicker:function(b){var f=new Date;f=this._daylightSavingAdjust(new Date(f.getFullYear(),f.getMonth(),
f.getDate()));var g=this._get(b,"showStatus"),h=this._get(b,"isRTL"),m=this._get(b,"mandatory")?"":'<div class="ui-datepicker-clear"><a onclick="jQuery.datepicker._clearDate(\'#'+b.id+"');\""+(g?this._addStatus(b,this._get(b,"clearStatus")||"&#xa0;"):"")+">"+this._get(b,"clearText")+"</a></div>",o="",q="";if(this._get(b,"customRangeSelect"))q='<span class="qDepartureDate date"></span> <span class="qTo to" style="display:none;"></span> <span class="qArrivalDate date" style="display:none;"></span><div class="calIcon">&#xa0;</div>';
else if(b.id==="datePickerFlight")o=this._get(b,"flightHeadlineText");else if(b.id==="datePickerReturn")o=this._get(b,"returnHeadlineText");m='<div class="ui-datepicker-control">'+q+'<strong class="ui-datepicker-headline">'+o+"</strong>"+(h?"":m)+'<div class="ui-datepicker-close"><a onclick="jQuery.datepicker._hideDatepicker();"'+(g?this._addStatus(b,this._get(b,"closeStatus")||"&#xa0;"):"")+">"+this._get(b,"closeText")+"</a></div>"+(h?m:"")+"</div>";var u=this._get(b,"prompt");o=this._get(b,"closeAtTop");
var w=this._get(b,"hideIfNoPrevNext"),A=this._get(b,"navigationAsDateFormat");q=this._getNumberOfMonths(b);var H=this._get(b,"stepMonths"),K=q[0]!=1||q[1]!=1,L=this._daylightSavingAdjust(!b.currentDay?new Date(9999,9,9):new Date(b.currentYear,b.currentMonth,b.currentDay)),E=this._getMinMaxDate(b,"min",false),O=this._getMinMaxDate(b,"max"),I=b.drawMonth,B=b.drawYear;if(O){var T=this._daylightSavingAdjust(new Date(O.getFullYear(),O.getMonth()-q[1]+1,O.getDate()));for(T=E&&T<E?E:T;this._daylightSavingAdjust(new Date(B,
I,1))>T;){I--;if(I<0){I=11;B--}}}T=this._get(b,"prevText");T=!A?T:this.formatDate(T,this._daylightSavingAdjust(new Date(B,I-H,1)),this._getFormatConfig(b));T='<div class="ui-datepicker-prev">'+(this._canAdjustMonth(b,-1,B,I)?"<a onclick=\"jQuery.datepicker._adjustDate('#"+b.id+"', -"+H+", 'M');\""+(g?this._addStatus(b,this._get(b,"prevStatus")||"&#xa0;"):"")+">"+T+"</a>":w?"":"<label>"+T+"</label>")+"</div>";var ea=this._get(b,"nextText");ea=!A?ea:this.formatDate(ea,this._daylightSavingAdjust(new Date(B,
I+H,1)),this._getFormatConfig(b));w='<div class="ui-datepicker-next">'+(this._canAdjustMonth(b,+1,B,I)?"<a onclick=\"jQuery.datepicker._adjustDate('#"+b.id+"', +"+H+", 'M');\""+(g?this._addStatus(b,this._get(b,"nextStatus")||"&#xa0;"):"")+">"+ea+"</a>":w?"":"<label>"+ea+"</label>")+"</div>";H=this._get(b,"currentText");H=!A?H:this.formatDate(H,f,this._getFormatConfig(b));h=(u?'<div class="'+this._promptClass+'">'+u+"</div>":"")+(o&&!b.inline?m:"")+'<div class="ui-datepicker-links">'+(h?w:T)+(this._isInRange(b,
this._get(b,"gotoCurrent")&&b.currentDay?L:f)?'<div class="ui-datepicker-current"><a onclick="jQuery.datepicker._gotoToday(\'#'+b.id+"');\""+(g?this._addStatus(b,this._get(b,"currentStatus")||"&#xa0;"):"")+">"+H+"</a></div>":"")+(h?T:w)+"</div>";u=this._get(b,"firstDay");A=this._get(b,"changeFirstDay");w=this._get(b,"dayNames");H=this._get(b,"dayNamesShort");T=this._get(b,"dayNamesMin");ea=this._get(b,"monthNames");for(var W=this._get(b,"beforeShowDay"),M=this._get(b,"highlightWeek"),r=this._get(b,
"showOtherMonths"),ta=this._get(b,"showWeeks"),ia=this._get(b,"calculateWeek")||this.iso8601Week,y=g?this._get(b,"dayStatus")||"&#xa0;":"",D=this._get(b,"statusForDate")||this.dateStatus,J=b.endDay?this._daylightSavingAdjust(new Date(b.endYear,b.endMonth,b.endDay)):L,P=0,ha=0;ha<q[0];ha++)for(var na=0;na<q[1];na++){var va=this._daylightSavingAdjust(new Date(B,I,b.selectedDay));h+='<div class="ui-datepicker-one-month'+(na==0?" ui-datepicker-new-row":"")+'">'+this._generateMonthYearHeader(b,I,B,E,O,
va,ha>0||na>0,g,ea)+'<table class="ui-datepicker" cellpadding="0" cellspacing="0"><thead><tr class="ui-datepicker-title-row">'+(ta?"<td>"+this._get(b,"weekHeader")+"</td>":"");for(var Ca=0;Ca<7;Ca++){var Ja=(Ca+u)%7,ya=y.indexOf("DD")>-1?y.replace(/DD/,w[Ja]):y.replace(/D/,H[Ja]);h+="<td"+((Ca+u+6)%7>=5?' class="ui-datepicker-week-end-cell"':"")+">"+(!A?"<span":"<a onclick=\"jQuery.datepicker._changeFirstDay('#"+b.id+"', "+Ja+');"')+(g?this._addStatus(b,ya):"")+' title="'+w[Ja]+'">'+T[Ja]+(A?"</a>":
"</span>")+"</td>"}h+="</tr></thead><tbody>";Ja=this._getDaysInMonth(B,I);if(B==b.selectedYear&&I==b.selectedMonth)b.selectedDay=Math.min(b.selectedDay,Ja);Ca=(this._getFirstDayOfMonth(B,I)-u+7)%7;Ja=K?6:Math.ceil((Ca+Ja)/7);ya=this._daylightSavingAdjust(new Date(B,I,1-Ca));for(var Qa=0;Qa<Ja;Qa++){h+='<tr class="ui-datepicker-days-row">'+(ta?'<td class="ui-datepicker-week-col">'+ia(ya)+"</td>":"");for(Ca=0;Ca<7;Ca++){P++;var Oa=W?W.apply(b.input?b.input[0]:null,[ya]):[true,""],oa=ya.getMonth()!=
I,Y=oa||!Oa[0]||E&&ya<E||O&&ya>O,ba=ya.getMonth(),ga=ya.getFullYear(),ma=ya.getMonth()!=I;h+='<td data-date="'+this._formatDate(b,ya.getDate(),ya.getMonth(),ya.getFullYear())+'" data-position="'+P+'" class="ui-datepicker-days-cell'+((Ca+u+6)%7>=5?" ui-datepicker-week-end-cell":"")+(ma?" ui-datepicker-otherMonth":"")+(ya.getTime()==va.getTime()&&I==b.selectedMonth?" ui-datepicker-days-cell-over":"")+(Y?" "+this._unselectableClass:"")+(oa&&!r?"":" "+Oa[1]+(ya.getTime()>=L.getTime()&&ya.getTime()<=J.getTime()?
" "+this._currentClass:"")+(ya.getTime()==f.getTime()?" ui-datepicker-today":""))+'"'+((!oa||r)&&Oa[2]?' title="'+Oa[2]+'"':"")+(Y?M?" onmouseover=\"jQuery(this).parent().addClass('ui-datepicker-week-over');\" onmouseout=\"jQuery(this).parent().removeClass('ui-datepicker-week-over');\"":"":" onmouseover=\"jQuery(this).addClass('ui-datepicker-days-cell-over')"+(M?".parent().addClass('ui-datepicker-week-over')":"")+";"+(!g||oa&&!r?"":"jQuery('#ui-datepicker-status-"+b.id+"').html('"+(D.apply(b.input?
b.input[0]:null,[ya,b])||"&#xa0;")+"');")+"\" onmouseout=\"jQuery(this).removeClass('ui-datepicker-days-cell-over')"+(M?".parent().removeClass('ui-datepicker-week-over')":"")+";"+(!g||oa&&!r?"":"jQuery('#ui-datepicker-status-"+b.id+"').html('&#xa0;');")+'" onclick="jQuery.datepicker._selectDay(\'#'+b.id+"',"+ba+","+ga+', this);"')+">"+(oa?r?ya.getDate():"&#xa0;":Y?ya.getDate():"<a>"+ya.getDate()+"</a>")+"</td>";ya.setDate(ya.getDate()+1);ya=this._daylightSavingAdjust(ya)}h+="</tr>"}I++;if(I>11){I=
0;B++}h+="</tbody></table></div>"}h+=(g?'<div style="clear: both;"></div><div id="ui-datepicker-status-'+b.id+'" class="ui-datepicker-status">'+(this._get(b,"initStatus")||"&#xa0;")+"</div>":"")+(!o&&!b.inline?m:"")+(a.datepicker._get(b,"customRangeSelect")?'<div class="buttonbar clear"><p class="period qPeriod">'+s2.tuifly.util.culture.get("cs-period")+':&nbsp;<span class="qReisedauer"></span>&nbsp;'+s2.tuifly.util.culture.get("cs-days")+'</p><a onclick="jQuery.datepicker._customChooseDate(this);" id="dateButton" class="showButton qNotClickable"><span>'+
s2.tuifly.util.culture.get("cs-apply")+"</span></a></div>":"")+'<div style="clear: both;"></div>';return h},_generateMonthYearHeader:function(b,f,g,h,m,o,q,u,w){h=b.rangeStart&&h&&o<h?o:h;o='<div class="ui-datepicker-header">';if(q||!this._get(b,"changeMonth"))o+=w[f]+"&#xa0;";else{var A=h&&h.getFullYear()==g,H=m&&m.getFullYear()==g;o+='<select class="ui-datepicker-new-month" onchange="jQuery.datepicker._selectMonthYear(\'#'+b.id+"', this, 'M');\" onclick=\"jQuery.datepicker._clickMonthYear('#"+b.id+
"');\""+(u?this._addStatus(b,this._get(b,"monthStatus")||"&#xa0;"):"")+">";for(var K=0;K<12;K++)if((!A||K>=h.getMonth())&&(!H||K<=m.getMonth()))o+='<option value="'+K+'"'+(K==f?' selected="selected"':"")+">"+w[K]+"</option>";o+="</select>"}if(q||!this._get(b,"changeYear"))o+=g;else{f=this._get(b,"yearRange").split(":");w=q=0;if(f.length!=2){q=g-10;w=g+10}else if(f[0].charAt(0)=="+"||f[0].charAt(0)=="-"){q=w=(new Date).getFullYear();q+=parseInt(f[0],10);w+=parseInt(f[1],10)}else{q=parseInt(f[0],10);
w=parseInt(f[1],10)}q=h?Math.max(q,h.getFullYear()):q;w=m?Math.min(w,m.getFullYear()):w;for(o+='<select class="ui-datepicker-new-year" onchange="jQuery.datepicker._selectMonthYear(\'#'+b.id+"', this, 'Y');\" onclick=\"jQuery.datepicker._clickMonthYear('#"+b.id+"');\""+(u?this._addStatus(b,this._get(b,"yearStatus")||"&#xa0;"):"")+">";q<=w;q++)o+='<option value="'+q+'"'+(q==g?' selected="selected"':"")+">"+q+"</option>";o+="</select>"}o+="</div>";return o},_addStatus:function(b,f){return" onmouseover=\"jQuery('#ui-datepicker-status-"+
b.id+"').html('"+f+"');\" onmouseout=\"jQuery('#ui-datepicker-status-"+b.id+"').html('&#xa0;');\""},_adjustInstDate:function(b,f,g){var h=b.drawYear+(g=="Y"?f:0),m=b.drawMonth+(g=="M"?f:0);f=Math.min(b.selectedDay,this._getDaysInMonth(h,m))+(g=="D"?f:0);h=this._daylightSavingAdjust(new Date(h,m,f));m=this._getMinMaxDate(b,"min",true);f=this._getMinMaxDate(b,"max");h=m&&h<m?m:h;h=f&&h>f?f:h;b.selectedDay=h.getDate();b.drawMonth=b.selectedMonth=h.getMonth();b.drawYear=b.selectedYear=h.getFullYear();
if(g=="M"||g=="Y")this._notifyChange(b)},_notifyChange:function(b){var f=this._get(b,"onChangeMonthYear");if(f)f.apply(b.input?b.input[0]:null,[new Date(b.selectedYear,b.selectedMonth,1),b])},_getNumberOfMonths:function(b){b=this._get(b,"numberOfMonths");return b==null?[1,1]:typeof b=="number"?[1,b]:b},_getMinMaxDate:function(b,f,g){f=this._determineDate(this._get(b,f+"Date"),null);return!g||!b.rangeStart?f:!f||b.rangeStart>f?b.rangeStart:f},_getDaysInMonth:function(b,f){return 32-(new Date(b,f,32)).getDate()},
_getFirstDayOfMonth:function(b,f){return(new Date(b,f,1)).getDay()},_canAdjustMonth:function(b,f,g,h){var m=this._getNumberOfMonths(b);g=this._daylightSavingAdjust(new Date(g,h+(f<0?f:m[1]),1));f<0&&g.setDate(this._getDaysInMonth(g.getFullYear(),g.getMonth()));return this._isInRange(b,g)},_isInRange:function(b,f){var g=!b.rangeStart?null:this._daylightSavingAdjust(new Date(b.selectedYear,b.selectedMonth,b.selectedDay));g=(g=g&&b.rangeStart<g?b.rangeStart:g)||this._getMinMaxDate(b,"min");var h=this._getMinMaxDate(b,
"max");return(!g||f>=g)&&(!h||f<=h)},_getFormatConfig:function(b){var f=this._get(b,"shortYearCutoff");f=typeof f!="string"?f:(new Date).getFullYear()%100+parseInt(f,10);return{shortYearCutoff:f,dayNamesShort:this._get(b,"dayNamesShort"),dayNames:this._get(b,"dayNames"),monthNamesShort:this._get(b,"monthNamesShort"),monthNames:this._get(b,"monthNames")}},_formatDate:function(b,f,g,h){if(!f){b.currentDay=b.selectedDay;b.currentMonth=b.selectedMonth;b.currentYear=b.selectedYear}f=f?typeof f=="object"?
f:this._daylightSavingAdjust(new Date(h,g,f)):this._daylightSavingAdjust(new Date(b.currentYear,b.currentMonth,b.currentDay));return this.formatDate(this._get(b,"dateFormat"),f,this._getFormatConfig(b))}});a.fn.datepicker=function(b){var f=Array.prototype.slice.call(arguments,1);if(typeof b=="string"&&(b=="isDisabled"||b=="getDate"))return a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this[0]].concat(f));return this.each(function(){typeof b=="string"?a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,
[this].concat(f)):a.datepicker._attachDatepicker(this,b);a.datepicker.inputs.push(this)})};a.datepicker=new c;a.datepicker.inputs=[];a(document).ready(function(){a(document.body).append(a.datepicker.dpDiv)})})(jQuery);
jQuery(function(a){a.datepicker.regional.de={clearText:"löschen",clearStatus:"aktuelles Datum löschen",flightHeadlineText:"Hinflugdatum",returnHeadlineText:"Rückflugdatum",closeText:"schließen",closeStatus:"ohne Änderungen schließen",prevText:"&#x3c;zurück",prevStatus:"letzten Monat zeigen",nextText:"Vor&#x3e;",nextStatus:"nächsten Monat zeigen",currentText:"heute",currentStatus:"",monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],
monthNamesShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],monthStatus:"anderen Monat anzeigen",yearStatus:"anderes Jahr anzeigen",weekHeader:"Wo",weekStatus:"Woche des Monats",dayNames:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],dayNamesShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayNamesMin:["So","Mo","Di","Mi","Do","Fr","Sa"],dayStatus:"Setze DD als ersten Wochentag",dateStatus:"Wähle D, M d",dateFormat:"dd.mm.yy",firstDay:1,initStatus:"Wähle ein Datum",
isRTL:false}});
jQuery(function(a){a.datepicker.regional.it={flightHeadlineText:"Data di partenza",returnHeadlineText:"Data di ritorno",closeText:"Chiudi",prevText:"&#x3c;Prec",nextText:"Succ&#x3e;",currentText:"Oggi",monthNames:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthNamesShort:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],dayNames:["Domenica","Luned&#236","Marted&#236","Mercoled&#236","Gioved&#236",
"Venerd&#236","Sabato"],dayNamesShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],dayNamesMin:["Do","Lu","Ma","Me","Gio","Ve","Sa"],dateFormat:"dd/mm/yy",firstDay:1,isRTL:false}});jQuery(function(a){a.datepicker.regional.gb={dateFormat:"dd/mm/yy",flightHeadlineText:"Date of outbound flight",returnHeadlineText:"Date of return flight"}});
jQuery(function(a){a.datepicker.regional.es={flightHeadlineText:"Fecha del vuelo de ida",returnHeadlineText:"Fecha del vuelo de vuelta",dateFormat:"dd.mm.yy",firstDay:1,closeText:"Chiudi",prevText:"&#x3c;Prec",nextText:"Succ&#x3e;",currentText:"Oggi",monthNames:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],monthNamesShort:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],dayNames:["Domingo","Lunes","Martes",
"Mi&#233rcoles","Jueves","Viernes","S&#225bado"],dayNamesShort:["Dom","Lun","Mar","Mi&#233","Jue","Vie","S&#225b"],dayNamesMin:["Do","Lu","Ma","Mi","Ju","Vi","S&#225"]}});var overrideBagInputValidation=false;function setViewFlash(a){s2.tuifly.helper.farefinderVerlaufSelector.trace("setView: "+a)}function filterString(){return true}function addEvent(a,c,d){if(a.addEventListener){a.addEventListener(c,d,true);return true}else return a.attachEvent?a.attachEvent("on"+c,d):false}
function erase(a,c){if(a.value==c)a.value=""}function set(a,c){if(a.value=="")a.value=c}jQuery.extend(jQuery.expr[":"],{submitable:"!a.disabled&&(a.selected||a.checked||(a.nodeName.toUpperCase()=='TEXTAREA')||(a.nodeName.toUpperCase()=='INPUT'&&(a.type=='text'||a.type=='hidden'||a.type=='password')))",nothidden:"a.type&&a.type!='hidden'"});$(function(){document.SkySales=document.forms.SkySales});var errorsHeader="Please correct the following.\n\n";
function Validate(a,c,d,b){this.form=a;this.namespace=c;this.errors="";this.setfocus=null;this.errorsHeader=d;this.namedErrors=[];if(b)this.regexElementIdFilter=b;this.requiredAttribute="required";this.requiredEmptyAttribute="requiredempty";this.validationTypeAttribute="validationtype";this.regexAttribute="regex";this.minLengthAttribute="minlength";this.numericMinLengthAttribute="numericminlength";this.maxLengthAttribute="maxlength";this.numericMaxLengthAttribute="numericmaxlength";this.minValueAttribute=
"minvalue";this.maxValueAttribute="maxvalue";this.equalsAttribute="equals";this.validateIfCheckedOnlyAttribute="validateIfCheckedOnly";this.validateIfNotCheckedOnlyAttribute="validateIfNotCheckedOnly";this.defaultErrorAttribute="error";this.requiredErrorAttribute="requirederror";this.validationTypeErrorAttribute="validationtypeerror";this.regexErrorAttribute="regexerror";this.minLengthErrorAttribute="minlengtherror";this.maxLengthErrorAttribute="maxlengtherror";this.minValueErrorAttribute="minvalueerror";
this.maxValueErrorAttribute="maxvalueerror";this.equalsErrorAttribute="equalserror";this.defaultError="{label} is invalid.";this.defaultRequiredError="{label} is required.";this.defaultRegexError=this.defaultValidationTypeError="{label} is invalid.";this.defaultMinLengthError="{label} is too short in length.";this.defaultMaxLengthError="{label} is too long in length.";this.defaultMinValueError="{label} must be greater than {minValue}.";this.defaultMaxValueError="{label} must be less than {maxValue}.";
this.defaultEqualsError="{label} is not equal to {equals}";this.defaultNotEqualsError="{label} cannot equal {equals}";this.defaultValidationErrorClass="validationError";this.defaultValidationErrorLabelClass="validationErrorLabel";this.requiredErrorOccured=false;this.run=run;this.runBySelector=runBySelector;this.validateSingleElement=validateSingleElement;this.outputErrors=outputErrors;this.checkFocus=checkFocus;this.setError=setError;this.cleanAttributeForErrorDisplay=cleanAttributeForErrorDisplay;
this.validateRequired=validateRequired;this.validateType=validateType;this.validateRegex=validateRegex;this.validateMinLength=validateMinLength;this.validateMaxLength=validateMaxLength;this.validateMinValue=validateMinValue;this.validateMaxValue=validateMaxValue;this.validateEquals=validateEquals;this.isExemptFromValidation=isExemptFromValidation;this.setValidateTypeError=setValidateTypeError;this.validateAmount=validateAmount;this.validateDate=validateDate;this.validateMod10=validateMod10;this.validateNumeric=
validateNumeric;this.stringPattern="^.+$";this.upperCaseStringPattern="^[A-Z]([A-Z)|s)*$";this.numericPattern="^\\d+$";this.numericStripper=/\D/g;this.alphaNumericPattern="^\\w+$";this.amountPattern="^(\\d+((\\.|,)\\d+)*)$";this.dateYearPattern="^\\d{4}$";this.dateDayPattern=this.dateMonthPattern="^\\d{2}$";this.emailPattern=/^(?:[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-zA-Z0-9-]*[a-zA-Z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/}
function run(){for(var a=$("#SkySales").find(":input").get(),c=0;c<a.length;c++){var d=a[c];this.isExemptFromValidation(d)||this.validateSingleElement(d)}return this.outputErrors()}function runBySelector(a){a=$(a).find(":input").get();for(var c=0;c<a.length;c++)this.validateSingleElement(a[c]);return false}function isExemptFromValidation(a){if(a.id.indexOf(this.namespace)!=0)return true;if(this.regexElementIdFilter&&!a.id.match(this.regexElementIdFilter))return true;return false}
function outputErrors(){if(this.errors){alert(this.errorsHeader+this.errors);this.setfocus&&this.setfocus.focus();return false}return true}
function validateSingleElement(a){$(a).removeClass(this.defaultValidationErrorClass);$("label[for="+a.id+"]").eq(0).removeClass(this.defaultValidationErrorLabelClass);var c=this.errors.length;this.validateRequired(a);if(c+1==this.errors.length)this.requiredErrorOccured=this.errors[this.errors.length-1].isRequiredError=true;c=getValue(a);if(this.errors.length<1&&c&&0<c.length){this.validateType(a);this.validateMinAge(a);this.validateRegex(a);this.validateMinLength(a);this.validateMaxLength(a);this.validateMinValue(a);
this.validateMaxValue(a);this.validateEquals(a)}}function validateMinAge(a){var c=$(a).attr(this.minAgeAttribute);if(c==null)c=a.getAttribute(this.minAgeAttribute);var d=a.id;if(d.indexOf("Year">0)&&c>0){var b=parseInt(getValue(a)),f=d.replace(/Year$/,"Month");d=d.replace(/Year$/,"Day");f=parseInt($("#"+f).val())-1;d=parseInt($("#"+d).val());if(d>0&&f>0&&b>0){b=new Date(b,f,d);c=Date.today().addYears(-1*c);b>c&&this.setError(a,this.minAgeErrorAttribute,this.defaultMinAgeError,true)}}}
function checkFocus(a){if(!this.setfocus)this.setfocus=a}
function validateRequired(a){var c=this.requiredEmptyAttribute,d=a.getAttribute(this.requiredAttribute);c=a.getAttribute(c);var b=this.validateIfNotCheckedOnlyAttribute,f=a.getAttribute(this.validateIfCheckedOnlyAttribute);b=a.getAttribute(b);if(f!=null){var g=document.getElementById(f);g||(g=document.getElementById(this.namespace+f));if(g!=null)if($(g).attr("type")=="checkbox"&&!g.checked||$(g).attr("type")!="checkbox"&&$(g).val()!="checked")d=null}if(b!=null){g=document.getElementById(this.namespace+
b);if(g!=null)if(g.checked!=undefined)if(g.type=="checkbox"&&g.checked!=false||g.type!="checkbox"&&g.value=="checked")d=null}if(d!=null){d=d.toString();d=d.toLowerCase();if(c!=null)c=c.toLowerCase();if(d=="true"){d=getValue(a);if(d!=null)if(d.length<1||d.toLowerCase()==c)this.setError(a,this.requiredErrorAttribute,this.defaultRequiredError)}}}
function getValue(a){if(a)if(a.type=="radio"){if(a.getAttribute("name").length>0){a=document.getElementsByName(a.getAttribute("name"));for(var c=0;c<a.length;c++)if(a[c].checked==true)return a[c].value}return""}else if(a.type=="checkbox"){if(a.checked==true)return a.value}else return a.value;return""}
function validateType(a){var c=$(a).attr(this.validationTypeAttribute);if(c==null)c=a.getAttribute(this.validationTypeAttribute);var d=getValue(a);if(c){c=c.toLowerCase();if(c=="address"&&!d.match(this.stringPattern))this.setValidateTypeError(a);else if(c=="alphanumeric"&&!d.match(this.alphaNumericPattern))this.setValidateTypeError(a);else if(c=="amount"&&!this.validateAmount(d))this.setValidateTypeError(a);else if(c=="country"&&!d.match(this.stringPattern))this.setValidateTypeError(a);else if(c==
"email"&&!d.match(this.emailPattern))this.setValidateTypeError(a);else if(c=="mod10"&&!this.validateMod10(d))this.setValidateTypeError(a);else if(c=="name"&&!d.match(this.stringPattern))this.setValidateTypeError(a);else if(c=="numeric"&&!this.validateNumeric(d))this.setValidateTypeError(a);else if(c.indexOf("date")==0&&!this.validateDate(a,c,d))this.setValidateTypeError(a);else if(c=="state"&&!d.match(this.stringPattern))this.setValidateTypeError(a);else if(c=="string"&&!d.match(this.stringPattern))this.setValidateTypeError(a);
else if(c=="uppercasestring"&&!d.match(this.upperCaseStringPattern))this.setValidateTypeError(a);else c=="zip"&&!d.match(this.stringPattern)&&this.setValidateTypeError(a)}}function validateRegex(a){var c=$(a).attr(this.regexAttribute);if(c==null)c=a.getAttribute(this.regexAttribute);var d=getValue(a);c&&!d.match(c)&&this.setError(a,this.regexErrorAttribute,this.defaultRegexError)}
function validateMinLength(a){var c=$(a).attr(this.minLengthAttribute),d=$(a).attr(this.numericMinLengthAttribute);if(c==null)c=a.getAttribute(this.minLengthAttribute);d=null;var b=getValue(a);if(0<c&&b.length<c)this.setError(a,this.minLengthErrorAttribute,this.defaultMinLengthError);else 0<d&&0<b.length&&b.replace(this.numericStripper,"").length<d&&this.setError(a,this.minLengthErrorAttribute,this.defaultMinLengthError)}
function validateMaxLength(a){var c=$(a).attr(this.maxLengthAttribute);$(a).attr(this.numericMaxLengthAttribute);if(c==null)c=a.getAttribute(this.maxLengthAttribute);numericLength=null;var d=getValue(a);if(0<c&&c<d.length)this.setError(a,this.maxLengthErrorAttribute,this.defaultMaxLengthError);else 0<numericLength&&0<d.length&&numericLength<d.replace(this.numericStripper,"").length&&this.setError(a,this.maxLengthErrorAttribute,this.defaultMaxLengthError)}
function validateMinValue(a){var c=$(a).attr(this.minValueAttribute);if(c==null)c=a.getAttribute(this.minValueAttribute);if(c!=null&&0<c.length){var d=getValue(a);if(5<c.length&&c.substring(0,5)=="&gt;=")d<parseFloat(c.substring(5,c.length))&&this.setError(a,this.minValueErrorAttribute,this.defaultMinValueError);else if(4<c.length&&c.substring(0,4)=="&gt;")d<=parseFloat(c.substring(4,c.length))&&this.setError(a,this.minValueErrorAttribute,this.defaultMinValueError);else d<parseFloat(c)&&this.setError(a,
this.minValueErrorAttribute,this.defaultMinValueError)}}
function validateMaxValue(a){var c=$(a).attr(this.maxValueAttribute);if(c==null)c=a.getAttribute(this.maxValueAttribute);if(c!=null&&0<c.length){var d=getValue(a);if(5<c.length&&c.substring(0,5)=="&lt;=")d>parseFloat(c.substring(5,c.length))&&this.setError(a,this.maxValueErrorAttribute,this.defaultMaxValueError);else if(4<c.length&&c.substring(0,4)=="&lt;")d>=parseFloat(c.substring(4,c.length))&&this.setError(a,this.maxValueErrorAttribute,this.defaultMaxValueError);else parseFloat(d)>c&&this.setError(a,
this.maxValueErrorAttribute,this.defaultMaxValueError)}}
function validateEquals(a){var c=$(a).attr(this.equalsAttribute);if(c==null)c=a.getAttribute(this.equalsAttribute);if(c!=null&&0<c.length){var d=getValue(a);if(2<c.length&&c.substring(0,2)=="!=")d==c.substring(2,c.length)&&this.setError(a,this.equalsErrorAttribute,this.defaultEqualsError);else if(2<c.length&&c.substring(0,2)=="==")d!=c.substring(2,c.length)&&this.setError(a,this.equalsErrorAttribute,this.defaultEqualsError);else if(c.charAt(0)=="=")d!=c.substring(1,c.length)&&this.setError(a,this.equalsErrorAttribute,
this.defaultEqualsError);else d!=c&&this.setError(a,this.equalsErrorAttribute,this.defaultEqualsError)}}function setValidateTypeError(a){this.setError(a,this.validationTypeErrorAttribute,this.defaultValidationTypeError)}
function setError(a,c,d){if(a.type=="radio"){var b=a.getAttribute("name");if(b.length>0){if(this.namedErrors[b]!=null)return;this.namedErrors[b]=b}}b=$(a).attr(c);if(b==null)b=a.getAttribute(c);b||(b=$(a).attr(this.defaultErrorAttribute)?$(a).attr(this.defaultErrorAttribute):d?d:this.defaultError);if(c=b.match(/{\s*(\w+)\s*}/g))for(d=0;d<c.length;d++){var f=c[d].replace(/{\s*(\w+)\s*}/,"$1");b=b.replace(/{\s*\w+\s*}/,this.cleanAttributeForErrorDisplay(a,f))}$(a).addClass(this.defaultValidationErrorClass);
$("label[for="+a.id+"]").eq(0).addClass(this.defaultValidationErrorLabelClass);this.errors+=b+"\n";this.checkFocus(a)}function cleanAttributeForErrorDisplay(a,c){c=c.toLowerCase();var d="";if(c=="label")d=$("label[for="+a.id+"]").eq(0).text();if(c=="description")d=$("select[id="+a.id+"]").eq(0).attr("description");if(d==null||d=="")d=a.id;if(d==null)return c;if(c.match(/^(minvalue|maxvalue)$/i))return d.replace(/[^\d.,]/g,"");return d}
function validateAmount(a){if(!a.match(this.amountPattern)||a==0)return false;return true}function validateDate(a,c,d){a="";if(c)a=c.toLowerCase();c=new Date;if(a=="dateyear"&&(d<c.getYear()||!d.match(this.dateYearPattern)))return false;else if(a=="datemonth"&&!d.match(this.dateMonthPattern))return false;else if(a=="dateday"&&!d.match(this.DateDayPattern))return false;return true}
function validateMod10(a){a=a.replace(/ /g,"");if(!/\D/.test(a)){for(var c,d=0;a.length<16;)a="0"+a;for(digitCounter=a.length-1;0<=digitCounter;digitCounter-=2){d+=parseInt(a.charAt(digitCounter));c=String(a.charAt(digitCounter-1)*2);for(var b=0;b<c.length;b++)d+=parseInt(c.charAt(b))}return d%10==0}return false}function validateNumeric(a){a=a.replace(/\s/g,"");if(!a.match(this.numericPattern))return false;return true}
function validateBySelector(a){if(a!=null){var c=new Validate(null,"",errorsHeader,null);c.runBySelector(a);return c.outputErrors()}return true}function validate(a,c,d){if(document.getElementById&&document.createTextNode){if(a.getAttribute)a=a.getAttribute("id").replace(/_\w+$/,"");d=new Validate(document.SkySales,a+"_",errorsHeader,d);if(c){var b=c;c.getAttribute||(b=document.getElementById(a+"_"+c));d.validateSingleElement(b);return d.outputErrors()}return d.run()}return true}
var submitterClicked=false;function preventDoubleClick(){if(!submitterClicked)return submitterClicked=true;return false}var events=[];function register(a,c){if(events[a]===undefined)events[a]=[];events[a][events[a].length]=c}function raise(a,c){if(events[a]!=void 0)for(var d=0;d<events[a].length;d++)if(window[events[a][d]](c)==false)return false;return true}function WindowLoadEventArgs(){}
function WindowInitialize(){s2.Logger.debug("WindowInitialize");var a=window.onload;s2.Logger.debug("Fire WindowInitialize ready");raise("WindowLoad",new WindowLoadEventArgs);if(a){a();window.onload=function(){s2.Logger.debug("onload")}}}
function displayPopUpConverter(){if(!window.converterWindow||converterWindow.closed)converterWindow=window.open("CurrencyConverter.aspx","converter","width=360,height=300,toolbar=0,status=0,location=0,menubar=0,scrollbars=1,resizable=1");else{converterWindow.open("CurrencyConverter.aspx","converter","width=360,height=300,toolbar=0,status=0,location=0,menubar=0,scrollbars=1,resizable=1");converterWindow.focus()}}
function hideShow(a,c){if(document.getElementById&&document.getElementById(a))if(document.getElementById(c).checked==true)document.getElementById(a).style.display="inline";else document.getElementById(a).style.display="none"}var jsLoadedCommon=true;
function changeDest_S2(a,c,d){if(c){var b=0,f="";if(typeof s2=="undefined"&&parseInt(a.selectedIndex,10)>0){f=c.options[0].text;var g=parseInt(a.selectedIndex,10);a=a.options[g].value;c.length=1;c.options[0]=new Option(f);if(c.requiredempty)c.options[0].value=c.requiredempty;for(g=0;g<SortedStations.length;g++){for(j=0;j<Stations[a].mkts.length;j++){var h=Stations[a].mkts[j];if(Stations[h])if(SortedStations[g]==h&&Stations[h].validDest==true){if(h==d)b=c.length;c.length+=1;f=showStationCodes?Stations[h].name+
" ("+h+")":Stations[h].name;c.options[c.length-1]=new Option(f);c.options[c.length-1].value=h;break}}if(c.length-1==Stations[a].mkts.length)break}c.selectedIndex=b}else fillList(c,d)}else s2.Logger.debug("There's no DropDownDest!")}var lastListContent;
function fillList(a,c){if(a){if(!location.pathname.match(/^\/Select\.aspx/,"i")&&!location.pathname.match(/Change\.aspx/,"i")&&$(a).attr("id").match(/DropDownListMarketDestination/,"i"))c="";if(a.options.length>1)$(a).val(c);else{var d=a.options[0]?a.options[0].text:"";if(c==""&&a.selectedIndex>-1)c=a.options[a.selectedIndex].value;a.length=1;d=['<option value="'+(a.requiredempty?a.requiredempty:"")+'">'+d+"</option>"];for(var b="",f=0;f<SortedStations.length;f++){var g=SortedStations[f];if(b=Stations[g])if(b.validDest){var h=
false;if(c==g)h=true;b=b.name+" ("+g+")";d.push('<option value="'+g+'"'+(h?" selected=selected":"")+">"+b+"</option>")}}a.innerHTML="";$(a).html(d.join(""))}}else s2.Logger.debug("There's no DropDownDest!")}
var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(a){var c="",d,b,f,g,h,m,o=0;for(a=Base64._utf8_encode(a);o<a.length;){d=a.charCodeAt(o++);b=a.charCodeAt(o++);f=a.charCodeAt(o++);g=d>>2;d=(d&3)<<4|b>>4;h=(b&15)<<2|f>>6;m=f&63;if(isNaN(b))h=m=64;else if(isNaN(f))m=64;c=c+this._keyStr.charAt(g)+this._keyStr.charAt(d)+this._keyStr.charAt(h)+this._keyStr.charAt(m)}return c},decode:function(a){var c="",d,b,f,g,h,m=0;for(a=a.replace(/[^A-Za-z0-9\+\/\=]/g,
"");m<a.length;){d=this._keyStr.indexOf(a.charAt(m++));b=this._keyStr.indexOf(a.charAt(m++));g=this._keyStr.indexOf(a.charAt(m++));h=this._keyStr.indexOf(a.charAt(m++));d=d<<2|b>>4;b=(b&15)<<4|g>>2;f=(g&3)<<6|h;c+=String.fromCharCode(d);if(g!=64)c+=String.fromCharCode(b);if(h!=64)c+=String.fromCharCode(f)}return c=Base64._utf8_decode(c)},_utf8_encode:function(a){a=a.replace(/\r\n/g,"\n");for(var c="",d=0;d<a.length;d++){var b=a.charCodeAt(d);if(b<128)c+=String.fromCharCode(b);else{if(b>127&&b<2048)c+=
String.fromCharCode(b>>6|192);else{c+=String.fromCharCode(b>>12|224);c+=String.fromCharCode(b>>6&63|128)}c+=String.fromCharCode(b&63|128)}}return c},_utf8_decode:function(a){for(var c="",d=0,b=c1=c2=0;d<a.length;){b=a.charCodeAt(d);if(b<128){c+=String.fromCharCode(b);d++}else if(b>191&&b<224){c2=a.charCodeAt(d+1);c+=String.fromCharCode((b&31)<<6|c2&63);d+=2}else{c2=a.charCodeAt(d+1);c3=a.charCodeAt(d+2);c+=String.fromCharCode((b&15)<<12|(c2&63)<<6|c3&63);d+=3}}return c}};
function Cookie(){var a=new Date(2030,12,31);Cookie.prototype.work=function(){this.set("test","true");retVal=this.get("test")!=null;this.del("test");return retVal};Cookie.prototype.set=function(c,d){document.cookie=c+"="+d+"; path=/"};Cookie.prototype.setPersistent=function(c,d,b){b||(b=a);document.cookie=c+"="+d+"; expires="+b.toGMTString()+"; path=/"};Cookie.prototype.get=function(c){var d=document.cookie.indexOf(c+"=");if(-1!=d){var b=document.cookie.slice(d).indexOf(";");return mValue=document.cookie.slice(d+
c.length+1,-1!=b?b+d:document.cookie.length)}return null};Cookie.prototype.del=function(c){document.cookie=c+"=; expires="+(new Date((new Date).getTime()+-1E4)).toGMTString()+"; path=/"}}cookie=new Cookie;var previousPromoCode="";function promoCodes_ValidatePromoCodeForSubmit(){if(document.getElementById(applicationJavaScriptHtmlId+"_TextBoxPromoCode")!=null&&promoCodes_ValidatePromoCode()==false)document.getElementById(applicationJavaScriptHtmlId+"_TextBoxPromoCode").value="";return true}
function promoCodes_ValidatePromoCodeForFlightChange(){promoCodes_ValidatePromoCode();return true}
function promoCodes_ValidatePromoCode(){var a=document.getElementById(applicationJavaScriptHtmlId+"_TextBoxPromoCode");if(a!=null)var c=a.value;if(c!=undefined){previousPromoCode=c;if(c.length>=6){promoCode=c.toLowerCase();a=GetSelectedValue(applicationJavaScriptHtmlId+"_DropDownListMarketOrigin1")+"-"+GetSelectedValue(applicationJavaScriptHtmlId+"_DropDownListMarketDestination1");c=GetSelectedValue(applicationJavaScriptHtmlId+"_DropDownListMarketDestination1")+"-"+GetSelectedValue(applicationJavaScriptHtmlId+
"_DropDownListMarketOrigin1");var d=GetSelectedValue(applicationJavaScriptHtmlId+"_DropDownListMarketMonth1")+"-"+GetSelectedValue(applicationJavaScriptHtmlId+"_DropDownListMarketDay1")+" 00:00:00";if(PromoCodes[promoCode]==undefined){txtInvalidPromoDisplay=txtInvalidPromo;togglePromoCodeIcon("invalid");return false}else{txtValidPromoDisplay=txtValidPromo;if(d>=PromoCodes[promoCode].travelDateRangeBegin&&(d<=PromoCodes[promoCode].travelDateRangeEnd||PromoCodes[promoCode].travelDateRangeEnd=="")){if(PromoCodes[promoCode].routes.length>
0){d=" ";for(var b in PromoCodes[promoCode].routes){var f=PromoCodes[promoCode].routes[b];if(f==a||f==c){togglePromoCodeIcon("valid");return true}d!=" "?d+=", "+f:d+=f}txtValidPromoButRouteDisplay=txtValidPromoButRoute;togglePromoCodeIcon("validButRoute");return true}togglePromoCodeIcon("valid");return true}txtValidPromoButDateDisplay=txtValidPromoButDate;togglePromoCodeIcon("validButDate");return true}}else togglePromoCodeIcon("")}return true}
function togglePromoCodeIcon(a){if(a=="valid"){document.getElementById(applicationJavaScriptHtmlId+"_PromoCodeValid").style.display="inline";document.getElementById(applicationJavaScriptHtmlId+"_PromoCodeValidButDate").style.display="none";document.getElementById(applicationJavaScriptHtmlId+"_PromoCodeValidButRoute").style.display="none";document.getElementById(applicationJavaScriptHtmlId+"_PromoCodeInvalid").style.display="none"}else if(a=="validButDate"){document.getElementById(applicationJavaScriptHtmlId+
"_PromoCodeValid").style.display="none";document.getElementById(applicationJavaScriptHtmlId+"_PromoCodeValidButDate").style.display="inline";document.getElementById(applicationJavaScriptHtmlId+"_PromoCodeValidButRoute").style.display="none";document.getElementById(applicationJavaScriptHtmlId+"_PromoCodeInvalid").style.display="none"}else if(a=="validButRoute"){document.getElementById(applicationJavaScriptHtmlId+"_PromoCodeValid").style.display="none";document.getElementById(applicationJavaScriptHtmlId+
"_PromoCodeValidButDate").style.display="none";document.getElementById(applicationJavaScriptHtmlId+"_PromoCodeValidButRoute").style.display="inline";document.getElementById(applicationJavaScriptHtmlId+"_PromoCodeInvalid").style.display="none"}else if(a=="invalid"){document.getElementById(applicationJavaScriptHtmlId+"_PromoCodeValid").style.display="none";document.getElementById(applicationJavaScriptHtmlId+"_PromoCodeValidButDate").style.display="none";document.getElementById(applicationJavaScriptHtmlId+
"_PromoCodeValidButRoute").style.display="none";document.getElementById(applicationJavaScriptHtmlId+"_PromoCodeInvalid").style.display="inline"}else{document.getElementById(applicationJavaScriptHtmlId+"_PromoCodeValid").style.display="none";document.getElementById(applicationJavaScriptHtmlId+"_PromoCodeValidButDate").style.display="none";document.getElementById(applicationJavaScriptHtmlId+"_PromoCodeValidButRoute").style.display="none";document.getElementById(applicationJavaScriptHtmlId+"_PromoCodeInvalid").style.display=
"none"}}function getElement(a){return document.all?document.all[a]:document.getElementById(a)}function toggleVisibility(a){if(a=getElement(a))a.style.display=a.style.display=="none"?"block":"none"}function setVisibility(a,c){var d=getElement(a);if(d)d.style.display=c?"block":"none"}
function showSSRsExtra(){if(document.getElementById("outerDivSSRs").style.display=="none"){document.getElementById("outerDivSSRs").style.display="block";document.getElementById("showSSRs").checked=true}else{document.getElementById("outerDivSSRs").style.display="none";document.getElementById("showSSRs").checked=false}}
function showDetail(a,c){if(document.getElementById(a).style.display=="none"){document.getElementById(a).style.display="block";document.getElementById(c).src="/skyres/images/icon_minus.gif"}else{document.getElementById(a).style.display="none";document.getElementById(c).src="/skyres/images/icon_plus.gif"}}
function switchLanguage(a){var c=location.pathname.split("/")[1],d=a.split("/"),b=d[1];if(c=="de"&&b=="de")document.cookie=d[2].indexOf("_at.")!=-1?"userLang=at;":"userLang=de;";else if(c=="en"&&b=="en")document.cookie=d[2].indexOf("_ire.")!=-1?"userLang=ire;":"userLang=en;";document.location.href=a}
function registerNewsletter(a,c,d,b,f,g,h,m){var o=new Image,q="/cgi-bin/newsletter.pl?";q=q+"email="+encodeURI(a);q=q+"&sex="+encodeURI(c);q=q+"&firstname="+encodeURI(d);q=q+"&lastname="+encodeURI(b);q=q+"&country="+encodeURI(f);q=q+"&airport="+encodeURI(g);q=q+"&language="+encodeURI(h);q=q+"&source="+encodeURI(m);o.src=q}function gotoInterrent(){window.open("http://www.interrent.de/innsbruck/hlx/Homepage.do","blank")}
function showFlugziel(a){if(flugziele[a])top.location.href=flugziele[a];else alert(message.noDestPage)}function showWeinziel(a){if(weinziele[a])top.location.href=weinziele[a];else alert(message.noDestWinePage)}
function popup(a,c,d){var b=0,f=0,g=screen.availWidth,h=screen.availHeight,m=d.split(",");for(i=0;i<m.length;i++){if(m[i].indexOf("width")!=-1){tmpArray2=m[i].split("=");b=tmpArray2[1]}if(m[i].indexOf("height")!=-1){tmpArray2=m[i].split("=");f=tmpArray2[1]}}b=eval(g/2-b/2);f=eval(h/2-f/2);d+=",top="+f+",left="+b;a=window.open(a,c,d+",dependent=yes");a!=null&&a.focus&&a.focus()}function switchFormToDynamic(){}
function buildLink(a,c){var d=a,b=document.location.href.match(/^(http[s]?):\/\/([^\/]*)(\/.*)$/i);if(b!=null){var f=b[1],g=b[2];b=b[3];var h=b.lastIndexOf("/");h=b.substring(0,h+1);g.match(/^([^:]*):[0-9]*$/);b=d.match(/^(http[s]?):\/\/([^\/]*)(\/.*)$/i);if(b!=null){f=b[1];d=b[3]}if(d.charAt(0)!="/")d=h+d;g=f=="https"?c?document.dynamic_server_ssl:document.static_server_ssl:c?document.dynamic_server:document.static_server;d=g+d}return d}
function openAuto(a,c){top.location.href=a=="PMI"?url_auto+"?TUIMietwagen&Land=Spanien&Ort=Mallorca":a=="TURBO"?url_auto+"?MCS="+c:url_auto+"?locale=DE&MCS=https://microsite.europcar.com/hapaglloydexpress&IATA=0677316&PROMO=41113594&FTPROG=false&CNTRY=DE&STATIONCO="+autoCodes[a]+"&ACRISS=C"}
function openHotel(a){if(a=="BRI")a="Apulien & Molise";else if(a=="TXL")a="Berlin";else if(a=="BIO")a="Baskenland / País Vasco";else if(a=="CVT")a="England / West Midlands";else if(a=="DUB")a="Osten / Leinster / Dublin & Umgebung";else if(a=="EDI")a="Schottland";else if(a=="HAM")a="Hamburg";else if(a=="HAJ")a="Hannover & Umgebung";else if(a=="KLU")a="Kärnten & Osttirol";else if(a=="CGN")a="Köln";else if(a=="BGY")a="Northern Italy / Milan & environs";else if(a=="PMI")a="Balearen / Mallorca";else if(a==
"MAN")a="England / Nordwesten";else if(a=="MRS")a="Provence-Alpes-Côte d'Azur";else if(a=="MUC")a="Bayern / München & Umgebung";else if(a=="NAP")a="Kampanien / Neapel & Umgebung";else if(a=="NCL")a="England / Nordosten / Northumberland";else if(a=="OLB")a="Sardinien (Norden)";else if(a=="PMO")a="Sizilien / Palermo & Umgebung";else if(a=="PSA")a="Toskana";else if(a=="CIA")a="Latium / Rom & Umgebung";else if(a=="RJK")a="Kvarner Bucht / Rijeka";else if(a=="SZG")a="Salzburg Stadt";else if(a=="STR")a=
"Stuttgart & Umgebung";else if(a=="ARN")a="Stockholm & Umgebung";else if(a=="SNN")a="Süden / Munster";else if(a=="VLC")a="Valencia & Umgebung";else if(a=="VCE")a="Venetien & Friaul-Julisch Venetien";a=escape(a);top.location.href=url_hotel+"?Hotelportal&Reiseziel="+a}
function openHotelEn(a){if(a=="BRI")a="Apulia";else if(a=="TXL")a="Berlin";else if(a=="BIO")a="Baskenland / País Vasco";else if(a=="CVT")a="England / West Midlands";else if(a=="DUB")a="East / Leinster";else if(a=="EDI")a="Edinburgh";else if(a=="HAM")a="Hamburg";else if(a=="HAJ")a="Hanover";else if(a=="KLU")a="Carinthia & Eastern Tyrol";else if(a=="CGN")a="Cologne";else if(a=="BGY")a="Northern Italy / Milan & environs";else if(a=="PMI")a="Balearic Islands / Majorca";else if(a=="MAN")a="England / North West";
else if(a=="MRS")a="Provence-Alpes-Côte d'Azur ";else if(a=="MUC")a="Munich & environment";else if(a=="NAP")a="Naples & environs";else if(a=="NCL")a="England / North East / Northumberland";else if(a=="OLB")a="Sardinia (Northern parts)";else if(a=="PMO")a="Sicily / Palermo & environs";else if(a=="PSA")a="Tuscany";else if(a=="CIA")a="Lazio / Rome";else if(a=="RJK")a="Kvarn Bay / Rijeka";else if(a=="SZG")a="Salzburg City";else if(a=="STR")a="Stuttgart";else if(a=="ARN")a="Stockholm";else if(a=="SNN")a=
"South / Munster";else if(a=="VLC")a="Valencia";else if(a=="VCE")a="Venice & environs";a=escape(a);top.location.href=url_hotel+"?Hotelportal&Locale=en_GB&Reiseziel="+a}function openFlugHotel(a){top.location.href=url_flugHotel+"?cid=HLX.LOC.0001&_cmd=start.locomat.query&_destination="+a}
function openFerienwohnung(a){if(interhome[a]){if(interhome[a].indexOf("countrycode")!=-1)top.location.href=url_ferienwohnungen+"?so=59&userlang=01&partnerid=590794&css_style=partner_css_590794_.css&ihnav=N"+interhome[a];if(interhome[a].indexOf("dummya=50519")!=-1)top.location.href=url_ferienwohnungen+"?"+interhome[a]}else top.location.href=url_ferienwohnungen}
function submitForm_ferienwohnung(){formular=document.fewo;code=formular.destination[formular.destination.selectedIndex].value;if(interhome[code]){if(interhome[code].indexOf("countrycode")!=-1)this.location.href="http://www.interhome.de/buchung/main_miniprice.asp?userlang=01&so=59&partnerid=590794&css_style=partner_css_590794_.css&ihnav=N"+interhome[code];if(interhome[code].indexOf("dummya=50519")!=-1)this.location.href="http://www.ferienhaus-allianz.de/cgi-bin/1_1_fh_angebotsselekt_grob?"+interhome[code]}}
function isValidDate(a){var c=a.substring(6,8),d=a.substring(4,6);a=a.substring(0,4);var b;b=new Date(a,d-1,c);return c==b.getDate()&&d==b.getMonth()+1&&a==b.getFullYear()}function openTiefstpreisseite(a){top.location.href=a?url_tiefstpreisseite+"&destination="+a:url_tiefstpreisseite}
function addon(){var a=document.itinerary_info.contact_name.value.split("|"),c=unescape(a[1]);a=unescape(a[0]);var d=document.itinerary_info.contact_address1.value,b=document.itinerary_info.contact_address1.value,f=d.lastIndexOf(" ");if(f!=-1){var g=d.length;d=unescape(d.substring(0,f));++f;b=unescape(b.substring(f,g))}else{d=d;b=""}popup("/de/7392.html?vorname="+c+"&nachname="+a+"&str="+d+"&nr="+b+"&plz="+document.itinerary_info.contact_zip.value+"&ort="+document.itinerary_info.contact_city.value+
"&phone="+document.itinerary_info.contact_phone.value+"&email="+document.itinerary_info.email.value,"popup","width=743,height=560,scrollbars=yes")}var plzArray=[30159,30161,30163,30165,30167,30169,30171,30173,30175,30177,30179,30419,30449,30451,30453,30455,30457,30459,30519,30539,30559,30625,30627,30629,30655,30657,30659,30823,30826,30827,30851,30853,30855,30880,30890,30900,30916,30926,30938,30952,30966,30974,30982,30989,31275,31303,31311,31319,31515,31535,31832,31848,31157];
function checkPlzArray(a){var c;for(c=0;c<plzArray.length;c++)if(plzArray[c]==a)return true;return false}function addTimeToDate(a,c){var d="",b=new Date(Date.parse(a)+c);d+=b.getFullYear();tempDate="0"+eval(b.getMonth()+1);d+=tempDate.substr(tempDate.length-2,2);tempDate="0"+b.getDate();d+=tempDate.substr(tempDate.length-2,2);tempDate="0"+b.getHours();d+=tempDate.substr(tempDate.length-2,2);tempDate="0"+b.getMinutes();d+=tempDate.substr(tempDate.length-2,2);return d}
function timeToStandardTime(a){var c=a.substring(0,4),d=a.substring(4,6),b=a.substring(6,8),f=a.substring(8,10);a=a.substring(10,12);return b+" "+monthName[d]+" "+c+" "+f+":"+a}
function mediaSubmit(){var a="";if(document.myForm.first_name.value==""||document.myForm.last_name.value==""||document.myForm.email.value==""){a=message.errorAddress;if(document.myForm.first_name.value=="")a+=message.errorSurname;if(document.myForm.last_name.value=="")a+=message.errorLastname;if(document.myForm.email.value=="")a+=message.errorMail;alert(a)}else if(document.myForm.email.value.indexOf("@")==-1||document.myForm.email.value.indexOf(".")==-1){a+=message.errorMail2;alert(a)}else document.myForm.submit()}
function checkCookieStatus(){if(document.cookie)return true;else{alert(message.noCookiesEnabled);return false}}
function captureDates(){oDay=document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketDay1").options[document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketDay1").selectedIndex].value;oMonth=document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketMonth1").options[document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketMonth1").selectedIndex].value.substring(5,7);oYear=document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketMonth1").options[document.getElementById(applicationJavaScriptHtmlId+
"_DropDownListMarketMonth1").selectedIndex].value.substring(0,4);rDay=document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketDay2").options[document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketDay2").selectedIndex].value;rMonth=document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketMonth2").options[document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketMonth2").selectedIndex].value.substring(5,7);rYear=document.getElementById(applicationJavaScriptHtmlId+
"_DropDownListMarketMonth2").options[document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketMonth2").selectedIndex].value.substring(0,4)}
function changeReturnDate(a){if(a==applicationJavaScriptHtmlId+"_DropDownListMarketMonth1"||a==applicationJavaScriptHtmlId+"_DropDownListMarketDay1"){captureDates();if(rDay!=0)if(rMonth<oMonth&&rYear==oYear||rYear<oYear){document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketMonth2").options.selectedIndex=document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketMonth1").options.selectedIndex;document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketDay2").options.selectedIndex=
document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketDay1").options.selectedIndex}else if(rDay<oDay&&rMonth==oMonth&&rYear==oYear)document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketDay2").options.selectedIndex=document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketDay1").options.selectedIndex}}
function limitMonth(a){var c=11,d=new Date,b=d.getMonth();d=d.getYear();if(d<999)d+=1900;if(d<2009)c+=12*(2009-d);limit=c-b;if(a)if(limit<a.options.length){numDeleteItems=a.options.length-limit;for(i=0;i<numDeleteItems;i++)a.remove(a.options.length-1)}}
function calendarFillPulldowns(a,c){var d=a.getDate()-1,b=a.getMonth()+1;if(b<10)b="0"+b;b=a.getFullYear()+"-"+b;var f=false;document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketDay"+c).selectedIndex=d;for(d=0;d<document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+c).length;d++)if(document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+c)[d].value==b){document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+
c).selectedIndex=d;f=true}f==false&&alert(message.noFlightFound)}var submitterClickedS2S=false;function preventDoubleClickS2S(){var a=document.SkySales.CONTROLGROUPPAYMENT$PAYMENTINPUT$DropDownListPaymentMethodCode;if(a){if(a.value!="ExternalAccount:AA"){if(!submitterClickedS2S)return submitterClickedS2S=true;return false}}else return true}function write_control(a){document.write(a)}
function showRabattLayer(){self.location.href.indexOf("/de/")>=0&&(referrerId.indexOf("Select.aspx")>=0||referrerId.indexOf("Contact.aspx")>=0||referrerId.indexOf("Payment.aspx"))}
function validateHAJCIAFCO(){var a=document.SkySales,c=GetValue(a[applicationJavaScriptHtmlId+"_DropDownListMarketOrigin1"]),d=GetValue(a[applicationJavaScriptHtmlId+"_DropDownListMarketDestination1"]);if(c!="HAJ"&&c!="CIA"&&c!="FCO"&&d!="HAJ"&&d!="CIA"&&d!="FCO")return true;for(var b=[],f=1;f<=numDatesToValidate;f++)if(MarketAction[f]!="Cancel")if(validateElement("DropDownListMarketDay"+f)){var g=a[applicationJavaScriptHtmlId+"_DropDownListMarketDay"+f].options[a[applicationJavaScriptHtmlId+"_DropDownListMarketDay"+
f].selectedIndex].value,h=a[applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+f].options[a[applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+f].selectedIndex].value.substring(5,7),m=a[applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+f].options[a[applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+f].selectedIndex].value.substring(0,4);b[f]=""+m+h+g}if(numDatesToValidate==1)if(b[1]>"20071027"&&(c=="CIA"||d=="CIA")){alert(message.HanRomNoCIA);return false}else{if(b[1]<"20071030"&&
(c=="FCO"||d=="FCO")){alert(message.HanRomNoFCO);return false}}else if(numDatesToValidate==2)if(b[1]>"20071027"&&b[2]>"20071027"&&(c=="CIA"||d=="CIA")){alert(message.HanRomNoCIA);return false}else if(b[1]<"20071030"&&b[2]<"20071030"&&(c=="FCO"||d=="FCO")){alert(message.HanRomNoFCO);return false}else if(b[1]<"20071030"&&b[2]>"20071027"&&(c=="CIA"||d=="CIA")){alert(message.HanRomNoCIA2);return false}else if(b[1]<"20071030"&&b[2]>"20071027"&&(c=="FCO"||d=="FCO")){alert(message.HanRomNoFCO2);return false}return true}
function validateCTAReroutedPMO(){var a=document.SkySales,c=GetValue(a[applicationJavaScriptHtmlId+"_DropDownListMarketOrigin1"]),d=GetValue(a[applicationJavaScriptHtmlId+"_DropDownListMarketDestination1"]);if(c!="CTA"&&d!="CTA")return true;for(var b=[],f=1;f<=numDatesToValidate;f++)if(MarketAction[f]!="Cancel")if(validateElement("DropDownListMarketDay"+f)){var g=a[applicationJavaScriptHtmlId+"_DropDownListMarketDay"+f].options[a[applicationJavaScriptHtmlId+"_DropDownListMarketDay"+f].selectedIndex].value,
h=a[applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+f].options[a[applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+f].selectedIndex].value.substring(5,7),m=a[applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+f].options[a[applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+f].selectedIndex].value.substring(0,4);b[f]=""+m+h+g}if(numDatesToValidate==1)if(b[1]=="20080514"&&(c=="CGN"||c=="HAJ"||d=="CGN"||d=="HAJ"))return handleCTAReroutedPMOChoice(c,d);else{if(b[1]=="20080515"&&(c==
"HAM"||c=="MUC"||d=="HAM"||d=="MUC"))return handleCTAReroutedPMOChoice(c,d)}else if(numDatesToValidate==2)if((b[1]=="20080514"||b[2]=="20080514")&&(c=="CGN"||c=="HAJ"||d=="CGN"||d=="HAJ"))return handleCTAReroutedPMOChoice(c,d);else if((b[1]=="20080515"||b[2]=="20080515")&&(c=="HAM"||c=="MUC"||d=="HAM"||d=="MUC"))return handleCTAReroutedPMOChoice(c,d);return true}
function handleCTAReroutedPMOChoice(a,c){var d=document.SkySales;if(confirm(message.CTAReroutedPMO)){if(a=="CTA"){var b=d[applicationJavaScriptHtmlId+"_DropDownListMarketOrigin1"];d=d[applicationJavaScriptHtmlId+"_DropDownListMarketDestination1"];for(var f=0;f<b.length;f++)if(b[f].value=="PMO"){b.selectedIndex=f;for(b=0;b<d.length;b++)if(d[b].value==c){d.selectedIndex=b;break}break}}else if(c=="CTA"){d=d[applicationJavaScriptHtmlId+"_DropDownListMarketDestination1"];for(f=0;f<d.length;f++)if(d[f].value==
"PMO"){d.selectedIndex=f;break}}return true}return false}
function validateForAllYouCanFly(){var a=message.lateAllYouCanFly,c=document.SkySales,d=c[applicationJavaScriptHtmlId+"_DropDownListMarketMonth1"].value.substring(0,4)+c[applicationJavaScriptHtmlId+"_DropDownListMarketMonth1"].value.substring(5,7)+c[applicationJavaScriptHtmlId+"_DropDownListMarketDay1"].value,b=(new Date).getTime();b+=432E6;b=new Date(b);var f=String(b.getDate());if(f.length==1)f="0"+f;var g=String(b.getMonth()+1);if(g.length==1)g="0"+g;b=String(b.getFullYear());b=b+g+f;if(d>b){alert(a);
b=(new Date).getTime();b+=1728E5;b=new Date(b);f=String(b.getDate());if(f.length==1)f="0"+f;g=String(b.getMonth()+1);if(g.length==1)g="0"+g;b=String(b.getFullYear());c[applicationJavaScriptHtmlId+"_DropDownListMarketDay1"].value=f;c[applicationJavaScriptHtmlId+"_DropDownListMarketMonth1"].value=b+"-"+g;return false}if(GetMarketStructure()!="OneWay")if(c[applicationJavaScriptHtmlId+"_DropDownListMarketMonth2"].value.substring(0,4)+c[applicationJavaScriptHtmlId+"_DropDownListMarketMonth2"].value.substring(5,
7)+c[applicationJavaScriptHtmlId+"_DropDownListMarketDay2"].value>b){alert(a);b=(new Date).getTime();b+=432E6;b=new Date(b);f=String(b.getDate());if(f.length==1)f="0"+f;g=String(b.getMonth()+1);if(g.length==1)g="0"+g;b=String(b.getFullYear());c[applicationJavaScriptHtmlId+"_DropDownListMarketDay2"].value=f;c[applicationJavaScriptHtmlId+"_DropDownListMarketMonth2"].value=b+"-"+g;return false}return true}
function checkAvailability(){if(!validateHAJCIAFCO())return false;if(!validateCTAReroutedPMO())return false;var a=message.fleugplaneinschraenkung_priorPrefix,c=message.fleugplaneinschraenkung_priorInfixTo,d=message.fleugplaneinschraenkung_priorInfixDate,b=message.fleugplaneinschraenkung_priorSuffix,f=message.fleugplaneinschraenkung_laterPrefix,g=message.fleugplaneinschraenkung_laterInfixTo,h=message.fleugplaneinschraenkung_laterInfixDate,m=message.fleugplaneinschraenkung_laterSuffix,o=document.SkySales,
q=o[applicationJavaScriptHtmlId+"_DropDownListMarketMonth1"].options[o[applicationJavaScriptHtmlId+"_DropDownListMarketMonth1"].selectedIndex].value.substring(0,4)+o[applicationJavaScriptHtmlId+"_DropDownListMarketMonth1"].options[o[applicationJavaScriptHtmlId+"_DropDownListMarketMonth1"].selectedIndex].value.substring(5,7)+o[applicationJavaScriptHtmlId+"_DropDownListMarketDay1"].options[o[applicationJavaScriptHtmlId+"_DropDownListMarketDay1"].selectedIndex].value,u=GetMarketStructure()!="OneWay",
w=o[applicationJavaScriptHtmlId+"_DropDownListMarketOrigin1"].options[o[applicationJavaScriptHtmlId+"_DropDownListMarketOrigin1"].selectedIndex].value,A=o[applicationJavaScriptHtmlId+"_DropDownListMarketDestination1"].options[o[applicationJavaScriptHtmlId+"_DropDownListMarketDestination1"].selectedIndex].value,H=o[applicationJavaScriptHtmlId+"_DropDownListMarketOrigin1"].options[o[applicationJavaScriptHtmlId+"_DropDownListMarketOrigin1"].selectedIndex].text,K=o[applicationJavaScriptHtmlId+"_DropDownListMarketDestination1"].options[o[applicationJavaScriptHtmlId+
"_DropDownListMarketDestination1"].selectedIndex].text,L=true,E=checkAvailabilityDate(w,A,q);if(E!=""){L=E.slice(6,8)+"."+E.slice(4,6)+"."+E.slice(0,4);q<E?s2.tuifly.widget.dialog.alertNotice(a+H+c+K+d+L+b):s2.tuifly.widget.dialog.alertNotice(f+H+g+K+h+L+m);L=false;q=E.slice(6,8);var O=E.slice(0,4)+"-"+E.slice(4,6),I;for(I=0;I<o[applicationJavaScriptHtmlId+"_DropDownListMarketMonth1"].options.length;I++)if(o[applicationJavaScriptHtmlId+"_DropDownListMarketMonth1"].options[I].value==O){o[applicationJavaScriptHtmlId+
"_DropDownListMarketMonth1"].selectedIndex=I;$(o[applicationJavaScriptHtmlId+"_DropDownListMarketMonth1"]).change()}for(I=0;I<o[applicationJavaScriptHtmlId+"_DropDownListMarketDay1"].options.length;I++)if(o[applicationJavaScriptHtmlId+"_DropDownListMarketDay1"].options[I].value==q){o[applicationJavaScriptHtmlId+"_DropDownListMarketDay1"].selectedIndex=I;$(o[applicationJavaScriptHtmlId+"_DropDownListMarketDay1"]).change()}if(u){I=o[applicationJavaScriptHtmlId+"_DropDownListMarketMonth2"].options[o[applicationJavaScriptHtmlId+
"_DropDownListMarketMonth2"].selectedIndex].value.substring(0,4)+o[applicationJavaScriptHtmlId+"_DropDownListMarketMonth2"].options[o[applicationJavaScriptHtmlId+"_DropDownListMarketMonth2"].selectedIndex].value.substring(5,7)+o[applicationJavaScriptHtmlId+"_DropDownListMarketDay2"].options[o[applicationJavaScriptHtmlId+"_DropDownListMarketDay2"].selectedIndex].value;if(I<E){for(I=0;I<o[applicationJavaScriptHtmlId+"_DropDownListMarketMonth2"].options.length;I++)if(o[applicationJavaScriptHtmlId+"_DropDownListMarketMonth2"].options[I].value==
O){o[applicationJavaScriptHtmlId+"_DropDownListMarketMonth2"].selectedIndex=I;$(o[applicationJavaScriptHtmlId+"_DropDownListMarketMonth2"]).change()}for(I=0;I<o[applicationJavaScriptHtmlId+"_DropDownListMarketDay2"].options.length;I++)if(o[applicationJavaScriptHtmlId+"_DropDownListMarketDay2"].options[I].value==q){o[applicationJavaScriptHtmlId+"_DropDownListMarketDay2"].selectedIndex=I;$(o[applicationJavaScriptHtmlId+"_DropDownListMarketDay2"]).change()}}}}else{E=getAvailabilitySearchRange(w,A,q);
for(element in o.elements)if(element.type=="hidden"&&element.name.indexof("_DropDownListMarketDateRange1")>-1){element.value=E;break}}if(u){I=o[applicationJavaScriptHtmlId+"_DropDownListMarketMonth2"].options[o[applicationJavaScriptHtmlId+"_DropDownListMarketMonth2"].selectedIndex].value.substring(0,4)+o[applicationJavaScriptHtmlId+"_DropDownListMarketMonth2"].options[o[applicationJavaScriptHtmlId+"_DropDownListMarketMonth2"].selectedIndex].value.substring(5,7)+o[applicationJavaScriptHtmlId+"_DropDownListMarketDay2"].options[o[applicationJavaScriptHtmlId+
"_DropDownListMarketDay2"].selectedIndex].value;E=checkAvailabilityDate(A,w,I);if(E!=""){L=E.slice(6,8)+"."+E.slice(4,6)+"."+E.slice(0,4);I<E?s2.tuifly.widget.dialog.alertNotice(a+K+c+H+d+L+b):s2.tuifly.widget.dialog.alertNotice(f+K+g+H+h+L+m);L=false;q=E.slice(6,8);O=E.slice(0,4)+"-"+E.slice(4,6);for(I=0;I<o[applicationJavaScriptHtmlId+"_DropDownListMarketMonth2"].options.length;I++)if(o[applicationJavaScriptHtmlId+"_DropDownListMarketMonth2"].options[I].value==O)o[applicationJavaScriptHtmlId+"_DropDownListMarketMonth2"].selectedIndex=
I;for(I=0;I<o[applicationJavaScriptHtmlId+"_DropDownListMarketDay2"].options.length;I++)if(o[applicationJavaScriptHtmlId+"_DropDownListMarketDay2"].options[I].value==q)o[applicationJavaScriptHtmlId+"_DropDownListMarketDay2"].selectedIndex=I}else{E=getAvailabilitySearchRange(A,w,I);for(element in o.elements)if(element.type=="hidden"&&element.name.indexof("_DropDownListMarketDateRange2")>-1){element.value=E;break}}}return L}
function checkAvailabilityGroups(){var a=message.fleugplaneinschraenkung_priorPrefix,c=message.fleugplaneinschraenkung_priorInfixTo,d=message.fleugplaneinschraenkung_priorInfixDate,b=message.fleugplaneinschraenkung_priorSuffix,f=message.fleugplaneinschraenkung_laterPrefix,g=message.fleugplaneinschraenkung_laterInfixTo,h=message.fleugplaneinschraenkung_laterInfixDate,m=message.fleugplaneinschraenkung_laterSuffix,o=document["groupbooking.presentation.requestForm"],q=o.year_o.options[o.year_o.selectedIndex].value.substring(0,
4)+o.year_o.options[o.year_o.selectedIndex].value.substring(4,6)+o.day_o.options[o.day_o.selectedIndex].value,u="";u=document.getElementById("travel_type2").checked?"OneWay":"RoundTrip";u=u!="OneWay";var w=o.sector1_o.options[o.sector1_o.selectedIndex].value,A=o.sector1_d.options[o.sector1_d.selectedIndex].value,H=o.sector1_o.options[o.sector1_o.selectedIndex].text,K=o.sector1_d.options[o.sector1_d.selectedIndex].text,L=true,E=checkAvailabilityDate(w,A,q);if(E!=""){L=E.slice(6,8)+"."+E.slice(4,6)+
"."+E.slice(0,4);q<E?s2.tuifly.widget.dialog.alertNotice(a+H+c+K+d+L+b):s2.tuifly.widget.dialog.alertNotice(f+H+g+K+h+L+m);L=false;var O=E.slice(6,8),I=E.slice(0,4)+E.slice(4,6),B;for(B=0;B<o.year_o.options.length;B++)if(o.year_o.options[B].value==I)o.year_o.selectedIndex=B;for(B=0;B<o.day_o.options.length;B++)if(o.day_o.options[B].value==O)o.day_o.selectedIndex=B;if(u){B=o.year_d.options[o.year_d.selectedIndex].value.substring(0,4)+o.year_d.options[o.year_d.selectedIndex].value.substring(4,6)+o.day_d.options[o.day_d.selectedIndex].value;
if(B<E){for(B=0;B<o.year_d.options.length;B++)if(o.year_d.options[B].value==I)o.year_d.selectedIndex=B;for(B=0;B<o.day_d.options.length;B++)if(o.day_d.options[B].value==O)o.day_d.selectedIndex=B}}}if(u){B=o.year_d.options[o.year_d.selectedIndex].value.substring(0,4)+o.year_d.options[o.year_d.selectedIndex].value.substring(4,6)+o.day_d.options[o.day_d.selectedIndex].value;B<q&&alert(localizedTextEarlierDatePre);E=checkAvailabilityDate(A,w,B);if(E!=""){L=E.slice(6,8)+"."+E.slice(4,6)+"."+E.slice(0,
4);B<E?s2.tuifly.widget.dialog.alertNotice(a+K+c+H+d+L+b):s2.tuifly.widget.dialog.alertNotice(f+K+g+H+h+L+m);L=false;O=E.slice(6,8);I=E.slice(0,4)+E.slice(4,6);for(B=0;B<o.year_d.options.length;B++)if(o.year_d.options[B].value==I)o.year_d.selectedIndex=B;for(B=0;B<o.day_d.options.length;B++)if(o.day_d.options[B].value==O)o.day_d.selectedIndex=B}}return L}
function getAvailabilitySearchRange(a,c,d){var b=2,f=2;if(!available)return""+b+"|"+f;if(!available[a+" "+c])return""+b+"|"+f;var g=available[a+" "+c].slice(0,8);a=available[a+" "+c].slice(9,17);var h=new Date,m=h.getFullYear();c=h.getMonth()+1;var o=h.getDate();m=h.getFullYear().toString();if(c<10)m+="0";m+=c.toString();if(o<10)m+="0";m+=o.toString();if(g<m)g=m;h=new Date;h.setFullYear(d.slice(0,4));h.setMonth(d.slice(4,6)-1);h.setDate(d.slice(6,8));h.setTime(h.getTime()-864E5*b);m=""+h.getFullYear();
c="0"+(h.getMonth()+1);if(c.length>2)c=c.slice(c.length-2,c.length);o="0"+h.getDate();if(o.length>2)o=o.slice(o.length-2,o.length);for(c=m+c+o;c<g&&b>0;){b--;h.setTime(h.getTime()+864E5);m=""+h.getFullYear();c="0"+(h.getMonth()+1);if(c.length>2)c=c.slice(c.length-2,c.length);o="0"+h.getDate();if(o.length>2)o=o.slice(o.length-2,o.length);c=m+c+o}h=new Date;h.setFullYear(d.slice(0,4));h.setMonth(d.slice(4,6)-1);h.setDate(d.slice(6,8));h.setTime(h.getTime()+864E5*f);m=""+h.getFullYear();c="0"+(h.getMonth()+
1);if(c.length>2)c=c.slice(c.length-2,c.length);o="0"+h.getDate();if(o.length>2)o=o.slice(o.length-2,o.length);for(c=m+c+o;c>a&&f>0;){f--;h.setTime(h.getTime()-864E5);m=""+h.getFullYear();c="0"+(h.getMonth()+1);if(c.length>2)c=c.slice(c.length-2,c.length);o="0"+h.getDate();if(o.length>2)o=o.slice(o.length-2,o.length);c=m+c+o}return""+b+"|"+f}
function checkAvailabilityDate(a,c,d){if(!available)return"";if(!available[a+" "+c])return"";var b=available[a+" "+c].slice(0,8);a=available[a+" "+c].slice(9,17);var f=new Date;f.getFullYear();c=f.getMonth()+1;var g=f.getDate();f=f.getFullYear().toString();if(c<10)f+="0";f+=c.toString();if(g<10)f+="0";f+=g.toString();if(b<f)b=f;if(d<b)return b;if(d>a)return a;return""}
function openZusatzdatenMaske(){if(document.AirPlus&&document.AirPlus.action!=""){eingabeseite=window.open("","zusatzdaten","height=480, width=540, resizable=no, menubar=no, location=no, status=yes, toolbar=no, top=150, left=200");document.AirPlus.submit();eingabeseite.focus()}}
function filterString(a,c){if(c.match(/&/g)||c.match(/</g)||c.match(/>/g)||c.match(/\|/g)||c.match(/%/g)){c=c.replace(/&/g,"");c=c.replace(/</g,"");c=c.replace(/>/g,"");c=c.replace(/\|/g,"");c=c.replace(/%/g,"");document.getElementById(a).value=c;alert(message.notAllowedChar)}return true}function erase(a,c){if(a.value==c)a.value=""}function set(a,c){if(a.value=="")a.value=c}function strtrim(){return this.replace(/^\s+/,"").replace(/\s+$/,"")}String.prototype.trim=strtrim;
function formatName(a){var c;c=paxNames[a].first+" ";if(paxNames[a].middle.trim().length>0)c+=paxNames[a].middle.trim()+" ";c+=paxNames[a].last;return c}
function displayPopUpConverter(){if(!window.converterWindow||converterWindow.closed)converterWindow=window.open("CurrencyConverter.aspx","converter","width=350,height=300,toolbar=0,status=0,location=0,menubar=0,scrollbars=0,resizable=0");else{converterWindow.open("CurrencyConverter.aspx","converter","width=350,height=300,toolbar=0,status=0,location=0,menubar=0,scrollbars=0,resizable=0");converterWindow.focus()}}
function displayPopUpFareRule(a,c,d){a="/FareRules.aspx?fareRuleKeys="+c+"&amp;class="+a+"&amp;paxTypes="+d;if(!window.fareRuleWindow||fareRuleWindow.closed)fareRuleWindow=window.popup(a,"fareRules","width=451,height=400,scrollbars=yes,status=no");else{fareRuleWindow.popup(a,"fareRule","width=451,height=400,scrollbars=yes,status=no");fareRuleWindow.focus()}}function isInArray(a,c){var d;for(d=0;d<a.length;d++)if(a[d]==c)return true;return false}
function print_r(a,c){var d="";c||(c=0);for(var b="",f=0;f<c+1;f++)b+="    ";if(typeof a=="object")for(var g in a){f=a[g];if(typeof f=="object"){d+=b+"'"+g+"' ...\n";d+=dump(f,c+1)}else d+=b+"'"+g+"' => \""+f+'"\n'}else d="===>"+a+"<===("+typeof a+")";alert(d)}function getFullServiceStatus(){if(typeof isFullService!="undefined")return isFullService;return false}
function getBluemilesNumberFromCookie(){var a=document.cookie,c=a.indexOf("bluemiles=");if(c<0)return null;c=c+9+1;var d=a.indexOf(";",c);if(d<c)d=a.length;if(d==c)return null;return a.substring(c,d)}
function fillBluemilesNumber(){var a=String(window.location),c=document.forms[0].length;if(window.location.search.indexOf("bm_nr=")!=-1){a=a.split("bm_nr=");for(var d=0;d<=c;d++){ElementArray=document.forms[0].elements[d].id.split("_");if(ElementArray[1]=="TextBoxUserID")document.forms[0].elements[d].value=decodeURIComponent(a[1])}}}
function removeOmittedRoutes(a){for(var c=0;c<a.length;c++)if(currentStation=Stations[a[c]]){var d=omittedRoutes[currentStation.code];if(d&&d.length>0)for(var b=0;b<currentStation.mkts.length;b++){currentStationMarket=currentStation.mkts[b];for(var f=0;f<d.length;f++)if(currentStationMarket==d[f]){currentStation.mkts.splice(b,1);b--;if(currentStation.mkts.length==0){a.splice(c,1);c--}break}}}for(c=0;c<a.length;c++)if(currentStation=Stations[a[c]])for(b=0;b<currentStation.mkts.length;b++){d=Stations[currentStation.mkts[b]];
if(d==null||!d.validDest){currentStation.mkts.splice(b,1);if(currentStation.mkts.length==0){a.splice(c,1);c--}break}}return a}
function getRouteIntersection(a){for(var c=false,d=0;d<a.length;d++)if((currentStation=Stations[a[d]])&&allyoucanflyRoutes[currentStation.code]&&allyoucanflyRoutes[currentStation.code].length>0)for(var b=0;b<currentStation.mkts.length;b++){currentStationMarket=currentStation.mkts[b];c=false;for(var f=0;f<allyoucanflyRoutes[currentStation.code].length;f++)if(currentStationMarket==allyoucanflyRoutes[currentStation.code][f]){c=true;break}if(!c){currentStation.mkts.splice(b,1);b--;if(currentStation.mkts.length==
0){a.splice(d,1);d--}}}else{a.splice(d,1);d--}for(d=0;d<a.length;d++)if(currentStation=Stations[a[d]])for(b=0;b<currentStation.mkts.length;b++){c=Stations[currentStation.mkts[b]];if(c==null||!c.validDest){currentStation.mkts.splice(b,1);if(currentStation.mkts.length==0){a.splice(d,1);d--}break}}return a}var RouteMaxDate=null;
function removeOutdatedRoutes(a){if(available)for(var c=(new Date).getTime(),d=0;d<a.length;++d){var b=Stations[a[d]];if(b)for(var f=0;f<b.mkts.length;++f){var g=available[b.code+" "+b.mkts[f]];if(g){var h=new Date;h.setDate(g.substring(15,17));h.setMonth(g.substring(13,15)-1);h.setFullYear(g.substring(9,13));if(RouteMaxDate==null)RouteMaxDate=h;if(RouteMaxDate.getTime()<h.getTime())RouteMaxDate=h;if(h.getTime()<c){b.mkts.splice(f,1);f--;if(b.mkts.length==0){a.splice(d,1);d--}}}}}return a}
function restrictRoutes(a,c){for(i=0;i<a.length;i++){var d=Stations[a[i]];for(k=0;k<d.mkts.length;k++){var b=d.mkts[k],f=false,g=[];if(c[d.code]!=null)g=g.concat(c[d.code]);if(c[b]!=null)g=g.concat(c[b]);if(g.length>0)for(l=0;l<g.length;++l)if(g[l]==d.code||g[l]==b){f=true;break}if(!f){d.mkts.splice(k,1);k--;if(d.mkts.length==0){a.splice(i,1);i--}}}}return a}var ElementsState=[],ExistingMarkets=[];function HideShowMarket(a,c){$("#marketCityPair_"+a).css("display",c);HideShowMarketDate(a,c)}
function HideShowMarketDate(a,c){$("#marketDate_"+a).css("display",c)}function marketChangeCheckChanged(a,c){DisableEnableMarket(c,!a.checked);$(".calIcon.enable").live("click",function(){var d=$(this).attr("data-market");$("#datePickerFlight_Market"+d).trigger("focus")})}function InitializeChange(){DisableEnableMarket(1,true);DisableEnableMarket(2,true)}
function DisableEnableMarket(a,c){$("#AVAILABILITYSEARCHINPUT_Market"+a+"Block").find("input").attr("disabled",c).end().find("select").attr("disabled",c).end();calenderIcon=$.cachedFind(".market"+a+".calIcon");if(c==true){calenderIcon.addClass("disable");calenderIcon.removeClass("enable")}else{calenderIcon.removeClass("disable");calenderIcon.addClass("enable")}var d=$("#datePickerFlight_Market"+a);d.attr("disabled",c);c?d.addClass("disabled"):d.removeClass("disabled")}
function EnableMarkets(){$("#AVAILABILITYSEARCHINPUT_Market1Block").find("input").attr("disabled",false).removeClass("disabled").end().find("select").attr("disabled",false).end();$("#AVAILABILITYSEARCHINPUT_Market2Block").find("input").attr("disabled",false).removeClass("disabled").end().find("select").attr("disabled",false).end()}
function SynchronizeHiddenFields(){var a=$("#"+applicationJavaScriptHtmlId+"_DropDownListNewPassengerType_ADT").val();$("#"+applicationJavaScriptHtmlId+"_DropDownListPassengerType_ADT").val(a)}function AvailabilitySearchValues_Validate(){SynchronizeHiddenFields();if(AreDateCheckBoxesInValidState()&&CheckCities()&&CheckDates()&&CheckPassengers()&&CheckPaxCount())return true;return false}
function AreDateCheckBoxesInValidState(){var a=GetDateCheckBox("CheckBoxChangeMarket",1),c=GetDateCheckBox("CheckBoxChangeMarket",2);if(!(a&&c))return true;if(a.checked||c.checked)return true;s2.tuifly.widget.dialog.alert(noDateSpecified);return false}function GetDateCheckBox(a,c){return document.SkySales[applicationJavaScriptHtmlId+"_"+a+"_"+c]}function ValidatePassengerCountValue(a){(a=parseInt(a,10))||(a=0);return a}
function GetAdultCount(){return ValidatePassengerCountValue($("#"+applicationJavaScriptHtmlId+"_DropDownListNewPassengerType_ADT").val())}function GetChildCount(){return ValidatePassengerCountValue($("#"+applicationJavaScriptHtmlId+"_DropDownListPassengerType_CHD").val())}function GetChildDiscountCount(){return ValidatePassengerCountValue($("#"+applicationJavaScriptHtmlId+"_DropDownListPassengerType_CHDD").val())}
function GetInfantCount(){return ValidatePassengerCountValue($("#"+applicationJavaScriptHtmlId+"_DropDownListPassengerType_INFANT").val())}function GetOriginValue(){return GetValue(document.SkySales[applicationJavaScriptHtmlId+"_DropDownListMarketOrigin1"])}function GetDestinationValue(){return GetValue(document.SkySales[applicationJavaScriptHtmlId+"_DropDownListMarketDestination1"])}function GetMonthYearDepart(){return GetMonthYear(1)}function GetMonthYearReturning(){return GetMonthYear(2)}
function GetMonthDepart(){return GetMonthYearAsList(GetMonthYearDepart())[1]}function GetMonthReturning(){return GetMonthYearAsList(GetMonthYearReturning())[1]}function GetYearDepart(){return GetMonthYearAsList(GetMonthYearDepart())[0]}function GetYearReturning(){return GetMonthYearAsList(GetMonthYearReturning())[0]}function GetMonthYearAsList(a){return a.split("-")}function GetDayDepart(){return GetDay(1)}function GetDayReturning(){return GetDay(2)}
function GetMonthYear(a){return GetValue(document.SkySales[applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+a])}function GetDay(a){return GetValue(document.SkySales[applicationJavaScriptHtmlId+"_DropDownListMarketDay"+a])}
function CheckPassengers(){var a=localizedTextTooManyInfants,c=GetAdultCount(),d=GetInfantCount(),b=GetChildDiscountCount(),f=GetChildCount();if(d>c){s2.tuifly.widget.dialog.alertNotice(a);return false}a=d>0||b>0||f>0;if(!(c>0)&&a){s2.tuifly.widget.dialog.alert(message.UAM);return false}return true}
function UpdateCalendarDate(a){var c=document.SkySales,d=applicationJavaScriptHtmlId+"_DropDownListMarketDay"+a.passedInfo,b=applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+a.passedInfo,f=a.dateSelected.getMonth()+1;if(f<10)f="0"+f;var g=a.dateSelected.getDate();if(g<10)g="0"+g;c[b].value=a.dateSelected.getFullYear()+"-"+f;c[d].value=g}function findIndexByValue(a,c){for(var d=0;d<a.length;){if(a[d].value==c)return d;d++}return-1}
function addOption(a,c,d){var b=a.length;a[b]=new Option(c);a[b].value=d;return a.selectedIndex=b}function setDatesState(a,c){ElementsState["DropDownListMarketDay"+c]=a;ElementsState["DropDownListMarketMonth"+c]=a;ElementsState["DropDownListMarketDateRange"+c]=a;ElementsState["HyperLinkMarketCalendar"+c]=a}
function setPaxsState(a){ElementsState.DropDownListPassengerType_ADT=a;ElementsState.DropDownListPassengerType_CHD=a;ElementsState.DropDownListPassengerType_CHDD=a;ElementsState.DropDownListPassengerType_INF=a;ElementsState.PassengersBlock=a}function setMarketState(a,c){ElementsState["Market"+c+"Block"]=a}function validateElement(a){if(document.SkySales[applicationJavaScriptHtmlId+"_"+a]&&ElementsState[a]!="cancel")return true;return false}
function GetMarketStructure(){var a=$("#travelOptions input:checked").val();if(a=="OneWay")numDatesToValidate=numMarketsToValidate=1;else if(a=="RoundTrip"){numMarketsToValidate=1;numDatesToValidate=2}else if(a=="OpenJaw")numDatesToValidate=numMarketsToValidate=2;else numDatesToValidate=numMarketsToValidate=applicationNumberOfMarketsToOffer;return a}
function CheckDates(){for(var a=document.SkySales,c=applicationFormatedDate,d=applicationFormatedDay,b=applicationFormatedDateTime,f=1;f<=numDatesToValidate;f++)if(MarketAction[f]!="Cancel")if(validateElement("DropDownListMarketDay"+f)){var g=a[applicationJavaScriptHtmlId+"_DropDownListMarketDay"+f].options[a[applicationJavaScriptHtmlId+"_DropDownListMarketDay"+f].selectedIndex].value,h=a[applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+f].options[a[applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+
f].selectedIndex].value.substring(5,7),m=a[applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+f].options[a[applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+f].selectedIndex].value.substring(0,4),o=a[applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+f].options[a[applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+f].selectedIndex].text,q=""+m+h+g;if(!CheckDaysOfMonth(g,h,m)){s2.tuifly.widget.dialog.alert(localizedTextInvalidDatePre+g+localizedTextInvalidDateMid+o+localizedTextInvalidDatePost);
return false}if(MarketLiftStatus[f]==null)MarketLiftStatus[f]="Default";if(q<c&&MarketLiftStatus[f]==applicationLiftStatus){if(f==1){c=localizedTextPastDatePre;if(MarketAction[f]=="New"||MarketAction[f]=="Change"){c+=localizedTextPastDatePost;s2.tuifly.widget.dialog.alert(c);a[applicationJavaScriptHtmlId+"_DropDownListMarketDay"+f].options.selectedIndex=d-1;a[applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+f].options.selectedIndex=findIndexByValue(a[applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+
f],b);$(a[applicationJavaScriptHtmlId+"_DropDownListMarketDay"+f]).change()}else s2.tuifly.widget.dialog.alert(c)}else{c=localizedTextEarlierDatePre;if(MarketAction[f]=="New"||MarketAction[f]=="Change"){c+=localizedTextEarlierDatePost;s2.tuifly.widget.dialog.alert(c);a[applicationJavaScriptHtmlId+"_DropDownListMarketDay"+f].options.selectedIndex=parseInt(a[applicationJavaScriptHtmlId+"_DropDownListMarketDay"+(f-1)].options.selectedIndex,10)+0;a[applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+
f].options.selectedIndex=parseInt(a[applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+(f-1)].options.selectedIndex,10)+0;$(a[applicationJavaScriptHtmlId+"_DropDownListMarketDay"+f]).change()}else s2.tuifly.widget.dialog.alert(c)}return false}c=q}for(f=1;f<=numDatesToValidate;f++)if(!(MarketAction[f]=="Cancel"||MarketAction[f]=="Retain"))if(validateElement("DropDownListMarketDay"+f)){a[applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+f].options[a[applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+
f].selectedIndex].value.substring(5,7);a[applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+f].options[a[applicationJavaScriptHtmlId+"_DropDownListMarketMonth"+f].selectedIndex].value.substring(0,4);break}return true}var tempEventArgs,retryCount=0;function ExistingMarket(a,c,d,b,f){this.orig=a;this.dest=c;this.day=d;this.monthYear=b;this.monthYearValue=f}
function all(a){for(var c=applicationNumberOfMarketsToOffer,d=1;d<=c;d++)if(GetCheckedValue(applicationHtmlId+"RadioGroupMarket"+d)!=a)return false;return true}function exists(a){for(var c=applicationNumberOfMarketsToOffer,d=1;d<=c;d++)if(GetCheckedValue(applicationHtmlId+"RadioGroupMarket"+d)==a)return true;return false}
function CheckPaxCount(){var a=applicationPassengerArrayValues.split(","),c=document.SkySales,d=false;if(document.getElementById&&document.createTextNode){for(var b=0,f=0;f<a.length;f++)if(c[a[f]]!=void 0){d=true;b+=parseInt(c[a[f]].value)}s2.tuifly.util.Skin.get().toString();if(d&&b==0){s2.tuifly.widget.dialog.alert(localizedTextLessThanOnePassenger);return false}}return true}
function CheckCities(){for(var a=GetMarketStructure(),c=document.SkySales,d=[],b=-1,f=1;f<=numMarketsToValidate;f++)if(MarketAction[f]!="Cancel")if(applicationUseDropDownForStations){if(validateElement("DropDownListMarketOrigin"+f)){b+=1;if(c[applicationJavaScriptHtmlId+"_DropDownListMarketOrigin"+f].selectedIndex==0)if(a=="TripPlanner"&&f>1){numMarketsToValidate=f-1;numDatesToValidate=f-1;break}else{s2.tuifly.widget.dialog.alert(localizedMissingOrigin);return false}}else if(a=="TripPlanner"&&f>1){numMarketsToValidate=
f-1;numDatesToValidate=f-1;break}if(validateElement("DropDownListMarketDestination"+f)){b+=1;if(c[applicationJavaScriptHtmlId+"_DropDownListMarketDestination"+f].selectedIndex==0){s2.tuifly.widget.dialog.alert(localizedMissingDest);return false}if(GetOriginValue()==GetDestinationValue()){s2.tuifly.widget.dialog.alert(localizedSameOriginDestination);return false}}}else{if(validateElement("TextBoxMarketOrigin"+f)){b+=1;d[b]=c[applicationJavaScriptHtmlId+"_TextBoxMarketOrigin"+f];if(IsEmpty(d[b],localizedTextTextBoxMarketOrigin))if(a==
"TripPlanner"&&f>1){numMarketsToValidate=f-1;numDatesToValidate=f-1;break}else{s2.tuifly.widget.dialog.alert(localizedMissingOrigin);return false}}else if(a=="TripPlanner"&&f>1){numMarketsToValidate=f-1;numDatesToValidate=f-1;break}if(validateElement("TextBoxMarketDestination"+f)){b+=1;d[b]=c[applicationJavaScriptHtmlId+"_TextBoxMarketDestination"+f];if(IsEmpty(d[b],localizedTextTextBoxMarketDestination)){s2.tuifly.widget.dialog.alert(localizedMissingDest);return false}if(d[b].value.toUpperCase()==
d[b-1].value.toUpperCase()){s2.tuifly.widget.dialog.alert(localizedSameOriginDestination);return false}}}if(!applicationOpenJawEnabled){a=true;if(d.length>2)for(b=1;b<d.length-1;b+=2)if(d[b].value.toUpperCase()!=d[b+1].value.toUpperCase()){a=false;break}if(!a){s2.tuifly.widget.dialog.alert(localizedInvalidCityPairs);return false}}return true}
function setStationsState(a,c){if(applicationUseDropDownForStations){ElementsState["DropDownListMarketOrigin"+c]=a;ElementsState["DropDownListMarketDestination"+c]=a}else{ElementsState["TextBoxMarketOrigin"+c]=a;ElementsState["TextBoxMarketDestination"+c]=a}}
function OriginMac(a){var c=a.id.substring(a.id.length-1);if(c>0){var d=document.getElementById(applicationJavaScriptHtmlId+"_CheckBoxUseMacOrigin"+c);c=document.getElementById(applicationJavaScriptHtmlId+"_LabelUseMacOrigin"+c);if(d&&c){setMac(a,d,c);a=a.id;a=a.replace(/Origin/,"Destination");a=document.getElementById(a);DestinationMac(a)}}}
function DestinationMac(a){var c=a.id.substring(a.id.length-1);if(c>0){var d=document.getElementById(applicationJavaScriptHtmlId+"_CheckBoxUseMacDestination"+c);c=document.getElementById(applicationJavaScriptHtmlId+"_LabelUseMacDestination"+c);d&&c&&setMac(a,d,c)}}
function setMac(a,c,d){if(Stations&&a&&c&&d&&a.value&&Stations[a.value.toUpperCase()]!=null&&Stations[a.value.toUpperCase()].macCode.length>0){if(c)c.style.display=Stations[a.value.toUpperCase()]!=null&&a.value.toUpperCase()==Stations[a.value.toUpperCase()].macCode.toUpperCase()?"none":"block";if(d){d.innerHTML=macSearchAllText+Stations[a.value.toUpperCase()].macCode+macCodeSeparator;d.style.display="block"}if(Stations[a.value.toUpperCase()]!=null)for(var b in MacsArray[Stations[a.value.toUpperCase()].macCode]){if(b>
0)d.innerHTML+=macCitySeparator;d.innerHTML+=MacsArray[Stations[a.value.toUpperCase()].macCode][b]}}else{if(c){c.checked=false;c.style.display="none"}if(d){d.innerHtml="";d.style.display="none"}}}
function initMacs(){for(var a=1;a<=applicationNumberOfMarketsToOffer;a++){var c=document.getElementById(applicationJavaScriptHtmlId+"_TextBoxMarketOrigin"+a),d=document.getElementById(applicationJavaScriptHtmlId+"_TextBoxMarketDestination"+a),b=document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketOrigin"+a),f=document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketDestination"+a);c&&OriginMac(c);d&&DestinationMac(d);b&&OriginMac(b);f&&DestinationMac(f)}}
function highlightMoveDays(a,c){var d=a.id.charAt(a.id.length-1);try{var b=window["moveDepartureDays"+d]}catch(f){return}if(b!=null){d=document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketDay"+d);for(var g=0;g<d.options.length;g++)d.options[g].className="";if(b[a.value]!=null){b=b[a.value].split(",");for(g=0;g<b.length;g++)d.options[b[g]-1].className=c}}}
function highlightMoveOriginCities(a,c){try{var d=window["moveDepartureCities"+a]}catch(b){return}if(d!=null)for(var f=document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketOrigin"+a),g=0;g<d.length;g++)for(var h=0;h<f.options.length;h++)if(d[g]==f.options[h].value){f.options[h].className=c;break}}
function highlightMoveDestinationCities(a,c){try{var d=window["moveArrivalCities"+a]}catch(b){return}if(d!=null)for(var f=document.getElementById(applicationJavaScriptHtmlId+"_DropDownListMarketDestination"+a),g=0;g<d.length;g++)for(var h=0;h<f.options.length;h++)if(d[g]==f.options[h].value){f.options[h].className=c;break}}AvailabilitySearchInput={};function pad(a,c){for(var d=""+a;d.length<c;)d="0"+d;return d}
function ReturnDateDisplay(){document.getElementById("searchLanding")?AvailabilitySearchInput.ToggleMarketOptions("slow"):AvailabilitySearchInput.ToggleMarketOptions();$.datepicker._hideDatepicker()}
AvailabilitySearchInput.ToggleMarketOptions=function(a){GetMarketStructure();var c=$("#travelOptions"),d=$(":checked",$(c));if(d.val()=="RoundTrip"){$("#marketCityPair_2").hide();$("#marketDate_2").show(a)}else if(d.val()=="OpenJaw"){$("#marketCityPair_2").show();$("#marketDate_2").show(a)}else{$("input[value=OneWay]",c).select();$("#marketCityPair_2").hide();$("#marketDate_2").hide(a)}};
$(document).ready(function(){!document.getElementById("#availabilitySearchInput")||window.applicationNumberOfMarketsToOffer!=null||initMacs()});$(document).ready(function(){if(document.getElementById("#availabilitySearchInput")){$("#aosAvailabilitySearchDivBody").hide();$("#aosAvailbilitySearchDivHeader").hide()}});var mode="initial";
AvailabilitySearchInput.ToggleAvailabilitySearchForm=function(){$("#searchDivHeader").toggle();$("#searchDivHeaderBody").toggle();$("#SearchDivHeaderFooter").toggle();$("#ssrSearchDivHeader").toggle();$("#ssrSearchDivBody").toggle();$("#ssrSearchDivFooter").toggle();$("#aosAvailabilitySearchDivBody").toggle();$("#aosAvailbilitySearchDivFooter").toggle();$("#aosAvailbilitySearchDivHeader").toggle()};
$(document).ready(function(){if(document.getElementById("#availabilitySearchInput")){AvailabilitySearchInput.ToggleMarketOptions();$("#travelOptions > input").click(function(){AvailabilitySearchInput.ToggleMarketOptions()})}});var jsLoaded=true;function showFlightSearch(){}function validateRouteRestrictions(){return s2.tuifly.helper.search.validateRouteRestrictions()}var AFRICA_NOTE_DISPLAYED=false;function validateAfricanAirports(){return true}var allyoucanflyRoutes=[];
allyoucanflyRoutes.AGP=["CGN","STR"];allyoucanflyRoutes.ARN=["HAJ","STR"];allyoucanflyRoutes.BGY=["HAJ"];allyoucanflyRoutes.BIO=["CGN"];allyoucanflyRoutes.BOJ=["CGN"];allyoucanflyRoutes.BRI=["BSL","CGN","MUC","STR"];allyoucanflyRoutes.BSL=["BRI"];allyoucanflyRoutes.CAG=["CGN","MUC","STR"];allyoucanflyRoutes.CGN=["AGP","BIO","BOJ","BRI","CAG","CTA","FMM","GRZ","GWT","HAM","INN","KLU","LNZ","MAN","NAP","OLB","PMO","PSA","RJK","RMI","SZG","TXL","VCE","VLC"];
allyoucanflyRoutes.CTA=["CGN","DUS","FRA","HAJ","HAM","MUC","STR"];allyoucanflyRoutes.DBV=["HAJ","MUC","STR"];allyoucanflyRoutes.DUS=["CTA","NAP"];allyoucanflyRoutes.FCO=["FMM","HAJ"];allyoucanflyRoutes.FMM=["CGN","FCO","HAM","NAP","TXL","VCE"];allyoucanflyRoutes.FMO=["VCE"];allyoucanflyRoutes.FRA=["CTA","NAP","OLB"];allyoucanflyRoutes.GRZ=["CGN"];allyoucanflyRoutes.GWT=["CGN","STR"];
allyoucanflyRoutes.HAJ=["ARN","BGY","CTA","DBV","FCO","KLU","MAN","NAP","NCL","OLB","ORY","PMO","PSA","RJK","RMI","STR","SZG","VCE","VLC"];allyoucanflyRoutes.HAM=["CGN","CTA","FMM","KLU","NAP","OLB","SZG","VCE"];allyoucanflyRoutes.INN=["CGN"];allyoucanflyRoutes.KLU=["CGN","HAJ","HAM","TXL"];allyoucanflyRoutes.LNZ=["CGN"];allyoucanflyRoutes.MAN=["CGN","HAJ","STR"];allyoucanflyRoutes.MUC=["BRI","CAG","CTA","DBV","NAP","OLB","PMO","RJK","RMI"];
allyoucanflyRoutes.NAP=["CGN","DUS","FMM","FRA","HAJ","HAM","MUC","STR"];allyoucanflyRoutes.NCL=["HAJ"];allyoucanflyRoutes.OLB=["CGN","FRA","HAJ","HAM","MUC","STR"];allyoucanflyRoutes.ORY=["HAJ"];allyoucanflyRoutes.PMO=["CGN","HAJ","MUC","STR","TXL"];allyoucanflyRoutes.PSA=["CGN","HAJ","STR"];allyoucanflyRoutes.RJK=["CGN","HAJ","MUC","STR"];allyoucanflyRoutes.RMI=["CGN","HAJ","MUC","STR"];
allyoucanflyRoutes.STR=["AGP","ARN","BRI","CAG","CTA","DBV","GWT","HAJ","MAN","NAP","OLB","PMO","PSA","RJK","RMI","TXL","VCE","VLC"];allyoucanflyRoutes.SZG=["CGN","HAJ","HAM","TXL"];allyoucanflyRoutes.TXL=["CGN","FMM","KLU","PMO","STR","SZG","VCE"];allyoucanflyRoutes.VCE=["CGN","FMM","FMO","HAJ","HAM","STR","TXL"];allyoucanflyRoutes.VLC=["CGN","HAJ","STR"];var CurrentPage=0,javaScriptHtmlId="",TUICarsRequestHandled=false,TUICarsAjaxTimeoutInSeconds=15;
location.hostname.match(/tuifly\.com/)||(TUICarsAjaxTimeoutInSeconds=60);function TUICarsValidate(a){if(javaScriptHtmlId!=""){if($("#"+javaScriptHtmlId+"_HtmlInputTextSelectedCarID").val()!="")if(document.getElementById(a+"_CheckBoxAcceptAGB")&&!document.getElementById(a+"_CheckBoxAcceptAGB").checked){s2.tuifly.widget.dialog.alertNotice(TUICarsAGBMessage,{okCallback:function(){s2.tuifly.helper.extrasAlerts.callbackTuiCarsBox()}});return false}return true}}
function TUICarsReLoad(){var a=$("#fieldSetTuiCars");if(a.length){var c=a.cachedFind("input[id$='_HtmlInputTextPickUpDate']").val(),d=a.cachedFind("select[id$='_HtmlInputTextPickUpTime']").val(),b=a.cachedFind("input[id$='_HtmlInputTextDropOffDate']").val(),f=a.cachedFind("select[id$='_HtmlInputTextDropOffTime']").val(),g=a.cachedFind("input[id$='_HtmlInputTextSelectedCarID']").val(),h=$("input[name='"+javaScriptHtmlId+"_RadioButtonSortBy']:checked").val(),m=a.cachedFind("select[id$='HtmlInputTextDropOffStation']").val();
a=a.cachedFind("select[id$='HtmlInputTextPickUpStation']").val();TUICarsReQuery({showPage:CurrentPage,dateFrom:c,timeFrom:d,dateTo:b,timeTo:f,currSel:g,sortBy:h,pickUpStation:a,dropOffStation:m})}}function TUICarsReQuery(a){$("#CarDisplay").hide();$("#TUICarsAjax").hide();$("#CarWaitDisplay").show();TUICarsCallAJAX(a)}
function TUICarsCallAJAX(a){TUICarsRequestHandled=false;window.setTimeout("handleTUICarsRequest()",TUICarsAjaxTimeoutInSeconds*1E3);$(".qDifferentStationsMessage").hide();$.get("/TUICarsAjax.aspx",a,handleTUICarsRequest)}function handleTUICarsRequest(a){if(!TUICarsRequestHandled){TUICarsRequestHandled=true;callbackAjaxTUICarsSuccess(a)}}
function callbackAjaxTUICarsSuccess(a){$("#CarWaitDisplay").fadeOut("normal",function(){$("#TUICarsAjax").show();$("#TUICarsAjax").html(a);checkTUICarsSelectedCar();compareTUICarsStations();var c=$("#fieldSetTuiCars"),d=0,b=0;$("#CarWaitDisplay").hide();$(".resultWrapper").show();$("#tuiCarsWaitBox .queryLoadingTUICars").remove();if($("#tuiCarsWaitBox").hasClass("initialLoading"))if($("#TUICarsAjax .qSuccess").length==0){$("#tuiCarsWaitBox .tuiCarsNoResult").html($("#TUICarsRequestError").html());
c.remove();$("#tuiCarsWaitBox .tuiCarsNoResult").fadeIn("normal");$("#"+javaScriptHtmlId+"_HtmlInputTextSelectedCarID").val("")}else{d=1;c.removeClass("hidden");$("#tuiCarsWaitBox").hide();if($("#TUICarsAjax .sliderItem").length>0)b=1;else{$("#"+javaScriptHtmlId+"_HtmlInputTextSelectedCarID").val("");$(".qDifferentStationsMessage").hide()}}else if($("#TUICarsAjax .qSuccess").length==0){$("#TUICarsAjax").html($("#TUICarsRequestError").html());$("#"+javaScriptHtmlId+"_HtmlInputTextSelectedCarID").val("")}else{d=
1;if($("#TUICarsAjax .sliderItem").length>0)b=1;else{$("#"+javaScriptHtmlId+"_HtmlInputTextSelectedCarID").val("");$(".qDifferentStationsMessage").hide()}}s2.tuifly.model.Booking.TUICarChangeEvent.trigger();s2.tuifly.model.Booking.SSRChangeEvent.trigger();if(b){$("#CarDisplay").fadeIn("normal");TUICarsRegisterCheckBoxes();TUICarsTransferAjaxValueToContainer();s2.tuifly.model.Booking.TUICarChangeEvent.trigger();s2.tuifly.model.Booking.SSRChangeEvent.trigger();$(".sliderItem img").error(function(){$(this).parent().addClass("defaultImg");
$(this).hide()});$.cachedFind(".slider .sliderItem").live("click",function(){$(".slider .sliderItem").removeClass("selected");$(this).addClass("selected");var f=$(this).attr("data-type");$(".carDetails").removeClass("selected");$(".carDetails[data-type="+f+"]").addClass("selected");getServicePackage($(this).index())});c=$.cachedFind(".slider .sliderItem:first");getServicePackage(c.index());s2.tuifly.helper.lateroomsDetails.slider(500,332,400)}if(d)d&&b&&s2.tuifly.util.tracking.fire({events:["event68"],
name:"TUICars Offers",values:{products:s.products}});else s2.tuifly.util.tracking.fire({events:["event25"],name:"TUICars Timeout"});$("#tuiCarsWaitBox").removeClass("initialLoading")})}function TUICarsRegisterCheckBoxes(){$("#TUICarsAjax .checkerButton input[type=checkbox]").live("click",function(){TUICarsSelectCar(this,true)})}
function TUICarsTransferAjaxValueToContainer(){if(document.getElementById("TUICarsPagnitionInfo")){$("#TUICarsCurrentAjaxPage").html($("#TUICarsCurrentAjaxPageOutput").html());$("#TUICarsTotalAjaxPages").html($("#TUICarsTotalAjaxPagesOutput").html());$("#TUICarsCurrentAjaxPage").html()==""&&$("#TUICarsTotalAjaxPages").html()==""&&$("#TUICarsPageSlash").html("");parseInt(document.getElementById("TUICarsTotalAjaxPages").innerHTML,10)>CurrentPage||(CurrentPage=0)}}
function checkTUICarsSelectedCar(){$("#TUICarsAjax .checkerButton input[type=checkbox]").each(function(){TUICarsSelectCar(this,false)})}
function TUICarsSelectCar(a,c){var d=$(a),b=d.closest(".checkerButton").find(".blueButton"),f=d.closest(".checkerButton").find(".grayButton");if(a.checked){$("#TUICarsAjax .checkerButton input[type=checkbox]").attr("checked",false);$("#TUICarsAjax .grayButton").css("display","none");$("#TUICarsAjax .blueButton").css("display","inline-block");var g=d.closest(".qCarDetails").find(".qTUICarsCheckBoxAcceptAGB").attr("checked");$(".qTUICarsCheckBoxAcceptAGB").attr("checked",false);d.closest(".qCarDetails").find(".qTUICarsCheckBoxAcceptAGB").attr("checked",
g);TUICarsAgbChange();$("#"+javaScriptHtmlId+"_HtmlInputTextSelectedCarID").attr("value",a.id.substr(a.id.indexOf("CAR_")+4));b.css("display","none");f.css("display","inline-block");a.checked=true}else if(c){$("#"+javaScriptHtmlId+"_HtmlInputTextSelectedCarID").attr("value","");f.css("display","none");b.css("display","inline-block")}s2.tuifly.model.Booking.TUICarChangeEvent.trigger();s2.tuifly.model.Booking.SSRChangeEvent.trigger()}
function getServicePackage(a){a="/NewskiesEndpointCarsTermsAndDropOffInformation.aspx?index="+a;var c=$(".qServiePack");$.getJSON(a,function(d){var b=d.Data.Status,f=d.Data.Stations;if(d.Success){c.html(b.toString());var g=$("select[id$='HtmlInputTextPickUpStation']"),h=$("select[id$='HtmlInputTextDropOffStation']");$(g).children().remove();$(h).children().remove();var m=d.Data.PickupStation,o=d.Data.DropOffStation;_(f).each(function(q){var u=$("<option />");u.html(q.Name);u.val(q.Id+" "+q.S2SupplierId);
q.Id==m&&u.attr("selected","selected");$(g).append(u)});_(f).each(function(q){var u=$("<option />");u.html(q.Name);u.val(q.Id+" "+q.S2SupplierId);q.Id==o&&u.attr("selected","selected");$(h).append(u)});compareTUICarsStations()}else{d=s2.tuifly.util.culture.get("paketLinkText");c.html(d)}})}
function openTUICarsStationInfo(a){var c,d={dropoff:".qDropoffStations",pickup:".qPickupStations"};c=$(d[a]+" select").val();if(c=="-1")c=$(d[a]).data("default");else if((a=c.match(/^(\d+)\s/))&&a.length)c=a[1];a=$("#"+javaScriptHtmlId+"_HtmlInputTextPickUpDate").val();d=$("#"+javaScriptHtmlId+"_HtmlInputTextDropOffDate").val();c&&a&&d&&s2.tuifly.helper.popup.open("/PopupTUICarsStation.aspx?stationId="+c+"&pickupDate="+a+"&dropoffDate="+d,700,400,"carpopup")}
function compareTUICarsStations(){var a=$(".qDropoffStations select").val(),c=$(".qPickupStations select").val();a!=c?$(".qDifferentStationsMessage").show():$(".qDifferentStationsMessage").hide()}function openMietbedingungen(){var a=$(".qMietbedingungenLink:visible").data("index");s2.tuifly.helper.popup.open("/PopupTUICarsTerms.aspx?index="+a,700,400,"carpopup")}
function TUICarsAgbChange(){$("#"+javaScriptHtmlId+"_CheckBoxAcceptAGB").attr("checked",$(".qTUICarsCheckBoxAcceptAGB:visible").attr("checked"))}
$(document).ready(function(){if(document.getElementById("carsAndHotels")||document.getElementById("itinerary")||document.getElementById("extrasChange")||document.getElementById("itineraryChange"))$("head").append($('<link href="https://ww5.tui.com/cars/pics/cars_sec.css" type="text/css" rel="stylesheet"/>'));if(window.javaScriptHtmlId&&$("#"+javaScriptHtmlId+"_HtmlInputTextPickUpDate").length!=0){$("#"+javaScriptHtmlId+"_HtmlInputTextPickUpDate").live("change",TUICarsReLoad);$("#"+javaScriptHtmlId+
"_HtmlInputTextDropOffDate").live("change",TUICarsReLoad);$("#fieldSetTuiCars select[id$='_HtmlInputTextPickUpTime']").live("change",TUICarsReLoad);$("#fieldSetTuiCars select[id$='_HtmlInputTextDropOffTime']").live("change",TUICarsReLoad);$("input[name='"+javaScriptHtmlId+"_RadioButtonSortBy']").live("change",TUICarsReLoad);$("#"+javaScriptHtmlId+"_HtmlInputTextFilter").live("change",TUICarsReLoad);$(".qPickupStations select, .qDropoffStations select").live("change",TUICarsReLoad);TUICarsReLoad()}$(".qTUICarsCheckBoxAcceptAGB").live("click",
TUICarsAgbChange)});CurrentPage=0;var HotelJavaScriptHtmlId="",TUIHotelRequestHandled=false,TUIHotelAjaxTimeoutInSeconds=15;location.hostname.match(/tuifly\.com/)||(TUIHotelAjaxTimeoutInSeconds=60);
function TUIHotelsValidate(){if(HotelJavaScriptHtmlId!=""){if($("#"+HotelJavaScriptHtmlId+"_SelectedOffer").val()!="")if(!document.getElementById(HotelJavaScriptHtmlId+"_CheckBoxAcceptAGB").checked){s2.tuifly.widget.dialog.alertNotice(TUIHotelsAGBMessage,{okCallback:function(){s2.tuifly.helper.extrasAlerts.callbackTuiHotelsBox()}});return false}return true}}
function TUIHotelsRoomsChanged(){var a=HotelJavaScriptHtmlId+"_ListBoxSingleRoom",c=HotelJavaScriptHtmlId+"_ListBoxDoubleRoom",d=parseInt($("#"+a).val()),b=parseInt($("#"+c).val());if(d+2*b>TUIHotelsNumPersons){if(this.id==a)$("#"+c).val(Math.floor((TUIHotelsNumPersons-d)/2));else this.id==c&&$("#"+a).val(TUIHotelsNumPersons-2*b);d=parseInt($("#"+a).val());b=parseInt($("#"+c).val())}if(d>0||b>0)TUIHotelsReLoad()}
function TUIHotelsReLoad(){var a=1,c=document.getElementById(HotelJavaScriptHtmlId+"_NightsDropDown");if(c)a=c.selectedIndex+1;a={Nights:a};if(document.getElementById(HotelJavaScriptHtmlId+"_ListBoxSingleRoom")){a.RoomsSingle=$("#"+HotelJavaScriptHtmlId+"_ListBoxSingleRoom").val();a.RoomsDouble=$("#"+HotelJavaScriptHtmlId+"_ListBoxDoubleRoom").val()}TUIHotelsReQuery(a)}function TUIHotelsNoReLoad(){TUIHotelsReQuery({hotelsShowPage:CurrentPage})}
function TUIHotelsShowPage(a){if(a==-1)if(CurrentPage>0)CurrentPage-=1;else return;if(a==1)if(parseInt(document.getElementById("TUIHotelsTotalAjaxPages").innerHTML)>CurrentPage+1)CurrentPage+=1;else return;TUIHotelsNoReLoad()}function TUIHotelsReQuery(a){$("#HotelDisplay").fadeOut("normal",function(){$("#HotelWaitDisplay").fadeIn("normal",function(){TUIHotelsCallAJAX(a)})})}
function TUIHotelsCallAJAX(a){TUIHotelRequestHandled=false;window.setTimeout("handleTUIHotelRequest()",TUIHotelAjaxTimeoutInSeconds*1E3);$.get("/TUIHotelsAjax.aspx",a,handleTUIHotelRequest)}function handleTUIHotelRequest(a){if(!TUIHotelRequestHandled){TUIHotelRequestHandled=true;callbackAjaxTUIHotelSuccess(a)}}
function callbackAjaxTUIHotelSuccess(a){$("#TUIHotelsAjax").html(a);$("#HotelWaitDisplay").fadeOut("normal",function(){var c=0;$("#HotelWaitDisplay").hide();if($("#tuiHotelWaitBox").hasClass("initialLoading"))if($("#TUIHotelsAjax").html())if($("#TUIHotelsAjax .sliderItem").length>0){$("#tuiHotelWaitBox").hide();c=1}else{$("#tuiHotelWaitBox .queryLoadingTUIHotel").fadeOut("normal");$("#tuiHotelWaitBox .tuiHotelNoResult").html($("#TUIHotelsRequestError .errorMessage").html());$("#tuiHotelWaitBox .tuiHotelNoResult").fadeIn("normal")}else{$("#tuiHotelWaitBox .tuiHotelNoResult").html($("#TUIHotelsRequestError").html());
$("#tuiHotelWaitBox .tuiHotelNoResult").fadeIn("normal");s_trackEvent("event27","event27","TUIHotels Timeout");$("#tuiHotelWaitBox .queryLoadingTUIHotel").fadeOut("normal")}else if($("#TUIHotelsAjax").html())c=1;else $("#TUIHotelsAjax").html($("#TUIHotelsRequestError").html());if(c){$("#fieldSetTuiHotel .sliderLeft span").show();$("#fieldSetTuiHotel .sliderRight span").show();$("#fieldSetTuiHotel").fadeIn("normal");TUIHotelsRegisterCheckBoxes();TUIHotelsTransferAjaxValueToContainer();$("#HotelDisplay").fadeIn("normal");
$("#"+HotelJavaScriptHtmlId+"_SelectedOffer").val("");$("#"+HotelJavaScriptHtmlId+"_SelectedParentOffer").val("");s2.tuifly.model.Booking.TUIHotelChangeEvent.trigger();s2.tuifly.model.Booking.SSRChangeEvent.trigger();if($("#fieldSetTuiHotel .sliderItem").length<4||$("#TUIHotelsCurrentAjaxPage").html()==$("#TUIHotelsTotalAjaxPages").html())$("#fieldSetTuiHotel .sliderRight span").hide();if($("#fieldSetTuiHotel .sliderItem").length==0||$("#TUIHotelsCurrentAjaxPage").html()=="1")$("#fieldSetTuiHotel .sliderLeft span").hide()}$("#tuiHotelWaitBox").removeClass("initialLoading");
jQuery.browser.msie&&jQuery.browser.version.substr(0,1)})}function TUIHotelsRegisterCheckBoxes(){$("#TUIHotelsAjax input:checkbox").click(TUIHotelsSelectHotel)}
function TUIHotelsTransferAjaxValueToContainer(){$("#TUIHotelsCurrentAjaxPage").html($("#TUIHotelsCurrentAjaxPageOutput").html());$("#TUIHotelsTotalAjaxPages").html($("#TUIHotelsTotalAjaxPagesOutput").html());$("#TUIHotelsCurrentAjaxPage").html()==""&&$("#TUIHotelsTotalAjaxPages").html()==""&&$("#TUIHotelPageSlash").html("");parseInt(document.getElementById("TUIHotelsTotalAjaxPages").innerHTML)>CurrentPage||(CurrentPage=0)}
function TUIHotelsSelectHotel(){if(this.checked){$("#TUIHotelsAjax input[type=checkbox]").attr("checked",false);$("#"+HotelJavaScriptHtmlId+"_SelectedOffer").val(this.value);$("#"+HotelJavaScriptHtmlId+"_SelectedParentOffer").val(this.value);this.checked=true}else{$("#"+HotelJavaScriptHtmlId+"_SelectedOffer").val("");$("#"+HotelJavaScriptHtmlId+"_SelectedParentOffer").val("")}s2.tuifly.model.Booking.TUIHotelChangeEvent.trigger();s2.tuifly.model.Booking.SSRChangeEvent.trigger()}
function HotelVariationSelected(a,c){$("#tuiHotelsBox").find("input[id$='_SelectedOffer']").val(c);$("#tuiHotelsBox").find("input[id$='_SelectedParentOfferID']").val(a);$("#hotelOffer"+a+"Description").html($("#hotelOffer"+c+"Description").html());$("#hotelOffer"+a+"Price").html($("#hotelOffer"+c+"Price").html());$("#hotelOffer"+a+"AveragePrice").html($("#hotelOffer"+c+"AveragePrice").val());$("#hotelOffer"+a+"Checkbox").val(c);var d=$("#hotelOffer"+a+"Checkbox").get(0);d.checked=true;$(d).change();
s2.tuifly.widget.dialog.ajaxLayerClose()}var TUIHotelsNumPersons=0;
$(document).ready(function(){if(window.HotelJavaScriptHtmlId){$("#HtmlInputTextHotelNameFilter").change(TUIHotelsNoReLoad);$("#HtmlInputTextHotelLocationFilter").change(TUIHotelsNoReLoad);TUIHotelsNumPersons=parseInt($("#TUIHotelsNumPersons").html());$("#"+HotelJavaScriptHtmlId+"_ListBoxSingleRoom").change(TUIHotelsRoomsChanged);$("#"+HotelJavaScriptHtmlId+"_ListBoxDoubleRoom").change(TUIHotelsRoomsChanged);$("#"+HotelJavaScriptHtmlId+"_NightsDropDown").change(TUIHotelsReLoad);TUIHotelsReLoad()}});
function BookingRetrieveValues_Validate(){var a=$("#SkySales");a=$("input,select",a);for(var c=0,d=false,b=true,f=applicationSections.split(","),g=0;g<f.length;g++){for(var h=f[g].split("|"),m=g+1,o=0,q=0;q<h.length;q++){var u=a.filter("[name='"+(applicationBookingRetrieveJavaScriptHtmlId+"$"+h[q]+m)+"']"),w=false;if(w=h[q]=="DEPARTMONTH"||h[q]=="DEPARTDAY"||h[q]=="DEPARTYEAR"||h[q]=="CARDTYPE"?u.val()!=u.attr("requiredempty"):h[q]=="ORIGINCITY"||h[q]=="DESTINATIONCITY"?u.val()!="---":u.val()||0){o++;
b=false}}d=d||o<h.length&&o>0;o>0&&c++}if(c>1){s2.tuifly.widget.dialog.alert(localizedenteredInfoInMoreThanOneSection);return false}if(d||b){s2.tuifly.widget.dialog.alert(localizedMissingInformation);return false}return true}
(function(){var a=function(){};window.s2=new a;window.s2.initializeCallbacks={};window.s2.namespace=function(c,d){for(var b=c.split("."),f=window,g=0;g<b.length;g++){var h=b[g];if(f[h]==null)f[h]=new a;f=f[h]}d.call(f,f);if(typeof f.initialize==="function")window.s2.initializeCallbacks[c]=function(){f.initialize()}};window.s2.evalNamespace=function(c){c=c.split(".");for(var d=window,b=0;b<c.length;b++){var f=c[b];if(d[f]==null)d[f]=new a;d=d[f]}return d}})();
s2.namespace("s2.tuifly",function(){Class("s2.tuifly.LazyMetaClass",{isa:Joose.Class,override:{initializeFromProps:function(a){var c=this,d=this.SUPER,b=false,f=function(){if(!b){b=true;joose.top.CHAOTIC_TRAVERSION_ORDER=true;a.isa&&a.isa.finishBuild&&a.isa.finishBuild();d.call(c,a)}};this.addClassMethod("finishBuild",f);this.addClassMethod("create",function(){f();return this.create.apply(this,arguments)});this.c.getInstance=function(){f();return this.getInstance.apply(this,arguments)}}}})});
s2.namespace("s2.tuifly",function(){var a=false,c,d="",b=2,f=function(){c.show();c.html(d)},g=false;$(document).ready(function(){g=true});var h="";this.Logger={init:function(){if((new String(location.hash)).indexOf("debug")>-1)b=4},log:function(m,o){if(window.console&&!document.all){var q="";if(arguments.callee&&arguments.callee.caller&&arguments.callee.caller.name)q=arguments.callee.caller.name+": ";o?console.error(q+m):console.log(q+m)}else if(g){if(h){m=h+"\n"+m;h=null}if(a){m=m.replace(/\n/g,
"<br />\n");d=m+"<br />\n"+d;q&&clearTimeout(q);q=setTimeout(f,1E3)}else{a=true;$(document.body).append("<div id='s2Log' style='position: absolute; top: 10px; left: 10px; width: 500px; height: 400px; padding: 5px; overflow: auto; text-align: left; background-color: white; z-index: 9999; display: block'></div>");c=$("#s2Log");c.dblclick(function(){c.hide()});this.log(m)}}else h+=m},debug:function(m){b<4||this.log(m)},error:function(m){this.log(m,true)}};this.Logger.init();s2.Logger=this.Logger});
s2.namespace("s2.tuifly.monkeyPatch",function(){var a=[];this.patch=function(c,d){a.push([c,d])};$(document).ready(function(){jQuery.each(a,function(){window[this[0]]=this[1]});window.changeDest=changeDest_S2});this.wrap=function(c,d,b){b=b;if(b==null)b=window;var f=b[c];b[c]=function(){var g=f.apply(this,arguments);d.apply(this,arguments);return g}};this.around=function(c,d,b){b=b;if(b==null)b=window;var f=b[c];b[c]=function(){var g=[f].concat(Array.prototype.slice.call(arguments,0));return d.apply(this,
g)}};this.getDotNetNamespacedThing=function(c){var d=RegExp(c+"$"),b;Joose.O.each(window,function(f,g){if(g.match(d)){b=f;return false}});if(b==null)throw Error("Cant find object with suffix "+c);return b}});
s2.namespace("s2.tuifly",function(){var a=0;this.Event=function(c){this.eventName="s2:"+c;this.lazyTimeout=[]};this.Event.prototype={trigger:function(){for(var c=[],d=0;d<arguments.length;d++)c[d]=arguments[d];$(document).trigger(this.eventName,[c])},observe:function(c){var d=this;$(document).bind(this.eventName,function(b,f){c.apply(d,f)})},observeOnce:function(c){var d=this;this.observe(function(b,f){f?c.apply(d,f):c.call(d);$(document).unbind(d.eventName,c)})},observeLazy:function(c,d){var b=this,
f=a,g=d||200;this.observe(function(){b.lazyTimeout[f]&&clearTimeout(b.lazyTimeout[f]);var h=arguments;b.lazyTimeout[f]=setTimeout(function(){c.apply(b,h)},g)});a++},toString:function(){return this.eventName}}});
s2.namespace("s2.tuifly.events",function(){this.AjaxStartEvent=new s2.tuifly.Event("AjaxStartEvent");this.AjaxEndEvent=new s2.tuifly.Event("AjaxEndEvent");this.DocResize=new s2.tuifly.Event("DocResize");this.AvailibilityCookieDataSet=new s2.tuifly.Event("AvailibilityCookieDataSet");this.SubmitLinkButton=new s2.tuifly.Event("SubmitLinkButton")});
s2.namespace("s2.tuifly.util",function(){var a=this;Class("s2.tuifly.util.CurrencyValue",{has:{value:{isa:TYPE.Num,is:"rw",required:true},symbol:{isa:TYPE.Str,is:"rw",required:true},format:{is:"rw",init:"%.2f"},symbolAfterValue:{is:"rw",init:true}},override:{getSymbol:function(){var c=this.SUPER();c=c.replace(/\s+/g,"");c=c.replace(/[\r\n]/g,"");return c=c.replace(/\&nbsp;/g,"")}},methods:{getCode:function(){var c=this.getSymbol();return c=="€"?"EUR":c=="£"?"GBP":c=="SFr"?"SFr":c=="$"?"USD":c=="Kc"?
"CZK":c=="kr"?"SEK":""},stringify:function(){var c=""+JooseX.Culture.Factory.get().formatNumber(this.getValue(),this.format);return this.getSymbolAfterValue()?""+c+" "+this.getSymbol():""+this.getSymbol()+" "+c},greaterZero:function(){return this.getValue()>0},add:function(c){var d=this.checkPara(c);d=this.meta.instantiate({value:c.getValue()+this.getValue(),symbol:d});d.setSymbolAfterValue(this.getSymbolAfterValue()&&c.getSymbolAfterValue());return d},substract:function(c){var d=this.checkPara(c);
d=this.meta.instantiate({value:this.getValue()-c.getValue(),symbol:d});d.setSymbolAfterValue(this.getSymbolAfterValue()&&c.getSymbolAfterValue());return d},mul:function(c){c=this.meta.instantiate({value:c*this.getValue(),symbol:this.getSymbol()});c.setSymbolAfterValue(this.getSymbolAfterValue());return c},checkPara:function(c){if(!c||!c instanceof a.CurrencyValue)throw Error("invalid currency object "+c);if(c.getSymbol()!=this.getSymbol()){if(c.getValue()==0)return this.getSymbol();if(this.getValue()==
0)return c.getSymbol();s2.tuifly.Logger.debug("Trying to add different currencies: '"+c.getSymbol()+"' vs. '"+this.getSymbol()+"'")}return this.getSymbol()}},classMethods:{getDefaultCurrencySymbol:function(){return this.defaultCurrencySymbol},setDefaultCurrencySymbol:function(c){this.defaultCurrencySymbol=c},zero:function(c){return this.meta.instantiate({value:0,symbol:c||this.getDefaultCurrencySymbol()})}}});Type("S2Currency",{uses:TYPE.Obj,where:function(c){return c instanceof a.CurrencyValue},
coerce:[{from:TYPE.Str,via:function(c,d){var b=d&&d.culture?JooseX.Culture.Factory.get(d.culture):JooseX.Culture.Factory.get(),f;c=c.replace(/\&nbsp\;/g," ");if(f=c.match(/(\D*)\s*(-*\d+[.,]*\d*[.,]*\d*)\s*(\D*)/)){c=b.parseNumber(f[2]);b=f[1];var g=f[3];b=(f=typeof g=="string"&&g.length>0?true:false)?g:b;b=b.replace(/\s/g,"");b=new a.CurrencyValue({value:c,symbol:b});b.setSymbolAfterValue(f);return b}return null}}]})});
s2.namespace("s2.tuifly.util",function(){var a,c;this.Query=function(d){this.queryString=d?d:window.location.search;this.query=this.parse();c=this};this.Query.instance=function(){c||new this.Query;return c};this.Query.prototype={asHash:function(){return this.query},normalize:function(d){if(d==null)d="";d=""+d;return d.toLowerCase()},param:function(d,b){if(b!=null&&d!=""&&d!=null)this.query[this.normalize(d)]=b;return this.query[this.normalize(d)]},parse:function(){if(a)return a;var d=this.queryString;
d=d.substr(1);if(d==null)d="";parts=d.split("&");d={};for(var b=0;b<parts.length;b++){var f=parts[b].split("=");if(f[0]!="")d[this.normalize(unescape(f[0]))]=unescape(f[1])}return a=d},toString:function(){var d=[],b;for(b in this.query){var f=b;if(f!=null&&f!=""){f=this.normalize(f);d.push(encodeURIComponent(f)+"="+encodeURIComponent(this.query[b]))}}return d.join("&")}}});
s2.namespace("s2.tuifly.util",function(){this.Text=function(a){if(typeof a=="undefined")a="";this.sourceObject=a};this.Text.prototype={get:function(a,c){var d=this._get(a);c&&Joose.O.each(c,function(b,f){d=d.replace(RegExp("{"+f+"}"),b)});return d},_get:function(a){var c=this.sourceObject;if(c&&c.find)return c.find("> param[name='"+a+"']").val();return c[a]}};this.removeHtmlTags=function(a){var c=document.createElement("DIV");c.innerHTML=a;return c.textContent||c.innerText}});
s2.namespace("s2.tuifly.util",function(){this.Skin=function(){this.id=this.fetch()};var a;this.Skin.get=function(){if(a)return a;return a=new this};this.Skin.prototype={fetch:function(){var c=jQuery("body").attr("class").match(/Skin(\w+)/);if(c)return c[1];return""},toString:function(){return this.id},identifier:function(){return this.id},isConsumer:function(){return this.toString().match(/^hlxconsumer$/i)?true:false},isMember:function(){return this.toString().match(/^hlxmember$/i)?true:false},isAgent:function(){return this.toString().match(/^hlxagencymaster$/i)?
true:false},isPep:function(){return this.toString().match(/^hlxpepagent$/i)?true:false},isInterline:function(){return this.toString().match(/^hlxinterline$/i)?true:false},isCorporate:function(){return this.toString().match(/^hlxcorporatemaster$/i)?true:false}}});
s2.namespace("s2.tuifly.util",function(){this.Environment=function(){this.env=this.getEnv()};var a;this.Environment.get=function(){if(a)return a;return a=new this};this.Environment.prototype={getEnv:function(){return this.isProd()?"produktion":this.isStage()?"prod":"devel"},isProd:function(){return location.host.match(/tuifly\.com$/)||location.host.match(/hlx\.com$/)||location.host.match(/hlx\.de$/)?true:false},isStage:function(){if(location.host.match(/stage.tuifly.sinnerschrader.de/)||location.host.match(/236$/))return true;
return false},isDev:function(){if(location.host.match(/devel.tuifly.sinnerschrader.de/)||location.host.match(/10080$/))return true;return false},secureUrl:function(c){JooseX.Culture.Factory.get().identifier();var d=this.isProd()||this.isStage()?"https://":"http://",b=location.hostname;if(location.port!="80"&&location.port!="443"&&location.port!="")b+=":"+location.port;return d+b+c},OmnitureAccount:function(){var c=JooseX.Culture.Factory.get().majorIdentifier(),d=this.env,b;if(c&&d)b="tuifly-"+d+"-"+
c;return b}}});s2.namespace("s2.tuifly.util.passenger",function(){this.countOf=function(a){if(!(typeof a=="undefined"||a=="")){a=$("#s2data div[node^='PassengerInfoXML'] div[node='PAXTYPES'] div[node='PAXTYPE'][type="+a+"]").attr("count");if(typeof a=="undefined"||a=="")a=0;return parseInt(a)}}});
s2.namespace("s2.tuifly.util.booking",function(){this.isChangeProcess=function(){var a=$("#s2data div[node^='BookingInfoXML'] div[node='booking']").attr("ischangeprocess");if(typeof a=="undefined")return false;return a.match(/true/i)?true:false};this.journeyFromClass=function(a){a=a.attr("class");var c=a.match(/journey(\d+)/);if(c)return parseInt(c[1],10);throw"Cant find journey in "+a;}});
s2.namespace("s2.tuifly.util",function(){this.TextMetrics=function(a,c){this.text=""+c;this.jQueryObject=$(a).eq(0);var d={"font-family":this.jQueryObject.css("font-family"),"font-size":this.jQueryObject.css("font-size"),"font-weight":this.jQueryObject.css("font-weight"),"font-style":this.jQueryObject.css("font-style"),"text-transform":this.jQueryObject.css("text-transform"),"text-decoration":this.jQueryObject.css("text-decoration"),"letter-spacing":this.jQueryObject.css("letter-spacing"),"word-spacing":this.jQueryObject.css("word-spacing"),
direction:this.jQueryObject.css("direction"),position:"absolute",visibility:"hidden",height:"auto",width:"auto","z-index":"-1"};this.textNode=jQuery("<pre>"+c+"</pre>").css(d);this.doc=$("body")};this.TextMetrics.prototype={width:function(){this.doc.append(this.textNode);var a=this.textNode.width();this.textNode.remove();return a},elementWidth:function(){var a=this.jQueryObject.width();if(a==0){a=this.jQueryObject.css("width");a=a.match(/^\d+px$/)?parseInt(a.substring(a,a.length-2)):0}return a},getIndexAtX:function(a){a=
parseInt(a);if(this.text.length==0||isNaN(a))return-1;if(a<=0)return 0;this.doc.append(this.textNode);var c=this.textNode.width();if(c<=a){this.textNode.remove();return this.text.length}c=Math.round(this.text.length*a/c);for(var d=this.textNode.text(this.text.substr(0,c)).width(),b=this.textNode.text(this.text.substr(0,c+1)).width(),f=10;(!(d<=a)||!(a<b))&&f>0;){if(b<a)c++;else c--;d=this.textNode.text(this.text.substr(0,c)).width();b=this.textNode.text(this.text.substr(0,c+1)).width();f--}this.textNode.remove();
return c}}});
s2.namespace("s2.tuifly.util",function(){var a,c={};window.streckenliste={};this.routes=function(d){this.load(d)};this.routes.get=function(d){if(a){d(a);return a}return a=new this(d)};this.routes.airberlinFormerTuifly=function(){return c};this.routes.isInAirberlinFormerTuifly=function(d){return c[d]!=null};this.routes.prototype={load:function(d){var b=this;$.get("/pregenerated/strecken.csv",function(f){f=f.split("\r\n");var g={},h;for(h in f){var m=f[h].split(";");if(m.length>2){var o=m[0].toLowerCase(),
q=m[1].toLowerCase();m=m[2].toLowerCase();o=s2.tuifly.util.generateRouteKey(o,q,m);g[o]=true}}b.obj=g;d(b)})},check:function(d,b,f){d=d.toLowerCase();b=b.toLowerCase();return this.obj[s2.tuifly.util.generateRouteKey(d,b,f)]?true:false},isX3:function(d,b){return this.check(d,b,"x3")||this.check(d,b,"hf")}};this.generateRouteKey=function(d,b,f){d=d.toLowerCase();b=b.toLowerCase();f=f.toLowerCase();return d+"-"+b+"-"+f}});
s2.namespace("s2.tuifly.util.culture",function(){var a=this,c=false;a.store={};a._initialize=function(){$(".qCultureData").children().each(function(){var d=$(this),b=d.attr("name");d=d.attr("value");b&&d&&a.add(b,d)})};a.add=function(d,b){if(a.store[d]){var f="Culture mit der ID <"+d+"> ist bereits vorhanden:\n\n"+a.get(d);location.href.match(/tuifly\.com/)?s2.Logger.error(f):origAlert(f)}else a.store[d]=b};a.get=function(d){if(!c){c=true;a._initialize()}return a.store[d]};a.log=function(){console.log(a.store)}});
s2.namespace("s2.tuifly.util.toolbox",function(){var a=this;a.dynamicPostForm=function(){this.parameters={};this.initByUrl=function(c,d){var b=this;b.setTarget(d);var f=[];f=c.match(/^(http|https)/i)?c.match(/^(http|https):\/\/[-:\.a-z0-9]+(\/.+)\?(.*)/i):c.match(/(.+)\?(.*)/i);if(f[1]&&f[2]){b.action=f[1];f=f[2].split("&");jQuery.each(f,function(g,h){var m=h.split("="),o=m[0];h=m[1];b.parameters[o]=h})}};this.init=function(c,d,b){this.action=c;this.setTarget(b);if(typeof d=="object")this.parameters=
d};this.setTarget=function(c){c||(c="");this.target=c};this.submit=function(){var c=$("<form/>"),d=$(c);d.attr("method","POST");d.attr("target",this.target);jQuery.each(this.parameters,function(b,f){var g=$($("<input/>"));g.attr("type","hidden");g.attr("name",b);g.attr("value",f);d.append(g)});d.attr("action",this.action);$("body").append(c);d.trigger("submit")}};this.openURLAsPostRequest=function(c){var d=new a.dynamicPostForm;d.initByUrl(c);d.submit()};this.shortenTextInElement=function(c,d,b){b||
(b="...");d=""+d;var f=new s2.tuifly.util.TextMetrics(c,d),g=f.elementWidth();if(0<g&&g<f.width())d=d.substr(0,f.getIndexAtX(g-(new s2.tuifly.util.TextMetrics(c,b)).width()))+b;return d};this.createMementooPITag=function(){}});
s2.namespace("s2.tuifly.util.tracking",function(){var a=this,c={ORDINARY:"o",DOWNLOAD:"d",EXIT:"e"};a.fire=function(d){if(typeof s=="undefined"||typeof s=="string")s=a.getObject();d.events=d.events||[];d.values=d.values||{};d.delay=typeof d.delay=="undefined"?false:d.delay;d.type=d.type||c.ORDINARY;d.name=d.name||"";d.element=d.element||document;var b=[],f=[];if(d.events.length>0){b.push("events");f=d.events}for(var g in d.values){s[g]=d.values[g];b.push(g)}s.linkTrackVars=b.join(",");s.events=s.linkTrackEvents=
f.join(",");s.tl(d.delay?d.element:true,d.type,d.name);s.linkTrackVars="None";s.linkTrackEvents="None"};a.getObject=function(){if(typeof s=="undefined"||typeof s=="string"){s_account="tuifly-"+s2.tuifly.util.Environment.get().getEnv()+"-de";s=s_gi(s_account)}return s}});
s2.namespace("s2.tuifly.util.fillSelect",function(){this.birthdaySelect={fill:function(a){this.year({inputClass:a.yearElem,start:a.yearStart});this.month({inputClass:a.monthElem});this.day({inputClass:a.dayElem})},year:function(a){var c=$("."+a.inputClass),d="";c.html("");var b=typeof a.start==="number"?a.start:(new Date).getYear()+1900;a=typeof a.end==="number"?a.end:1940;d="";for(b=b;b>=a;b--)d+="<option value='"+b+"'>"+b+"</option>";c.append(d)},month:function(a){var c="";a=$("."+a.inputClass);
var d=Date.CultureInfo.monthNames;a.html("");for(var b=1;b<=12;b++)c+="<option value='"+(b<10?"0"+b:b)+"'>"+d[b-1]+"</option>";a.append(c)},day:function(a){var c="";a=$("."+a.inputClass);a.html("");for(var d=1;d<=31;d++){var b=d<10?"0"+d:d;c+="<option value='"+b+"'>"+b+"</option>"}a.append(c)}}});
s2.namespace("s2.tuifly.validation",function(){function a(d,b){var f=events[d];if(f!=void 0)for(var g=0;g<f.length;g++){var h=f[g];if(h&&window[h]){if(window[h](b)==false)return false}else s2.Logger.debug("Cant find event "+d+" func "+h)}return true}var c=this;this.monkeyPatch=function(){s2.tuifly.monkeyPatch.patch("Validate",c.Validate);s2.tuifly.monkeyPatch.patch("validate",c.validate);s2.tuifly.monkeyPatch.patch("setError",c.setError);s2.tuifly.monkeyPatch.patch("outputErrors",c.outputErrors);
s2.tuifly.monkeyPatch.patch("raise",a)};this.Validate=function(d,b,f,g){this.form=d;this.namespace=b;this.errors=[];this.setfocus=null;this.errorsHeader=f;this.namedErrors=[];if(g)this.regexElementIdFilter=g;this.requiredAttribute="required";this.requiredEmptyAttribute="requiredempty";this.validationTypeAttribute="validationtype";this.regexAttribute="regex";this.minAgeAttribute="minage";this.minLengthAttribute="minlength";this.numericMinLengthAttribute="numericminlength";this.maxLengthAttribute="maxlength";
this.numericMaxLengthAttribute="numericmaxlength";this.minValueAttribute="minvalue";this.maxValueAttribute="maxvalue";this.equalsAttribute="equals";this.validateIfCheckedOnlyAttribute="validateIfCheckedOnly";this.validateIfNotCheckedOnlyAttribute="validateIfNotCheckedOnly";this.defaultErrorAttribute="error";this.requiredErrorAttribute="requirederror";this.validationTypeErrorAttribute="validationtypeerror";this.regexErrorAttribute="regexerror";this.minAgeErrorAttribute="minageerror";this.minLengthErrorAttribute=
"minlengtherror";this.maxLengthErrorAttribute="maxlengtherror";this.minValueErrorAttribute="minvalueerror";this.maxValueErrorAttribute="maxvalueerror";this.equalsErrorAttribute="equalserror";this.defaultError="{label} is invalid.";this.defaultRequiredError="{label} is required.";this.defaultRegexError=this.defaultValidationTypeError="{label} is invalid.";this.defaultMinAgeError="{label}: There is a minimum age.";this.defaultMinLengthError="{label} is too short in length.";this.defaultMaxLengthError=
"{label} is too long in length.";this.defaultMinValueError="{label} must be greater than {minValue}.";this.defaultMaxValueError="{label} must be less than {maxValue}.";this.defaultEqualsError="{label} is not equal to {equals}";this.defaultNotEqualsError="{label} cannot equal {equals}";this.defaultValidationErrorClass="validationError";this.defaultValidationErrorLabelClass="validationErrorLabel";this.requiredErrorOccured=false;this.run=run;this.runBySelector=runBySelector;this.validateSingleElement=
validateSingleElement;this.outputErrors=outputErrors;this.checkFocus=checkFocus;this.setError=setError;this.cleanAttributeForErrorDisplay=cleanAttributeForErrorDisplay;this.validateRequired=validateRequired;this.validateType=validateType;this.validateRegex=validateRegex;this.validateMinAge=validateMinAge;this.validateMinLength=validateMinLength;this.validateMaxLength=validateMaxLength;this.validateMinValue=validateMinValue;this.validateMaxValue=validateMaxValue;this.validateEquals=validateEquals;
this.isExemptFromValidation=isExemptFromValidation;this.setValidateTypeError=setValidateTypeError;this.validateAmount=validateAmount;this.validateDate=validateDate;this.validateMod10=validateMod10;this.validateNumeric=validateNumeric;this.stringPattern="^.+$";this.upperCaseStringPattern="^[A-Z]([A-Z)|s)*$";this.numericPattern="^\\d+$";this.numericStripper=/\D/g;this.alphaNumericPattern="^\\w+$";this.amountPattern="^(\\d+((\\.|,)\\d+)*)$";this.dateYearPattern="^\\d{4}$";this.dateDayPattern=this.dateMonthPattern=
"^\\d{2}$";this.emailPattern=/^(?:[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-zA-Z0-9-]*[a-zA-Z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/};this.setError=
function(d,b,f,g){if(d.type=="radio"){var h=d.getAttribute("name");if(h.length>0){if(this.namedErrors[h]!=null)return;this.namedErrors[h]=h}}h=d.errorAttribute;if(h==null)h=d.getAttribute(b);h||(h=d[this.defaultErrorAttribute]?d[this.defaultErrorAttribute]:f?f:this.defaultError);h=h.replace(/^{\s*\w+\s*}\:\s+/,"");if(b=h.match(/{\s*(\w+)\s*}/g))for(f=0;f<b.length;f++){var m=b[f].replace(/{\s*(\w+)\s*}/,"$1");h=h.replace(/{\s*\w+\s*}/,this.cleanAttributeForErrorDisplay(d,m))}h=new s2.tuifly.validation.Error(d,
h);h.displayAsAlert=g==true;this.errors.push(h);this.checkFocus(d)};this.outputErrors=function(){if(this.errors.length>0){s2.tuifly.widget.collapsiblePanel.openIfError();if(this.setfocus){var d=$(this.setfocus);try{d.get(0).showStub&&d.get(0).showStub();d.focus()}catch(b){s2.Logger.debug(b)}d=d.offset().top-100;if(d<0)d=0;window.scrollTo(0,d);this.requiredErrorOccured&&alert(requiredErrorMessage);d=0;for(var f=this.errors.length;d<f;d++){var g=this.errors[d];if(!g.isRequiredError)if(g.displayAsAlert)alert(g.message);
else if(document.getElementById("paymentInputContent"))alert(requiredErrorMessage);else{g.errorLabel.addClass("formRowErrorMessage");g.errorLabel.removeClass("hidden")}}}return false}return true};this.validate=function(d,b,f){if(document.getElementById&&document.createTextNode){s2.tuifly.validation.Error.clearAll();if(d.getAttribute)d=d.getAttribute("id").replace(/_\w+$/,"");f=new c.Validate(document.SkySales,d+"_","Please correct the following.\n\n",f);if(b){var g=b;b.getAttribute||(g=document.getElementById(d+
"_"+b));f.validateSingleElement(g);return f.outputErrors()}return f.run()}return true};this.checkBeforeSkySalesValidation=function(){return $("#seatMapCOGInputBox").length>0?s2.tuifly.helper.SeatMap.Validate():true};this.scrollToElement=function(d){s2.tuifly.helper.scrollToElement.start(d)};this.monkeyPatch()});
s2.namespace("s2.tuifly.validation",function(){var a=[];this.Error=function(c,d,b){this.element=$(c);this.formRow=$(c).parent();this.message=d;this.label=$("label[for="+c.id+"]");this.displayErrorAsAlert=this.isRequiredError=false;this.hideErrorMessage=b;c=this.element.closest("#paymentMethodSelection");if(c.length>0){this.element=c;this.formRow=c.parent()}!this.hideErrorMessage&&this.element.attr("requiredError")&&this.formRow.prepend("<span class='hidden showOnError'>"+this.message+"</span>");this.errorLabel=
this.formRow.find("span:first-child");a.push(this);this.draw()};this.Error.clearAll=function(){jQuery.each(a,function(){this.clear()});a=[]};this.Error.prototype={draw:function(){this.element.closest(".toggleBox").removeClass("closed");this.element.closest(".editBlock").removeClass("hidden").next(".displayBlock").addClass("hidden");this.element.closest(".toggleBox").find(".contactinput").length>0&&s2.tuifly.helper.contactEditToggle.fade();this.element.addClass("error");this.label.addClass("error");
var c=this.element.parent();if(this.element.is("select")&&jQuery.browser.msie&&(jQuery.browser.msie6||jQuery.browser.version.substr(0,1)=="7"))this.element.before('<div class="errorOutline" style="width: '+this.element.outerWidth()+"px; height: "+this.element.outerHeight()+'px; "/>');if(c.hasClass("formRow")&&!c.hasClass("formRowError"))this.displayErrorAsAlert||c.addClass("formRowError")},clear:function(){this.element.removeClass("error");this.label.removeClass("error");this.errorLabel.remove();
if(this.element.is("select")&&this.element.prev().hasClass("errorOutline")&&jQuery.browser.msie&&(jQuery.browser.msie6||jQuery.browser.version.substr(0,1)=="7"))this.element.prev().remove();var c=this.element.parent();c.hasClass("formRowError")&&c.find(".error").length==0&&c.removeClass("formRowError")}}});
s2.namespace("s2.tuifly.validation.inputValidation",function(){var a=this,c={};a.initialize=function(){c["1"]="31";c["2"]="28";c["3"]="31";c["4"]="30";c["5"]="31";c["6"]="30";c["7"]="31";c["8"]="31";c["9"]="30";c["10"]="31";c["11"]="30";c["12"]="31";$("body").hasClass("qCustomValidation")||$(".qValidateName").change(function(){var d=a.nameValidation(this);d.success||alert(d.error)})};a.nameValidation=function(d){var b=$(d);d=b.val();b=b.attr("id");if(d.match(/&/g)||d.match(/</g)||d.match(/>/g)||d.match(/\|/g)||
d.match(/%/g)||d.match(/#/g)||d.match(/[0-9]/g)){d=d.replace(/&/g,"");d=d.replace(/</g,"");d=d.replace(/>/g,"");d=d.replace(/\|/g,"");d=d.replace(/%/g,"");d=d.replace(/#/g,"");d=d.replace(/[0-9]/g,"");document.getElementById(b).value=d;return{success:false,error:message.notAllowedCharName}}else return{success:true}};a.validateDOB=function(){var d=$("select[id$='DropDownListDOBDay']").val(),b=$("select[id$='DropDownListDOBMonth']").val(),f=$("select[id$='DropDownListDOBYear']").val();if(b=="2")if(parseInt(f)%
4==0&&(parseInt(f)%100!=0||parseInt(f)%400==0))return parseInt(d)>0&&parseInt(d)<=parseInt(c[b])+1;if(b!="")return parseInt(d)>0&&parseInt(d)<=parseInt(c[b]);return true};a.validateDOBPassenger=function(d,b,f){if(b=="2")if(parseInt(f)%4==0&&(parseInt(f)%100!=0||parseInt(f)%400==0))return parseInt(d)>0&&parseInt(d)<=parseInt(c[b])+1;if(b!="")return parseInt(d)>0&&parseInt(d)<=parseInt(c[b]);return true}});
s2.namespace("s2.tuifly.validation.passengerInput",function(){var a=[],c,d,b,f;this.initialize=function(T,ea,W,M){b=T;a=ea;c=W;d=M};this.setCultureData=function(T){f=T};var g={},h=function(T,ea){var W="#"+b+"_"+T+"_"+ea,M=g[W];if(!M){M=$(W);g[W]=M}return M},m=function(T,ea,W){T=h(T,ea).val();if(W&&T==W)return"";return T},o=function(T){return m("TextBoxFirstName",T)},q=function(T){return m("TextBoxLastName",T)},u=function(T){return m("DropDownListBirthDateYear",T,"???")},w=function(T){return h("DropDownListBirthDateYear",
T)},A=function(T){return m("DropDownListBirthDateMonth",T,"???")},H=function(T){return h("DropDownListBirthDateMonth",T)},K=function(T){return m("DropDownListBirthDateDay",T,"???")},L=function(T){return h("DropDownListBirthDateDay",T)},E=function(T){return new Date(parseInt(u(T),10),parseInt(A(T),10)-1,parseInt(K(T),10))},O=function(T){return $("#"+b+"_TextBoxFirstName_"+T).parent("div").find("label").text()},I=function(T,ea){var W=ea.getFullYear()-T.getFullYear();if(ea.getMonth()<T.getMonth()||ea.getMonth()==
T.getMonth()&&ea.getDate()<T.getDate()||ea.getFullYear()==T.getFullYear()&&ea.getMonth()==T.getMonth()&&ea.getDate()-7<T.getDate())W--;Math.ceil(ea.getTime()-T.getTime())/864E5<7&&W--;return W};this.validate=function(){if(!$("#passengerInputBox").is(":visible"))return true;for(var T=false,ea=0;ea<a.length;ea++){var W=a[ea].controlSuffix;if(o(W).length>0||q(W).length>0){T=true;break}}if(!T)return true;T=[];var M=[];for(ea=0;ea<a.length;ea++){W=a[ea].controlSuffix;var r=B(ea);if(!r.success){r.fields&&
r.fields.length&&_.each(r.fields,function(ta){new s2.tuifly.validation.Error(ta,"",true)});return false}s2.tuifly.validation.Error.clearAll();r=o(W)+q(W);if(T[r]){alert(O(W)+" "+f.isADuplicate);return false}T[r]=O(W);if(a[ea].paxType=="INFANT"){W=m("DropDownListAssign",W);if(jQuery.inArray(W,M)!=-1){alert(f.duplicateInfantAssignment);return false}M.push(W)}}return true};var B=function(T){var ea={success:true};if(typeof a[T]=="undefined"){ea.success=false;return ea}var W=a[T].controlSuffix;if(o(W).length==
0){alert(f.theFollowingDataIsMissing+O(W)+": "+f.firstName);ea.success=false;ea.fields=[h("TextBoxFirstName",W)];return ea}if(q(W).length==0){alert(f.theFollowingDataIsMissing+O(W)+": "+f.lastName);ea.success=false;ea.fields=[h("TextBoxLastName",W)];return ea}if(m("DropDownListTitle",W,"???").length==0){alert(f.theFollowingDataIsMissing+O(W)+": "+f.title);ea.success=false;ea.fields=[h("DropDownListTitle",W,"???")];return ea}if(a[T].birthDateRequired){if(u(W).length==0||A(W).length==0||K(W).length==
0){alert(f.theFollowingDataIsMissing+O(W)+": "+f.birthDateIsIncomplete);ea.success=false;ea.fields=[w(W),H(W),L(W)];return ea}var M=I(E(W),c);if(!s2.tuifly.validation.inputValidation.validateDOBPassenger(K(W),A(W),u(W))){alert(O(W)+": "+f.invalidBirthDate);ea.success=false;ea.fields=[w(W),H(W),L(W)];return ea}var r=I(E(W),d);if(M<0||M<a[T].minAge||M>a[T].maxAge||M>=a[T].maxAge&&a[T].paxType=="CHD"||M<=a[T].minAge&&a[T].paxType=="CHD"){a[T].paxType=="INFANT"&&r<a[T].minAge&&alert(f.infantToYoung);
alert(O(W)+": "+f.birthDateIsInvalid);ea.success=false;ea.fields=[w(W),H(W),L(W)];return ea}if(a[T].paxType=="INFANT"&&M==0&&r<0){alert(f.infantToYoung);ea.success=false;ea.fields=[w(W),H(W),L(W)];return ea}}return ea}});s2.namespace("s2.tuifly.validation.payment",function(){this.initialize=function(){};this.validateTUIflyCard=function(a,c){var d=$("#"+a+":enabled");return d.length===0||!$("input[value='ExternalAccount:TF']:first").attr("checked")?true:d.val().replace(" ","").indexOf(c)===0}});
s2.namespace("s2.tuifly.validation.inputValidationTUIflyCard",function(){var a=this;a.errDivMsgPersonInput="personInputErrMessage";a.InstantRegisterFirstLoad=true;a.initialize=function(){function c(){var d=$("<input/>");d.attr("type","hidden");d.attr("name","trackingID");var b=(new s2.tuifly.util.Query).param("trackingID");d.val(b);return d}if(document.getElementById("tuicard")){a.InstantRegisterDocReady();a.RequeryAjaxControl();window.validateMemberInput=a.validateMemberInput;window.validateDOBinput=
a.validateDOBinput;$(".layerTuiCreditCardContent  [id$='LinkButtonLogIn']").live("mouseover",function(){if(!a.SubmitLoginAction){var d=$(this).attr("href");$(this).attr("href","javascript:void(0)");$("#SkySales").append(c);a.SubmitLoginAction=d}});$(".layerTuiCreditCardContent  [id$='LinkButtonLogIn']").live("click",function(){if(validate(this))location.href=a.SubmitLoginAction});$(".layerTuiCreditCardContent  [id$='LinkButtonSubmit']").live("mouseover",function(){if(!a.SubmitRegisterAction){var d=
$(this).attr("href");$(this).attr("href","javascript:void(0)");$("#SkySales").append(c);a.SubmitRegisterAction=d}});$(".layerTuiCreditCardContent  [id$='LinkButtonSubmit']").live("click",function(){if(raise("Validate")&&validate(this)&&validateMemberInput()&&validateDOBinput())location.href=a.SubmitRegisterAction})}};a.initializeNameValidation=function(){$(".qValidateName").change(function(){a.nameValidation(this)})};a.nameValidation=function(c){c=s2.tuifly.validation.inputValidation.nameValidation(c);
if(c.success)setVisibility(a.errDivMsgPersonInput,false);else{$("#"+a.errDivMsgPersonInput).html(c.error);setVisibility(a.errDivMsgPersonInput,true)}};a.InitInstantRegisterControl=function(c){a.SetEmailAddressValue(c)};a.SetEmailAddressValue=function(c){var d=$("#"+javaScriptHtmlId+"_UserIdForRegistration");d&&d.val()==""&&d.val(c);a.RequeryAjaxControl()};a.UpdateFromAjaxControl=function(){if(a.InstantRegisterFirstLoad){setVisibility(errDivMsg,false);setVisibility(okDiv,false);setVisibility(waitDiv,
false);a.InstantRegisterFirstLoad=false}else{var c=$(ajaxDivName).find("input[id$='TextBoxIdCheckResult']").val();setVisibility(waitDiv,false);switch(c){case "OK":$("#"+errDivMsg).empty();setVisibility(errDivMsg,false);setVisibility(errDiv,false);setVisibility(okDiv,true);break;case "EMPTY":$("#"+errDivMsg).html(msgMailAdressRequiredShort);setVisibility(errDivMsg,true);setVisibility(errDiv,true);setVisibility(okDiv,false);break;case "INVALID":$("#"+errDivMsg).html(msgInvalidMailAddressShort);setVisibility(errDivMsg,
true);setVisibility(errDiv,true);setVisibility(okDiv,false);break;case "USED":$("#"+errDivMsg).html(msgAddressInUseShort);setVisibility(errDivMsg,true);setVisibility(errDiv,true);setVisibility(okDiv,false)}}};a.RequeryAjaxControl=function(){setVisibility(errDiv,false);setVisibility(okDiv,false);setVisibility(waitDiv,true);var c=a.getUserInput();if(c){c={IdToCheck:c.value,XX:"YY"};$(ajaxDivName).load("/InstantRegisterAjax.aspx",c,a.UpdateFromAjaxControl)}};a.InstantRegisterDocReady=function(){if(!($("#payment").length&&
!$("[id$='CheckBoxRegisterNow']").length)){$("[id$='CheckBoxRegisterNow']").click(function(){$("#ShowOnRegisterIRC").toggle()});a.initializeNameValidation();var c=a.getUserInput(),d=a.getPasswordInput();$(c).blur(a.RequeryAjaxControl);$(d).blur(a.RequeryAjaxControl)}};a.getUserInput=function(){var c;if($("#"+javaScriptHtmlId+"_UserIdForRegistration").length)c=$("#"+javaScriptHtmlId+"_UserIdForRegistration").get(0);if($("#"+javaScriptHtmlId+"_TextBoxAgentUserName").length)c=$("#"+javaScriptHtmlId+
"_TextBoxAgentUserName").get(0);return c};a.getPasswordInput=function(){var c;if($("#"+javaScriptHtmlId+"_PasswordFieldAgentPassword").length)c=$("#"+javaScriptHtmlId+"_PasswordFieldAgentPassword").get(0);return c};a.IRvalidate=function(){if($("#ShowOnRegisterIRC").length&&$("#ShowOnRegisterIRC").is(":visible")){if($("#"+okDiv).is(":hidden")){switch($(ajaxDivName).find("input[id$='TextBoxIdCheckResult']").val()){case "EMPTY":$("#"+errDivMsg).html(msgMailAdressRequired);setVisibility(errDivMsg,true);
setVisibility(errDiv,true);setVisibility(okDiv,false);break;case "INVALID":$("#"+errDivMsg).html(msgInvalidMailAddress);setVisibility(errDivMsg,true);setVisibility(errDiv,true);setVisibility(okDiv,false);break;case "USED":$("#"+errDivMsg).html(msgAddressInUse);setVisibility(errDivMsg,true);setVisibility(errDiv,true);setVisibility(okDiv,false)}$("#"+errDivMsg).empty();setVisibility(errDivMsg,false);setVisibility(errDiv,false);setVisibility(okDiv,true);return false}if($("#"+javaScriptHtmlId+"_PasswordFieldAgentPassword").length&&
$("#"+javaScriptHtmlId+"_PasswordFieldPasswordConfirm").length)if($("#"+javaScriptHtmlId+"_PasswordFieldAgentPassword").val()!=$("#"+javaScriptHtmlId+"_PasswordFieldPasswordConfirm").val()){$("#"+errDivMsg).html(passwordNotMatch);setVisibility(errDivMsg,true);setVisibility(errDiv,true);setVisibility(okDiv,false);return false}if($("#"+javaScriptHtmlId+"_PasswordFieldAgentPassword").val().length<6){$("#"+errDivMsg).html(passwordInvalidMessage);setVisibility(errDivMsg,true);setVisibility(errDiv,true);
setVisibility(okDiv,false);return false}if(!$("#"+javaScriptHtmlId+"_CheckBoxAGBPlusStorage").is(":checked")){$("#"+errDivMsg).html(msgAcceptAGB);setVisibility(errDivMsg,true);setVisibility(errDiv,true);setVisibility(okDiv,false);return false}}return true};a.validateMemberInput=function(){if($("#"+javaScriptHtmlId+"_PasswordFieldAgentPassword").length&&$("#"+javaScriptHtmlId+"_PasswordFieldPasswordConfirm").length)if($("#"+javaScriptHtmlId+"_PasswordFieldAgentPassword").val()!=$("#"+javaScriptHtmlId+
"_PasswordFieldPasswordConfirm").val()){$("#"+errDivMsg).html(passwordNotMatch);setVisibility(errDivMsg,true);setVisibility(errDiv,true);setVisibility(okDiv,false);return false}if($("#"+javaScriptHtmlId+"_PasswordFieldAgentPassword").val().length<6){$("#"+errDivMsg).html(passwordInvalidMessage);setVisibility(errDivMsg,true);setVisibility(errDiv,true);setVisibility(okDiv,false);return false}if(!$("#"+javaScriptHtmlId+"_CheckBoxKubiAgb").is(":checked")){$("#"+errDivMsg).html(msgAcceptAGB);setVisibility(errDivMsg,
true);setVisibility(errDiv,true);setVisibility(okDiv,false);return false}setVisibility(errDivMsg,false);setVisibility(okDiv,false);setVisibility(waitDiv,false);return true};a.validateDOBinput=function(){var c=s2.tuifly.validation.inputValidation.validateDOB();if(c){setVisibility(a.errDivMsgPersonInput,false);$("select[id$='DropDownListDOBDay']").parent().removeClass("formRowError")}else{$("select[id$='DropDownListDOBDay']").parent().addClass("formRowError");$("#"+a.errDivMsgPersonInput).html(invalidBirthDate);
setVisibility(a.errDivMsgPersonInput,true)}return c}});
s2.namespace("s2.tuifly.validation.premiumEcoMeals",function(){var a={},c=false;this.initialize=function(){a={values:{eVar8:"Preorder-Meal-Layer",prop25:"Preorder-Meal-Layer"},name:"Preorder-Meal-Layer"}};this.validate=function(){var d=s2.tuifly.helper.premiumeco;if(!d.active())return true;if(d.checkMeals())return true;if(!c){s2.tuifly.util.tracking.fire(a);s2.tuifly.widget.dialog.confirmNotice(s2.tuifly.util.culture.get("missingEcoMealHint"),{okButtonText:s2.tuifly.util.culture.get("continueWithoutMealSelection"),
cancelButtonText:s2.tuifly.util.culture.get("purchaseEcoMeal"),dialogClass:"confirmBoxElvia",okCallback:function(){d.defaultMeals();c=true;s2.tuifly.widget.submittableForm.clickButton($("#contentArea div.formButton a.bookingButton"))},cancelCallback:function(){var b=$("#mealOrderInputBox").offset();window.scrollTo(b.left,b.top)}});return false}return true}});
s2.namespace("s2.tuifly.validation.insurance",function(){var a=this,c=false;a.initialize=function(){document.body.id=="extrasChange"&&a.validateDuration()};a.validateDuration=function(){if($.cachedFind("#insuranceBox").cachedFind("#callServiceCenterToExtendInsurance").length>0){s2.tuifly.widget.dialog.alertNotice(s2.tuifly.util.culture.get("callServiceCenterToExtendInsurance"),{okCallback:function(){s2.tuifly.helper.extrasAlerts.callbackInsurance()}});return false}};a.validate=function(){if(a.validateDuration()==
false)return false;if($.cachedFind("#insuranceBox:visible").length==0)return true;if($("#insuranceBox[data-booked='true']").length>0)return true;if($.cachedFind("#insuranceBox").find(":radio").length>0&&!c)if($.cachedFind("#insuranceBox").find(":radio").filter(":checked").length===0){s2.tuifly.widget.dialog.confirmNotice(s2.tuifly.util.culture.get("missingInsuranceHint"),{okButtonText:s2.tuifly.util.culture.get("continueWithoutInsurance"),cancelButtonText:s2.tuifly.util.culture.get("purchaseInsurance"),
dialogClass:"confirmBoxElvia",okCallback:function(){c=true;$.cachedFind("#insuranceBox").find(":radio[value='noInsurance']").attr("checked","checked");s2.tuifly.widget.submittableForm.clickButton($("#contentArea div.formButton a.bookingButton"))},cancelCallback:function(){var b=$("#insuranceBox").offset();window.scrollTo(b.left,b.top)}});return false}if($.cachedFind("#insuranceBox").find(":radio[value!='noInsurance']").filter(":checked").length>0&&$.cachedFind("#insuranceBox").find("input[id$='GeneralConditionsOfContract']").length>
0&&$.cachedFind("#insuranceBox").find("input[id$='GeneralConditionsOfContract']").filter(":checked").length===0){var d=s2.tuifly.util.culture.get("acceptContidionsOfContract");if($.cachedFind(".qNoInsuranceCheckbox").length)d=s2.tuifly.util.culture.get("acceptContidionsOfContractOrChooseNoInsurance");s2.tuifly.widget.dialog.alertNotice(d,{okCallback:function(){s2.tuifly.helper.extrasAlerts.callbackInsurance()}});return false}return true}});
s2.namespace("s2.tuifly.validation.premiumEcoMeals",function(){var a={},c=false;this.initialize=function(){a={values:{eVar8:"Preorder-Meal-Layer",prop25:"Preorder-Meal-Layer"},name:"Preorder-Meal-Layer"}};this.validate=function(){var d=s2.tuifly.helper.premiumeco;if(!d.active())return true;if(d.checkMeals())return true;if(!c){s2.tuifly.util.tracking.fire(a);s2.tuifly.widget.dialog.confirmNotice(s2.tuifly.util.culture.get("missingEcoMealHint"),{okButtonText:s2.tuifly.util.culture.get("continueWithoutMealSelection"),
cancelButtonText:s2.tuifly.util.culture.get("purchaseEcoMeal"),dialogClass:"confirmBoxElvia",okCallback:function(){d.defaultMeals();c=true;s2.tuifly.widget.submittableForm.clickButton($("#contentArea div.formButton a.bookingButton"))},cancelCallback:function(){var b=$("#mealOrderInputBox").offset();window.scrollTo(b.left,b.top)}});return false}return true}});
s2.namespace("s2.tuifly.validation.submitButtons",function(){var a=this,c={};this.initialize=function(){window.__doPostBackOrig=window.__doPostBack;_({contact:[{func:validate,args:[":clickedElement"]},{func:raise,args:["Validate"]}],select:[{func:s2.tuifly.helper.select.addEventTargetValue},{func:validateAfricanAirports},{func:s2.tuifly.helper.select.checkLengthOfStayConditions},{func:s2.tuifly.helper.select.checkLinkTargetForHLXSelect},{func:raise,args:["Validate"]}],extras:[{func:s2.tuifly.validation.premiumEcoMeals.validate},
{func:s2.tuifly.helper.bagInput.validate},{func:raise,args:["Validate"]}],extrasChange:[{func:raise,args:["Validate"]},{func:s2.tuifly.validation.insurance.validate}],carsAndHotels:[{func:s2.tuifly.helper.laterooms.validate},{func:raise,args:["Validate"]}],payment:[{func:validate,args:[":clickedElement"]},{func:raise,args:["Validate"]},{func:s2.tuifly.validation.insurance.validate},{func:s2.tuifly.helper.lateroomsPayment.validatePaymentLRData},{func:s2.tuifly.helper.payment.validateFriendchips},{func:s2.tuifly.helper.creditCard.tokenizePci,
args:[":clickedElement"]},{func:s2.tuifly.helper.contactEditToggle.validateEmail}],paymentchange:[{func:validate,args:[":clickedElement"]},{func:raise,args:["Validate"]},{func:s2.tuifly.helper.lateroomsPayment.validatePaymentLRData},{func:s2.tuifly.helper.payment.validateFriendchips}],seats:[{func:raise,args:["Validate"]}]}).each(function(d,b){c[b]||(c[b]=[]);_(d).each(function(f){c[b].push(f)})});_(c).each(function(d,b){$.cachedFind("body#"+b+" .qLinkButtonSubmit").live("click",a.submitClickHandler)})};
this.submitClickHandler=function(){if(a.submit(this)!=false){window.__doPostBack=window.__doPostBackOrig;return true}else{window.__doPostBack=function(){};s2.tuifly.widget.loadingButton.cancelSpinAllButtons();setTimeout(function(){window.__doPostBack=window.__doPostBackOrig},500);return false}};this.submit=function(d){var b=$.cachedFind("body").attr("id"),f=true;_(c[b]).each(function(g){if(f){var h=g.env||window;g.func=g.func||function(){return true};var m=g.args||[];_(m).each(function(o,q){if(o===
":clickedElement")m[q]=d});f=g.func.apply(h,m)!=false}});return f};this.addValidation=function(d){if(d){var b=$.cachedFind("body").attr("id");if(b){c[b]||(c[b]=[]);c[b].push({func:d.func,args:d.args,env:d.env})}}}});
s2.namespace("s2.tuifly.widget.focusManager",function(a){var c;this.FocusChangeEvent=new s2.tuifly.Event("FocusChangeEvent");this.initialize=function(){parseInt(jQuery.browser.version,10);var d=function(f){if(f&&f.target){f=f.target==document?null:f.target;a.FocusChangeEvent.trigger(c,f);c=f}};if(document.addEventListener)document.addEventListener("focus",d,true);else if(jQuery.browser.msie){var b;setInterval(function(){if(document.activeElement&&document.activeElement!==b){b=document.activeElement;
d({target:b})}},300)}};this.getFocused=function(){if(!c)return document;return c}});
s2.namespace("s2.tuifly.widget.navigation",function(){this.initialize=function(){this.bluemilesNavi();var a=false;$("#navigation").mouseover(function(){if(!a){a=true;window.tuiLogin.loggedIn()?$("#navigation li.loggedOut").remove():$("#navigation li.loggedIn").remove();var c=$("#navigation > li.mainLevel");c.find("ul.subLevel>li:last").addClass("last");var d=c.find("ul.subLevel ul.subsubLevel");jQuery.each(d,function(){$(this).find("li:last").addClass("last")});$("#navigation > li.mainLevel:last a:first").append($("<span></span>"));
c.hover(function(){$(this).addClass("hover");jQuery.browser.msie6&&$('div.flightInfoHeader select, div#PassengerCounter1 select, select#AirportListDestination, select#MonthToQuery, select[id$="_DropDownListTitle"], select[id$=_"DropDownListCountry"]').css("visibility","hidden")},function(){$(this).removeClass("hover");jQuery.browser.msie6&&$('div.flightInfoHeader select, div#PassengerCounter1 select, select#AirportListDestination, select#MonthToQuery, select[id$="_DropDownListTitle"], select[id$="_DropDownListCountry"]').css("visibility",
"")});$(this).mouseover()}})};this.bluemilesNavi=function(){if(s2.tuifly.util.Cookie.instance().get("hasBluemiles")=="0"){jQuery(".contentNavigation li a:contains('topbonus')").parent().remove();jQuery(".subLevel li a:contains('topbonus')").parent().remove();var a=jQuery.cachedFind("meta[name='culture']").attr("content");if(a=="de-DE"){jQuery("#collectingBlueMiles_2082").remove();jQuery("#collectingBlueMiles_3533").remove()}else if(a=="en-GB"){jQuery("#collectingBlueMiles_2079").remove();jQuery("#collectingBlueMiles_2078").remove();
jQuery("#collectingBlueMiles_2081").remove()}else if(a=="it-IT"){jQuery("#collectingBlueMiles_2079").remove();jQuery("#collectingBlueMiles_2078").remove()}else if(a=="es-ES"){jQuery("#collectingBlueMiles_2079").remove();jQuery("#collectingBlueMiles_2078").remove()}}}});
s2.namespace("s2.tuifly.widget.metaNavigation",function(){this.initialize=function(){if(jQuery.browser.msie&&jQuery.browser.version.substr(0,1)=="6"){var a=false;$("#metaArea").mouseover(function(){if(!a){a=true;$("#metaArea > li.metaLanguage").hover(function(){$(this).addClass("hover")},function(){$(this).removeClass("hover")})}})}}});
s2.namespace("s2.tuifly.widget.datepickerForSelect",function(){var a=function(h){var m=$(this);h=Date.parse(h);if(f(h)){h=h.add(7);if(f(h)){h=JooseX.Culture.Factory.get().formatDate(h);m.val(h);m.change();s2.Logger.debug("Picked date "+h)}}},c=function(){if(jQuery.browser.msie6)if(document.getElementById("lrDatepicker")){$("select","#tuiHotelsBox").css("visibility","hidden");$("select",".roomSearch").css("visibility","hidden")}},d=function(){if(jQuery.browser.msie6)if(document.getElementById("lrDatepicker")){$("select",
"#tuiHotelsBox").css("visibility","visible");$("select",".roomSearch").css("visibility","visible")}};this.updateSelectBasic=a;this.hideInputforIE=c;this.showInputforIE=d;var b={numberOfMonths:[1,3],stepMonths:3,prevText:"&#160;",nextText:"&#160;",closeText:"&#160;",currentText:"",changeMonth:false,changeYear:false,changeFirstDay:false,showOtherMonths:false,showOn:"focus",minDate:"+0",showAnim:"show",duration:"",showButtonPanel:true,onSelect:a,beforeShow:c,onClose:d},f=function(h){return h!=null&&
h!=NaN};this.dateOK=f;this.initialize=function(){var h=JooseX.Culture.Factory.get();$.datepicker.setDefaults($.datepicker.regional[h.subIdentifier().toLowerCase()]);var m;if(document.getElementById("flugsuche")||document.getElementById("availabilitySearchInput")||document.getElementById("hotelSearch")||document.getElementById("carSearch")||document.getElementById("holidaySearch")||document.getElementById("lrDatepicker")){m=$("input.datepickerForSelect");m.each(function(){var u=$(this);jQuery.browser.msie&&
jQuery.browser.version.substr(0,1)=="7"&&u.data("flightMonthIE",u.parent().find("select").eq(1).val());window.setTimeout(function(){g(u)},10)});var o=$(m.get(0)),q=$(m.get(1));o.length>0&&q.length>0&&o.change(function(){var u=Date.parse(o.val());if(f(u)){var w=Date.parse(q.val());if(q.val()==""||!f(w)||u.getTime()>w.getTime()){q.val(h.formatDate(u));q.change()}}})}m||(m=$("input.simpleDatePicker"));if(document.getElementById("home")||document.getElementById("homeHLXAgencyMaster")||document.getElementById("select")||
document.getElementById("selectnew")||document.getElementById("homeHLXConsumer"))b.customRangeSelect=true;m.datepicker(b);this.datePickers=m};this.getFlight=function(){return $.cachedFind("#datePickerFlight")};this.getReturnFlight=function(){return $.cachedFind("#datePickerReturn")};var g=function(h){var m=JooseX.Culture.Factory.get(),o=h.parent().find("select"),q=$(o.get(1)),u=$(o.get(0));q.val()==null&&h.data("flightMonthIE")&&q.val(h.data("flightMonthIE"));var w=function(){var E=Date.parseExact(q.val()+
"-"+u.val(),"yyyy-MM-dd"),O=false;if(f(E)){var I=Date.today();if(E.compareTo(I)<0){E=I;O=true}h.val(m.formatDate(E));h.change()}else O=true;if(document.getElementById("searchChange")&&O){if(E=q.attr("id"))E=E.substr(E.length-1,E.length);$("#availabilitySearchInput .departure-flight-already-done").show();$("#searchChange #availabilitySearchInput .datemarket"+E).hide();if(MarketAction)MarketAction[E]="Cancel"}},A=function(E){var O=JooseX.Culture.Factory.get().parseDate(E);E=$(this);if(f(O)){var I=O.toString("yyyy-MM");
O=O.toString("dd");q.val(I);u.val(O);E.change();s2.Logger.debug("Picked date "+q.val()+"-"+u.val())}};w();A(h.val());u.change(function(){s2.Logger.debug("Day select changed");w()});q.change(function(){s2.Logger.debug("Month select changed");w()});o=function(){A(this.value)};h.change(o);h.typingEnded(o);h.datepicker(jQuery.extend(b,{onSelect:A}));var H=new s2.tuifly.util.Query;o=H.param("startDate");H=H.param("returnDate");var K=$("input.datepickerForSelect").get(0),L=$("input.datepickerForSelect").get(1);
K&&o&&$(K).val(o);L&&H&&$(L).val(H);s2.tuifly.events.AvailibilityCookieDataSet.observe(w);s2.Logger.debug("Applied datepicker")}});
s2.namespace("s2.tuifly.widget.collapsiblePanel",function(){var a=this;$("h3.toggleHeadline").live("click",function(c){var d=$(this).parent();d.removeClass("abclosed");d.toggleClass("closed");c.preventDefault();return false});a.initialize=function(){if(document.getElementById("notepad")&&!document.getElementById("flugsuche")){$("#notepad h3.toggleHeadline span.toggleHeadlineForm").live("click",function(c){var d=$(this);d.parent().toggleClass("editing");if(d.parent().find("input").length>0){d.parent().find("input")[0].focus();
d.parent().find("input")[0].select()}c.stopPropagation()});$("#notepad h3.toggleHeadline span.toggleHeadlineForm fieldset").live("click",function(c){c.stopPropagation()})}};a.gotoAndOpen=function(c){c=$(c).attr("href").match(/#(toggleBox_\d+)/);var d="";if(c&&c.length>0)d=c[1];location.href="#"+d;this.open($("#"+d))};this.open=function(c){c.removeClass("closed")};this.openIfError=function(){$.cachedFind("div.toggleBox").each(function(){var c=$(this);c.find("div.error, span.error").length>0&&a.open(c)})}});
s2.namespace("s2.tuifly.widget.collapsibleContainer",function(){$("a.toggleContainerLink").live("click",function(a){$(this).parents("div.toggleContainer").children("div.toggleContainerContent").toggleClass("hidden");a.preventDefault();return false});this.initialize=function(){};this.toggleCSSClass=function(a,c,d){a=$(a);if(a.hasClass(c)){a.removeClass(c);a.addClass(d)}else if(a.hasClass(d)){a.removeClass(d);a.addClass(c)}}});
s2.namespace("s2.tuifly.widget.collapsibleNavigation",function(){$("h2.toggleNavigationHeadline").live("click",function(a){var c=$(this).parent();if(c.hasClass("closed")){c.parent().find(".accordion").each(function(){var b=$(this);s2.Logger.debug("Check accordion "+this.id+b.hasClass("closed"));b.addClass("closed");jQuery.browser.msie6&&b.hasClass("tab")&&b.addClass("tabClosed")});s2.Logger.debug("Closing acc");c.removeClass("closed");jQuery.browser.msie6&&c.hasClass("tab")&&c.removeClass("tabClosed")}var d=
$(".accordion.toggleContainer");if(d.filter(".tab").length>0){d.get(0)===c.get(0)&&!c.hasClass("tab")&&c.addClass("tab");if(d.filter(".tab").length==d.filter(".tab.closed").length){d.eq(0).removeClass("tab");jQuery.browser.msie6&&d.eq(0).removeClass("tabClosed")}}a.preventDefault();return false});this.initialize=function(){if(!(!document.getElementById("flugsuche")||document.getElementById("select")))for(var a=$(".accordion.tab"),c=a.find("fieldset").append($('<div class="tabGroup"></div>')),d=0,
b=a.length;d<b;d++){for(var f=0,g=a.length;f<g;f++)if(d!=f){var h=a.eq(f).find("h2"),m=$('<a href="#">'+h.text()+"</a>");m.click(function(o){return function(q){o.trigger("click");q.preventDefault()}}(h));c.eq(d).find(".tabGroup").append(m)}c.eq(d).find(".tabGroup a:last").addClass("last")}};this.openIfClosed=function(a){a.parent().hasClass("closed")&&a.click()}});
s2.namespace("s2.tuifly.widget.inlineLabeledInput",function(){this.initialize=function(){s2.Logger.debug("Init inline labels");$("input.inlineLabel").each(function(){var a=$(this),c=a.attr("inlineLabel");if(c==null)c="";var d=a.attr("class").replace(/query\w+/,"").replace(/q\w+/,""),b=a.attr("tabindex")?"tabindex='"+a.attr("tabindex")+"'":"",f=a.after("<input type=text "+b+" class='"+d+" hidden' value='"+c+"'/>").next();setTimeout(function(){if(a.val()==""){a.hide();f.show()}},0);var g=0;f.focus(function(){f.hide();
a.show();a.focus();a.click();g++});a.get(0).showStub=function(){f.focus()};a.change(function(){if(this.value!=""&&g==0){a.show();f.hide()}});a.get(0).showInput=function(){a.show();f.hide()};a.blur(function(){window.setTimeout(function(){if(!a.val()){f.show();a.hide()}g--},100)})})}});
s2.namespace("s2.tuifly.widget.overlay",function(){var a=this;this.initialize=function(){};var c,d,b;this.init=function(f){var g;f.each(function(){if(!this.initDone){var h=$(this);this.initDone=true;this.showOverlay=function(m,o){c||(c=$("div.overlay"));c.hide();if(jQuery.browser.msie&&(jQuery.browser.version.substr(0,1)=="7"||jQuery.browser.msie6)){d||(d=c.closest(".ssrWrapper"));d.length>0&&d.css("position","static")}if(jQuery.browser.msie6){b||(b=$(".formRow label"));b.length>0&&b.css("position",
"static")}var q=$(this);this.onShow&&this.onShow();if(jQuery.browser.msie&&(jQuery.browser.version.substr(0,1)=="7"||jQuery.browser.msie6)){var u=q.closest(".ssrWrapper");u.length>0&&u.css("position","relative")}if(!q.hasClass("overInit")){q.addClass("overInit");q.find("div.close,a.close").click(function(){q.hide();if(jQuery.browser.msie6){$("select:visible").removeClass("invisible");b.length>0&&b.css("position","relative")}})}window.setTimeout(function(){a.adjustOrientation(m,q,null,o)},0);if(jQuery.browser.msie&&
(jQuery.browser.version.substr(0,1)=="7"||jQuery.browser.version.substr(0,1)=="8"))window.setTimeout(function(){q.find(".selectNumber div").css("position","absolute")},0);g=q.get(0)};h.click(function(m){m.stopPropagation()})}});$(document).click(function(h){if(g)if(h.target!==g){$(g).hide();g=null;if(jQuery.browser.msie6){$("select:visible").removeClass("invisible");b.length>0&&b.css("position","relative")}}})};this.adjustOrientation=function(f,g,h,m){g.css("visibility","visible");g.removeClass("hidden");
g.show();if(!g.hasClass("adjusted")){g.show();var o=$(window).width();if(g.offset().left+g.outerWidth()>o||m){g.addClass("leftOverlay");if(h){m=h;g.width(m)}else m=jQuery.browser.msie&&jQuery.browser.version.substr(0,1)=="7"?g.attr("clientWidth"):g.outerWidth();h=g.offset().left;s2.Logger.debug("curLeft "+h);f=$(f.target);o=f.offset().left-20;if(jQuery.browser.msie6)o-=20;if(f.is("a.enterNumber"))o=f.offset().left;if(f.is("a.enterNumber > span.value"))o=f.parent().offset().left;s2.Logger.debug("targetLeft "+
o);f=parseInt(o-m,10);s2.Logger.debug("newLeft "+f);f=h-f;s2.Logger.debug("delta "+f);h=parseInt(g.css("left"),10);if(h+""=="NaN"||h==null)h=0;s2.Logger.debug("cur "+h);f=h-f;s2.Logger.debug("left "+f);f=Math.round(f);g.css("left",f+"px")}g.addClass("adjusted")}g.show()}});
s2.namespace("s2.tuifly.widget.ssrCountSelector",function(){this.initialize=function(){if(document.getElementById("mealOrderInputBox")){var a=false,c=$("#SkySales").attr("action");if(c&&c.indexOf("Change")!=-1)a=true;a&&$("#mealOrderInputBox input").each(function(){$(this).attr("initial",this.value)});var d=function(h){var m=0;if(a){h=parseInt($(h).attr("initial"));if(h>0)m=h}return m},b=false,f=function(){if(!b){b=true;new s2.tuifly.util.Text($("#errorMealLimit"));var h=$("#errorMealLimit");$("#mealOrderInputBox div.ssrCountSelector").each(function(){var m=
$(this),o=s2.tuifly.util.booking.journeyFromClass(m);s2.tuifly.widget.overlay.init(m);var q=parseInt($("#mealAvailability"+o).data("mealAvailability"),10)-1;if(q<0)q=0;var u=function(E,O,I){O==I?E.addClass("disabled"):E.removeClass("disabled")};u($(this).parent().find("a.minus"),$(this).parent().find(".number").val(),d($(this).parent().find(".number")));var w=function(){var E=0;m.parent().find(".ssrCountSelector input.number").each(function(){var O=$(this).val();if(!O||O==NaN)O=0;E+=parseInt(O,10)});
return E},A=function(){var E=0;$("#mealOrderInputBox div.ssrCountSelector.journey"+o+" input.number").each(function(){var O=$(this).val();if(!O||O==NaN)O=0;E+=parseInt(O,10)});return E},H=function(){var E=w(),O=m.parent().find(".ssrCount");O.find(".value").text(E);O.find("input").val(E)},K=function(E,O,I){if(O<E&&O!=-1){if(a){var B=h.data("errorNoLessMenus");alert(B)}O=E}if(q==0){B=h.data("errorNoMenus");alert(B);O=0}if(I>q&&q>0){B=h.data("errorAll");B=B.replace(/\{count\}/g,q);alert(B);O=q-(I-O)}if(O>
5){B=h.data("perPerson");alert(B);O=5}if(O<0)O=0;return O},L=function(E){return function(O){O.preventDefault();O=$(this).parent().find(".number");var I=O.val();if(I==null||I=="")I=0;I=parseInt(I,10)+E;var B=d(O),T=A()+E;I=K(B,I,T);T=$(this).parent().find("a.minus");u(T,I,B);O.val(I);H();s2.tuifly.model.Booking.SSRChangeEvent.trigger();return false}};m.find("input").typingEnded(function(){var E=parseInt(this.value,10);if(""+E=="NaN")E=0;var O=d(this);this.value=K(O,E,A());H();s2.tuifly.model.Booking.SSRChangeEvent.trigger()});
m.find("a.plus").click(L(1));m.find("a.minus").click(L(-1))})}},g=1;$("#mealOrderInputBox a.ssrCount").each(function(){var h=$(this),m=h.parent().find(".ssrCountSelector");h.find("input").attr("disabled")?h.click(function(o){o.preventDefault()}):h.click(function(o){if(!h.hasClass("disabled")){f();m.closest("div.menuItem").css("z-index",++g);var q=0;if($(m).find("span.forceLeftOrientation").length>0)q=1;m.get(0).showOverlay(o,q);o.preventDefault();return false}})})}}});
s2.namespace("s2.tuifly.widget.ssrLuggageCheckSelector",function(){this.initialize=function(){if(document.getElementById("ssrLuggageBox")){var a=$("#CheckTable01"),c=$("#CheckTable02"),d=false,b=function(){if(!d){d=true;$("#ssrLuggageBox div.ssrLuggageCheckSelector").each(function(){var f=$(this);s2.tuifly.widget.overlay.init(f);var g=f.find("input:checkbox"),h=f.find("div.queryData").data("ssrNest"),m=$("#ssrnestAvailability").find("div[data-"+h+"]").data(h),o=function(){s2.Logger.debug("Disable");
if(m!=null){s2.Logger.debug("Availability "+m);var w=$("#ssrLuggageBox input:checkbox:checked[ssrNest="+h+"]").length;s2.Logger.debug("Count checked "+w);if(w==m){$("#ssrLuggageBox input:checkbox:not(:checked)[ssrNest="+h+"]").attr("disabled",true);w=$("#ssrLuggageBox a.ssrLuggageCheck[ssrNest="+h+"]");$.each(w,function(){var A=$(this);if(A.parent().parent().find(".ssrLuggageCheckSelector input:checkbox:checked").length==0){A.addClass("disabled");A.parent().parent().find(".queryTooltip.deactivated").addClass("temp-activated");
A.parent().parent().find(".queryTooltip.deactivated").removeClass("deactivated")}})}else{$("#ssrLuggageBox input:checkbox:not(:checked)[ssrNest="+h+"]").attr("disabled",false);$("#ssrLuggageBox a.ssrLuggageCheck[ssrNest="+h+"]").removeClass("disabled");$("#ssrLuggageBox a.ssrLuggageCheck[ssrNest="+h+"]").parent().parent().find(".queryTooltip.temp-activated").addClass("deactivated");$("#ssrLuggageBox a.ssrLuggageCheck[ssrNest="+h+"]").parent().parent().find(".queryTooltip.temp-activated").removeClass("temp-activated")}}};
o();var q=function(){var w=$(this),A=w.attr("checkboxGroup"),H=w.attr("quota");w.attr("quotamaxpass");w.attr("quotamaxflight");if(this.checked){A=$("#ssrLuggageBox").find("input:checkbox:checked[checkboxGroup="+A+"][quota="+H+"]");A.each(function(){var K=$(this);if(K.attr("disabled")&&K.attr("id")!=w.attr("id")){w.attr("disabled",true);K.attr("disabled",false)}});A.attr("checked",false);this.checked=true}o();a.cachedFind(".select").each(function(){var K=$(this).find("input:checkbox:checked").length,
L=$(this).find(".ssrLuggageCheck");L.find(".value").text(K);L.find("input").val(K)});c.cachedFind(".select").each(function(){var K=$(this).find("input:checkbox:checked").length,L=$(this).find(".ssrLuggageCheck");L.find(".value").text(K);L.find("input").val(K)});s2.tuifly.model.Booking.SSRChangeEvent.trigger()},u;f=function(){u&&clearTimeout(u);var w=this,A=Array.prototype.slice(arguments);u=setTimeout(function(){q.apply(w,A)},10)};g.change(f);g.click(f)})}};$("#ssrLuggageBox a.ssrLuggageCheck").each(function(){var f=
$(this);f.parent().next("div.ssrLuggageCheckSelector").find("input").length==0?f.click(function(g){g.preventDefault()}):f.click(function(g){$.browser.msie&&$.browser.version.substr(0,1)=="6"&&$("select:visible").addClass("invisible");if(!$(this).hasClass("disabled")){b();var h=$(this).parent().parent().find(".ssrLuggageCheckSelector"),m=false;if($(this).parent().parent().find(".journey0").length>0)m=true;h.get(0).showOverlay(g,m);g.preventDefault();return false}})});b()}};this.activateDisabledInputs=
function(){$("#outerDivSSRs").length>0&&$("#outerDivSSRs [id*='CheckBoxPassengerSsr']").removeAttr("disabled")}});
s2.namespace("s2.tuifly.widget.ssrBaggageSelector",function(){var a=this,c=false,d=function(b){var f={};$(b).find("option[qNest]").each(function(){var g=$(this).attr("qNest");if(f[g]!==undefined)return true;f[g]=true;var h=parseInt($(this).attr("qNestAvail"));if($(this).parents(".qJourney").find("option[qNest="+g+"]:selected").size()>=h){$(this).parents(".qJourney").find("option[qNest="+g+"]:not(:selected)").attr("disabled",true);$(this).parents(".qJourney").find("option[qNest="+g+"]:not(:selected)").addClass("notAvailable")}else{$(this).parents(".qJourney").find("option[qNest="+
g+"]:not(:selected)").removeAttr("disabled");$(this).parents(".qJourney").find("option[qNest="+g+"]:not(:selected)").removeClass("notAvailable")}})};a.initialize=function(){var b=$("#SkySales").attr("action");if(b&&b.indexOf("Change")!=-1)c=true;c&&$("#baggageInputBox select").each(function(){$(this).attr("initial",this.value)});$("#baggageInputBox select").change(function(){s2.tuifly.model.Booking.SSRChangeEvent.trigger();d($(this))});document.getElementById("baggageInputBox")&&a.initSelectHandler()};
a.initSelectHandler=function(){var b=function(){var g=$(this),h=$(g.closest("tr").find(".qExtraSelection select"));if(h.length!=0){if(g.val()==0){h.val(0);h.find("option").attr("disabled",false);h.find("option").removeClass("notAvailable");h.find("option[value!=0]").attr("disabled",true);h.find("option[value!=0]").addClass("notAvailable")}else if(h.val()==0){g=$(h.find("option[value!=0]").get(0)).val();h.val(g);h.find("option").attr("disabled",false);h.find("option").removeClass("notAvailable");h.find("option[value=0]").attr("disabled",
true);h.find("option[value=0]").addClass("notAvailable")}h.attr("savedValue",h.val())}},f=$(".qBaggageSelection select");f.change(b);f.each(function(){b.call(this)});$(".qExtraSelection select").change(function(){var g=$(this),h=g.find("option:selected");if($(h).attr("disabled")){alert(s2.tuifly.util.culture.get("noSelectionPossibleBaggage"));h=g.attr("savedValue")?g.attr("savedValue"):0;g.val(h)}else g.attr("savedValue",g.val())})}});
s2.namespace("s2.tuifly.widget.passengerInfo",function(){this.initialize=function(){if(document.getElementById("passengerInputBox")){$("select.passengerSex").change(function(){s2.tuifly.model.Booking.PassengerChangeEvent.trigger()});$("input.queryFirstName, input.queryLastName").typingEnded(function(){s2.tuifly.model.Booking.PassengerChangeEvent.trigger()}).change(function(){s2.tuifly.model.Booking.PassengerChangeEvent.trigger()})}}});
s2.namespace("s2.tuifly.widget.cityAutocomplete",function(){var a=this,c={matchContains:true,minChars:0,scrollHeight:271,delay:0,scroll:true,handleResult:function(d,b,f){if(d.showAllOnFullMatch&&b.length==1)return f},width:"191px",max:500};a.getSelect=function(d){return d.parent().find("select")};a.initialize=function(){for(var d=["ControlGroupSearchView_AvailabilitySearchInputAffiliateView_WindowLoad","ControlGroupCompactSearchSSIView_AvailabilitySearchInputAffiliateCompactSearchSSIView_WindowLoad",
"ControlGroupAvailabilitySearchSelectView_AvailabilitySearchInputAffiliateSelectView_WindowLoad","ControlGroupAvailabilitySearchSelectNewView_AvailabilitySearchInputAffiliateSelectNewView_WindowLoad","ControlGroupGroupbookingView_AvailabilitySearchInputGroupbookingView_WindowLoad","ControlGroupAvailabilitySearchGroupSelectView_AvailabilitySearchInputAffiliateGroupSelectView_WindowLoad","ControlGroupAvailabilitySearchBookGroupView_AvailabilitySearchInputAffiliateBookGroupView_WindowLoad","ControlGroupSearchView_AvailabilitySearchInputAffiliateSearchView_WindowLoad",
"ControlGroupGroupbookingView_AvailabilitySearchInputGroupbookingView_WindowLoad","ControlGroupHomeView_AvailabilitySearchInputAffiliateHomeView_WindowLoad"],b=0;b<d.length;b++){var f=d[b];if(window[f]){this.origInput=$("#availabilitySearchInputOriginInput");this.destInput=$("#availabilitySearchInputDestinationInput");this.inputs=$([this.origInput,this.destInput]);s2.tuifly.monkeyPatch.wrap(f,function(){a.initialBind();a.rebind();a.inputs.each(function(){var g=$(this),h=a.getSelect(g).get(0);if(h.selectedIndex>
0){h=$(h.options[h.selectedIndex]);var m=h.text(),o=h.val();g.parent().find(".qAirportName").html(m.replace(/\([a-z]+\)/i,""));g.parent().find(".qAirportCode").html(o);g.parent().find(".qDisplayField").removeClass("hidden");g.val(m);if(o&&o.length==3)if(g.hasClass("destination"))s2.tuifly.controller.FlightSearch.getInstance().setDestCode(o);else{s2.tuifly.controller.FlightSearch.getInstance().setOrigCode(o);s2.tuifly.model.flightSearch.InitializedEvent.observeOnce(function(){s2.tuifly.model.flightSearch.OrigChangeEvent.trigger(o)})}}})})}}};
a.initialBind=function(){var d=s2.tuifly.model.flightSearch.StationManager.getInstance();this.inputs.each(function(){var b=$(this);b.autocomplete([],c);var f=false,g=function(m){var o=a.getSelect(b),q="",u=false;q=$("<pre>"+m+"</pre>");if(q.find(".zugZumFlug").size()>0)u=true;m=q.text();if(q=q.find("span[value]").attr("value"))m=q;inputVal=m;if(b.attr("abbreviate")){q=new s2.tuifly.util.TextMetrics(b,inputVal);var w=b.width();if(0<w&&w<q.width())inputVal=inputVal.substr(0,q.getIndexAtX(w-(new s2.tuifly.util.TextMetrics(b,
"...")).width()))+"...";b.data("completeValue",m)}else b.removeData("completeValue");b.val(inputVal);$(b).get(0).showInput();if(w=d.findStation(m)){q=w.getIataCode();if(!f&&s2.tuifly.helper.restrictions.isRestrictedOrigin(q))s2.tuifly.model.flightSearch.OrigChangeEvent.trigger(q,u);else{o.val(q);b.parent().find(".qAirportName").html(w.longName);b.parent().find(".qAirportCode").html(q);b.parent().find(".qDisplayField").removeClass("hidden");if(o.val()!=q){o.append('<option value="'+q+'">'+w.toString()+
"</option>");o.val(q)}q==m.toUpperCase()&&b.val(w.toString());f?s2.tuifly.model.flightSearch.DestChangeEvent.trigger(q,u):s2.tuifly.model.flightSearch.OrigChangeEvent.trigger(q,u);s2.Logger.debug("Picked "+o.val())}}else f&&s2.tuifly.model.flightSearch.DestChangeEvent.trigger("",u)};b.result(function(m,o,q){g(q)});b.blur(function(){g(this.value)});b.change(function(){g(this.value)});if(!b.hasClass("origin"))if(b.hasClass("destination"))f=true;else throw"missing queryCity class";var h;b.click(function(m){var o=
$(this);if(h==null)h=b.offset();var q=o.width()-15+h.left;if(m.pageX>q){s2.Logger.debug("Click in range");o.trigger("s2:closeIfOpen")}else s2.Logger.debug("Click out of range");m.target.value=""})});s2.tuifly.controller.FlightSearch.getInstance().navitairReady()};a.getValues=function(d){var b=[],f=0;d.parent().find("option").each(function(){f++!=0&&b.push($(this).text())});return b};a.rebind=function(){s2.Logger.debug("Rebind orig/dest")}});
s2.namespace("s2.tuifly.widget.submittableForm",function(){var a=this;this.clickButton=function(c){try{c.trigger("click")}catch(d){s2.Logger.debug(d)}};this.evalHref=function(c){try{var d=c.attr("href");d.indexOf("javascript:")==0&&eval(d.replace("javascript:",""))}catch(b){s2.Logger.debug(b)}};this.initialize=function(){$("#SkySales").each(function(){var c=$(this);c.append("<input type=submit style='display:none' /><input type=image width=0 height=0 value='' src='/skyres/images/trans.gif' />");c.submit(function(d){d.preventDefault();
if(d=s2.tuifly.widget.focusManager.getFocused())for(var b=$(d);b.length>0;){var f=false;Joose.A.each(["a.bookingButton","a.returnButton","a.showButton"],function(g){var h=b.find(g);if(h.length==1&&b.find(".queryPseudoForm "+g).length==0){a.clickButton(h);f=true;return false}});if(f)break;b=b.parent()}return false})})}});
s2.namespace("s2.tuifly.widget.formRowHighlighter",function(){var a=this,c;this.initialize=function(){s2.tuifly.widget.focusManager.FocusChangeEvent.observe(function(d,b){b=$(b);if(b.is(":input")||b.is("a.enterNumber")){c&&a.toggleParent($(c),"focused");a.toggleParent(b,"focused");c=b}})};this.toggleParent=function(d,b){var f=d;for(b||(b="focused");f.length>0;){if(f.hasClass("formRow")||f.is("tr.queryformRow"))f.toggleClass(b);f=f.parent()}}});
s2.namespace("s2.tuifly.widget.requiredFormFields",function(){this.initialize=function(){$.cachedFind("label.requiredField").append("<span class='inline'> *</span>")}});
s2.namespace("s2.tuifly.widget.sizedIFrame",function(){this.initialize=function(){var a=this;a.resize()&&s2.tuifly.events.DocResize.observeLazy(function(){a.resize()});$(window).load(function(){a.resize()})};this.resize=function(a){try{var c=window.name;if(window!==parent&&parent.frames&&parent.frames[c]){var d=$("body div.myTuiFly").height();parent.jQuery("#"+c+".autoSize").height(d);a||top.scrollTo(0,0);return true}return false}catch(b){s2.Logger.debug(b)}}});
s2.namespace("s2.tuifly.widget.loadingButton",function(){this.cancelSpinAllButtons=function(){var a=this;$("body:not(.hlxselect) a.bookingButton:not(.noClickEvent)").each(function(){a.unSpinButton($(this))})};this.unSpinButton=function(a){if(a.hasClass("loading")){a.removeClass("loading");a.find(".loadingImage").remove()}};this.initialize=function(){var a=this,c=function(d){if(!d.hasClass("loading")){d.children("span").prepend("<span class='loadingImage'></span>");d.addClass("loading")}};s2.tuifly.events.AjaxEndEvent.observe(function(){a.cancelSpinAllButtons()});
$("body:not(.hlxselect) a.bookingButton:not(.noClickEvent)").each(function(){var d=$(this),b=this.onclick;this.onclick=function(){};d.click(function(f){var g=$(this);g.hasClass(".qNoSpinning")||c(g);f.preventDefault();var h;if(!s2.tuifly.validation.checkBeforeSkySalesValidation())return false;if(typeof b=="function")h=b.call(this,f);if(h!==false){typeof s2.tuifly.widget.ssrLuggageCheckSelector!="undefined"&&s2.tuifly.widget.ssrLuggageCheckSelector.activateDisabledInputs();typeof s2.tuifly.helper.zugZumFlug!=
"undefined"&&s2.tuifly.helper.zugZumFlug.activateDisabledInputs();var m=g.attr("href");if(m&&m.indexOf("javascript:")==0)window.setTimeout(function(){eval(m.replace("javascript:",""))},10);else if(m&&m.length>0)if(g.attr("target")=="_top")window.top.location.href=m;else if(g.attr("target")=="_parent")window.parent.location.href=m;else if(g.attr("target")=="_blank")window.open(m);else location.href=m}else a.unSpinButton(d);return h})})}});
s2.namespace("s2.tuifly.widget.tooltip",function(){var a=this,c=0;this.initialize=function(){};var d={};$(".queryTooltip").live("mouseover",function(){var b=$(this),f=b.attr("id");if(!f||!d[f]){a.init(b);b.mouseover()}});this.init=function(b){var f=this;b.each(function(){var g,h=$(this),m=h.attr("id");if(m==null||m=="")h.attr("id","anonTooltip"+ ++c);d[m]=true;var o,q,u,w=$(this),A=w.attr("id"),H=$("select:visible");if($("#ShowOnRegisterIRC").get(0))H=$("select");h.mouseover(function(K){try{$.browser.msie&&
$.browser.version.substr(0,1)=="6"&&!h.hasClass("deactivated")&&H.addClass("invisible");if(g){g.remove();g=null}var L=$(this).find(".queryTooltipContent");if(!L.closest(".queryTooltip").hasClass("deactivated")){g=L.clone();f.createTooltip(g,K)}}catch(E){s2.Logger.debug("Error: "+E);return}try{o=o!=null?o:w.offset();q=q!=null?q:w.outerWidth();u=u!=null?u:w.outerHeight();$(window).bind("resize",function(){u=q=o=null});q>0&&u>0||s2.Logger.debug("we have no width and height, so we do not listen to the mousemove event ["+
A+"]")}catch(O){s2.Logger.debug("MouseoverError: "+O)}});h.mouseout(function(){$.browser.msie&&$.browser.version.substr(0,1)=="6"&&!h.hasClass("deactivated")&&H.removeClass("invisible");if(g){g.remove();g=null}})})};a.createTooltip=function(b,f){if(b.hasClass("initTooltip"))b.show();else{b.addClass("initTooltip");b.hide();b=this.calculatePosition(b,f);b.css("position","absolute");b.css("z-Index",999999999);$("body").append(b);var g=false;if(b.hasClass("leftOrientation"))g=true;b.length&&window.setTimeout(function(){s2.tuifly.widget.overlay.adjustOrientation(f,
b,350,g);b.show()},0)}};a.createSeatTooltip=function(b,f,g,h){if(!b.hasClass("calculated")){b=a.calculateRelativePosition(b,f);if(!b)return;b.css("z-Index",100)}if(b.hasClass("initTooltip")&&!b.hasClass("leftOrientation"))b.show();else{b.addClass("initTooltip");b.attr("id","layer"+g);b.css("visibility","hidden");b.css("position","absolute");h.append(b);h=false;if(b.hasClass("leftOrientation"))h=true;b=$("#layer"+g);if(h){b.removeClass("adjusted");s2.tuifly.helper.SeatMap.LeftOrientation(f,b)}else{b.css("visibility",
"visible");b.removeClass("hidden");b.show()}}};this.calculatePosition=function(b,f){if(b.hasClass("calculated"))return b;b.addClass("calculated");var g=b.attr("posX")||0,h=b.attr("posY")||0;h=$(f.target);var m=h.offset();g=Math.round(m.left+h.width()+parseInt(g));h=Math.round(m.top);b.css("left",g+"px");b.css("top",h+"px");return b};this.calculateRelativePosition=function(b,f){if(b.hasClass("calculated"))return b;b.addClass("calculated");var g=$("#unitMapView").width(),h=$("#unitMapView").scrollLeft();
g=g+h;h=b.attr("posX")||0;var m=b.attr("posY")||0;m=$(f.target);var o=m.position();h=Math.round(o.left+m.width()+parseInt(h,10));m=Math.round(o.top);if(m<0)return null;h>g-75?b.addClass("leftOrientation"):b.removeClass("leftOrientation leftOverlay");b.css("left",h+"px");b.css("top",m+"px");return b}});
s2.namespace("s2.tuifly.widget.dialog",function(){var a=this,c={closeOnEscape:true,modal:true,bgiframe:true,draggable:false,resizable:false,zIndex:9999,height:"auto",width:"450px",innerWidthIE:"375px",autoOpen:false,autoResize:false,overlay:{backgroundColor:"black",opacity:0.3}};this.initialize=function(){window.origAlert=window.alert;window.alert=function(g,h){s2.tuifly.widget.dialog.alert(g,h)}};this.copyOptions=function(){var g={},h;for(h in c)g[h]=c[h];return g};this.getTitle=function(g){if(g&&
g.title)return g.title;return{de:"Achtung",en:"Attention",it:"Considerazione",es:"Considerar"}[JooseX.Culture.Factory.get().majorIdentifier()]};this.getTitleNotice=function(g){if(g&&g.title)return g.title;return{de:"Hinweis",en:"Hint",it:"Indicazione",es:"Nota"}[JooseX.Culture.Factory.get().majorIdentifier()]};var d=function(g,h){var m=g,o="";if(h){m=g+""+h;o=h}var q=$("#"+m);if(q.length>0){q.empty();f=q}else f=$("body").append('<div id="'+m+'" class="'+o+'"></div>').find("#"+m);var u=f.dialog;f.dialog=
function(){if(arguments.length&&arguments[0]=="close")b=false;u.apply(this,arguments)};return f},b=false;this.confirm=function(g,h){if(h)h.confirm=1;s2.tuifly.widget.dialog.alert(g,h)};this.confirmNotice=function(g,h){if(h)h.confirm=1;s2.tuifly.widget.dialog.alertNotice(g,h)};this.alertNotice=function(g,h){h||(h={});h.view="note";h.title=this.getTitleNotice(h);s2.tuifly.widget.dialog.alert(g,h)};this.replaceLinebreak=function(g){return g=g.replace(/\n/,"<br />")};this.alert=function(g,h){h||(h={});
h.positionLayer="fixed";if($.browser.msie&&$.browser.version.substr(0,1)=="6")h.positionLayer="absolute";if(this.displayInline)$(".error").html(g);else if(!(b&&!h.forceDisplay)){if(!h.forceIframeAlert&&window!=parent)try{return parent.s2?parent.s2.tuifly.widget.dialog.alert(g,h):parent.alert(g)}catch(m){return origAlert(g)}if(typeof g=="undefined")g="undefined";else if(typeof g!="string")g=g.toString();h.noLinebreakReplace||(g=this.replaceLinebreak(g));var o=this.copyOptions();h||(h={});jQuery.extend(o,
h);h=o;b=true;var q=d("s2AlertBox");q.html(g);var u=function(E){window.setTimeout(function(){q.dialog("close");typeof E=="function"&&E()},10)},w,A=h.okCallback;w=typeof A=="function"?function(){u(A)}:u;var H,K=h.cancelCallback;H=typeof K=="function"?function(){u(K)}:u;if(o.confirm){var L={};L[o.okButtonText]=w;L[o.cancelButtonText]=H;h={};h.buttons=L;h.dialogClass=o.dialogClass;h.dialogClass||(h.dialogClass="confirmBox");jQuery.extend(o,h)}else o.noButtons||jQuery.extend(o,{buttons:{OK:w},dialogClass:o.dialogClass?
o.dialogClass:""});if(!o.title){w=this.getTitle(o);o.title=w}q.dialog(o);$.browser.msie&&$.browser.version.substr(0,1)=="6"&&$(q).css("width",o.innerWidthIE);$(q).css("height","");o.confirm&&$("#s2AlertBox").parent().parent().find("button").each(function(E){E==0&&$(this).addClass("buttonOK");E==1&&$(this).addClass("buttonCancel");$(this).wrapInner(document.createElement("span"))});q.dialog("open");if(o.view=="note"){o.confirm||$(".ui-dialog-buttonpane").addClass("hint");$(".ui-dialog-container").addClass("hint")}o.fixTop&&
$(".ui-dialog").css("top",o.fixTop+"px");o.callback&&typeof o.callback=="function"&&o.callback()}};var f;this.ajaxLayer=function(g,h,m,o,q){if(!b){this.prepare(h,m);g+=g.match(/\?/)?"&":"?";m.disableCache||(g+="noCache="+Math.random().toString());h=$.get;if(q&&q.toUpperCase()=="POST")h=$.post;this.showAjaxLoadingOverlay();h(g,o,function(u){s2.Logger.debug("Data arrived");f.find(".waitMessage").addClass("hidden");s2.tuifly.widget.dialog.closeAjaxLoadingOverlay();f.html(u);f.dialog("open");a.setFocus();
var w=m.callback;w&&typeof w=="function"&&w(u)})}};this.divLayer=function(g,h,m){if(!b){this.prepare(h,m);if(m.clone){h=g.clone(true);if(m&&m.removeSource){g.remove();f.empty();f.append(h)}}else f.html(g.html());f.dialog("open");a.setFocus();(g=m.callback)&&typeof g=="function"&&g()}};this.setFocus=function(){try{if(f.find(".bookingButton").length)f.find(".bookingButton")[0].focus();else f.find("input").length&&f.find("input")[0].focus()}catch(g){}};this.divLayerMove=function(g){var h=f.children().clone(true);
f.remove();$("#"+g).append(h);theForm=$("#SkySales").get(0)};this.prepare=function(g,h){var m=this.copyOptions();g=g?g:"s2AlertBox";m=jQuery.extend(m,{width:"700px"});if(h)m=jQuery.extend(m,h);f=d(g,"ajaxLayer");f.dialog(jQuery.extend(m,{draggable:false}));h.message&&$(f).html('<div class="waitMessage">'+h.message+"</div>");b=true};this.myTUIflyLayer=function(g){this.ajaxLayer(g,"myTUIfly",{width:"560px",height:"580px",dialogClass:"myTUIflyLayer",callback:s2.tuifly.helper.mytuiflyLoginBox.prepare})};
this.bordshopLayer=function(g){this.ajaxLayer(g,"myTUIfly",{width:"625px",height:"410px",dialogClass:"myTUIflyLayer"})};this.darkSiteLayer=function(g){this.ajaxLayer(g,"darkSite-",{width:"805px",height:"482px",dialogClass:"darkSiteLayer"})};this.tuiHotelDetailLayer=function(g,h){this.ajaxLayer(g,"tuiHotelDetail-",{width:"905px",height:"503px",dialogClass:"tuiHotelDetailLayer",message:h})};this.tuiHotelVariationsLayer=function(g,h){this.ajaxLayer(g,"TUIHotelVariationBox-",{width:"481px",height:"416px",
dialogClass:"tuiHotelVariationsAjaxLayer",message:h})};this.notepadLayer=function(){this.divLayer($("#notepadLayer"),"notepad-",{width:"420px",height:"auto",dialogClass:"notepadLayer"})};this.priceAlarmConfirmLayer=function(){this.divLayer($("#priceAlarmConfirmLayer"),"priceAlarmConfirm-",{width:"372px",height:"460px",dialogClass:"priceAlarmConfirmLayer"})};this.exitLayer=function(g,h){this.ajaxLayer(g,"tuiHotelDetail-",{width:"400px",height:"auto",dialogClass:"tuiHotelDetailLayer",callback:h})};
this.carsGuaranteeLayer=function(){this.divLayer($("#carsGuaranteeLayer"),"carsGuarantee-",{width:"530px",height:"auto",dialogClass:"carsGuaranteeLayer"})};this.priceAlarmStoreLayer=function(){this.divLayer($("#priceAlarmStoreLayer"),"priceAlarmStore-",{width:"372px",height:"460px",dialogClass:"priceAlarmStoreLayer"})};this.surveyItineraryLayer=function(){this.divLayer($("#surveyItineraryLayer"),"surveyItinerary-",{width:"372px",height:"372px",dialogClass:"surveyItineraryLayer"})};this.notepadPreviewLayer=
function(g,h,m){this.ajaxLayer(g,"notepadPreview-",{width:"710px",height:"auto",dialogClass:"notepadPreviewLayer",callback:function(){$("#notepadPreview-ajaxLayer").prepend('<div id="opacityDiv"></div>');$(".notepadPreviewLayer .ui-dialog-titlebar").prepend(m)}},h,"POST")};this.christmasLayer=function(g){this.ajaxLayer(g,"christmas-",{width:"790px",height:"700px",dialogClass:"christmasLayer"})};this.airlineLayer=function(g,h){this.ajaxLayer(g,"airlines-",{width:"850px",height:"720px",dialogClass:"airlinesLayer",
callback:h,disableCache:true})};this.selectViewLayer=function(g){this.divLayer(g,"selectView-",{width:"790px",height:"auto",dialogClass:"selectViewLayer",overlay:{backgroundColor:"black",opacity:0.7}});g.find(".layerContent").html("")};this.updateBrowser=function(){this.divLayer($("#updateBrowser"),"updateBrowser-",{width:"420px",height:"auto",dialogClass:"updateBrowserLayer"})};this.emailMissingLayer=function(g){this.ajaxLayer(g,"standard-",{width:"420px",height:"auto",dialogClass:"standardLayer"})};
this.lateroomsDetailLayer=function(g){b=false;this.ajaxLayer(g,"lateroomsDetails-",{position:["auto",50],width:"792px",height:"auto",dialogClass:"lateroomsDetailsLayer"})};this.loginRegisterLayer=function(){this.divLayer($("#loginRegisterLayer div:first"),"loginRegister-",{width:"792px",height:"auto",dialogClass:"loginRegisterLayer",removeSource:true,clone:true});theForm=$("#SkySales").get(0)};this.infoTUICreditCardLayer=function(g){b=false;this.ajaxLayer(g,"tuiflyCreditCard-",{position:["auto",50],
width:"792px",height:"auto",dialogClass:"tuiflyCreditCardLayer"})};this.standardLayer=function(g,h){h||(h={});if(typeof g=="string")content=$.get(g,function(m){m="<div>"+m+"</div>";var o=$("h1",m).html();h.title=o;m=$(".contentDialog",m).html();h.noLinebreakReplace=true;alert(m,h);if(h.noDefaultButton){$(".ui-dialog button").addClass("hidden");$(".ui-dialog button").after("<br /><br />")}});else if(typeof g=="object"){alert($(".content",g).html(),h);if(h.noDefaultButton){$(".ui-dialog button").addClass("hidden");
$(".ui-dialog button").after("<br /><br />")}}h.view=="note"&&$(".ui-dialog-container, .ui-dialog-buttonpane").addClass("hint")};this.standardImageLayer=function(g){$(".ajaxLayer.zoomImageLayer").remove();b=false;var h=$("<span/>"),m=$("<img/>");$(m).attr("id","zoomImageLayer");$(m).attr("clss","hidden");$(h).html($(m));this.divLayer($(h),"zoomImage",{width:"",height:"",dialogClass:"zoomImageLayer",callback:function(){$(".ajaxLayer.zoomImageLayer").css("top","-9999px");$("#zoomImageLayer").attr("src",
g);$("#zoomImageajaxLayer").show();setTimeout(function(){var o=$(window).scrollTop()+25,q=$("body").get(0).clientWidth/2-$(".zoomImageLayer").innerWidth()/2;$(".zoomImageLayer").css("top",o+"px");$(".zoomImageLayer").css("left",q+"px");$("#zoomImageLayer").removeClass("hidden")},300)},title:"Detailansicht"})};this.ajaxLayerClose=function(){f&&f.dialog("close")};this.divLayerClose=function(g){this.ajaxLayerClose();g&&this.divLayerMove(g)};this.showAjaxLoadingOverlay=function(){var g=$("<div/>");$(g).addClass("dialogOverlay");
$("body").append("<div class='loadingAjax'></div>");$("body").append(g);g=$(window).scrollTop()+$(window).height()/2-$(".loadingAjax").innerHeight()/2;var h=$("body").get(0).clientWidth/2-$(".loadingAjax").innerWidth()/2;$(".loadingAjax").css("top",g+"px");$(".loadingAjax").css("left",h+"px")};this.closeAjaxLoadingOverlay=function(){$(".loadingAjax").remove();$(".dialogOverlay").remove()}});s2.namespace("s2.tuifly.widget.fader",function(){this.crossfade=function(a,c){$(a).fadeOut("fast",function(){$(c).fadeIn("fast")})}});
s2.namespace("s2.tuifly.widget.hintMessage",function(){this.initialize=function(){if(document.getElementById("hintMessageBox")){var a=$("input[hintMessage]");a.focus(function(){$(this).closest(".formRow").addClass("noFocused");$("#hintMessageBox").html($(this).attr("hintMessage"));$("#hintMessageBox").fadeIn("fast")});a.blur(function(){$("#hintMessageBox").html("");$("#hintMessageBox").css("display","")})}}});
s2.namespace("s2.tuifly.widget.toggleCheckbox",function(){var a=$("div.toggleCheckbox > input[type='checkbox']");this.initialize=function(){a.live("click",function(){$(this).parents("div.toggleDisplay").toggleClass("disabled")})}});
s2.namespace("s2.tuifly.widget.customSelect",function(){var a={hoverClass:"over"};this.initialize=function(){};this.convert=function(c){c||(c="");$(""+c+" div.queryCustomSelects").each(function(){var d=$(this);if(!d.hasClass("init")){d.addClass("init");var b=jQuery.extend({},a),f=d.attr("maxlength");if(f)b.maxlength=f;if(d.attr("abbreviate"))b.abbreviate=true;d.find("select").selectbox(b)}})}});
s2.namespace("s2.tuifly.widget.date",function(){this.createYearPulldown=function(a,c){if($(a).length>0){var d=new Date,b=d.getFullYear();d=d.getMonth()+1;var f=this.buildPartnerBannerValue,g=this.buildPartnerBannerString;if(c=="partnerBanner"){f=this.buildPartnerBannerValue;g=this.buildPartnerBannerString}else if(c=="csLanding"){f=this.buildCSLandingValue;g=this.buildCSLandingString}$(a).empty();for(var h=0;h<13;h++){var m=f.apply(this,[d,b]),o=g.apply(this,[d,b]),q=$("<option>");q.attr("value",m);
q.html(o);$(a).append(q);if(d==12){d=1;b+=1}else d++}}};this.createPartnerBannerYearPulldown=function(a){this.createYearPulldown("#"+a,"partnerBanner")};this.createCompactSearchLandingYearPulldown=function(a){this.createYearPulldown(a,"csLanding")};this.buildPartnerBannerValue=function(a,c){a=this.formatMonth(a);return c.toString()+a};this.buildPartnerBannerString=function(a,c){var d=a-1;return this.getMonthList()[d]+" "+c.toString()};this.buildCSLandingValue=function(a,c){a=this.formatMonth(a);return c.toString()+
"-"+a};this.buildCSLandingString=function(a,c){var d=a-1;return this.getMonthList()[d]+" "+c.toString()};this.formatMonth=function(a){if(a<10)a="0"+a.toString();return a};this.getMonthList=function(){var a=JooseX.Culture.Factory.get().majorIdentifier();if(a=="en")a="";return $.datepicker.regional[a].monthNames}});
s2.namespace("s2.tuifly.widget.footer",function(){this.initialize=function(){if($("textarea#quicktown").length!=0){var a=new s2.tuifly.util.Query(location.hash);a.param("culture")&&JooseX.Culture.setCurrentCulture(a.param("culture"));$("a#destFooterLink_"+JooseX.Culture.Factory.get().identifier()).addClass("current");a=JooseX.Culture.Factory.get().majorIdentifier();var c=JooseX.Culture.Factory.get().identifier(),d=s2.tuifly.util.Skin.get().identifier(),b="";$.getJSON("/pregenerated/"+a+"/farefinder/"+
d+"/orig-dest-pairs.json",function(f){if(typeof f.countryAirports=="object"){$.each(f.countryAirports,function(g,h){var m=f.countryName[h.countryCode];if(b!="")b+=" &bull; ";b+='<b><a href="/farefinder/bestoffers?destination='+h.countryCode+(c=="de-DE"?"":"&culture="+c)+'">'+m+":</a></b> ";var o="";$.each(h.airports,function(q,u){var w=f.iataCodes[u];if(o!="")o+=" &bull; ";o+='<a href="/farefinder/bestoffers?destination='+u+(c=="de-DE"?"":"&culture="+c)+'">'+w+"</a>"});b+=o});$("textarea#quicktown").text(b)}})}}});
s2.namespace("s2.tuifly.widget.skysalesError",function(){this.initialize=function(){if(document.getElementById("skysalesErrorMessageBox")){var a=$("#skysalesErrorMessageBox h1").html();s2.tuifly.widget.dialog.standardLayer($("#skysalesErrorMessageBox"),{title:a})}else if(document.getElementById("skysalesNoticeMessageBox")){a=$("#skysalesNoticeMessageBox h1").html();s2.tuifly.widget.dialog.standardLayer($("#skysalesNoticeMessageBox"),{title:a,view:"note"})}else document.getElementById("airberlinRepriceMessageBox")&&
s2.tuifly.widget.dialog.standardLayer($("#airberlinRepriceMessageBox"),{title:$("#airberlinRepriceMessageBox h1").html(),confirm:true,okButtonText:s2.tuifly.util.culture.get("OkButton"),cancelButtonText:s2.tuifly.util.culture.get("CancelButton"),okCallback:function(){$("#selectSubmit a").click()}})}});
s2.namespace("s2.tuifly.widget.tuiBanner",function(){var a=this;this.load=function(){if(this.required()){$("#tuiBanner").click(a.track);$("#tuiBanner").show()}};this.required=function(){if(!(document.getElementById("select")||document.getElementById("selectnew")))return false;if(!document.getElementById("tuiBanner"))return false;if($("#travelOptions input:checked").val()=="OneWay")return false;if(JooseX.Culture.Factory.get().identifier()!="de-DE")return false;return true};this.track=function(){s2.tuifly.util.tracking.fire({events:["event7"],
values:{eVar1:"TUIPauschalreisen_BU_705_P_K4709V1"},name:"Teaserclick_Pauschalreisen"})}});
s2.namespace("s2.tuifly.widget.lturBanner",function(){var a=this;this.load=function(){if(this.required()){$("#lturBanner").show();var d=s2.tuifly.helper.search.getSearchParams(),b={day:d.departureDay,month_year:d.departureMonthYear},f={day:d.arrivalDay,month_year:d.arrivalMonthYear};b=Date.parse(b.month_year+"-"+b.day+"T00:00:00");f=Date.parse(f.month_year+"-"+f.day+"T00:00:00");var g=(f-b)/1E3/3600/24;d={foah:d.departureAirport,zo:"zo"+d.arrivalAirport,start_datum:b.toString("dd.MM.yyyy"),end_datum:f.toString("dd.MM.yyyy"),
rd_min:g,SEA_adults:d.adultCount,group:"kat",num_results:4};jQuery.getJSON("https://www.ltur.com/de/ajax_search.ltml?callback=?",d,function(h){a.loadingFinished(h)})}};this.loadingFinished=function(d){if(!d||d.length==0||d.length==1&&d[0].routingExists=="0")$("#lturBanner").hide();else{d=this.getCheapestOffers(4,d);for(var b=0;b<d.length;b++){var f=d[b];f&&this.createOffer(b+1,f).paint()}$("#lturBanner .q-Loading").hide();$("#lturBanner .q-LturOffer").fadeIn("1000")}};this.getCheapestOffersPerCategory=
function(d,b){for(var f={},g=[],h=0;h<d.length;h++)f[d[h]]=false;for(h=0;h<b.length;h++){var m=b[h];if(!f.E&&m.HotelCategory=="E"){g.push(m);f.E=true}if(!f.M&&m.HotelCategory=="M"){g.push(m);f.M=true}if(!f.G&&m.HotelCategory=="G"){g.push(m);f.G=true}if(!f.L&&m.HotelCategory=="L"){g.push(m);f.L=true}}return g};this.getCheapestOffers=function(d,b){for(var f=[],g=0;g++<d;)f.push(b[g-1]);return f};this.createOffer=function(d,b){var f=$("#lturOfferTemplate").html(),g=new c(d,b);f=$(f);f.attr("id","lturOffer"+
d);g.element=f;return g};this.required=function(){if(!document.getElementById("select")&&!document.getElementById("selectnew"))return false;if(!document.getElementById("lturBanner"))return false;if($("#travelOptions input:checked").val()=="OneWay")return false;if(JooseX.Culture.Factory.get().identifier()!="de-DE")return false;return true};var c=function(d,b){this.id=d;this.data=b;this.paint=function(){$("#lturBanner .q-Content").append(this.element);var f=this.element,g=this.data;if(g){this.url=location.protocol+
"//asn.advolution.de/000034f35000000b4/url="+location.protocol+"//www.ltur.com"+g.ListLink+"&CID=700.2.1";var h=g.Picture;h=h.replace("http:",location.protocol);var m=$("<a/>");$(m).attr("href",this.lturLink());$(m).attr("target","_blank");var o=$("<img width='145' />");$(o).attr("src",h);$(o).addClass("hotelImage");$(m).html($(o));f.find(".q-Image").html($(m));f.find(".hotelName").html(g.Hotel.replace("&amp;","&"));this.insertStars();f.find(".hotelLocation").html(g.HotelOrt.replace("&amp;","&"));
g=g.PriceAdultF;g=g.replace("&amp;","&");f.find(".q-PriceValue").html(g);f.find(".q-Price a").attr("href",this.lturLink())}};this.insertStars=function(){var f=this.getStars(),g=this.element;typeof f=="number"&&$(g).find(".category").addClass("stars"+f)};this.getStars=function(){var f={E:2,M:3,G:4,L:5},g=0;if(this.data)g=f[this.data.HotelCategory];return g};this.lturLink=function(){return"/specials/partnerframe/index.php?lang=DEU&sub=tui&scte=LTURPauschalreisen_BU_705_P_K4909V1&suburl="+Base64.encode(this.url)}}});
s2.namespace("s2.tuifly.widget.pauschalreiseBanner",function(){var a={TUI:"tui",LTUR:"ltur"};this.initialize=function(){if(document.getElementById("select")||document.getElementById("selectnew"))setTimeout("s2.tuifly.widget.pauschalreiseBanner.start()")};this.start=function(){this.providerMap[s2.tuifly.helper.search.getSearchParam("arrivalAirport")]==a.TUI?s2.tuifly.widget.tuiBanner.load():$(window).load(function(){s2.tuifly.widget.lturBanner.load()})};this.providerMap={ACE:a.TUI,ADA:a.LTUR,ADB:a.TUI,
AGA:a.TUI,AGP:a.LTUR,ALC:a.LTUR,ALG:a.LTUR,AMS:a.LTUR,AOK:a.TUI,ARN:a.LTUR,ASR:a.LTUR,ATH:a.LTUR,AYT:a.TUI,BBU:a.LTUR,BCN:a.LTUR,BDS:a.LTUR,BEG:a.LTUR,BIA:a.TUI,BJV:a.TUI,BKK:a.TUI,BOJ:a.TUI,BRE:a.LTUR,BRI:a.LTUR,BSL:a.LTUR,BUD:a.LTUR,BVC:a.TUI,CAG:a.LTUR,CAI:a.LTUR,CFU:a.TUI,CGN:a.TUI,CHQ:a.TUI,CLY:a.LTUR,CPT:a.LTUR,CPH:a.LTUR,CTA:a.LTUR,CUN:a.TUI,DBV:a.LTUR,DJE:a.TUI,DLM:a.TUI,DME:a.LTUR,DRS:a.LTUR,DTM:a.LTUR,DUS:a.LTUR,DXB:a.TUI,EIN:a.LTUR,ERF:a.LTUR,ESB:a.LTUR,EZS:a.LTUR,FAO:a.TUI,FCO:a.LTUR,
FDH:a.LTUR,FKB:a.LTUR,FMM:a.LTUR,FMO:a.LTUR,FNC:a.TUI,FRA:a.LTUR,FUE:a.TUI,GCI:a.TUI,GPA:a.TUI,GRO:a.TUI,GRZ:a.LTUR,GVA:a.LTUR,GWT:a.LTUR,GZT:a.LTUR,HAJ:a.TUI,HAM:a.TUI,HDF:a.LTUR,HEL:a.LTUR,HER:a.TUI,HKT:a.TUI,HRG:a.TUI,IBZ:a.TUI,INN:a.LTUR,JFK:a.TUI,JMK:a.TUI,JTR:a.TUI,KEF:a.LTUR,KGS:a.TUI,KLU:a.LTUR,KLX:a.TUI,KRK:a.LTUR,KVA:a.LTUR,LAX:a.TUI,LCA:a.TUI,LED:a.LTUR,LEJ:a.LTUR,LGW:a.LTUR,LIS:a.LTUR,LNZ:a.LTUR,LPA:a.TUI,LUX:a.LTUR,LXR:a.TUI,MAD:a.LTUR,MAH:a.TUI,MAN:a.LTUR,MBA:a.TUI,MBJ:a.TUI,MCT:a.TUI,
MIA:a.TUI,MIR:a.TUI,MJT:a.TUI,MLA:a.TUI,MLE:a.TUI,MLH:a.LTUR,MUC:a.LTUR,MXP:a.LTUR,NAP:a.LTUR,NBE:a.TUI,NCE:a.LTUR,NDR:a.LTUR,NRN:a.LTUR,NUE:a.LTUR,OLB:a.LTUR,OPO:a.LTUR,ORY:a.LTUR,OSL:a.LTUR,PAD:a.LTUR,PDL:a.TUI,PMI:a.TUI,PMO:a.LTUR,POP:a.TUI,PRG:a.LTUR,PRN:a.LTUR,PSA:a.LTUR,PUJ:a.TUI,PUY:a.LTUR,PVK:a.LTUR,RAK:a.TUI,RHO:a.TUI,RJK:a.LTUR,RLG:a.LTUR,RMF:a.TUI,RMI:a.LTUR,RSW:a.TUI,RTM:a.LTUR,SAW:a.LTUR,SCN:a.LTUR,SDQ:a.TUI,SFO:a.TUI,SID:a.TUI,SJJ:a.LTUR,SKG:a.TUI,SMI:a.TUI,SOF:a.LTUR,SPC:a.TUI,SPU:a.LTUR,
SSH:a.TUI,STN:a.LTUR,STR:a.LTUR,SUF:a.TUI,SXF:a.LTUR,SZF:a.LTUR,SZG:a.LTUR,TFN:a.TUI,TFS:a.TUI,TLV:a.TUI,TNG:a.LTUR,TSF:a.LTUR,TUN:a.LTUR,TXL:a.LTUR,VAR:a.TUI,VCE:a.LTUR,VIE:a.LTUR,VKO:a.LTUR,VRA:a.TUI,VRN:a.LTUR,WDH:a.TUI,XRY:a.TUI,YVR:a.TUI,ZAD:a.LTUR,ZAG:a.LTUR,ZQW:a.LTUR,ZRH:a.LTUR,ZTH:a.TUI}});
s2.namespace("s2.tuifly.widget.IEUpdateBanner",function(){var a=this,c={firefox:{image:"/images/elements/ie_update_ff.png",url:{de:"http://www.mozilla-europe.org/de",en:"http://www.mozilla-europe.org/en",es:"http://www.mozilla-europe.org/es",it:"http://www.mozilla-europe.org/it"}},ie:{image:"/images/elements/ie_update_ie.png",url:{de:"http://www.microsoft.com/germany/windows/internet-explorer",en:"http://www.microsoft.com/windows/internet-explorer",es:"http://www.microsoft.com/spain/windows/internet-explorer",
it:"http://www.microsoft.com/italy/windows/internet-explorer"}},chrome:{image:"/images/elements/ie_update_chrome.png",url:{de:"http://www.google.com/chrome?hl=de",en:"http://www.google.com/chrome?hl=en",es:"http://www.google.com/chrome?hl=es",it:"http://www.google.com/chrome?hl=it"}},chromeframe:{image:"/images/elements/ie_update_chromeframe.png",url:{de:"http://www.google.com/chromeframe?hl=de",en:"http://www.google.com/chromeframe?hl=en",es:"http://www.google.com/chromeframe?hl=es",it:"http://www.google.com/chromeframe?hl=it"}}},
d={begin:'<div id="updateIE"><div class="floatRight"><a href="#" class="qClose"><img src="/skyres/images/buttons/tuiHotelLayerClose.gif" /></a></div>',note:{de:"<STRONG>Hinweis:</STRONG> Sie verwenden eine veraltete Version Ihres Webbrowsers. Die Darstellung und Funktionalit&auml;t dieser Seite wird dadurch evtl. eingeschr&auml;nkt. <STRONG>Besser, schneller und sicherer im Web mit einem modernen Browser.</STRONG>",en:"<STRONG>Note:</STRONG> You are using an outdated version of your Web browser. This may limit the display options and functionality of this page and site. <STRONG>For a better, faster Web experience, please update to a more advanced browser.</STRONG>",
es:"<STRONG>Nota:</STRONG> est&aacute; utilizando una versi&oacute;n antigua de su navegador. Es posible que, debido a ello, quede limitada la presentaci&oacute;n y funcionalidad de esta p&aacute;gina. <STRONG>Con un navegador moderno podr&aacute; moverse mejor y m&aacute;s r&aacute;pido en Internet.</STRONG>",it:"<STRONG>Nota:</STRONG> state usando la versione vecchia del vostro Browser. Visualizzazione e funzionalit&agrave; di questa pagina potrebbero perci&ograve; essere limitate. <STRONG>Navigate meglio e pi&ugrave; rapidamente con un Browser aggiornato.</STRONG>"},
end:"</div>"},b=JooseX.Culture.Factory.get().majorIdentifier();this.initialize=function(){if(window==top)if(location.pathname.match(/(de|en|it|es)\/index\.html$/)||location.pathname.match(/(de|en|it|es)$/)||location.pathname.match(/(de|en|it|es)\/$/)){var f=this.getUpdates();if(f&&f.length){f='<div class="updateBrowser">'+f.join("")+"</div>";f=d.begin+f+"<p>"+d.note[b]+"</p>"+d.end;$.cachedFind("body").prepend(f);$.cachedFind(".flashRow").css("top","532px");$("#updateIE a.qClose").live("click",function(){a.close()})}}};
this.close=function(){$.cachedFind("#updateIE").hide();$.cachedFind(".flashRow").css("top","470px")};this.getUpdates=function(){var f=[];if(s2.tuifly.controller.Browser.isFirefox()&&s2.tuifly.controller.Browser.isOlderThanFirefox(3.6)||s2.tuifly.controller.Browser.isIE6()||s2.tuifly.controller.Browser.isIE7()){f.push(this.getFirefoxUpdate());f.push(this.getChromeUpdate());if(s2.tuifly.controller.Browser.isOlderThanXP()||s2.tuifly.controller.Browser.isXP())f.push(this.getChromeFrameUpdate());else s2.tuifly.controller.Browser.isNewerThanXP()&&
f.push(this.getIEUpdate())}return f};this.getUpdate=function(f){if(!f.url[b])return"";return'<a href="'+f.url[b]+'" target="_blank"><img src="'+f.image+'" /></a>'};this.getFirefoxUpdate=function(){return this.getUpdate(c.firefox)};this.getIEUpdate=function(){return this.getUpdate(c.ie)};this.getChromeUpdate=function(){return this.getUpdate(c.chrome)};this.getChromeFrameUpdate=function(){return this.getUpdate(c.chromeframe)}});
s2.namespace("s2.tuifly.widget.newsletter",function(){this.initialize=function(){};this.showRegisterLayer=function(){var a=new s2.tuifly.util.Cookie,c=new s2.tuifly.util.Query,d=new Date;if(c.param("uid")){c=new Date(d.getTime()+31536E6);a.set("TUIflyNLLayer","true",c)}else if(!a.get("TUIflyNLLayer")){s2.tuifly.widget.dialog.standardLayer("/layer/nl.html",{dialogClass:"standardLayer",noDefaultButton:true,view:"note",margin:"0px",height:"384px",width:"525px",callback:function(){(new Date).getDay()==
"5"&&$("#main_layer").css("background","url(/layer/nl_bg_friday.jpg)");$("#newsletter_submit").click(function(){var b=$("#newsletter_input").val();document.location.href="/de/mein-TUIfly/newsletter.php?src=Newsletter_Layer_KW24&mail="+b})}});c=new Date(d.getTime()+2592E6);a.set("TUIflyNLLayer","true",c);if(typeof s!="undefined"){s.linkTrackVars="pageName,eVar34";s.pageName="NL_Layer";s.eVar34="NL_Layer";s.tl(null,"o","NL_Layer")}}}});
s2.namespace("s2.tuifly.widget",function(){this.tableEditor=function(a,c,d){var b=this;b.initialized=false;b.unsavedData=false;b.allRows=function(){return b.$table.find("tr.data")};b.renumberRows=function(){var f=1;b.allRows().each(function(){var g=$(this);$.each(b.fields,function(){g.find("#"+this.name).attr("name",this.name+f)});f++})};b.addRow=function(){var f=b.$table.find("#rowTemplate").clone(true).attr("id","").addClass("data"),g=arguments;$.each(b.fields,function(h){f.find("#"+this.name).val(g[h])});
f.appendTo(b.$table).show();b.renumberRows();b.initialized&&b.displaySaveMessage()};b.setInitialized=function(){b.initialized=true};b.displaySaveMessage=function(){$("#notSaved").html("bitte &Auml;nderungen speichern");b.unsavedData=true};b.validateUnsavedData=function(){if(!b.unsavedData)return true;return confirm("Ihre Änderungen werden dadurch verworfen?")?true:false};b.validate=function(f){b.allRows().removeClass("error");if(f){b.allRows().each(function(){var m=$(this),o=false;$.each(b.fields,
function(){if(m.find("#"+this.name).val()!=""){o=true;return false}});o||m.remove()});b.renumberRows()}var g=[],h=function(m){$.inArray(m,g)==-1&&g.push(m)};b.allRows().each(function(){var m=$(this),o=false;$.each(b.fields,function(){var q=m.find("#"+this.name).val();if(this.regex&&(f||q!="")&&!q.match(this.regex)){h(this.errorMessage);o=true}});b.uniqueFields.length>0&&b.allRows().each(function(){if(this!==m.get(0)){$compareRow=$(this);var q=false;$.each(b.uniqueFields,function(){if($compareRow.find("#"+
this.name).val()!=m.find("#"+this.name).val()){q=true;return false}});if(!q){b.uniqueErrorMessage&&h(b.uniqueErrorMessage);o=true;return false}}});o&&m.addClass("error")});g.length>0&&f&&alert(g.join("\n"));return g.length==0};b.fields=c;b.$table=$("#"+a);b.uniqueFields=$.grep(c,function(f){return f.unique});b.uniqueErrorMessage=d;b.$table.find("#rowTemplate").hide().find("input").change(function(){b.validate(false);b.displaySaveMessage()}).end().find("a.delete").click(function(f){$(this).closest("tr").fadeOut("fast",
function(){$(this).remove();b.renumberRows();b.displaySaveMessage()});f.preventDefault()});$("#breadcrumb a").click(function(){return b.validateUnsavedData(this)})}});
s2.namespace("s2.tuifly.widget.groupBooking",function(){this.initialize=function(){document.getElementById("groupBookingContact")&&$("input[id$='_TextBoxAgentId']").keyup(function(){$(this).val()&&$(".qAgentLoginElements").show()})};this.loadPersonalData=function(){s2.tuifly.widget.dialog.showAjaxLoadingOverlay();var a={agentId:$("input[id$='_TextBoxAgentId']").val(),password:$("input[id$='_TextBoxAgentPassword']").val()};jQuery.post("/GroupContactLoadPersonalData.aspx",a,function(c){s2.tuifly.widget.dialog.closeAjaxLoadingOverlay();
var d=false;if(c&&c.success){d=true;$("input[id$='_TextBoxAddressLine3']").val(c.addressLine3);$("select[id$='_DropDownListTitle']:first").val(c.title);$("input[id$='_TextBoxFirstName']").val(c.firstName);$("input[id$='_TextBoxLastName']").val(c.lastName);$("input[id$='_TextBoxAddressLine1']").val(c.addressLine1);$("input[id$='_TextBoxAddressLine2']").val(c.addressLine2);$("input[id$='_TextBoxPostalCode']").val(c.postalCode);$("input[id$='_TextBoxCity']").val(c.city);$("select[id$='_DropDownListCountry']").val(c.country);
$("input[id$='_TextBoxWorkPhone']").val(c.workPhone);$("input[id$='_TextBoxOtherPhone']").val(c.otherPhone);$("input[id$='_TextBoxFax']").val(c.fax);$("input[id$='_TextBoxEmailAddress']").val(c.email)}d||alert(s2.tuifly.util.culture.get("groupContactLoadPersonalDataError"))})};this.setExtraSurcharge=function(){var a={extraSurcharge:$("input[id$='_TextBoxExtraSurcharge']").val()};jQuery.post("/GroupPriceSurcharge.aspx",a,function(c){c&&$("input[id$='_TextBoxExtraSurcharge']").val(c.surcharge);s2.tuifly.helper.groupSelect.loadDetails()})}});
s2.namespace("s2.tuifly.widget.passwortVergessenLayer",function(){this.initialize=function(){if(document.getElementById("findPasswordIFrame")){s2.tuifly.widget.dialog.displayInline=true;$(".bookingButton").click(function(){if(!$("[id$='_TextBoxAgentUserName']").val()){alert(s2.tuifly.util.culture.get("missingUsername"));$("[id$='_TextBoxAgentUserName']").css("border","1px red solid")}})}};this.open=function(){var a=JooseX.Culture.Factory.get().identifier(),c=$("<div/>"),d=$("<div/>");c.addClass("content");
var b=$("<iframe/>");b.attr("src","/FindPasswordIFrame.aspx?culture="+a);b.attr("width","422");b.attr("height","158");b.attr("frameborder",0);b.attr("scrolling","no");c.html("<div id='iframeLoading' style='text-align:center;'><img src='/skyres/images/loadingDetails.gif' /></div>");c.append(b);d.append(c);a=$("#globalLoginFindPasswordAction").text()||"&nbsp;";s2.tuifly.widget.dialog.standardLayer(d,{height:"250px",view:"note",title:a,noDefaultButton:true,closeCallback:function(){},callback:function(){$(".ui-dialog-buttonpane").hide()}})};
this.close=function(){parent.s2.tuifly.widget.dialog.divLayerClose()}});
s2.namespace("s2.tuifly.widget.lastSearches",function(){var a=this,c=null;a.initialize=function(){if(document.getElementById("home")){$.cachedFind("#lastFlights .qClose").live("click",function(){var b=$(this).parents("[data-key]").data("key");a.removeEntry(b)});$.cachedFind("#lastFlights .qOffer").live("click",function(){var b=$(this).parents("[data-key]").data("key");a.deeplink(b)});var d=[];a.initStorage()!==null&&a.storage().all(function(b){if(b.length){var f=$.cachedFind("#lastFlights").find(".qTemplate").clone();
_.each(_.sortBy(b,function(g){var h=this.lastId==0||this.lastId>g.id;if(!this.lastId)this.lastId=g.id;return h},{lastId:0}),function(g){if(typeof Stations!="undefined"&&Stations[g.departureAirport]&&Stations[g.arrivalAirport]){var h=g.key.replace("lastSearches::","");f.find(".flight").removeClass("hidden");f.find(".flight").attr("data-key",h);f.find(".qOrigin").text(Stations[g.departureAirport].name);f.find(".qDestination").text(Stations[g.arrivalAirport].name);h=Date.parseExact(g.departureDate,"yyyy-MM-dd");
g=Date.parseExact(g.arrivalDate,"yyyy-MM-dd");h=h?h.toString("dd.MM.yyyy"):"";g=g?g.toString("dd.MM.yyyy"):"";f.find(".qDate").text(h+(g?" - "+g:""));f.find("div:first").addClass("qLastSearchEntry");d.push(f.html())}});$.cachedFind("#lastFlights .allFlights").append(d.join(""))}})}};a.initStorage=function(){if(c===null)try{return c=new Lawnchair({adaptor:window.Storage?"dom":"userdata",table:"lastSearches"})}catch(d){return null}return c};a.storage=function(){return c};a.store=function(d,b){d.direction=
d.direction||"RoundTrip";d.adultCount=d.adultCount||1;d.childCount=d.childCount||0;d.infantCount=d.infantCount||0;if(d.direction=="RoundTrip"&&d.departureDate&&!d.arrivalDate){var f=Date.parseExact(d.departureDate,"yyyy-MM-dd");d.arrivalDate=f.add(7).days().toString("yyyy-MM-dd")}if(d.direction=="OneWay")d.arrivalDate="";if(a.initStorage()===null)typeof b=="function"&&b();else a.storage().all(function(g){var h=g.length,m=null,o=null,q=null;_.each(g,function(u){if(m===null||m>u.id){m=u.id;q=u}if(o===
null||o<u.id)o=u.id});h>=3&&a.storage().remove(q);d.id=o+1;a.storage().save(d);typeof b=="function"&&b()})};a.clearStorage=function(){a.storage().nuke()};a.removeEntry=function(d){a.storage().remove(d);$.cachedFind("#lastFlights").find("div[data-key="+d+"]").fadeOut().removeClass("qLastSearchEntry");if($.cachedFind("#lastFlights .qLastSearchEntry").length==0){$.cachedFind("#lastFlights").hide();$.cachedFind("#NoLastFlights").show()}};a.deeplink=function(d){a.storage().get(d,function(b){if(b)s2.tuifly.helper.search.deeplink({direction:b.direction,
departureAirport:b.departureAirport,arrivalAirport:b.arrivalAirport,departureDateMonthYear:b.departureDate?b.departureDate.substr(0,7):"",departureDateDay:b.departureDate?b.departureDate.substr(8,2):"",arrivalDateMonthYear:b.arrivalDate?b.arrivalDate.substr(0,7):"",arrivalDateDay:b.arrivalDate?b.arrivalDate.substr(8,2):"",adultCount:b.adultCount,childCount:b.childCount,infantCount:b.infantCount})});return false}});
s2.namespace("s2.tuifly.widget.diashow",function(){var a=this,c=0,d,b;a.partnerWidth=0;var f;a.initialize=function(){$("div.qDiashowStart").length&&a.initDiashow({element:"div.qDiashowElement",clickHandler:window.s2.evalNamespace($("div.qDiashowElement").data("clickHandler")).diashowClickHandler})};a.initDiashow=function(h){a.diashowElement=h.element;a.partnerWidth=h.width||$(a.diashowElement).data("elementWidth");h.clickHandler=h.clickHandler||function(){};b=a.diashow;c=$(a.diashowElement).find("ul li").length;
f=setTimeout(function(){a.runLeft(1)},2E3);b().hover(a.stop,a.continueRun);$(".verticalScrollTeaser .leftScroll").hover(function(){a.resume();a.runRight(4)},a.continueRun);$(".verticalScrollTeaser .rightScroll").hover(function(){a.resume();a.runLeft(4)},a.continueRun);$(a.diashowElement+" li").live("click",function(m){h.clickHandler.apply(a,[this,m])})};a.continueRun=function(){if(!a.paused){a.isStopped=false;d=="right"?a.runRight(1):a.runLeft(1)}};a.pause=function(){a.paused=true;$(a.diashowElement).find("ul").addClass("paused")};
a.resume=function(){a.isStopped=false;a.paused=false;$(a.diashowElement).find("ul").removeClass("paused")};a.stop=function(){b().stop(true);a.isStopped=true};a.calcSpeed=function(h,m){m=m||1;var o=a.calcWidth();return 50/m*(h/o)*1E3};a.calcDistanceRight=function(){var h=b().css("left");h=parseInt(h,10);if(h<0)h*=-1;return a.calcWidth()-h};a.calcDistanceLeft=function(){var h=b().css("left");h=parseInt(h,10);if(h<0)h*=-1;return h};a.runLeft=function(h){if(!a.isStopped)if(!a.paused){clearTimeout(f);
var m=a.calcWidth();h=a.calcSpeed(a.calcDistanceRight(),h);a.stop();a.isStopped=false;b().animate({left:"-"+m+"px",queue:true},h,"linear",function(){setTimeout(function(){b().animate({left:"0px",queue:true},0,"linear",function(){setTimeout(function(){a.runLeft(1)},500)})},1E3)});d="left"}};a.runRight=function(h){if(!a.isStopped)if(!a.paused){clearTimeout(f);h=a.calcSpeed(a.calcDistanceLeft(),h);a.stop();a.isStopped=false;b().animate({left:"0px",queue:true},h,"linear");d="right"}};a.calcWidth=function(){return(c-
2)*a.partnerWidth};a.scrollToCarrier=function(h){h=$(".liste ul li").filter('[data-code="'+h.toUpperCase()+'"]').index();h>=0&&a.diashow().css("left",-1*h*a.partnerWidth+"px")};var g;a.diashow=function(){g||(g=$(a.diashowElement).find("ul"));return g}});
s2.namespace("s2.tuifly.widget.hanseMerkur",function(){var a=this,c=null;this.initialize=function(){if($.cachedFind("body#payment").length){c=$.cachedFind("#insuranceBox input[type='radio']");$("#insuranceBox input[type='radio']").live("click",function(){a.updateBookingOnServer()});c.filter(":checked").parents("[data-price]").data("price")}};this.updateBookingOnServer=function(){var d=c.filter(":checked");this.disableScreen();$.ajax("/NewskiesEndpointHanseMerkur.aspx",{type:"post",cache:false,data:{product:d.val()||
""},error:function(){c.filter("[value='noInsurance']").attr("checked",true);s2.tuifly.model.Booking.SSRChangeEvent.trigger();s2.tuifly.widget.dialog.closeAjaxLoadingOverlay();a.showError(data.Message)},success:function(b){s2.tuifly.widget.dialog.closeAjaxLoadingOverlay();if(b.Success)a.updatePayment();else{c.filter("[value='noInsurance']").attr("checked",true);s2.tuifly.model.Booking.SSRChangeEvent.trigger();a.showError(b.Message)}$("div#paymentMethodSelection div.paymentMethod").find(":radio:checked").click();
$("div#paymentMethodSelection div.paymentMethod").find(":radio:checked").click()}})};this.showError=function(){var d=s2.tuifly.util.culture.get("ajaxBookingUpdateError")||"error";alert(d)};this.updatePayment=function(){var d=$.cachedFind("#paymentMethodSelection input[type='radio']").not("[value$=':AA']").filter(":checked");d.length&&d.trigger("click")};this.disableScreen=function(){s2.tuifly.widget.dialog.showAjaxLoadingOverlay()}});
s2.namespace("s2.tuifly.widget.mainStage",function(){var a=this,c=0,d=null,b=null,f=0,g=null,h=true;a.initialize=function(){h=Modernizr.csstransitions;if(document.getElementById("home")||document.getElementById("homeHLXAgencyMaster")){var m=$("#homeHLXAgencyMaster").length,o=JooseX.Culture.Factory.get().identifier();m=m===1?"/promo/html/stageAgency":"/promo/html/stage";m+="_"+o.substring(0,2)+".html?rand="+Math.random();$.ajax(m,{type:"get",dataType:"text",success:function(q){$("#ajaxStage").append(q);
d=$("#ajaxStage .stageTeaser");b=$("#ajaxStage li");if(f=d.length-1){a.scroll(c,true);$("body").trigger("mainStageComplete")}else{b.parent().hide();a.scroll(c,false)}},error:function(){$("#ajaxStage").hide()}});$("#ajaxStage li").live("mouseover",function(){var q=$(this).index();q!=c&&a.scroll(q,false);clearTimeout(g)});$("#ajaxStage li").live("mouseout",function(){g=setTimeout(function(){a.scroll(null,true)},$(d[c]).data("period")*1E3)})}};a.scroll=function(m,o){h?d.eq(c).removeClass("active"):d.eq(c).animate({opacity:0},
1E3,function(){$(this).removeClass("active")});b.eq(c).removeClass("active");c=m!=null?m:c<f?c+1:0;h?d.eq(c).addClass("active"):d.eq(c).animate({opacity:1},1E3,function(){$(this).addClass("active")});b.eq(c).addClass("active");if(o)g=setTimeout(function(){a.scroll(null,true)},$(d[c]).data("period")*1E3)}});
s2.namespace("s2.tuifly.widget.toggleBookingDetails",function(){var a=this;a.initialize=function(){a.showBookingDetails();a.hideBookingDetails()};a.showBookingDetails=function(){$("#showBookingDetails").live("click",function(){$("#hideBookingDetails").removeClass("hidden");$("#flightPriceDisplay").removeClass("hidden");$("#paymentDisplayBox").removeClass("hidden");$("#showBookingDetails").addClass("hidden")})};a.hideBookingDetails=function(){$("#hideBookingDetails").live("click",function(){$("#showBookingDetails").removeClass("hidden");
$("#hideBookingDetails").addClass("hidden");$("#flightPriceDisplay").addClass("hidden");$("#paymentDisplayBox").addClass("hidden")})}});
s2.namespace("s2.tuifly.flash.airportMap",function(){var a=this;a.flashLoaded=false;var c=null,d=null;a.initialize=function(){var f=$("#flashContent");if(f.length){s2.Logger.debug("Have a flash map "+f.id);if(swfobject.hasFlashPlayerVersion("9.0.28")){d=$("#shimStage");if(d.length){d.css("height",$(document).height()+"px");f=~~(($(window).width()-972)/2)+15;if(f<0)f=0;c=$("#flashContent");c.css("left",f+"px");$("#flashIcon").click(function(){a.show()})}}else $("#flashIcon").hide()}};var b;a.sortedStations=
function(){if(b)return b;var f=s2.tuifly.model.flightSearch.StationManager.getInstance(),g=[];Joose.O.each(f.stationByIataCode,function(h){g.push(h)});b=f.sortStations(g);new s2.tuifly.model.flightSearch.Station({iataCode:"ZRH",longName:"Zürich",validDest:true,dests:["CGN"],country:"AT"});return b};a.getStations=function(){s2.Logger.debug("Flash: getStations");var f=a.sortedStations(),g={};Joose.A.each(f,function(h){g[h.getIataCode()]=h.asNavitairStation()});f=[];for(i in g)f.push(g[i]);return f};
a.getAirportCountryMapping=function(){s2.Logger.debug("Flash: getAirportCountryMapping");var f=[],g=a.sortedStations();Joose.A.each(g,function(h){f.push({airportCode:h.getIataCode(),countryCode:h.getCountry()})});return f};a.getCurrentStations=function(){s2.Logger.debug("Flash: getCurrentStations");s2.tuifly.controller.FlightSearch.getInstance();return[]};a.fireOriginChanged=function(){s2.Logger.debug("notify flash origin");$("input[name='scorigin']").val("CS-Home");return true};a.fireDestChanged=
function(){s2.Logger.debug("notify flash dest");$("input[name='scorigin']").val("CS-Home");return true};a.clearStations=function(){s2.tuifly.controller.FlightSearch.getInstance().clear()};a.eventOriginChanged=function(f,g){s2.Logger.debug("Flash fires origin changed "+f);if(f!=null&&f!=""){var h=$("#availabilitySearchInputOriginInput"),m=s2.tuifly.controller.FlightSearch.getInstance();if(m.getOrigCode()!=f){m.closeAutocomplete();h.val(f);h.change()}g&&$("input[name='scorigin']").val("FLASH_MAP")}return true};
a.eventDestChanged=function(f,g,h){s2.Logger.debug("Flash fires dest changed "+f);if(f!=null&&f!=""){var m=$("#availabilitySearchInputDestinationInput"),o=s2.tuifly.controller.FlightSearch.getInstance();if(o.getDestCode()!=f){o.closeAutocomplete();m.val(f);m.change();s2.tuifly.model.flightSearch.DestChangeEvent.trigger(f,g)}h&&$("input[name='scorigin']").val("FLASH_MAP")}return true};a.eventPOIChanged=function(f){f=f.toUpperCase();$("div.selectDestination h1").hide();$("div.shortInfoFlugziele").hide();
if($("#detail"+f).length){$("#detail"+f).show();$("#detail"+f+" h1").show()}else{$("#detailDefault").show();$("#detailDefault h1").show()}};a.flashMovie=function(f){if(window[f])return window[f];if(document[f])return document[f];s2.Logger.debug("Cant find flash movie");return null};a.show=function(){d.show();d.click(function(){a.closeFlashMap()});c.show();a.flashMovie("flashMap");var f="standard",g=(new s2.tuifly.util.Query).param("splash");if(g&&g.length>0)f=g;a.embed(f,955,$(window).height()-200,
{version:"113832"})};a.showZZFTeaser=function(){var f=a.flashMovie("flashMap");f!=null&&f.showLayerZZF&&f.showLayerZZF(true)};a.hideZZFTeaser=function(){var f=a.flashMovie("flashMap");f!=null&&f.showLayerZZF&&f.showLayerZZF(false)};a.closeFlashMap=function(){c.hide();c.html('<div id="flashMap"></div>');d.hide();d.unbind("click")};a.embedAlternativeDestinations=function(f,g){var h="";if(jQuery.browser.msie6)h="?rand="+Math.random();var m={};m.configFile="/de/map_config.xml";m.destination=f;m.alternatives=
g;var o={};o.allowscriptaccess="always";o.allownetworking="all";o.wmode="transparent";var q={};q.id="altDest";q.name="altDest";if(swfobject.hasFlashPlayerVersion("9.0.28")){$(".flashContainer").removeClass("hidden");swfobject.embedSWF("/skyres/flash/map/alt_dest_map.swf"+h,"altDestMap","191","105","9.0.28","/skyres/flash/expressInstall.swf",m,o,q)}else $("#altDestImage").removeClass("hidden")};a.embed=function(f,g,h,m){s2.tuifly.model.flightSearch.InitializedEvent.observeOnce(function(){var o={};
m||(m={});var q=(new s2.tuifly.util.Query).param("country");if(q&&q.length>0)o.countryZoom=q;var u=JooseX.Culture.Factory.get().majorIdentifier(),w=s2.tuifly.util.Skin.get().identifier();q=m.version?"?v="+m.version:"";if(jQuery.browser.msie6)q="?r="+(Math.random()+"").substr(2,7);w="/promo/xml/map_"+w+"_"+u+"_data.xml"+q;s2.Logger.debug("LanguageFile for Flash: "+w);o.configFile="/de/map_config.xml"+q;o.airportLinksFile="/"+u+"/flashmap_config.xml"+q;o.languageFile=w;o.mode=f;o.trackingAccount=s2.tuifly.util.Environment.get().OmnitureAccount();
o.agentId=(new s2.tuifly.util.Cookie).get("user");o.deepLingking=(new s2.tuifly.util.Query).param("deepLinking");o.countryZoom=(new s2.tuifly.util.Query).param("countryZoom");o.continentZoom=(new s2.tuifly.util.Query).param("continentZoom");s2.Logger.debug("trackingAccount for Flash: "+o.trackingAccount);u={};u.allowscriptaccess="always";u.allownetworking="all";u.wmode="transparent";w=736;if(f=="basic")w=711;g=g||w;h=h||401;if(h<350)h=350;w={};w.id="flashMap";w.name="flashMap";swfobject.hasFlashPlayerVersion("9.0.28")?
swfobject.embedSWF("/skyres/flash/map/map.swf"+q,"flashMap",g,h,"9.0.28","/skyres/flash/expressInstall.swf",o,u,w):$("#flashMap .noFlash").show()});$(document).ready(function(){s2.tuifly.model.flightSearch.Station.initializeFromAjax()})};a.showZZFInfo=function(){};a.showMap=function(){var f="mapVisible",g=JooseX.Culture.Factory.get().majorIdentifier();f=f+"-"+g;$("body").addClass(f);s2.tuifly.widget.collapsibleNavigation.openIfClosed($("#flugsuche h2.toggleNavigationHeadline"))};a.hideMap=function(){var f=
"mapVisible",g=JooseX.Culture.Factory.get().majorIdentifier();f=f+"-"+g;$("body").removeClass(f)};a.setDestination=function(){return(new s2.tuifly.util.Query).param("destination")};a.setDeparture=function(){var f=(new s2.tuifly.util.Query).param("departure");return f?f:departureFromCookie};window.setDeepLinkingDestination=function(){return(new s2.tuifly.util.Query).param("destination")};window.setDeepLinkingDeparture=function(){return(new s2.tuifly.util.Query).param("departure")};jQuery.each(["getStations",
"eventOriginChanged","eventDestChanged","getCurrentStations","eventPOIChanged","clearStations","showMap","hideMap","closeFlashMap","showZZFInfo"],function(){window["s2Flash_"+this]=a[this]});window.setDeparture=a.setDeparture;window.setDestination=a.setDestination;window.getStations=a.getStations;window.getAirportCountryMapping=a.getAirportCountryMapping});
s2.namespace("s2.tuifly.flash.priceView",function(){var a=this;a.embed=function(c){if(c.date=="DateFromFlightSelection")dataCollection=a.getDateFromFlightSelection();else if(c.date=="DateFromQuery")dataCollection=a.getDateFromQuery(c.view);for(var d in c)c[d]=="-1"&&delete c[d];d={languageXML:"/farefinderflash/languageinformation",pricesXML:"/farefinderflash/farefinderdata",flashUrl:"/farefinder/flash/flashmovie/Main.swf",instUrl:"/farefinder/flash/swfobject/expressInstall.swf",countPersons:1,countKidsUnder2:1,
countKidsUnder7:1,countKidsUnder12:1,origin:"CGN",destination:"PMI",startDay:dataCollection.startDay,endDay:dataCollection.endDay,startMonth:dataCollection.month,endMonth:dataCollection.endMonth,startYear:dataCollection.year,endYear:dataCollection.endYear,culture:JooseX.Culture.Factory.get().identifier(),skin:s2.tuifly.util.Skin.get().identifier(),trackingAccount:s2.tuifly.util.Environment.get().OmnitureAccount()};d=jQuery.extend(d,c);c={};c.allowscriptaccess="always";c.allownetworking="all";c.wmode=
"transparent";var b={};b.id="content";window.FlashOrigin=d.origin;window.FlashDestination=d.destination;swfobject.embedSWF(d.flashUrl,"content","770","407","9.0.28",d.instUrl,d,c,b)};a.getDateFromQuery=function(){var c=new s2.tuifly.util.Query,d,b,f,g={};if(c.param("departureDate")&&c.param("arrivalDate")){b=c.param("departureDate");var h=c.param("arrivalDate");d=b.substr(0,4);c=b.substr(4,2);g.startDay=b.substr(6,2);f=h.substr(0,4);b=h.substr(4,2);g.endDay=h.substr(6,2)}else{c=parseInt(c.param("MonthToQuery"),
10);if(c>0){h=Date.parseExact(c+"01","yyyyMMdd");c=Date.today();if(h.compareTo(c)<0)h=c}else h=Date.today();c=h.getMonth()+1;d=h.getFullYear();b=h.getMonth()+1;f=h.getFullYear()}g.month=c;g.year=d;g.endMonth=b;g.endYear=f;return g};a.getDateFromFlightSelection=function(){var c=$(".flightSelection input[name$='$market1']:checked").val(),d=$(".flightSelection input[name$='$market2']:checked").val();c=c.match(/\d+\/\d+\/\d+/);var b,f;if(d){f=d.match(/\d+\/\d+\/\d+/);d=f[0].substr(3,2);b=f[0].substr(0,
2);f=f[0].substr(6,4)}else{d=-1;b=c[0].substr(0,2);f=c[0].substr(6,4)}var g={};g.startDay=c[0].substr(3,2);g.month=c[0].substr(0,2);g.year=c[0].substr(6,4);g.endDay=d;g.endMonth=b;g.endYear=f;return g}});
s2.namespace("s2.tuifly.flash.myTUIfly",function(){var a=this;a.initialize=function(){var c=a.flashMovie("flashMovie");c&&s2.Logger.debug("Have a flash movie "+c.id)};a.flashMovie=function(c){if(window[c])return window[c];if(document[c])return document[c];s2.Logger.debug("Cant find flash movie");return null};a.embed=function(c,d,b){var f={},g="/"+JooseX.Culture.Factory.get().majorIdentifier();f.configFile=g+"/mytuifly_config.xml";f.mode=c;c={};c.allowscriptaccess="always";c.allownetworking="all";
c.wmode="transparent";d=d||940;b=b||355;g={};g.id="flashMovie";g.name="flashMovie";$("#flashMovie")&&$("#flashMovie").html().match(/\.swf/)||(swfobject.hasFlashPlayerVersion("9.0.28")?swfobject.embedSWF("/skyres/flash/mytuifly/movie.swf","flashMovie",d,b,"9.0.28","/skyres/flash/expressInstall.swf",f,c,g):$("#flashMovie .noFlash").show())}});
s2.namespace("s2.tuifly.flash.win",function(){var a=this;a.initialize=function(){var c=a.flashMovie("gewinnspiel");c&&s2.Logger.debug("Have a flash movie "+c.id);this.embed()};a.flashMovie=function(c){if(window[c])return window[c];if(document[c])return document[c];s2.Logger.debug("Cant find flash movie");return null};a.embed=function(c,d,b){var f={};f.configFile="/php/viral/config_xml.php"+location.search;f.mode=c;f.languageIdentifier=JooseX.Culture.Factory.get().majorIdentifier();c={};c.allowscriptaccess=
"always";c.allownetworking="all";c.wmode="transparent";d=d||940;b=b||355;var g={};g.id="gewinnspiel";g.name="gewinnspiel";swfobject.hasFlashPlayerVersion("9.0.28")?swfobject.embedSWF("/skyres/flash/win/country.swf","gewinnspiel",d,b,"9.0.28","/skyres/flash/expressInstall.swf",f,c,g):$("#gewinnspiel .noFlash").show()}});
s2.namespace("s2.tuifly.flash.historyView",function(){this.initialize=function(){};this.embedFlash=function(a,c,d,b){var f,g;if((new s2.tuifly.util.Query).param("MonthToQuery")>0){f="priceTrend1Month";g=$("#button1Monat")}else{f="priceTrend6Months";g=$("#button6Monate")}if(b)f=b;s2.tuifly.flash.priceView.embed({origin:a,destination:c,date:d,view:f});try{g.trigger("click")}catch(h){s2.Logger.debug(h)}}});
s2.namespace("s2.tuifly.flash.calendarView",function(){this.initialize=function(){};this.embedFlash=function(a,c,d,b){s2.tuifly.flash.priceView.embed({origin:a,destination:c,date:d,view:b})}});
s2.namespace("s2.tuifly.helper.scrollToElement",function(){var a=this;a.initialize=function(){jQuery.browser.msie||$(document).ready(function(){var c=(new String(window.location.hash)).split("#")[1],d;if(c)d=$("#"+c);d&&d.length>0&&a.start(d)})};a.start=function(c){var d;d=c.hasClass("toggleBox")?c.parent():c;c.get(0).showStub&&c.get(0).showStub();c.focus();$(document).scrollTo(c);c.removeClass("closed");d.closest(".toggleBox").removeClass("closed")}});
s2.namespace("s2.tuifly.helper.contact",function(){this.initialize=function(){this.hideSelectBox();this.moveInlineRegisterSymbol();this.initRegisterOrLoginSelectionHandler()};this.showMemberLoginInputArea=function(){$("#memberLogin").removeClass("hidden")};this.hideMemberLoginInputArea=function(){$("#memberLogin").addClass("hidden")};this.initRegisterOrLoginSelectionHandler=function(){$("input[name='registerlogin']").live("click",function(){$("#RURegisteredBeforeLink:checked").length?$("#memberLogin").show():
$("#memberLogin").hide();if($("#RURegisterNow:checked").length){$("#ShowOnRegisterIRC").show();$(".qRegisterNowCheckboxDiv input").attr("checked","checked")}else{$("#ShowOnRegisterIRC").hide();$(".qRegisterNowCheckboxDiv input").attr("checked","")}})};this.hideSelectBox=function(){if(jQuery.browser.msie&&jQuery.browser.version.substr(0,1)=="6")if(document.getElementById("MLMain")){$("#MLMain a.helpIcon").mouseover(function(){$("#passengerInputBox select").css("visibility","hidden");$("fieldset.contactinput select").css("visibility",
"hidden")});$("#MLMain a.helpIcon").mouseout(function(){$("#passengerInputBox select").css("visibility","");$("fieldset.contactinput select").css("visibility","")})}};this.moveInlineRegisterSymbol=function(){$("#inlineRegisterCheckboxNew").html($("#inlineRegisterCheckbox").html())}});
s2.namespace("s2.tuifly.helper.search",function(){var a=this,c={direction:{},departureAirport:{},arrivalAirport:{},departureDate:{},arrivalDate:{},adultCount:{},childCount:{},infantCount:{}},d=false;this.initialize=function(){this.setClickHandlerGroupSelection();setTimeout(function(){var b=(new s2.tuifly.util.Query).param("adults");if(b){var f=$("#flugsuche select.selectAdult");f.val(b);f.trigger("change")}},0);$("#flugsuche").live("mousedown",function(){if(!d){d=true;a.saveInitSearchParams()}});
if(document.getElementById("quickGroupSearch")){this.focusQuickGroupSearch();this.switchQuickGroupOnewayReturn()}a.initCalIcon();a.saveSearchFields()};a.initCalIcon=function(){$("#flugsuche .calIcon").live("click",function(){$.cachedFind("#datePickerFlight").trigger("focus")})};a.setClickHandlerGroupSelection=function(){$("#flugsuche li[id$='_ADT_input_+10']").live("click",function(){$.cachedFind("#flugsuche li[id$='_ADT_input_10']").trigger("click")});$("#flugsuche li[id$='_CHD_input_+10']").live("click",
function(){$.cachedFind("#flugsuche li[id$='_CHD_input_10']").trigger("click")})};a.saveInitSearchParams=function(){var b=a.getSearchParams();c.direction.oldValue=b.direction;c.departureAirport.oldValue=b.departureAirport;c.arrivalAirport.oldValue=b.arrivalAirport;c.departureDate.oldValue=b.departureDate;c.arrivalDate.oldValue=b.arrivalDate;c.adultCount.oldValue=b.adultCount;c.childCount.oldValue=b.childCount;c.infantCount.oldValue=b.infantCount};a.getInitialSearchParams=function(){var b={};b.direction=
c.direction.oldValue;b.departureAirport=c.departureAirport.oldValue;b.arrivalAirport=c.arrivalAirport.oldValue;b.departureDate=c.departureDate.oldValue;b.arrivalDate=c.arrivalDate.oldValue;b.adultCount=c.adultCount.oldValue;b.childCount=c.childCount.oldValue;b.infantCount=c.infantCount.oldValue;return b};a.saveSubmitSearchParams=function(){var b=a.getSearchParams();c.direction.newValue=b.direction;c.departureAirport.newValue=b.departureAirport;c.arrivalAirport.newValue=b.arrivalAirport;c.departureDate.newValue=
b.departureDate;c.arrivalDate.newValue=b.arrivalDate;c.adultCount.newValue=b.adultCount;c.childCount.newValue=b.childCount;c.infantCount.newValue=b.infantCount;s2.tuifly.widget.lastSearches.store({direction:b.direction,departureAirport:b.departureAirport,arrivalAirport:b.arrivalAirport,departureDate:b.departureDate,arrivalDate:b.arrivalDate,adultCount:b.adultCount,childCount:b.childCount,infantCount:b.infantCount})};a.setCSChangesTracking=function(){a.saveSubmitSearchParams();if(typeof s=="undefined"||
typeof s=="string")return true;if(c.departureAirport.oldValue.length==0||c.arrivalAirport.oldValue.length==0)return true;var b=[];c.direction.oldValue!=c.direction.newValue&&b.push("Streckenoption");c.departureAirport.oldValue.length==3&&c.departureAirport.oldValue!=c.departureAirport.newValue&&b.push("HUB_Start");c.arrivalAirport.oldValue.length==3&&c.arrivalAirport.oldValue!=c.arrivalAirport.newValue&&b.push("HUB_Ziel");if(c.departureDate.oldValue!=c.departureDate.newValue||c.arrivalDate.oldValue!=
c.arrivalDate.newValue)b.push("Datum");if(c.adultCount.oldValue!=c.adultCount.newValue||c.childCount.oldValue!=c.childCount.newValue||c.infantCount.oldValue!=c.infantCount.newValue)b.push("PAX");if(b.length>0){s.linkTrackVars="events,eVar8";s.eVar8=s.pageName;if(location.href.match(/select\.aspx/i)){s.linkTrackVars+=",prop37";s.prop37=b.join(",")}else{s.linkTrackVars+=",prop38";s.prop38=b.join(",")}s.linkTrackEvents="event71";s.events="event71";s.tl(document.getElementById("flugsuche"),"o","CS-Select")}return true};
a.saveSearchFields=function(){a.fields={};a.fields.$directions=$.cachedFind("#travelOptions input");a.fields.$direction=$("#travelOptions input:checked");a.fields.$departureAirport=$.cachedFind("[id$=_DropDownListMarketOrigin1]");a.fields.$arrivalAirport=$.cachedFind("[id$=_DropDownListMarketDestination1]");a.fields.$departureDay=$.cachedFind("[id$=_DropDownListMarketDay1]");a.fields.$departureMonthYear=$.cachedFind("[id$=_DropDownListMarketMonth1]");a.fields.$arrivalDay=$.cachedFind("[id$=_DropDownListMarketDay2]");
a.fields.$arrivalMonthYear=$.cachedFind("[id$=_DropDownListMarketMonth2]");a.fields.$adultCount=$.cachedFind("[id$=_DropDownListNewPassengerType_ADT]");a.fields.$childCount=$.cachedFind("[id$=_DropDownListPassengerType_CHD]");a.fields.$infantCount=$.cachedFind("[id$=_DropDownListPassengerType_INFANT]")};a.getSearchParams=function(){return{direction:a.fields.$directions.closest(":checked").val(),departureAirport:a.fields.$departureAirport.val(),arrivalAirport:a.fields.$arrivalAirport.val(),departureDate:a.fields.$departureMonthYear.val()+
"-"+a.fields.$departureDay.val(),departureDay:a.fields.$departureDay.val(),departureMonthYear:a.fields.$departureMonthYear.val(),arrivalDate:a.fields.$arrivalMonthYear.val()+"-"+a.fields.$arrivalDay.val(),arrivalDay:a.fields.$arrivalDay.val(),arrivalMonthYear:a.fields.$arrivalMonthYear.val(),adultCount:parseInt(a.fields.$adultCount.val(),10),childCount:parseInt(a.fields.$childCount.val(),10),infantCount:parseInt(a.fields.$infantCount.val(),10)}};a.getSearchParam=function(b){return a.getSearchParams()[b]};
this.changeOrigin=function(b){s2.tuifly.util.tracking.fire({events:[],values:{prop25:"Alt-Start",eVar25:"Alt-Start"},name:"alternativ-Start"});a.saveInitSearchParams();var f=$("[id$=_DropDownListMarketOrigin1]");f.val(b);f.change();setTimeout("s2.tuifly.helper.search.submitSearch()",100)};this.changeDestination=function(b){s2.tuifly.util.tracking.fire({events:[],values:{prop25:"Alt-Ziel",eVar25:"Alt-Ziel"},name:"alternativ-Ziel"});a.saveInitSearchParams();var f=$("[id$=_DropDownListMarketDestination1]");
f.val(b);f.change();setTimeout("s2.tuifly.helper.search.submitSearch()",100)};this.submitSearch=function(){s2.tuifly.widget.submittableForm.clickButton($("#flugsucheButton a"))};this.adjustDate=function(b,f){var g=b==1?s2.tuifly.widget.datepickerForSelect.getFlight():s2.tuifly.widget.datepickerForSelect.getReturnFlight(),h=Date.parse(g.val());if(s2.tuifly.widget.datepickerForSelect.dateOK(h)){var m=JooseX.Culture.Factory.get();h.addDays(f);var o=Date.today();if(h.getTime()>=o.getTime()){g.val(m.formatDate(h));
g.change();AFRICA_NOTE_DISPLAYED=true;a.saveInitSearchParams();this.submitSearch()}}};this.checkAirberlinRedirection=function(){var b=document.SkySales,f=$(".flightSelection :radio:checked"),g=f.eq(0).val().match(/\d\d\/\d\d\/\d\d\d\d/g)[0];f=f.length==2?f.eq(1).val().match(/\d\d\/\d\d\/\d\d\d\d/g)[0]:null;var h=b[applicationJavaScriptHtmlId+"_DropDownListMarketOrigin1"].value,m=b[applicationJavaScriptHtmlId+"_DropDownListMarketDestination1"].value;return!airberlinAvailable[h+m]||!redirectToAirberlin("http://www.airberlin.com/site/abvakanz_c.php",
affiliateConfirmMessages.AB,new Date(g.substring(6),g.substring(0,2)-1,g.substring(3,5)),f!=null?new Date(f.substring(6),f.substring(0,2)-1,f.substring(3,5)):null,h,m,parseInt(b[applicationJavaScriptHtmlId+"_DropDownListPassengerType_ADT"].value)+parseInt(b[applicationJavaScriptHtmlId+"_DropDownListPassengerType_CHD"].value)+parseInt(b[applicationJavaScriptHtmlId+"_DropDownListPassengerType_CHDD"].value)+parseInt(b[applicationJavaScriptHtmlId+"_DropDownListPassengerType_INFANT"].value))};this.clickDisplayField=
function(b){$(b).parent().find("input.textAutoComplete").trigger("focus");$(b).addClass("hidden")};this.validateGroupSearch=function(){if(!this.validateGroupRoute())return false;var b=$("#"+applicationJavaScriptHtmlId+"_DropdownlistOptServiceCharge");if(b.length==0)return true;if(b.val()=="0")return true;if(this.getSearchParams().adultCount+this.getSearchParams().childCount<10)return true;s2.tuifly.widget.dialog.alertNotice(s2.tuifly.util.culture.get("groupNoServiceCharge"),{okCallback:function(){var f=
$("#"+applicationJavaScriptHtmlId+"_DropdownlistOptServiceCharge option:first").attr("selected",true).text();$("#"+applicationJavaScriptHtmlId+"_DropdownlistOptServiceCharge_input").val(f)}});return false};this.groupRoutes={};this.validateGroupRoute=function(){var b=parseInt($("#"+applicationJavaScriptHtmlId+"_DropDownListPassengerType_ADT").val(),10),f=parseInt($("#"+applicationJavaScriptHtmlId+"_DropDownListPassengerType_CHD").val(),10);if(b+f<=9)return true;b=$("#"+applicationJavaScriptHtmlId+
"_DropDownListMarketOrigin1").val();f=$("#"+applicationJavaScriptHtmlId+"_DropDownListMarketDestination1").val();var g=$("#"+applicationJavaScriptHtmlId+"_DropDownListMarketMonth1").val()+"-"+$("#"+applicationJavaScriptHtmlId+"_DropDownListMarketDay1").val(),h=g;if($("#"+applicationJavaScriptHtmlId+"_RoundTrip").is(":checked"))h=$("#"+applicationJavaScriptHtmlId+"_DropDownListMarketMonth2").val()+"-"+$("#"+applicationJavaScriptHtmlId+"_DropDownListMarketDay2").val();return this.validateGroupRouteInternal(b,
f,g,h)};this.focusQuickGroupSearch=function(){Modernizr.input.placeholder||$("#quickGroupSearch input").placeholder()};this.validateQuickGroupRoute=function(){Modernizr.input.placeholder||$("#quickGroupSearch input.placeholder").val("");var b=parseInt($("input[id$='_TextBoxPaxCount_ADT']").val(),10);if(isNaN(b))b=0;var f=parseInt($("input[id$='_TextBoxPaxCount_CHD']").val(),10);if(isNaN(f))f=0;if(b+f<=9){alert(s2.tuifly.util.culture.get("groupTooSmall"));$("#quickGroupSearch input").placeholder();
return false}b=$("input[id$='_TextBoxOrigin']").val().toUpperCase();f=$("input[id$='_TextBoxDestination']").val().toUpperCase();var g=this.createValidDateValue($("input[id$='_TextBoxDeparture']").val());g=Date.parse(g);if(g==null){s2.tuifly.widget.dialog.confirmNotice(s2.tuifly.util.culture.get("invalidOutboundDate"));return false}var h=new Date(g.getTime());if($("input[id$='_RoundTrip']").is(":checked")){var m=$("input[id$='_TextBoxReturn']").val();if(m.match(/^\d{1,3}$/))h.setDate(h.getDate()+parseInt(m,
10));else{m=this.createValidDateValue($("input[id$='_TextBoxReturn']").val());h=Date.parse(m);if(h==null){s2.tuifly.widget.dialog.confirmNotice(s2.tuifly.util.culture.get("invalidInboundDate"));return false}}}return this.validateGroupRouteInternal(b,f,g.toString("yyyy-MM-dd"),h.toString("yyyy-MM-dd"))};this.createValidDateValue=function(b){if(b.match(/^\d{2}\d{2}(\d{2}|\d{4})?$/i)){var f=b.substr(0,2),g=b.substr(2,2);b=b.substr(4);b=f+"."+g+(!b?"":"."+b)}return b};this.validateGroupRouteInternal=
function(b,f,g,h){var m,o=this.groupRoutes[b];if(o==undefined)o=this.groupRoutes[f];if(o!=undefined)for(var q=o.length,u=0;u<q;++u){var w=o[u];if(w.destination==f||w.destination==b){m=w;if(w.from<=g&&w.till>=h)return true;break}}o=this.groupRoutes["*"];if(o!=undefined){w=o[0];if(w.from<=g&&w.till>=h)return true}var A;if(m==undefined)A=s2.tuifly.util.culture.get("noGroupRoute");else if(m.from>g){A=s2.tuifly.util.culture.get("noGroupRouteFrom");b=Date.parseExact(m.from,"yyyy-MM-dd");A=A.replace(/\{0\}/,
b.toString(Date.CultureInfo.formatPatterns.shortDate))}else if(m.till<h){A=s2.tuifly.util.culture.get("noGroupRouteTill");b=Date.parseExact(m.till,"yyyy-MM-dd");A=A.replace(/\{0\}/,b.toString(Date.CultureInfo.formatPatterns.shortDate))}s2.tuifly.widget.dialog.confirmNotice(A);return false};a.switchQuickGroupOnewayReturn=function(){var b=$("input[id$='_RoundTrip']").is(":checked");$("div.qReturnOnly,span.qReturnOnly").toggleClass("hidden",!b)};a.clearQuickForm=function(){$("#quickGroupSearch input:text").val("");
Modernizr.input.placeholder||$("#quickGroupSearch input").placeholder()};a.deeplink=function(b){b="/search.aspx?ControlGroupSearchView$AvailabilitySearchInputSearchView$RadioButtonMarketStructure="+b.direction+"&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListMarketOrigin1="+b.departureAirport+"&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListMarketDestination1="+b.arrivalAirport+"&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListMarketOrigin2="+
b.arrivalAirport+"&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListMarketDestination2="+b.departureAirport+"&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListMarketMonth1="+b.departureDateMonthYear+"&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListMarketDay1="+b.departureDateDay+"&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListMarketMonth2="+b.arrivalDateMonthYear+"&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListMarketDay2="+
b.arrivalDateDay+"&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListPassengerType_ADT="+b.adultCount+"&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListPassengerType_CHD="+b.childCount+"&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListPassengerType_CHDD=0&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListPassengerType_INFANT="+b.infantCount+"&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListMarketDateRange1=2|2&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListMarketDateRange2=2|2&__EVENTTARGET=ControlGroupSearchView$AvailabilitySearchInputSearchView$LinkButtonNewSearch&expanded=1&culture="+
JooseX.Culture.Factory.get().identifier();location.href=b};a.validateRouteRestrictions=function(){var b=a.getSearchParam("departureAirport"),f=a.getSearchParam("arrivalAirport");s2.tuifly.model.flightSearch.StationManager.getInstance().findStation(b);var g=a.getSearchParam("direction")==="OneWay";b=s2.tuifly.helper.restrictions.validateSearch(b,f,g);if(b!=null){var h=s2.tuifly.util.culture.get(b.error);h!=null&&jQuery.each(b,function(m,o){h=h.replace(RegExp("{"+m+"}"),o)});s2.tuifly.widget.dialog.alertNotice(h);
return false}}});
s2.namespace("s2.tuifly.helper.payment",function(){this.initialize=function(){$(".voucherInput .error").length>0&&$("[id$='LinkButtonSubmit']").hide();if(document.getElementById("voucherInput")){var c=$("#voucherInput :text");c.length>0&&c.eq(0).val().length>0&&$("#VoucherMain :checkbox").click()}if(document.getElementById("paymentAjaxSection")){c=$(":checkbox[id$='_ShowCustomerCredits']:checked");c=c.length>0&&c[0];c.onclick&&typeof c.onclick=="function"&&$(c).attr("onclick")();var d=$("form#SkySales"),
b=$("#paymentAjaxSection"),f=$("#paymentAjaxLoading");c=$("div#paymentMethodSelection div.paymentMethod");var g=window.location.pathname.replace(/(.aspx)/,"Ajax$1");c.bind("click",function(){var h=$(this).find(":radio");h.focus().attr("checked","checked");d.find("input#eventTarget").attr("name","__EVENTTARGET").val(h.attr("name"));d.find("input#viewState").attr("name","__VIEWSTATE");d.find("input#eventArgument").attr("name","__EVENTARGUMENT");b.hide();f.show();(function(){jQuery.post(g,d.serializeArray(),
function(m){var o=window.__doPostBack;if(h.attr("checked")){b.empty();b.append(m);window.__doPostBack=o;f.hide();b.show();if(window.payment_validateTK_Ident&&events&&events.Validate&&events.Validate.length>0&&h.val()!="ExternalAccount:TK"){var q=events.Validate;jQuery.each(q,function(u){if(q[u]==payment_validateTK_Ident)q[u]=function(){return true}})}}})})();s2.tuifly.helper.lateroomsPayment.checkPaymentAvailable(h)});c.find(":radio:checked").click();s2.tuifly.helper.payment.updateCustomerCreditAll()}};
this.showVoucherInputArea=function(){$("#voucherInput").removeClass("hidden")};this.hideVoucherInputArea=function(){$("#voucherInput").addClass("hidden")};this.toggleVoucherInputArea=function(){$("#voucherInput").is(":visible")?this.hideVoucherInputArea():this.showVoucherInputArea()};this.toggleCustomerCreditInputArea=function(){$("#CustomerCreditInput").toggle()};this.validateFriendchips=function(){$("input[id$='_ShowCustomerCredits']").is(":checked")&&s2.tuifly.widget.dialog.alertNotice(s2.tuifly.util.culture.get("friendchipsCashMessage"));
return true};var a;this.setCustomerCreditTextBoxID=function(c,d){var b=this;a=c;$("#"+c).keyup(function(){b.updateCustomerCreditAmount(d)});this.updateCustomerCreditAmount(d)};this.updateCustomerCreditAmount=function(c){var d=parseInt($("#"+a).val(),10);if(isNaN(d)){d=d?d.replace(/[^[0-9]]/,""):"";$("#"+a).val(d)}else{c=c.replace(/\./g,"");c=parseInt(c,10);if(d>c)d=c;$("#"+a).val(d);c=(d/100).toString().replace(/\./g,",");c=TYPE.S2Currency.coerce(c);$("#CustomerCreditAmount").text(c.toString())}};
this.updateCustomerCreditAll=function(){var c=parseInt($("#qCustomerFriendChips").text().replace(/\./g,""));c||(c=0);c=(c/100).toString().replace(/\./g,",");c=TYPE.S2Currency.coerce(c);$("#CustomerCreditAmountAll").text(c.toString())}});s2.namespace("s2.tuifly.helper.bluemiles",function(){this.gotoPartner=function(a){s2.tuifly.helper.kubi.gotoPartner(a)}});s2.namespace("s2.tuifly.helper.kubi",function(){this.gotoPartner=function(a){var c=window.tuiLogin.getCustomerNumber();a+=c;window.open(a)}});
s2.namespace("s2.tuifly.helper.kubiBackoffice",function(){this.initialize=function(){$("#searchResults").load("/CustomerProgramBackofficeAjax.aspx",null,this.afterLoad)};this.afterLoad=function(){$("#searchWait").hide();$("#searchResults").show()};this.storno=function(a,c){var d=$(a);d.children("span").prepend("<span class='loadingImage'></span>");$.get("/CustomerProgramBackofficeCancelAjax.aspx",{transactionID:c},function(b,f){d.find(".loadingImage").remove();if(f!="success")alert("�bertragungsfehler!");
else if(b!="Success")alert("Es ist ein Fehler aufgetreten: "+b);else{d.after("Storniert");d.remove()}})}});s2.namespace("s2.tuifly.helper.print",function(){this.print=function(){window.print()}});
s2.namespace("s2.tuifly.helper.hotelSearch",function(){var a=this;a.loaded=false;this.initialize=function(){$("#hotelSearch").mouseover(function(){if(!a.loaded){a.load();a.loaded=true}})};this.load=function(){$("#keyword").focus(function(){$(this).val("")});var b=JooseX.Culture.Factory.get();(new Date).setDate((new Date).getDate()+7);var f=$("#datePickerHotelCheckIn");this.initDatepicker(f);var g=$("#datePickerHotelCheckOut");this.initDatepicker(g);f.val(b.formatDate(Date.today()));g.val(b.formatDate(Date.today().add(7).days()));
f.bind("change",function(){b.parseDate(g.val())<b.parseDate(f.val())&&g.val(f.val())});var h=window.location.protocol+"//"+window.location.host+"/skyres/data/hotels.json",m=$("#hotelSearch .queryCustomSelects");jQuery.getJSON(h,function(q){function u(r,ta){for(var ia=r;ia<I;ia++)if(ta.text.toUpperCase()<O[ia].text.toUpperCase())return ia;return ia>0?ia:0}var w="hotelSearchDest",A=q[w],H=jQuery("<select id='"+w+"Select' name='ziel'/>"),K;for(K in A)H.append(jQuery("<option value='"+A[K]+"'>"+K+"</option>"));
H.children(":first").attr("selected","selected");$("#"+w).append(H);w="hotelSearchRegion";q=q[w];var L=jQuery("<select id='"+w+"Select' name='region'/>");A=jQuery("<option value='-1'>"+q["-1"]+"</option>");var E={},O=[],I=0;delete q["-1"];for(var B in q){K=q[B];var T="",ea;for(ea in K)T=T+"<option value='"+K[ea]+"'>"+ea+"</option>";T=jQuery(T);E[B]=A.add(T);var W=-1;K=0;for(var M=T.length;K<M;K++,I++){W=u(W+1,T.get(K));O.splice(W,0,T.get(K))}}E["-1"]=A.add(jQuery(O));L.children(":first").attr("selected",
"selected");L.append(E["-1"]);$("#"+w).append(L);L.bind("change",function(){var r=L.val().match(/[^|]+$/);if(r!="-1"){H.children("[value="+r+"]").attr("selected","selected");H.data("update")()}});H.bind("change",function(){var r=L.val();L.empty();L.append(E[H.val()]);r!="-1"&&L.children("[value="+r+"]").length>0?L.children("[value="+r+"]").attr("selected","selected"):L.children(":first").attr("selected","selected");L.parent().removeClass("init");L.parent().find("input, div").remove();s2.tuifly.widget.customSelect.convert("#hotelSearch");
L.data("update")()});s2.tuifly.widget.customSelect.convert("#hotelSearch");w=m.find("select");for(K=w.length-1;K>=0;K--)w.eq(K).data("update")()});$(".childsel");var o=$("#hotelSearchChildrenDetails");$("#hotelSearchChildren").bind("change",function(){var q=$("#hotelSearchChildren").val(),u=$(".childsel").prevAll("input");u.hide();u.filter(":lt("+q+")").show();u.next().find("li:first").click();q>0?o.show():o.hide()})};this.initDatepicker=function(b){b.datepicker({numberOfMonths:[1,3],stepMonths:3,
prevText:"&#160;",nextText:"&#160;",closeText:"&#160;",currentText:"",changeMonth:false,changeYear:false,changeFirstDay:false,showOtherMonths:true,showOn:"focus",minDate:"+0",showAnim:"show",duration:"",showButtonPanel:true})};var c,d;$(document).ready(function(){c=$("#keyword").val();if(typeof message!="undefined")d=message.errorHotelSearch});this.submit=function(){message=$("#errorMessage");var b=$("#hotelSearch .bookingButton"),f=$("#datePickerHotelCheckIn");if(!f.val()){if(b.hasClass("loading")){b.removeClass("loading");
b.find(".loadingImage").remove()}alert(window.hotelCheckInDateError);return false}var g=JooseX.Culture.Factory.get();f.after('<input type="hidden" name="termin" value="'+g.parseDate(f.val()).getTime()/1E3+'" />');$("#hotelSearchRegionSelect").val()!="-1"&&$("#hotelSearchDestSelect").val()=="-1"&&$("#hotelSearchRegionSelect").change();f=$("#keyword").val();var h=$("#hotelSearchGuests").val(),m=$("#nights").val();g=JooseX.Culture.Factory.get();var o=JooseX.Culture.Factory.get().majorIdentifier(),q=
$("#datePickerHotelCheckIn").val();q=g.parseDate(q).getTime();g=(new Date(q)).toString("yyyyMMdd");g="http://hotels.tuifly.com/"+o+"/p8538/pvhpsearch/Hotels.aspx?k="+f+"&d="+g+"&n="+m+"&rt="+h;if(b.hasClass("loading")){b.removeClass("loading");b.find(".loadingImage").remove()}f==""||f==c?alert(d):$("#hotelSearch a").attr("href",g)}});
s2.namespace("s2.tuifly.helper.holidaySearch",function(){var a,c=this;c.loaded=false;this.initialize=function(){$("#holidaySearch").mouseover(function(){if(!c.loaded){c.load();c.loaded=true}})};this.load=function(){var d=JooseX.Culture.Factory.get();(new Date).setDate((new Date).getDate()+7);var b=$("#datePickerHolidayCheckIn");this.initDatepicker(b);var f=$("#datePickerHolidayCheckOut");this.initDatepicker(f);b.val(d.formatDate(Date.today()));f.val(d.formatDate(Date.today().add(7).days()));b.bind("change",
function(){d.parseDate(f.val())<d.parseDate(b.val())&&f.val(b.val())});$.getScript("https://images.traveltainment.de/booking/cache/790006/654/cachefiles_654_js.php?getCacheFiles=1",function(){for(var h=0;h<window.cacheFiles_654.length;++h){var m=window.cacheFiles_654[h];if(m.search(/regionen.*/)!=-1){$.getScript("https://images.traveltainment.de/booking/cache/790006/654/"+m,function(){var o=[];if(typeof window.TTREGS_654!="undefined")o=window.TTREGS_654;var q=jQuery("<select id='holidaySearchDestSelect' name='ziel'/>");
q.append(jQuery("<option value='-1'>"+window.allDestinationsOption+"</option>"));for(var u=0;u<o.length;++u){var w=o[u].split("|");w[1]>=1E4&&q.append(jQuery("<option value='"+w[1]+"'>"+w[0]+"</option>"))}q.children(":first").attr("selected","selected");$("#holidaySearchDest").append(q);var A=jQuery("<select id='holidaySearchRegionSelect' name='region'/>");A.append(jQuery("<option value='-1'>"+window.allRegionsOption+"</option>"));for(u=0;u<o.length;++u){w=o[u].split("|");w[1]<1E4&&A.append(jQuery("<option value='"+
w[1]+"|"+w[2]+"'>"+w[0]+"</option>"))}A.children(":first").attr("selected","selected");$("#holidaySearchRegion").append(A);A.bind("change",function(){var H=A.val().match(/[^|]+$/);if(H!="-1"){q.children("[value="+H+"]").attr("selected","selected");q.data("update")()}});q.bind("change",function(){var H=A.val(),K=q.val();A.empty();A.append(jQuery("<option value='-1'>"+window.allRegionsOption+"</option>"));for(var L=0;L<o.length;++L){var E=o[L].split("|");if(E[1]<1E4&&(E[2]==K||K==-1))A.append(jQuery("<option value='"+
E[1]+"|"+E[2]+"'>"+E[0]+"</option>"))}H!="-1"&&A.children("[value="+H+"]").length>0?A.children("[value="+H+"]").attr("selected","selected"):A.children(":first").attr("selected","selected");A.parent().removeClass("init");A.parent().find("input, div").remove();s2.tuifly.widget.customSelect.convert("#holidaySearch");A.data("update")()});s2.tuifly.widget.customSelect.convert("#holidaySearch");u=$("#holidaySearch .queryCustomSelects").find("select");for(w=u.length-1;w>=0;w--)u.eq(w).data("update")()});
break}}});var g=$("#holidaySearchChildrenDetails");$("#holidaySearchChildren").bind("change",function(){var h=$("#holidaySearchChildren").val();a=h;var m=$(".childsel",g).prevAll("input");m.hide();m.filter(":lt("+h+")").show();m.next().find("li:first").click();h>0?g.show():g.hide()})};this.initDatepicker=function(d){d.datepicker({numberOfMonths:[1,3],stepMonths:3,prevText:"&#160;",nextText:"&#160;",closeText:"&#160;",currentText:"",changeMonth:false,changeYear:false,changeFirstDay:false,showOtherMonths:true,
showOn:"focus",minDate:"+0",showAnim:"show",duration:"",showButtonPanel:true})};this.submit=function(){message=$("#errorMessage");var d=$("#holidaySearch .bookingButton"),b=$("#datePickerHolidayCheckIn"),f=$("#datePickerHolidayCheckOut");if(b.val()){if(!f.val()){if(d.hasClass("loading")){d.removeClass("loading");d.find(".loadingImage").remove()}alert(window.holidayCheckOutDateError);return false}}else{if(d.hasClass("loading")){d.removeClass("loading");d.find(".loadingImage").remove()}alert(window.holidayCheckInDateError);
return false}var g=JooseX.Culture.Factory.get();$("#holidaySearch input[name='termin']").remove();b.after('<input type="hidden" name="termin" value="'+g.parseDate(b.val()).getTime()/1E3+'" />');$("#holidaySearch input[name='ruecktermin']").remove();f.after('<input type="hidden" name="ruecktermin" value="'+g.parseDate(f.val()).getTime()/1E3+'" />');b=$("#holidaySearchAdults").val();f=$("#holidaySearchChildren").val();for(g=1;g<=f;++g){var h=$("#holidaySearchChild"+g).val();b+=";"+h}$("#holidaySearch input[name='personen']").remove();
$("#holidaySearchAdults").after('<input type="hidden" name="personen" value="'+b+'" />');$("#holidaySearchRegionSelect").val()!="-1"&&$("#holidaySearchDestSelect").val()=="-1"&&$("#holidaySearchRegionSelect").change();$("#holidaySearch input[name='flugdauer']").remove();$("#holidaySearchDest").after('<input type="hidden" name="flugdauer" value="'+$("#holidaySearchDestSelect").val()+'" />');$("#holidaySearch input[name='dauer']").remove();$("#holidaySearchDuration").after('<input type="hidden" name="dauer" value="'+
$("#holidaySearchDuration").val().replace(/X/,"_")+'" />');b="http://ww2.tui.com/index.php?coopid=TPP_TUI_TUIfly_CompactSearch2TT&"+$("#holidaySearch input, #holidaySearch select").serialize();if(d.hasClass("loading")){d.removeClass("loading");d.find(".loadingImage").remove()}if(a>0){d=true;f=$("#holidaySearchChildrenDetails select").filter(":lt("+a+")");for(i=0;i<f.length;i++)if(f[i].options[f[i].selectedIndex].value==-1){d=false;break}d=d}else d=true;if(d){$("#holidaySearch a").attr("target","_blank");
$("#holidaySearch a").attr("href","http://"+window.location.host+"/specials/partnerframe/index.php?scte=CSPauschalreisen_HP_220_P_K5009V1&lang=DEU&sub=tui&suburl="+Base64.encode(b))}else{alert(window.selectAgesForChildrenError);return false}}});
s2.namespace("s2.tuifly.helper.carSearch",function(){var a=this;a.loaded=false;this.initialize=function(){$("#carSearch").mouseover(function(){if(!a.loaded){a.load();a.loaded=true}});a.initCalIcon()};this.initCalIcon=function(){$("#tuiCarsBox .calIcon").live("click",function(){$(this).parent().find(".simpleDatePicker").trigger("focus")})};this.load=function(){var c=JooseX.Culture.Factory.get(),d=$("#datePickerCarLeasing");this.initDatepicker(d);var b=$("#carSearchLeasingTime"),f=$("#datePickerCarReturn");
this.initDatepicker(f);var g=$("#carSearchReturnTime");d.val(c.formatDate(Date.today().add(14).days()));f.val(c.formatDate(Date.today().add(21).days()));d.bind("change",function(){c.parseDate(f.val())<c.parseDate(d.val())&&f.val(c.formatDate(c.parseDate(d.val()).add(1).days()));if(c.parseDate(f.val()+" "+g.val())<c.parseDate(d.val()+" "+b.val())){g.val(b.val());g.data("update")()}});b.bind("change",function(){if(c.parseDate(f.val()+" "+g.val())<c.parseDate(d.val()+" "+b.val())){g.val(b.val());g.data("update")()}});
var h=$("#carSearch .queryCustomSelects"),m="carSearchCountry",o=jQuery("<select id='"+m+"Select' name='lb_Land'/>");o.data("dataUrl","https://ww5.tui.com/cars/ibe/services/suche_lb_country_tf_"+c.majorIdentifier()+".php");o.data("notSelectedOption",window.carSearchCountryNotSelected);$("#"+m).append(o);m="carSearchRegion";var q=jQuery("<select id='"+m+"Select' name='lb_region'/>");q.data("dataUrl","https://ww5.tui.com/cars/ibe/services/suche_lb_region_tf_"+c.majorIdentifier()+".php");q.data("notSelectedOption",
window.carSearchRegionNotSelected);q.data("parameter",{landid:o});o.data("successor",q);$("#"+m).append(q);m="carSearchCity";var u=jQuery("<select id='"+m+"Select' name='lb_city'/>");u.data("dataUrl","https://ww5.tui.com/cars/ibe/services/suche_lb_city_tf_"+c.majorIdentifier()+".php");u.data("notSelectedOption",window.carSearchCityNotSelected);u.data("parameter",{landid:o,regionid:q});q.data("successor",u);$("#"+m).append(u);m="carSearchStation";q=jQuery("<select id='"+m+"Select' name='lb_station'/>");
q.data("dataUrl","https://ww5.tui.com/cars/ibe/services/suche_lb_station_tf_"+c.majorIdentifier()+".php");q.data("notSelectedOption",window.carSearchStationNotSelected);q.data("parameter",{cityid:u});u.data("successor",q);$("#"+m).append(q);$("#carSearchCountry select, #carSearchLocation select").bind("customSelect_changedAndClosed",function(){var w=$(this).data("successor");if(w!=undefined){var A=w.data("parameter"),H="",K;for(K in A)H+=K+"="+A[K].val()+"&";H+="callback=?";w.empty();w.append(w.data("notSelectedOption"));
if(!A.cityid||A.cityid.val().length>0)jQuery.get(w.data("dataUrl")+"?"+H,null,function(L){for(var E=0,O=L.length;E<O;E++)w.append(jQuery("<option value='"+L[E][0]+"'>"+L[E][1]+"</option>"));w.data("updateList")();w.data("update")();w.trigger("customSelect_changedAndClosed")},"jsonp");else{w.data("updateList")();w.data("update")();w.trigger("customSelect_changedAndClosed")}}else s2.tuifly.widget.customSelect.convert("#carSearch")});jQuery.getJSON(o.data("dataUrl")+"?callback=?",function(w){b.val("10:00");
g.val("10:00");o.append(window.carSearchCountryNotSelected);for(var A=0,H=w.length;A<H;A++)o.append(jQuery("<option value='"+w[A][0]+"'>"+w[A][1]+"</option>"));o.bind("change",function(){$("#carSearchLocation").show()});s2.tuifly.widget.customSelect.convert("#carSearch");w=h.find("select");for(A=w.length-1;A>=0;A--)w.eq(A).data("update")()})};this.initDatepicker=function(c){c.datepicker({numberOfMonths:[1,3],stepMonths:3,prevText:"&#160;",nextText:"&#160;",closeText:"&#160;",currentText:"",changeMonth:false,
changeYear:false,changeFirstDay:false,showOtherMonths:true,showOn:"focus",minDate:"+14",showAnim:"show",duration:"",showButtonPanel:true})};this.submit=function(){$("#errorMessage");var c=$("#carSearch .bookingButton");if(c.hasClass("loading")){c.removeClass("loading");c.find(".loadingImage").remove()}if($("#carSearchCountrySelect").val()==""||$("#carSearchCitySelect").val()==""||$("#carSearchStationSelect").val()==""){alert(window.carSearchLocationError);return false}c=JooseX.Culture.Factory.get();
var d=c.majorIdentifier();d="https://ww5.tui.com/cars/ibe/cars_list.php?agk=tuifly&oh=1&lg_c="+d+"&lg_s="+d+"&"+$("#carSearch input, #carSearch select").serialize();c.identifier();$("#carSearch a").attr("target","_blank");$("#carSearch a").attr("href",d);return true}});
s2.namespace("s2.tuifly.helper.webCheckIn",function(){this.submit=function(){var a=document.getElementById("checkinBid").value,c=document.getElementById("checkinLastname").value,d=JooseX.Culture.Factory.get().majorIdentifier();s2.tuifly.events.AjaxStartEvent.trigger("webCheckin");var b=s2.tuifly.util.Environment.get().secureUrl("/php/webcheckin.php");jQuery.ajax({type:"GET",url:b,data:{name:c,bid:a,form1:"true",language:d},success:function(f){if(f[2]!="")top.location.href=f[2];else alert(f[1]);s2.tuifly.events.AjaxEndEvent.trigger("webCheckin")},
dataType:"jsonp"})}});s2.namespace("s2.tuifly.helper.giftCertificate",function(){var a=this;this.initialize=function(){if(document.getElementById("giftCertificate")){a.MotivSelection();$(".queryGiftCerts input").live("click",this.MotivSelection)}};this.MotivSelection=function(){$.cachedFind(".qVoucherLayout").addClass("hidden");var c=$('input[name="SellGiftCertificateView$RadioButtonGroupLayout"]:checked').val();$.cachedFind("."+c).removeClass("hidden");$.cachedFind(".qAmount").text($('input[name="SellGiftCertificateView$RadioButtonAmounts"]:checked').val())}});
s2.namespace("s2.tuifly.helper.contactEditToggle",function(){this.initialize=function(){if(document.getElementById("payment"))if($("fieldset.contactdisplay").length>0){if(typeof isContactInputIncomplete!="undefined"&&isContactInputIncomplete()){$("fieldset.contactinput").show();$("fieldset.contactdisplay").hide()}else{$("fieldset.contactinput").hide();$("fieldset.contactdisplay").show();$("fieldset.contactdisplay > #LinkButtonEdit").show()}$("fieldset.contactinput").insertAfter($("fieldset.contactdisplay"))}};
this.fade=function(){s2.tuifly.widget.fader.crossfade("fieldset.contactdisplay","fieldset.contactinput")};this.fadeAndSetHiddenField=function(){this.fade();$("[id$='_HiddenFieldSaveMeOnLoadFlag']").val("True")};this.validateEmail=function(){var a=$('[id$="_TextBoxEmailAddress"]').val();if(a==undefined)return true;if(!/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z]{2,4})+$/.test(a)){alert(emailGeneralErrorMessage);return false}return true}});
s2.namespace("s2.tuifly.helper.keepAlive",function(){this.initialize=function(){this.loop()};var a=function(){jQuery.get("/KeepAlive.aspx?rand="+Math.random(),function(c,d){s2.Logger.debug("Send keep alive: "+d)})};this.loop=function(){setInterval(a,108E4);(""+location.href).indexOf(".aspx")==-1&&setTimeout(a,6E4)}});
s2.namespace("s2.tuifly.helper.simpleSubmit",function(){var a=function(c){c.preventDefault();form=$(this);var d=$("#successMessage").text();if(d==null||d=="")d="Vielen Dank";form.ajaxSubmit({success:function(){s2.tuifly.widget.dialog.alert(d)}})};this.bind=function(c){$(document).ready(function(){$(c).submit(a)})}});
s2.namespace("s2.tuifly.helper.farefinder",function(){var a=this,c=false;a.initialize=function(){$("#selector .qList").live("click",function(){s2.tuifly.controller.FarefinderSearch.getInstance().submit("/farefinder/bestoffers",false)});$("#selector .qCalendar").live("click",function(){s2.tuifly.helper.farefinder.preSelect();s2.tuifly.helper.farefinder.preSelect();s2.tuifly.controller.FarefinderSearch.getInstance().submit("/farefinder/pricecalendar",true)});$("#selector .qHistory").live("click",function(){s2.tuifly.helper.farefinder.preSelect();
s2.tuifly.helper.farefinder.preSelect();s2.tuifly.controller.FarefinderSearch.getInstance().submit("/farefinder/pricehistory",true)});a.initToggleHeadlineClick()};a.initToggleHeadlineClick=function(){$("#FareFinderResults h3.qOfferHeadline").live("click",function(){var o=$(this),q=o.data("pos"),u=o.data("origin");o=o.data("destination");s2.tuifly.helper.farefinder.loadToggleBox(q,u,o)});$("#FareFinderResults h3.qOfferHeadline").length===1&&$("#FareFinderResults h3.qOfferHeadline").trigger("click")};
a.loadToggleBox=function(o,q,u){if(!c){c=true;if(window!=top)return}var w=new s2.tuifly.util.Query,A=w.param("carrier")||"",H={origin:q,destination:u,carrier:A};w=s2.tuifly.util.Query.instance();Joose.A.each(["sortfield","sortorder","sort","beginMonth","endMonth","currency","monthtoquery","skin","culture"],function(K){var L=w.param(K);if(L!=null&L!="")H[K]=L});jQuery.get("/farefinder/offers",H,function(K){if(K.indexOf("<html")==-1){var L=$.cachedFind("#box"+o);L.html(K);K=L.find("[mementooarticle]:first").attr("mementooarticle");
s2.tuifly.util.toolbox.createMementooPITag(K)}},"html")};a.updateHeadImage=function(o,q){var u=s2.tuifly.util.Query.instance(),w=u.asHash(),A="HLXConsumer";if(w.skin)A=w.skin;var H="de-DE";if(w.culture)H=w.culture;if(location.href.match(/farefinder/i)){w=$.cachedFind("#backgroundImageAirport");var K=w.find("a"),L;if(o){w.attr("style","background:url("+o+")");q?K.attr("href",q):K.remove()}else{L=u.param("airportListDestination")||u.param("destination");u="fareSearchBG_";if(L==""||L==null||L.length!=
3||L!=L.toUpperCase())u+="Default-"+A+"-"+H;else{K.remove();u+=L}w.addClass(u)}w.removeClass("invisible");if(typeof AirportDestinationText=="undefined")if((A=$("#AirportListDestination").val())&&A.length==3)AirportDestinationText=$("#AirportListDestination").find("option[value="+A+"]").text();L&&typeof AirportDestinationText!="undefined"&&AirportDestinationText.length>0&&!AirportDestinationText.match(/\-\>\/farefinder/i)?$.cachedFind("#destinationHeadline").html(AirportDestinationTextPrefix+" - "+
AirportDestinationText).parent().show():$.cachedFind("#destinationHeadline").parent().hide()}};a.submitPulldowns=function(o){var q=s2.tuifly.util.Query.instance();q.param("AirportListOrigin",document.getElementById("AirportListOrigin").value);q.param("AirportListDestination",document.getElementById("AirportListDestination").value);q.param("MonthToQuery",document.getElementById("MonthToQuery").value);location.href=location.pathname+"?"+q;$(o).find("select").attr("disabled",true)};var d={"/farefinder/pricecalendar":{AirportListOrigin:"HAJ",
AirportListDestination:"PMI"},"/farefinder/pricehistory":{AirportListOrigin:"HAJ",AirportListDestination:"PMI"},"/farefinder/bestoffers":{}};a.changeView=function(o){var q=s2.tuifly.util.Query.instance();Joose.A.each(["AirportListOrigin","AirportListDestination","MonthToQuery"],function(u){var w=$("#"+u).val();if(w==-1)w="";if(w!="")q.param(u,w);else{w=q.param(u);if(w==""||w==null)(w=d[o][u])&&q.param(u,w)}});o=o+"?"+q;location.href=o;return false};a.gotoOffer=function(o,q,u,w,A){this.gotoSelect({origin:o,
destination:q,startDate:u,returnDate:w,scorigin:A,type:"RoundTrip"})};window.goOffer=function(){s2.tuifly.helper.farefinder.gotoOffer.apply(s2.tuifly.helper.farefinder,arguments)};a.preSelect=function(){if($.cachedFind("#fareFinderSearch").attr("action")=="/farefinder/bestoffers"){var o=s2.tuifly.util.Cookie.instance().get("AvailabilitySearchData"),q=Base64.decode(o).split("|");o=q[1];var u=q[2];if(q=q[4])q=q.replace("-","");else{q=Date.today().toString("yyyy");var w=parseInt(Date.today().toString("M"),
10);if(w<12)w=w+1;else{w=1;q+=1}w=w.toString();if(w.length<2)w="0"+w;q=q+""+w}if(!u&&!o){o="HAJ";u="PMI"}if($.cachedFind("#AirportListOrigin").val()==-1||$("#AirportListDestination").val()==-1){$.cachedFind("#AirportListOrigin").val(o);$.cachedFind("#AirportListDestination").val(u);$.cachedFind("#MonthToQuery").val(q)}}};var b,f;a.gotoSelect=function(o){var q=o.origin||window.FlashOrigin,u=o.destination||window.FlashDestination,w="RoundTrip",A,H;if(!f||!b)w="OneWay";if(o.type)w=o.type;H={day:"",yearmonth:""};
A=f||o.startDate;var K=b||o.returnDate;A=A?this.splitDate(A):H;H=K?this.splitDate(K):H;K=1;var L=0,E=0;if(o.view=="select"){var O=s2.tuifly.helper.search.getSearchParams();K=O.adultCount;L=O.childCount;E=O.infantCount}var I=JooseX.Culture.Factory.get().identifier();O="";O="/Search.aspx?FID=offerspage&cf=TPS&ControlGroupSearchView$AvailabilitySearchInputSearchView$RadioButtonMarketStructure="+w+"&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListMarketOrigin1="+q+"&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListMarketDestination1="+
u+"&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListMarketOrigin2="+u+"&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListMarketDestination2="+q+"&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListMarketMonth1="+A.yearmonth+"&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListMarketDay1="+A.day+"&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListMarketMonth2="+H.yearmonth+"&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListMarketDay2="+
H.day+"&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListPassengerType_ADT="+K+"&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListPassengerType_CHD="+L+"&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListPassengerType_CHDD=0&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListPassengerType_INFANT="+E+"&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListMarketDateRange1=2|2&ControlGroupSearchView$AvailabilitySearchInputSearchView$DropDownListMarketDateRange2=2|2&__EVENTTARGET=ControlGroupSearchView$AvailabilitySearchInputSearchView$LinkButtonNewSearch&expanded=1&culture="+
I+"&AD=TPS1&ATT=HP_Teaser&scorigin="+o.scorigin;if(o.scorigin&&typeof s!="undefined"){q=s2.tuifly.util.Cookie.instance();if(o.scorigin=="Angebote-Preisverlauf")q.set("s_eVar26","Diagramm");else o.scorigin=="Angebote-Sparkalender"&&q.set("s_eVar26","Kalender")}s2.tuifly.util.toolbox.openURLAsPostRequest(O)};a.updateSortingAndSubmit=function(o,q){var u=s2.tuifly.util.Query.instance();u.param("sortfield",o);u.param("sortorder",q);u.param("currentpage",1);location.href="/farefinder/bestoffers?"+u};a.submitNewSearch=
function(){var o={departureAirport:$.cachedFind("#AirportListOrigin").val(),arrivalAirport:$.cachedFind("#AirportListDestination").val(),departureDate:$.cachedFind("#MonthToQuery").val()},q=function(){s2.tuifly.controller.FarefinderSearch.getInstance().submit("",true)};if(o.departureAirport&&o.arrivalAirport&&o.departureDate>0){o.departureDate=o.departureDate.replace(/(\d\d)$/,"-$1");o.departureDate+="-01";s2.tuifly.widget.lastSearches.store(o,q)}else q()};a.splitDate=function(o){o=o.split("-");var q=
o[0];if(o[1]&&o[1].length==1){var u=parseInt(o[1]);if(u<10)u="0"+u}else u=o[1];return{yearmonth:q+"-"+u,day:o[2]}};a.updateSortingAndSubmit=function(o,q){var u=new s2.tuifly.util.Query;u.param("sortfield",o);u.param("sortorder",q);u.param("currentpage",1);location.href="/farefinder/bestoffers?"+u};a.updateCalendarPrices=function(){if(g&&h){var o="--";if(g.getSymbol()==h.getSymbol())o=g.add(h);$.cachedFind("#priceTotal").html(o.toString())}};var g=null,h=null,m={EUR:"&euro;",USD:"$",GBP:"&pound;"};
window.setStartDateFlash=function(o,q,u,w,A){f=o+"-"+q+"-"+u;o=JooseX.Culture.Factory.get().formatDate(new Date(parseFloat(o),parseFloat(q)-1,parseFloat(u)));$.cachedFind("#startDate").html(o);if(m[A])A=m[A];g=w=new s2.tuifly.util.CurrencyValue({value:parseFloat(w,10),symbol:A});$.cachedFind("#priceStart").html(w.toString());s2.tuifly.helper.farefinder.updateCalendarPrices()};window.setEndDateFlash=function(o,q,u,w,A){b=o+"-"+q+"-"+u;o=JooseX.Culture.Factory.get().formatDate(new Date(parseFloat(o),
parseFloat(q)-1,parseFloat(u)));$.cachedFind("#dateTo").removeClass("hidden");$.cachedFind("#endDate").html(o);if(m[A])A=m[A];h=w=new s2.tuifly.util.CurrencyValue({value:parseFloat(w,10),symbol:A});$.cachedFind("#priceReturn").html(w.toString());s2.tuifly.helper.farefinder.updateCalendarPrices()}});
s2.namespace("s2.tuifly.helper.farefinderPromoIcons",function(){this.initialize=function(){if(document.getElementById("select")||document.getElementById("selectchange")||document.getElementById("groupselect"))typeof promoDataHash!="undefined"&&$.each(promoDataHash,function(c){var d=promoDataHash[c].headline,b=promoDataHash[c].text;if(d&&b){var f;$("span."+c).mouseover(function(g){f=$(this).parent().find(".queryTooltipContent").clone();f.find("h4.queryTooltipInfo").html(d);f.find("p.queryTooltipInfo").html(b);
f.removeClass("calculated");s2.tuifly.widget.tooltip.calculatePosition(f,g);s2.tuifly.widget.tooltip.createTooltip(f,g);f.show()}).mouseout(function(){f&&f.remove()})}});else{var a;$("#FareFinderResults").delegate("div.toggleBox span.promo","mouseover",function(c){c.stopPropagation();var d=$(this),b="pr-"+d.data("promo");if(b&&promoDataHash[b.toLowerCase()]){var f=promoDataHash[b.toLowerCase()].headline;b=promoDataHash[b.toLowerCase()].text;a=d.parent().find(".queryTooltipContent").clone();a.find("h4.queryTooltipInfo").html(f);
a.find("p.queryTooltipInfo").html(b);a.removeClass("calculated");s2.tuifly.widget.tooltip.calculatePosition(a,c);s2.tuifly.widget.tooltip.createTooltip(a,c);a.show()}});$("#FareFinderResults").delegate("span.promo","mouseout",function(c){c.stopPropagation();a&&a.remove()})}}});
s2.namespace("s2.tuifly.helper.farefinderCarrierIcons",function(){this.initialize=function(){if(document.getElementById("select")||document.getElementById("selectchange")||document.getElementById("groupselect"))typeof carrierDataHash!="undefined"&&$.each(carrierDataHash,function(c){var d=carrierDataHash[c].headline,b=carrierDataHash[c].text;if(d&&b){var f;$("span.carrier-"+c.toUpperCase()).mouseover(function(g){f=$(this).parent().find(".queryTooltipContent").clone();f.find("h4.queryTooltipInfo").html(d);
f.find("p.queryTooltipInfo").html(b);f.removeClass("calculated");s2.tuifly.widget.tooltip.calculatePosition(f,g);s2.tuifly.widget.tooltip.createTooltip(f,g);f.show()}).mouseout(function(){f&&f.remove()})}});else{var a;$("#FareFinderResults").delegate("div.toggleBox span.carrier","mouseover",function(c){c.stopPropagation();var d=$(this),b=d.data("carrier");if(b&&carrierDataHash[b]){var f=carrierDataHash[b].headline;b=carrierDataHash[b].text;a=d.parent().find(".queryTooltipContent").clone();a.find("h4.queryTooltipInfo").html(f);
a.find("p.queryTooltipInfo").html(b);a.removeClass("calculated");s2.tuifly.widget.tooltip.calculatePosition(a,c);s2.tuifly.widget.tooltip.createTooltip(a,c);a.show()}});$("#FareFinderResults").delegate("span.carrier","mouseout",function(c){c.stopPropagation();a&&a.remove()})}}});
s2.namespace("s2.tuifly.helper.farefinderVerlaufSelector",function(){var a=this;this.initialize=function(){$("#button1Monat").live("click",function(){$(this).removeClass("buttonNotActive");$(this).addClass("buttonActive");$("#button6Monate").addClass("buttonNotActive");$("#button6Monate").removeClass("buttonActive");a.flashRef("content").setView("priceTrend1Month")});$("#button6Monate").live("click",function(){$(this).removeClass("buttonNotActive");$(this).addClass("buttonActive");$("#button1Monat").addClass("buttonNotActive");
$("#button1Monat").removeClass("buttonActive");a.flashRef("content").setView("priceTrend6Months")})};a.flashRef=function(c){return navigator.appName.indexOf("Microsoft")!=-1?window[c]:document[c]};a.trace=function(){document.getElementById("output").innerHTML+=str+"<br />"}});s2.namespace("s2.tuifly.helper.hideASPErrorMessage",function(){this.initialize=function(){document.getElementById("error")&&$("body#error>h2:first a[href*=ErrorMessage.aspx]").parents("h2").hide()}});
s2.namespace("s2.tuifly.helper.forceNewRendering",function(){this.initialize=function(){this.RightAlignedIconsIE6()};this.render=function(a){this.renderIE6(a)};this.renderIE6=function(a){$(a).attr("zoom",1)};this.RightAlignedIconsIE6=function(){}});
s2.namespace("s2.tuifly.helper.partner",function(){this.initialize=function(){var a=s2.tuifly.util.Query.instance(),c=a.param("partner");a=a.param("passwordIncorrect");if(s2.tuifly.Login.prototype.loggedIn())a=false;!a&&c&&s2.tuifly.widget.dialog.myTUIflyLayer("/de/_includes/partner/"+c+".html")};this.login=function(){var a=$("#PartnerReturnURL").val().match(/partner=(\d+)/);if(a&&a[1]){var c=location.href;c=c.replace(/#.*/,"");c+=c.match(/\?/)?"&":"?";c+="partner="+a[1];$("#PartnerReturnURL").val(c)}s2.tuifly.util.tracking.fire({events:["event3"],
delay:true,element:document.getElementById("bonusPartnerDetail"),name:"login"});window.tuiLogin.submitGlobalLoginRemoteNewValues("user","password","PartnerReturnURL")};this.callPartnerLink=function(a){if(s2.tuifly.Login.prototype.loggedIn()){var c=$(a).attr("href");if(c.match(/subid=$/i)||c.match(/Side=$/i)||c.match(/zpar0=$/i)||c.match(/epi=$/i)||c.match(/p2=$/i)||c.match(/extcustomer=$/i)){var d=(new s2.tuifly.util.Cookie).get("customerNumber");c+=d;$(a).attr("href",c)}}}});
s2.namespace("s2.tuifly.helper.notepad",function(){var a=this;a.doNotShowExitLayer=false;a.PreisalarmTeaserClicked=false;var c;a.initialize=function(){c=new s2.tuifly.util.Cookie;a.synchronizeCounter();a.changeMeinTUIflyNavigationBehaviour();$("#qPreisAlarmTeaser").live("click",function(){a.PreisalarmTeaserClicked=true});$("#AddAlarmAddAlarmView_TextBoxLoginPassword").live("keyup",function(d){d&&d.keyCode==s2KeyCode.ENTER&&a.login()});if(location.href.match(/\/select\.aspx/i)||location.href.match(/\/selectnew\.aspx/i))$("body[skin=HLXConsumer]").length==
0&&$("body[skin=HLXMember]").length==0||(new s2.tuifly.util.Cookie).get("HideExitLayer")||$("#header").live("click",function(d){if(d&&d.target){var b=$(d.target);(d=b.attr("href"))||(d=b.parents("a:first").attr("href"));if(!d)return true;if(a.doNotShowExitLayer||d=="#")return true;b=b.attr("id");if(b=="globalLoginFindPasswordAction"||b=="globalLogoutAction")return true;if(d.match(/\/flug\.html/)||d.match(/\/flug\/index\.html/)||d.match(/\/mein\-TUIfly\/register\.html/))return true;if($(".qNoFlightFound").length||
$(".qNotepadLink.invisible").length)return true;a.showExitLayer("AddAlarmExit.aspx");a.setEvalHref(d);return false}else return true})};a.evalHref=false;a.setEvalHref=function(d){a.evalHref=d};a.getEvalHref=function(){return a.evalHref};a.closeNotepad=function(){s2.tuifly.widget.dialog.divLayerClose()};a.closeExitLayer=function(){s2.tuifly.widget.dialog.divLayerClose();var d=a.getEvalHref();if(d!=false)window.location.href=d};a.showExitLayer=function(d){var b=new Date((new Date).getTime()+2592E6);
(new s2.tuifly.util.Cookie).set("HideExitLayer","true",b);d=a.buildQueryUrl(d);s2.tuifly.widget.dialog.exitLayer(d,function(){s2.tuifly.util.tracking.fire({events:["event1"],values:{prop25:"Exit_Layer_Open"},name:"Exit_Layer"})})};a.showAlarmConfirmLayer=function(d){if($("table.flightSelection input:checked").length!=0){d=a.buildQueryUrl(d);s2.tuifly.widget.dialog.priceAlarmConfirmLayer();jQuery.get(d,function(b){$("#priceAlarmConfirm-ajaxLayer").html(b);s2.tuifly.widget.dialog.setFocus()});a.PreisalarmTeaserClicked=
false}};a.checkPreisAlarmTeaserVisibility=function(){$(".qActivatePriceAlarm").length&&$("#qPreisAlarmTeaser").removeClass("hidden")};a.buildQueryUrl=function(d){d=d?d:"AddAlarm.aspx";var b=a.getFlightParams(),f="";jQuery.each(b,function(g,h){f+=f==""?"?":"&";f+=g+"="+h});d+=f;return d};a.getCheckedEmailInfoForPreisalarm=function(){var d={},b=$("input[id$='_TextBoxEmailId']:visible");if(b.length){b=b.val();if(!b||b.match(/^[a-z0-9_\.\-]+\@[a-z0-9\-]+\.[a-z]{2,4}$/i)==null){$(".formMail .error").removeClass("hidden");
$(".formMail .error").removeClass("invisible");return{success:false}}else{d.email=b;d.emailIsEncrypted=false;d.customerNumber=""}}else{d.email=cookie.get("customerEMailEncrypted");d.emailIsEncrypted=true;d.customerNumber=cookie.get("customerNumber");$("#priceAlarmStore-member").removeClass("hidden");$("#priceAlarmStore-consumer").addClass("hidden")}d.success=true;return d};a.storeWithAlarm=function(){var d=a.getFlightParams();d.alarm=1;d.culture=JooseX.Culture.Factory.get().identifier();new s2.tuifly.util.Cookie;
var b=a.getCheckedEmailInfoForPreisalarm();if(!b.success)return false;d.email=b.email;d.emailIsEncrypted=b.emailIsEncrypted;d.customerNumber=b.customerNumber;s2.tuifly.widget.dialog.divLayerClose();s2.tuifly.widget.dialog.priceAlarmStoreLayer();$(document).ajaxError(function(f,g,h){if(h.url.match(/notepad\/StoreWithAlarm/)){a.prepareForResult($("#priceAlarmStore-ajaxLayer"));a.displayError($("#priceAlarmStore-ajaxLayer"))}});a.doNotShowExitLayer=true;$.post("/notepad/StoreWithAlarm",d,function(f){a.prepareForResult($("#priceAlarmStore-ajaxLayer"));
var g=false;if(f&&f.success)g=f.success;if(g){a.addFacebookShareButton(d);s2.tuifly.helper.notepad.writeCounter(f)}else a.displayError($("#priceAlarmStore-ajaxLayer"))},"json");return true};a.addFacebookShareButton=function(d){var b=$("<a/>"),f="http://www.facebook.com/sharer.php?s=100&p[title]=Ich%20nutze%20jetzt%20den%20Preisalarm%20von%20TUIfly.com&p[summary]=Dein%20Flug%20wird%20reduziert%20und%20du%20hast%20es%20verpasst%3F%20Das%20kann%20mir%20jetzt%20nicht%20mehr%20passieren.%20Sollte%20der%20Flug%20von%20[originName]%20nach%20[destinationName]%20g%C3%BCnstiger%20werden%2C%20erhalte%20ich%20eine%20Email%20von%20TUIfly.com.%20Sehr%20praktisch!&p[url]=http%3A%2F%2Fwww.tuifly.com%2Fphp%2Fgotoselect.php%3Forigin%3D[origin]%26destination%3D[destination]%26date1%3D[abflugdatum]%26date2%3D[rueckflugdatum]%26AD%3DFAN%26ATT%3DShare_Preisalarm&p[images][0]=http%3A%2F%2Fwww.tuifly.com%2Fimages%2Ffacebook%2Ffb_preisalarm.jpg";
f=f.replace(/\[originName\]/g,Stations[d.OAIATA].name);f=f.replace(/\[destinationName\]/g,Stations[d.DAIATA].name);f=f.replace(/\[origin\]/g,d.OAIATA);f=f.replace(/\[destination\]/g,d.DAIATA);d=$("#row"+selectedIds[1]).attr("departure");d=d.replace(/\s.*/,"");f=f.replace(/\[abflugdatum\]/g,d);d="";if(selectedIds[2]){d=$("#row"+selectedIds[2]).attr("departure");d=d.replace(/\s.*/,"")}f=f.replace(/\[rueckflugdatum\]/g,d);b.attr("href",f);b.click(function(){popup(f,"popup","width=600,height=400,scrollbars=yes");
return false});b.html('<img src="https://www.tuifly.com/images/facebook/fb_button_weiterempfehlen.gif" border="0"/>');$(".qPriceAlarmSuccessLayer").html(b)};a.storeWithOutAlarm=function(){var d=a.getFlightParams();d.alarm=0;d.rand=Math.random();s2.tuifly.widget.dialog.notepadLayer();$(document).ajaxError(function(b,f,g){if(g.url.match(/notepad\/store/)){a.prepareForResult($("#notepad-ajaxLayer"));a.displayError($("#notepad-ajaxLayer"))}});a.doNotShowExitLayer=true;$.getJSON("/notepad/store",d,function(b){a.prepareForResult($("#notepad-ajaxLayer"));
var f=0;if(b&&b.success&&b.count>0)f=1;f?s2.tuifly.helper.notepad.writeCounter(b):a.displayError($("#notepad-ajaxLayer"))});return true};a.callbackPreisalarmEmailInput=function(){var d={email:$("#s2AlertBox input[name='priceAlarmEmailInput']").val(),mailEncrypted:false};d.email?a.callbackAddAlarmToNotepad(d):setTimeout(function(){a.openPriceAlarmEmailInputLayer(function(){$("#s2AlertBox .qValidationError").removeClass("invisible")})},0)};a.storePreisalarm=function(){if(a.PreisalarmTeaserClicked)a.storePreisalarmTeaser();
else if(a.storeWithAlarm()){s2.tuifly.util.tracking.getObject();s2.tuifly.util.tracking.fire({events:["event1","event67"],values:{eVar8:s.pageName,eVar40:"Preisalarm"},name:"Preisalarm"})}};a.storeMerkzettel=function(){a.storeWithOutAlarm();s2.tuifly.util.tracking.fire({events:["event1","event8"],values:{eVar8:s.pageName,eVar24:"Merkzettel"},name:"Merkzettel"})};a.storePreisalarmExit=function(){a.storeWithAlarm()&&s2.tuifly.util.tracking.fire({events:["event1","event67"],values:{eVar8:"Exit_Layer",
prop25:"Exit_Layer_Preisalarm"},name:"Preisalarm"})};a.storeMerkzettelExit=function(){a.storeWithOutAlarm();s2.tuifly.util.tracking.fire({events:["event8"],values:{eVar8:"Exit_Layer",eVar24:"Merkzettel",prop25:"Exit_Layer_Merkzettel"},name:"Merkzettel"})};a.storePreisalarmTeaser=function(){a.storeWithAlarm();s2.tuifly.util.tracking.fire({events:["event1","event67"],values:{eVar8:"Preisalarm-Teaser",eVar40:"Preisalarm"},name:"Preisalarm"})};a.trackBookingClick=function(d){s2.tuifly.util.tracking.fire({values:{eVar24:"Merkzettel"},
delay:true,element:d,name:"Merkzettel_Zum_Angebot"})};a.continueBooking=function(){s2.tuifly.widget.dialog.divLayerClose();var d=$("#ControlGroupSelectView_LinkButtonSubmit"),b=d.offset().top-400;window.scrollTo(0,b);d.trigger("click")};a.prepareForResult=function(d){d=$(d);d.find(".contentBox").removeClass("hidden");d.find(".wait").addClass("hidden")};a.displayError=function(d){d=$(d);d.find(".error").removeClass("hidden");d.find(".notice").removeClass("hidden");d.find(".success").addClass("hidden")};
a.getFlightParams=function(){return{OPriceAdult:$("table.flightSelection input:checked:first").parent().find("a .qPriceAdult").html(),IPriceAdult:$("table.flightSelection input:checked:eq(1)").parent().find("a .qPriceAdult").html(),OPrice:$("#taxAndFeeTotalPrice .journey1 .journeyTotal").attr("grossprice"),IPrice:$("#taxAndFeeTotalPrice .journey2 .journeyTotal").attr("grossprice"),Currency:TYPE.S2Currency.coerce($(".qTaxAndFeeInclusiveTotalPrice span:first").html()).getCode(),ADT:s2.tuifly.util.passenger.countOf("ADT"),
CHD:s2.tuifly.util.passenger.countOf("CHD"),CHDD:s2.tuifly.util.passenger.countOf("CHDD"),INF:s2.tuifly.util.passenger.countOf("INFANT"),ODM:$("table.flightSelection input:checked:first").parents("tr").attr("departure"),OAM:$("table.flightSelection input:checked:first").parents("tr").attr("arrival"),IDM:$("table.flightSelection input:checked:eq(1)").parents("tr").attr("departure"),IAM:$("table.flightSelection input:checked:eq(1)").parents("tr").attr("arrival"),OAIATA:$("#TeaserDepartureStation").text(),
DAIATA:$("#TeaserDestination").text(),OKey:$("table.flightSelection input:checked:first").val(),IKey:$("table.flightSelection input:checked:eq(1)").val(),noCache:Math.random()}};a.writeCounterFromCookie=function(){var d=a.getCountFromCookie();d!=null&&a.writeCounter({count:d})};a.writeCounterFromRequest=function(){$.getJSON("/notepad/count",{noCache:Math.random()},function(d){var b=0;if(d&&d.success&&d.count>0)b=1;if(b){s2.tuifly.helper.notepad.writeCounter(d);c.set("notepadCount",d.count)}})};a.getCountFromCookie=
function(){var d=c.get("notepadCount");if(d!=null&&d!="")return d;d=c.get("notepadHashes");if(d!=null&&d!=""){d=d.replace(/,$/,"");return d=d.split(",").length}return 0};a.writeCounter=function(d){if($("#notepadCounter").length>0)if(d.count<1)$("#notepadCounter").get(0).innerHTML="";else $("#notepadCounter").get(0).innerHTML="("+d.count+")";if(document.getElementById("notepad-ajaxLayer")){$("#notepad-ajaxLayer").find(".error").addClass("hidden");$("#notepad-ajaxLayer").find(".success").removeClass("hidden")}};
a.synchronizeCounter=function(){if(!($(".SkinHLXConsumer").length==0&&$(".SkinHLXMember").length==0))if(c.get("loginEvent")==1){a.writeCounterFromRequest();c.set("loginEvent",0)}else a.writeCounterFromCookie()};a.encodeNotepadComment=function(){var d=encodeURI(s2.tuifly.util.removeHtmlTags($("#notepadCommentUnencoded").val()));$("#notepadComment").val(d)};a.areEmailsValid=function(){var d=$('form[name="sendNotepad"]').find('input[name="notepadEmailList"]').val().replace(";",","),b=true;Joose.A.each(d.split(","),
function(f){if(f!=""&&$.trim(f).match(/^[a-zA-Z0-9_\.\-]+\@[a-zA-Z0-9\-]+\.[a-zA-Z0-9]{2,4}$/)==null)b=false});return d.length>0&&b};a.submitMailForm=function(){var d=$('form[name="sendNotepad"]'),b="";if(a.areEmailsValid()){a.encodeNotepadComment();d.submit()}else{b+=d.find("div.errorMsgEmail").html();s2.tuifly.widget.loadingButton.cancelSpinAllButtons();alert(b)}};a.deactivateNotepad=function(d,b){jQuery.getJSON("/notepad/DeactivatePriceAlarm",{hash:d,rand:Math.random()},function(f){if(f.success){s2.tuifly.widget.dialog.alertNotice(b);
f=$(".qNotepad-"+d);f.find(".qActiveText").hide();f.find(".qNotActiveText").show();f.find(".priceAlarmIcon").removeClass("priceAlarmActive");f.find(".priceAlarmIcon").addClass("priceAlarmNotActive");f.find(".qActivateLink").show();f.find(".qDeactivateLink").hide();f.find(".priceAlarmIconLink").removeClass("priceAlarmNotActive");f.find(".priceAlarmIconLink").addClass("priceAlarmActive")}else alert(s2.tuifly.util.culture.get("defaultErrorMessage"))})};a.activateNotepad=function(d,b){jQuery.getJSON("/notepad/ActivatePriceAlarm",
{hash:d,rand:Math.random()},function(f){if(f.success){s2.tuifly.widget.dialog.alertNotice(b);a.activateAlarmSuccess(d)}else alert(s2.tuifly.util.culture.get("defaultErrorMessage"))})};a.addAlarmToNotepad=function(d,b){a.callbackAddAlarmToNotepad=function(g){var h=new s2.tuifly.util.Cookie;h={Culture:JooseX.Culture.Factory.get().identifier(),Hash:d,Email:g.email,CustomerNumber:h.get("customerNumber"),EmailIsEncrypted:g.mailEncrypted,rand:Math.random()};jQuery.getJSON("/notepad/CreateAlarmFromNotepad",
h,function(m){if(m.success){s2.tuifly.util.tracking.getObject();s2.tuifly.util.tracking.fire({events:["event1","event67"],values:{eVar8:s.pageName,eVar40:"Preisalarm"},name:"Merkzettel_zu_Preisalarm"});s2.tuifly.widget.dialog.alertNotice(b);a.activateAlarmSuccess(d);if(!g.mailEncrypted)a.savedPriceAlarmEmail=g.email}else alert(s2.tuifly.util.culture.get("defaultErrorMessage"))})};var f=cookie.get("customerEMailEncrypted");if(a.savedPriceAlarmEmail)a.callbackAddAlarmToNotepad({mailEncrypted:false,
email:a.savedPriceAlarmEmail});else f?a.callbackAddAlarmToNotepad({mailEncrypted:true,email:f}):a.openPriceAlarmEmailInputLayer()};a.openPriceAlarmEmailInputLayer=function(d){d||(d=function(){});s2.tuifly.widget.dialog.standardLayer($("#priceAlarmEmailInputLayer"),{okCallback:a.callbackPreisalarmEmailInput,okButtonText:s2.tuifly.util.culture.get("EmailInputLayerOKButtonText"),cancelButtonText:s2.tuifly.util.culture.get("EmailInputLayerCancelButtonText"),view:"note",confirm:1,title:s2.tuifly.util.culture.get("EmailInputLayerHeadline"),
callback:function(){$(".qValidationError").addClass("invisible");d();$("#s2AlertBox input[name='priceAlarmEmailInput']").focus()}})};a.activateAlarmSuccess=function(d){d=$(".qNotepad-"+d);d.find(".qActiveText").show();d.find(".qNotActiveText").hide();d.find(".priceAlarmIcon").removeClass("priceAlarmNotActive");d.find(".priceAlarmIcon").addClass("priceAlarmActive");d.find(".qActivateLink").hide();d.find(".qDeactivateLink").show();d.find(".priceAlarmIconLink").removeClass("priceAlarmActive");d.find(".priceAlarmIconLink").addClass("priceAlarmNotActive")};
a.login=function(){var d=$("#AddAlarmAddAlarmView_TextBoxLoginId").val(),b=$("#AddAlarmAddAlarmView_TextBoxLoginPassword").val();d={AddAlarmAddAlarmView$TextBoxLoginId:d,AddAlarmAddAlarmView$TextBoxLoginPassword:b};$("#priceAlarmLayer .qLoginForm").hide();$("#priceAlarmLayer .qButtons").hide();$("#priceAlarmLayer .wait").show();jQuery.post("/AddAlarm.aspx",d,function(f){f=$(f).html();$("#priceAlarmLayer").html(f)})};a.changeMeinTUIflyNavigationBehaviour=function(){var d=function(){var b=$(this),f=
b.attr("href");if(f!=null)if(f.match(/mein-TUIfly\/merkzettel\.html$/i)){f=$(".navNotepad a").attr("href");b.attr("href",f)}};$(".contentNavigation li a").mousedown(d);$(".subLevel li a").mousedown(d);$("#quicklinks li a").mousedown(d)}});s2.namespace("s2.tuifly.helper.zugZumFlug",function(){this.initialize=function(){};this.activateDisabledInputs=function(){var a=$("#zugZumFlugBox");a.length>0&&$("input",a).removeAttr("disabled")}});
s2.namespace("s2.tuifly.helper.bagInput",function(){var a=this;a.overrideBagInputValidation=false;this.validate=function(){if(a.overrideBagInputValidation)return true;if(!document.getElementById("baggageInputBox"))return true;var c=false,d=$("#baggageInputBox .qBaggageSelection option[value=0]");if(d.length==0)c=true;d.each(function(){var g=$(this).parent();if($(g).find("option:selected").val()>0)c=true});if(c)return true;d=s2.tuifly.util.culture.get("NoExtraBagBody");var b=s2.tuifly.util.culture.get("NoExtraBagOKButtonText"),
f=s2.tuifly.util.culture.get("NoExtraBagCancelButtonText");s2.tuifly.widget.dialog.confirmNotice(d,{okButtonText:b,cancelButtonText:f,dialogClass:"confirmBoxElvia",okCallback:function(){a.overrideBagInputValidation=true;s2.tuifly.widget.submittableForm.clickButton($("#contentArea a.bookingButton"))},cancelCallback:function(){s2.tuifly.helper.extrasAlerts.callbackBagInputBox()}});return false};return true});
s2.namespace("s2.tuifly.helper.popup",function(){this.open=function(a,c,d,b){c||(c=630);d||(d=430);var f=screen.availHeight,g=eval(screen.availWidth/2-c/2);f=eval(f/2-d/2);c="width="+c+",height="+d+",top="+f+",left="+g;if(b)b=b;else{b="popup"+Math.random(1);b=b.replace(/\./,"")}a=window.open(a,b,c+",scrollbars=yes,status=no,dependent=yes");a!=null&&a.focus&&a.focus()}});
s2.namespace("s2.tuifly.helper.mytuiflyLoginBox",function(){this.initialize=function(){if(document.getElementById("loginForm")){this.prepare();this.updatePersonalInfo()}this.initLoginboxPartnerLayer();$("#MLInput .qPasswordField input").live("keydown",function(a){a.which==s2KeyCode.ENTER&&MLLogin()})};this.prepare=function(){if($("#loginForm input").length!==0){$("#loginForm input#user , #loginForm input#email").live("click",function(){if(!$(this).hasClass("changed")){$(this).val("");$(this).addClass("changed")}$(this).select()});
$("#loginForm input#user").get(0).select();$("#loginForm input#password[type=text]").focus(function(){var c=$(this),d=$("<input/>");d.attr("type","password");d.attr("class",c.attr("class"));d.attr("name",c.attr("name"));d.attr("id",c.attr("id"));c.attr("tabindex")&&d.attr("tabindex",c.attr("tabindex"));c.replaceWith(d);setTimeout(function(){d.focus();d.focus(function(){$(this).select()})},100)});var a=$("#loginForm.queryLoginBox").outerHeight();$("#loginBoxOpacity").css("height",a+"px");$("#loginForm #login input#password").live("keyup",
function(c){if(c.which==s2KeyCode.ENTER){$("#loginForm .loginButton .showButton").trigger("click");c=$("#loginForm .loginButton .bookingButton").attr("href");location.href=c}})}};this.initLoginboxPartnerLayer=function(){$("#loginForm.partnerDetailsButtons input#password").live("keyup",function(a){a.which==s2KeyCode.ENTER&&s2.tuifly.helper.partner.login()})};this.updatePersonalInfo=function(){window.tuiLogin.loggedIn()&&jQuery.getJSON("/NewskiesEndpointMemberInformation.aspx",function(a){if(a&&a.Success&&
a.ErrorCode==0){var c=$("#loginForm"),d=a.Data.Name.FirstName+" "+a.Data.Name.LastName,b=a.Data.Friendchips;$(c).find(".qLoggedinUser").text(d);$(c).find(".qFriendChips").text(b);if(a.Data.NextFlight){b=a.Data.NextFlight.Date+", "+a.Data.NextFlight.Time;var f=a.Data.NextFlight.Origin;a=a.Data.NextFlight.Destination;$(c).find(".qNextDepartureDate").text(b);$(c).find(".qNextFlightRouteDeparture").text(f);$(c).find(".qNextFlightRouteArrival").text(a);$(".qNextFlightData").removeClass("invisible")}else{$(".qNextFlightData").addClass("hidden");
$(".qNoNextFlight").removeClass("hidden")}c=$(".qCustomerCard");a=(new s2.tuifly.util.Cookie).get("customerNumber");$(c).find(".qLoggedinUser").text(d);$(c).find(".qCustomerNumber").text(a)}})}});
s2.namespace("s2.tuifly.helper.mytuiflyBestOffers",function(){this.initialize=function(){if(!window.tuiLogin.loggedIn()&&$(".myTuiFlyOffers").length>0){var a=$("#loginBoxOpacity"),c=$("#loginForm"),d=$(".myTuiFlyOffers .dontClickLayer");a.hide();c.hide();d.click(function(){d.addClass("dontClickTrans");c.show();a.show()})}window.tuiLogin.loggedIn()&&$(".myTuiFlyOffers").length>0&&$("#myTUIflyLoginBox").hide()}});
s2.namespace("s2.tuifly.helper.usernameCopyMail",function(){this.initialize=function(){this.initCopyMailAddress()};this.initCopyMailAddress=function(){$("[id$='TextBoxEmail']").change(function(){if(!$("[id$='TextBoxAgentUserName']").val()){var a=$(this).val();$("[id$='TextBoxAgentUserName']").val(a);try{RequeryAjaxControl()}catch(c){}}})}});
s2.namespace("s2.tuifly.helper.errorMessage",function(){this.setTrackingParams=function(){var a=location.pathname;a=a.replace(/^\//,"");var c=location.search;c=c.replace(/^\?\w*=\//,"");window.PAGENAME=a+"_"+c};this.setTimestamp=function(){var a=new Date;a=a.getHours()+":"+a.getMinutes()+":"+a.getSeconds()+" "+a.getDate()+"."+a.getMonth()+"."+a.getFullYear();$(".toggleContent p").after("<p>"+a+"</p>")}});
s2.namespace("s2.tuifly.helper.tracking",function(){this.initialize=function(){};this.pageName="";this.click=function(){try{var b=s_gi("rsid");b.linkTrackVars="prop1,prop2,events";b.linkTrackEvents="event1";b.prop1="";b.events="event8";b.eVar24="Merkzettel";b.tl(this,"o","Link Name")}catch(f){s2.Logger.debug("Error "+f)}};this.OmniturePageName=function(b){if(typeof b=="string")this.pageName=b;return this.pageName};try{var a=new s2.tuifly.util.Query,c=a.param("zanpid");if(c!=null&&c!="")(new Image).src=
"/ZanoxTrackingImage.aspx?"+a.toString()}catch(d){throw d;}});
s2.namespace("s2.tuifly.helper.teaserTracking",function(){var a=this;a.open=function(c,d,b,f){if(f==undefined)f=true;if(d||b){var g={events:["event7"],values:{},delay:true,element:c,name:"Teaserklick"};if(b)g.values.prop8=b;if(d)g.values.eVar1=d;s2.tuifly.util.tracking.fire(g);f&&a.updateForExternalTracking(c,d)}};a.updateForExternalTracking=function(c,d){var b=$(c).attr("href");if(!b.match("javascript:"))if(!b.match(/^\//)&&!b.match(/www\.tuifly\.com/)){b+=b.match(/&/)?"&":"?";$(c).attr("href",b+
"scte="+d)}}});
s2.namespace("s2.tuifly.helper.SeatMap",function(){var a=this,c={},d=null;a.initialize=function(){this.seatFreeForPE=this.seatAvailablePE=this.seatBlockedForPE=this.seatSelected=this.seatAvailableXXL=this.seatNotAvailable=this.seatAvailableNormal=null;$("#unitMap .aUnit").live("mouseover mouseout",function(b){if(b.type=="mouseover")a.mouseover(this,b);else if(b.type=="mouseout"){if(d){d.hide();d.css("left","-100px");d.css("top","-100px")}$(this).css("z-index","1")}})};a.mouseover=function(b,f){var g=
$(b),h=parseInt(g.attr("data-selected")||0);if(matches=g.attr("class").match(/(seat\w+)/g)){var m=_(matches).detect(function(o){return o.indexOf("PE")!=-1})||_(matches).last();m=h?"seatSelected":m;this[m]||(this[m]=$.cachedFind("#seatMapCOGInputBox .qTip"+Joose.S.uppercaseFirst(m)).clone());if(d!=this[m]){d&&d.remove();this[m].removeClass("initTooltip adjusted leftOrientation leftOverlay");d=this[m]}if(h){h=$(".dynamicPassengerName"+g.attr("data-passenger"));d.cachedFind("p").html(h.html())}}if(d){d.removeClass("calculated");
s2.tuifly.widget.tooltip.createSeatTooltip(d,f,m,g.closest("#deck"));g.css("z-index","101");g=g.data("priceGroup");(g=TYPE.S2Currency.coerce(SKYSALES.Class.UnitFee.UnitFeePassengerHash["0_"+g],{culture:"en-GB"}))&&d.find(".qPrice").text(g.toString())}};a.LeftOrientation=function(b,f){f.css("visibility","visible");f.removeClass("hidden");f.show();var g;g=jQuery.browser.msie&&jQuery.browser.version.substr(0,1)=="7"?f.attr("clientWidth"):f.outerWidth();var h=f.offset().left,m=$(b.target).offset().left;
if(jQuery.browser.msie6)m-=20;g=parseInt(m-g,10);h=h-g;g=parseInt(f.css("left"),10);if(g+""=="NaN"||g==null)g=0;f.css("left",Math.round(g-h)+"px")};a.seatController=function(b){if(typeof b=="object")c=b;return c};a.setNotEnoughSeatsMessage=function(){notEnoughSeatsMessage=s2.tuifly.util.culture.get("notEnoughSeatsMessage")};a.Validate=function(){var b=s2.tuifly.model.SSRSeat.create();if(b==null||b.length==0)return true;for(var f=b[0].getJourneyCount(),g=0;g<f;g++)if($("#RequiredSeatsPerJourney_"+
g+" param").length!=0){var h=parseInt($("#RequiredSeatsPerJourney_"+g+" param[name='required']").attr("value")),m=parseInt($("#RequiredSeatsPerJourney_"+g+" param[name='available']").attr("value"));s2.Logger.debug("Required seats for Journey "+g+": "+h+" Available: "+m);for(var o=0,q=0;q<b.length;q++)if(b[q].journey==g)o+=b[q].getBookedCount();s2.Logger.debug("Selected Seats in Journey "+g+": "+o);if(o<h&&m>=h){alert(s2.tuifly.util.culture.get("notEnoughSeatsMessage"));return false}}return true}});
s2.namespace("s2.tuifly.helper.itinerary",function(){this.initialize=function(){if(document.getElementById("itinerary")||document.getElementById("viewItinerary")||document.getElementById("itineraryChange")){this.loadBanner();this.calcSubtotalExtras();this.checkExtrasPositions();this.checkPartnerPositions();$(document).ready(function(){JooseX.Culture.Factory.get().majorIdentifier()=="de"&&window.location.href.match(/\/Itinerary\./)&&s2.tuifly.widget.dialog.surveyItineraryLayer()})}};this.loadBanner=
function(){var a=JooseX.Culture.Factory.get().majorIdentifier();if((s2.tuifly.util.Skin.get().isConsumer()||s2.tuifly.util.Skin.get().isMember())&&a!="it")jQuery.getJSON("/"+a+"/_includes/banner.json",function(c){jQuery.each(c,function(d){typeof destinationAirportCode!="undefined"&&d.toUpperCase()==destinationAirportCode.toUpperCase()&&$("#itineraryBanner").html(c[d])})})};this.calcSubtotalExtras=function(){var a=s2.tuifly.util.CurrencyValue.zero();$("#flightPriceDisplay .extrasItem .price").each(function(){var c=
$(this).text();if(c!=""){c=TYPE.S2Currency.coerce(c);a=a.add(c)}});a=a.toString();a=a.replace(/[^0-9\.,]/g,"");$("#subTotalExtras").html(a)};this.checkExtrasPositions=function(){if($("#flightPriceDisplay .extrasItem").length==0){$(".extrasBlock").addClass("hidden");$(".extrasBlock").addClass("noPrint")}};this.checkPartnerPositions=function(){if($("#flightPriceDisplay .partnerItem").length==0){$(".partnerBlock").addClass("hidden");$(".partnerBlock").addClass("noPrint")}}});
s2.namespace("s2.tuifly.helper.select",function(){var a=this;a.initialize=function(){if(document.getElementById("select")||document.getElementById("selectnew")){a.writeMementooTag();a.writeNewtentionTag();a.fareClickHandler()}};a.fareClickHandler=function(){$.cachedFind("table.flightSelection").delegate("tr[data-flightrow='true']","click",function(){var c=$(this).data("inputid");$.cachedFind("#"+c).attr("checked",true);c=$(this).data("function");c=c.replace(/^return/,"");return eval(c)})};a.writeMementooTag=
function(){var c=function(){var b=$(this).parents("[mementooArticle]").attr("mementooArticle");$.cachedFind("body").append('<script type="text/javascript" src="https://trk.newtention.net/trk?rt=1&ti=1976&cs=8727&cpi=&pi='+b+"&rpi=&ts="+Math.random()+'"><\/script>')};$("[flight=hinflug] :radio").live("click",c);var d=$("[flight=hinflug] :radio:checked");$(".content :radio:checked").length>0&&c.apply(d)};a.writeNewtentionTag=function(){$("[flight=hinflug] :radio").live("click",function(){var d=$(this).parents("[mementooArticle]").attr("mementooArticle");
s2.tuifly.util.toolbox.createMementooPITag(d)});if($(".content :radio:checked").length>0){var c=$("[flight=hinflug] :radio:checked").parents("[mementooArticle]").attr("mementooArticle");s2.tuifly.util.toolbox.createMementooPITag(c)}};a.requestAlternativeOffers=function(c,d,b,f,g,h,m){if(!($(".bookingNumber").text().length>0)){c="origin="+c+"&destination="+d+"&start="+b+"&end="+f+"&culture="+g+"&skin="+h+"&maxCount="+m;jQuery.get("/farefinder/alternative-origins?"+c,function(o){o.indexOf("success")!=
-1&&$(function(){var q=$("#alternativeOrigins");$(".alternativeFlightsWrapper").css("display","block");q.html(o);q.show()})});jQuery.get("/farefinder/alternative-destinations-select?"+c,function(o){o.indexOf("success")!=-1&&$(function(){var q=$("#alternativeDestinations");$(".alternativeFlightsWrapper").css("display","block");q.html(o);q.show()})});jQuery.get("/farefinder/alternative-destinations?"+c,function(o){o.indexOf("success")!=-1&&$(function(){var q=$("#searchFlightDestinations");q.html(o);
q.parent().show()})})}};a.checkLengthOfStayConditions=function(){return $("div div[name='showMessageLengthOfStay']").attr("value")!="True"};a.fareRestrictionsPassed=function(){return $("div[name='fareRestrictionsPassed']").attr("value")=="true"};a.preventBookingFromUsage=function(){$("#selectSubmit").addClass("invisible");$("#taxAndFeeTotalPrice").addClass("invisible");$(".notepadLink").addClass("invisible");$("#qPreisAlarmTeaser").addClass("hidden")};a.showRTIcon=function(){$.cachedFind("[data-carrier-de] .qRTCondor").removeClass("hidden")};
a.hideRTIcon=function(){$.cachedFind("[data-carrier-de] .qRTCondor").addClass("hidden")};a.checkLinkTargetForHLXSelect=function(){$("body.hlxselect").length&&$("form#SkySales").attr("target","hlxselect")};a.addEventTargetValue=function(){var c="ControlGroupSelectView$LinkButtonSubmit";if($("body.hlxselect").length)c="ControlGroupHlxSelectView$LinkButtonSubmit";$("#eventTarget").val(c)}});
s2.namespace("s2.tuifly.helper.frameBuster",function(){var a=this;this.bustIfNotInIFrame=function(c){window==top&&$(function(){var d=JooseX.Culture.Factory.get().identifier();if(d=c[d])location.href=d})};this.bust=function(){if(window!=top){$("body").addClass("hidden");var c="?";if(location.href.indexOf("?")>-1)c="&";top.location.href=location.href+c+"returnURL="+top.location.pathname+top.location.search+"&test"}};$(function(){$("body").hasClass("bust")&&a.bust()})});
s2.namespace("s2.tuifly.helper.flashTicker",function(){this.initialize=function(){var a=this;if(document.getElementById("flashTickerControl")){var c=a.tickerName();$("#flashTickerControl").mouseover(function(){a.flashMovie(c).tickerStop()});$("#flashTickerControl").mouseout(function(){a.flashMovie(c).tickerResume()})}};this.embed=function(a,c,d,b,f){var g={};g.bgColor=a;g.geschwindigkeit="1";g.news=c;a={};a.allowscriptaccess="always";a.allownetworking="all";a.wmode="transparent";c={};c.id=this.tickerName();
swfobject.embedSWF(d,this.tickerName(),b,"30","9.0.28",f,g,a,c)};this.flashMovie=function(a){return navigator.appName.indexOf("Microsoft")!=-1?window[a]:document[a]};this.tickerName=function(){return"ticker"}});
s2.namespace("s2.tuifly.helper.extrasAlerts",function(){this.callbackTuiCarsBox=function(){var a=$("#tuiCarsBox");s2.tuifly.helper.scrollToElement.start(a)};this.callbackTuiHotelsBox=function(){var a=$("#tuiHotelsBox");s2.tuifly.helper.scrollToElement.start(a)};this.callbackElviaBox=function(){var a=$("#elviaBox");s2.tuifly.helper.scrollToElement.start(a)};this.callbackZZFBox=function(){var a=$("#zugZumFlugBox");s2.tuifly.helper.scrollToElement.start(a)};this.callbackBagInputBox=function(){var a=
$("#baggageInputBox");s2.tuifly.helper.scrollToElement.start(a)};this.callbackLatroomsConfirm=function(){var a=$("#qHotelConfirm");s2.tuifly.helper.scrollToElement.start(a)};this.callbackInsurance=function(){var a=$("#insuranceBox");s2.tuifly.helper.scrollToElement.start(a)}});
s2.namespace("s2.tuifly.helper.htmlErrorToAlert",function(){var a=[30006];this.initialize=function(){this.convert(a)};this.convert=function(c){if(document.getElementById("error")){var d=$("#error"),b=d.find("#errorSectionMainContent div.formRow"),f=d.find("#errorSectionContentDetails01 div.formRow"),g=d.find("#errorSectionContentDetails02 div.formRow"),h=0;f.each(function(m){var o=$(this).find("strong").eq(0).text();o=o.substring(1,o.indexOf(":"));for(var q=b.eq(m).text(),u=c.length-1;u>=0;u--)if(o==
c[u]){b.eq(m).hide();f.eq(m).hide();g.eq(m).hide();h+=1;h==f.length&&d.parent().remove();alert(q)}return true})}}});s2.namespace("s2.tuifly.helper.iframe",function(){this.initialize=function(){this.stopLoadingAnimation()};this.stopLoadingAnimation=function(){var a=window.parent;if(a!==window){try{loadingDIV=a.document.getElementById("iframeLoading")}catch(c){return}loadingDIV&&$(loadingDIV).addClass("hidden")}}});
s2.namespace("s2.tuifly.helper.topbonus",function(){this.initializeTransferForm=function(){$("#TopbonusTransferFields input").appendTo($("#TopbonusTransferForm"))};var a="Bitte stimmen Sie den Bedingungen zu!";this.setTransferErrorMessage=function(b){a=b};var c,d;this.setSignatures=function(b,f){c=f;d=b};this.submitTransferForm=function(){if(!$("#topbonusTransferAgree").get(0).checked){alert(a);s2.tuifly.widget.loadingButton.unSpinButton($("#topbonusTransferButton"));return false}if($("#topbonusBestandskunde").get(0).checked){$("#TopbonusRegisterField").val("false");
$("#TopbonusSignatureField").val(c)}else{$("#TopbonusRegisterField").val("true");$("#TopbonusSignatureField").val(d)}$("#TopbonusTransferForm").get(0).submit();return true}});s2.namespace("s2.tuifly.helper.bookExtras",function(){this.initialize=function(){this.prepare()};this.prepare=function(){if(document.getElementById("bookExtras")){$(".toggleBox").addClass("closed");$(".toggleBox:first").removeClass("closed")}}});
s2.namespace("s2.tuifly.helper.noFormReset",function(){this.initialize=function(){$.browser.msie&&$(document).keydown(function(){if(window.event.keyCode==27&&window.lastKey==27)return false;window.lastKey=window.event.keyCode})}});
s2.namespace("s2.tuifly.helper.emailMissing",function(){this.initialize=function(){this.checkIfEmailIsMissing()};this.checkIfEmailIsMissing=function(){var a=new s2.tuifly.util.Cookie,c=a.get("missingEmail");if(!location.pathname.match(/CustomerProgramAcceptance\.aspx/))if(c=="true"){a.set("missingEmail","false");a=JooseX.Culture.Factory.get().majorIdentifier();s2.tuifly.widget.dialog.standardLayer("/"+a+"/_includes/emailMissing.html",{noDefaultButton:true})}}});
s2.namespace("s2.tuifly.helper.offerTicker",function(){var a;this.initialize=function(){var c=this;$(".myTuiFlyOffers li").click(function(){window.clearInterval(a);c.activateOffer(this)});$(".myTuiFlyOffers li").mouseover(function(){$(this);window.clearInterval(a);c.selectNavi(this)});a=window.setInterval("s2.tuifly.helper.offerTicker.switchOffer()",5E3);$(".myTuiFlyOffersDetail").mousedown(function(){var d=$(this).find("a").attr("href"),b=(new s2.tuifly.util.Cookie).get("customerNumber"),f=d.match(/suburl=(.*)$/i);
if(f&&f[1]){f=f[1];f=Base64.decode(f);f.match(/&tuiflycid/i)||(f+="&tuiflycid="+b);f=Base64.encode(f);d=d.replace(/suburl=(.*)$/,"suburl="+f);$(this).find("a").attr("href",d)}})};this.activateOffer=function(c){if(c=$(c)){c=$(c).attr("id");c=c.replace("teaserOffer_","");$(".myTuiFlyOffersDetail").hide();$("div#detailOffer_"+c).fadeIn(2E3)}};this.selectNavi=function(c){c=$(c);$(".myTuiFlyOffers li").removeClass("offerActive");c.addClass("offerActive")};this.switchOffer=function(){var c;c=$("#detailOffer_1").length>
0?"":window.tuiLogin.loggedIn()?".loggedIn":".loggedOut";var d=$(""+c+" .myTuiFlyOffers li.offerActive"),b=1;if($(d).length>0){b=$(d).attr("id");b=b.replace("teaserOffer_","");b=parseInt(b)+1;d=$(""+c+" .myTuiFlyOffers li").length;if(b>d)b=1;c=$(""+c+" #teaserOffer_"+b);this.selectNavi(c);$("#detailOffer_1").length>0&&this.activateOffer(c)}}});
s2.namespace("s2.tuifly.helper.customerProgrammAcceptance",function(){this.check=function(){if($(".formCheckbox input").not(":checked").length>0){alert("Bitte best&auml;tigen Sie die AGB.");return false}return true}});
s2.namespace("s2.tuifly.helper.selectView",function(){this.initialView="";var a={pricecalendar:{url:"/farefinder/pricecalendar"},pricehistory:{url:"/farefinder/pricehistory"}};this.initialize=function(){swfobject.hasFlashPlayerVersion("9")&&$(".views").show()};this.getContent=function(c){if(a[c])if(jQuery.browser.msie6)s2.tuifly.widget.dialog.updateBrowser();else{var d=$(".q-priceCalendar"),b=$(".q-priceHistory");d.hide();b.hide();var f=JooseX.Culture.Factory.get().identifier(),g=a[c].url;jQuery.get(g+
"?culture="+f,function(h){h=$("#content_list",h);$("#selectView .layerContent").html(h);$(".selectButton").removeClass("hidden");$(".q-farefinderButton").addClass("hidden");h=s2.tuifly.helper.search.getSearchParam("departureAirport");var m=s2.tuifly.helper.search.getSearchParam("arrivalAirport");g==a.pricecalendar.url?d.show():b.show();s2.tuifly.widget.dialog.selectViewLayer($("#selectView"));g==a.pricecalendar.url&&s2.tuifly.flash.calendarView.embedFlash(h,m,"DateFromFlightSelection","calendar");
g==a.pricehistory.url&&s2.tuifly.flash.historyView.embedFlash(h,m,"DateFromFlightSelection","priceTrend1Month")})}}});s2.namespace("s2.tuifly.helper.openChristmas",function(){this.initialize=function(){this.get_url_param("advent")==1&&s2.tuifly.widget.dialog.christmasLayer("/skyres/static/christmasLayer.html")};this.get_url_param=function(a){a=a.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");a=window.location.href.match("[\\?&]"+a+"=([^&#]*)");return a==null?"":a[1]}});
s2.namespace("s2.tuifly.helper.facebook",function(){var a=this;a.showPermissionDialog=false;a.nearestAirportStore={};a.IATACodeToAirportStore={};a.suffix="";a.applicationProfileID="";a.addressStore=[];a.countryCodes={GERMANY:8};this.initialize=function(){document.getElementById("facebookapp")&&a.initSearchBoxFriends()};this.getIATACodeToAirportStore=function(){return a.IATACodeToAirportStore};this.getAirportFromIATAcode=function(c){return a.IATACodeToAirportStore[c]};this.initFriendsFilter=function(){for(var c in a.friendLists){var d=
$(".qFriendsFilterOff"),b=$(".qFriendsFilterOn");d.removeClass("hidden");d.click(function(){var f=$(this);$(f).addClass("hidden");b.removeClass("hidden")});b.click(function(){var f=$(this);$(f).addClass("hidden");d.removeClass("hidden")});b.find("li").click(function(){var f=$(this).find("a").html();d.html(f);if((f=a.friendLists[f])&&f.length>0){$(".qFriend").addClass("listFilterActive");jQuery.each(f,function(){$("#friend"+this).removeClass("listFilterActive")})}else $(".qFriend").removeClass("listFilterActive")});
break}};this.initSearchBoxFriends=function(){var c=$(".qSearchFriends");c.keydown(function(d){d.keyCode==s2KeyCode.ENTER&&d.preventDefault();if(d.keyCode==s2KeyCode.ESC){setTimeout("s2.tuifly.helper.facebook.resetSearchfieldFriends()",0);d.preventDefault()}if(d.keyCode==s2KeyCode.BACKSPACE){d=this.defaultValue.substring(0,this.defaultValue.length-1);$(this).val().indexOf(d)>=0&&$(this).val("")}});c.keyup(function(d){if(d.keyCode!=s2KeyCode.ESC){var b=$(this).val();if(b!=this.defaultValue){if(b.indexOf(this.defaultValue)>=
0){b=b.substring(this.defaultValue.length);$(this).val(b)}if(b=="yourockmyworld"){window.open("http://www.youtube.com/watch?v=fQccK0F1_iY");$(this).val("")}$("#resetSearchIconFriends").removeClass("hidden");d=$(".qFriend");if(b){d.addClass("friendFilterActive");$(".qFriendName").each(function(){var f=$(this).html(),g=$(this),h=RegExp(" "+b,"i");if(f.match(RegExp("^"+b,"i"))||f.match(h)){f=g.closest(".qFriend");$(f).removeClass("friendFilterActive")}})}else d.removeClass("friendFilterActive")}}});
c.val("Freunde suchen")};this.initFacebookApi=function(c){if(FB){FB.init(c,"facebook/xd_receiver.html");FB.ensureInit(function(){FB.CanvasClient.startTimerToSizeToContent();setInterval("FB.CanvasClient.setSizeToContent()",2E3);a.api=FB.Facebook.apiClient;var d=FB.Facebook.apiClient.get_session();a.loggedInUserID=d.uid;a.showPermissionDialog&&a.showPublishStreamPermissionDialog()})}};this.showPublishStreamPermissionDialog=function(c){FB.Connect.showPermissionDialog("publish_stream",function(d){if(d){a.showPublishInstallMessage();
a.setPublishStreamPermission(true);typeof c=="function"&&c()}})};this.showPublishInstallMessage=function(){FB&&FB.Connect.streamPublish("hat die TUIfly SkyFriends beta App installiert.",{name:"TUIfly SkyFriends beta App",href:"http://apps.facebook.com/"+a.suffix+"/",description:"Einfach mal deine Freunde besuchen! Mit der TUIfly SkyFriends beta App die besten Flugangebote zum gegenseitigen besuchen und gemeinsam verreisen finden.",media:[{type:"image",src:"http://www.tuifly.com/skyres/images/facebook/attachment.png",
href:"http://apps.facebook.com/"+a.suffix+"/"}]},[{text:"zu SkyFriends beta",href:"http://apps.facebook.com/"+a.suffix+"/"}])};this.publishOnApplicationPage=function(c,d,b){jQuery.get("/facebook/PublishOnApplicationPage",{attachmentName:d.name,attachmentLink:d.href,attachmentDescription:d.description,attachmentImageSrc:d.media[0].src,attachmentImageLink:d.media[0].href,actionLinkText:b[0].text,actionLinkLink:b[0].href,message:c},function(){})};this.setSuffix=function(c){a.suffix=c};this.getSuffix=
function(){return a.suffix};this.setApplicationProfileID=function(c){a.applicationProfileID=c};this.setFriends=function(c){a.friends=c};this.getFriends=function(){return a.friends};this.getFriendByID=function(c){var d=a.getFriends(),b;for(b in d){var f=d[b];if(f.FriendID==c)return f}};this.setFriendLists=function(c){this.friendLists=c;a.initFriendsFilter()};this.getFriendLists=function(){return a.friendLists};this.setAirportList=function(c){this.airports=c};this.getAirportList=function(){return a.airports};
this.getAirportByIATAcode=function(c){var d=a.airports,b;for(b in d){var f=d[b];if(f.IATAcode==c)return f}};this.setOrigin=function(c,d){if(!c)if(navigator.geolocation){navigator.geolocation.getCurrentPosition(function(b){b=a.nearestAirport({lat:b.coords.latitude,lng:b.coords.longitude});a.myAirport=b;typeof d=="function"&&d()},function(){a.setOrigin("Hannover",d)});return}else c="Hannover";a.getLatLng(c,function(b){if(b){b=a.nearestAirport(b);a.myAirport=b}typeof d=="function"&&d()})};this.nearestAirport=
function(c){var d=c.lat+":"+c.lng;if(a.nearestAirportStore[d])return a.nearestAirportStore[d];var b=new GLatLng(c.lat,c.lng),f,g,h=this.airports;jQuery.each(h,function(m){m=h[m];var o=new GLatLng(m.Lat,m.Lng);o=b.distanceFrom(o);if(typeof f=="undefined"||o<f){g=m;f=o}a.IATACodeToAirportStore[m.IATAcode]||(a.IATACodeToAirportStore[m.IATAcode]=m)});g.distance=f;return a.nearestAirportStore[d]=g};this.getLatLng=function(c,d){if(c){var b=c.split(","),f=b[0];b=b[1];f||(f="");b||(b="");b=b.replace(/^\s+/,
"");jQuery.getJSON("/facebook/GeoLocation/",{city:f,country:b},function(g){if(g)if(g.success){a.addressStore[c]=g;d(g)}else(new GClientGeocoder).getLatLng(c,function(h){if(h){h={lat:h.lat(),lng:h.lng(),success:1};a.addressStore[c]=h;d(h)}})})}};this.sendPrivateMessage=function(c,d,b){d||(d="");b||(b="");d=encodeURI(d);b=encodeURI(b);c="http://www.facebook.com/?sk=messages&compose&id="+c+"&subject="+d+"&message="+b;(d=parent)||(d=window);d.location.href=c};this.showShareDialog=function(){FB&&FB.Connect.showShareDialog("http://apps.facebook.com/"+
a.suffix+"/",function(){})};this.showBookmarkDialog=function(){FB&&FB.Connect.showBookmarkDialog(function(){})};this.createProfileInfoURL=function(c){var d=$(c).attr("href");d+=d.match(/\?/i)?"&v=info":"?v=info";$(c).attr("href",d);try{top&&!top.location.href.match(/\.facebook\./)&&$(c).attr("target","_blank")}catch(b){}};this.setPublishStreamPermission=function(c){a.hasPublishStreamPermission=c};this.updateAirportSelect=function(c){if(c!="-1"){if(!c)c=a.myAirport.IATAcode;$("#airportSelect").val(c);
$("#airportSelect").trigger("change")}};this.askForHometown=function(c,d,b){a.sendPrivateMessage(c,"Ich will Dich sehen","Hey "+d+",\n\nDu musst unbedingt Deine Heimatstadt im Profil eintragen!\n\nDann können wir die neue TUIfly SkyFriends App zusammen benutzen. Die ist wirklich cool!\nDamit kann man die besten Flugangebote zum zusammen verreisen und gegenseitig besuchen finden.\n\nLG, "+b)};this.getOfferURL=function(c,d,b,f){c||(c="");d||(d="");b||(b="");var g,h;if(s2.tuifly.helper.facebook.page.flytogether.selectedDate.value>
0){g=s2.tuifly.helper.facebook.page.flytogether.selectedDate.value;h=g.substring(0,4);var m=g.substring(4);g="01."+m+"."+h;h="14."+m+"."+h}else{g=Date.today().toString("dd.MM.yyyy");h=Date.today().add(7).days().toString("dd.MM.yyyy")}c=location.protocol+"//www.tuifly.com/route/"+c+"/"+d;if(g)c+="/"+g;if(h)c+="/"+h;if(b)c+="/"+b;if(f)c+="/"+f;return c};this.showInviteDialog=function(){$("#inviteDialog").removeClass("hidden")};this.resetSearchfieldFriends=function(){var c=$(".qSearchFriends");$(c).val("");
$(c).trigger("keyup");$(c).val("Freunde suchen");$("#resetSearchIconFriends").addClass("hidden")};this.publishOnFriendStream=function(c,d,b,f){FB&&FB.Connect.streamPublish(d,b,f,c)}});
s2.namespace("s2.tuifly.helper.facebook.page.visit",function(){var a=this;a.friendToAddressStore={};a.friendToAirportStore={};a.mapAirportLayerSetsCount={};a.amountOfFriendPerRow=5;a.mapLoaded=false;this.initialize=function(){if(document.getElementById("facebookapp"))if(document.getElementById("facebookVisit")){a.initDirectionHandling();a.initAirportSelectBox();a.initMapMessageLayer();a.initMapNameLayer();$(".sliderContent").live("mouseout",function(c){c.originalTarget&&c.originalTarget.nodeName==
"IMG"||c.fromElement&&c.fromElement.nodeName=="IMG"||$(".qNameLayer").addClass("hidden")})}};this.initMapMessageLayer=function(){$(".sliderContent .qMessage").live("mouseover",function(){var c=$(".qNameLayer"),d=$(this).attr("message");$(c).find(".qName").html(d);var b=$(this).offset();d=b.top-5;b=b.left+20;$(c).css("top",d+"px");$(c).css("left",b+"px");$(c).removeClass("hidden")})};this.initMapNameLayer=function(){$(".sliderContent img").live("mouseover",function(){var c=$(".qNameLayer"),d=$(this).attr("name");
$(c).find(".qName").html(d);var b=$(this).offset();d=b.top+10;b=b.left+38;$(c).css("top",d+"px");$(c).css("left",b+"px");$(c).removeClass("hidden")})};this.initAirportSelectBox=function(){$("#airportSelect").change(function(){var c=$(this).val();s2.tuifly.helper.facebook.myAirport=s2.tuifly.helper.facebook.getAirportFromIATAcode(c);setTimeout(s2.tuifly.helper.facebook.page.visit.loadFriendList,10)})};this.init=function(){s2.tuifly.helper.facebook.updateAirportSelect()};this.initDirectionHandling=
function(){$(".qDirection").click(function(){a.loadFriendList()});$(".qDirection:first").attr("checked","checked")};this.getPrice=function(c,d,b){jQuery.getJSON("/farefinder/bestoffer",{origin:c,destination:d},function(f){b(f.price);a.checkProcessAndLoadMap()})};this.loadFriendList=function(){var c=s2.tuifly.helper.facebook.getFriends(),d=$(".qDirection:checked").val()=="visit"?false:true;$(".qFriend").addClass("deactivateModul");$(".qOfferDetails").addClass("hidden");$(".qZZF").addClass("hidden");
$(".qStandardMessage").addClass("hidden");$(".qSameAirport").addClass("hidden");$(".qLinkFlyTogether").addClass("hidden");$(".qRoute").addClass("hidden");$(".qFriend").addClass("qLoading");$(".qFriend").removeClass("noPriceAvailable");a.deactivateMap();a.friendToAddressStore={};a.friendToAirportStore={};for(var b in c)(function(){var f=c[b];if(f.FriendID!=s2.tuifly.helper.facebook.loggedInUserID){var g=f.Location;if(g)if(a.friendToAddressStore[g])a.friendToAddressStore[g].push(f.FriendID);else{a.friendToAddressStore[g]=
[f.FriendID];s2.tuifly.helper.facebook.getLatLng(g,function(h){if(h){var m=s2.tuifly.helper.facebook.nearestAirport(h),o=a.friendToAddressStore[g];if(m.IATAcode!=s2.tuifly.helper.facebook.myAirport.IATAcode){var q,u,w;if(d){u=m;q=s2.tuifly.helper.facebook.myAirport;w="von <br/>"+u.Name}else{u=s2.tuifly.helper.facebook.myAirport;q=m;w="nach <br/>"+q.Name}m.distance<=2E5?a.getPrice(u.IATAcode,q.IATAcode,function(A){jQuery.each(o,function(H){var K=o[H];H=$("#friend"+K);if(A){var L=s2.tuifly.helper.facebook.getOfferURL(u.IATAcode,
q.IATAcode,"ZuFreunden");$(H).find(".qOfferLink").attr("href",L);$(H).find(".qOrigin").html(u.Name);$(H).find(".qDestination").html(q.Name);$(H).find(".qPrice").html(A);$(H).find(".qOfferDetails").removeClass("hidden");L=u.Name+" > "+q.Name;$(H).find(".qOfferLink").attr("title",L+" ab "+A+" bei TUIfly.com");$(H).find(".qRoute").removeClass("hidden");$(H).find(".qSameAirport").addClass("hidden");$(H).find(".qLinkFlyTogether").addClass("hidden");$(H).find(".qMessage").removeClass("hidden");$(H).removeClass("qLoading");
$(H).removeClass("deactivateModul");if(a.friendToAirportStore[m.IATAcode])jQuery.inArray(K,a.friendToAirportStore[m.IATAcode])==-1&&a.friendToAirportStore[m.IATAcode].push(K);else a.friendToAirportStore[m.IATAcode]=[K]}else{$(H).removeClass("qLoading");$(H).removeClass("deactivateModul");$(H).addClass("noPriceAvailable");$(H).find(".qMessage").addClass("hidden");$(H).find(".qStandardMessage").removeClass("hidden");$(H).find(".qZZF").removeClass("hidden");K=s2.tuifly.helper.facebook.countryCodes.GERMANY;
u.CountryCode==K&&q.CountryCode!=K||u.CountryCode!=K&&q.CountryCode==K?$(H).find(".qZZF").html('<a class="linkIconSmall" target="_parent" href="https://www.tuifly.com/RetrieveBookingExtras.aspx#toggleBox_1949">vielleicht mit dem<br/>Zug zum Flug?</a>'):$(H).find(".qZZF").html("kein Flug "+w)}})}):jQuery.each(o,function(A){A=$("#friend"+o[A]);$(A).removeClass("qLoading");$(A).removeClass("deactivateModul");$(A).addClass("tooFarAway");$(A).find(".qMessage").addClass("hidden");$(A).find(".qStandardMessage").removeClass("hidden");
$(A).find(".qZZF").removeClass("hidden");$(A).find(".qZZF").html("kein Flug "+w)})}else jQuery.each(o,function(A){A=$("#friend"+o[A]);$(A).find(".qSameAirport").html("zu Fu&szlig; besuchen oder<br />");$(A).find(".qMessage").addClass("hidden");$(A).find(".qSameAirport").removeClass("hidden");$(A).find(".qLinkFlyTogether").removeClass("hidden");$(A).removeClass("qLoading");$(A).removeClass("deactivateModul")});a.checkProcessAndLoadMap()}})}else{f=$("#friend"+f.FriendID);if(d){orig="???";dest=s2.tuifly.helper.facebook.myAirport.Name}else{orig=
s2.tuifly.helper.facebook.myAirport.Name;dest="???"}$(f).find(".qRoute").removeClass("hidden");$(f).find(".qOrigin").html(orig);$(f).find(".qDestination").html(dest);$(f).find(".qAskForHometown").removeClass("hidden");$(f).removeClass("qLoading");$(f).removeClass("deactivateModul")}}})()};this.composeMessageTo=function(c,d,b){var f="";f=$("#friend"+c+" .qOrigin").text();var g=$("#friend"+c+" .qDestination").text();f=f+" > "+g;g=$("#friend"+c+" .qPrice").text();var h=$("#friend"+c+" .qOfferLink").attr("href");
f=$(".qDirection:checked").val()=="visit"?"Hey "+d+",\n\nwas hälst Du davon, wenn ich Dich spontan besuchen komme?\n\nDurch die TUIfly SkyFriends beta App habe ich dieses tolle Angebot gefunden, um Dich zu besuchen:\n\n"+f+"\nab "+g+"\n\nWann passt es dir am besten?\n\n"+h+"\n\nLG, "+b:"Hey "+d+",\n\nwas hälst Du davon mich demnächst zu besuchen?\n\nDurch die TUIfly SkyFriends beta App habe ich dieses tolle Angebot gefunden:\n\n"+f+"\nab "+g+"\n\nBis bald bei mir.\n\n"+h+"\n\nLG, "+b;s2.tuifly.helper.facebook.sendPrivateMessage(c,
"Überraschung :-)",f)};this.sendOfferToFriend=function(c){s2.tuifly.widget.dialog.confirm("Magst Du den Besuch über eine private Nachricht vorschlagen?\nOder einfach auf die Pinnwand posten?",{forceIframeAlert:true,title:"Einen Besuch vorschlagen",okButtonText:"Pinnwand",cancelButtonText:"private Nachricht",okCallback:function(){s2.tuifly.helper.facebook.page.visit.sendPublicOfferMessage(c)},cancelCallback:function(){s2.tuifly.helper.facebook.page.visit.sendPrivateOfferMessage(c)},view:"note",fixTop:350,
dialogClass:"skyFriends",callback:function(){setTimeout('$(".buttonCancel").addClass("mailButton"); $(".buttonOK").addClass("pinButton");',100)}})};this.setupMap=function(){if(GBrowserIsCompatible()){var c=document.getElementById("map");if(c){$(c).removeClass("hidden");a.map=new GMap2(c);GEvent.addListener(a.map,"load",function(){$("#mapLoading").removeClass("invisible")});a.map.setUIToDefault();a.map.setCenter(new GLatLng(49.95122,10.283203),4);a.markerManager=new MarkerManager(a.map)}}};this.checkProcessAndLoadMap=
function(){if(!a.mapLoaded&&$(".qLoading").length==0){a.loadMarkers();a.activateMap()}};this.deactivateMap=function(){$("#mapLoading").addClass("deactivateMapLoading");$("#mapDeactivate").addClass("deactivateMap");a.mapLoaded=false;a.markerManager.clearMarkers();a.map.clearOverlays()};this.activateMap=function(){$("#mapLoading").removeClass("deactivateMapLoading");$("#mapDeactivate").removeClass("deactivateMap");a.mapLoaded=true};this.loadMarkers=function(){if(a.markerManager){a.markerManager.clearMarkers();
a.map.clearOverlays();var c=[],d=s2.tuifly.helper.facebook.getIATACodeToAirportStore(),b=d[s2.tuifly.helper.facebook.myAirport.IATAcode],f=new GLatLng(b.Lat,b.Lng),g={geodesic:true};a.map.panTo(f,4);var h=[];h.push(f);if(b=a.createAirportMarker(f,[],s2.tuifly.helper.facebook.myAirport.Name,s2.tuifly.helper.facebook.myAirport.IATAcode)){c.push(b);jQuery.each(d,function(m,o){var q=a.friendToAirportStore[m];if(q&&q.length>0){var u=new GLatLng(o.Lat,o.Lng);if(u){q=a.createAirportMarker(u,q,o.Name,o.IATAcode);
c.push(q);q=new GPolyline([f,u],"#ff0000",1,1,g);a.map.addOverlay(q);h.push(u)}}});a.insertFriendsAddressToMap();a.markerManager.addMarkers(c,0);a.markerManager.refresh();if(h.length>1){d=new GLatLngBounds;for(b=0;b<h.length;b++)d.extend(h[b]);b=a.map.getBoundsZoomLevel(d);a.map.setCenter(d.getCenter(),b)}}else{a.activateMap();a.map.setCenter(new GLatLng(49.95122,10.283203),4)}}};this.createAirportMarker=function(c,d,b,f){if(!(c.lat()==0&&c.lng()==0)){var g=new GIcon(G_DEFAULT_ICON),h=d.length,m=
true,o=false,q="";if(h>=10){g.image="/skyres/images/facebook/marker_airplane_big.png";g.iconSize=new GSize(24,24);g.iconAnchor=new GPoint(10,10)}else if(h>=3){g.image="/skyres/images/facebook/marker_airplane_normal.png";g.iconSize=new GSize(20,20);g.iconAnchor=new GPoint(6,10)}else if(h>=1){g.image="/skyres/images/facebook/marker_airplane_small.png";g.iconSize=new GSize(16,16);g.iconAnchor=new GPoint(4,10)}else{g.image="/skyres/images/facebook/myAirportMarker.png";g.iconSize=new GSize(17,16);g.iconAnchor=
new GPoint(4,10);o=true}g.shadowSize=new GSize(0,0);g.iconWindowAnchor=new GPoint(5,1);var u=b?b:"";if(o){m=false;q="Mein Flughafen: "+u}else q="Jetzt klicken: "+u+" ("+h+" Freund"+(h>1?"e":"")+")";markerOptions={icon:g,clickable:m,title:q};var w=new GMarker(c,markerOptions),A,H,K,L=0,E=0;f=f?f:"";var O=$("#mapAirportTemplate>.friendLayer").clone();jQuery.each(d,function(I){L%a.amountOfFriendPerRow==0&&E++;L++;var B=d[I],T=$("#friend"+B);I=$(T).find(".qPicture").attr("src");if(typeof A=="undefined")A=
$(T).find(".qPrice").html();if(typeof H=="undefined")H=$(T).find(".qOrigin").html();if(typeof K=="undefined")K=$(T).find(".qDestination").html();var ea=$(T).find(".qFriendLink").attr("title"),W=$(T).find(".qFriendLink").attr("href"),M=$(T).find(".qOfferLink").attr("href"),r=$(T).find(".qOfferLink").attr("title"),ta=$(T).find(".qMessage").attr("href");T=$(T).find(".qMessage").attr("title");var ia="unit size1of5 q"+f+"Set"+E+" q"+f+"Sets";if(L==a.amountOfFriendPerRow)ia+=" lastUnit";B="<div class='"+
ia+"' id='mapFriend"+B+"'>";B=B+('<a href="'+W+"\" target='_parent'><img src='"+I+"' name=\""+ea+'" /></a>')+('<a href="'+ta+"\" class='message qMessage' message='"+T+"'></a>")+"</div>";$(O).find(".sliderContent").append(B);$(O).find(".qOrigin").html(H);$(O).find(".qDestination").html(K);$(O).find(".qPrice").html(A);$(O).find(".qAirportName").html(u);$(O).find(".qOfferLink").attr("href",M);$(O).find(".qOfferLink").attr("title",r);$(O).find(".qSliderRight").addClass("qSliderRight"+f);$(O).find(".qSliderLeft").addClass("qSliderLeft"+
f);$(O).find(".qSliderRight").attr("href","javascript:s2.tuifly.helper.facebook.page.visit.scrollRight(1, '"+f+"')");$(O).find(".qSliderLeft").attr("href","javascript:s2.tuifly.helper.facebook.page.visit.scrollLeft(1, '"+f+"')")});if(L>0){if(L<a.amountOfFriendPerRow)$(O).find(".pager").hide();else{$(O).find(".qFriendsShown").html(a.amountOfFriendPerRow);$(O).find(".qFriendsAvailable").html(L)}a.mapAirportLayerSetsCount[f]=E;GEvent.addListener(w,"click",function(){w.openInfoWindow($(O).get(0))})}return w}};
this.createAddressMarker=function(c,d,b){if(!(c.lat()==0&&c.lng()==0)){var f=new GIcon(G_DEFAULT_ICON),g=d.length,h="";if(g>=10){f.image="/skyres/images/facebook/marker_large.png";f.iconSize=new GSize(24,25);f.iconAnchor=new GPoint(10,10)}else if(g>=3){f.image="/skyres/images/facebook/marker_medium.png";f.iconSize=new GSize(18,22);f.iconAnchor=new GPoint(6,10)}else if(g>=1){f.image="/skyres/images/facebook/marker_small.png";f.iconSize=new GSize(12,22);f.iconAnchor=new GPoint(4,10)}f.shadowSize=new GSize(0,
0);f.iconWindowAnchor=new GPoint(5,1);b=b?b:"";b=b.replace(", Germany","");h="Jetzt klicken: "+b+" ("+g+" Freund"+(g>1?"e":"")+")";markerOptions={icon:f,title:h};var m=new GMarker(c,markerOptions),o=c.lat()+"-"+c.lng();o=o.replace(/\./g,"");o=o.replace(/,/g,"");var q=0,u=0,w=$("#mapAddressTemplate>.friendLayer").clone();jQuery.each(d,function(A){var H=d[A];if(H!=s2.tuifly.helper.facebook.loggedInUserID){q%a.amountOfFriendPerRow==0&&u++;q++;var K=$("#friend"+H);A=$(K).find(".qPicture").attr("src");
var L=$(K).find(".qFriendLink").attr("title"),E=$(K).find(".qFriendLink").attr("href"),O="javascript:s2.tuifly.helper.facebook.sendPrivateMessage("+H+")";K=$(K).find(".qMessage").attr("title");var I="unit size1of5 q"+o+"Set"+u+" q"+o+"Sets";if(q==a.amountOfFriendPerRow)I+=" lastUnit";H="<div class='"+I+"' id='mapFriend"+H+"'>";H=H+('<a href="'+E+"\" target='_parent'><img src='"+A+"' name=\""+L+'" /></a>')+('<a href="'+O+"\" class='message qMessage' message='"+K+"'></a>")+"</div>";$(w).find(".sliderContent").append(H);
$(w).find(".qCity").html(b);$(w).find(".qSliderRight").addClass("qSliderRight"+o);$(w).find(".qSliderLeft").addClass("qSliderLeft"+o);$(w).find(".qSliderRight").attr("href","javascript:s2.tuifly.helper.facebook.page.visit.scrollRight(1, '"+o+"')");$(w).find(".qSliderLeft").attr("href","javascript:s2.tuifly.helper.facebook.page.visit.scrollLeft(1, '"+o+"')")}});if(q>0){if(q<a.amountOfFriendPerRow)$(w).find(".pager").hide();else{$(w).find(".qFriendsShown").html(a.amountOfFriendPerRow);$(w).find(".qFriendsAvailable").html(q)}a.mapAirportLayerSetsCount[o]=
u;GEvent.addListener(m,"click",function(){m.openInfoWindow($(w).get(0))})}return m}};this.scrollLeft=function(c,d){if(!(c<=1)){var b=$(".qSliderLeft"+d),f=$(".qSliderRight"+d),g=c-1;if(g==1)$(b).addClass("sliderLeftInactive");else g<a.mapAirportLayerSetsCount[d]&&$(f).removeClass("sliderRightInactive");a.updateFriendSetsInLayer(d,g)}};this.scrollRight=function(c,d){var b=$(".qSliderLeft"+d),f=$(".qSliderRight"+d);if(c==a.mapAirportLayerSetsCount[d])$(".qSliderRight").addClass("sliderRightInactive");
else{var g=c+1;if(g>=a.mapAirportLayerSetsCount[d])$(f).addClass("sliderRightInactive");else g>=2&&$(b).removeClass("sliderLeftInactive");a.updateFriendSetsInLayer(d,g)}};this.updateFriendSetsInLayer=function(c,d){var b=$(".qSliderLeft"+c),f=$(".qSliderRight"+c);$(".q"+c+"Sets").addClass("hidden");$(".q"+c+"Set"+d).removeClass("hidden");$(b).attr("href","javascript:s2.tuifly.helper.facebook.page.visit.scrollLeft("+d+", '"+c+"')");$(f).attr("href","javascript:s2.tuifly.helper.facebook.page.visit.scrollRight("+
d+", '"+c+"')")};this.sendPrivateOfferMessage=function(c){var d=s2.tuifly.helper.facebook.getFriendByID(c),b=s2.tuifly.helper.facebook.getFriendByID(s2.tuifly.helper.facebook.loggedInUserID);d&&a.composeMessageTo(c,d.FirstName,b.FirstName)};this.sendPublicOfferMessage=function(c){var d=$("#friend"+c);d=$(d).find(".qOfferDetails .qOfferLink").attr("href");var b="";b=$(".qDirection:checked").val()=="visit"?"was hälst Du davon, wenn ich Dich spontan besuchen komme?":"was hälst Du davon mich demnächst zu besuchen?";
s2.tuifly.helper.facebook.publishOnFriendStream(c,b,{name:"Zum Angebot",href:d,description:"Einfach mal deine Freunde besuchen! Mit der TUIfly SkyFriends beta App die besten Flugangebote zum gegenseitigen besuchen und gemeinsam verreisen finden.",media:[{type:"image",src:"http://www.tuifly.com/skyres/images/facebook/attachment.png",href:"http://apps.facebook.com/"+s2.tuifly.helper.facebook.suffix+"/"}]},[{text:"zu SkyFriends",href:"http://apps.facebook.com/"+s2.tuifly.helper.facebook.suffix+"/"}])};
this.flyTogether=function(c){location.href="/facebook/default/flytogether/?f="+c+"&a="+s2.tuifly.helper.facebook.myAirport.Name};this.insertFriendsAddressToMap=function(){jQuery.each(a.friendToAddressStore,function(c){var d=function(b){if(b){b=new GLatLng(b.lat,b.lng);b=a.createAddressMarker(b,a.friendToAddressStore[c],c);a.markerManager.addMarkers([b],0)}};s2.tuifly.helper.facebook.addressStore[c]?d(s2.tuifly.helper.facebook.addressStore[c]):s2.tuifly.helper.facebook.getLatLng(c,d)})}});
s2.namespace("s2.tuifly.helper.facebookTUIfly",function(){var a=this;this.initialize=function(){if(document.getElementById("skyfriendsApp"))if(jQuery.browser.msie6)s2.tuifly.widget.dialog.standardLayer($("#ie6AlertTemplate"),{view:"note",noDefaultButton:true,title:"Hinweis",dialogClass:"IE6UpgradeMessage",width:"550px"});else{var c;if(top.location.href.match(/devel\.tuifly\.sinnerschrader/))c="175218dfe2b426e3a2cccff394a1cbf4";else if(top.location.href.match(/stage\.tuifly\.sinnerschrader/))c="63f92257c450a90f1d6521abd496ab0c";
else if(top.location.href.match(/tuifly\.com\//))c="6c18c73f9e3d6c0744044bb6f81c8aad";else if(top.location.href.match(/tuifly\//)||top.location.href.match(/localhost\//)||top.location.href.match(/tui\//))c="b56fda59eff39aa70ad0d8f3a3b263cf";a.initFacebookApi(c)}};this.initFacebookApi=function(c){if(FB){FB.init(c,"/facebook/xd_receiver.html",{doNotUseCachedConnectState:true});FB.ensureInit(function(){loadApp=function(){$("#skyfriendsIntro").remove();$("#appLoading").removeClass("hidden");var d=FB.Facebook.apiClient.get_session(),
b='<iframe src="'+("/facebook/flytogether/?site=tuifly&fb_session_key="+d.session_key+"&fb_uid="+d.uid)+'" frameborder="0" width="760" height="800" />';$("#skyfriendsApp").html(b);FB.Facebook.apiClient.users_getInfo([d.uid],["first_name","pic_square"],function(f){if(f&&f.length>0){var g=f[0].pic_square;f=f[0].first_name;$("#fbLogoutBox .qFBImage").attr("src",g);$("#fbLogoutBox .qFBFirstName").html(f);$("#fbLoginBox").addClass("hidden");$("#fbLogoutBox").removeClass("hidden")}})};FB.Connect.get_status().waitUntilReady(function(d){switch(d){case FB.ConnectState.connected:$("#fbLogin").addClass("hidden");
$("#fbLogout").removeClass("hidden");loadApp();break;case FB.ConnectState.appNotAuthorized:case FB.ConnectState.userNotLoggedIn:$("#fbLogoutBox").addClass("hidden");$("#fbLoginBox").removeClass("hidden")}})})}}});
s2.namespace("s2.tuifly.helper.laterooms",function(){var a=this,c="dd.MM.yyyy";a.departureDate="";a.arrivalDate="";a.equipment=[];a.sortDirection="";a.selectedLocation={};a.initialKword="";a.customkword=0;a.arrivalAirport={};a.selectedHotel={};a.selectedFacilityFilter=[];a.initialized=false;a.SEARCHPARAMS={mode:{"default":0,all:1}};a.defaultSortDirection={PRICE:"U_PRICE",STAR:"D_STAR",DISTANCE:"U_DISTANCE"};a.sortDirections={UP:"U",DOWN:"D"};a.initialize=function(){$("#tuiHotelsBox .toggleContent:visible").length==
0?$.cachedFind("#tuiHotelsBox").find("h3").live("click",function(){a.init()}):a.init()};a.init=function(){if(document.getElementById("tuiHotelsBox")&&!a.initialized){a.initialized=true;a.loadInitialRequest();a.initNaviHandler();a.initSearchOptionHandler();a.initKwordFieldHandler();if(JooseX.Culture.Factory.get().majorIdentifier()=="en")c="dd/MM/yyyy"}};a.hideMapControls=function(){$(".q-linkMap, .qShowOnMap").hide()};var d=true;a.loadInitialRequest=function(){var b=30;location.hostname.match(/tuifly\.com/)||
(b=60);window.setTimeout("s2.tuifly.helper.laterooms.timeout()",b*1E3);jQuery.get("/HotelListAjax.aspx?initFromBooking=true",function(f){if(d){d=false;$("#lrResponseLoading").addClass("hidden");$("#qHotelResponse").html(f);typeof google=="undefined"&&a.hideMapControls();s2.tuifly.helper.lateroomsMap.hotels.length&&s2.tuifly.util.tracking.fire({events:["event69"],name:"TUIHotels Offers",values:{products:s.products}})}})};a.timeout=function(){if(d){d=false;var b=s2.tuifly.util.culture.get("txtNoHotel");
$("#lrResponseLoading").addClass("hidden");$("#qHotelResponse").html(b);s_trackEvent("event27","event27","TUIHotels Timeout")}};a.initNaviHandler=function(){var b=$(".naviHotels li");b.click(function(f,g){if($(this).hasClass("active"))return g&&g();b.toggleClass("active");a.activateCorrectView(true,g)})};a.initSearchOptionHandler=function(){$(".detailSearchNavi li").live("click",function(){var b=$(this);if(b.hasClass("open"))a.closeSearchOptions();else{b.hasClass("qDateAndPlaceOption")&&a.openDateAndPlaceOption();
b.hasClass("qEquipmentOption")&&a.openEquipmentOption()}})};a.initKwordFieldHandler=function(){$("#lrCity").change(function(){a.selectedLocation=$(this).val()})};a.initSortByHandler=function(){$("#selectSortedby").change(s2.tuifly.helper.laterooms.sort);$("#selectStars").change(s2.tuifly.helper.laterooms.sort)};a.initDatepicker=function(){a.departureDate&&$("#datePickerFlight").val(a.departureDate.toString(c));a.arrivalDate&&$("#datePickerReturn").val(a.arrivalDate.toString(c))};a.setDepartureDate=
function(b){if(b)if(b=Date.parse(b)){a.departureDate=b;$(".qDepartureDate").html(b.toString(c))}};a.setArrivalDate=function(b){if(b)if(b=Date.parse(b)){a.arrivalDate=b;$(".qArrivalDate").html(b.toString(c))}};a.openDateAndPlaceOption=function(){a.closeSearchOptions();$(".qDateAndPlaceOption").addClass("open")};a.openEquipmentOption=function(){a.closeSearchOptions();$(".qEquipmentOption").addClass("open")};a.closeSearchOptions=function(){$(".detailSearchNavi li").removeClass("open");$(".detailSearchContent").removeClass("open")};
a.searchByKword=function(){var b=$("#lrCity").val();$("#lrIATACode").val();var f=$("#datePickerFlight").val(),g=Date.parse(f),h=$("#datePickerReturn").val();if(f&&h){f=a.getNights(f,h);b={kword:b,sdate:g.toString("yyyy-MM-dd"),nights:f,facilities:"",sortedby:a.defaultSortDirection.PRICE};a.search(b,s2.tuifly.helper.laterooms.openDateAndPlaceOption)}else alert(s2.tuifly.util.culture.get("lateroomsInvalidDate"))};a.filterEquipment=function(){var b={};b=a.addSortDirection(b);b=a.addFacilityFilter(b);
a.search(b,s2.tuifly.helper.laterooms.openEquipmentOption)};a.resetEquipmentFilter=function(){$(".qEquipmentOptionInput").attr("checked",false);a.filterEquipment()};a.addFacilityFilter=function(b){b||(b={});var f=$(".qEquipmentOptionInput:checked"),g=[];jQuery.each(f,function(){var h=$(this).attr("id");h=h.replace(/qFacility/,"");g.push(h)});a.selectedFacilityFilter=g;jQuery.extend(b,{facilities:g.join(",")});return b};a.search=function(b,f){if(b)if(b.nights>28||b.nights==0)alert(s2.tuifly.util.culture.get("lateroomsTooManyNights"));
else{b.customkword=0;if(typeof b.mode=="undefined")b.mode=a.SEARCHPARAMS.mode.all;if(b.kword)if(a.isCustomKwordSearch(b.kword)){b.customkword=1;a.customkword=1}s2.tuifly.widget.dialog.showAjaxLoadingOverlay();s2.tuifly.helper.lateroomsMap.setInitialized(false);jQuery.get("/HotelListAjax.aspx",b,function(g){s2.tuifly.widget.dialog.closeAjaxLoadingOverlay();$("#qHotelResponse").get(0).innerHTML="";$("#qHotelResponse").removeClass("hidden");$("#qHotelResponse").html(g);typeof f=="function"&&f();a.activateCorrectView(true);
a.selectCurrentFacilityFilter();s2.tuifly.helper.lateroomsList.checkAmountNotVisibleHotels();typeof google.maps=="undefined"&&a.hideMapControls()})}};a.isCustomKwordSearch=function(b){b=b.trim();var f=a.initialKword.trim();return a.customkword||b!=f};a.openChangeCity=function(){$(".targetChange .qStationName").addClass("hidden");$("#lrCity").removeClass("hidden");$("#lrCity").focus();$("#lrCity").select()};a.addSortDirection=function(b){b||(b={});var f=$("#selectSortedby").val();f.match(/^[A-Z]_/)||
(f=a.defaultSortDirection[f]);jQuery.extend(b,{sortedby:f});return b};a.addSortStars=function(b){b||(b={});var f=$("#selectStars").val();jQuery.extend(b,{minRating:f});return b};a.sort=function(){var b={};b=a.addSortStars(b);b=a.addSortDirection(b);b=a.addFacilityFilter(b);a.search(b,s2.tuifly.helper.lateroomsList.restorePreviousVisibleHotelAmount)};a.changeSortDirectionDown=function(){a.changeSortDirection("down")};a.changeSortDirectionUp=function(){a.changeSortDirection("up")};a.changeSortDirection=
function(b){var f=a.sortDirection,g="";if(b=="down")g=f.replace(/^[A-Z]_/,"D_");else if(b=="up")g=f.replace(/^[A-Z]_/,"U_");b={sortedby:g};b=a.addFacilityFilter(b);a.search(b,s2.tuifly.helper.lateroomsList.restorePreviousVisibleHotelAmount)};a.showDetails=function(b,f){var g=a.getNights(a.departureDate,a.arrivalDate);g={hids:b,roomRef:f,SDate:a.departureDate.toString("yyyy-MM-dd"),nights:g};var h="HotelDetailsAjax.aspx",m=[];jQuery.each(g,function(o,q){m.push(o+"="+q)});h+="?"+m.join("&");s2.tuifly.helper.lateroomsDirection.setLoadingDone(false);
s2.tuifly.widget.dialog.lateroomsDetailLayer(h);a.updateCurrentSelectedHotel(b)};a.addHotelRoom=function(b,f){var g=a.getNights(a.departureDate,a.arrivalDate);g={hids:b,roomRef:f,SDate:a.departureDate.toString("yyyy-MM-dd"),nights:g};var h="HotelDetailsAjax.aspx",m=[];jQuery.each(g,function(o,q){m.push(o+"="+q)});h+="?"+m.join("&");s2.tuifly.widget.dialog.showAjaxLoadingOverlay();jQuery.get(h,function(){a.updateCurrentSelectedHotel(b);$("#qHotelConfirm").html('<div class="alignCenter"><img src="/skyres/images/loading_page.gif" /></div>');
$("#qHotelConfirm").removeClass("hidden");$("#tuiHotelsBox").addClass("hidden");jQuery.get("HotelAddToBookingAjax.aspx?rooms="+f+"",function(o){$("#qHotelConfirm").html(o).attr("id","qHotelConfirm");s2.tuifly.helper.scrollToElement.start($("#qHotelConfirm"));s2.tuifly.model.Booking.TUIHotelChangeEvent.trigger();s2.tuifly.model.Booking.SSRChangeEvent.trigger();s2.tuifly.widget.dialog.closeAjaxLoadingOverlay()});a.setHotelSelectConfirm(true)})};a.updateCurrentSelectedHotel=function(b){b=$(".qRowHotels[hotelID="+
b+"]");a.selectedHotel.lat=$(b).attr("lat");a.selectedHotel.lng=$(b).attr("lng")};a.getNights=function(b,f){var g;if(typeof b=="string")g=Date.parse(b);else if(typeof b=="object")g=b;var h;if(typeof f=="string")h=Date.parse(f);else if(typeof f=="object")h=f;var m=0;for(g=g.clone();g.compareTo(h)<0;){g.addDays(1);m++}return m};a.initEquipment=function(b){a.equipment=b;var f=[];jQuery.each(a.equipment,function(){f.push('<div><input type="checkbox" onclick="s2.tuifly.helper.laterooms.filterEquipment()" class="qEquipmentOptionInput" id="qFacility'+
this.Id+'" /><label for="qFacility'+this.Id+'">'+this.Text+" ("+this.Count+")</label><br/></div>")});b=f.join("");$("#lrEquipment").prepend(b)};a.setSortDirection=function(b){a.sortDirection=b;b=a.getSortDirection();var f=a.getSortCategory();$(".qSortDirections").removeClass("active");if(b==a.sortDirections.DOWN)$(".qSortDirectionDown").addClass("active");else b==a.sortDirections.UP&&$(".qSortDirectionUp").addClass("active");$("#selectSortedby").val(f)};a.setSortStars=function(b){$("#selectStars").val(b)};
a.getSortCategory=function(){var b=a.sortDirection.match(/^[A-Z]_(.*)/);return b&&b.length>1?b[1]:""};a.getSortDirection=function(){var b=a.sortDirection.match(/^([A-Z])_/);return b&&b.length>1?b[1]:""};a.setSelectedLocation=function(b,f,g,h){a.selectedLocation.name=b;a.initialKword=b;if(!f||!g)s2.tuifly.helper.lateroomsMap.displayAirportMarker=false;if(typeof h!="undefined"&&h!=""){a.arrivalAirport.iataCode=h;a.arrivalAirport.name=b;a.arrivalAirport.lat=f;a.arrivalAirport.lng=g}a.selectedLocation.lat=
f;a.selectedLocation.lng=g};a.activateCorrectView=function(b,f){if($(".q-linkList").hasClass("active")){$("#qHotelResponse .listHotel").removeClass("hidden");$("#qHotelResponse .map").addClass("hidden");$(".radius").addClass("hidden");$(".qSortBy").removeClass("hidden")}else if($(".q-linkMap").hasClass("active")){$("#qHotelResponse .listHotel").addClass("hidden");$("#qHotelResponse .map").removeClass("hidden");$(".radius").removeClass("hidden");$(".qSortBy").addClass("hidden");b&&s2.tuifly.helper.lateroomsMap.init(f)}};
a.selectCurrentFacilityFilter=function(){jQuery.each(a.selectedFacilityFilter,function(){$("#"+("qFacility"+this)).attr("checked","checked")})};a.HotelSelectConfirm=false;a.setHotelSelectConfirm=function(b){a.HotelSelectConfirm=b};a.getHotelSelectConfirm=function(){return a.HotelSelectConfirm};a.validate=function(){$(".qLrAgbs").removeClass("formRowError");if(a.HotelSelectConfirm==true)if($("#agb:checked").length==0){var b=s2.tuifly.util.culture.get("errorAgb");$(".qLrAgbs label").addClass("error");
s2.tuifly.widget.dialog.alertNotice(b,{okCallback:function(){s2.tuifly.helper.extrasAlerts.callbackLatroomsConfirm()}});return false}else return true;else return true}});
s2.namespace("s2.tuifly.helper.lateroomsList",function(){var a=this;a.STEPSHOTELS=5;a.amountVisibleHotels=a.STEPSHOTELS;a.initialize=function(){$(".infoText .showMore").live("click",function(){element=$(this);element.addClass("hidden");var c=element.parent();c.find(".hideMore").removeClass("hidden");c.find(".moreText").removeClass("hidden");return false});$(".infoText .hideMore").live("click",function(){element=$(this);element.addClass("hidden");var c=element.parent();c.find(".showMore").removeClass("hidden");
c.find(".moreText").addClass("hidden");return false});a.checkAmountNotVisibleHotels()};a.spliceInfoText=function(c){$.each($(".infoText .spliceText"),function(){var d=$(this).text();if(d.length>=c){var b=d.substr(0,c).lastIndexOf(" "),f=d.substr(0,b);d=d.substr(b,d.length-1);$(this).html(f+'<span class="hidden moreText">'+d+"</span>")}})};a.showMoreHotels=function(){var c=$(".qRowHotels:visible").length,d=c;for(c=c+a.STEPSHOTELS;d++<c;)$(".qRowHotel"+d).removeClass("notVisible");a.amountVisibleHotels=
$(".qRowHotels:visible").length;a.amountVisibleHotels>5&&$(".qLessHotelButton").removeClass("hidden");a.checkAmountNotVisibleHotels()};a.showLessHotels=function(){for(var c=$(".qRowHotels:visible").length,d=c,b=a.STEPSHOTELS,f=0;f<b&&d>a.STEPSHOTELS;){var g=c-f;f++;d--;$(".qRowHotel"+g).addClass("notVisible")}a.amountVisibleHotels=$(".qRowHotels:visible").length;a.amountVisibleHotels<=5&&$(".qLessHotelButton").addClass("hidden");a.checkAmountNotVisibleHotels()};a.checkAmountNotVisibleHotels=function(){$(".listHotel .notVisible").length==
0?$(".qMoreHotelButton").addClass("hidden"):$(".qMoreHotelButton").removeClass("hidden")};a.restorePreviousVisibleHotelAmount=function(){for(var c=a.STEPSHOTELS,d=a.amountVisibleHotels;c++<d;)$(".qRowHotel"+c).removeClass("notVisible")}});
s2.namespace("s2.tuifly.helper.lateroomsMap",function(){var a=this;a.hotels={};a.displayAirportMarker=true;a.markers=[];a.scrollToHotelPosition=true;a.HOTELROWHEIGHT=31;a.STEPINPX=75;a.hotelRows=null;a.initialized=false;a.initialize=function(){};a.setInitialized=function(c){a.initialized=c};a.prepare=function(c){a.hotels=c};a.init=function(c){if(a.initialized||typeof google=="undefined")return c&&c();a.hotelRows=$(".qRowHotelMap");a.loadMap(function(){a.loadMarkers();a.initialized=true;c&&c();a.showMarker(a.markers)})};
a.loadMap=function(c){var d=document.getElementById("lrMap");if(d){var b={zoom:4,center:new google.maps.LatLng(49.951222,10.283203),navigationControl:true,mapTypeId:google.maps.MapTypeId.ROADMAP};a.map=new google.maps.Map(d,b);a.infoWindow=new google.maps.InfoWindow;a.markerManager=new MarkerManager(a.map,{},c)}};a.loadMarkers=function(){if(a.markerManager){var c=function(){a.markers=[];var b=[],f=0;a.markerManager.clearMarkers();var g=s2.tuifly.helper.laterooms.selectedLocation;g=new google.maps.LatLng(g.lat,
g.lng);var h=$(".hotelMapLayer");if(a.displayAirportMarker){var m=a.createAirportMarker(g);b.push(m);a.markers.push(m)}_(a.hotels).each(function(o){if(o.latitude&&o.longitude){var q=new google.maps.LatLng(o.latitude,o.longitude);if(q){o=a.createHotelMarker(q,o,++f,h);b.push(o);a.markers.push(o)}}});a.markerManager.addMarkers(b,0);a.map.setCenter(g);a.map.setZoom(12);a.markerManager.refresh()},d=s2.tuifly.helper.laterooms.selectedLocation;!d.lat||!d.lng?a.retrieveGeoPosition(d.name,function(b){if(b){s2.tuifly.helper.laterooms.selectedLocation.lat=
b.lat();s2.tuifly.helper.laterooms.selectedLocation.lng=b.lng();c()}}):c()}};a.distance=function(c,d){return google.maps.geometry.spherical.computeDistanceBetween(c,d)};a.showMarker=function(c){if(c.length>0){for(var d=new google.maps.LatLngBounds,b=0;b<c.length;b++){var f=c[b].getPosition();d.extend(f)}a.map.fitBounds(d)}};a.changeDistance=function(c){var d=[],b=s2.tuifly.helper.laterooms.selectedLocation,f=new google.maps.LatLng(b.lat,b.lng);_(a.markers).each(function(g){var h=a.distance(f,g.getPosition())<
c;g.setVisible(h);h&&d.push(g)});a.markerManager.refresh();a.showMarker(d)};a.activateMarker=function(c,d,b){jQuery.browser.msie6||$("li.q-linkMap").trigger("click",[function(){var f=new google.maps.LatLng(c,d),g=_(a.markers).detect(function(h){return h.getPosition().equals(f)});if(g){s2.tuifly.helper.scrollToElement.start($("#lateroomsContainer"));a.map.setCenter(g.getPosition());a.map.setZoom(12);if(!g.getVisible()){g.setVisible(true);a.markerManager.addMarker(g,0);a.markerManager.refresh()}a.scrollToHotelPosition=
b;setTimeout(function(){google.maps.event.trigger(g,"click")},10)}}])};a.retrieveGeoPosition=function(c,d){(new google.maps.Geocoder).geocode({address:c},function(b,f){if(f==google.maps.GeocoderStatus.OK)return d(b[0].geometry.location);else d()})};a.createAirportMarker=function(c){var d=new google.maps.MarkerImage("/skyres/images/laterooms/airportMarker.png",new google.maps.Size(35,42),null,new google.maps.Point(17,42));return new google.maps.Marker({icon:d,clickable:false,position:c})};a.createHotelMarker=
function(c,d,b,f){var g=new google.maps.MarkerImage("https://chart.googleapis.com/chart?chst=d_map_spin&chld=0.75|0|F24343|13|_|"+b,new google.maps.Size(28,41),null,new google.maps.Point(13,41)),h=new google.maps.Marker({icon:g,clickable:true,position:c}),m=f.clone();$(m).find("h2").text(d.hotelName);$(m).find(".qDetailsLink").attr("href","javascript:s2.tuifly.helper.laterooms.showDetails('"+d.hotelRef+"', '"+d.hotelRoomRef+"')");$(m).find("img").attr("src",d.imgUrl);$(m).find("img").attr("alt",d.hotelName);
$(m).find(".qHotelAddress").text(d.hotelAddress);$(m).find(".qStars").addClass("stars"+d.hotelStars);d=a.hotelRows.eq(b-1);c=d.find(".priceOld").text();d=d.find(".price").text();$(m).find(".qOldPrice").text(c);$(m).find(".qPrice").text(d);google.maps.event.addListener(h,"click",function(){a.infoWindow.setContent($(m).get(0));a.infoWindow.setPosition(h.getPosition());a.infoWindow.open(a.map);var o=$(".qAllHotels tr"),q=$(".qAllHotels");setTimeout(function(){o.css("background-color","white");q.find("[position="+
b+"]").css("background-color","lightGrey");if(a.scrollToHotelPosition){var u=a.HOTELROWHEIGHT*b-a.HOTELROWHEIGHT,w=$(".mapListHotel").scrollTop();if(w<u)for(w=w;w<u;){if(w+a.STEPINPX>=u)w=u;else w+=a.STEPINPX;$(".mapListHotel").scrollTop(w)}else for(w=w;w>u;){if(w-a.STEPINPX<=u)w=u;else w-=a.STEPINPX;$(".mapListHotel").scrollTop(w)}}else a.scrollToHotelPosition=true},300)});return h};a.radius=function(){$("#slideRadius").slider({range:"min",value:55,min:5,max:55,step:5,slide:function(c,d){var b=d.value,
f=b;if(b==55){f="alle";b=999;$(".qMiles").addClass("hidden")}else $(".qMiles").removeClass("hidden");$("#amount").val(f);setTimeout(function(){s2.tuifly.helper.lateroomsMap.changeDistance(1E3*b)},100)}});$("#amount").val($("#slideRadius").slider("value"))}});
s2.namespace("s2.tuifly.helper.lateroomsDetails",function(){var a=this,c="dd.MM.yyyy";a.departureDate="";a.arrivalDate="";this.initialize=function(){a.initNaviHandler();a.imgLinkGalerie();a.moreRooms();a.gallery();if(JooseX.Culture.Factory.get().majorIdentifier()=="en")c="dd/MM/yyyy"};a.loadRoomRequest=function(d,b){jQuery.get("/HotelDetailsAvailabilityAjax.aspx?initFromBooking=1",{nights:d,sDate:b},function(f){$(".qRoomSearchAjax").html(f);if(typeof GMap2=="undefined"){$(".qLinkApproach").hide();
$(".qLinkGalerie").addClass("last")}})};a.initDatepicker=function(){var d=JooseX.Culture.Factory.get();a.departureDate&&$("#datePickerLrRoomsArrival").val(d.formatDate(a.departureDate));a.arrivalDate&&$("#datePickerLrRoomsDeparture").val(d.formatDate(a.arrivalDate))};a.setDepartureDate=function(d){if(d)if(d=Date.parse(d)){a.departureDate=d;$(".roomSelection .qDepartureDate").html(d.toString(c))}};a.setArrivalDate=function(d){if(d)if(d=Date.parse(d)){a.arrivalDate=d;$(".roomSelection .qArrivalDate").html(d.toString(c))}};
a.setNights=function(){var d=$("#datePickerLrRoomsDeparture").val(),b=$("#datePickerLrRoomsArrival").val();d=a.getNights(b,d);$(".hotelInfo .plural, .hotelInfo .singular").addClass("hidden");$(".roomSelection .qNights").html(d);d=="1"?$(".hotelInfo .singular").removeClass("hidden"):$(".hotelInfo  .plural").removeClass("hidden")};a.setRooms=function(){var d=a.getRoomNumber();$(".qRooms").text(d)};a.setPersons=function(d){$(".personRoomSelect").val(d)};a.setBookingButton=function(){$(".hotelInfo .qBookHotel").remove();
$(".roomSearch .qBookHotel").clone().insertAfter(".qAvailable .summary")};a.initNaviHandler=function(){$(".lateroomsDetailsLayer .naviHotels li").live("click",function(){$(".lateroomsDetailsLayer .naviHotels li").removeClass("active");var d=$(this);d.addClass("active");$(".detailContent").hide();if(d.hasClass("qLinkOverview"))$(".detailsContent .overview").show();else if(d.hasClass("qLinkMore"))$(".detailsContent .equipment").show();else if(d.hasClass("qLinkGalerie"))$(".detailsContent .galerie").show();
else if(d.hasClass("qLinkApproach")){$(".detailsContent .approach").show();s2.tuifly.helper.lateroomsDirection.init()}else $(".detailsContent .overview").show()})};a.imgLinkGalerie=function(){$(".qImgLinkGalerie").live("click",function(){$(".lateroomsDetailsLayer  .naviHotels li").removeClass("active");$(".lateroomsDetailsLayer  .naviHotels .qLinkGalerie").addClass("active");$(".detailContent").hide();$(".detailsContent .galerie").show()})};a.moreRooms=function(){$(".date .more").live("click",function(){var d=
a.getRoomNumber(),b=d+1;if(d<5){$(".selectRooms").val(b);$(".qCountRoom_1").clone().insertAfter(".qCountRoom_"+d+"").attr("class","personRoom qCountRoom_"+b+"");$(".qCountRoom_"+b+" .count").html(b)}if(d==4){$(".maxRooms").removeClass("hidden");$(".date .more").addClass("inactive")}});$(".date .less").live("click",function(){var d=a.getRoomNumber();if(d>1){$(".selectRooms").val(d-1);$(".qCountRoom_"+d+"").remove()}if(d>4){$(".maxRooms").addClass("hidden");$(".date .more").removeClass("inactive")}})};
a.getRoomNumber=function(){var d=$(".selectRooms").val();return d=parseInt(d)};a.adjustRoom=function(d){var b=$(".qSelectRooms"),f=b.val();$(".results ."+f+"").removeClass("hidden");b.click(function(){var g=$(this).parent();g.find(".room").addClass("hidden");var h=$(this).val();g.find("."+h+"").removeClass("hidden");a.calculatePrices(d,true)})};a.calculatePrices=function(d,b){var f=$(".qSelectRooms").length,g=$(".qSelectRooms"),h=s2.tuifly.util.CurrencyValue.zero(),m;s2.tuifly.util.CurrencyValue.zero();
a.prices=d;for(var o=1;o<=f;o++){if(!b)if(o>1){$(".qRoomSelectionCount_1").clone().insertAfter(".qRoomSelectionCount_"+(o-1)+"").attr("class","qRoomSelectionCount_"+o+"");$(".qRoomSelectionCount_"+o+" .count").html(o)}var q=g.eq(o-1).val();if(q)q=q.slice(2);jQuery.each(a.prices,function(){if(q==this.roomRef){m=this.totalPriceCulture;var u=TYPE.S2Currency.coerce(m);$(".qRoomSelectionCount_"+o+" .roomPrice").text(u.toString());h=h.add(u)}})}if(h.value==0){$(".qAvailable").addClass("hidden");$(".notAvailable").removeClass("hidden")}else{$(".qAvailable").removeClass("hidden");
$(".notAvailable").addClass("hidden");$(".roomSelection .qPriceResult").text(""+h.toString())}};a.checkDate=function(){var d=Date.parse($("#datePickerLrRoomsArrival").val()),b=Date.parse($("#datePickerLrRoomsDeparture").val()),f=$("#datePickerLrRoomsDeparture"),g=$(".maxDays"),h=(new Date("01/30/1970")).getTime();if(b.getTime()-d.getTime()>h){f.addClass("maxDaysError");g.removeClass("hidden");return false}else if(b.getTime()<=d.getTime()){f.addClass("maxDaysError");g.removeClass("hidden");$("#datePickerLrRoomsDeparture").datepicker("setDate",
d);return false}else{f.removeClass("maxDaysError");g.addClass("hidden");return true}};a.searchRoom=function(){var d=$("#datePickerLrRoomsDeparture").val(),b=$("#datePickerLrRoomsArrival").val(),f=Date.parse(b);if(d&&b)var g=a.getNights(b,d);d=$(".personRoom").length;b=[];for(var h=1;h<=d;h++){var m=$(".qCountRoom_"+h+" .count").html(),o=$(".qCountRoom_"+h+" .personRoomSelect").val();b[h]=m+"-"+o}d=b.join(",");d=d.slice(1);f={nights:g,sDate:f.toString("yyyy-MM-dd"),roomrequests:d};if(a.checkDate()){$(".qRoomSearchAjax").html('<div class="alignCenter"><img src="/skyres/images/loading_page.gif" /></div>');
jQuery.get("/HotelDetailsAvailabilityAjax.aspx",f,function(q){$(".qRoomSearchAjax").html(q)})}};a.checkRooms=function(d){a.available=d;$(".errorRoomSelection").addClass("hidden");var b={};jQuery.each(a.available,function(){b[this.roomRef]=this.availability});var f=true,g={};jQuery.each($(".qSelectRooms"),function(){var h=$(this),m=h.val();m=m.slice(2);var o=0;if(g[m])o=g[m];g[m]=o+1;if(g[m]>b[m]){f=false;$(".errorRoomSelection").removeClass("hidden");$(".errorRoomSelection ."+h.val()+":first").removeClass("hidden");
$(".errorRoomSelection ."+h.val()+":first .count").text(b[m])}});f==true?a.addRoomsToBooking():$(".qBookHotel").attr("href","#ankerErrorRoomapping")};a.addRoomsToBooking=function(){for(var d=$(".qSelectRooms").length,b=$(".qSelectRooms"),f=[],g=1;g<=d;g++){var h=b.eq(g-1).val();h=h.slice(2);f[g]=h}d=f.join(",");d=d.slice(1);s2.tuifly.widget.dialog.divLayerClose();$("#qHotelConfirm").html('<div class="alignCenter"><img src="/skyres/images/loading_page.gif" /></div>');$("#qHotelConfirm").removeClass("hidden");
$("#tuiHotelsBox").addClass("hidden");jQuery.get("HotelAddToBookingAjax.aspx?rooms="+d+"",function(m){$("#qHotelConfirm").html(m).attr("id","qHotelConfirm");s2.tuifly.helper.scrollToElement.start($("#qHotelConfirm"));s2.tuifly.model.Booking.TUIHotelChangeEvent.trigger();s2.tuifly.model.Booking.SSRChangeEvent.trigger()});s2.tuifly.helper.laterooms.setHotelSelectConfirm(true)};a.getNights=function(d,b){var f;if(typeof d=="string")f=Date.parse(d);else if(typeof d=="object")f=d;var g;if(typeof b=="string")g=
Date.parse(b);else if(typeof b=="object")g=b;var h=0;for(f=f.clone();f.compareTo(g)<0;){f.addDays(1);h++}return h};a.gallery=function(){$(".sliderContent img").live("click",function(){clickedImage=$(this);$(".sliderContent img").removeClass("active");clickedImage.addClass("active");var d=clickedImage.attr("src").replace(/detail/g,"gallery");stageImg=$(".imageStage img");stageImg.hide();stageImg.attr("src",d);stageImg.fadeIn(1500)});$(".qLinkGalerie").live("click",function(){a.slider(300,100,400)})};
a.slider=function(d,b,f){var g=$(".slide");if(g.length!=0){var h=$(".sliderBottom"),m=$(".sliderTop"),o=g.height(),q=g.position();o+q.top>d||$(".sliderBottom").addClass("sliderBottomInactive");m.click(function(){var u=g.position();if(u.top!=0){m.removeClass("sliderTopInactive");g.animate({top:"+="+b+"px"},f,function(){if(u.top+b==0){m.addClass("sliderTopInactive");h.removeClass("sliderBottomInactive")}o+u.top+b>d&&h.removeClass("sliderBottomInactive")})}});h.click(function(){var u=g.position();if(o+
u.top>d){h.removeClass("sliderBottomInactive");g.animate({top:"-="+b+"px"},f,function(){var w=g.position();o+w.top+b>d&&m.removeClass("sliderTopInactive");o+w.top<d&&h.addClass("sliderBottomInactive")})}})}}});
s2.namespace("s2.tuifly.helper.lateroomsDirection",function(){var a=this;a.map={};a.loadingDone=false;a.DirectionStart={};a.DirectionEnd={};a.init=function(){if(typeof GMap2!="undefined")if(!a.loadingDone&&document.getElementById("lrDirectionMap")){$("#lrDirectionStartAddress").val(s2.tuifly.helper.laterooms.arrivalAirport.name);a.initInputHandler();var c={size:new GSize(547,350)};a.map=new GMap2(document.getElementById("lrDirectionMap"),c);a.map.setCenter(new GLatLng(s2.tuifly.helper.laterooms.selectedHotel.lat,
s2.tuifly.helper.laterooms.selectedHotel.lng),10);a.map.addControl(new GLargeMapControl3D);a.map.addControl(new GMapTypeControl);a.map.enableScrollWheelZoom();a.DirectionStart.lat=s2.tuifly.helper.laterooms.arrivalAirport.lat;a.DirectionStart.lng=s2.tuifly.helper.laterooms.arrivalAirport.lng;a.DirectionEnd.lat=s2.tuifly.helper.laterooms.selectedHotel.lat;a.DirectionEnd.lng=s2.tuifly.helper.laterooms.selectedHotel.lng;a.loadDirection();a.loadingDone=true}};a.loadDirection=function(){a.map.clearOverlays();
var c=new GDirections(a.map),d=[];d.push(new GLatLng(a.DirectionStart.lat,a.DirectionStart.lng));d.push(new GLatLng(a.DirectionEnd.lat,a.DirectionEnd.lng));c.loadFromWaypoints(d)};a.loadCustomDirection=function(){var c=a.getDirectionStartAdress(),d=a.getDirectionEndAddress(),b=JooseX.Culture.Factory.get().majorIdentifier();window.open("http://maps.google.de/maps?source=s_d&saddr="+c+"&daddr="+d+"&hl="+b)};a.setLoadingDone=function(c){a.loadingDone=c};a.initInputHandler=function(){$(".qLRDirectionInput").change(function(){$(this).attr("customLoad",
1)})};a.switchDirectionInput=function(){var c=$("#lrDirectionStartAddress").val(),d=$("#lrDirectionStartAddress").attr("customLoad"),b=$("#lrDirectionEndAddress").val(),f=$("#lrDirectionEndAddress").attr("customLoad");$("#lrDirectionStartAddress").val(b);$("#lrDirectionStartAddress").attr("customLoad",f);$("#lrDirectionEndAddress").val(c);$("#lrDirectionEndAddress").attr("customLoad",d);c=a.DirectionStart.lat;d=a.DirectionStart.lng;a.DirectionStart.lat=a.DirectionEnd.lat;a.DirectionStart.lng=a.DirectionEnd.lng;
a.DirectionEnd.lat=c;a.DirectionEnd.lng=d;$("#lrDirectionStartAddress").attr("customLoad")=="0"&&$("#lrDirectionEndAddress").attr("customLoad")=="0"?a.loadDirection():a.loadCustomDirection()};a.getDirectionStartAdress=function(){return $("#lrDirectionStartAddress").attr("customLoad")=="1"?$("#lrDirectionStartAddress").val():""+a.DirectionStart.lat+","+a.DirectionStart.lng};a.getDirectionEndAddress=function(){return $("#lrDirectionEndAddress").attr("customLoad")=="1"?$("#lrDirectionEndAddress").val():
""+a.DirectionEnd.lat+","+a.DirectionEnd.lng}});
s2.namespace("s2.tuifly.helper.lateroomsConfirm",function(){var a=this;this.initialize=function(){};a.deleteHotel=function(c){var d=s2.tuifly.util.culture.get("deleteHotelTitle"),b=s2.tuifly.util.culture.get("deleteHotelTitle"),f=s2.tuifly.util.culture.get("deleteHotelCancel"),g=s2.tuifly.util.culture.get("hotelDeleted");d={view:"note",title:d,okButtonText:b,cancelButtonText:f,dialogClass:"confirmBoxElvia"};if(typeof c!=="function")c=function(){a.showHotelList()};d.okCallback=c;s2.tuifly.widget.dialog.confirm(g,
d)};a.showHotelDetails=function(c,d){s2.tuifly.helper.laterooms.showDetails(c,d);s2.tuifly.helper.laterooms.setHotelSelectConfirm(true)};a.showHotelList=function(){$("#qHotelConfirm").html("");$("#tuiHotelsBox").removeClass("hidden");s2.tuifly.helper.laterooms.setHotelSelectConfirm(false);s2.tuifly.widget.dialog.showAjaxLoadingOverlay();jQuery.get("/HotelAddToBookingAjax.aspx?remove=1",function(){s2.tuifly.model.Booking.TUIHotelChangeEvent.trigger();s2.tuifly.model.Booking.SSRChangeEvent.trigger();
s2.tuifly.widget.dialog.closeAjaxLoadingOverlay()})};a.initLoad=function(){if(!document.getElementById("extrasChange")){$("#tuiHotelsBox").addClass("hidden");$("#qHotelConfirm").removeClass("hidden");jQuery.get("HotelAddToBookingAjax.aspx",function(c){$("#qHotelConfirm").html(c);s2.tuifly.helper.scrollToElement.start($("#qHotelConfirm"));s2.tuifly.model.Booking.TUIHotelChangeEvent.trigger();s2.tuifly.model.Booking.SSRChangeEvent.trigger()});s2.tuifly.helper.laterooms.setHotelSelectConfirm(true)}}});
s2.namespace("s2.tuifly.helper.lateroomsPayment",function(){var a=this;a.paymentMethodsMap={};a.lateroomsPaymentMethodsMap={};a.toValidate=false;this.initialize=function(){};a.deleteHotel=function(){s2.tuifly.widget.dialog.showAjaxLoadingOverlay();jQuery.get("/HotelAddToBookingAjax.aspx?remove=1",function(){a.toValidate=false;$("#lateroomsPaymentNote").remove();$("#qHotelConfirm").html("");s2.tuifly.model.Booking.TUIHotelChangeEvent.trigger();s2.tuifly.model.Booking.SSRChangeEvent.trigger();s2.tuifly.widget.dialog.closeAjaxLoadingOverlay()})};
a.comparePaymentMethods=function(c){a.paymentMethodsMap=c};a.compareLateroomsPaymentMethods=function(c){a.lateroomsPaymentMethodsMap=c};a.checkPaymentAvailable=function(c){if($.cachedFind("#lateroomsPaymentNote")&&$.cachedFind("#lateroomsPaymentNote").data("ispaidinfull")==="False"){var d={},b={};jQuery.each(a.paymentMethodsMap,function(){d[this.Code]=this.Id});var f=0;jQuery.each(a.lateroomsPaymentMethodsMap,function(){b[this.Type]=this.Id;f++});var g=$(c).val();if((c=g.match(/:([a-z]+)$/i))&&c[1]){g=
c[1];if(g!="AA")if($("#skysalesErrorMessageBox > span.content > span").html()&&$("#skysalesErrorMessageBox > span.content > span").html().indexOf("PaymentValidationError")>=0&&f==0){$("#lateroomsPaymentNote").addClass("hidden");a.toValidate=false}else{c=false;g=d[g];if($("select[@id='_DropDownAlternativePaymentMethods'] option[value="+g+"]").length>0)for(type in b)if(b[type]==g)c=true;if(c){$("#lateroomsPaymentNote").addClass("hidden");a.toValidate=false}else{$("#lateroomsPaymentNote").removeClass("hidden");
a.toValidate=true}}}}};a.validatePaymentLRData=function(){if(a.toValidate){$("#lateroomsPaymentNote .formRow").removeClass("formRowError");$("[id$='DropDownAlternativePaymentMethods']").val();var c=$("[id$='TextBoxCreditCard_PAN']"),d=$("[id$='TextBoxCreditCard_PAN']").val().replace(/ /g,""),b=$("[id$='TextBoxCVC']"),f=$("[id$='TextBoxCVC']").val(),g=$("[id$='TextBoxCardHolder']"),h=$("[id$='TextBoxCardHolder']").val(),m=s2.tuifly.util.culture.get("requiredErrorMessage"),o=/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,
q=/[0-9]{3}/;if(!o.test(d)||!q.test(f)||!h){alert(m);o.test(d)||c.parent().addClass("formRowError");q.test(f)||b.parent().addClass("formRowError");h||g.parent().addClass("formRowError");return false}else return true}else return true}});s2.namespace("s2.tuifly.helper.imageLightbox",function(){this.initialize=function(){$(".qZoomImage").click(function(){var a=$(this);a=$(a).attr("src");var c=a.match(/(\.[a-z]+)/i);if(c.length>1){a=a.replace(c[1],"_large"+c[1]);s2.tuifly.widget.dialog.standardImageLayer(a)}})}});
s2.namespace("s2.tuifly.helper.mottoFlieger",function(){var a=this;a.routes={};a.airplanes={};a.codeToImageName={DAHFB:"sharanair",DATUD:"haribair",DAHFM:"goldbair",DAHFZ:"gluecksbringair",DATUE:"ice",DATUC:"regio"};a.polylines=[];a.markerData={};a.FLIGHTROWHEIGHT=31;a.STEPINPX=75;a.HEADLINEPICWIDTH=209;a.maxScrollWidth=function(){var c=($(".qAircrafts").length-4)*a.HEADLINEPICWIDTH;return c<0?0:c};a.initialize=function(){if(document.getElementById("mottoFlieger")){a.initRowClickHandler();a.loadPhotos()}};
a.initRowClickHandler=function(){var c=function(d){if(d.target){d=$(d.target).closest("tr").attr("route");a.activateRoutes([d])}};$(".qAircrafts").click(c);$(".qAircrafts").mouseover(c);$(".qAircrafts").mouseout(function(){a.resetSelection()})};a.loadMap=function(){var c=document.getElementById("map"),d={zoom:4,center:new google.maps.LatLng(49.951222,10.283203),navigationControl:true,mapTypeId:google.maps.MapTypeId.ROADMAP,minZoom:2};a.map=new google.maps.Map(c,d);a.markerManager=new MarkerManager(a.map,
{},function(){var b="",f=$("#mottoVisual");f.append("<img />");for(var g in a.airplanes){var h="javascript:s2.tuifly.helper.mottoFlieger.activateAircraft('"+g+"')";if(b)f.find(".dots").append('<a class="dot dotNotActive qDots qDot'+g+'" href="'+h+'"></a>');else{b=g;a.activateAircraft(b);f.append('<div class="dots"></div>');f.find(".dots").append('<a class="dot dotActive qDots qDot'+g+'" href="'+h+'"></a>')}}a.activateFirstRoute(b)})};a.activateFirstRoute=function(c){c=$($(".q"+c+" tr.data:first")).attr("route");
a.activateRoutes([c]);$(".qFlightList").scrollTop(0)};a.loadMarkers=function(c){if(a.markerManager){a.markerData={};var d=[];a.markerManager.clearMarkers();_(a.polylines).each(function(g){g.setMap(null)});if(a.data[c]){var b=[];jQuery.each(a.data[c].Flights,function(){var g=this.Id,h=new google.maps.LatLng(this.Origin.Airport.Lat,this.Origin.Airport.Lng),m=new google.maps.LatLng(this.Destination.Airport.Lat,this.Destination.Airport.Lng);$.cachedFind("#routeDetailLayer");var o=this.Origin.Airport.IATAcode;
if(a.markerData[o])a.markerData[o].flights.push(this);else{a.markerData[o]={};a.markerData[o].flights=[this]}a.markerData[o].point=h;o=this.Destination.Airport.IATAcode;if(a.markerData[o])a.markerData[o].flights.push(this);else{a.markerData[o]={};a.markerData[o].flights=[this]}a.markerData[o].point=m;b.push(h);b.push(m);h=new google.maps.Polyline({path:[h,m],strokeColor:"#FFF700",geodesic:true,strokeWeight:2,strokeOpacity:1});a.routes[g]={currentRoute:h};h.setMap(null);a.polylines.push(h)});jQuery.each(a.markerData,
function(){var g=a.createMarker(this.point,this.flights);d.push(g)});a.markerManager.addMarkers(d,0);a.markerManager.refresh();if(b.length>1){c=new google.maps.LatLngBounds;for(var f=0;f<b.length;f++)c.extend(b[f]);a.map.fitBounds(c)}}}};a.resetSelection=function(){jQuery.each(a.routes,function(){this.currentRoute.setMap(null)});$(".qRoute").removeClass("selected")};a.activateRoutes=function(c){if(c){jQuery.each(a.routes,function(){this.currentRoute.setMap(null)});$(".qRoute").removeClass("selected");
jQuery.each(c,function(){if(a.routes[this]){a.routes[this].currentRoute.setMap(a.map);$(".qRoute"+this).addClass("selected")}})}};a.activateAircraft=function(c){a.resetSelection();a.currentSelectedAircraft=c;$(".qAircrafts").hide();$(".q"+c).show();$(".qNaviStatus").removeClass("active");$(".q"+c).closest(".qNaviStatus").addClass("active");$(".qDots").removeClass("dotActive");$(".qDot"+c).addClass("dotActive");a.loadMarkers(c);$(".qAircraftname").text(a.airplanes[c]);var d="/skyres/images/sondermodelle/"+
a.codeToImageName[c]+".jpg";$("#mottoVisual img").attr("src",d);a.activateFirstRoute(c)};a.createMarker=function(c,d){var b=new google.maps.MarkerImage("/skyres/images/sondermodelle/marker.png",new google.maps.Size(12,12),null,new google.maps.Point(6,6));b=new google.maps.Marker({position:c,map:a.map,icon:b,clickable:true});google.maps.event.addListener(b,"mouseover",function(){var f=[];jQuery.each(d,function(){f.push(this.Id)});a.activateRoutes(f);var g=$("table .q"+a.currentSelectedAircraft+" tr"),
h=$(".q"+a.currentSelectedAircraft);setTimeout(function(){var m=0;g.removeClass("selected");jQuery.each(f,function(){m||(m=this.toString());h.find(".qRoute"+this).addClass("selected")});var o=[];h.find(".qRoute").each(function(){var w=$(this);o.push(w.attr("route"))});var q=jQuery.inArray(m,o);if(q<0)q=0;q=a.FLIGHTROWHEIGHT*q-a.FLIGHTROWHEIGHT;var u=$(".qFlightList").scrollTop();if(u<q)for(u=u;u<q;){if(u+a.STEPINPX>=q)u=q;else u+=a.STEPINPX;$(".qFlightList").scrollTop(u)}else for(u=u;u>q;){if(u-a.STEPINPX<=
q)u=q;else u-=a.STEPINPX;$(".qFlightList").scrollTop(u)}},0)});google.maps.event.addListener(b,"mouseout",function(){a.resetSelection()});return b};a.setData=function(c,d){a.data=c;a.airplanes=d};a.loadPhotos=function(){var c=$("#mottoFliegerAlbum").html();$("#mottoFliegerAlbum").remove();$("#photoGallery").html(c);$.getJSON("https://graph.facebook.com/325032542793/photos?callback=?",function(d){if(!(typeof d=="undefined"||!d.data)){var b=[];jQuery.each(d.data,function(){b.push(this)});if(b.length!=
0){var f=0;d=function(){var g=b[f++];if(f>=b.length)f=0;var h=$(".qPhotoAlbum img"),m=$(".qImageDescription");h.closest("div").fadeOut("slow",function(){h.attr("src",g.picture);h.attr("title",g.name);h.addClass("border");h.removeClass("loading");h.parent().attr("href",g.link);m.text(g.name);$(this).fadeIn("slow")})};d();setInterval(d,5E3)}}})};a.scrollLeft=function(){var c=$("#naviRow");parseInt(c.css("margin-left"),10)<-1*a.maxScrollWidth()||c.animate({"margin-left":"-=209"},200)};a.scrollRight=
function(){var c=$("#naviRow");parseInt(c.css("margin-left"),10)>=0||c.animate({"margin-left":"+=209"},200)}});
s2.namespace("s2.tuifly.helper.loginregister",function(){var a=this;a.prepareForResult=function(c){c=$(c);c.find(".contentBox").removeClass("hidden");c.find(".wait").addClass("hidden")};a.showLoginRegister=function(){s2.tuifly.widget.dialog.loginRegisterLayer();this.prepareForResult($("#loginRegister-ajaxLayer"));a.prepare();$("input[id$='TextBoxAgentUserName']").val()!=""&&s2.tuifly.validation.inputValidationTUIflyCard.RequeryAjaxControl()};a.prepare=function(){$("#memberLogin .qPasswordInput input[type=text]").focus(function(){var c=
$(this),d=$("<input/>");d.attr("type","password");d.attr("class",c.attr("class"));d.attr("name",c.attr("name"));d.attr("id",c.attr("id"));c.attr("tabindex")&&d.attr("tabindex",c.attr("tabindex"));c.replaceWith(d);d.focus();d.focus(function(){$(this).select()})})}});
s2.namespace("s2.tuifly.helper.creditCard",function(){var a=this;a.showTUICreditCardInfo=function(){var c="/"+JooseX.Culture.Factory.get().majorIdentifier()+"/_includes/TUIflyCreditCard_lightbox.html";s2.tuifly.widget.dialog.infoTUICreditCardLayer(c);$("#memberLogin .qPasswordInput input").attr("type","text");$("#memberLogin .qPasswordInput input").val("Passwort");a.prepare()};a.tokenizePci=function(c){if(a.tokenizerFinished)return true;a.submitButtonId=$(c).attr("id");a.ccNumberFields=$.makeArray($("#SkySales :input.qCCnumber"));
return a.tokenizeFields()};a.tokenizeField=function(c){var d=c.data("s2-tan");if(d==undefined)return true;c=c.val().replace(/\D/g,"");if(c=="")return true;a.pciTracking="";a.pciStart=(new Date).getTime();if(typeof tokenize!=="function"){d=s2.tuifly.util.culture.get("CreditCardUnavailable");alert(d);a.trackPci("ERR1");return false}try{tokenize(c,d,"tuiflycom");a.callbackTimer=setTimeout(function(){a.callbackTimedOut=true;var f=s2.tuifly.util.culture.get("CreditCardUnavailable");alert(f);a.trackPci("ERR2")},
3E3)}catch(b){d=s2.tuifly.util.culture.get("CreditCardUnavailable");alert(d);a.trackPci("ERR3");return false}return false};a.tokenizeFields=function(){for(;a.ccNumberFields.length!==0;){var c=$(a.ccNumberFields[0]);if(a.tokenizeField(c))a.ccNumberFields.shift();else return false}return a.tokenizerFinished=true};a.setPciToken=function(c){var d=$(a.ccNumberFields[0]).attr("id");d=d.substring(0,d.length-4);$("#"+d).val(c);a.ccNumberFields.shift()};a.fireSubmit=function(){$("#"+a.submitButtonId).click()};
a.cancelCallbackTimer=function(){clearTimeout(a.callbackTimer)};a.hasCallbackTimedOut=function(){var c=a.callbackTimedOut;a.callbackTimedOut=false;return c};a.trackPci=function(c){var d=(new Date).getTime()-a.pciStart;a.pciTracking+=""+a.pciStart+";"+d+";"+c+";";d=$.cachedFind("input.qPciTracking");if(d.length===1){d.val(a.pciTracking);if(c!=="OK"){jQuery.post("/PciTrackingAjax.aspx",{Tracking:a.pciTracking});a.pciTracking=""}}}});
function onReturnTokenize(a){s2.tuifly.helper.creditCard.cancelCallbackTimer();if(s2.tuifly.helper.creditCard.hasCallbackTimedOut())s2.tuifly.helper.creditCard.trackPci("ERR5");else if(a&&a.token&&a.result=="success"){s2.tuifly.helper.creditCard.trackPci("OK");s2.tuifly.helper.creditCard.setPciToken(a.token);s2.tuifly.helper.creditCard.tokenizeFields()&&s2.tuifly.helper.creditCard.fireSubmit()}else{a=s2.tuifly.util.culture.get("CreditCardUnavailable");alert(a);s2.tuifly.helper.creditCard.trackPci("ERR4")}}
s2.namespace("s2.tuifly.helper.groupSelect",function(){var a=this,c={};a.initialize=function(){if($("#groupSelectHeadline").length!=0){$("table.flightSelection input:checked").each(function(){var d=$(this).parents("tr").attr("id").substr(3),b=d.substr(0,1);c[b]=d;a.toggleRow(d,true)});a.loadDetails();$("tr.qClickable").live("click",function(){var d=$(this).attr("id").substr(3),b=d.substr(0,1),f=c[b];f!=undefined&&a.toggleRow(f,false);c[b]=d;a.toggleRow(d,true);$(this).find(":radio").attr("checked",
true);a.loadDetails()})}};a.loadDetails=function(){if($("#taxAndFeeTotalPrice").length!=0){var d="";$("table.flightSelection input:checked").each(function(b){d+=(b>0?",":"")+$(this).val()});jQuery.get("/GroupTaxAndFeeInclusiveDisplay-resource.aspx",{flightKeys:d},function(b){b=$(b);var f=b.find("div#journey"),g=b.find("div#error");$("tr.qClickable.showDetails").each(function(){var h=$(this).attr("id").substr(3),m=$("#priceDetails"+h);if(g&&g.length>0){m.addClass("hidden");$("#taxAndFeeTotalPrice > *").hide();
$(".bookNow").hide();$("a[id$='LinkButtonRequestOffer']").hide();$("#error"+h).html(g.html()).show()}else{m.html(f.html());m.removeClass("hidden");$("#taxAndFeeTotalPrice > *").show();$(".bookNow").show();$("a[id$='LinkButtonRequestOffer']").show()}$("#loadingDetails"+h).addClass("hidden")});b=b.find("div#total");$("#taxAndFeeTotalPrice").html(b.html())})}};a.toggleRow=function(d,b){$("#row"+d).toggleClass("rowColor",!b);$("#row"+d).toggleClass("showDetails",b);$("#details"+d).toggleClass("hidden",
!b);$("#stopover"+d).toggleClass("hidden",!b);$("#taxAndFeeTotalPrice").length==0?$("#loadingDetails"+d).toggleClass("hidden",true):$("#loadingDetails"+d).toggleClass("hidden",!b);$("#priceDetails"+d).toggleClass("hidden",true);$(".error").hide()};a.validate=function(){var d=true,b=$("div.qGroupSelect > div");if(b.length==0){d=false;alert(s2.tuifly.util.culture.get("noFlightsOrFares"));return false}b.each(function(){var f=$(this).attr("value");if($("input[name$='"+f+"']").length==0){d=false;alert(s2.tuifly.util.culture.get("noFlightsOrFares"));
return false}if($("input[name$='"+f+"']:checked").length!=1){d=false;alert(s2.tuifly.util.culture.get(f+"SelectFlight"));return false}});return d}});
s2.namespace("s2.tuifly.helper.groupQuickSelect",function(){var a=this,c={};a.initialize=function(){if($("#groupQuickSelectHeadline").length!=0){$("table.flightSelection input:checked").each(function(){var d=$(this).parents("tr").attr("id").substr(3),b=d.substr(0,1);c[b]=d;a.toggleRow(d,true)});a.loadDetails();$("tr.qClickable").click(function(){var d=$(this).attr("id").substr(3),b=d.substr(0,1),f=c[b];f!=undefined&&a.toggleRow(f,false);c[b]=d;a.toggleRow(d,true);$(this).find(":radio").attr("checked",
true).focus();a.loadDetails()});$("input.qOrigin").focus();$("table.flightSelection:first input:checked").focus();$("input[id$='_TextBoxExtraSurcharge']").keydown(function(d){if(d.keyCode==13){d.preventDefault();a.setExtraSurcharge();return false}})}};a.loadDetails=function(){if($("#taxAndFeeTotalPrice").length!=0){var d=$("table.flightSelection").length,b=$("table.flightSelection input:checked").length;if(!(d===0||b===0||d!=b)){var f="";$("table.flightSelection input:checked").each(function(g){f+=
(g>0?",":"")+$(this).val()});jQuery.get("/GroupQuickTaxAndFeeInclusiveDisplay-resource.aspx",{flightKeys:f},function(g){g=$(g).find("div#total");$("#taxAndFeeTotalPrice").html(g.html())})}}};a.toggleRow=function(d,b){$("#row"+d).toggleClass("rowColor",!b);$("#row"+d).toggleClass("showDetails",b)};a.setExtraSurcharge=function(){var d={extraSurcharge:$("input[id$='_TextBoxExtraSurcharge']").val()};jQuery.post("/GroupPriceSurcharge.aspx",d,function(b){b&&$("input[id$='_TextBoxExtraSurcharge']").val(b.surcharge);
a.loadDetails()})}});
s2.namespace("s2.tuifly.helper.groupPassenger",function(){var a=this;a.initialize=function(){document.getElementById("groupBookingPassenger")&&setTimeout(function(){a.saveData()},3E5)};a.saveData=function(){var c=$("form#SkySales");c.find("input#eventTarget").attr("name","__EVENTTARGET").val("GroupBookingPassengerInputPassengersView$SaveButton");c.find("input#viewState").attr("name","__VIEWSTATE");c.find("input#eventArgument").attr("name","__EVENTARGUMENT");jQuery.ajax({type:"POST",url:"/GroupBookingPassengers.aspx",
data:c.serializeArray(),timeout:15E3,success:function(){$("#savedNotice").removeClass("hidden");setTimeout(function(){$("#savedNotice").addClass("hidden")},5E3);setTimeout(function(){a.saveData()},3E5)},error:function(){setTimeout(function(){a.saveData()},3E5)}})}});
s2.namespace("s2.tuifly.helper.restrictions",function(){var a=this,c=[];a.initialize=function(){for(var b=$(".qFlightRestrictions > div"),f=0;f<b.length;++f){var g=$(b[f]);g=jQuery.parseJSON(g.attr("value"));c.push(g)}window.getAfricanRouteException=function(){return a.getRestrictedOrigins()}};a.removeRestrictedOrigins=function(){if(!(SortedStations==null||SortedStations.length<=0))for(i=0;i<SortedStations.length;i++){var b=Stations[SortedStations[i]];b&&b.mkts&&a.isRestrictedOrigin(b.code)&&b.mkts.splice(0,
b.mkts.length)}};a.isRestrictedOrigin=function(b){for(var f=0;f<c.length;++f){var g=c[f];if(g.excludeOrigin!=null&&g.excludeOrigin.length!=0)for(var h in g.excludeOrigin)if(b.search(RegExp(g.excludeOrigin[h].origin))!=-1)return true}return false};a.getRestrictedOrigins=function(){for(var b=[],f=0;f<c.length;++f){var g=c[f];if(g.excludeOrigin!=null&&g.excludeOrigin.length!=0)for(var h in g.excludeOrigin)b=b.concat(g.excludeOrigin[h].originList.split(","))}return b};a.validateSearch=function(b,f,g){return a.validateRoute({origin:b,
destination:f,direction:g?"oneway":"return"})};var d=function(b,f){for(var g in f)if(g!=="meta"){if(b[g]==null)return false;if(g==="direction"){if(f[g]!=b[g])return false}else if(g==="origin"||g==="destination")if(b[g].search(RegExp(f[g]))==-1)return false}return true};a.validateRoute=function(b){for(var f=0;f<c.length;++f){var g=c[f];if(g.excludeRoute!=null&&g.excludeRoute.length!=0)for(var h in g.excludeRoute){var m=g.excludeRoute[h];if(d(b,m))return m.meta}}return null}});
s2.namespace("s2.tuifly.helper.friendchips",function(){var a=this;a.initialize=function(){s2.tuifly.util.Query.instance().param("fc")&&$("body").addClass("popupFriendChips");Modernizr.input.placeholder||$(".loginFriendChipsContent input").placeholder();$("#loginFriendChips h3").click(window.tuiLogin.toggleLoginFriendChips);s2.tuifly.Login.prototype.loggedIn()&&a.updateLoginInfoBox();a.initOverviewNavigationHandler();a.initAlphabetCategoryHandler();a.initSearchInputHandler();a.initCategoryCheckboxClickHandler();
a.initTextCategoryCheckboxToggle();$(".partnerAlphabet .qAC a").trigger("click");a.updateSpecialPartner();a.initMainNaviHandler();a.initMultiTeaserHandler();a.initLoginFormHandler();a.setMemberName();a.categoryDeepLink()};a.initLoginFormHandler=function(){$(".partnerDetailsLoginBox input").live("keydown",function(c){c.keyCode==s2KeyCode.ENTER&&s2.tuifly.helper.partner.login()});$("#loginFriendChipsPassword").keydown(function(c){c.keyCode==s2KeyCode.ENTER&&$(this).nextAll("input[type=button]").trigger("click")})};
a.updateLoginInfoBox=function(){jQuery.getJSON("/NewskiesEndpointMemberInformation.aspx",function(c){if(c&&c.Success&&c.ErrorCode==0){var d=$(".qFriendChipsMemberInfos"),b=c.Data.Name.FirstName+" "+c.Data.Name.LastName,f=c.Data.CustomerNumber,g=function(m){m=m||"0";m=m.replace(/\./,"");return parseInt(m,10)},h=g(c.Data.Friendchips);g=g(c.Data.FriendchipsPending);c=c.Data.FriendchipsInEuro||"0";c=c.replace(/\./,",");if(c.match(/,[0-9]{1}$/))c+="0";d.find(".qName").text(b);d.find(".qCustomernumber").text(f);
b=function(m){ns=String(m).replace(".",",");for(m=[];ns.length>0;){var o=ns.length;if(o>=3){s=ns.substr(o-3);ns=ns.substr(0,o-3)}else{s=ns;ns=""}m.push(s)}for(i=m.length-1;i>=0;i--)ns+=m[i]+".";ns=ns.substr(0,ns.length-1);return ns.replace(/\.,/,",")};d.find(".qFriendChipsAvailableValue").text(b(h));d.find(".qFriendChipsPendingValue").text(b(g));d.find(".qFriendChipsInEuroValue").text(b(c));if(!h&&!g){d.find(".qNoFriendChips").removeClass("hidden");d.find(".qMyAccount").remove()}else if(h&&!g){d.find(".qFCAvailable").removeClass("hidden");
d.find(".qFCEuro").removeClass("hidden");d.find(".qCollect").remove()}else if(h&&g){d.find(".qFCAvailable").removeClass("hidden");d.find(".qFCEuro").removeClass("hidden");d.find(".qCollect").remove()}else if(!h&&g){d.find(".qFCPending").removeClass("hidden");d.find(".qCollect").remove()}}})};a.initMultiTeaserHandler=function(){$(".multiTeaser li").click(function(){var c=$(this).data("position");$(".multiTeaser li").removeClass("active");$(this).addClass("active");$(".multiTeaser .passepartout").hide();
$("#multiteaser"+c).show();return false})};a.initMainNaviHandler=function(){var c=function(){$(this).toggleClass("friendchipsNaviActive")};$("ul.mainNavigationFriendChips li").mouseover(c).mouseout(c)};a.initOverviewNavigationHandler=function(){$(".partnerSearch li a").click(function(){$(this).parents("ul").find("li").removeClass("active");var c=$(this).parents("li");c.addClass("active");if(c.hasClass("qAllPartner")){a.showAllPartner();a.showSearchBox()}else if(c.hasClass("qBestOfferPartner")){a.showBestOfferPartner();
a.hideSearchBox()}else if(c.hasClass("qNewPartner")){a.showNewPartner();a.hideSearchBox()}return false})};a.hideSearchBox=function(){$(".areaFriendChips .qSearchbox").hide()};a.showSearchBox=function(){$(".areaFriendChips .qSearchbox").show()};a.initAlphabetCategoryHandler=function(){$(".partnerAlphabet li a").click(function(){$(this).parents("ul").find("li").removeClass("active");var c=$(this).parents("li");c.addClass("active");var d=[];if(c.hasClass("qAC"))d=["a","b","c"];else if(c.hasClass("qDF"))d=
["d","e","f"];else if(c.hasClass("qGJ"))d=["g","h","i","j"];else if(c.hasClass("qKN"))d=["k","l","m","n"];else if(c.hasClass("qOR"))d=["o","p","q","r"];else if(c.hasClass("qSU"))d=["s","t","u"];else if(c.hasClass("qVZ"))d=["v","w","x","y","z"];else return false;a.hideAllPartner();_.each(d,function(b){a.showPartnerByFirstChar(b)});return false})};a.initSearchInputHandler=function(){Modernizr.input.placeholder||$(".qPartnerSearchInput").placeholder()};a.initCategoryCheckboxClickHandler=function(){$(".partnerCategory :checkbox").click(function(){a.hideAllPartner();
if($(this).attr("checked"))if($(this).attr("id")=="category_all"){$(".partnerCategory :checkbox").attr("checked","");$("#category_all").attr("checked","checked");a.showAllPartner();return}else $("#category_all").attr("checked","");a.showCategory()})};a.showCategory=function(){a.hideAllPartner();var c=$(".partnerCategory :checkbox:checked");if(c.length==0){$("#category_all").attr("checked","checked");a.showAllPartner()}else c.each(function(){var d=$(this).attr("data-value");a.showPartnerByProperty(d)})};
a.categoryDeepLink=function(){var c=s2.tuifly.util.Query.instance().param("kat");if(c){$("#category_all").attr("checked","");c=c.split(",");_(c).each(function(d){$('.checkbox[data-value="'+d+'"]').attr("checked","checked")});a.showCategory()}};a.initTextCategoryCheckboxToggle=function(){$("#category_2").click(function(){if($(this).is(":checked")){$("#category_abo").removeClass("hidden");$("#visual_abo").removeClass("hidden");$("#visual_standard").addClass("hidden")}else{$("#category_abo").addClass("hidden");
$("#visual_abo").addClass("hidden");$("#visual_standard").removeClass("hidden")}});$("#category_all").click(function(){$("#category_abo").addClass("hidden");$("#visual_abo").addClass("hidden");$("#visual_standard").removeClass("hidden")})};a.updateSpecialPartner=function(){var c=$(".qPartner").not(".deactivated").length,d=0,b=$(".qSpecialTeaser");if(c>=5)d=5;else if(c<5&&c>0)d=c;if(d>0){$($(".qPartner").not(".deactivated").eq(d-1)).after(b);b.removeClass("deactivated")}else b.addClass("deactivated")};
a.showPartnerByProperty=function(c){if(c){c=c.toUpperCase();$(".qPartner").each(function(){var d=$(this).attr("property");d=d.toUpperCase();d.indexOf(c)>=0&&$(this).removeClass("deactivated")});a.updateSpecialPartner()}};a.showPartnerByFirstChar=function(c){if(c){c=c.toUpperCase();$(".qPartner").each(function(){var d=$(this).attr("property");d=d.substr(0,1);d=d.toUpperCase();d==c&&$(this).removeClass("deactivated")});a.updateSpecialPartner()}};a.hideAllPartner=function(){$(".qPartner").addClass("deactivated")};
a.showAllPartner=function(){$(".qPartner").removeClass("deactivated");a.updateSpecialPartner()};a.showBestOfferPartner=function(){a.hideAllPartner();a.showPartnerByProperty("Nach_Aktionen")};a.showNewPartner=function(){a.hideAllPartner();a.showPartnerByProperty("Neue_Partner")};a.searchPartner=function(){var c=$(".qPartnerSearchInput").val();if(c){a.hideAllPartner();a.showPartnerByProperty(c);$(".qSpecialTeaser").addClass("deactivated");$(".qPartner").not(".deactivated").length==0?$(".qNoSearchResults").show():
$(".qNoSearchResults").hide()}else a.showAllPartner()};a.openPWVergessenLayer=function(){s2.tuifly.widget.dialog.divLayerClose();s2.tuifly.widget.passwortVergessenLayer.open()};a.setMemberName=function(){if(document.getElementById("registeredMemberInformation")){var c=$("#registeredMemberInformation"),d=c.attr("data-title")||"",b=c.attr("data-firstName")||"";c=c.attr("data-lastName")||"";if(d&&b&&c){$("#registeredTitle").text(d);$("#registeredFirstName").text(b);$("#registeredLastName").text(c)}}}});
s2.namespace("s2.tuifly.helper.friendchipsDiashow",function(){var a=this,c=0,d,b,f,g=false;a.initialize=function(){a.initDiashow();a.initPartnerDialogHandler()};a.initPartnerDialogHandler=function(){$("#bonusPartnerDetail .closeIcon").live("click",function(){g=false;a.continueRun()});b().live("click",function(){g=true;b().stop(true)})};a.initDiashow=function(){b=a.diashow;c=$(".qPartnerDiashow ul li").length;f=setTimeout(function(){a.runLeft(1)},2E3);b().hover(a.stop,a.continueRun);$(".verticalScrollTeaser .leftScroll").hover(function(){a.runRight(4)},
a.continueRun);$(".verticalScrollTeaser .rightScroll").hover(function(){a.runLeft(4)},a.continueRun)};a.continueRun=function(){d=="right"?a.runRight(1):a.runLeft(1)};a.stop=function(){b().stop(true)};a.calcSpeed=function(m,o){o=o||1;var q=a.calcWidth();return 50/o*(m/q)*1E3};a.calcDistanceRight=function(){var m=b().css("left");m=parseInt(m,10);if(m<0)m*=-1;return a.calcWidth()-m};a.calcDistanceLeft=function(){var m=b().css("left");m=parseInt(m,10);if(m<0)m*=-1;return m};a.runLeft=function(m){if(!g){clearTimeout(f);
var o=a.calcWidth();m=a.calcSpeed(a.calcDistanceRight(),m);a.stop();b().animate({left:"-"+o+"px",queue:true},m,"linear",function(){setTimeout(function(){b().animate({left:"0px",queue:true},0,"linear",function(){setTimeout(function(){a.runLeft(1)},500)})},1E3)});d="left"}};a.runRight=function(m){if(!g){clearTimeout(f);m=a.calcSpeed(a.calcDistanceLeft(),m);a.stop();b().animate({left:"0px",queue:true},m,"linear");d="right"}};a.calcWidth=function(){return(c-2)*142};var h;a.diashow=function(){h||(h=$(".qPartnerDiashow ul"));
return h}});s2.namespace("s2.tuifly.helper.linkToHttps",function(){this.initialize=function(){var a=$.cachedFind("a[href*=trackingID]");$.each(a,function(){var c=$(this).attr("href");c=s2.tuifly.util.Environment.get().secureUrl(c);$(this).attr("href",c)})}});
s2.namespace("s2.tuifly.helper.airlines",function(){var a=this;a.initialize=function(){a.initOfferClickHandler();a.initInfoHandler();a.changeNavigationLinks();var c=window.location.href.match("[\\?&]showCarrierLayer=([^&#]*)");if($.cachedFind("#airlinePage").length){c=$("div.qDiashowElement li:first").data("code");a.loadDetails(c);s2.tuifly.widget.diashow.initDiashow({element:"div.qDiashowElement",clickHandler:a.diashowClickHandler})}else c&&a.openAirlines(c[1].toUpperCase())};a.openAirlines=function(c){s2.tuifly.widget.dialog.airlineLayer("/farefinder/CarrierOverviewLayer",
function(){a.track({values:{prop25:"Carrier-Layer",eVar8:"Carrier-Layer",eVar48:"Carrier-Layer"},name:"CarrierLayer öffnen"});$(".qDiashowElement li[data-code='"+c+"']").length?a.loadDetails(c,true):a.loadDetails($("div.qDiashowElement li:first").data("code"));s2.tuifly.widget.diashow.initDiashow({element:"div.qDiashowElement",clickHandler:a.diashowClickHandler})})};a.initOfferClickHandler=function(){$(".qCarrierDestinations li").live("click",function(){var c=$(this).data("carrier"),d=$(this).data("destination");
a.track({values:{eVar2:"Carrier-Layer",eVar38:"Carrier-Layer",eVar39:"Carrier-Layer",prop25:"Carrier-Layer ["+c+"] ["+d+"]"},name:"Carrier-Layer ["+c+"] ["+d+"]"});location.href=$(this).data("deeplink");return false});$("#airlineContent .qAllOffer").live("click",function(){var c=$(this).parents("[data-carriercode]").data("carriercode");a.track({values:{eVar2:"Carrier-Layer",eVar38:"Carrier-Layer",eVar39:"Carrier-Layer",prop25:"alle ["+c+"] Angebote"},name:"alle ["+c+"] Angebote"});location.href="/farefinder/bestoffers?carrier="+
c})};a.closeLayer=function(){a.track({values:{prop25:"Carrier-Layer close"},name:"Carrier-Layer close"});s2.tuifly.widget.dialog.divLayerClose()};a.diashowClickHandler=function(c,d){d.preventDefault();var b=$(c).data("code");a.track({values:{prop25:"Carrier-Layer ["+b+"]"},name:"Carrier-Layer ["+b+"]"});this.pause();a.loadDetails(b);return false};a.highlightCarrier=function(c){if(!jQuery.browser.msie6){$(".qDiashowElement li a").removeClass("active");$(".qDiashowElement li[data-code='"+c+"'] a").addClass("active")}};
a.loadDetails=function(c,d){a.showLoading();a.highlightCarrier(c);s2.tuifly.widget.diashow.pause();$.get("/farefinder/CarrierDetails?carrier="+c+"&rand=",function(b){a.hideLoading();$("#AirlineOffers .qContent").html(b);b=c.toLowerCase();var f=c.toUpperCase();$("#AirlineOffers ."+b+", #AirlineOffers ."+f).show();d?s2.tuifly.widget.diashow.scrollToCarrier(c):s2.tuifly.widget.diashow.resume()})};a.showLoading=function(){$("#AirlineOffers .qLoading").removeClass("hidden");$("#AirlineOffers .qContent").empty()};
a.hideLoading=function(){$("#AirlineOffers .qLoading").addClass("hidden")};a.initInfoHandler=function(){$(".qMoreInfo").live("click",function(){a.track({values:{prop25:"Carrier-Layer mehr Infos"},name:"Carrier-Layer mehr Infos"});$(".qMoreInfoText").slideDown(function(){$(".qMoreInfo").addClass("invisible")});return false});$(".qLessInfo").live("click",function(){$(".qMoreInfoText").slideUp(function(){$(".qMoreInfo").removeClass("invisible")});return false})};a.track=function(c){$.cachedFind("#airlinePage").length||
s2.tuifly.util.tracking.fire(c)};a.changeNavigationLinks=function(){var c=function(){var d=$(this),b=d.attr("href");b!=null&&b.match(/fluggesellschaften\.html$/i)&&d.attr("href","/farefinder/CarrierOverviewPage")};$(".contentNavigation li a").mousedown(c);$(".subLevel li a").mousedown(c);$("#quicklinks li a").mousedown(c)}});
s2.namespace("s2.tuifly.helper.airlines",function(){var a=this;a.initialize=function(){a.initOfferClickHandler();a.initInfoHandler();a.changeNavigationLinks();var c=window.location.href.match("[\\?&]showCarrierLayer=([^&#]*)");if($.cachedFind("#airlinePage").length){c=$("div.qDiashowElement li:first").data("code");a.loadDetails(c);s2.tuifly.widget.diashow.initDiashow({element:"div.qDiashowElement",clickHandler:a.diashowClickHandler})}else c&&a.openAirlines(c[1].toUpperCase())};a.openAirlines=function(c){s2.tuifly.widget.dialog.airlineLayer("/farefinder/CarrierOverviewLayer",
function(){a.track({values:{prop25:"Carrier-Layer",eVar8:"Carrier-Layer",eVar48:"Carrier-Layer"},name:"CarrierLayer öffnen"});$(".qDiashowElement li[data-code='"+c+"']").length?a.loadDetails(c,true):a.loadDetails($("div.qDiashowElement li:first").data("code"));s2.tuifly.widget.diashow.initDiashow({element:"div.qDiashowElement",clickHandler:a.diashowClickHandler})})};a.initOfferClickHandler=function(){$(".qCarrierDestinations li").live("click",function(){var c=$(this).data("carrier"),d=$(this).data("destination");
a.track({values:{eVar2:"Carrier-Layer",eVar38:"Carrier-Layer",eVar39:"Carrier-Layer",prop25:"Carrier-Layer ["+c+"] ["+d+"]"},name:"Carrier-Layer ["+c+"] ["+d+"]"});location.href=$(this).data("deeplink");return false});$("#airlineContent .qAllOffer").live("click",function(){var c=$(this).parents("[data-carriercode]").data("carriercode");a.track({values:{eVar2:"Carrier-Layer",eVar38:"Carrier-Layer",eVar39:"Carrier-Layer",prop25:"alle ["+c+"] Angebote"},name:"alle ["+c+"] Angebote"});location.href="/farefinder/bestoffers?carrier="+
c})};a.closeLayer=function(){a.track({values:{prop25:"Carrier-Layer close"},name:"Carrier-Layer close"});s2.tuifly.widget.dialog.divLayerClose()};a.diashowClickHandler=function(c,d){d.preventDefault();var b=$(c).data("code");a.track({values:{prop25:"Carrier-Layer ["+b+"]"},name:"Carrier-Layer ["+b+"]"});this.pause();a.loadDetails(b);return false};a.highlightCarrier=function(c){if(!jQuery.browser.msie6){$(".qDiashowElement li a").removeClass("active");$(".qDiashowElement li[data-code='"+c+"'] a").addClass("active")}};
a.loadDetails=function(c,d){a.showLoading();a.highlightCarrier(c);s2.tuifly.widget.diashow.pause();$.get("/farefinder/CarrierDetails?carrier="+c+"&rand=",function(b){a.hideLoading();$("#AirlineOffers .qContent").html(b);b=c.toLowerCase();var f=c.toUpperCase();$("#AirlineOffers ."+b+", #AirlineOffers ."+f).show();d?s2.tuifly.widget.diashow.scrollToCarrier(c):s2.tuifly.widget.diashow.resume()})};a.showLoading=function(){$("#AirlineOffers .qLoading").removeClass("hidden");$("#AirlineOffers .qContent").empty()};
a.hideLoading=function(){$("#AirlineOffers .qLoading").addClass("hidden")};a.initInfoHandler=function(){$(".qMoreInfo").live("click",function(){a.track({values:{prop25:"Carrier-Layer mehr Infos"},name:"Carrier-Layer mehr Infos"});$(".qMoreInfoText").slideDown(function(){$(".qMoreInfo").addClass("invisible")});return false});$(".qLessInfo").live("click",function(){$(".qMoreInfoText").slideUp(function(){$(".qMoreInfo").removeClass("invisible")});return false})};a.track=function(c){$.cachedFind("#airlinePage").length||
s2.tuifly.util.tracking.fire(c)};a.changeNavigationLinks=function(){var c=function(){var d=$(this),b=d.attr("href");b!=null&&b.match(/fluggesellschaften\.html$/i)&&d.attr("href","/farefinder/CarrierOverviewPage")};$(".contentNavigation li a").mousedown(c);$(".subLevel li a").mousedown(c);$("#quicklinks li a").mousedown(c)}});
s2.namespace("s2.tuifly.helper.premiumeco",function(){var a=this,c=false,d={},b;a.initialize=function(){if(document.getElementById("mealOrderInputBox")){$("[data-premium-eco-booked='1']").length&&a.active(true);a.setMealSelectionHandler();a.setChangeMealSelectionHandler();a.setInitValues();var f=$(".queryData[data-premiumeco-default=1]");if(f.length)if(f.parent().attr("class").match(/menuItem(\d+)/))b=RegExp.$1}};a.active=function(f){if(f===true||f===false)c=f;return c};a.setMealSelectionHandler=
function(){$(".qPremiumEco").click(function(){var f=$(this);a.setMealSelection(f)})};a.setChangeMealSelectionHandler=function(){$(".qChange").click(function(){var f=$(this).next("input");f.attr("checked","checked");a.setMealSelection(f)})};a.setInitValues=function(){$.cachedFind(".qMealContainer").each(function(f,g){var h=$(g);parseInt(h.find(".value").html())&&h.find(".qMealSelected input").each(function(m,o){var q=$(o);if(parseInt(q.val())){q=q.parent().parent().find("input[type=checkbox]");a.setMealSelection(q)}})})};
a.setMealSelection=function(f){var g=0,h=f.attr("data-pax"),m=f.attr("data-journey");h=$.cachedFind(".paxId"+h+".journey"+m);h.removeClass("disabled");if(f.is(":checked")){g=1;h.addClass("disabled");h.find(".qPremiumEco").attr("disabled","disabled").attr("checked","");f.parent().parent().removeClass("disabled");f.attr("disabled","");f.attr("checked","checked");h.find(".qMealSelected input").val(0)}else h.find(".qPremiumEco").attr("disabled","");f.parent().find(".qMealSelected input").val(g);a.updateMeals(m);
s2.tuifly.model.Booking.SSRChangeEvent.trigger()};a.updateMeals=function(f){$.cachedFind(".qJourney"+f).each(function(g,h){$value=$(h);var m=0;$value.parent().find(".qMealSelected input").each(function(o,q){m+=parseInt($(q).val())});$value.find(".value").html(m)})};a.validate=function(){if(!a.active())return true;var f=s2.tuifly.model.SSRSeat.create();if(f==null||f.length==0){alert(s2.tuifly.util.culture.get("seatAssignmentNeeded"));return false}for(var g=$.parseJSON($("#s2data div[data-modelType='passengers']").text()),
h=$(".qSeatMapContainer"),m=0;m<h.length;m++){var o=g.length,q=$(h[m]),u=$(".qRequiredSeatsPerJourney_"+m);if(u.children().length!=0){q=(q=q.data("premium-eco-seats-available"))?q.split(",").length:0;s2.Logger.debug("Required seats for Journey "+m+": "+o+" Available: "+q);for(var w=q=0;w<f.length;w++)if(f[w].journey==m)q+=f[w].getBookedCount();s2.Logger.debug("Selected Seats in Journey "+m+": "+q);if(u.length>1)o*=2;if(q<o){alert(s2.tuifly.util.culture.get("seatAssignmentNeeded"));return false}}}return true};
a.checkMeals=function(){d={};$.cachedFind(".qMealContainer").each(function(m,o){$(o).find("input[type=checkbox]").each(function(q,u){var w=$(u),A=w.parent().find(".qMealSelected input"),H="passenger"+w.data("pax");w="journey"+w.data("journey");if(typeof d[H]=="undefined")d[H]={};var K=$(A).val();if(!d[H][w]||K==="1")d[H][w]=$(A).val()})});for(var f in d){var g=d[f],h;for(h in g)if(g[h]==="0"){s2.Logger.debug("Passenger "+f+" has no meal on "+h);return false}}return true};a.defaultMeals=function(){_(d).each(function(f,
g){for(var h in f)if(f[h]==="0"){s2.Logger.debug("Setting default menu "+b+" for "+g+" on "+h);var m=$.cachedFind(".menuItem"+b+" .journey"+h.slice(-1)+".paxId"+g.slice(-1)+" .qPremiumEco");m.attr("checked","checked");m.click()}})};a.initSeatMap=function(){var f=$("#premiumeco input[type='checkbox']");if(f.length){var g=$.parseJSON($("#s2data div[data-modelType='passengers']").text()).length;$.cachedFind(".qSeatMapContainer").each(function(h,m){var o=$(m).data("premium-eco-seats-available");if(o==
""||g>o.split(",").length)f.closest("#premiumeco").css("display","none")})}$("#premiumeco input[type='checkbox']:checked").length&&a.buildSeatMap(true)};a.buildSeatMap=function(f){$(".qSeatMapContainer").each(function(){var g=$(this);if(f){s2.tuifly.helper.premiumeco.active(f);$.cachedFind(".qLegend .qLegendNormal").hide();$.cachedFind(".qLegend .qLegendPE").show();var h=g.data("premium-eco-seats-available"),m=g.data("premium-eco-seats-free");if(h&&m){h=h.split(",");m=m.split(",");g.addClass("premiumeco");
g.cachedFind("div.aUnit").addClass("seatBlockedForPE").attr("data-blocked",1);_(h).each(function(o){g.cachedFind("div[id$='_"+o+"']").removeClass("seatBlockedForPE").attr("data-blocked",0).addClass("seatAvailablePE");o=g.cachedFind("div[id$='_"+o+"']").attr("id");if(o=s2.tuifly.helper.SeatMap.seatController().getUnitByUnitKey(o))o.unitAvailability="Open"});_(m).each(function(o){g.cachedFind("div[id$='_"+o+"']").removeClass("seatBlockedForPE").attr("data-blocked",0).addClass("seatFreeForPE")})}}else{s2.tuifly.helper.premiumeco.active(f);
$.cachedFind(".qLegend .qLegendNormal").show();$.cachedFind(".qLegend .qLegendPE").hide();g.removeClass("premiumeco");g.cachedFind(".aUnit").removeClass("seatBlockedForPE").removeClass("seatFreeForPE").removeClass("seatAvailablePE").attr("data-blocked",0);if(h=$(this).data("premium-eco-seats-available")){h=h.split(",");_(h).each(function(o){o=g.cachedFind("div[id$='_"+o+"']").attr("id");if(o=s2.tuifly.helper.SeatMap.seatController().getUnitByUnitKey(o))o.unitAvailability="Reserved"})}}})};$("#premiumeco input[type='checkbox']").live("change",
function(){var f=$(this).is(":checked");$.cachedFind("#passengerListBody li").each(function(){var g=$(this).data("equipmentindex"),h=$(this).data("passengernumber");(g=s2.tuifly.helper.SeatMap.seatController().getUnitInput(g,h))&&s2.tuifly.helper.SeatMap.seatController().removeUnit(g)});a.buildSeatMap(f)})});
s2.namespace("s2.tuifly.helper.hansemerkur",function(){this.initialize=function(){document.getElementById("insuranceBox")&&$.cachedFind("#insuranceBox[data-booked='false']")&&$("input[id*='HanseMerkur'][id*='ProductsRadioButtons_']").live("click",function(){var a=$(this).parent().parent().data("piblink"),c=$.cachedFind("#hanseMerkurPIB");c.attr("href",a);a?c.removeAttr("style"):c.attr("style","text-decoration:none")}).change(function(){$.cachedFind("input[id$='_GeneralConditionsOfContract'][id*='HanseMerkur']").removeAttr("checked")})}});
s2.namespace("s2.tuifly.helper.reactivationSurvey",function(){this.initialize=function(){if(document.getElementById("reactivationSurveySubmit")){var a=s2.tuifly.util.Query.instance().param("antwort");a!=undefined&&$("#"+a).attr("checked","checked");$("#reactivationSurveySubmit").live("click",function(){var c=false;$(".qPflichfelder").each(function(){$(this).removeClass("formRowError");if($(this).find("input:checked").length==0){$(this).addClass("formRowError");c=true}});if(c){s2.tuifly.events.AjaxEndEvent.trigger();
alert("Bitte f&uuml;llen Sie die rot markierten Fellder aus.")}else $.ajax({url:"/php/umfrage/reaktivierung.php",dataType:"json",data:$.cachedFind("#formreactivationSurvey").serialize(),success:function(d){if(d.error==""){$.cachedFind(".toggleBox > h2").html("Vielen Dank f&uuml;r Ihre Teilnahme!");$.cachedFind("#divFragen").hide();d=s2.tuifly.util.Query.instance();d="/de/mein-TUIfly/newsletter.php?AD=NL_KW35_11_2&ATT=rea1&edit&mail="+d.param("email")+"&memid="+d.param("memid")+"&uid="+d.param("uid")+
"&mid="+d.param("mid");$("#urlReactivationSurvey").attr("href",d);$.cachedFind("#reactivationSurveyConfirm").show()}else{alert(d.error);s2.tuifly.events.AjaxEndEvent.trigger()}}})})}}});
s2.namespace("s2.tuifly.helper.formValidation",function(){this.initialize=function(){document.getElementById("birthday")&&s2.tuifly.util.fillSelect.birthdaySelect.fill({dayElem:"qSelectDay",monthElem:"qSelectMonth",yearElem:"qSelectYear"});if(document.getElementById("formGewinnspiel")){var a="";$("#submitButton").live("click",function(){a="";$("#birthday")&&$("#birthday").val($(".qSelectYear").val()+"-"+$(".qSelectMonth").val()+"-"+$(".qSelectDay").val());c.getElements()});var c={getElements:function(){$(".qPflichtfeld").each(function(){var g=
$(this).find("select,input");g.parents(".formRowError").removeClass("formRowError");var h=$(g).data("val-type"),m=$(g).attr("type");c.elementType({activeClass:this,typeActiveElem:m,activeElem:g,valtypeActiveElem:h})})},elementType:function(g){if(g.typeActiveElem=="radio"||g.typeActiveElem=="checkbox"||g.typeActiveElem=="birthday"){if(g.typeActiveElem=="birthday")var h=typeof d[g.valtypeActiveElem]==="function"?d[g.valtypeActiveElem].call(this,g.activeElem.val()):null;$(g.activeClass).find("input:checked").length==
0&&b({inputElement:g.activeElem})}else{h=typeof d[g.valtypeActiveElem]==="function"?d[g.valtypeActiveElem].call(this,g.activeElem.val()):null;!h&&g.valtypeActiveElem!="captcha"&&b({inputElement:g.activeElem})}}},d={email:function(g){return/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.]{3,})+\.([A-Za-z]{2,4})$/.test(g)},lastname:function(g){return g.length>2},firstname:function(g){return g.length>2},salutation:function(g){return g==1||g==2},captcha:function(g){$.ajax({type:"POST",dataType:"json",url:"/php/captcha/captcha.php",
data:"captcha="+g,success:function(h){h.captcha!="ok"&&b({inputElement:$("#captcha")});$("body").trigger("captchaRequestDone")}})},meintuifly:function(g){return!isNaN(g)&&g.length>2},birthday:function(g){var h=g.split("-");g=h[2];var m=h[1];h=h[0];var o=new Date(h,m,g);return g==o.getDate()&&m==o.getMonth()&&h==o.getYear()+1900}},b=function(g){g.inputElement.parents(".formRow:first").addClass("formRowError");a+="<br/>- "+g.inputElement.data("val-error")},f=function(g){$.ajax({type:"POST",dataType:"json",
url:"/php/gewinnspiel/gewinnspiel.php",data:g,success:function(h){if(h.error!="")alert(h.error);else{$("#confirmBox").show();$("#gewinnspielContent").hide()}}});s2.tuifly.events.AjaxEndEvent.trigger()};$("body").bind("captchaRequestDone",function(){if(a!=""){var g="<b>"+$("#hiddenError").val()+"</b>";a=a.substr(0,0)+g+a.substr(0);alert(a);s2.tuifly.events.AjaxEndEvent.trigger()}else{var h=$("#formGewinnspiel").serialize();$("input[type=checkbox]").each(function(){this.checked||(h+="&"+this.name+"=0")});
f(h)}});this.captchaReload=function(){var g=1+5E3*Math.random();g=Math.round(g);$("#captchaImage").attr("src","/php/captcha/captcha.php?"+g)}}}});
s2.namespace("s2.tuifly.model",function(){Role("s2.tuifly.model.BoundModel",{metaRoles:[JooseX.DOMBinding.JQueryMetaRole],methods:{draw:function(){},notify:function(){}}});Class("s2.tuifly.model.Model",{isAbstract:true,meta:s2.tuifly.LazyMetaClass,has:{$:{is:"rw"},context$:{is:"rw"}},classMethods:{select:function(){throw"subclass responsibility";},selectContext:function(){return jQuery(document)},create:function(a,c){var d=this,b=this.selectContext(a),f=[];s2.Logger.debug("Creating class "+d.meta.className()+
" -> "+b.length);b.each(function(){var g=$(this);d.select(g).each(function(){var h=d.meta.instantiate(jQuery.extend({$:jQuery(this),context$:g},c));f.push(h)})});return f}}})});
s2.namespace("s2.tuifly.model",function(a){Class("s2.tuifly.model.Booking",{isa:a.Model});a.Booking.ChangeEvent=new s2.tuifly.Event("BookingModelChangeEvent");a.Booking.PassengerChangeEvent=new s2.tuifly.Event("BookingModelPassengerChangeEvent");a.Booking.SSRChangeEvent=new s2.tuifly.Event("BookingModelSSRChangeEvent");a.Booking.TUICarChangeEvent=new s2.tuifly.Event("TUICarChangeEvent");a.Booking.TUIHotelChangeEvent=new s2.tuifly.Event("TUIHotelChangeEvent");a.Booking.ChangeEvent.observe(function(){s2.Logger.debug("Fired ChangeEvent")});
a.Booking.PassengerChangeEvent.observe(function(){s2.Logger.debug("Fired PassengerChangeEvent")})});
s2.namespace("s2.tuifly.model",function(){var a;Class("s2.tuifly.model.Addon",{isa:s2.tuifly.model.Model,isAbstract:true,has:{bookedCount:{isa:TYPE.Int,is:"rw",coerce:true},price:{isa:TYPE.S2Currency,is:"rw",coerce:true},desc:{isa:TYPE.Str,is:"rw",coerce:true},journey:{isa:TYPE.Int,is:"rw"}},after:{initialize:function(){if(this.isAttachedToJourney()){for(var c=null,d=this.getJourneyCount(),b=0;b<d;b++)if(this.$.hasClass("journey"+b))c=b;if(c==null)throw"missing journey class "+this.$.attr("class")+
":"+this.meta.className();this.setJourney(c)}}},methods:{getJourneyCount:function(){if(a)return a;return a=$("#queryFlightPriceTables > table").length},extraInfo:function(){return""},clearHTML:function(c){return $("<span>"+c+"</span>").text()},isAttachedToJourney:function(){return true},bookedDesc:function(){var c=this.getBookedCount();return parseInt(c,10)},totalPrice:function(){return this.getPrice().mul(this.getBookedCount())}}})});
s2.namespace("s2.tuifly.model",function(){var a=0;Class("s2.tuifly.model.Passenger",{isa:s2.tuifly.model.Model,has:{index:{isa:TYPE.Int,is:"rw",init:function(){return a++}},addons:{is:"rw",init:function(){return[]}},firstName:{isa:TYPE.Str,is:"rw",init:""},lastName:{isa:TYPE.Str,is:"rw",init:""},description:{isa:TYPE.Str,is:"rw",init:""}},after:{initialize:function(){var c=this;this.update();c.setDescription(c.$.find("label").text());s2.tuifly.model.PassengerManager.getInstance().register(this);s2.tuifly.model.Booking.PassengerChangeEvent.observeLazy(function(){c.update()});
s2.tuifly.model.Booking.PassengerChangeEvent.trigger()}},methods:{update:function(){var c=this.$.cachedFind("input.queryFirstName").val(),d=this.$.cachedFind("input.queryLastName").val();if(c!=this.getFirstName()||d!=this.getLastName()){this.setFirstName(c);this.setLastName(d);s2.Logger.debug("Change");$(".dynamicPassengerName"+this.getIndex()).text(this.getName())}},isNamed:function(){return this.getLastName().length>0},getName:function(){return this.isNamed()?this.getFirstName()+" "+this.getLastName():
this.getDescription()},passengerId:function(){return"passenger"+this.getIndex()},addAddon:function(c){this.getAddons().push(c)}},classMethods:{select:function(){return jQuery("#passengerInputBox div.queryPassengerInput")}}})});
s2.namespace("s2.tuifly.model",function(){Class("s2.tuifly.model.PassengerManager",{does:[JooseX.Singleton],has:{passengers:{is:"rw",init:function(){return{}}}},methods:{getPassenger:function(a){if(!a.match(/^passenger/))throw Error("Illegal passenger id "+a);var c=this.getPassengers()[a];if(!c)throw Error("Unknown passenger "+a);return c},getPassengersArray:function(){var a=[];Joose.O.each(this.getPassengers(),function(c){a.push(c)});return a},getCount:function(){return this.getPassengersArray().length},
register:function(a){this.getPassengers()[a.passengerId()]=a}}})});
s2.namespace("s2.tuifly.model",function(){Role("s2.tuifly.model.PassengerBoundModel",{methods:{passengerId:function(){return"passenger"+this.__paxIndex},passengerIndex:function(){return this.__paxIndex},myPassenger:function(){return s2.tuifly.model.PassengerManager.getInstance().getPassenger(this.passengerId())},bindToPassenger:function(){this.myPassenger().addAddon(this)}},after:{initialize:function(){var a=this.meta.c.__paxIndex;a||(a=0);var c=s2.tuifly.model.PassengerManager.getInstance().getPassengersArray().length;
a%=c;this.__paxIndex=a;this.meta.c.__paxIndex=a+1;if(a=(this.$.attr("class")||"").match(/paxId(\d+)/))this.__paxIndex=parseInt(a[1],10);this.bindToPassenger()}}})});
s2.namespace("s2.tuifly.model",function(){Class("s2.tuifly.model.SSRLuggage",{isa:s2.tuifly.model.Addon,does:[s2.tuifly.model.BoundModel,s2.tuifly.model.PassengerBoundModel],methods:{getBookedCount:function(){return this.getBooked()?1:0},getBooked:function(){return this.$.cachedFind("input:checkbox").checkboxChecked()}},after:{initialize:function(){this.setPrice(this.context$.cachedFind("div.queryData").data("price"));this.setDesc(this.context$.cachedFind("div.queryData").data("desc"))}},classMethods:{select:function(a){return a.find("div.queryLuggageSelection")},
selectContext:function(){return $.cachedFind("#ssrLuggageBox").cachedFind("div.ssrLuggageCheckSelector")}}})});
s2.namespace("s2.tuifly.model",function(){Class("s2.tuifly.model.SSRBaggage",{isa:s2.tuifly.model.Addon,does:[s2.tuifly.model.BoundModel,s2.tuifly.model.PassengerBoundModel],has:{isExcess:{is:"rw"},priceTable:{is:"rw"},descTable:{is:"rw"}},methods:{getBookedCount:function(){var a=this.$.cachedFind("select").val();if(this.getDescTable()[a]==undefined)return"0";return a},getDesc:function(){var a=this.getBookedCount(),c=this.getDescTable()[a];this.getIsExcess()||(c=a+" "+c);return c},totalPrice:function(){var a=
this.getPriceTable()[this.getBookedCount()];a=TYPE.S2Currency.coerce(a);var c=s2.tuifly.util.CurrencyValue.zero();if(a!=null)c=c.add(a);return c}},after:{initialize:function(){this.setIsExcess(this.$.hasClass("excessBaggage"));var a={};this.$.cachedFind("div.queryData").find("div[name^='price']").each(function(){var d=$(this).attr("name").substr(5),b=$(this).attr("value");a[d]=b});this.setPriceTable(a);var c={};this.$.cachedFind("div.queryData").find("div[name^='desc']").each(function(){var d=$(this).attr("name").substr(4),
b=$(this).attr("value");c[d]=b});this.setDescTable(c)}},classMethods:{select:function(a){return a.find(".queryBaggageSelection")},selectContext:function(){return $.cachedFind("#baggageInputBox")}}})});
s2.namespace("s2.tuifly.model",function(){Class("s2.tuifly.model.SSRMenu",{isa:s2.tuifly.model.Addon,does:[s2.tuifly.model.BoundModel,s2.tuifly.model.PassengerBoundModel],after:{initialize:function(){this.setPrice(this.context$.cachedFind("div.queryData").data("price"));this.setDesc(this.clearHTML(this.context$.cachedFind("div.queryData").data("desc")))}},methods:{getBookedCount:function(){return this.$.cachedFind("input[class!='qPremiumEco']").val()}},classMethods:{select:function(a){return a.find("div.queryMenuItemSelection")},
selectContext:function(){return $.cachedFind("#mealOrderInputBox div.menuItem")}}})});
s2.namespace("s2.tuifly.model",function(){Class("s2.tuifly.model.SSRSeat",{isa:s2.tuifly.model.Addon,does:[s2.tuifly.model.BoundModel,s2.tuifly.model.PassengerBoundModel],has:{seat:{is:"rw"}},after:{initialize:function(){this.setDesc(this.context$.cachedFind("div.queryData").data("desc"))}},before:{getPrice:function(){this.setPrice(this.$.find("span.seatPrice").text()||"9 €")}},bind:{seat:{selector:".seatInput input[type=text]"}},methods:{extraInfo:function(){return this.getSeat()},getBookedCount:function(){return this.getSeat()?
1:0},bookedDesc:function(){return this.getSeat()}},classMethods:{select:function(a){return a.find("tr.querySeat")},selectContext:function(){return $.cachedFind("#seatMapCOGInputBox div.SeatMapCOGInput")}}})});
s2.namespace("s2.tuifly.model",function(){Class("s2.tuifly.model.SSRSimple",{isa:s2.tuifly.model.Addon,does:[s2.tuifly.model.BoundModel],has:{pricePerPerson:{is:"rw",init:false}},after:{initialize:function(){this.setDesc(this.context$.data("desc"));this.updatePrice();this.checkboxOrRadio().change(function(){s2.tuifly.model.Booking.SSRChangeEvent.trigger()})}},override:{getPrice:function(){var a=this.SUPER();return this.getPricePerPerson()?a.mul(s2.tuifly.model.PassengerManager.getInstance().getCount()):
a}},methods:{updatePrice:function(){var a=this.context$.data("price");a||(a="0");this.setPrice(a)},isChecked:function(){return this.checkboxOrRadio().checkboxChecked()},checkboxOrRadio:function(){return this.$.cachedFind("span.querySimpleSSRDecision > input")},getBookedCount:function(){return this.isChecked()?1:0},isAttachedToJourney:function(){return false}},classMethods:{select:function(a){return a},selectContext:function(a){return a}}})});
s2.namespace("s2.tuifly.model",function(){Class("s2.tuifly.model.SSRCO2",{isa:s2.tuifly.model.SSRSimple,after:{initialize:function(){this.priceInput().change(function(){that=this;var a=that.value;if(!a.match(/^[0-9]+[\,\.][0-9]{1,2}$/)&&!a.match(/^[0-9]+$/))that.value=0;s2.tuifly.model.Booking.SSRChangeEvent.trigger()})}},before:{getPrice:function(){this.updatePrice()}},methods:{priceInput:function(){return this.$.find("div.co2Amount > input[name*='MyClimateAmount']")},getCurrencyPrefixSymbol:function(){return this.$.find(".co2CurrencyPrefixSymbol").text()},
getCurrencySuffixSymbol:function(){return this.$.find(".co2CurrencySuffixSymbol").text()},updatePrice:function(){if(this.$.find(".co2CurrencyPrefixSymbol").length>0)this.setPrice(this.getCurrencyPrefixSymbol()+this.priceInput().val());else this.$.find(".co2CurrencySuffixSymbol").length>0&&this.setPrice(this.priceInput().val()+this.getCurrencySuffixSymbol())},getBookedCount:function(){return this.isChecked()?1:0}},classMethods:{selectContext:function(){return $("#myClimateBox")},select:function(){return $("#myClimateBox")}}})});
s2.namespace("s2.tuifly.model",function(){Class("s2.tuifly.model.SSRZugZumFlug",{isa:s2.tuifly.model.Addon,does:[s2.tuifly.model.BoundModel,s2.tuifly.model.PassengerBoundModel],has:{priceClass1journey0:{isa:TYPE.S2Currency,coerce:true,is:"rw"},priceClass2journey0:{isa:TYPE.S2Currency,coerce:true,is:"rw"},priceClass1journey1:{isa:TYPE.S2Currency,coerce:true,is:"rw"},priceClass2journey1:{isa:TYPE.S2Currency,coerce:true,is:"rw"},desc1:{is:"rw"},desc2:{is:"rw"}},after:{initialize:function(){this.setDesc1(this.context$.cachedFind("div.queryData").data("desc1"));
this.setDesc2(this.context$.cachedFind("div.queryData").data("desc2"));this.setPriceClass1journey0(this.context$.cachedFind("div.queryData").data("priceClass1journey0"));this.setPriceClass2journey0(this.context$.cachedFind("div.queryData").data("priceClass2journey0"));this.setPriceClass1journey1(this.context$.cachedFind("div.queryData").data("priceClass1journey1")||"0");this.setPriceClass2journey1(this.context$.cachedFind("div.queryData").data("priceClass2journey1")||"0");this.$.cachedFind("input:checkbox").change(function(){s2.tuifly.model.Booking.SSRChangeEvent.trigger()});
this.context$.cachedFind("input:radio").click(function(){s2.tuifly.model.SSRZugZumFlug.updatePrices();s2.tuifly.model.Booking.SSRChangeEvent.trigger()})}},methods:{getDesc:function(){return s2.tuifly.model.SSRZugZumFlug.selectedClass()=="2"?this.getDesc2():this.getDesc1()},getBookedCount:function(){return this.$.cachedFind("input:checkbox").checkboxChecked()?1:0},getPrice:function(){return s2.tuifly.model.SSRZugZumFlug.selectedClass()=="2"?this.journey==1?this.getPriceClass2journey1():this.getPriceClass2journey0():
this.journey==1?this.getPriceClass1journey1():this.getPriceClass1journey0()}},classMethods:{select:function(a){return a.find("div.zzfSelect.journey0,div.zzfSelect.journey1")},selectContext:function(){return $.cachedFind("#zugZumFlugBox")},selectedClass:function(){var a="2";this.selectContext().cachedFind(":radio").each(function(){if(this.value.indexOf("ZZF1")!=-1&&this.checked)a="1"});return a},updatePrices:function(){var a=this.selectContext(),c=this.selectedClass(),d=a.cachedFind("div.queryData").data("priceClass"+
c+"journey0");c=a.cachedFind("div.queryData").data("priceClass"+c+"journey1");a.cachedFind("#zzfPriceJourney0").text(d);a.cachedFind("#zzfPriceJourney1").text(c)}}})});
s2.namespace("s2.tuifly.model",function(){Class("s2.tuifly.model.SSRTUICars",{isa:s2.tuifly.model.Addon,has:{bookedCar:{is:"rw"},baseDesc:{is:"rw"}},after:{initialize:function(){var a=this;this.setBaseDesc(this.context$.find("div.queryData").data("desc"));s2.tuifly.model.Booking.TUICarChangeEvent.observe(function(){a.findBookedCar()});a.findBookedCar()}},methods:{getBookedCount:function(){return this.getBookedCar()?1:0},isAttachedToJourney:function(){return false},findBookedCar:function(){var a=this,
c=false;a.$.find("div.carDetail").each(function(){var d=$(this);if(d.find("input:checkbox:checked").length>0){c=true;a.setPrice(a.getRate(d));a.setDesc(d.find("div.name p").text())}});a.setBookedCar(c)},getRate:function(a){a=a.find("p.qPriceTotal").text();return a=a.replace("EUR","€")}},classMethods:{select:function(a){return a.find("#TUICarsAjax")},selectContext:function(){return $("#tuiCarsBox")}}})});
s2.namespace("s2.tuifly.model",function(){Class("s2.tuifly.model.SSRTUIHotels",{isa:s2.tuifly.model.Addon,has:{bookedHotel:{is:"rw"},baseDesc:{is:"rw"},addDesc:{is:"rw"}},after:{initialize:function(){var a=this;this.setBaseDesc("Hotel");s2.tuifly.model.Booking.TUIHotelChangeEvent.observe(function(){a.findBookedHotel()});a.findBookedHotel()}},methods:{getBookedCount:function(){return this.getBookedHotel()?1:0},isAttachedToJourney:function(){return false},findBookedHotel:function(){var a=false,c=this.$.find(".hotelSummary");
if(this.getRate(c).match(/[0-9]+/)){a=true;this.setPrice(this.getRate(c));this.setDesc(c.find(".hotelNameBlue").text());var d=[];c.find(".qAddPartnerRooms").each(function(b,f){d.push(f.innerHTML)});c.find(".qAddPartnerNights").each(function(b,f){d.push(f.innerHTML)});this.setAddDesc(d)}this.setBookedHotel(a)},getRate:function(a){return a.find(".price").text()}},classMethods:{select:function(a){return a},selectContext:function(){return $("#qHotelConfirm")}}})});
s2.namespace("s2.tuifly.model",function(){Class("s2.tuifly.model.SSRPremiumEco",{isa:s2.tuifly.model.SSRSimple,has:{pricePerPerson:{is:"rw"}},methods:{getBookedCount:function(){return this.isChecked()?1:0}},classMethods:{selectContext:function(){return $.cachedFind("#premiumeco")},select:function(a){return a},pricePerPerson:function(){return this.context$.data("price")}}})});
s2.namespace("s2.tuifly.model.flightSearch",function(){var a=this,c=false;Class("s2.tuifly.model.flightSearch.StationManager",{does:JooseX.Singleton,has:{stationByIataCode:{init:function(){return{}}},destToOrig:{init:function(){return{}}},iataToCountryCode:{},regionToIataCodes:{},countryCodeToCountry:{init:function(){return{}}}},methods:{findStation:function(f){f=f.toUpperCase();var g;if(g=this.getStation(f))return g;Joose.O.each(this.stationByIataCode,function(h){if(h.toString().toUpperCase()==f)g=
h});return g},addStation:function(f){this.stationByIataCode[f.getIataCode()]=f},getStation:function(f){return this.stationByIataCode[f]},getStations:function(f){var g=this,h=[];Joose.A.each(f,function(m){var o=g.getStation(m);o?h.push(o):s2.Logger.debug("Missing station "+m)});return h},manualSortedIataCodes:function(){var f=[];Joose.O.each(this.stationByIataCode,function(g,h){f.push(h)});return f},addDestToOrigMapping:function(f,g){var h=this.destToOrig;if(h[f]==null)h[f]={};h[f][g]=true},initDestToOrigMapping:function(){if(!c){c=
true;Joose.A.each(this.allStations(),function(f){Joose.A.each(f.getDests(),function(g){d.addDestToOrigMapping(g,f.iataCode)})})}},getOrigs:function(f){this.initDestToOrigMapping();f=this.destToOrig[f]||{};var g=[],h;for(h in f)g.push(h);return this.getStations(g)},validOrigs:function(){var f=this.getSortedStations(),g=[];jQuery.each(f,function(h){h=f[h];s2.tuifly.helper.restrictions.isRestrictedOrigin(h)||g.push(h)});return this.getStations(g)},allStations:function(){return this.getStations(this.getSortedStations())},
getSortedStations:function(){if(typeof SortedStations=="undefined"){var f=[];Joose.O.each(this.stationByIataCode,function(g){f.push(g)});return d.sortStations(f)}else return SortedStations},validDests:function(){var f=[];Joose.A.each(this.allStations(),function(g){g.isValidDest()&&f.push(g)});return f},sortStations:function(f,g){var h=function(q,u){if(!g){if(q.isInGermany()&&!u.isInGermany())return-1;if(!q.isInGermany()&&u.isInGermany())return 1}return q.getLongName()>u.getLongName()?1:-1};if(typeof SortedStations==
"undefined"){f.sort(h);return f}var m={};Joose.A.each(f,function(q){m[q.getIataCode()]=true});var o=[];Joose.A.each(this.allStations(),function(q){m[q.getIataCode()]!=null&&o.push(q)});if(g)return o.sort(h);return o},getAirportsInRegion:function(f){var g=[];Joose.O.each(this.regionToIataCodes,function(h,m){if(m.indexOf(f)>-1)g=g.concat(h)});return g}}});var d=s2.tuifly.model.flightSearch.StationManager.getInstance(),b=false;Class("s2.tuifly.model.flightSearch.Country",{has:{iataCode:{is:"rw"},longName:{is:"rw"}},
methods:{initialize:function(f){if(f)for(var g in f)this[g]=f[g]}}});Class("s2.tuifly.model.flightSearch.Station",{has:{iataCode:{is:"rw"},longName:{is:"rw"},validOrig:{is:"rw"},validDest:{is:"rw"},country:{is:"rw"},dests:{is:"rw"},text:{}},methods:{initialize:function(f){if(f)for(var g in f)this[g]=f[g]},origStations:function(){return d.getOrigs(this.iataCode)},destStations:function(){return d.getStations(this.getDests())},isInGermany:function(){var f=this.getCountry();return f==="DE"||f==="CH"||
this.iataCode==="MLH"||this.iataCode==="RTM"||this.iataCode==="AMS"||this.iataCode==="EIN"},isValidDest:function(){return this.validOrig},isValidOrig:function(){return this.validDest},stringify:function(){var f=this.longName;f||(f="");if(this.iataCode.match("-"))return f;return this.longName+" ("+this.iataCode+")"},asNavitairStation:function(){return{code:this.iataCode,name:this.longName,validOrig:this.validOrig,validDest:this.validDest,mkts:this.dests}}},classMethods:{newFromNavitairStation:function(f,
g){var h=s2.tuifly.model.flightSearch.StationManager.getInstance(),m=f.name,o=[];o=[].concat(f.mkts||[]);m=new s2.tuifly.model.flightSearch.Station({iataCode:f.code,longName:m,validOrig:f.validOrig,validDest:f.validDest,dests:o,country:g});h.addStation(m)},newFromParams:function(f){var g=s2.tuifly.model.flightSearch.StationManager.getInstance();f=new this({iataCode:f.iataCode,longName:f.name});g.addStation(f)},initialize:function(){var f=this;s2.tuifly.util.routes.get(function(g){f.routes=g;f.text=
new s2.tuifly.util.Text(window.LocalText);g=window.NavitairGlobal_airportCountryMap;for(var h=Stations,m=SortedStations,o=0;o<m.length;++o){var q=h[m[o]];if(typeof q=="object"&&q.name!==true){var u=g[q.code];u?s2.tuifly.model.flightSearch.Station.newFromNavitairStation(q,u):s2.Logger.debug("missing country "+q.code)}}d.iataToCountryCode=g;b=true;a.InitializedEvent.trigger()})},initializeFromAjax:function(f){f="/pregenerated/"+JooseX.Culture.Factory.get().majorIdentifier()+"/farefinder/"+s2.tuifly.util.Skin.get().identifier()+
"/orig-dest-pairs.json";var g=this;if(b)window.setTimeout(function(){a.InitializedEvent.trigger()});else{if(typeof Stations!="undefined")return this.initialize();jQuery.getJSON(f,function(h){var m=s2.tuifly.model.flightSearch.StationManager.getInstance();Joose.O.each(h.iataCodes,function(o,q){var u=h.dests[q]||[];u=g.meta.instantiate({iataCode:q,longName:o,validDest:u.length>0?true:false,dests:u,country:h.countries[q]});Joose.A.each(u.getDests(),function(w){m.addDestToOrigMapping(w,q)});m.iataToCountryCode=
h.countries;m.addStation(u);m.regionToIataCodes=h.regions});Joose.O.each(h.countryName,function(o,q){m.countryCodeToCountry[q]=new s2.tuifly.model.flightSearch.Country({longName:o,iataCode:q})});b=true;a.InitializedEvent.trigger()})}}}});this.DestChangeEvent=new s2.tuifly.Event("DestinationChangeEvent");this.OrigChangeEvent=new s2.tuifly.Event("OriginChangeEvent");this.InitializedEvent=new s2.tuifly.Event("Stations")});
s2.namespace("s2.tuifly.controller",function(){window.S2Controllers={};Class("s2.tuifly.controller.PageControllerMetaClass",{isa:s2.tuifly.LazyMetaClass,override:{initializeFromProps:function(a){var c=a.invokeDestinationSelector||"body",d=a.invokeClassName;delete a.invokeDestinationSelector;delete a.invokeClassName;this.addClassMethod("register",function(){var b=this;$(document).ready(function(){if(d)if(!$(c).hasClass(d))return;b.finishBuild();var f=b.getInstance();f.ready();var g=f.meta.className();
window.S2Controllers[g]=f})});this.SUPER(a)}}});Class("s2.tuifly.controller.PageController",{meta:this.PageControllerMetaClass,does:[JooseX.Singleton],isAbstract:true,invokeClassName:null})});
s2.namespace("s2.tuifly.controller",function(){jQuery.browser.msie6=jQuery.browser.msie&&jQuery.browser.version.substr(0,1)=="6";var a=function(){if(a.instance)return a.instance;var c=navigator.userAgent;this.isIE6onXP=function(){return this.isIE6()&&this.isXP()};this.isIE7onXP=function(){return this.isIE7()&&this.isXP()};this.isFirefox=function(){return c.match(/Firefox/i)};this.isOlderThanFirefox=function(d){var b=c.match(/Firefox\/([0-9\.]+)\./i);return b&&parseFloat(b[1])<d};this.isIE=function(){return c.match(/MSIE\s/i)};
this.isIE6=function(){return c.match(/MSIE\s6/i)};this.isIE7=function(){return c.match(/MSIE\s7/i)};this.isIE8=function(){return c.match(/MSIE\s8/i)};this.isIE9=function(){return c.match(/MSIE\s9/i)};this.isXP=function(){return c.match(/Windows\sNT\s5/i)};this.isVista=function(){return c.match(/Windows\sNT\s6\.0/i)};this.isWin7=function(){return c.match(/Windows\sNT\s6\.1/i)};this.isOlderThanXP=function(){var d=c.match(/Windows\sNT\s(\d)\./i);return d&&parseInt(d[1],10)<5};this.isNewerThanXP=function(){var d=
c.match(/Windows\sNT\s(\d)\./i);return d&&parseInt(d[1],10)>5};a.instance=this};this.Browser=new a});
s2.namespace("s2.tuifly.controller",function(){var a,c=false;window.s2.initializeCallbacks["s2.tuifly.controller.FlightCart"]=function(){s2.tuifly.controller.FlightCart.register()};Class("s2.tuifly.controller.FlightCart",{isa:s2.tuifly.controller.PageController,invokeClassName:"controllerFlightCart",has:{passengers:{is:"rw"},meals:{is:"rw"},luggage:{is:"rw"},baggage:{is:"rw"},seats:{is:"rw"},zugZumFlug:{is:"rw"},partner:{is:"rw"},seats:{is:"rw"},extras:{is:"rw"}},methods:{ready:function(){var d=this;
$(document).ready(function(){d.init()})},init:function(){var d=this;if($.cachedFind("#flightCart").length!=0){this.setPassengers(s2.tuifly.model.Passenger.create());this.setMeals(s2.tuifly.model.SSRMenu.create());this.setLuggage(s2.tuifly.model.SSRLuggage.create());this.setBaggage(s2.tuifly.model.SSRBaggage.create());this.setSeats(s2.tuifly.model.SSRSeat.create());this.setZugZumFlug(s2.tuifly.model.SSRZugZumFlug.create());this.setPartner(s2.tuifly.model.SSRSimple.create($("#elviaBox div.querySimpleSSR"),
{pricePerPerson:true}).concat(s2.tuifly.model.SSRTUICars.create()).concat(s2.tuifly.model.SSRTUIHotels.create()));this.setExtras(s2.tuifly.model.SSRCO2.create().concat(s2.tuifly.model.SSRPremiumEco.create()).concat(s2.tuifly.model.SSRSimple.create($("#insuranceBox div.querySimpleSSR"),{pricePerPerson:false})));$.cachedFind('[id$="_RadioButtonNoInsurance"]').change(function(){s2.tuifly.model.Booking.SSRChangeEvent.trigger()});$.cachedFind('[value="noInsurance"]').change(function(){s2.tuifly.model.Booking.SSRChangeEvent.trigger()});
s2.tuifly.model.Booking.SSRChangeEvent.observeLazy(function(){s2.Logger.debug("SSRChangeEvent");d.draw()},400);d.bookingChange();var b=function(){c&&a&&d.draw()};$(document).keydown(b);$(document).bind("scroll",b);document.getElementById("changeUpdateLater")&&$.cachedFind("#changeUpdateLater").show()}},draw:function(){var d=this;c=true;if(a){clearTimeout(a);a=null}a=setTimeout(function(){d.bookingChange();c=false},400)},bookingChange:function(){this.drawSSRs();this.drawSum()},filterByJourney:function(d,
b){var f=[];Joose.A.each(d,function(g){var h=g.getJourney();if(h==null||h==b)f.push(g)});return f},drawSSRs:function(){this.drawJourneyRelatedSSR("cartlabelMeals",this.getMeals());this.drawJourneyRelatedSSR("cartlabelBaggages",this.getLuggage());this.drawJourneyRelatedSSR("cartlabelBaggage",this.getBaggage());this.drawJourneyRelatedSSR("cartlabelZzfs",this.getZugZumFlug());this.drawJourneyRelatedSSR("cartlabelSeats",this.getSeats());this.drawJourneyRelatedSSR("cartlabelExtras",this.getExtras());this.drawPartnerSSR("cartlabelPartners",
this.getPartner())},fetchSum:function(d){var b=s2.tuifly.util.CurrencyValue.zero();$(d).each(function(){if(!$(this).parents("[class*=qRemoved]").length>0){var f=$(this).text();if(f!=""){var g=TYPE.S2Currency.coerce(f);if(g)b=b.add(g);else s2.Logger.debug("Invalid currency value "+f)}}});return b},drawSum:function(d){d=this.fetchSum("#flightCart td.interSum");var b=this.fetchSum("#cartlabelPartners td.interSum"),f=d.substract(b);$("#cartFlightSum").text(f.toString());f=$("#cartPartnerSum");f.text(b.toString());
b.greaterZero()?f.parent().show():f.parent().hide();$("#cartTotalSum").text(d.toString())},drawPartnerSSR:function(d,b){if(b.length!=0){var f=$.cachedFind("#"+d+" > div.cartItemTables");f=(new s2.tuifly.view.FlightCartPartnerTables({target:f})).draw(b);this.showHideGroup(d,f)}},drawJourneyRelatedSSR:function(d,b){var f=this;if(b.length!=0){var g=0,h=0;$.cachedFind("#"+d+" > div > table > tbody").each(function(){var m=$(this);m=new s2.tuifly.view.FlightCartTable({tbody:m,table:m.parent()});var o=f.filterByJourney(b,
g);h+=m.draw(o);g++});f.showHideGroup(d,h)}},showHideGroup:function(d,b){if(b>0){$.cachedFind("#"+d).show();$.cachedFind("#"+d).removeClass("qRemoved")}else{$.cachedFind("#"+d).hide();$.cachedFind("#"+d).addClass("qRemoved")}}}})});
s2.namespace("s2.tuifly.controller",function(){window.s2.initializeCallbacks["s2.tuifly.controller.FlightCartSumCalculator"]=function(){s2.tuifly.controller.FlightCartSumCalculator.register()};Class("s2.tuifly.controller.FlightCartSumCalculator",{isa:s2.tuifly.controller.FlightCart,invokeClassName:"controllerFlightCartSumCalc",methods:{ready:function(){}},before:{drawSum:function(){var a=s2.tuifly.util.CurrencyValue.zero();$("#cartlabelPayments > div > table td.cartSumComponent").each(function(){var c=
$(this).text();c=TYPE.S2Currency.coerce(c);if(c!=null)a=a.add(c)});$("#cartPaymentSum").text(a.toString())}}})});
s2.namespace("s2.tuifly.controller",function(){var a=s2.tuifly.model.flightSearch.StationManager.getInstance();this.AirportInfoShowEvent=new s2.tuifly.Event("AirportInfoShowEvent");this.AirportInfoHideEvent=new s2.tuifly.Event("AirportInfoHideEvent");this.AutoCompleteShowEvent=new s2.tuifly.Event("AutoCompleteShowEvent");var c=false,d=false;window.s2.initializeCallbacks["s2.tuifly.controller.FlightSearch"]=function(){s2.tuifly.controller.FlightSearch.register()};Class("s2.tuifly.controller.FlightSearch",
{isa:s2.tuifly.controller.PageController,invokeClassName:"controllerFlightSearch",has:{origInput:{is:"rw"},destInput:{is:"rw"},currentSelectTarget:{is:"rw"},destCode:{is:"rw"},origCode:{is:"rw"},text:{}},methods:{repairSession:function(){if($("#flugsuche select[id*='DropDownListPassengerType_INFANT']").length==0){s2.Logger.debug("Session broke. Repairing session. (Or was the select renamed?)");var b=function(){};location.pathname.match(/\.aspx/)||(b=function(){var f=new JooseX.Culture.Factory.get;
location.href="/Search.aspx?culture="+f.identifier()});jQuery.get("/DeleteCookies.aspx",b)}},navitairReady:function(){if(document.getElementById("flugsuche")){var b=this;b.repairSession();this.text=new s2.tuifly.util.Text(window.LocalText);s2.tuifly.model.flightSearch.InitializedEvent.observeOnce(function(){b.setOptions(b.getOrigInput(),b.sortStations(a.validOrigs()),"orig");b.setOptions(b.getDestInput(),b.sortDests(a.validDests(),true),"dest")});b.setOrigInput(s2.tuifly.widget.cityAutocomplete.origInput);
b.setDestInput(s2.tuifly.widget.cityAutocomplete.destInput);s2.tuifly.model.flightSearch.DestChangeEvent.observe(function(g,h){b.setDestCode(g);b.destChanged(g,h)});s2.tuifly.model.flightSearch.OrigChangeEvent.observe(function(g,h){b.setOrigCode(g);b.origChanged(g,h)});s2.tuifly.model.flightSearch.Station.initialize();var f=JooseX.Culture.Factory.get();if(f.identifier()=="de-DE"||f.identifier()=="en-GB")$("body > div.ac_results").delegate("li.ac_element","mouseover",function(g){g.preventDefault();
g.stopPropagation();g=$(g.target);c=false;s2.tuifly.controller.AirportInfoShowEvent.trigger(g)});s2.tuifly.controller.AirportInfoHideEvent.observeLazy(function(){$("#destinationInfo").hide();$(".dontClickLayer").hide();c=true});s2.tuifly.controller.AutoCompleteShowEvent.observe(function(){c=false});typeof RouteMaxDate!="undefined"&&s2.tuifly.widget.datepickerForSelect.datePickers.each(function(){$(this).data("datepicker").settings.maxDate=RouteMaxDate});s2.tuifly.controller.AirportInfoShowEvent.observeLazy(function(g){$("#destinationInfo").hide();
var h=false,m=g.parent();if(g.find("span.dest").length>0)h=true;if(!h&&!m.is("ul")&&m.find("span.dest").length>0){g=m;h=true}s2.Logger.debug("event");var o=g.find(".qAirportCode").text(),q,u;if(m=o.match(/(\w+)$/)){q=m[1];s2.Logger.debug("over "+q);u=$("<span>"+g.html()+"</span>").find(".zugZumFlug").length>0?b.text.get("zzfText"):"";m="/"+JooseX.Culture.Factory.get().majorIdentifier()+"/destinations/"+q.toLowerCase()+".html";var w=function(A,H){if(!c)if(JooseX.Culture.Factory.get().identifier()!=
"it-IT"){s2.Logger.debug("Status "+H);if(H!="error"){var K=$("<div class='dontClickLayer'/></div>"),L=$("#destinationInfo");if(L.length==0){K.appendTo($(document.body));L=$("<div style='z-index: 9999; display:none' id=destinationInfo />").appendTo($(document.body))}if(u){var E;if(h){K=b.getOrigInput().val();E=o}else{K=o;E=b.getDestInput().val()}A=b.text.get("zzfDirection",{orig:K,dest:E});b.setCurrentSelectTarget(g)}else if(h)if((K=b.getOrigCode())&&q){K=a.getStation(K);E=a.getStation(q);if(K&&E&&
!K.isInGermany()&&E.isInGermany())A+="<br/><br/><p>"+b.text.get("zzfToGermany")+"</p>"}L.html(A+u);E=$("#marketCityPair_1 input:visible");K=E.offset().left;E=E.outerWidth();K+=E;s2.Logger.debug("Left: "+K);E=(E=g.closest("ul").offset())?Math.round(E.top)-1:0;if(E>0){L.css("top",E+"px");L.css("left",K+"px");s2.Logger.debug("Pos "+E+"-"+K);$(".dontClickLayer").show();L.show()}}}};$.ajax({url:m,dataType:"html",error:w,success:w})}})}},ready:function(){},clear:function(){this.getDestInput().val("");this.getOrigInput().val("")},
closeAutocomplete:function(){this.getDestInput().trigger("s2:closeIfOpen");this.getOrigInput().trigger("s2:closeIfOpen")},showDirectConnections:function(){var b=this.getCurrentSelectTarget();if(b){b.click();this.setCurrentSelectTarget(null)}},setOrigsForDest:function(b){var f=this,g=this.getOrigInput();this.setOptions(g,b.origStations(),"orig");s2.tuifly.model.flightSearch.OrigChangeEvent.observeOnce(function(){f.setOptions(g,a.validOrigs(),"orig")})},updateDatepickerRange:function(){s2.tuifly.widget.datepickerForSelect.datePickers.each(function(){var b=
$(this),f=s2.tuifly.helper.search.getSearchParam("departureAirport"),g=s2.tuifly.helper.search.getSearchParam("arrivalAirport");if(available)if(g=available[f+" "+g]){g=g.split(" ");if(g.length===2){f=g[0];g=g[1];b.data("datepicker").settings.minDate=Date.parseExact(f,"yyyyMMdd");b.data("datepicker").settings.maxDate=Date.parseExact(g,"yyyyMMdd")}}})},destChanged:function(b,f){s2.Logger.debug("destChanged");var g=this.getOrigInput();if(b){var h=a.getStation(b);d=false;if(g.val()==="")this.setOrigsForDest(h);
else if(f){d=true;this.setOrigsForDest(h);g.val("");g.parent().find(".qAirportName").html("");g.parent().find(".qAirportCode").html("");this.clickInput(g)}try{s2.tuifly.flash.airportMap.fireDestChanged(b)}catch(m){s2.Logger.debug("Flash Error: "+m)}this.updateDatepickerRange()}else this.setOptions(g,a.validOrigs(),"orig")},origChanged:function(b){s2.Logger.debug("origChanged");var f=a.getStation(b);if(typeof f!="undefined"){var g=this.sortDests(f.destStations(),s2.tuifly.util.routes.isInAirberlinFormerTuifly(f.getIataCode())),
h=this.getDestInput(),m=false;if(!Joose.A.exists(g,h.val())){m=true;h.val("");h.parent().find(".qAirportName").html("");h.parent().find(".qAirportCode").html("");$("#destDisplayField").addClass("hidden")}if(f.isInGermany()){g=[].concat(g);g.push("--------------------------------");f=a.validDests();Joose.A.each(f,function(o){!o.isInGermany()&&!Joose.A.exists(g,o)&&g.push('<span class="zugZumFlug">'+o.toString()+"</span>")})}m&&window.triggerClickCompactSearchAllowed&&this.clickInput(h);this.setOptions(h,
g,"dest");s2.tuifly.flash.airportMap.fireOriginChanged(b);b=$("input[name='scorigin']");if(b.length>0&&b.val().substr(0,7)=="CS-Home")if(d){s2.Logger.debug("Setting ZZF Alt-Start Tracking");b.val("CS-Home-Alt-Start")}else b.val("CS-Home");d=false;this.updateDatepickerRange()}},clickInput:function(b){window.setTimeout(function(){if(!$("#flugsuche").hasClass("closed")){b.get(0).showInput&&b.get(0).showInput();try{b.focus()}catch(f){}b.click()}},50)},setOptions:function(b,f,g){var h=true,m=0,o=0;f=jQuery.map(f,
function(q){if(q.meta&&h&&!q.isInGermany()&&q.getCountry()!=null){h=false;o=m}q=""+q;q=q.match(/class=\"/)?q.replace(/class=\"/,'class="'+g+" "):'<span class="'+g+'">'+q+"</span>";++m;return q});o>0&&f.splice(o,0,"<span>--------------------------------</span>");b.flushCache();b.setOptions({data:f})},sortDests:function(b,f){return s2.tuifly.model.flightSearch.StationManager.getInstance().sortStations(b,true,f)},sortStations:function(b){return s2.tuifly.model.flightSearch.StationManager.getInstance().sortStations(b,
false)}}})});
s2.namespace("s2.tuifly.controller",function(){window.s2.initializeCallbacks["s2.tuifly.controller.FarefinderSearch"]=function(){s2.tuifly.controller.FarefinderSearch.register()};var a=s2.tuifly.model.flightSearch.StationManager.getInstance(),c=function(d){d.isSet=function(){var b=$(this).val();if(b==null||b==""||b=="-1")return false;return true};d.isSetToAirport=function(){if(!this.isSet())return false;return this.val().length==3};return d};Class("s2.tuifly.controller.FarefinderSearch",{isa:s2.tuifly.controller.PageController,
invokeClassName:"controllerFarefinderSearch",invokeDestinationSelector:"#fareFinderSearch",has:{origInput:{is:"rw"},destInput:{is:"rw"},form:{is:"rw"},allStations:{is:"rw"},text:{}},methods:{ready:function(){var d=this;s2.tuifly.model.flightSearch.InitializedEvent.observeOnce(function(){var b=d.getOrigInput(),f=d.getDestInput(),g=a.getStations(a.manualSortedIataCodes());d.setAllStations(g);b.change(function(){d.origChanged($(this).val())});var h=b.find("option[value='disabled']");h.attr("disabled",
true);h.attr("class","disabled");f.change(function(){d.destChanged($(this).val())});b.isSet()?b.change():d.setOptions(f,d.prepareOptions(d.getUniqueDests(g)),"dest");d.afterInit()});s2.tuifly.model.flightSearch.Station.initializeFromAjax();this.setOrigInput(c($("#AirportListOrigin")));this.setDestInput(c($("#AirportListDestination")));this.setForm($("#fareFinderSearch"));this.text=new s2.tuifly.util.Text($("#farefinderText"))},afterInit:function(){},submit:function(d,b){var f=this.getForm();if(!d){d=
f.attr("action");var g=d.indexOf("?");if(g!="-1")d=d.slice(0,g)}if(d!="/farefinder/bestoffers")if(!this.check(b))return false;d&&f.attr("action",d);f.submit()},check:function(d){if(location.href.match(/farefinder\/bestoffers/)&&$("#AirportListOrigin").val()==-1&&$("#AirportListDestination").val()==-1)return true;if(d){if(!this.getOrigInput().isSetToAirport()&&!this.getDestInput().isSetToAirport()){s2.tuifly.widget.dialog.alert(this.text.get("errorOriginDestination"),{view:"note"});s2.tuifly.events.AjaxEndEvent.trigger();
return false}if(!this.getOrigInput().isSetToAirport()){s2.tuifly.widget.dialog.alert(this.text.get("errorOrigin"),{view:"note"});s2.tuifly.events.AjaxEndEvent.trigger();return false}if(!this.getDestInput().isSetToAirport()){s2.tuifly.widget.dialog.alert(this.text.get("errorDestination"),{view:"note"});s2.tuifly.events.AjaxEndEvent.trigger();return false}}else if(!this.getOrigInput().isSetToAirport()&&!this.getDestInput().isSetToAirport()||!this.getOrigInput().isSetToAirport()||!this.getDestInput().isSetToAirport())return false;
return true},destChanged:function(){},origChanged:function(d){var b,f;if(d.length==3)b=d;else if(d.length==1)f=d;d=0;if(this.getOrigInput().hasClass("queryNoCountry"))d=1;if(b)b=this.prepareOptions(a.getStation(b).destStations(),d);else if(f){b=a.getAirportsInRegion(f);b=this.prepareOptions(this.getUniqueDests(a.getStations(b),d))}else b=this.prepareOptions(this.getUniqueDests(this.getAllStations()),d);this.setOptions(this.getDestInput(),b,"dest")},getUniqueDests:function(d){var b={},f=[];Joose.A.each(d,
function(g){Joose.A.each(g.destStations(),function(h){b[h.iataCode]=true})});Joose.O.each(b,function(g,h){f.push(h)});return a.getStations(f)},prepareOptions:function(d,b){d=a.sortStations(d,true);var f=[],g={},h=[];if(!b){Joose.A.each(d,function(o){g[o.country]=true});Joose.O.each(g,function(o,q){h.push(q)});f=['<option value="" disabled class="disabled">'+this.text.get("country")+"</option>"];var m=[];Joose.A.each(h,function(o){m.push(a.countryCodeToCountry[o])});m=m.sort(function(o,q){return o.getLongName()>
q.getLongName()});f=f.concat(m);f.push('<option value="" disabled class="disabled">'+this.text.get("airport")+"</option>")}return f=f.concat(d)},setOptions:function(d,b,f){var g='<option value="-1">'+this.text.get(f=="dest"?"destination":"origin")+"</option>";Joose.A.each(b,function(m){if(typeof m=="string")g+=m;else{var o=m.getIataCode(),q=m.getLongName(),u="";if(o.match(/^[A-Z]{3}$/))u=m.isInGermany()?"queryGermany":"queryNotGermany";g+='<option value="'+o+'" class="'+u+'">'+q+"</option>"}});if(d.html()!=
g){var h=d.isSet()?d.val():null;d.html(g);h&&setTimeout(function(){d.val(h)},100)}}}})});
s2.namespace("s2.tuifly.controller",function(){var a=s2.tuifly.model.flightSearch.StationManager.getInstance();window.s2.initializeCallbacks["s2.tuifly.controller.PartnerBannerController"]=function(){s2.tuifly.controller.PartnerBannerController.register()};Class("s2.tuifly.controller.PartnerBannerController",{isa:s2.tuifly.controller.FarefinderSearch,invokeClassName:"controllerPartnerBanner",invokeDestinationSelector:"#partnerBanner",methods:{afterInit:function(){var c=this.getOrigInput();$(c).addClass("queryNoCountry");
var d=this.getDestInput();$("#MonthToQuery");var b=this.getAllStations();this.setOptions(c,this.prepareOptions(b,"noCountry"),"orig");this.setOptions(d,this.prepareOptions(b,"noCountry"),"dest");this.evaluateQuery()},evaluateQuery:function(){partnerBannerOriginInput=this.getOrigInput();partnerBannerDestinationInput=this.getDestInput();var c=$("#MonthToQuery"),d=new s2.tuifly.util.Query;partnerBannerSelectedOrigin=d.param("origin");partnerBannerSelectedDestination=d.param("destination");partnerBannerSelectedMonth=
d.param("month");if(partnerBannerSelectedOrigin){this.origChanged(partnerBannerSelectedOrigin);setTimeout("partnerBannerOriginInput.val(partnerBannerSelectedOrigin)",0)}if(partnerBannerSelectedDestination){this.destChanged(partnerBannerSelectedDestination);setTimeout("partnerBannerDestinationInput.val(partnerBannerSelectedDestination)",0)}partnerBannerSelectedMonth&&c.val(partnerBannerSelectedMonth)}},before:{ready:function(){var c=new s2.tuifly.util.Query,d=c.param("size");$("body").addClass(d);
$("#AD").val(c.param("size"));$("#ATT").val(c.param("campaign"))}},override:{destChanged:function(c){c=this.prepareOptions(c<0?this.getUniqueDests(this.getAllStations()):a.getStation(c).origStations(),"noCountry");this.setOptions(this.getOrigInput(),c,"orig")}}})});var partnerBannerOriginInput,partnerBannerDestinationInput,partnerBannerSelectedOrigin,partnerBannerSelectedDestination,partnerBannerSelectedMonth;
s2.namespace("s2.tuifly.view",function(){Class("s2.tuifly.view.FlightCartTable",{has:{tbody:{},table:{}},methods:{draw:function(a){var c=this,d=s2.tuifly.model.PassengerManager.getInstance(),b=[],f={};Joose.A.each(a,function(q){if(parseInt(q.getBookedCount(),10)>0){var u;u=q.passengerId?q.passengerId():"notBound";Joose.A.exists(b,u)||b.push(u);f[u]||(f[u]=[]);f[u].push(q)}});var g="",h=0,m=s2.tuifly.util.CurrencyValue.zero(),o=0;Joose.A.each(b,function(q){var u=q!="notBound"?d.getPassenger(q):null;
if(!c.hasInlineName()&&!c.hasNoPaxName())g+="<tr"+(o>0?" class=notFirst":"")+'><td colspan=2 class="name dynamicPassengerName'+u.getIndex()+'"><div class="name">'+u.getName()+"</div></td></tr>\n";Joose.A.each(f[q],function(w){var A="";if(c.hasCount())A=w.getBookedCount()+" ";var H=w.totalPrice();m=m.add(H);A=A+w.getDesc();var K="";if(c.hasInlineName())A='<div class="name"><span class="name dynamicPassengerName'+u.getIndex()+'">'+u.getName()+"</span></div>";if(c.hasExtraInfo())K="<td>"+w.extraInfo()+
"</td>";g+="<tr><td>"+A+"</td>"+K+'<td class="cartData cartSumComponent">'+H+"</td></tr>";h++});o++});this.drawHTML(g);this.drawSum(m);this.showHide(h);return h},drawPartner:function(){},drawSum:function(a){this.table.find("tfoot td.interSum").text(a.toString())},hasInlineName:function(){return this.table.hasClass("hasInlineName")},hasNoPaxName:function(){return this.table.hasClass("hasNoPaxName")},hasCount:function(){return this.table.hasClass("hasCount")},hasExtraInfo:function(){return this.table.hasClass("hasExtraInfo")},
showHide:function(a){a>0?this.table.show():this.table.hide()},drawHTML:function(a){this.tbody.html(a)}}})});
s2.namespace("s2.tuifly.view",function(){Class("s2.tuifly.view.FlightCartPartnerTables",{has:{target:{}},methods:{draw:function(a){var c=[],d=0;Joose.A.each(a,function(b){if(b.getBookedCount()>0){var f=b.meta.can("getBaseDesc")?b.getBaseDesc():b.getDesc(),g=b.totalPrice().toString(),h=b.meta.can("getAddDesc")?b.getAddDesc():[],m=[];m.push('<table class="rowTwoPiece" cellspacing="0">');m.push("<tr>");m.push('<th colspan="2">'+f+"</th>");m.push("</tr>");m.push("<tr>");m.push("<td>"+b.getDesc()+"</td>");
_(h).each(function(o){m.push("<td></td>");m.push("</tr>");m.push('<tr class="notFirst">');m.push("<td>"+o+"</td>")});m.push('<td class="cartData cartSumComponent">'+g+"</td>");m.push("</tr>");m.push('<tr class="summary">');m.push('<td colspan="1"></td>');m.push('<td class="cartData interSum">'+g+"</td>");m.push("</tr>");m.push("</table>");d++;c.push(m.join("\n"))}});c.length>0&&this.target.html(c.join(""));return d}}})});
s2.namespace("s2.tuifly.util",function(){var a;this.Cookie=function(){this.doc=document;a=this};this.Cookie.instance=function(){a||new this.Cookie;return a};this.Cookie.prototype={get:function(c){var d=this.doc.cookie;d=d.replace("+","%20");c=c+"=";var b=d.indexOf("; "+c);if(b==-1){b=d.indexOf(c);if(b!=0)return""}else b+=2;var f=d.indexOf(";",b);if(f==-1)f=d.length;d=unescape(d.substring(b+c.length,f));if(d==";")return"";return d},getSearchData:function(){var c=this.get("AvailabilitySearchData"),
d={};if(c){c=Base64.decode(c);c=c.split("|");d.oneway=c[0];d.origin=c[1];d.dest=c[2];d.departureDateDay=c[3];d.departureDateYearMonth=c[4];d.arrivalDateDay=c[5];d.arrivalDateYearMonth=c[6];d.countAdult=c[7];d.countChild=c[8];d.countInfant=c[9]}return d},set:function(c,d,b,f){this.doc.cookie=c+"="+escape(d)+(b?"; expires="+b.toGMTString():"")+"; path=/"+(f?"; secure":"");b=this.get(c);b!=d&&XSSdebug("Failed Setting cookie "+c+" "+d+"->"+b)}}});
s2.namespace("s2.tuifly.initialize",function(){if(typeof console=="undefined")console={log:function(){}};$(document).ready(function(){var a=jQuery.cachedFind("meta[name='culture']").attr("content");a?JooseX.Culture.setCurrentCulture(a):s2.Logger.debug("missing culture tag");var c=jQuery("meta[name='defaultCurrency']").attr("content");a?s2.tuifly.util.CurrencyValue.setDefaultCurrencySymbol(c):s2.Logger.debug("missing default currency symbol");if(typeof javaScriptHtmlId!="undefined"){waitDiv=javaScriptHtmlId+
"_userIdWait";errDiv=javaScriptHtmlId+"_userIdErr";okDiv=javaScriptHtmlId+"_userIdOk";errDivMsg=javaScriptHtmlId+"_userIdErrMessage";ajaxDivName="#"+javaScriptHtmlId+"_IRAjax"}window.loadingImageCache=new Image;window.loadingImageCache.src="/images/buttons/loading_red.gif";_(window.s2.initializeCallbacks).each(function(d,b){if(typeof d==="function")try{d.call(window)}catch(f){console.log("error in initialize from "+b+":");console.log(f)}})})});
s2.namespace("s2.tuifly",function(){this.Login=function(){};this.Login.prototype={getBluemilesId:function(){return(new s2.tuifly.util.Cookie).get("bluemiles")},getCustomerNumber:function(){return(new s2.tuifly.util.Cookie).get("customerNumber")},getLoginCookie:function(){return(new s2.tuifly.util.Cookie).get("loginStatus")},getNameCookie:function(){return(new s2.tuifly.util.Cookie).get("userName")},getFriendchipsCookie:function(){return(new s2.tuifly.util.Cookie).get("customerFriendchips")},loggedIn:function(){var a=
this.getLoginCookie();if(a&&a.length>0)return true;return false},draw:function(){var a=this.loggedIn();document.write("<style type='text/css'>.loggedIn { display: "+(a?"block":"none")+" } \n.loggedOut { display: "+(a?"none":"block")+" }</style>")},showLoginbox:function(){$("#loginBox").attr("style","display:block;");$("#loginName").focus()},hideLoginbox:function(){$("#loginBox").attr("style","display:none;")},showSalutation:function(){$("#headerSalutation").text(this.utf8_decode(unescape(this.getNameCookie().replace("+",
" "))));var a="",c=JooseX.Culture.Factory.get().majorIdentifier();a=this.getFriendchipsCookie()==0?"/FriendChips/funktionsweise.html":"/FriendChips/friendchips_kontostand.html";$("#friendChipsCounter").html(this.getFriendchipsCookie());$("#friendChipsRef").attr("href","/"+c+a)},submitGlobalLoginRemoteNewValues:function(a,c,d){a=$("#"+a).val();c=$("#"+c).val();$("#loginName").val(a);$("#loginPassword").val(c);d&&$("#returnURL").val($("#"+d).val());$("#topbonusWait").removeClass("hidden");$("#topbonuslogin").removeClass("loggedOut");
$("#topbonuslogin").addClass("hidden");$("#globalLoginForm").submit()},utf8_decode:function(a){for(var c="",d=0,b=c1=c2=0;d<a.length;){b=a.charCodeAt(d);if(b<128){c+=String.fromCharCode(b);d++}else if(b>191&&b<224){c2=a.charCodeAt(d+1);c+=String.fromCharCode((b&31)<<6|c2&63);d+=2}else{c2=a.charCodeAt(d+1);c3=a.charCodeAt(d+2);c+=String.fromCharCode((b&15)<<12|(c2&63)<<6|c3&63);d+=3}}return c},toggleLoginFriendChips:function(){$(".loginFriendChipsContent").toggleClass("hidden")}};$(document).ready(function(){var a=
new s2.tuifly.util.Query(location.hash),c=JooseX.Culture.Factory.get().identifier(),d=JooseX.Culture.Factory.get().majorIdentifier(),b=s2.tuifly.util.Environment.get().isProd()||s2.tuifly.util.Environment.get().isStage()?"https://":"http://",f=location.hostname;if(location.port!="80"&&location.port!="443"&&location.port!="")f+=":"+location.port;var g=b+f+location.pathname+location.search,h=b+f+"/GlobalLogin.aspx",m=b+f+"/GlobalLogin.aspx?globalLogout=true&culture="+c;d=b+f+"/"+d+"/mein-TUIfly/index.html";
$("#globalLoginForm").append('<input type="hidden" name="culture" value="'+c+'">');$("#returnURL").val(g);location.pathname=="/Register.aspx"&&$("#returnURL").val(d);c=$("#globalLoginForm");c.attr("action",h);$("#globalLogoutAction").attr("href",m);$("#globalLoginFindPasswordAction").attr("href","javascript:s2.tuifly.widget.passwortVergessenLayer.open()");c.submit(function(o){var q=$("#loginName"),u=$("#loginPassword");if(q.val()==""){o.preventDefault();q.focus()}else if(u.val()==""){o.preventDefault();
u.focus()}});!tuiLogin.loggedIn()&&a.param("open")=="login"?window.tuiLogin.showLoginbox():window.tuiLogin.showSalutation();a.param("passwordIncorrect")=="1"&&a.param("loginEvent")!="1"&&window.setTimeout(function(){if(window.passwordIncorrectErrorMessage){alert(window.passwordIncorrectErrorMessage.replace(/&lt;/g,"<").replace(/&gt;/g,">"));$(".areaFriendChips").length==0&&window.tuiLogin.showLoginbox()}},0)});window.tuiLogin=new this.Login;window.tuiLogin.draw()});
s2.namespace("s2.tuifly.google.maps",function(){this.map=null;this.load_map=function(a){var c;c=document.location.host=="217.110.104.233"?"http://www.tuifly.com"+a.icon_url:a.icon_url;a.map_type=a.map_type=="hybrid"?google.maps.MapTypeId.HYBRID:a.map_type=="satellite"?google.maps.MapTypeId.SATELLITE:google.maps.MapTypeId.ROADMAP;if(!a.map_id)a.map_id="map";if(!a.startZoom)a.startZoom=8;if($("#"+a.map_id)){var d=document.getElementById(a.map_id),b={zoom:a.startZoom,center:new google.maps.LatLng(a.Lng,
a.Lat),navigationControl:true,scaleControl:true,mapTypeId:google.maps.MapTypeId.ROADMAP};this.map=new google.maps.Map(d,b);if(typeof this.map!="undefined"){c=new google.maps.MarkerImage(c,new google.maps.Size(20,24),null,new google.maps.Point(1,12));new google.maps.Marker({position:new google.maps.LatLng(a.Lng,a.Lat),map:this.map,icon:c,clickable:false})}}};this.get_api_key=function(){var a="";if(self.location.href.indexOf("tuifly.com")>=0)a="ABQIAAAA46T_OVRrnx4cblvTRMon_hT0ctzIeJ6Zps-c1ujYRD0t0BJZHRRhs8PtEgXQfIj5mGS0LHaokT3otg";
else if(self.location.href.indexOf("217.110.104.233")>=0)a="ABQIAAAA46T_OVRrnx4cblvTRMon_hTIVhBRjscOwCWRAr-Jt4kMoOMNFBQKVi1jtl9CaLGF9iQ6ylAJKVPDMg";else if(self.location.href.indexOf("hase")>=0)a="ABQIAAAA46T_OVRrnx4cblvTRMon_hSFjFfmzTGBQ3kEKKooZB90kFnNuxTeAoPvCu9LrqiRvD4jHZk8rnJBuA";else if(self.location.href.indexOf("217.110.104.236:13080")>=0)a="ABQIAAAA46T_OVRrnx4cblvTRMon_hToi96h0hcW8fW7RH7xHVTNhR_MbxSaGii_ILWA7T3Z2gPO5P9U9ocYqw";else if(self.location.href.indexOf("217.110.104.236:10080")>=0)a=
"ABQIAAAA46T_OVRrnx4cblvTRMon_hTNX0lYVFj-VpvE5Oy_WffWrSgPYRQtEHfEWTCYWTUbgmpKPJ0aenv81A";else if(self.location.href.indexOf("devel.tuifly.sinnerschrader.de:10080")>=0)a="ABQIAAAA46T_OVRrnx4cblvTRMon_hSiShUXJjhkPPEJzWHgihTDcOc36hRmlQz-oJoWpiunW-AiwDEhtLZ-ZA";else if(self.location.href.indexOf("devel.tuifly.sinnerschrader.de")>=0)a="ABQIAAAA46T_OVRrnx4cblvTRMon_hQPmbLerFLVZTI_n9I7YVd5IBWRqBR0afuFmU3_YVPX8jrOWjHMoqCzuA";else if(self.location.href.indexOf("217.110.104.236")>=0)a="ABQIAAAA46T_OVRrnx4cblvTRMon_hR8Q1gUAst0ivHKq1GoL4AJ3DhgfRQ3MvYj6XLZmuhVfJrHatW_Jwe-kg";
else if(self.location.href.indexOf("stage.tuifly.sinnerschrader.de")>=0)a="ABQIAAAA46T_OVRrnx4cblvTRMon_hSmzMK9z3xPuJ3OVBduG4ZLyo_rPBTFnUXY-biMwBN6bq0Css76_1BiAA";else if(self.location.href.indexOf("tuiflytrunk")>=0)a="ABQIAAAA46T_OVRrnx4cblvTRMon_hSQr5emVepil6mtpTZ8y1pt7DMHkRTAJPE7pE1xbejnl6DBN9rZVDePvA";else if(self.location.href.indexOf("tuifly")>=0)a="ABQIAAAA46T_OVRrnx4cblvTRMon_hRldNTBUwXjV8zvMjIg28hwTQgeGBTLjd9TtBOzrJ0HhREtkuuGcJO4gQ";else if(self.location.href.indexOf("win")>=0)a="ABQIAAAA46T_OVRrnx4cblvTRMon_hTYSRVBf8Y6Q-G3SJmrvrpKD6vVohR4kLZZMKyaED7i8tzZO_65DXqQLw";
else if(self.location.href.indexOf("tui")>=0)a="ABQIAAAA46T_OVRrnx4cblvTRMon_hR3k4WTjS7OrpVtkbvqxRIRkzTscxSE8duqNB0aW8-U0-OvDV8XZ9vmSw";else if(self.location.href.indexOf("localhost")>=0)a="ABQIAAAA46T_OVRrnx4cblvTRMon_hT2yXp_ZAY8_ufC3CFXhHIE1NvwkxSydD_cy8QzGmSrhecgpKYqkq0S6A";else if(self.location.href.indexOf("127.0.0.1")>=0)a="ABQIAAAA46T_OVRrnx4cblvTRMon_hRi_j0U6kJrkFvY4-OX2XYmEAa76BTCwtr-dBxjDr0tQ8H2Zg-WmIwY5w";return a}});
s2.namespace("s2.tuifly.google.search",function(){var a,c,d,b,f,g;this.initialize=function(){var h=this;if((c=document.getElementById("search"))&&$("form[id='search']").length>0){d=$(c).find("[name='searchService']").get(0);f=new s2.tuifly.util.Query;g=f.param("search");if(g!=null&&g!=""){b=$("#contentArea > .contentBlock > .content");b.html("");window.setTimeout(function(){h.loadAPI()},10);$(d).val(g);d.onclick=function(){$(this).focus()};$(d).addClass("readyForSearch")}else d.onclick=function(){$(this).hasClass("readyForSearch")||
$(this).select();$(this).addClass("readyForSearch")};$(c).submit(function(m){m.preventDefault();m=d.value;if(!$(d).hasClass("readyForSearch")||m==""){var o=$(d).attr("errorText");if(o){alert(o);return}}if(!h.checkSpecialSearchBehaviour(m))if(m!=""){m=location.pathname+"?search="+escape(m);location.href=m}})}};this.checkSpecialSearchBehaviour=function(h){if(h.match(/Reiserücktrittversicherung/i)||h.match(/reiserücktrittsversicherung/i)||h.match(/Reiserücktrittsversucherung/i)){window.open("http://www.tuifly.com/specials/partnerframe/index.php?url=rund-um-ihren-flug&sub=elvia");
return true}else if(h.match(/übergewicht/i)||h.match(/gespäckabgabe/i)||h.match(/gepäckabgabe/i)||h.match(/übergepäck/i)||h.match(/sportgepäck/i)){$("#toggleBox_147").removeClass("closed");location.href="/de/service/index.html#toggleBox_147";return true}else if(h.match(/Tiertransport/i)||h.match(/hundetransport/i)||h.match(/tiere/i)||h.match(/hunde/i)){$("#toggleBox_674").removeClass("closed");location.href="/de/service/faqs_zusatzleistungen.html#toggleBox_674";return true}else if(h.match(/Hotline/i)||
h.match(/Telefonkontakt/i)){$("#toggleBox_142").removeClass("closed");location.href="/de/service/servicecenter.html#toggleBox_142";return true}else if(h.match(/Flotte/i)||h.match(/flugzeugtyp/i)){$("#toggleBox_151").removeClass("closed");location.href="/de/unternehmen.html#toggleBox_151";return true}return false};this.apiLoaded=function(){var h=this;s2.Logger.debug("API loader loaded");var m=function(){try{s2.Logger.debug("Search API loaded");a=new google.search.SearchControl;var o="http://www.tuifly.com/"+
JooseX.Culture.Factory.get().majorIdentifier();s2.Logger.debug("Site "+o);var q=new google.search.WebSearch;q.setSiteRestriction(o);var u=new google.search.SearcherOptions;u.setExpandMode(google.search.SearchControl.EXPAND_MODE_OPEN);a.addSearcher(q,u);q.setResultSetSize(google.search.Search.LARGE_RESULTSET);s2.Logger.debug("Search API init complete");g!=null&&g!=""&&h.execute(g)}catch(w){s2.Logger.debug(w)}};if(window.google){s2.Logger.debug("Loading Search API");google.load("search","1.0",{callback:m})}else s2.Logger.debug("Error google object not here!")};
this.execute=function(h){b.html("");var m=new google.search.DrawOptions;m.setDrawMode(google.search.SearchControl.DRAW_MODE_LINEAR);a.draw(b.get(0),m);a.execute(h);a.setSearchCompleteCallback(this,this.draw)};this.draw=function(h,m){s2.Logger.debug("Search successful");this.setTrackingParams();m.results.length==0&&$("div.gsc-resultsbox-visible").html("Leider wurden keine Ergebnisse für Ihre Suchanfrage gefunden.")};this.setTrackingParams=function(){var h=(new s2.tuifly.util.Query).param("search");
h={events:["event1","event6"],values:{prop6:h,eVar6:h},name:"interne Suchergebnisse"};h.values.prop7=$(".gsc-webResult.gsc-result").length>0?"successful":"non successful";s2.tuifly.util.tracking.fire(h)};this.loadAPI=function(){s2.Logger.debug("Loading API Loader");var h=this.getAPIKey(),m=document.getElementsByTagName("body")[0],o=document.createElement("script");o.src="https://www.google.com/jsapi?key="+h;m.appendChild(o);h=document.createElement("script");h.text="var googleTimer = window.setInterval(function () {if(window.google && window.google.load) { clearInterval(googleTimer); s2.tuifly.google.search.apiLoaded() } },10)";
m.appendChild(h)};this.getAPIKey=function(){var h="";if(self.location.href.indexOf("http://www.tuifly.com")>=0)h="ABQIAAAAsNWi573VizRmhc31Vy4WmhSKzymgyrQvEmiHiQueYZMhWrFichTjsSBmVe5BA3xFRDseYqruoWKS0g";else if(self.location.href.indexOf("https://www.tuifly.com")>=0)h="ABQIAAAAsNWi573VizRmhc31Vy4WmhR1uKFfwpDfCq9ZINdnBf-yMPliLRTO3hyQbMN8ZEL6ZygRzjWfMTuX8A";else if(self.location.href.indexOf("http://beta.tuifly.com")>=0)h="ABQIAAAA46T_OVRrnx4cblvTRMon_hQQNiZPOWGTRHVx3qogpWlCtWx28BT5KrOiTqKaNbPKV34-5GVQ5zujrg";
else if(self.location.href.indexOf("https://beta.tuifly.com")>=0)h="ABQIAAAA46T_OVRrnx4cblvTRMon_hRECQ92DKM0ugxp7to892GYd94X2BSYVW7B3zFDxj3LG4USNufXszc7ww";else if(self.location.href.indexOf("hase")>=0)h="ABQIAAAAsNWi573VizRmhc31Vy4WmhSFjFfmzTGBQ3kEKKooZB90kFnNuxRa5WNKAl6ok1xQ8-wkxob_6J4mYA";else if(self.location.href.indexOf("217.110.104.236:13080")>=0)h="ABQIAAAAsNWi573VizRmhc31Vy4WmhToi96h0hcW8fW7RH7xHVTNhR_MbxQEQtyXAbZooPfJsPB7WZLuFjtN2A";else if(self.location.href.indexOf("devel.tuifly.sinnerschrader.de:10080")>=
0)h="ABQIAAAA46T_OVRrnx4cblvTRMon_hSiShUXJjhkPPEJzWHgihTDcOc36hRmlQz-oJoWpiunW-AiwDEhtLZ-ZA";else if(self.location.href.indexOf("devel.tuifly.sinnerschrader.de")>=0)h="ABQIAAAA46T_OVRrnx4cblvTRMon_hQPmbLerFLVZTI_n9I7YVd5IBWRqBR0afuFmU3_YVPX8jrOWjHMoqCzuA";else if(self.location.href.indexOf("217.110.104.236:10080")>=0)h="ABQIAAAA46T_OVRrnx4cblvTRMon_hTNX0lYVFj-VpvE5Oy_WffWrSgPYRQtEHfEWTCYWTUbgmpKPJ0aenv81A";else if(self.location.href.indexOf("217.110.104.236")>=0)h="ABQIAAAA46T_OVRrnx4cblvTRMon_hR8Q1gUAst0ivHKq1GoL4AJ3DhgfRQ3MvYj6XLZmuhVfJrHatW_Jwe-kg";
else if(self.location.href.indexOf("stage.tuifly.sinnerschrader.de")>=0)h="ABQIAAAA46T_OVRrnx4cblvTRMon_hSmzMK9z3xPuJ3OVBduG4ZLyo_rPBTFnUXY-biMwBN6bq0Css76_1BiAA";else if(self.location.href.indexOf("win")>=0)h="ABQIAAAAsNWi573VizRmhc31Vy4WmhTYSRVBf8Y6Q-G3SJmrvrpKD6vVohSiDOp8uu_T0xbpmfCg99lF4EbpxA";else if(self.location.href.indexOf("tuifly")>=0)h="ABQIAAAA46T_OVRrnx4cblvTRMon_hRldNTBUwXjV8zvMjIg28hwTQgeGBTLjd9TtBOzrJ0HhREtkuuGcJO4gQ";else if(self.location.href.indexOf("tui")>=0)h="ABQIAAAA46T_OVRrnx4cblvTRMon_hR3k4WTjS7OrpVtkbvqxRIRkzTscxSE8duqNB0aW8-U0-OvDV8XZ9vmSw";
else if(self.location.href.indexOf("localhost")>=0)h="ABQIAAAA46T_OVRrnx4cblvTRMon_hT2yXp_ZAY8_ufC3CFXhHIE1NvwkxSydD_cy8QzGmSrhecgpKYqkq0S6A";else if(self.location.href.indexOf("127.0.0.1")>=0)h="ABQIAAAA46T_OVRrnx4cblvTRMon_hRi_j0U6kJrkFvY4-OX2XYmEAa76BTCwtr-dBxjDr0tQ8H2Zg-WmIwY5w";return h}});var Lawnchair=function(a){this.init(a)};
Lawnchair.prototype={init:function(a){var c={webkit:window.WebkitSQLiteAdaptor,gears:window.GearsSQLiteAdaptor,dom:window.DOMStorageAdaptor,cookie:window.CookieAdaptor,air:window.AIRSQLiteAdaptor,userdata:window.UserDataAdaptor,"air-async":window.AIRSQLiteAsyncAdaptor,blackberry:window.BlackBerryPersistentStorageAdaptor,couch:window.CouchAdaptor};this.adaptor=a.adaptor?new c[a.adaptor](a):new DOMStorageAdaptor(a);if(!JSON||!JSON.stringify)throw"Native JSON functions unavailable - please include http://www.json.org/json2.js or run on a decent browser :P";
},save:function(a,c){this.adaptor.save(a,c)},get:function(a,c){this.adaptor.get(a,c)},exists:function(a){this.adaptor.exists(a)},all:function(a){this.adaptor.all(a)},remove:function(a,c){this.adaptor.remove(a,c)},nuke:function(a){this.adaptor.nuke(a);return this},paged:function(a,c){this.adaptor.paged(a,c)},find:function(a,c){var d=typeof a=="string"?function(){return eval(a)}:a,b=this.adaptor.terseToVerboseCallback(c);this.each(function(f,g){d(f)&&b(f,g)})},each:function(a){var c=this.adaptor.terseToVerboseCallback(a);
this.all(function(d){for(var b=d.length,f=0;f<b;f++)c(d[f],f)})}};
var LawnchairAdaptorHelpers={merge:function(a,c){return c==undefined||c==null?a:c},terseToVerboseCallback:function(a){return typeof a=="string"?function(){eval(a)}:a},now:function(){return(new Date).getTime()},uuid:function(a,c){var d="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),b=[];c=c||d.length;if(a)for(var f=0;f<a;f++)b[f]=d[0|Math.random()*c];else{var g;b[8]=b[13]=b[18]=b[23]="-";b[14]="4";for(f=0;f<36;f++)if(!b[f]){g=0|Math.random()*16;b[f]=d[f==19?g&3|8:g]}}return b.join("")},
serialize:function(a){var c="";return c=JSON.stringify(a)},deserialize:function(a){return eval("("+a+")")}},UserDataAdaptor=function(a){for(var c in LawnchairAdaptorHelpers)this[c]=LawnchairAdaptorHelpers[c];this.init(a)};
UserDataAdaptor.prototype={init:function(){var a=document.createElement("span");a.style.behavior="url('#default#userData')";a.style.position="absolute";a.style.left=1E4;document.body.appendChild(a);this.storage=a;this.storage.load("lawnchair")},get:function(a,c){var d=this.deserialize(this.storage.getAttribute(a));if(d)d.key=a;c&&c(d)},save:function(a,c){var d=a.key||"lc"+this.uuid();delete a.key;this.storage.setAttribute(d,this.serialize(a));this.storage.save("lawnchair");if(c){a.key=d;c(a)}},all:function(a){a=
this.terseToVerboseCallback(a);for(var c=this.storage.XMLDocument.firstChild.attributes,d=[],b,f,g=0,h=c.length;g<h;g++){b=c[g];if(f=this.deserialize(b.nodeValue)){f.key=b.nodeName;d.push(f)}}a&&a(d)},remove:function(a,c){this.storage.removeAttribute(typeof a=="string"?a:a.key);this.storage.save("lawnchair");c&&c()},nuke:function(a){var c=this;this.all(function(d){for(var b=0,f=d.length;b<f;b++)d[b].key&&c.remove(d[b].key);a&&a()})}};
var DOMStorageAdaptor=function(a){for(var c in LawnchairAdaptorHelpers)this[c]=LawnchairAdaptorHelpers[c];this.init(a)};
DOMStorageAdaptor.prototype={init:function(a){var c=this;this.storage=this.merge(window.localStorage,a.storage);this.table=this.merge("field",a.table);if(!window.Storage)this.storage=function(){var d=window.top.name?c.deserialize(window.top.name):{};return{setItem:function(b,f){d[b]=f+"";window.top.name=c.serialize(d)},removeItem:function(b){delete d[b];window.top.name=c.serialize(d)},getItem:function(b){return d[b]||null},clear:function(){d={};window.top.name=""}}}()},save:function(a,c){var d=this.table+
"::"+(a.key||this.uuid());delete a.key;this.storage.setItem(d,this.serialize(a));if(c){a.key=d.split("::")[1];c(a)}},get:function(a,c){var d=this.deserialize(this.storage.getItem(this.table+"::"+a)),b=this.terseToVerboseCallback(c);if(d){d.key=a;c&&b(d)}else c&&b(null)},all:function(a){a=this.terseToVerboseCallback(a);for(var c=[],d=0,b=this.storage.length;d<b;++d){var f=this.storage.key(d),g=f.split("::")[0],h=f.split("::").slice(1).join("::");if(g==this.table){f=this.deserialize(this.storage.getItem(f));
f.key=h;c.push(f)}}a&&a(c)},remove:function(a,c){this.storage.removeItem(this.table+"::"+(typeof a==="string"?a:a.key));c&&c()},nuke:function(a){var c=this;this.all(function(d){for(var b=0,f=d.length;b<f;b++)c.remove(d[b]);a&&a()})}};
s2.namespace("s2.tuifly.widget.submitButtons",function(){s2.tuifly.events.SubmitLinkButton.observe(function(a){a=a?a.filter(":first"):$("[id$='_LinkButtonSubmit']:first");var c=a.attr("onclick"),d=true;if(c)d=c.call(a,e);if(d!==false)if(a=a.attr("href"))document.location.href=a})});
s2.namespace("s2.tuifly.helper.abTesting",function(){var a=function(){if(typeof a.instance==="object")return a.instance;var c=this;this.abTests=[{name:"Onsite vs TPS",code:"onsitetps",domain:null,page:["/de/index.shtml","/de/index.html","/de/"],culture:["de-DE"],skin:null,start:"2011-08-01 00:00:00",end:"2011-10-01 00:00:00",notActiveCall:function(){s2.tuifly.helper.onsite&&s2.tuifly.helper.onsite.load();$.cachedFind(".de-DE #personalArea").removeClass("hidden");$.cachedFind(".de-DE #schnaeppchen").removeClass("hidden")},
cases:{a:{func:function(){s2.tuifly.helper.onsite.load();$.cachedFind(".de-DE #personalArea").removeClass("hidden");$.cachedFind(".de-DE #schnaeppchen").removeClass("hidden")},distribution:0.5,tracking:function(){s2.tuifly.util.tracking.fire({values:{eVar48:"Targeting-Teaser"},name:"Targeting-Teaser"})}},b:{func:function(){$.cachedFind("#TPSTeaser").removeClass("hidden")},distribution:0.5,tracking:function(){s2.tuifly.util.tracking.fire({values:{eVar48:"TPS-Listen"},name:"TPS-Listen"})}}}}];this.init=
function(){this.evalTests()};this.activeTests=function(){var d=[],b=Date.now();_(this.abTests).each(function(f){if(f.domain)if(!_(f.domain).include(location.host.toLowerCase()))return false;if(f.page)if(!_(f.page).include(location.pathname.toLowerCase()))return false;if(f.culture)if(!_(f.culture).include(JooseX.Culture.Factory.get().identifier()))return false;if(f.skin)if(!_(f.skin).include($.cachedFind("body").attr("skin")))return false;if(f.start){var g=Date.parseExact(f.start,"yyyy-MM-dd HH:mm:ss");
if(b.compareTo(g)<0)return false}if(f.end){g=Date.parseExact(f.end,"yyyy-MM-dd HH:mm:ss");if(b.compareTo(g)===1)return false}d.push(f)});return d};this.evalTests=function(){var d=this.activeTests(),b=[];_(this.abTests).each(function(f){var g=false;_(d).each(function(h){if(f.name===h.name)g=true});g||b.push(f)});_(b).each(function(f){f.notActiveCall&&f.notActiveCall()});_(d).each(function(f){f.name=f.name.replace(/\s/g,"_");var g=c.getCurrentABTestValue(f);if(f.cases&&f.cases[g]){g=f.cases[g];g.func.call(c,
f);g.tracking()}})};this.getCurrentABTestValue=function(d){var b=s2.tuifly.util.Query.instance(),f=b.param("ab_"+d.code)||this.loadTestValueFromCookie(d);b.param("save")=="1"&&this.saveToCookie(d,f);return f};this.loadTestValueFromCookie=function(d){var b=this.getABTestCookieValue(d);if(b===null)b=this.setABTestCookieValue(d);return b};this.getABTestCookieValue=function(d){return s2.tuifly.util.Cookie.instance().get("ab_"+d.code)||null};this.setABTestCookieValue=function(d){var b=0,f=null;_(d.cases).each(function(m){f+=
m.distribution;m.limits={};m.limits.start=b;b+=m.distribution;m.limits.end=b});if(f!==1)return null;var g=parseFloat(Math.random().toFixed(2)),h=null;_(d.cases).each(function(m,o){if(g>=m.limits.start&&g<m.limits.end)h=o});this.saveToCookie(d,h);return h};this.saveToCookie=function(d,b){s2.tuifly.util.Cookie.instance().set("ab_"+d.code,b,Date.now().add(30).days())};a.instance=this};this.initialize=function(){(new a).init()}});

