﻿jQuery.parseQuery=function(A,B){var C=(typeof A==="string"?A:window.location.search),E={f:function(F){return unescape(F).replace(/\+/g," ")}},B=(typeof A==="object"&&typeof B==="undefined")?A:B,E=jQuery.extend({},E,B),D={};jQuery.each(C.match(/^\??(.*)$/)[1].split("&"),function(F,G){G=G.split("=");G[1]=E.f(G[1]);D[G[0]]=D[G[0]]?((D[G[0]] instanceof Array)?(D[G[0]].push(G[1]),D[G[0]]):[D[G[0]],G[1]]):G[1]});return D};var qbtb=function(A,B){this.createTabs(B);this.resetForms();this.datePicker.init();$("#javascript_enabled").show();$(document).ready(function(){qbtb.prototype.populateFromQueryString()})};qbtb.prototype.resetForms=function(){var A=document.getElementById("javascript_enabled").getElementsByTagName("form");for(i=0;i<A.length;i++){A[i].reset()}};qbtb.prototype.createTabs=function(D){var A=$(".qbtb div.corner_br > div > div");if($("#qbtb_script").length>0&&$("#qbtb_script")[0]!=undefined){var E=$("#qbtb_script")[0].src.replace(/^[^\?]+\??/,"");var F=$.parseQuery(E);for(var B in F){if(B=="tab"){var C="#"+F[B];if($(C).length==1){D=C}}}}A.hide().filter(D).show();$(".qbtb a[href='"+D+"']").parent().addClass("selected");$(".qbtb div.corner_br ul.menu a").click(function(){A.hide();A.filter(this.hash).show();$(".qbtb div.corner_br ul.menu li").removeClass("selected");var G=$(this).parent().get(0);$(G).addClass("selected");return false}).filter(D).click()};qbtb.prototype.dataSource={create:function(B){var A=new YAHOO.util.XHRDataSource(B);A.maxCacheEntries=qbtb.prototype.settings.dataSource.maxCacheEntries;A.doBeforeCallback=function(F,E,G,D){var C=E.getElementsByTagName("item");for(i=0;i<C.length;i++){airport=C[i].firstChild.nodeValue;G.results[i].airport=airport}return G};A.responseSchema={resultNode:"item",fields:["airport","value"]};return A}};qbtb.prototype.urlEncoding={hexVals:new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"),unsafeString:'"<>%\\^[]`+$,',change:function(E){var D=E;var B="";var A=E.length;var C=0;for(j=0;j<A;j++){C=j;if(E.substring(C,C+1).charCodeAt(0)<255){if(qbtb.prototype.urlEncoding.isUnsafe(E.substring(C,C+1))==false){B=B+E.substring(C,C+1)}else{B=B+qbtb.prototype.urlEncoding.convert(E.substring(C,C+1))}}else{B=D;j=A}}return B},isUnsafe:function(A){if(qbtb.prototype.urlEncoding.unsafeString.indexOf(A)==-1&&A.charCodeAt(0)>32&&A.charCodeAt(0)<123){return false}else{return true}},convert:function(A){return"%"+qbtb.prototype.urlEncoding.decToHex(A.charCodeAt(0),16)},decToHex:function(B,C){var A="";while(B>=C){temp=B%C;B=Math.floor(B/C);A+=qbtb.prototype.urlEncoding.hexVals[temp]}A+=qbtb.prototype.urlEncoding.hexVals[B];return qbtb.prototype.urlEncoding.reversal(A)},reversal:function(C){var A=C.length;var B="";for(i=0;i<A;i++){B=B+C.substring(A-i-1,A-i)}C=B;return C}};qbtb.prototype.autoComplete={create:function(C,F,A,D){var B=new YAHOO.widget.AutoComplete(C,A,D);B.maxResultsDisplayed=qbtb.prototype.settings.autoComplete.maxResultsDisplayed;B.minQueryLength=qbtb.prototype.settings.autoComplete.minQueryLength;B.useShadow=qbtb.prototype.settings.autoComplete.useShadow;B.useIFrame=qbtb.prototype.settings.autoComplete.useIFrame;B.forceSelection=qbtb.prototype.settings.autoComplete.forceSelection;B.typeAhead=qbtb.prototype.settings.autoComplete.typeAhead;B.allowBrowserAutocomplete=qbtb.prototype.settings.autoComplete.allowBrowserAutocomplete;B.generateRequest=function(G){G=qbtb.prototype.urlEncoding.change(decodeURIComponent(G));return"&name="+G};B.dataErrorEvent.fire=function(G,H){alert(qbtb.prototype.settings.lang.ajaxError)};var E=function(H,G){YAHOO.util.Dom.get(F).value=G[2][1];$("#"+F).trigger("change");qbtb.prototype.autoComplete.setCaretTo(YAHOO.util.Dom.get(C),0)};B.itemSelectEvent.subscribe(E);return B},setCaretTo:function(B,C){if(B.createTextRange){var A=B.createTextRange();A.move("character",C);A.select()}else{if(B.selectionStart){B.focus();B.setSelectionRange(C,C)}}}};qbtb.prototype.datePicker={init:function(){Date.format=qbtb.prototype.settings.dateFormat;$.dpText.TEXT_CHOOSE_DATE="";$(".date_pick").keydown(function(){return false});$(".date_pick").datePicker({clickInput:true})},link:function(B,A){$("#"+B).bind("dpClosed",function(D,C){var E=C[0];if(E){E=new Date(E);$("#"+A).dpSetStartDate(E.addDays(1).asString())}});$("#"+A).bind("dpClosed",function(D,C){var E=C[0];if(E){E=new Date(E);$("#"+B).dpSetEndDate(E.addDays(-1).asString())}})},calcFutureDate:function(B,A,C){$(B).bind("dateSelected",function(F,E,G){var D=parseInt($(A).val());$(C).html(E.addDays(D).asString())});$(A).change(function(){var F=Date.fromString($(B).val());var D=parseInt($(A).val());if(qbtb.prototype.settings.localDateFormat==undefined){var E=qbtb.prototype.settings.dateFormat.toLowerCase()}else{var E=qbtb.prototype.settings.localDateFormat.toLowerCase()}if($(C).html().toLowerCase()!=E){$(C).html(F.addDays(D).asString())}})},setStartFromToday:function(C,B){Date.format=qbtb.prototype.settings.dateFormat;var A=new Date();A.addDays(parseInt(B));A=A.asString();$(C).dpSetStartDate(A)},setEndFromToday:function(B,A){Date.format=qbtb.prototype.settings.dateFormat;var C=new Date();C.addDays(parseInt(A));C=C.asString();$(B).dpSetEndDate(C)}};qbtb.prototype.populateFromQueryString=function(){var E=$.parseQuery();for(var C in E){if(C!=""){var B=$(".qbtb #"+C);if(B.length>0){var A=B[0].tagName.toLowerCase();var D=B[0].type.toLowerCase();if(A=="input"&&(D=="checkbox"||D=="radio")&&E[C]==1){$(B[0]).click()}else{if((A=="input"&&(D=="text"||D=="hidden"))||A=="select"){$(B[0]).val(E[C]).change()}}}}}};qbtb.prototype.linkSelects=function(C,B,A,D){$("#"+C).change(function(){$("#"+B).find("option").remove();var E="#"+B+"_loading";if($(E).length>0){$(E).show()}else{$("#"+B).after('<span id="'+B+'_loading" class="input_loading"></span>')}$.ajax({type:"GET",url:A+"&"+D+"="+$("#"+C).val(),dataType:"xml",success:function(F){$(E).hide();$(F).find("item").each(function(){var H=$(this).text();var G=$(this).attr("value");$("#"+B).append("<option value='"+G+"'>"+H+"</option>")})}})})};qbtb.prototype.floatingWindow=function(F,D,C,B,A){$(F).hide();$(F).bgiframe();$(F).css({position:"absolute"});$(D).css({cursor:"pointer"});$(D).click(function(H){var I=220;var G=10;if(H.pageX+I+G>$(window).width()){$(F).css({top:H.pageY+"px",left:(H.pageX-I)+"px"})}else{$(F).css({top:H.pageY+"px",left:H.pageX+"px"})}qbtb.prototype.floatingWindow.elem1=B;qbtb.prototype.floatingWindow.elem2=A;$(F).show("fast",function(){$(document).bind("click",E)});if($(F+" .content").html()==""){C(F)}});var E=function(H){var G=$(H.target);if(G.is(F)||G.parents().is(F)){}else{$(document).unbind("click",E);$(F).hide("normal")}}};qbtb.prototype.selectWithOptions=function(A,B){$(A).change(function(){var C=$(A).val();var E=$(B).length;for(i=0;i<C;i++){var D=$($(B)[i]);D.children().children(":input").attr("disabled",false);D.show()}for(i=C;i<E;i++){var D=$($(B)[i]);D.children().children(":input").attr("disabled",true);D.hide()}})};qbtb.prototype.validate=function(D,A,B,C){$(D+" "+A).click(function(){var F=B();if(F==true){var E=$(D+" p.search");E=E[0];$(E).children(".form_submitted").remove();$(E).prepend('<span class="form_submitted"><img src="http://www.statravel.co.za/static/za_division_web_live/assets/img/submit_loading.gif" width="16" height="16" /></span>&nbsp;&nbsp;');C(D)}else{alert(F)}})};qbtb.prototype.airportList={ajaxTimeout:10000,ajaxError:function(A,D,B,C){if(D=="timeout"){alert(qbtb.prototype.settings.lang.ajaxTimeout)}else{alert(qbtb.prototype.settings.lang.ajaxError)}$(C).hide("normal");$(document).unbind("click",qbtb.prototype.floatingWindow.createCloseMask)},populate:function(C,B,A){$(qbtb.prototype.floatingWindow.elem1).val(B);$(qbtb.prototype.floatingWindow.elem2).val(A);$(qbtb.prototype.floatingWindow.elem2).trigger("change");$(C).hide("normal");$(document).unbind("click",qbtb.prototype.floatingWindow.createCloseMask);return false},local:function(A){$(A+" h3").addClass("loading");$.ajax({type:"GET",url:qbtb.prototype.settings.urls.flight_localAirportList,dataType:"xml",timeout:qbtb.prototype.airportList.ajaxTimeout,error:function(B,D,C){qbtb.prototype.airportList.ajaxError(B,D,C,A)},success:function(B){$(A+" .content").empty();$(B).find("xhtml").each(function(){var C=$(this).text();C=C.replace(/tranAp\(/gi,"return qbtb.prototype.airportList.populate('"+A+"',");$(A+" .content").append(C)});$(A+" h3").removeClass("loading")}})},world:function(A){$(A+" .world_airport_select").css({visibility:"hidden"});$(A+" h3").addClass("loading");$.ajax({type:"GET",url:qbtb.prototype.settings.urls.flight_worldAirportCountries,dataType:"xml",timeout:qbtb.prototype.airportList.ajaxTimeout,error:function(B,D,C){qbtb.prototype.airportList.ajaxError(B,D,C,A)},success:function(B){var C=$(A+" select");C.empty();$(B).find("item").each(function(){var E=$(this).text();var D=$(this).attr("value");C.append('<option value="'+D+'">'+E+"</option>")});$("#flight_world_list").change(function(){$(A+" h3").addClass("loading");$(A+" .content").empty();var D=this.value;$.ajax({type:"GET",url:qbtb.prototype.settings.urls.flight_worldAirportList+"&code="+encodeURIComponent(D),dataType:"xml",timeout:qbtb.prototype.airportList.ajaxTimeout,error:function(E,G,F){qbtb.prototype.airportList.ajaxError(E,G,F,A)},success:function(E){$(A+" .content").empty();$(E).find("xhtml").each(function(){var F=$(this).text();F=F.replace(/tranAp\(/gi,"return qbtb.prototype.airportList.populate('"+A+"',");$(A+" .content").append(F)});$(A+" h3").removeClass("loading")}})});$(A+" .world_airport_select").css({visibility:"visible"});$(A+" h3").removeClass("loading")}})}};qbtb.prototype.toggle=function(C,A,B){$(C).click(function(){var D=this.checked;if($(C)[0].type=="radio"){if(this.id==B){var D=true}else{var D=false}}else{var D=this.checked}if($(A).is(":input")){if($(A).is(".date_pick")){$(A).dpSetDisabled(D)}$(A).attr("disabled",D)}else{$(A+" :input").each(function(E){if($(this).is(".date_pick")){$(this).dpSetDisabled(D)}this.disabled=D});if(D){$(A+" img.globe").css({visibility:"hidden"})}else{$(A+" img.globe").css({visibility:"visible"})}}})};qbtb.prototype.radioControl={roundTrip:function(D,B,E,C,A){$(D).click(function(){$(C).val($(A).val());$(E).val($(B).val())});$(A).change(function(){if($("input[@name='flight_type']:checked")[0].id=="flight_round_trip"){$(C).val($(A).val());$(E).val($(B).val())}});$(C).change(function(){if($("input[@name='flight_type']:checked")[0].id=="flight_round_trip"){$("#flight_multi_city").attr("checked",true)}})}};qbtb.prototype.createSubmitFields=function(A,B){for(i in B){if(B[i].constructor==Array){for(j=0;j<B[i].length;j++){$(A).append('<input type="hidden" name="'+i+"["+j+']" value="'+B[i][j]+'" />')}}else{$(A).append('<input type="hidden" name="'+i+'" value="'+B[i]+'" />')}}};qbtb.prototype.helpPopup=function(B){var A=window.open(B.href,"helpWin","dependent=yes,scrollbars=yes,menubar=no,toolbar=no,status=no,location=no,locationbar=no,resizable=yes,width=620,height=520,top=20,left=20");A.focus()};function ie6tabFix(){var A=$(".yui-ac-content");for(i=0;i<A.length;i++){$(A[i]).hide()}return false};
