Plugin Directory

Changeset 723445


Ignore:
Timestamp:
06/06/2013 10:05:35 AM (13 years ago)
Author:
Travelgrove
Message:
  • New window handler was added.
  • Solution for Chrome's popup blocker was added.
Location:
travel-search
Files:
133 added
6 edited

Legend:

Unmodified
Added
Removed
  • travel-search/trunk/controllers/controller-frontend.php

    r712981 r723445  
    156156    /** jQuery DatePicker; dependent on jQuery and jQuery UI    */
    157157    wp_enqueue_script('tgsb_datepicker_script', plugins_url('/js/jquery-ui-datepicker.min.js', TG_SEARCHBOXES__FILE__), array('jquery', 'jquery-ui-core'), '20120711');
    158 /*
    159     print('options: <pre>');
    160     print_r($this->options);
    161     print('</pre>');
    162 */
     158
     159    /** @note   JS file holding the class that handles popups
     160        @date   2013-JUN-4
     161        @author Tibi    */
     162    wp_enqueue_script('tgsb_popup_handler_script',
     163            plugins_url( '/js/popupHandler.class.min.js', TG_SEARCHBOXES__FILE__ ),
     164            false,
     165            // version number
     166            '20130604',
     167            // adding it to footer to make sure it will appear AFTER inline variables are set
     168            empty($this->options['noconflict']) ? true : false );
     169
    163170    /** dynamic functionalities of the searchboxes; main JS file    */
    164171    wp_enqueue_script('tgsb_main_script',
    165172            plugins_url( '/js/tg_searchboxes.min.js', TG_SEARCHBOXES__FILE__ ),
    166             array('tgsb_datepicker_script', 'tgsb_autosuggestion', 'jquery'),
     173            array('tgsb_datepicker_script', 'tgsb_autosuggestion', 'jquery', 'tgsb_popup_handler_script'),
    167174            // version number
    168175            '20130423',
    169176            // adding it to footer to make sure it will appear AFTER inline variables are set
    170177            (empty($this->options['noconflict']) ? true : false));
     178           
    171179    /** context-dependent variables needed for dynamic functionality, in the main JS    */
    172180    wp_localize_script(
     
    175183            // js object name that will contain the variables
    176184            'TG_Searchboxes_Variables',
    177             array(  'str_CalendarURL'   => plugins_url('/images/tg_searchboxes/calendarnew.png', TG_SEARCHBOXES__FILE__),
     185            array(  'plugin_url'        => plugins_url('', TG_SEARCHBOXES__FILE__),
     186                'str_CalendarURL'   => plugins_url('/images/tg_searchboxes/calendarnew.png', TG_SEARCHBOXES__FILE__),
    178187                'str_ASAjaxURL'     => plugins_url('/ajax/autosuggestion.php', TG_SEARCHBOXES__FILE__),
    179188                /*  converting PHP-format date to JS-format */
  • travel-search/trunk/css/tg_searchboxes.dev.css

    r712981 r723445  
    2121.tg_searchbox .tg_container form img.trackingPixel{position:absolute;cursor:default}
    2222.tg_searchbox .tg_container form div.hr{background:#ebf3db;border-bottom:1px solid #dde5d0;margin-top:5px;padding:0}
    23 .tg_searchbox .tg_container form span{display:inline-block !important;vertical-align:top;}
     23.tg_searchbox .tg_container form span{display:inline-block !important;vertical-align:top !important;}
    2424.tg_searchbox .tg_container form span.s select{margin:0}
    2525.tg_searchbox .tg_container div.pwr{font-size:10px;color:#6c7266;line-height:1.2em !important}
  • travel-search/trunk/js/tg_searchboxes.dev.js

    r712981 r723445  
    66// object containing the query string with the searchboxes params used when merchant request should be made, if the query string for a searchbox an a search form is the same then the merchant request is not made and the div having the merchants into it is showed
    77var tgsb_searchboxesParams = {};
     8
     9// object used to open the popup windows
     10var windowOpenerObj;
     11
     12/*  @note   config variable for the IE popup blocker handling: if true, when a merchant is checked, a blank window will open and when merchants are compared. the compare window will load into this blank window
     13    @date   2013 JUN 3
     14    @author Tibi
     15*/
     16//var onClickPopupHandling  = $.browser.msie;
     17var onClickPopupHandling    = false;
    818
    919
     
    263273            '&searchsystem=us' +
    264274            '&querycode='+tgsb_querycode;
    265     // iterating through the selected merchants elements   
    266     searchbox.find(".mrcList .mSel").each(function(){
    267         var t = jQuery(this);
     275    // iterating through the selected merchants elements
     276    var currentWindowIdx    = 0;
     277    var merchantSet     = searchbox.find(".mrcList .mSel");
     278    merchantSet.each(function(){
     279        var t       = jQuery(this);
     280        var wName   = onClickPopupHandling ? t.attr('title') + '_' + t.attr('rel') : '';
    268281        // opening a new window for the search results
    269         jump(url+'&merchant='+t.attr('title')+'&intitem='+t.attr('rel'));
     282        // jump(url+'&merchant='+t.attr('title')+'&intitem='+t.attr('rel'));
     283        windowOpenerObj.open(url+'&merchant='+t.attr('title')+'&intitem='+t.attr('rel'), wName, currentWindowIdx, merchantSet.length);
     284        currentWindowIdx++;
    270285    });
    271286     
     
    447462                };
    448463                // iterating the merchants
    449                 merchants.each(function(){
    450                     // if clicking on a merchant span then toggle the mSel class used for merchants selection
    451                     jQuery(this).click(function(){
    452                         jQuery(this).toggleClass('mSel');
    453                     });
     464                merchants.click(function(){
     465                    var t   = jQuery(this);
     466                    t.toggleClass('mSel');
     467                    if (onClickPopupHandling) {
     468                        var wName   = t.attr('title') + '_' + t.attr('rel');
     469                        if (!t.hasClass('mSel')) {
     470                            windowOpenerObj.close(wName);
     471                        } else {
     472                            var prevOpts    = $.extend({}, windowOpenerObj.opts);
     473                            windowOpenerObj.setOptions({    'popUnder'  : true,
     474                                            'style'     : 'fix'     });
     475                            var newWin  = windowOpenerObj.open('about:blank', wName, 0, 1, /*isSingle:*/1);
     476                            windowOpenerObj.opts = prevOpts;
     477                        }
     478                    }
    454479                });
    455480                // removing the submited class from the submit button
     
    822847        createDatepicker(i1,i2,rtowInputs);
    823848        /* submitting the forms */
     849        windowOpenerObj.wrapButton(submitButton.get(0));
    824850        currentForm.submit(function() {
    825851            if(submitButton.hasClass('submited'))
     
    863889        offsety:0,
    864890        format: function(selLiObj) {
    865             return selLiObj.innerHTML.replace(/<\/?[a-z]+>/gi,'').replace(/(.*),(.*)\((.*)\)/,'$1 ($3)');
     891            return selLiObj.innerHTML.replace(/<\/?[a-z]+[^>]*>/gi,'').replace(/(.*),(.*)\((.*)\)/,'$1 ($3)');
    866892        },
    867893        callback:function(selLiObj, asObj) {
     
    913939    };
    914940   
     941    windowOpenerObj = new TGSB_WindowOpener({
     942        chromePPBmode   : window.chrome ? true : false,
     943        maxScreenWidth  : screen.width,
     944        maxScreenHeight : screen.height,
     945        winWidth    : parseInt(screen.width*0.8),
     946        blankPageHtml   : '<div style="margin:10px auto;width:100%;text-align:center;">'+
     947                    '<img src="'+ TG_Searchboxes_Variables.plugin_url +'/images/please-wait.jpg">'+
     948                '</div>',
     949        position    : {left:0, top:0, width:500, height:180}
     950    });
     951   
    915952    /*  searchbox initialization moved to a separate function to make possible the initialization of the searchboxes if they are loaded via JS as well (after doc. ready) */
    916953    tgsb_initSingleSearchbox('.tg_searchbox');
  • travel-search/trunk/js/tg_searchboxes.min.js

    r712981 r723445  
    1 (function(jQuery){var popupWPos=0;var ajaxLoaders;var ASoptions;var hotelASoptions;var tgsb_searchboxesParams={};function TGSearchboxes(){this.queryCodes={flights:0,hotels:0,cars:0,packages:0};this.set=function(queryCodeMember,queryCodeMemberValue){this.queryCodes[queryCodeMember]=queryCodeMemberValue;return true};this.replacePlaceholder=replacePlaceholder}TGSB=new TGSearchboxes();function remErr(){jQuery(this).removeClass("err").unbind("focus",remErr)}function inputFocus(ev){if(this.value==this.defaultValue){this.value=""}else{this.select()}}function inputBlur(ev){if(this.value==""){this.value=this.defaultValue}}function replacePlaceholder(shortcode,html){jQuery(function(){var htmlObj=jQuery(html);var shortcodeObj=jQuery("span#"+shortcode);if(shortcodeObj.length==0){return false}shortcodeObj.replaceWith(htmlObj);tgsb_initSingleSearchbox(htmlObj)})}function validateSearchbox(obj,onsbmt,addErrorClass){onsbmt=(typeof(onsbmt)=="undefined"||!onsbmt)?false:true;addErrorClass=(typeof(addErrorClass)=="undefined"||!addErrorClass)?false:true;errMsg="";errClass="";var patt1=/^.*\s\(...\)$/i;var patt2=/[0-9]{2}\/[0-9]{2}\/[0-9]{4}/;var currentForm=jQuery(obj).parents("form");if(!currentForm.hasClass("hotels")){departure=currentForm.find("input.asFrom")}var arrival=currentForm.find("input.asTo");var departureDate=currentForm.find("input.depDate");var returnDate=currentForm.find("input.retDate");var date=new Date();var d1=departureDate.datepicker("getDate");var d2=returnDate.datepicker("getDate");if(currentForm.hasClass("flights")){rtowInputs=currentForm.find("input[name=oneway]");var owChk=false;if(typeof(rtowInputs.get(0))!="undefined"&&typeof(rtowInputs.get(1))!="undefined"){rt=rtowInputs.get(0).id;ow=rtowInputs.get(1).id;owChk=jQuery("#"+ow).attr("checked")}}if(!currentForm.hasClass("hotels")){if(!patt1.test(departure.val())){errMsg+="\t- a departure location\n";errClass+="#"+departure.get(0).id+","}}if(currentForm.hasClass("hotels")){if(arrival.val().length<3){errMsg+="\t- an arrival location\n";errClass+="#"+arrival.get(0).id+","}}else{if(!patt1.test(arrival.val())){errMsg+="\t- an arrival location\n";errClass+="#"+arrival.get(0).id+","}}if(!patt2.test(departureDate.val())||(d1>0&&d1<date)){errMsg+="\t- a valid departure date\n";errClass+="#"+departureDate.get(0).id+","}if(currentForm.hasClass("flights")){if(!owChk&&!patt2.test(returnDate.val())){errMsg+="\t- a valid returning date\n";errClass+="#"+returnDate.get(0).id+","}if(!owChk&&d1>0&&d2>0&&d1>d2){errMsg+="\t- a greater returning date than the departure date\n";errClass+="#"+returnDate.get(0).id+","}}else{if(!patt2.test(returnDate.val())){errMsg+="\t- a valid returning date\n";errClass+="#"+returnDate.get(0).id+","}if(d1>0&&d2>0&&d1>d2){errMsg+="\t- a greater returning date than the departure date\n";errClass+="#"+returnDate.get(0).id+","}}if(errClass.match(/\,$/)){errClass=errClass.substr(0,(errClass.length-1))}if(addErrorClass){jQuery(errClass).addClass("err").focus(remErr)}if(onsbmt){var selectedMerchants=currentForm.find("div.mrcList span.mSel");if(selectedMerchants.length<1){if(errMsg.length==0){alert("Please select at least two providers to compare their prices.");return false}else{errMsg+="Please select at least two providers to compare their prices.\n"}}}return errMsg.length?"Please enter:\n"+errMsg:false}function makeClassicSearchRequest(obj){var errMsg=validateSearchbox(obj,true,true);if(errMsg.length){alert(errMsg);return false}ppups(obj);jQuery(obj).removeClass("submited");return true}function ppups(obj){var fields=(typeof(obj)!="undefined")?jQuery(obj).parents("form").serializeArray():"";var queryString=createQueryString(obj,fields);if(!queryString){return false}var searchbox=jQuery(obj).parents("form");var tgsb_querycode=1;var url="";if(searchbox.hasClass("flights")){url="http://www.travelgrove.com/cgi-bin/link_counter_new.cgi?channel=3";tgsb_querycode=TGSB.queryCodes.flights}if(searchbox.hasClass("hotels")){url="http://www.travelgrove.com/cgi-bin/hotels/link_counter_new.cgi?channel=6";tgsb_querycode=TGSB.queryCodes.hotels}if(searchbox.hasClass("packages")){url="http://www.travelgrove.com/cgi-bin/vacation/link_counter_new.cgi?channel=7";tgsb_querycode=TGSB.queryCodes.packages}if(searchbox.hasClass("cars")){url="http://www.travelgrove.com/cgi-bin/cars/link_counter_new.cgi?channel=4";tgsb_querycode=TGSB.queryCodes.cars}if(url.length==0){return false}var separator=url.indexOf("?")>=0?"&":"?";url+=separator+queryString+"&lang=def&dateFormat=mm/dd/yyyy&trafficSource=wpplugin&searchsystem=us&querycode="+tgsb_querycode;searchbox.find(".mrcList .mSel").each(function(){var t=jQuery(this);jump(url+"&merchant="+t.attr("title")+"&intitem="+t.attr("rel"))});return true}function jump(url){var myWinCoord="left="+(popupWPos+=20)+",top="+popupWPos+",width="+(screen.width*0.8)+",height="+(screen.height*0.8)+",resizable = yes,scrollbars=yes, toolbar=yes, location=yes";var nw=window.open(url,"_blank",myWinCoord);if(!nw){return false}return nw}function makeMerchantsRequest(obj,showErrorMessages,addErrorClass){showErrorMessages=(typeof(showErrorMessages)=="undefined"||!showErrorMessages)?false:true;addErrorClass=(typeof(addErrorClass)=="undefined"||!addErrorClass)?false:true;var tgsb_querycode=0;var searchboxsize=jQuery(obj).parents(".tg_searchbox").attr("class").match(/m(160x600|300x250|300x533|728x90|dynamic)/);var searchboxId=jQuery(obj).parents(".tg_searchbox").get(0).id;if(searchboxsize==null||(searchboxsize[1]!="160x600"&&searchboxsize[1]!="300x250"&&searchboxsize[1]!="300x533"&&searchboxsize[1]!="728x90"&&searchboxsize[1]!="dynamic")){return false}var searchbox=jQuery(obj).parents("form");var submitButton=searchbox.find("input.tgsb_submit_button");if((errMsg=validateSearchbox(obj,false,addErrorClass))){if(showErrorMessages){alert(errMsg)}jQuery(submitButton).removeClass("submited");return false}var fields=(typeof(obj)!="undefined")?jQuery(obj).parents("form").serializeArray():"";var queryString=createQueryString(obj,fields);if(!queryString){return false}var searchboxType=searchbox.attr("class").match(/(flights|hotels|packages|cars)/);if(searchboxType==null){return false}var merchantsContainer=searchbox.find("div.mrcList");if(typeof(tgsb_searchboxesParams[searchboxId])=="undefined"){tgsb_searchboxesParams[searchboxId]={}}if(typeof(tgsb_searchboxesParams[searchboxId][searchboxType])=="undefined"||tgsb_searchboxesParams[searchboxId][searchboxType]!=queryString){if(searchboxsize[1]!="dynamic"){searchbox.find("div.formContent").addClass("nod")}searchbox.find("div.help").addClass("nod");merchantsContainer.html(ajaxLoaders[searchboxsize[1]]);merchantsContainer.addClass("alCnt").removeClass("nod");var merchantsLimit=7;if(searchboxsize[1]=="728x90"){merchantsLimit=6}if(searchboxsize[1]=="300x250"){merchantsLimit=8}if(searchboxsize[1]=="300x533"||searchboxsize[1]=="dynamic"){merchantsLimit=12}if(searchboxType[1]=="hotels"&&searchboxsize[1]=="160x600"){merchantsLimit=10}tgsb_searchboxesParams[searchboxId][searchboxType]=queryString;if(searchbox.hasClass("flights")){tgsb_querycode=TGSB.queryCodes.flights}if(searchbox.hasClass("hotels")){tgsb_querycode=TGSB.queryCodes.hotels}if(searchbox.hasClass("packages")){tgsb_querycode=TGSB.queryCodes.packages}if(searchbox.hasClass("cars")){tgsb_querycode=TGSB.queryCodes.cars}jQuery.ajax({url:TG_Searchboxes_Variables.str_merchantsAjaxURL,type:"post",data:queryString+"&impId="+tgsb_querycode+"&merchants="+searchboxType[1]+"&sbsize="+searchboxsize[1]+"&limit="+merchantsLimit,dataType:"text",success:function(rsp){jsonObj=eval("("+rsp+")");merchantsContainer.removeClass("alCnt");merchantsContainer.html(jsonObj.merchants+((searchboxsize[1]=="300x250"||searchboxsize[1]=="728x90")?'<a href="#" class="tgBackToSearchbox">change this search</a>':""));var trackingPixel=searchbox.find("img.trackingPixel");if(!trackingPixel.length){merchantsContainer.after('<img class="trackingPixel" src="'+jsonObj.trackingPixel+'" width="1" height="1" />')}if(trackingPixel.length){trackingPixel.get(0).src=jsonObj.trackingPixel}var merchants=searchbox.find("div.mrcList").find("span");submitButton.addClass("tgsb_submit_button_cmp");submitButton.val("compare prices");submitButton.unbind("click").click(function(){makeClassicSearchRequest(this);return false});if(searchboxsize[1]=="300x250"||searchboxsize[1]=="728x90"||searchboxsize[1]=="dynamic"){searchbox.find("div.mrcList a.tgBackToSearchbox").click(function(){merchantsContainer.addClass("nod");searchbox.find("div.formContent").removeClass("nod");submitButton.removeClass("tgsb_submit_button_cmp");submitButton.val("search");submitButton.unbind("click").click(function(){makeMerchantsRequest(this);return false});return false})}merchants.each(function(){jQuery(this).click(function(){jQuery(this).toggleClass("mSel")})});jQuery(submitButton).removeClass("submited")}});return true}if(typeof(tgsb_searchboxesParams[searchboxId][searchboxType])!="undefined"||tgsb_searchboxesParams[searchboxId][searchboxType]==queryString){if(searchboxsize[1]!="dynamic"){searchbox.find("div.formContent").addClass("nod")}submitButton.addClass("tgsb_submit_button_cmp");submitButton.val("compare prices");merchantsContainer.removeClass("nod");submitButton.unbind("click").click(function(){makeClassicSearchRequest(this);return false})}}function createQueryString(obj,fields){if(typeof(fields)=="undefined"||fields.length==0){return false}var queryString="";jQuery.each(fields,function(i,field){if(TG_Searchboxes_Variables.str_dateFormat!="mm/dd/yy"&&(field.name=="dep_date"||field.name=="arr_date"||field.name=="start_date"||field.name=="end_date")){var contForm=jQuery(obj).parents("form");tgsb_date=contForm.find("input[name="+field.name+"]:eq(0)").datepicker("getDate");queryString+=field.name+"="+setDateByDateFormat(tgsb_date)+((i<(queryString.length-1))?"&":"")}queryString+=(queryString.match(field.name+"=")&&(field.name=="dep_date"||field.name=="arr_date"||field.name=="start_date"||field.name=="end_date"))?"":field.name+"="+field.value+((i<(fields.length-1))?"&":"")});return queryString}function makeImpressionTrackingRequest(selectedTab,frmObj,callback){if(typeof(selectedTab)=="undefined"){return false}if(typeof(callback)!="function"){callback=function(){}}if(TGSB.queryCodes[selectedTab]==0){var impressionTrackingQueryString=createImpressionTrackingQueryString(frmObj);if(impressionTrackingQueryString.length==0){return false}impressionTrackingQueryString+="&searchbox="+selectedTab;jQuery.getScript("http://www.travelgrove.com/js/affiliates/wpPluginImpTrack.php?"+impressionTrackingQueryString,callback)}return true}function createImpressionTrackingQueryString(frmObj){if(typeof(frmObj)=="undefined"){return""}var tgsbFrom=(typeof(frmObj.find(".asFrom").val())!="undefined")?"from="+frmObj.find(".asFrom").val()+"&":"";var tgsbTo=(typeof(frmObj.find(".asTo").val())!="undefined")?"to="+frmObj.find(".asTo").val()+"&":"";var tgsbDepDate="";var tgsbRetDate="";if((typeof(frmObj.find(".depDate").val())!="undefined")){if(TG_Searchboxes_Variables.str_dateFormat!="mm/dd/yy"){tgsbDepDate=frmObj.find(".depDate").val();newtgsbDepDate=tgsbDepDate.split("/");tgsbDepDate=newtgsbDepDate[1]+"/"+newtgsbDepDate[0]+"/"+newtgsbDepDate[2]}tgsbDepDate="dep_date="+tgsbDepDate+"&"}if((typeof(frmObj.find(".retDate").val())!="undefined")){if(TG_Searchboxes_Variables.str_dateFormat!="mm/dd/yy"){tgsbRetDate=frmObj.find(".retDate").val();newtgsbRetDate=tgsbRetDate.split("/");tgsbRetDate=newtgsbRetDate[1]+"/"+newtgsbRetDate[0]+"/"+newtgsbRetDate[2]}tgsbRetDate="ret_date="+tgsbRetDate+"&"}var tgsbIdReferral=(typeof(frmObj.find("input[name=idReferral]").val())!="undefined")?"idReferral="+frmObj.find("input[name=idReferral]").val():999;var tgsbSubID=(typeof(frmObj.find("input[name=subID]").val())!="undefined")?"subID="+frmObj.find("input[name=subID]").val():106;return tgsbFrom+tgsbTo+tgsbDepDate+tgsbRetDate+tgsbIdReferral+"&"+tgsbSubID+"&trafficSource=wpplugin"}function setDateByDateFormat(dateObj){tgsb_day=(dateObj.getDate()<10)?"0"+dateObj.getDate():dateObj.getDate();tgsb_month=dateObj.getMonth();tgsb_month+=1;tgsb_month=(tgsb_month<10)?"0"+tgsb_month:tgsb_month;tgsb_year=dateObj.getFullYear();return tgsb_month+"/"+tgsb_day+"/"+tgsb_year}function createDatepicker(i1,i2,rtowInputs){jQuery("#"+i1+", #"+i2).each(function(){var inp=jQuery(this);inp.datepicker({minDate:0,maxDate:"2y",showOn:"both",buttonImage:TG_Searchboxes_Variables.str_CalendarURL,buttonImageOnly:true,dateFormat:TG_Searchboxes_Variables.str_dateFormat,onSelect:function(date,dpObj){d1=jQuery(this).datepicker("getDate");if(this.id==i1){d2=jQuery.datepicker.parseDate(TG_Searchboxes_Variables.str_dateFormat,jQuery("#"+i2).val());jQuery("#"+i2).datepicker("option","minDate",d1);if(d2&&d1>d2){d2.setTime(d1.getTime()+60*60*24*5*1000);jQuery("#"+i2).val(jQuery.datepicker.formatDate(TG_Searchboxes_Variables.str_dateFormat,d2))}}}})});if(typeof(rtowInputs)=="object"&&rtowInputs.length>0){if(rtowInputs.length==1){var selectRTOW=rtowInputs.get(0).id;jQuery("#"+selectRTOW).change(function(){jQuery("#"+i2).attr("disabled",((this.value.length)?true:false))})}if(rtowInputs.length==2){var rt=rtowInputs.get(0).id;var ow=rtowInputs.get(1).id;var searchboxsize=jQuery("#"+i2).parents(".tg_searchbox").attr("class").match(/m(160x600|300x250|300x533|728x90|dynamic)/);jQuery("#"+ow).change(function(){if(this.checked){jQuery("#"+i2).attr("disabled",true);if(searchboxsize!=null&&(searchboxsize[1]=="160x600"||searchboxsize[1]=="300x533"||searchboxsize[1]=="dynamic")){makeMerchantsRequest(jQuery("#"+i2).get(0))}}});jQuery("#"+rt).change(function(){if(this.checked){jQuery("#"+i2).attr("disabled",false);if(searchboxsize!=null&&(searchboxsize[1]=="160x600"||searchboxsize[1]=="300x533"||searchboxsize[1]=="dynamic")){makeMerchantsRequest(jQuery("#"+i2).get(0))}}})}}}function tgsb_setSearchboxDetails(selectedTab,roundTripOneWay,fromDepart,toArrival,departDate,returnDate){if(typeof(selectedTab)=="undefined"||typeof(roundTripOneWay)=="undefined"||typeof(fromDepart)=="undefined"||typeof(toArrival)=="undefined"||typeof(departDate)=="undefined"||typeof(returnDate)=="undefined"){return false}var cont=jQuery("#content").find("div.tg_searchbox");if(!cont.find("ul.tg_tabs li span.sel").hasClass(selectedTab)){return false}var searchform=cont.find("form.sel");var submitButton=searchform.find("input.tgsb_submit_button");var departLocationInput=searchform.find("input.asFrom");var arrivalLocationInput=searchform.find("input.asTo");var departDateInput=searchform.find("input.depDate");var returnDateInput=searchform.find("input.depDate");if(typeof(departLocationInput)=="object"&&departLocationInput.length>0){departLocationInput.val(fromDepart)}if(typeof(arrivalLocationInput)=="object"&&arrivalLocationInput.length>0){arrivalLocationInput.val(toArrival)}if(typeof(departDateInput)=="object"&&departDateInput.length>0){departDateInput.val(departDate)}if(typeof(returnDateInput)=="object"&&returnDateInput.length>0){returnDateInput.val(returnDate)}if(selectedTab=="flights"){var rtowInputs=false;var rtowInputs=currentForm.hasClass("flights")?jQuery(this).find("input[name=oneway]"):false;if(typeof(rtowInputs)=="object"&&rtowInputs.length>0){var rt=rtowInputs.get(0).id;var ow=rtowInputs.get(1).id;if(!roundTripOneWay){jQuery("#"+ow).click()}}}makeMerchantsRequest(submitButton.get(0));return false}function tgsb_initSingleSearchbox(tgsb){tgsb=jQuery(tgsb).filter(":not(.tg_searchbox_initialized)");tgsb.addClass("tg_searchbox_initialized");if(tgsb.length==0){return false}tgsb.find(".tgsb_addAS").each(function(){jQuery(this).focus(inputFocus).blur(inputBlur);new AS(this.id,ASoptions)});tgsb.find(".tgsb_addASH").each(function(){jQuery(this).focus(inputFocus).blur(inputBlur);new AS(this.id,hotelASoptions)});tgsb.find("ul.tg_tabs li span").click(function(){selectedTab=jQuery(this).attr("class").match(/^[a-z]+/);var cont=jQuery(this).parents("div.tg_searchbox:eq(0)");cont.find("ul.tg_tabs li span").removeClass("sel");cont.find("ul.tg_tabs li span."+selectedTab).addClass("sel");cont.find("div.tg_container form").removeClass("sel");cont.find("div.tg_container form."+selectedTab).addClass("sel");var selectedForm=cont.find("div.tg_container form.sel");var submitButton=selectedForm.find("input.tgsb_submit_button");makeImpressionTrackingRequest(selectedTab,selectedForm,function(){var searchboxsize=selectedForm.parents(".tg_searchbox").attr("class").match(/m(160x600|300x250|300x533|728x90|dynamic)/);if(searchboxsize[1]=="160x600"||searchboxsize[1]=="300x533"||searchboxsize[1]=="dynamic"){makeMerchantsRequest(submitButton.get(0),false,false)}})});tgsb.find("form").each(function(){var currentForm=jQuery(this);var searchboxsize=currentForm.parents(".tg_searchbox").attr("class").match(/m(160x600|300x250|300x533|728x90|dynamic)/);var submitButton=currentForm.find("input.tgsb_submit_button");if(currentForm.hasClass("sel")){selectedTab=currentForm.attr("class").match(/^[a-z]+/);makeImpressionTrackingRequest(selectedTab,currentForm,function(){var searchboxsize=currentForm.parents(".tg_searchbox").attr("class").match(/m(160x600|300x250|300x533|728x90|dynamic)/);if(searchboxsize[1]=="160x600"||searchboxsize[1]=="300x533"||searchboxsize[1]=="dynamic"){makeMerchantsRequest(submitButton.get(0),false,false)}})}var airClass=currentForm.find("select[name=class]");if(airClass.length){airClass.change(function(){makeMerchantsRequest(this)})}var inputs=currentForm.find(".tgsb_addDP");var i1=inputs.get(0).id;var i2=inputs.get(1).id;var rtowInputs=false;var rtowInputs=currentForm.hasClass("flights")?currentForm.find("input[name=oneway], select[name=oneway]"):false;createDatepicker(i1,i2,rtowInputs);currentForm.submit(function(){if(submitButton.hasClass("submited")){return false}submitButton.addClass("submited");makeMerchantsRequest(submitButton.get(0),true,true);return false})})}jQuery(function(){ajaxLoaders={"160x600":'<img src="'+TG_Searchboxes_Variables.str_ajaxLoaderCircle+'" width="100" height="100" alt="loading..." />',"300x250":'<img src="'+TG_Searchboxes_Variables.str_ajaxLoaderCircle+'" width="100" height="100" alt="loading..." />',"300x533":'<img src="'+TG_Searchboxes_Variables.str_ajaxLoaderCircle+'" width="100" height="100" alt="loading..." />',"728x90":'<img src="'+TG_Searchboxes_Variables.str_ajaxLoaderBert+'" width="128" height="15" alt="loading..." />',dynamic:'<img src="'+TG_Searchboxes_Variables.str_ajaxLoaderBert+'" width="128" height="15" alt="loading..." />'};ASoptions={delay:175,timeout:5000,script:TG_Searchboxes_Variables.str_ASAjaxURL,loadingClass:"tgsb_as_load",className:"tgsb_as tgsb_asMargin",json:true,frameForIE:true,ajaxParams:{action:"",json:true,lng:"def",dsgn:"flg",addtag:"em",citytype:"airports",domainPrefix:true},autoSelect:true,offsety:0,format:function(selLiObj){return selLiObj.innerHTML.replace(/<\/?[a-z]+>/gi,"").replace(/(.*),(.*)\((.*)\)/,"$1 ($3)")},callback:function(selLiObj,asObj){var searchboxsize=jQuery(asObj.fld).parents(".tg_searchbox").attr("class").match(/(300x250|728x90)/);if(searchboxsize==null){makeMerchantsRequest(asObj.fld)}},errorHandler:function(asObj){jQuery(asObj.fld).addClass("err").focus(remErr)}};hotelASoptions={delay:175,timeout:5000,script:TG_Searchboxes_Variables.str_ASAjaxURL,loadingClass:"tgsb_as_load",className:"tgsb_as tgsb_asMargin",json:true,frameForIE:true,ajaxParams:{action:"",json:true,lng:"def",dsgn:"flg",addtag:"em",citytype:"cities",domainPrefix:true},autoSelect:true,offsety:0,format:function(selLiObj){return selLiObj.innerHTML.replace(/<\/?[^>]+>/gi,"").replace(/(.*),(.*) \((.*)\)/,"$1,$2")},callback:function(selLiObj,asObj){var inp=jQuery(asObj.fld);inp.parents("div.tg_searchbox").find(".tgsb_addDest").val(selLiObj.id);var searchboxsize=inp.parents(".tg_searchbox").attr("class").match(/(300x250|728x90)/);if(searchboxsize==null){makeMerchantsRequest(asObj.fld)}}};tgsb_initSingleSearchbox(".tg_searchbox");if(typeof(TGSB_placeholders)!="undefined"&&TGSB_placeholders.length>0){for(var i=0;i<TGSB_placeholders.length;i++){replacePlaceholder(TGSB_placeholders[i].placeholder,TGSB_placeholders[i].html)}}})})(tgsb_myjquery);
     1(function(u){var v=0;var w;var x;var y;var z={};var A;var B=false;function TGSearchboxes(){this.queryCodes={flights:0,hotels:0,cars:0,packages:0};this.set=function(a,b){this.queryCodes[a]=b;return true};this.replacePlaceholder=replacePlaceholder};TGSB=new TGSearchboxes();function remErr(){u(this).removeClass("err").unbind('focus',remErr)};function inputFocus(a){if(this.value==this.defaultValue)this.value='';else this.select()};function inputBlur(a){if(this.value=='')this.value=this.defaultValue};function replacePlaceholder(c,d){u(function(){var a=u(d);var b=u('span#'+c);if(b.length==0)return false;b.replaceWith(a);tgsb_initSingleSearchbox(a)})};function validateSearchbox(a,b,c){b=(typeof(b)=='undefined'||!b)?false:true;c=(typeof(c)=='undefined'||!c)?false:true;errMsg='';errClass='';var d=/^.*\s\(...\)$/i;var e=/[0-9]{2}\/[0-9]{2}\/[0-9]{4}/;var f=u(a).parents('form');if(!f.hasClass('hotels')){departure=f.find('input.asFrom')};var g=f.find('input.asTo');var h=f.find('input.depDate');var i=f.find('input.retDate');var j=new Date();var k=h.datepicker('getDate');var l=i.datepicker('getDate');if(f.hasClass('flights')){rtowInputs=f.find('input[name=oneway]');var m=false;if(typeof(rtowInputs.get(0))!='undefined'&&typeof(rtowInputs.get(1))!='undefined'){rt=rtowInputs.get(0).id;ow=rtowInputs.get(1).id;m=u('#'+ow).attr('checked')}};if(!f.hasClass('hotels')){if(!d.test(departure.val())){errMsg+="\t- a departure location\n";errClass+='#'+departure.get(0).id+','}};if(f.hasClass('hotels')){if(g.val().length<3){errMsg+="\t- an arrival location\n";errClass+='#'+g.get(0).id+','}}else{if(!d.test(g.val())){errMsg+="\t- an arrival location\n";errClass+='#'+g.get(0).id+','}};if(!e.test(h.val())||(k>0&&k<j)){errMsg+="\t- a valid departure date\n";errClass+='#'+h.get(0).id+','};if(f.hasClass('flights')){if(!m&&!e.test(i.val())){errMsg+="\t- a valid returning date\n";errClass+='#'+i.get(0).id+','};if(!m&&k>0&&l>0&&k>l){errMsg+="\t- a greater returning date than the departure date\n";errClass+='#'+i.get(0).id+','}}else{if(!e.test(i.val())){errMsg+="\t- a valid returning date\n";errClass+='#'+i.get(0).id+','};if(k>0&&l>0&&k>l){errMsg+="\t- a greater returning date than the departure date\n";errClass+='#'+i.get(0).id+','}};if(errClass.match(/\,$/)){errClass=errClass.substr(0,(errClass.length-1))};if(c){u(errClass).addClass("err").focus(remErr)};if(b){var n=f.find('div.mrcList span.mSel');if(n.length<1){if(errMsg.length==0){alert('Please select at least two providers to compare their prices.');return false}else{errMsg+="Please select at least two providers to compare their prices.\n"}}};return errMsg.length?"Please enter:\n"+errMsg:false};function makeClassicSearchRequest(a){var b=validateSearchbox(a,true,true);if(b.length){alert(b);return false};ppups(a);u(a).removeClass('submited');return true};function ppups(b){var c=(typeof(b)!='undefined')?u(b).parents('form').serializeArray():'';var d=createQueryString(b,c);if(!d)return false;var e=u(b).parents('form');var f=1;var g='';if(e.hasClass('flights')){g='http://www.travelgrove.com/cgi-bin/link_counter_new.cgi?channel=3';f=TGSB.queryCodes['flights']};if(e.hasClass('hotels')){g='http://www.travelgrove.com/cgi-bin/hotels/link_counter_new.cgi?channel=6';f=TGSB.queryCodes['hotels']};if(e.hasClass('packages')){g='http://www.travelgrove.com/cgi-bin/vacation/link_counter_new.cgi?channel=7';f=TGSB.queryCodes['packages']};if(e.hasClass('cars')){g='http://www.travelgrove.com/cgi-bin/cars/link_counter_new.cgi?channel=4';f=TGSB.queryCodes['cars']};if(g.length==0)return false;var h=g.indexOf('?')>=0?'&':'?';g+=h+d+'&lang=def'+'&dateFormat=mm/dd/yyyy'+'&trafficSource=wpplugin'+'&searchsystem=us'+'&querycode='+f;var i=0;var j=e.find(".mrcList .mSel");j.each(function(){var t=u(this);var a=B?t.attr('title')+'_'+t.attr('rel'):'';A.open(g+'&merchant='+t.attr('title')+'&intitem='+t.attr('rel'),a,i,j.length);i++});return true};function jump(a){var b="left="+(v+=20)+",top="+v+",width="+(screen.width*0.8)+",height="+(screen.height*0.8)+",resizable = yes,scrollbars=yes, toolbar=yes, location=yes";var c=window.open(a,"_blank",b);if(!c)return false;return c};function makeMerchantsRequest(g,h,i){h=(typeof(h)=='undefined'||!h)?false:true;i=(typeof(i)=='undefined'||!i)?false:true;var j=0;var k=u(g).parents('.tg_searchbox').attr('class').match(/m(160x600|300x250|300x533|728x90|dynamic)/);var l=u(g).parents('.tg_searchbox').get(0).id;if(k==null||(k[1]!='160x600'&&k[1]!='300x250'&&k[1]!='300x533'&&k[1]!='728x90'&&k[1]!='dynamic'))return false;var m=u(g).parents('form');var n=m.find('input.tgsb_submit_button');if((errMsg=validateSearchbox(g,false,i))){if(h)alert(errMsg);u(n).removeClass('submited');return false};var o=(typeof(g)!='undefined')?u(g).parents('form').serializeArray():'';var p=createQueryString(g,o);if(!p)return false;var q=m.attr('class').match(/(flights|hotels|packages|cars)/);if(q==null)return false;var r=m.find('div.mrcList');if(typeof(z[l])=='undefined'){z[l]={}};if(typeof(z[l][q])=='undefined'||z[l][q]!=p){if(k[1]!='dynamic')m.find('div.formContent').addClass('nod');m.find('div.help').addClass('nod');r.html(w[k[1]]);r.addClass('alCnt').removeClass('nod');var s=7;if(k[1]=='728x90')s=6;if(k[1]=='300x250')s=8;if(k[1]=='300x533'||k[1]=='dynamic')s=12;if(q[1]=='hotels'&&k[1]=='160x600')s=10;z[l][q]=p;if(m.hasClass('flights')){j=TGSB.queryCodes['flights']};if(m.hasClass('hotels')){j=TGSB.queryCodes['hotels']};if(m.hasClass('packages')){j=TGSB.queryCodes['packages']};if(m.hasClass('cars')){j=TGSB.queryCodes['cars']};u.ajax({url:TG_Searchboxes_Variables.str_merchantsAjaxURL,type:'post',data:p+'&impId='+j+'&merchants='+q[1]+'&sbsize='+k[1]+'&limit='+s,dataType:'text',success:function(d){jsonObj=eval('('+d+')');r.removeClass('alCnt');r.html(jsonObj.merchants+((k[1]=='300x250'||k[1]=='728x90')?'<a href="#" class="tgBackToSearchbox">change this search</a>':''));var e=m.find('img.trackingPixel');if(!e.length){r.after('<img class="trackingPixel" src="'+jsonObj.trackingPixel+'" width="1" height="1" />')};if(e.length){e.get(0).src=jsonObj.trackingPixel};var f=m.find('div.mrcList').find('span');n.addClass('tgsb_submit_button_cmp');n.val('compare prices');n.unbind('click').click(function(){makeClassicSearchRequest(this);return false});if(k[1]=='300x250'||k[1]=='728x90'||k[1]=='dynamic'){m.find('div.mrcList a.tgBackToSearchbox').click(function(){r.addClass('nod');m.find('div.formContent').removeClass('nod');n.removeClass('tgsb_submit_button_cmp');n.val('search');n.unbind('click').click(function(){makeMerchantsRequest(this);return false});return false})};f.click(function(){var t=u(this);t.toggleClass('mSel');if(B){var a=t.attr('title')+'_'+t.attr('rel');if(!t.hasClass('mSel')){A.close(a)}else{var b=$.extend({},A.opts);A.setOptions({'popUnder':true,'style':'fix'});var c=A.open('about:blank',a,0,1,1);A.opts=b}}});u(n).removeClass('submited')}});return true};if(typeof(z[l][q])!='undefined'||z[l][q]==p){if(k[1]!='dynamic')m.find('div.formContent').addClass('nod');n.addClass('tgsb_submit_button_cmp');n.val('compare prices');r.removeClass('nod');n.unbind('click').click(function(){makeClassicSearchRequest(this);return false})}};function createQueryString(c,d){if(typeof(d)=='undefined'||d.length==0)return false;var e='';u.each(d,function(i,a){if(TG_Searchboxes_Variables.str_dateFormat!='mm/dd/yy'&&(a.name=='dep_date'||a.name=='arr_date'||a.name=='start_date'||a.name=='end_date')){var b=u(c).parents('form');tgsb_date=b.find('input[name='+a.name+']:eq(0)').datepicker('getDate');e+=a.name+'='+setDateByDateFormat(tgsb_date)+((i<(e.length-1))?'&':'')};e+=(e.match(a.name+'=')&&(a.name=='dep_date'||a.name=='arr_date'||a.name=='start_date'||a.name=='end_date'))?'':a.name+'='+a.value+((i<(d.length-1))?'&':'')});return e};function makeImpressionTrackingRequest(a,b,c){if(typeof(a)=='undefined')return false;if(typeof(c)!='function')c=function(){};if(TGSB.queryCodes[a]==0){var d=createImpressionTrackingQueryString(b);if(d.length==0)return false;d+='&searchbox='+a;u.getScript('http://www.travelgrove.com/js/affiliates/wpPluginImpTrack.php?'+d,c)};return true};function createImpressionTrackingQueryString(a){if(typeof(a)=='undefined')return'';var b=(typeof(a.find('.asFrom').val())!='undefined')?'from='+a.find('.asFrom').val()+'&':'';var c=(typeof(a.find('.asTo').val())!='undefined')?'to='+a.find('.asTo').val()+'&':'';var d='';var e='';if((typeof(a.find('.depDate').val())!='undefined')){if(TG_Searchboxes_Variables.str_dateFormat!='mm/dd/yy'){d=a.find('.depDate').val();newtgsbDepDate=d.split('/');d=newtgsbDepDate[1]+'/'+newtgsbDepDate[0]+'/'+newtgsbDepDate[2]};d='dep_date='+d+'&'};if((typeof(a.find('.retDate').val())!='undefined')){if(TG_Searchboxes_Variables.str_dateFormat!='mm/dd/yy'){e=a.find('.retDate').val();newtgsbRetDate=e.split('/');e=newtgsbRetDate[1]+'/'+newtgsbRetDate[0]+'/'+newtgsbRetDate[2]};e='ret_date='+e+'&'};var f=(typeof(a.find('input[name=idReferral]').val())!='undefined')?'idReferral='+a.find('input[name=idReferral]').val():999;var g=(typeof(a.find('input[name=subID]').val())!='undefined')?'subID='+a.find('input[name=subID]').val():106;return b+c+d+e+f+'&'+g+'&trafficSource=wpplugin'};function setDateByDateFormat(a){tgsb_day=(a.getDate()<10)?'0'+a.getDate():a.getDate();tgsb_month=a.getMonth();tgsb_month+=1;tgsb_month=(tgsb_month<10)?'0'+tgsb_month:tgsb_month;tgsb_year=a.getFullYear();return tgsb_month+'/'+tgsb_day+'/'+tgsb_year};function createDatepicker(d,e,f){u('#'+d+', #'+e).each(function(){var c=u(this);c.datepicker({minDate:0,maxDate:"2y",showOn:"both",buttonImage:TG_Searchboxes_Variables.str_CalendarURL,buttonImageOnly:true,dateFormat:TG_Searchboxes_Variables.str_dateFormat,onSelect:function(a,b){d1=u(this).datepicker("getDate");if(this.id==d){d2=u.datepicker.parseDate(TG_Searchboxes_Variables.str_dateFormat,u('#'+e).val());u("#"+e).datepicker('option','minDate',d1);if(d2&&d1>d2){d2.setTime(d1.getTime()+60*60*24*5*1000);u("#"+e).val(u.datepicker.formatDate(TG_Searchboxes_Variables.str_dateFormat,d2))}}}})});if(typeof(f)=='object'&&f.length>0){if(f.length==1){var g=f.get(0).id;u('#'+g).change(function(){u('#'+e).attr('disabled',((this.value.length)?true:false))})};if(f.length==2){var h=f.get(0).id;var i=f.get(1).id;var j=u('#'+e).parents('.tg_searchbox').attr('class').match(/m(160x600|300x250|300x533|728x90|dynamic)/);u('#'+i).change(function(){if(this.checked){u('#'+e).attr('disabled',true);if(j!=null&&(j[1]=='160x600'||j[1]=='300x533'||j[1]=='dynamic'))makeMerchantsRequest(u('#'+e).get(0))}});u('#'+h).change(function(){if(this.checked){u('#'+e).attr('disabled',false);if(j!=null&&(j[1]=='160x600'||j[1]=='300x533'||j[1]=='dynamic'))makeMerchantsRequest(u('#'+e).get(0))}})}}};function tgsb_setSearchboxDetails(a,b,c,d,e,f){if(typeof(a)=='undefined'||typeof(b)=='undefined'||typeof(c)=='undefined'||typeof(d)=='undefined'||typeof(e)=='undefined'||typeof(f)=='undefined')return false;var g=u('#content').find('div.tg_searchbox');if(!g.find('ul.tg_tabs li span.sel').hasClass(a))return false;var h=g.find('form.sel');var i=h.find('input.tgsb_submit_button');var j=h.find('input.asFrom');var k=h.find('input.asTo');var l=h.find('input.depDate');var m=h.find('input.depDate');if(typeof(j)=='object'&&j.length>0){j.val(c)};if(typeof(k)=='object'&&k.length>0){k.val(d)};if(typeof(l)=='object'&&l.length>0){l.val(e)};if(typeof(m)=='object'&&m.length>0){m.val(f)};if(a=='flights'){var n=false;var n=currentForm.hasClass('flights')?u(this).find('input[name=oneway]'):false;if(typeof(n)=='object'&&n.length>0){var o=n.get(0).id;var p=n.get(1).id;if(!b){u('#'+p).click()}}};makeMerchantsRequest(i.get(0));return false};function tgsb_initSingleSearchbox(j){j=u(j).filter(':not(.tg_searchbox_initialized)');j.addClass('tg_searchbox_initialized');if(j.length==0)return false;j.find(".tgsb_addAS").each(function(){u(this).focus(inputFocus).blur(inputBlur);new AS(this.id,x)});j.find(".tgsb_addASH").each(function(){u(this).focus(inputFocus).blur(inputBlur);new AS(this.id,y)});j.find('ul.tg_tabs li span').click(function(){selectedTab=u(this).attr('class').match(/^[a-z]+/);var b=u(this).parents("div.tg_searchbox:eq(0)");b.find('ul.tg_tabs li span').removeClass('sel');b.find('ul.tg_tabs li span.'+selectedTab).addClass('sel');b.find('div.tg_container form').removeClass('sel');b.find('div.tg_container form.'+selectedTab).addClass('sel');var c=b.find('div.tg_container form.sel');var d=c.find('input.tgsb_submit_button');makeImpressionTrackingRequest(selectedTab,c,function(){var a=c.parents('.tg_searchbox').attr('class').match(/m(160x600|300x250|300x533|728x90|dynamic)/);if(a[1]=='160x600'||a[1]=='300x533'||a[1]=='dynamic')makeMerchantsRequest(d.get(0),false,false)})});j.find('form').each(function(){var b=u(this);var c=b.parents('.tg_searchbox').attr('class').match(/m(160x600|300x250|300x533|728x90|dynamic)/);var d=b.find('input.tgsb_submit_button');if(b.hasClass('sel')){selectedTab=b.attr('class').match(/^[a-z]+/);makeImpressionTrackingRequest(selectedTab,b,function(){var a=b.parents('.tg_searchbox').attr('class').match(/m(160x600|300x250|300x533|728x90|dynamic)/);if(a[1]=='160x600'||a[1]=='300x533'||a[1]=='dynamic')makeMerchantsRequest(d.get(0),false,false)})};var e=b.find('select[name=class]');if(e.length){e.change(function(){makeMerchantsRequest(this)})};var f=b.find(".tgsb_addDP");var g=f.get(0).id;var h=f.get(1).id;var i=false;var i=b.hasClass('flights')?b.find('input[name=oneway], select[name=oneway]'):false;createDatepicker(g,h,i);A.wrapButton(d.get(0));b.submit(function(){if(d.hasClass('submited'))return false;d.addClass('submited');makeMerchantsRequest(d.get(0),true,true);return false})})}u(function(){w={'160x600':'<img src="'+TG_Searchboxes_Variables.str_ajaxLoaderCircle+'" width="100" height="100" alt="loading..." />','300x250':'<img src="'+TG_Searchboxes_Variables.str_ajaxLoaderCircle+'" width="100" height="100" alt="loading..." />','300x533':'<img src="'+TG_Searchboxes_Variables.str_ajaxLoaderCircle+'" width="100" height="100" alt="loading..." />','728x90':'<img src="'+TG_Searchboxes_Variables.str_ajaxLoaderBert+'" width="128" height="15" alt="loading..." />','dynamic':'<img src="'+TG_Searchboxes_Variables.str_ajaxLoaderBert+'" width="128" height="15" alt="loading..." />'};x={delay:175,timeout:5000,script:TG_Searchboxes_Variables.str_ASAjaxURL,loadingClass:'tgsb_as_load',className:'tgsb_as tgsb_asMargin',json:true,frameForIE:true,ajaxParams:{action:'',json:true,lng:'def',dsgn:'flg',addtag:'em',citytype:'airports',domainPrefix:true},autoSelect:true,offsety:0,format:function(a){return a.innerHTML.replace(/<\/?[a-z]+[^>]*>/gi,'').replace(/(.*),(.*)\((.*)\)/,'$1 ($3)')},callback:function(a,b){var c=u(b.fld).parents('.tg_searchbox').attr('class').match(/(300x250|728x90)/);if(c==null)makeMerchantsRequest(b.fld)},errorHandler:function(a){u(a.fld).addClass("err").focus(remErr)}};y={delay:175,timeout:5000,script:TG_Searchboxes_Variables.str_ASAjaxURL,loadingClass:'tgsb_as_load',className:'tgsb_as tgsb_asMargin',json:true,frameForIE:true,ajaxParams:{action:'',json:true,lng:'def',dsgn:'flg',addtag:'em',citytype:'cities',domainPrefix:true},autoSelect:true,offsety:0,format:function(a){return a.innerHTML.replace(/<\/?[^>]+>/gi,'').replace(/(.*),(.*) \((.*)\)/,'$1,$2')},callback:function(a,b){var c=u(b.fld);c.parents('div.tg_searchbox').find(".tgsb_addDest").val(a.id);var d=c.parents('.tg_searchbox').attr('class').match(/(300x250|728x90)/);if(d==null)makeMerchantsRequest(b.fld)}};A=new TGSB_WindowOpener({chromePPBmode:window.chrome?true:false,maxScreenWidth:screen.width,maxScreenHeight:screen.height,winWidth:parseInt(screen.width*0.8),blankPageHtml:'<div style="margin:10px auto;width:100%;text-align:center;">'+'<img src="'+TG_Searchboxes_Variables.plugin_url+'/images/please-wait.jpg">'+'</div>',position:{left:0,top:0,width:500,height:180}});tgsb_initSingleSearchbox('.tg_searchbox');if(typeof(TGSB_placeholders)!='undefined'&&TGSB_placeholders.length>0){for(var i=0;i<TGSB_placeholders.length;i++)replacePlaceholder(TGSB_placeholders[i].placeholder,TGSB_placeholders[i].html)}})})(tgsb_myjquery);
  • travel-search/trunk/readme.txt

    r712983 r723445  
    55Requires at least: 3.1
    66Tested up to: 3.5.1
    7 Stable tag: 1.2.4
     7Stable tag: 1.2.5
    88
    99Search and Compare major travel websites for cheapest flights, hotels, car rentals and vacation packages in this one-step travel search engine.
  • travel-search/trunk/travel-search.php

    r712986 r723445  
    44Plugin URI: http://labs.travelgrove.com/plugins/travel-search/
    55Description: Travel Search Plugin by Travelgrove allows you to add Flights, Hotels, Vacations and Car Rentals searchboxes to any of your page and posts.
    6 Version: 1.2.4
     6Version: 1.2.5
    77Author: Travelgrove Labs
    88Author URI: http://www.travelgrove.com/
Note: See TracChangeset for help on using the changeset viewer.