﻿var dp={sh:{Toolbar:{},Utils:{},RegexLib:{},Brushes:{},Strings:{AboutDialog:'<html><head><title>About...</title></head><body class="dp-about"><table cellspacing="0"><tr><td class="copy"><p class="title">dp.SyntaxHighlighter</div><div class="para">Version: {V}</p><p><a href="http://www.dreamprojections.com/syntaxhighlighter/?ref=about" target="_blank">http://www.dreamprojections.com/syntaxhighlighter</a></p>&copy;2004-2007 Alex Gorbatchev.</td></tr><tr><td class="footer"><input type="button" class="close" value="OK" onClick="window.close()"/></td></tr></table></body></html>'},ClipboardSwf:null,Version:"1.5.1"}};dp.SyntaxHighlighter=dp.sh;dp.sh.Toolbar.Commands={ExpandSource:{label:"+ expand source",check:function(A){return A.collapse},func:function(B,A){B.parentNode.removeChild(B);A.div.className=A.div.className.replace("collapsed","")}},ViewSource:{label:"view plain",func:function(B,A){var D=dp.sh.Utils.FixForBlogger(A.originalCode).replace(/</g,"&lt;");var C=window.open("","_blank","width=750, height=400, location=0, resizable=1, menubar=0, scrollbars=0");C.document.write('<textarea style="width:99%;height:99%">'+D+"</textarea>");C.document.close()}},CopyToClipboard:{label:"copy to clipboard",check:function(){return window.clipboardData!=null||dp.sh.ClipboardSwf!=null},func:function(B,A){var D=dp.sh.Utils.FixForBlogger(A.originalCode).replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&");if(window.clipboardData){window.clipboardData.setData("text",D)}else{if(dp.sh.ClipboardSwf!=null){var C=A.flashCopier;if(C==null){C=document.createElement("div");A.flashCopier=C;A.div.appendChild(C)}C.innerHTML='<embed src="'+dp.sh.ClipboardSwf+'" FlashVars="clipboard='+encodeURIComponent(D)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>'}}alert("The code is in your clipboard now")}},PrintSource:{label:"print",func:function(B,A){var C=document.createElement("IFRAME");var D=null;C.style.cssText="position:absolute;width:0px;height:0px;left:-500px;top:-500px;";document.body.appendChild(C);D=C.contentWindow.document;dp.sh.Utils.CopyStyles(D,window.document);D.write('<div class="'+A.div.className.replace("collapsed","")+' printing">'+A.div.innerHTML+"</div>");D.close();C.contentWindow.focus();C.contentWindow.print();alert("Printing...");document.body.removeChild(C)}},About:{label:"?",func:function(A){var B=window.open("","_blank","dialog,width=300,height=150,scrollbars=0");var C=B.document;dp.sh.Utils.CopyStyles(C,window.document);C.write(dp.sh.Strings.AboutDialog.replace("{V}",dp.sh.Version));C.close();B.focus()}}};dp.sh.Toolbar.Create=function(B){var D=document.createElement("DIV");D.className="tools";for(var A in dp.sh.Toolbar.Commands){var C=dp.sh.Toolbar.Commands[A];if(C.check!=null&&!C.check(B)){continue}D.innerHTML+='<a href="#" onclick="dp.sh.Toolbar.Command(\''+A+"',this);return false;\">"+C.label+"</a>"}return D};dp.sh.Toolbar.Command=function(A,B){var C=B;while(C!=null&&C.className.indexOf("dp-highlighter")==-1){C=C.parentNode}if(C!=null){dp.sh.Toolbar.Commands[A].func(B,C.highlighter)}};dp.sh.Utils.CopyStyles=function(A,D){var B=D.getElementsByTagName("link");for(var C=0;C<B.length;C++){if(B[C].rel.toLowerCase()=="stylesheet"){A.write('<link type="text/css" rel="stylesheet" href="'+B[C].href+'"></link>')}}};dp.sh.Utils.FixForBlogger=function(A){return(dp.sh.isBloggerMode==true)?A.replace(/<br\s*\/?>|&lt;br\s*\/?&gt;/gi,"\n"):A};dp.sh.RegexLib={MultiLineCComments:new RegExp("/\\*[\\s\\S]*?\\*/","gm"),SingleLineCComments:new RegExp("//.*$","gm"),SingleLinePerlComments:new RegExp("#.*$","gm"),DoubleQuotedString:new RegExp('"(?:\\.|(\\\\\\")|[^\\""\\n])*"',"g"),SingleQuotedString:new RegExp("'(?:\\.|(\\\\\\')|[^\\''\\n])*'","g")};dp.sh.Match=function(C,A,B){this.value=C;this.index=A;this.length=C.length;this.css=B};dp.sh.Highlighter=function(){this.noGutter=false;this.addControls=true;this.collapse=false;this.tabsToSpaces=true;this.wrapColumn=80;this.showColumns=true};dp.sh.Highlighter.SortCallback=function(B,A){if(B.index<A.index){return -1}else{if(B.index>A.index){return 1}else{if(B.length<A.length){return -1}else{if(B.length>A.length){return 1}}}}return 0};dp.sh.Highlighter.prototype.CreateElement=function(B){var A=document.createElement(B);A.highlighter=this;return A};dp.sh.Highlighter.prototype.GetMatches=function(D,C){var B=0;var A=null;while((A=D.exec(this.code))!=null){this.matches[this.matches.length]=new dp.sh.Match(A[0],A.index,C)}};dp.sh.Highlighter.prototype.AddBit=function(E,C){if(E==null||E.length==0){return }var D=this.CreateElement("SPAN");E=E.replace(/ /g,"&nbsp;");E=E.replace(/</g,"&lt;");E=E.replace(/\n/gm,"&nbsp;<br>");if(C!=null){if((/br/gi).test(E)){var A=E.split("&nbsp;<br>");for(var B=0;B<A.length;B++){D=this.CreateElement("SPAN");D.className=C;D.innerHTML=A[B];this.div.appendChild(D);if(B+1<A.length){this.div.appendChild(this.CreateElement("BR"))}}}else{D.className=C;D.innerHTML=E;this.div.appendChild(D)}}else{D.innerHTML=E;this.div.appendChild(D)}};dp.sh.Highlighter.prototype.IsInside=function(A){if(A==null||A.length==0){return false}for(var B=0;B<this.matches.length;B++){var C=this.matches[B];if(C==null){continue}if((A.index>C.index)&&(A.index<C.index+C.length)){return true}}return false};dp.sh.Highlighter.prototype.ProcessRegexList=function(){for(var A=0;A<this.regexList.length;A++){this.GetMatches(this.regexList[A].regex,this.regexList[A].css)}};dp.sh.Highlighter.prototype.ProcessSmartTabs=function(F){var B=F.split("\n");var A="";var G=4;var D="\t";function H(I,O,M){var N=I.substr(0,O);var L=I.substr(O+1,I.length);var J="";for(var K=0;K<M;K++){J+=" "}return N+J+L}function E(I,K){if(I.indexOf(D)==-1){return I}var L=0;while((L=I.indexOf(D))!=-1){var J=K-L%K;I=H(I,L,J)}return I}for(var C=0;C<B.length;C++){A+=E(B[C],G)+"\n"}return A};dp.sh.Highlighter.prototype.SwitchToList=function(){var E=this.div.innerHTML.replace(/<(br)\/?>/gi,"\n");var I=E.split("\n");if(this.addControls==true){this.bar.appendChild(dp.sh.Toolbar.Create(this))}if(this.showColumns){var A=this.CreateElement("div");var C=this.CreateElement("div");var B=10;var D=1;while(D<=150){if(D%B==0){A.innerHTML+=D;D+=(D+"").length}else{A.innerHTML+="&middot;";D++}}C.className="columns";C.appendChild(A);this.bar.appendChild(C)}for(var D=0,H=this.firstLine;D<I.length-1;D++,H++){var G=this.CreateElement("dt");var F=this.CreateElement("SPAN");G.className=(D%2==0)?"alt":"";F.innerHTML=I[D]+"&nbsp;";G.appendChild(F);this.ol.appendChild(G)}this.div.innerHTML=""};dp.sh.Highlighter.prototype.Highlight=function(D){function F(I){return I.replace(/^\s*(.*?)[\s\n]*$/g,"$1")}function G(I){return I.replace(/\n*$/,"").replace(/^\n*/,"")}function B(O){var I=dp.sh.Utils.FixForBlogger(O).split("\n");var N=new Array();var L=new RegExp("^\\s*","g");var K=1000;for(var J=0;J<I.length&&K>0;J++){if(F(I[J]).length==0){continue}var M=L.exec(I[J]);if(M!=null&&M.length>0){K=Math.min(M[0].length,K)}}if(K>0){for(var J=0;J<I.length;J++){I[J]=I[J].substr(K)}}return I.join("\n")}function E(I,K,J){return I.substr(K,J-K)}var H=0;if(D==null){D=""}this.originalCode=D;this.code=G(B(D));this.div=this.CreateElement("DIV");this.bar=this.CreateElement("DIV");this.ol=this.CreateElement("dl");this.matches=new Array();this.div.className="dp-highlighter";this.div.highlighter=this;this.bar.className="bar";this.ol.start=this.firstLine;if(this.CssClass!=null){this.ol.className=this.CssClass}if(this.collapse){this.div.className+=" collapsed"}if(this.noGutter){this.div.className+=" nogutter"}if(this.tabsToSpaces==true){this.code=this.ProcessSmartTabs(this.code)}this.ProcessRegexList();if(this.matches.length==0){this.AddBit(this.code,null);this.SwitchToList();this.div.appendChild(this.bar);this.div.appendChild(this.ol);return }this.matches=this.matches.sort(dp.sh.Highlighter.SortCallback);for(var C=0;C<this.matches.length;C++){if(this.IsInside(this.matches[C])){this.matches[C]=null}}for(var C=0;C<this.matches.length;C++){var A=this.matches[C];if(A==null||A.length==0){continue}this.AddBit(E(this.code,H,A.index),null);this.AddBit(A.value,A.css);H=A.index+A.length}this.AddBit(this.code.substr(H),null);this.SwitchToList();this.div.appendChild(this.bar);this.div.appendChild(this.ol)};dp.sh.Highlighter.prototype.GetKeywords=function(A){return"\\b"+A.replace(/ /g,"\\b|\\b")+"\\b"};dp.sh.BloggerMode=function(){dp.sh.isBloggerMode=true};dp.sh.HighlightAll=function(W,U,S,O,E,A){function H(){var X=arguments;for(var Y=0;Y<X.length;Y++){if(X[Y]==null){continue}if(typeof (X[Y])=="string"&&X[Y]!=""){return X[Y]+""}if(typeof (X[Y])=="object"&&X[Y].value!=""){return X[Y].value+""}}return null}function Q(Z,Y){for(var X=0;X<Y.length;X++){if(Y[X]==Z){return true}}return false}function J(Y,c,X){var a=new RegExp("^"+Y+"\\[(\\w+)\\]$","gi");var b=null;for(var Z=0;Z<c.length;Z++){if((b=a.exec(c[Z]))!=null){return b[1]}}return X}function L(b,Y,a){var X=document.getElementsByTagName(a);for(var Z=0;Z<X.length;Z++){if(X[Z].getAttribute("name")==Y){b.push(X[Z])}}}var F=[];var V=null;var T={};var G="innerHTML";L(F,W,"pre");L(F,W,"textarea");if(F.length==0){return }for(var C in dp.sh.Brushes){var N=dp.sh.Brushes[C].Aliases;if(N==null){continue}for(var M=0;M<N.length;M++){T[N[M]]=C}}for(var M=0;M<F.length;M++){var B=F[M];var D=H(B.attributes["class"],B.className,B.attributes.language,B.language);var K="";if(D==null){continue}D=D.split(":");K=D[0].toLowerCase();if(T[K]==null){continue}V=new dp.sh.Brushes[T[K]]();B.style.display="none";V.noGutter=(U==null)?Q("nogutter",D):!U;V.addControls=(S==null)?!Q("nocontrols",D):S;V.collapse=(O==null)?Q("collapse",D):O;V.showColumns=(A==null)?Q("showcolumns",D):A;var P=document.getElementsByTagName("head")[0];if(V.Style&&P){var R=document.createElement("style");R.setAttribute("type","text/css");if(R.styleSheet){R.styleSheet.cssText=V.Style}else{var I=document.createTextNode(V.Style);R.appendChild(I)}P.appendChild(R)}V.firstLine=(E==null)?parseInt(J("firstline",D,1)):E;V.Highlight(B[G]);V.source=B;B.parentNode.insertBefore(V.div,B)}};
dp.sh.Brushes.Xml=function(){this.CssClass="dp-xml";this.Style=".dp-xml .cdata { color: #ff1493; }.dp-xml .tag, .dp-xml .tag-name { color: #069; font-weight: bold; }.dp-xml .attribute { color: red; }.dp-xml .attribute-value { color: blue; }"};dp.sh.Brushes.Xml.prototype=new dp.sh.Highlighter();dp.sh.Brushes.Xml.Aliases=["xml","xhtml","xslt","html","xhtml"];dp.sh.Brushes.Xml.prototype.ProcessRegexList=function(){function C(F,E){F[F.length]=E}var B=0;var A=null;var D=null;this.GetMatches(new RegExp("(&lt;|<)\\!\\[[\\w\\s]*?\\[(.|\\s)*?\\]\\](&gt;|>)","gm"),"cdata");this.GetMatches(new RegExp("(&lt;|<)!--\\s*.*?\\s*--(&gt;|>)","gm"),"comments");D=new RegExp("([:\\w-.]+)\\s*=\\s*(\".*?\"|'.*?'|\\w+)*|(\\w+)","gm");while((A=D.exec(this.code))!=null){if(A[1]==null){continue}C(this.matches,new dp.sh.Match(A[1],A.index,"attribute"));if(A[2]!=undefined){C(this.matches,new dp.sh.Match(A[2],A.index+A[0].indexOf(A[2]),"attribute-value"))}}this.GetMatches(new RegExp("(&lt;|<)/*\\?*(?!\\!)|/*\\?*(&gt;|>)","gm"),"tag");D=new RegExp("(?:&lt;|<)/*\\?*\\s*([:\\w-.]+)","gm");while((A=D.exec(this.code))!=null){C(this.matches,new dp.sh.Match(A[1],A.index+A[0].indexOf(A[1]),"tag-name"))}};
dp.sh.Brushes.JScript=function(){var A="abstract boolean break byte case catch char class const continue debugger default delete do double else enum export extends false final finally float for function goto if implements import in instanceof int interface long native new null package private protected public return short static super switch synchronized this throw throws transient true try typeof var void volatile while with";this.regexList=[{regex:dp.sh.RegexLib.SingleLineCComments,css:"comment"},{regex:dp.sh.RegexLib.MultiLineCComments,css:"comment"},{regex:dp.sh.RegexLib.DoubleQuotedString,css:"string"},{regex:dp.sh.RegexLib.SingleQuotedString,css:"string"},{regex:new RegExp("^\\s*#.*","gm"),css:"preprocessor"},{regex:new RegExp(this.GetKeywords(A),"gm"),css:"keyword"}];this.CssClass="dp-c"};dp.sh.Brushes.JScript.prototype=new dp.sh.Highlighter();dp.sh.Brushes.JScript.Aliases=["js","jscript","javascript"];
(function(){var B=SS.views.CodeWizardView=function(){this.apiKeyField=null;this.signUpAnchor=null;this.signeHereForApiKey=null};var A=B.prototype;A.onSignUp=function(C){var D=window.open(this.signUpAnchor.href,"signUpWindow");D.focus();D.apiKeyField=this.apiKeyField;if(typeof C!="undefined"){$E.preventDefault(C)}};A.init=function(){var D=new SS.entities.AfiliateTracking();D.populateFromHidden();this.apiKeyField=$D.get("your_api_key");if(this.apiKeyField!=null){this.apiKeyField.value=""}this.signeHereForApiKey=$D.get("sign_here_for_api_key");if(this.signeHereForApiKey!=null){var C=this.signeHereForApiKey.getElementsByTagName("a");if(C!=null&&C.length>0){this.signUpAnchor=C[0];$E.addListener(this.signUpAnchor,"click",this.onSignUp,this,true)}}if(!D.isEmpty()&&this.apiKeyField!=null){this.apiKeyField.disabled=true;this.apiKeyField.value=D.apiKey}else{if(this.signeHereForApiKey){$D.setStyle(this.signeHereForApiKey.parentNode.parentNode.parentNode,"display",YAHOO.env.ua.ie?"block":"table-row")}}};A.validateApiKey=function(D){if(D==""){var C=$D.get("api_msg1");var E="";if(C!=null){E=C.value}if(confirm(E)){this.onSignUp();return false}}return true}})();
(function(){function A(){var L=0;var U="";var E=8;var K=function(Y){return M(H(N(Y),Y.length*E))};var I=function(Y){return R(H(N(Y),Y.length*E))};var J=function(Y){return V(H(N(Y),Y.length*E))};var S=function(Y,Z){return M(O(Y,Z))};var G=function(Y,Z){return R(O(Y,Z))};var W=function(Y,Z){return V(O(Y,Z))};var X=function(){return K("abc")=="900150983cd24fb0d6963f7d28e17f72"};var H=function(n,h){n[h>>5]|=128<<((h)%32);n[(((h+64)>>>9)<<4)+14]=h;var m=1732584193;var l=-271733879;var k=-1732584194;var j=271733878;for(var e=0;e<n.length;e+=16){var g=m;var f=l;var Z=k;var Y=j;m=C(m,l,k,j,n[e+0],7,-680876936);j=C(j,m,l,k,n[e+1],12,-389564586);k=C(k,j,m,l,n[e+2],17,606105819);l=C(l,k,j,m,n[e+3],22,-1044525330);m=C(m,l,k,j,n[e+4],7,-176418897);j=C(j,m,l,k,n[e+5],12,1200080426);k=C(k,j,m,l,n[e+6],17,-1473231341);l=C(l,k,j,m,n[e+7],22,-45705983);m=C(m,l,k,j,n[e+8],7,1770035416);j=C(j,m,l,k,n[e+9],12,-1958414417);k=C(k,j,m,l,n[e+10],17,-42063);l=C(l,k,j,m,n[e+11],22,-1990404162);m=C(m,l,k,j,n[e+12],7,1804603682);j=C(j,m,l,k,n[e+13],12,-40341101);k=C(k,j,m,l,n[e+14],17,-1502002290);l=C(l,k,j,m,n[e+15],22,1236535329);m=F(m,l,k,j,n[e+1],5,-165796510);j=F(j,m,l,k,n[e+6],9,-1069501632);k=F(k,j,m,l,n[e+11],14,643717713);l=F(l,k,j,m,n[e+0],20,-373897302);m=F(m,l,k,j,n[e+5],5,-701558691);j=F(j,m,l,k,n[e+10],9,38016083);k=F(k,j,m,l,n[e+15],14,-660478335);l=F(l,k,j,m,n[e+4],20,-405537848);m=F(m,l,k,j,n[e+9],5,568446438);j=F(j,m,l,k,n[e+14],9,-1019803690);k=F(k,j,m,l,n[e+3],14,-187363961);l=F(l,k,j,m,n[e+8],20,1163531501);m=F(m,l,k,j,n[e+13],5,-1444681467);j=F(j,m,l,k,n[e+2],9,-51403784);k=F(k,j,m,l,n[e+7],14,1735328473);l=F(l,k,j,m,n[e+12],20,-1926607734);m=Q(m,l,k,j,n[e+5],4,-378558);j=Q(j,m,l,k,n[e+8],11,-2022574463);k=Q(k,j,m,l,n[e+11],16,1839030562);l=Q(l,k,j,m,n[e+14],23,-35309556);m=Q(m,l,k,j,n[e+1],4,-1530992060);j=Q(j,m,l,k,n[e+4],11,1272893353);k=Q(k,j,m,l,n[e+7],16,-155497632);l=Q(l,k,j,m,n[e+10],23,-1094730640);m=Q(m,l,k,j,n[e+13],4,681279174);j=Q(j,m,l,k,n[e+0],11,-358537222);k=Q(k,j,m,l,n[e+3],16,-722521979);l=Q(l,k,j,m,n[e+6],23,76029189);m=Q(m,l,k,j,n[e+9],4,-640364487);j=Q(j,m,l,k,n[e+12],11,-421815835);k=Q(k,j,m,l,n[e+15],16,530742520);l=Q(l,k,j,m,n[e+2],23,-995338651);m=B(m,l,k,j,n[e+0],6,-198630844);j=B(j,m,l,k,n[e+7],10,1126891415);k=B(k,j,m,l,n[e+14],15,-1416354905);l=B(l,k,j,m,n[e+5],21,-57434055);m=B(m,l,k,j,n[e+12],6,1700485571);j=B(j,m,l,k,n[e+3],10,-1894986606);k=B(k,j,m,l,n[e+10],15,-1051523);l=B(l,k,j,m,n[e+1],21,-2054922799);m=B(m,l,k,j,n[e+8],6,1873313359);j=B(j,m,l,k,n[e+15],10,-30611744);k=B(k,j,m,l,n[e+6],15,-1560198380);l=B(l,k,j,m,n[e+13],21,1309151649);m=B(m,l,k,j,n[e+4],6,-145523070);j=B(j,m,l,k,n[e+11],10,-1120210379);k=B(k,j,m,l,n[e+2],15,718787259);l=B(l,k,j,m,n[e+9],21,-343485551);m=P(m,g);l=P(l,f);k=P(k,Z);j=P(j,Y)}return Array(m,l,k,j)};var D=function(f,c,Z,Y,e,d){return P(T(P(P(c,f),P(Y,d)),e),Z)};var C=function(e,Z,i,h,Y,g,f){return D((Z&i)|((~Z)&h),e,Z,Y,g,f)};var F=function(e,Z,i,h,Y,g,f){return D((Z&h)|(i&(~h)),e,Z,Y,g,f)};var Q=function(e,Z,i,h,Y,g,f){return D(Z^i^h,e,Z,Y,g,f)};var B=function(e,Z,i,h,Y,g,f){return D(i^(Z|(~h)),e,Z,Y,g,f)};var O=function(a,d){var c=N(a);if(c.length>16){c=H(c,a.length*E)}var Y=Array(16),b=Array(16);for(var Z=0;Z<16;Z++){Y[Z]=c[Z]^909522486;b[Z]=c[Z]^1549556828}var e=H(Y.concat(N(d)),512+d.length*E);return H(b.concat(e),512+128)};var P=function(Y,b){var a=(Y&65535)+(b&65535);var Z=(Y>>16)+(b>>16)+(a>>16);return(Z<<16)|(a&65535)};var T=function(Y,Z){return(Y<<Z)|(Y>>>(32-Z))};var N=function(b){var a=Array();var Y=(1<<E)-1;for(var Z=0;Z<b.length*E;Z+=E){a[Z>>5]|=(b.charCodeAt(Z/E)&Y)<<(Z%32)}return a};var V=function(a){var b="";var Y=(1<<E)-1;for(var Z=0;Z<a.length*32;Z+=E){b+=String.fromCharCode((a[Z>>5]>>>(Z%32))&Y)}return b};var M=function(a){var Z=L?"0123456789ABCDEF":"0123456789abcdef";var b="";for(var Y=0;Y<a.length*4;Y++){b+=Z.charAt((a[Y>>2]>>((Y%4)*8+4))&15)+Z.charAt((a[Y>>2]>>((Y%4)*8))&15)}return b};var R=function(b){var a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var d="";for(var Z=0;Z<b.length*4;Z+=3){var c=(((b[Z>>2]>>8*(Z%4))&255)<<16)|(((b[Z+1>>2]>>8*((Z+1)%4))&255)<<8)|((b[Z+2>>2]>>8*((Z+2)%4))&255);for(var Y=0;Y<4;Y++){if(Z*8+Y*6>b.length*32){d+=U}else{d+=a.charAt((c>>6*(3-Y))&63)}}}return d};return{hex_md5:K,b64_md5:I,str_md5:J}}SS.util.md5=new A()})();
(function(){var D=SS.views.CodeWizardView;var C=YAHOO.util.CustomEvent;var B=SS.views.WhoFliesSearchPanelCodeWizardView=function(){var E=this;B.superclass.constructor.call(E);E.type=null;E.culture=null;E.from=null;E.to=null;E.generate_code=null;E.button_container=null;E.code_container=null;E.code=null;E.example=null;E.advertCont=null;E.depAs=null;E.destAs=null;E.dep_user_selects=null;E.dep_default=null;E.dest_user_selects=null;E.dest_default=null;E.routeChanged=new C("routeChanged",E);E.routeInSnippetChanged=new C("routeInSnippetChanged",E);E.shapeChanged=new C("shapeChanged",E);E.languageChanged=new C("languageChanged",E);E.generateButtonClicked=new C("generateButtonClicked",E);E.snippetDisplayed=new C("snippetDisplayed",E);E.snippetDisplayCanceled=new C("snippetDisplayCanceled",E);E.placesFixedChanged=new C("placesFixedChanged",E);E.snippet=null;E.snippetEl=null;E.snippetLeaderBoardEl=null;E.tabView=null;E.disableEventsInAsFields=false;E.colorPicker=null;E.lastCustomCss=null;E.ofix=null;E.ifix=null};$L.extend(B,D);var A=B.prototype;A.init=function(){var H=this;D.prototype.init.call(H);H.type=$D.get("type");H.type.value="box300x250";H.dep_user_selects=$D.get("dep_user_selects");H.dep_default=$D.get("dep_default");H.dest_user_selects=$D.get("dest_user_selects");H.dest_default=$D.get("dest_default");H.culture=$D.get("culture");var E=new SS.entities.QueryState();E.init();H.culture.value=E.language;H.code_container=$D.get("code_container");H.code=$D.get("code");H.example=$D.get("example_page");H.advertCont=$D.get("advert_code");H.snippetEl=$D.get("snippet");H.snippetLeaderBoardEl=$D.get("snippet_leaderboard");H.generate_code=$D.get("generate_code");var J=H.button_container=$D.getElementsByClassName("button_container","div","inf_page");if(J!=null&&J.length>0){H.button_container=H.button_container[0]}else{H.button_container=null}H.from=$D.get("from");H.to=$D.get("to");H.from.value="";H.to.value="";var I=H.depAs=new AutoSuggestControl(H.from,new SuggestionProvider("/as.ashx"),true);I.removeSubtitleBox(true);I.params=AutoSuggestControl.prepareParams(E.language,"gbp",true,null,"");var L=H.destAs=new AutoSuggestControl(H.to,new SuggestionProvider("/as.ashx"),true);L.removeSubtitleBox(true);L.params=AutoSuggestControl.prepareParams(E.language,"gbp",false,null,"");I.setPlaceName("");L.setPlaceName("");I.setPlaceID("");L.setPlaceID("");I.setCountryID("");L.setCountryID("");I.setCountryName("");L.setCountryName("");I.onSuggestionComplete=function(){H.routeChanged.fire({o:I.getPlaceID(),i:L.getPlaceID()})};L.onSuggestionComplete=function(){H.routeChanged.fire({o:I.getPlaceID(),i:L.getPlaceID()})};H.createSnippetObj();var F=new SS.entities.AfiliateTracking();F.populateFromHidden();if(!F.isEmpty()){F.updateSnippet(H.snippet)}H.snippet.setIPRecognition(false);H.snippet.onDisplay=function(){H.snippetDisplayed.fire()};H.snippet.onCancelLoading=function(){H.snippetDisplayCanceled.fire()};$E.addListener(this.generate_code,"mouseover",H.onGenerateButtonHover,true,H);$E.addListener(this.generate_code,"mouseout",H.onGenerateButtonHover,false,H);$E.addListener(this.type,"change",function(){H.shapeChanged.fire()},H,true);$E.addListener(this.culture,"change",function(){H.languageChanged.fire()},H,true);H.snippet.onRouteChanged=function(N,M){H.routeInSnippetChanged.fire(M)};$E.addListener(H.generate_code,"click",function(){H.generateButtonClicked.fire()},H,true);H.tabView=SS.views.TabView.initCodeWizardTabbedFrames();var K=H.ofix=$D.get("ofix");var G=H.ifix=$D.get("ifix");K.checked=true;G.checked=true;$E.addListener(K,"click",function(){H.placesFixedChanged.fire()},H,true);$E.addListener(G,"click",function(){H.placesFixedChanged.fire()},H,true);H.initCustomizeTheLook()};A.setFixed=function(E,F){this.ofix.checked=!E;this.ifix.checked=!F};A.initCustomizeTheLook=function(){var F=$D.get("color_picker");if(!F){return }var H=this.colorPicker=new SS.widgets.ColorPicker($D.get("color_picker"),SS.widgets.ColorPicker.LIST);var E=new Array();E=YAHOO.lang.JSON.parse($D.get("available_colors_data").value);H.setColors(E);H.init();var G=this;H.onDefaultSelected=function(){};H.onColorChanged=function(K){if(K){var J=function(L){this.h=L};J.prototype.callback=function(){if(this.h==H.selCol.h){H.selCol.ToRgb();G.snippet.generateSkin(H.selCol.r+"_"+H.selCol.g+"_"+H.selCol.b,function(L){if(H.selCol.Equal(H.defaultColor)){skyscanner.loader.setOverrideCss(null)}else{var M=G.lastCustomCss=L.cssPath;skyscanner.loader.setOverrideCss(M)}})}};var I=new J(this.selCol.h);setTimeout(function(){I.callback()},200)}}};A.createSnippetObj=function(){throw new Error("unimplemented exception")};A.fixTypeDropDown=function(E){if(YAHOO.env.ua.ie>0&&YAHOO.env.ua.ie<7){this.type.disabled=!E;this.culture.disabled=!E}};A.onGenerateButtonHover=function(G,E){var F=this.button_container;if(E){if(!$D.hasClass(F,"generate_button_hover")){$D.addClass(F,"generate_button_hover")}}else{if($D.hasClass(F,"generate_button_hover")){$D.removeClass(F,"generate_button_hover")}}};A.updateSnippetRoute=function(E){var F=this.snippet;if(E.from!=F.getDeparture()||F.getDepartureFixed()!=E.isDepFixed){F.setDeparture(E.from,E.isDepFixed)}if(E.to!=F.getDestination()||F.getDestinationFixed()!=E.isDestFixed){F.setDestination(E.to,E.isDestFixed)}};A.drawSnippet=function(G){var H=this.snippet;var E=this.snippetEl;var I=this.snippetLeaderBoardEl;H.setShape(G.shape);H.setCulture(G.lang);this.updateSnippetRoute(G);$D.setStyle(I,"position","relative");$D.setStyle(I,"margin-top","0");$D.setStyle(this.button_container,"padding-bottom","0");var F=G.shape;if(F!="leaderboard"&&F!="box400x400"){$D.setStyle(E,"display","block");$D.setStyle(I,"display","none");E.className="";E.innerHTML="";H.draw(E)}else{if(F=="leaderboard"){$D.setStyle(I,"position","absolute");$D.setStyle(I,"margin-top","-9em");$D.setStyle(this.button_container,"padding-bottom","12em")}$D.setStyle(E,"display","none");$D.setStyle(I,"display","block");I.className="";I.innerHTML="";H.draw(I)}};A.displayCode=function(H,I,F){$D.setStyle(this.code_container,"display","block");var G=this.tabView;G.clear();this.code=G.getTab(0).tabEl;this.example=G.getTab(1).tabEl;if(typeof (G.getTab(2))!="undefined"){this.advert=G.getTab(2).tabEl}else{this.advert=null}H='<pre id="code_pre" name="code" class="js:nocontrols:nogutter">'+H+"</pre>";this.code.innerHTML=H;if(this.example!=null){I='<pre id="example_code_pre" name="code" class="js:nocontrols:nogutter">'+I+"</pre>";this.example.innerHTML=I}if(this.advert!=null){F='<pre id="advert_code_pre" name="code" class="js:nocontrols:nogutter">'+F+"</pre>";this.advert.innerHTML=F}dp.SyntaxHighlighter.HighlightAll("code");var E=this;setTimeout(function(){var J=$D.get("code_pre");if(J!=null){J.innerHTML=""}J=$D.get("example_code_pre");if(J!=null){J.innerHTML=""}J=$D.get("advert_code_pre");if(J!=null){J.innerHTML=""}G.updateTabsContent()},100)}})();
(function(){var A=SS.controllers.WhoFliesSearchPanelCodeWizardController=function(D,C){this.model=D;this.view=C};var B=A.prototype;B.init=function(){var F=this;var D=F.view;var E=F.model;var G=F.updateStateAndRefreshSnippet;var C=new SS.entities.QueryState();C.init();D.depAs.convertIDToName(C.oPlaceId);F.updateStateAndRefreshSnippet();D.shapeChanged.subscribe(G,F,true);D.languageChanged.subscribe(G,F,true);D.routeChanged.subscribe(G,F,true);D.generateButtonClicked.subscribe(F.onGenerateCode,F,true);D.snippetDisplayed.subscribe(function(){D.fixTypeDropDown(true)},F,true);D.snippetDisplayCanceled.subscribe(function(){D.fixTypeDropDown(true)},F,true);D.routeInSnippetChanged.subscribe(function(L,H){var J=H[0];var I=J.departureID;var K=J.destinationID;if(I==null){I=""}if(K==null){K=""}I=I.toLowerCase();K=K.toLowerCase();if(E.from!=I){D.disableEventsInAsFields=true;D.depAs.convertIDToName(I);E.from=I;D.disableEventsInAsFields=false}if(E.to!=K){D.disableEventsInAsFields=true;D.destAs.convertIDToName(K);E.to=K;D.disableEventsInAsFields=false}},F,true);if(D.currencyChanged){D.currencyChanged.subscribe(G,F,true)}D.placesFixedChanged.subscribe(G,F,true)};B.onGenerateCode=function(){var E=this;var C=this.view;var D=this.model;D.update(C);if(C.validateApiKey(this.model.key)){C.snippet.generateInitialCode("","",function(G,H,F){E.view.displayCode(G,H,F)},D.key)}};B.updateStateAndRefreshSnippet=function(){var C=this.view;var D=this.model;C.disableEventsInAsFields=false;var F,E;F=D.isDepFixed;E=D.isDestFixed;D.update(C);if(D.isDestFixed&&D.isDepFixed){if(!F){D.isDestFixed=false}else{D.isDepFixed=false}}C.fixTypeDropDown(false);C.drawSnippet(D);C.setFixed(D.isDepFixed,D.isDestFixed)}})();
(function(){var A=SS.models.WhoFliesSearchPanelCodeWizardModel=function(){var C=this;C.shape="";C.lang="en";C.from="";C.to="";C.key="";C.isDepFixed=false;C.isDestFixed=false};var B=A.prototype;B.init=function(C){this.update(C)};B.update=function(C){var D=this;D.shape=C.type.value!=""?C.type.value:"box300x250";D.lang=C.culture.value;D.from=C.depAs.getPlaceID();D.to=C.destAs.getPlaceID();if(D.from==null){D.from=""}if(D.to==null){D.to=""}D.from=D.from.toLowerCase();D.to=D.to.toLowerCase();D.key=C.apiKeyField.value;D.isDepFixed=!C.ofix.checked;D.isDestFixed=!C.ifix.checked}})();
(function(){SS.entities.AfiliateTracking=function(){this.apiKey=null;this.clickUrl=null;this.associateid=null;this.aid=null;this.empty=true;this.urlParams=null};SS.entities.AfiliateTracking.prototype.isEmpty=function(){return this.empty};SS.entities.AfiliateTracking.prototype.populateFromHidden=function(){var A=$D.get("affiliate_data");if(A!=null&&A.value!=""){A=A.value;A=YAHOO.lang.JSON.parse(A);this.apiKey=A.apiKey;this.clickUrl=A.clickUrl;this.associateid=A.associateid;this.aid=A.aid;this.urlParams=A.urlParams;this.empty=false}};SS.entities.AfiliateTracking.prototype.updateSnippet=function(B){B.setClickUrl(this.clickUrl);B.setUrlParam(skyscanner.snippets.PARAMS.ASSOCIATEID,this.associateid);if(this.urlParams!=null&&this.urlParams.length>0){for(var A=0;A<this.urlParams.length;A++){var C=this.urlParams[A];B.setUrlParam(C.n,C.v)}}};SS.entities.AfiliateTracking.prototype.updateMap=function(C){C.setClickUrl(this.clickUrl);C.setUrlParam("associateid",this.associateid);if(this.urlParams!=null&&this.urlParams.length>0){for(var A=0;A<this.urlParams.length;A++){var B=this.urlParams[A];if(B.v!=null&&B.v!=""){C.setUrlParam(B.n,B.v)}}}}})();
(function(){SS.views.TabView=function(B,D,E,C){this.tabLabelCss=B;this.tabLabelActiveCss=D;this.tabElCssPrefix=E;this.clearContent=C;this.tabs=new Array();this.mainContEl=null;this.tabChanged=new YAHOO.util.CustomEvent("tabChanged",this)};var A=SS.views.TabView.prototype;A.onClickTabLabel=function(E,F,B){if(F!=null){for(var C=0;C<this.tabs.length;C++){var D=this.tabs[C];if(this.clearContent){if(D.tabEl.innerHTML==""){D.tabEl.innerHTML=D.content}else{D.content=D.tabEl.innerHTML}}if(F.idx==D.idx){if(!$D.hasClass(D.el,this.tabLabelActiveCss)){$D.addClass(D.el,this.tabLabelActiveCss)}if(D.tabEl!=null){if($D.getStyle(D.tabEl,"display")=="none"){$D.setStyle(D.tabEl,"display","block")}}D.active=true}else{if(this.clearContent){D.tabEl.innerHTML=""}if($D.hasClass(D.el,this.tabLabelActiveCss)){$D.removeClass(D.el,this.tabLabelActiveCss)}if($D.getStyle(D.tabEl,"display")!="none"){$D.setStyle(D.tabEl,"display","none")}D.active=false}}}this.tabChanged.fire(F);this.refreshView();if(!B){$E.preventDefault(E)}};A.refreshView=function(){if(YAHOO.env.ua.ie<7){var B=this.mainContEl;B.style.zoom="1";B.style.zoom="0";B.style.zoom="1"}};A.init=function(E){this.mainContEl=E;var F=$D.getElementsByClassName(this.tabLabelCss,"div",E);if(F!=null&&F.length>0){for(var C=0;C<F.length;C++){var B=this.tabs[C]={};B.idx=C;B.el=F[C];B.tabId=B.el.getAttribute("tab_id");B.active=$D.hasClass(F[C],this.tabLabelActiveCss);B.tabEl=null;var D=$D.getElementsByClassName(this.tabElCssPrefix+(C+1),"div",E);if(D!=null&&D.length>0){B.tabEl=D[0];B.initContent=D[0].innerHTML;if(!B.active){D[0].style.display="none"}B.content=""}$E.addListener(B.el,"click",this.onClickTabLabel,B,this)}}this.refreshView()};A.getTab=function(B){return this.tabs[B]};A.getActiveTab=function(){for(var B=0;B<this.tabs.length;B++){var C=this.tabs[B];if(C.active){return C}}return null};A.clear=function(){for(var B=0;B<this.tabs.length;B++){var C=this.tabs[B];C.tabEl.innerHTML=C.initContent}};A.updateTabsContent=function(){for(var B=0;B<this.tabs.length;B++){var C=this.tabs[B];C.content=C.tabEl.innerHTML;if(!C.active){C.tabEl.innerHTML=""}}};SS.views.TabView.initCodeWizardTabbedFrames=function(){var D=$D.getElementsByClassName("tabbed_frame","div","inf_page");if(D!=null&&D.length>0){D=D[0];var C=new SS.views.TabView("tab_lab","tab_lab_active","tab",true);C.init(D);var B;B=$D.getElementsByClassName("tabbed_frame_tabs","div",D);if(B!=null&&B.length>0){SS.util.disableTextSelecting(B[0])}B=$D.getElementsByClassName("tab_footer","div",D);if(B!=null&&B.length>0){SS.util.disableTextSelecting(B[0])}B=$D.getElementsByClassName("tab_bottom_right_corner","div",D);if(B!=null&&B.length>0){SS.util.disableTextSelecting(B[0])}B=$D.getElementsByClassName("tab_top_right_corner","div",D);if(B!=null&&B.length>0){SS.util.disableTextSelecting(B[0])}B=$D.getElementsByClassName("tab_top_left_corner","div",D);if(B!=null&&B.length>0){SS.util.disableTextSelecting(B[0])}return C}else{return null}}})();
(function(){var B=SS.views.WhoFliesSearchPanelCodeWizardView;var A=SS.views.WhoFliesCodeWizardView=function(){A.superclass.constructor.call(this)};$L.extend(A,B);A.prototype.createSnippetObj=function(){this.snippet=new skyscanner.snippets.WhoFliesControl()}})();
(function(){var A=function(){var D=new SS.models.WhoFliesSearchPanelCodeWizardModel();var C=new SS.views.WhoFliesCodeWizardView();var B=new SS.controllers.WhoFliesSearchPanelCodeWizardController(D,C);C.init();D.init(C);B.init()};$E.onDOMReady(A)}());
(function(){SS.entities.ColorDesc=function(){this.h=0;this.s=0;this.v=0;this.r=0;this.g=0;this.b=0};var A=SS.entities.ColorDesc;A.fromHSV=function(D,C,B){var E=new A();E.h=D;E.s=C;E.v=B;return E};A.prototype.Equal=function(B){return this.h==B.h&&this.s==B.s&&this.v==B.v};A.prototype.ToRgb=function(){var I=this.h;var H=this.s;var G=this.v;if(I<0){I=0}if(I>360){I=360}I=I/360;if(H<0){H=0}if(H>100){H=100}H=H/100;if(G<0){G=0}if(G>100){G=100}G=G/100;if(H==0){this.r=this.g=this.b=Math.round(G*255)}else{var F=I*6;if(F==6){F=0}var D=Math.floor(F);var E=G*(1-H);var C=G*(1-H*(F-D));var B=G*(1-H*(1-(F-D)));if(D==0){var_r=G;var_g=B;var_b=E}else{if(D==1){var_r=C;var_g=G;var_b=E}else{if(D==2){var_r=E;var_g=G;var_b=B}else{if(D==3){var_r=E;var_g=C;var_b=G}else{if(D==4){var_r=B;var_g=E;var_b=G}else{var_r=G;var_g=E;var_b=C}}}}}this.r=Math.round(var_r*255);this.g=Math.round(var_g*255);this.b=Math.round(var_b*255)}}}());
(function(){var D=SS.widgets.ColorPicker=function(E,F){this.contEl=E;this.colorBarEl=null;this.r=null;this.sEl=null;this.sampleEl=null;this.selCol=SS.entities.ColorDesc.fromHSV(0,27,100);if(typeof F=="undefined"){F=C}this.type=F;this.colorList=null;this.colors=new Array();this.defaultColor=SS.entities.ColorDesc.fromHSV(218,27,100);this.dd=false};var C=SS.widgets.ColorPicker.SLIDER=1;var A=SS.widgets.ColorPicker.LIST=2;D.prototype={init:function(){var G=this;this.contEl.innerHTML="";$D.addClass(this.contEl,"color_picker");if(this.type==C){var F=document.createElement("div");$D.addClass(F,"color_bar");this.contEl.appendChild(F);this.r=$D.getRegion(F);var H=this.r.right-this.r.left;this.colorBarEl=document.createElement("img");this.colorBarEl.src="/wide/images/site/color_bar.png";this.colorBarEl.width=H;this.colorBarEl.height="20";F.appendChild(this.colorBarEl);this.sEl=document.createElement("div");$D.addClass(this.sEl,"slider");F.appendChild(this.sEl);SS.util.disableTextSelecting(F);this.sampleEl=document.createElement("div");this.sampleEl.className="sample";this.contEl.appendChild(this.sampleEl);G.selCol.h=G.defaultColor.h;G.selCol.s=G.defaultColor.s;G.selCol.v=G.defaultColor.v;this.refresh();$E.addListener(this.sEl,"mousedown",this.onStartDrop,this,true);$E.addListener(document,"mouseup",this.onStopDrop,this,true);$E.addListener(document,"mousemove",this.onMove,this,true)}else{$D.addClass(this.contEl,"color_picker_popup");this.sampleEl=document.createElement("div");this.sampleEl.className="sample sample_list";this.contEl.appendChild(this.sampleEl);var E=document.createElement("div");E.className="color_arrow";this.contEl.appendChild(E);this.colorList=new B(this);this.colorList.init();this.colorList.onDefaultSelected=function(){G.selCol.h=G.defaultColor.h;G.selCol.s=G.defaultColor.s;G.selCol.v=G.defaultColor.v;G.refreshSample();G.onColorChanged(true);G.onDefaultSelected()};this.selCol.h=this.defaultColor.h;this.selCol.s=this.defaultColor.s;this.selCol.v=this.defaultColor.v;this.refreshSample();$E.addListener(this.contEl,"mousedown",this.onShowPopup,this,true)}},onShowPopup:function(E){this.colorList.setVisible(true);$E.preventDefault(E)},setColors:function(E){this.colors=E},onMove:function(I){if(this.dd){var H=$E.getXY(I);var E=H[0]-this.r.left;var G=this.r.right-this.r.left;if(E<0){E=0}if(E>G){E=G}this.sEl.style.left=(E-3)+"px";var F=Math.round(E/G*360);var J=this.selCol;if(J.h!=F){J.h=F;this.refreshSample();this.onColorChanged(false)}}},refreshSample:function(){var E=this.selCol;E.ToRgb();this.sampleEl.style.backgroundColor="rgb("+E.r+","+E.g+","+E.b+")"},onStartDrop:function(E){this.dd=true},onStopDrop:function(E){if(this.dd){this.onColorChanged(true);this.dd=false}},setHSV:function(G,F,E){this.selCol.h=G;this.selCol.s=F;this.selCol.v=E},refresh:function(){if(this.type==C){var E=this.r.right-this.r.left;var F=Math.round(this.selCol.h/360*E-3);this.sEl.style.left=F+"px";this.refreshSample()}},onColorChanged:function(E){},onDefaultSelected:function(){}};var B=SS.widgets.ColorPopupWindow=function(E){this.cp=E;this.contEl=null;this.visible=true};B.prototype={setVisible:function(G){this.visible=G;if(G){var F=$D.getXY(this.cp.contEl);var E=$D.getRegion(this.cp.contEl);F[1]+=E.bottom-E.top+2;this.contEl.style.left=F[0]+"px";this.contEl.style.top=F[1]+"px"}this.contEl.style.display=G?"block":"none"},isVisible:function(){return this.visible},onDefaultSelected:function(){},init:function(){var K=this;var L=this.contEl=document.createElement("div");L.className="color_list";document.body.appendChild(L);var P=document.createElement("table");var I=document.createElement("tbody");P.appendChild(I);P.cellSpacing="1";P.cellPadding="1";L.appendChild(P);var E=this.cp.colors;if(E.length==0){return }var J=6;var N=null;var G=null;var O=null;for(var H=0;H<E.length;H++){var M=SS.entities.ColorDesc.fromHSV(E[H].h,E[H].s,E[H].v);M.ToRgb();if(H%J==0){N=document.createElement("tr");I.appendChild(N)}G=document.createElement("td");O=document.createElement("a");O.href="#";O.c=M;O.onclick=function(){K.cp.selCol.h=this.c.h;K.cp.selCol.s=this.c.s;K.cp.selCol.v=this.c.v;K.cp.refreshSample();K.cp.onColorChanged(true);K.setVisible(false);return false};G.appendChild(O);O.style.backgroundColor="rgb("+M.r+","+M.g+","+M.b+")";N.appendChild(G)}N=document.createElement("tr");N.className="color_picker_separator";G=document.createElement("td");G.colSpan=J;G.appendChild(document.createElement("hr"));N.appendChild(G);I.appendChild(N);N=document.createElement("tr");N.className="default_color";G=document.createElement("td");N.appendChild(G);var F=this.cp.defaultColor;F.ToRgb();O=document.createElement("a");O.style.backgroundColor="rgb("+F.r+","+F.g+","+F.b+")";O.onclick=function(){K.onDefaultSelected();return false};G.appendChild(O);G=document.createElement("td");G.colSpan=J-1;G.className="default_color_text";O=document.createElement("a");O.href="#";O.innerHTML="Default";O.onclick=function(){K.onDefaultSelected();return false};G.appendChild(O);N.appendChild(G);I.appendChild(N);skyscanner.$E.attachEventHandler(document,"mouseup",function(Q){K.autoHidePopupListener(Q)})},autoHidePopupListener:function(E){if(!skyscanner.$D.isElementAreaClicked(E,this.cEl)&&!skyscanner.$D.isElementAreaClicked(E,this.cp.contEl)){if(this.isVisible()){this.setVisible(false)}}}}}());
