Changeset 723445
- Timestamp:
- 06/06/2013 10:05:35 AM (13 years ago)
- Location:
- travel-search
- Files:
-
- 133 added
- 6 edited
-
tags/1.2.5 (added)
-
tags/1.2.5/admin (added)
-
tags/1.2.5/admin/admin-editor-buttons-script.dev.js (added)
-
tags/1.2.5/admin/admin-editor-buttons-script.min.js (added)
-
tags/1.2.5/admin/admin-tinymce-buttons-script.dev.js (added)
-
tags/1.2.5/admin/admin-tinymce-buttons-script.min.js (added)
-
tags/1.2.5/admin/img (added)
-
tags/1.2.5/admin/img/delete.png (added)
-
tags/1.2.5/admin/img/edit.png (added)
-
tags/1.2.5/admin/img/gallery.png (added)
-
tags/1.2.5/admin/img/t.gif (added)
-
tags/1.2.5/ajax (added)
-
tags/1.2.5/ajax/autosuggestion.php (added)
-
tags/1.2.5/ajax/functions.php (added)
-
tags/1.2.5/ajax/merchants.php (added)
-
tags/1.2.5/classes (added)
-
tags/1.2.5/classes/searchboxesSettingsFormRenderer.class.php (added)
-
tags/1.2.5/classes/tgSearchboxesRenderer.class.php (added)
-
tags/1.2.5/classes/tgsbWidget.class.php (added)
-
tags/1.2.5/controllers (added)
-
tags/1.2.5/controllers/controller-admin.php (added)
-
tags/1.2.5/controllers/controller-base.php (added)
-
tags/1.2.5/controllers/controller-frontend.php (added)
-
tags/1.2.5/controllers/index.php (added)
-
tags/1.2.5/css (added)
-
tags/1.2.5/css/index.php (added)
-
tags/1.2.5/css/tg_searchboxes.dev.css (added)
-
tags/1.2.5/css/tg_searchboxes.min.css (added)
-
tags/1.2.5/css/tg_searchboxes_color.css (added)
-
tags/1.2.5/css/tg_searchboxes_settings.dev.css (added)
-
tags/1.2.5/css/tg_searchboxes_settings.min.css (added)
-
tags/1.2.5/css/ui-lightness (added)
-
tags/1.2.5/css/ui-lightness/datepicker.css (added)
-
tags/1.2.5/css/ui-lightness/datepicker.min.css (added)
-
tags/1.2.5/css/ui-lightness/images (added)
-
tags/1.2.5/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png (added)
-
tags/1.2.5/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png (added)
-
tags/1.2.5/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png (added)
-
tags/1.2.5/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png (added)
-
tags/1.2.5/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png (added)
-
tags/1.2.5/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png (added)
-
tags/1.2.5/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png (added)
-
tags/1.2.5/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png (added)
-
tags/1.2.5/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png (added)
-
tags/1.2.5/css/ui-lightness/images/ui-icons_222222_256x240.png (added)
-
tags/1.2.5/css/ui-lightness/images/ui-icons_228ef1_256x240.png (added)
-
tags/1.2.5/css/ui-lightness/images/ui-icons_ef8c08_256x240.png (added)
-
tags/1.2.5/css/ui-lightness/images/ui-icons_ffd27a_256x240.png (added)
-
tags/1.2.5/css/ui-lightness/images/ui-icons_ffffff_256x240.png (added)
-
tags/1.2.5/images (added)
-
tags/1.2.5/images/colorwheel.png (added)
-
tags/1.2.5/images/index.php (added)
-
tags/1.2.5/images/please-wait.jpg (added)
-
tags/1.2.5/images/tg-palm-tree20x20.gif (added)
-
tags/1.2.5/images/tg.gif (added)
-
tags/1.2.5/images/tg20x20.gif (added)
-
tags/1.2.5/images/tg_searchboxes (added)
-
tags/1.2.5/images/tg_searchboxes/ajax-loader-bar.gif (added)
-
tags/1.2.5/images/tg_searchboxes/ajax-loader-bert.gif (added)
-
tags/1.2.5/images/tg_searchboxes/ajax-loader-circle.gif (added)
-
tags/1.2.5/images/tg_searchboxes/ajax-loader.gif (added)
-
tags/1.2.5/images/tg_searchboxes/buttonbkg.png (added)
-
tags/1.2.5/images/tg_searchboxes/calendar.png (added)
-
tags/1.2.5/images/tg_searchboxes/calendarnew.png (added)
-
tags/1.2.5/images/tg_searchboxes/calendarnew1.png (added)
-
tags/1.2.5/images/tg_searchboxes/checkboxes.png (added)
-
tags/1.2.5/images/tg_searchboxes/compare-160x600.png (added)
-
tags/1.2.5/images/tg_searchboxes/compare-brands.gif (added)
-
tags/1.2.5/images/tg_searchboxes/search_button.png (added)
-
tags/1.2.5/images/tg_searchboxes/search_button1.png (added)
-
tags/1.2.5/images/tg_searchboxes/tab-shade.png (added)
-
tags/1.2.5/images/tg_searchboxes/vertical-shade.png (added)
-
tags/1.2.5/images/tgsb160x600.png (added)
-
tags/1.2.5/images/tgsb300x250.png (added)
-
tags/1.2.5/images/tgsb300x533.png (added)
-
tags/1.2.5/images/tgsb728x90.png (added)
-
tags/1.2.5/images/tgsbdynamic.png (added)
-
tags/1.2.5/index.php (added)
-
tags/1.2.5/js (added)
-
tags/1.2.5/js/autosuggestion.dev.js (added)
-
tags/1.2.5/js/autosuggestion.min.js (added)
-
tags/1.2.5/js/index.php (added)
-
tags/1.2.5/js/jquery-ui-datepicker.min.js (added)
-
tags/1.2.5/js/jquery-ui.min.js (added)
-
tags/1.2.5/js/popupHandler.class.dev.js (added)
-
tags/1.2.5/js/popupHandler.class.min.js (added)
-
tags/1.2.5/js/searchbox.js.php (added)
-
tags/1.2.5/js/tg_searchboxes.dev.js (added)
-
tags/1.2.5/js/tg_searchboxes.min.js (added)
-
tags/1.2.5/js/tg_searchboxes_ajax.dev.js (added)
-
tags/1.2.5/js/tg_searchboxes_ajax.min.js (added)
-
tags/1.2.5/js/tg_searchboxes_settings.dev.js (added)
-
tags/1.2.5/js/tg_searchboxes_settings.min.js (added)
-
tags/1.2.5/js/tg_searchboxes_shortcodes.dev.js (added)
-
tags/1.2.5/js/tg_searchboxes_shortcodes.min.js (added)
-
tags/1.2.5/license.txt (added)
-
tags/1.2.5/readme.txt (added)
-
tags/1.2.5/screenshot-1.png (added)
-
tags/1.2.5/screenshot-3.png (added)
-
tags/1.2.5/screenshot-4.png (added)
-
tags/1.2.5/screenshot-5.png (added)
-
tags/1.2.5/screenshot-6.png (added)
-
tags/1.2.5/screenshot-7.png (added)
-
tags/1.2.5/searchbox-2.png (added)
-
tags/1.2.5/travel-search.php (added)
-
tags/1.2.5/uninstall.php (added)
-
tags/1.2.5/views (added)
-
tags/1.2.5/views/admin (added)
-
tags/1.2.5/views/admin/demo (added)
-
tags/1.2.5/views/admin/demo/content.php (added)
-
tags/1.2.5/views/admin/demo/index.php (added)
-
tags/1.2.5/views/admin/header.php (added)
-
tags/1.2.5/views/admin/index.php (added)
-
tags/1.2.5/views/admin/main.php (added)
-
tags/1.2.5/views/admin/settings (added)
-
tags/1.2.5/views/admin/settings/content.php (added)
-
tags/1.2.5/views/admin/settings/index.php (added)
-
tags/1.2.5/views/admin/tg_searchboxes (added)
-
tags/1.2.5/views/admin/tg_searchboxes/160x600 (added)
-
tags/1.2.5/views/admin/tg_searchboxes/160x600/content.php (added)
-
tags/1.2.5/views/admin/tg_searchboxes/300x250 (added)
-
tags/1.2.5/views/admin/tg_searchboxes/300x250/content.php (added)
-
tags/1.2.5/views/admin/tg_searchboxes/300x533 (added)
-
tags/1.2.5/views/admin/tg_searchboxes/300x533/content.php (added)
-
tags/1.2.5/views/admin/tg_searchboxes/728x90 (added)
-
tags/1.2.5/views/admin/tg_searchboxes/728x90/content.php (added)
-
tags/1.2.5/views/admin/tg_searchboxes/content.php (added)
-
tags/1.2.5/views/admin/tg_searchboxes/dynamic (added)
-
tags/1.2.5/views/admin/tg_searchboxes/dynamic/content.php (added)
-
tags/1.2.5/views/index.php (added)
-
trunk/controllers/controller-frontend.php (modified) (2 diffs)
-
trunk/css/tg_searchboxes.dev.css (modified) (1 diff)
-
trunk/images/please-wait.jpg (added)
-
trunk/js/popupHandler.class.dev.js (added)
-
trunk/js/popupHandler.class.min.js (added)
-
trunk/js/tg_searchboxes.dev.js (modified) (6 diffs)
-
trunk/js/tg_searchboxes.min.js (modified) (1 diff)
-
trunk/readme.txt (modified) (1 diff)
-
trunk/travel-search.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
travel-search/trunk/controllers/controller-frontend.php
r712981 r723445 156 156 /** jQuery DatePicker; dependent on jQuery and jQuery UI */ 157 157 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 163 170 /** dynamic functionalities of the searchboxes; main JS file */ 164 171 wp_enqueue_script('tgsb_main_script', 165 172 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'), 167 174 // version number 168 175 '20130423', 169 176 // adding it to footer to make sure it will appear AFTER inline variables are set 170 177 (empty($this->options['noconflict']) ? true : false)); 178 171 179 /** context-dependent variables needed for dynamic functionality, in the main JS */ 172 180 wp_localize_script( … … 175 183 // js object name that will contain the variables 176 184 '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__), 178 187 'str_ASAjaxURL' => plugins_url('/ajax/autosuggestion.php', TG_SEARCHBOXES__FILE__), 179 188 /* converting PHP-format date to JS-format */ -
travel-search/trunk/css/tg_searchboxes.dev.css
r712981 r723445 21 21 .tg_searchbox .tg_container form img.trackingPixel{position:absolute;cursor:default} 22 22 .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;} 24 24 .tg_searchbox .tg_container form span.s select{margin:0} 25 25 .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 6 6 // 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 7 7 var tgsb_searchboxesParams = {}; 8 9 // object used to open the popup windows 10 var 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; 17 var onClickPopupHandling = false; 8 18 9 19 … … 263 273 '&searchsystem=us' + 264 274 '&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') : ''; 268 281 // 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++; 270 285 }); 271 286 … … 447 462 }; 448 463 // 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 } 454 479 }); 455 480 // removing the submited class from the submit button … … 822 847 createDatepicker(i1,i2,rtowInputs); 823 848 /* submitting the forms */ 849 windowOpenerObj.wrapButton(submitButton.get(0)); 824 850 currentForm.submit(function() { 825 851 if(submitButton.hasClass('submited')) … … 863 889 offsety:0, 864 890 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)'); 866 892 }, 867 893 callback:function(selLiObj, asObj) { … … 913 939 }; 914 940 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 915 952 /* 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) */ 916 953 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 5 5 Requires at least: 3.1 6 6 Tested up to: 3.5.1 7 Stable tag: 1.2. 47 Stable tag: 1.2.5 8 8 9 9 Search 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 4 4 Plugin URI: http://labs.travelgrove.com/plugins/travel-search/ 5 5 Description: 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. 46 Version: 1.2.5 7 7 Author: Travelgrove Labs 8 8 Author URI: http://www.travelgrove.com/
Note: See TracChangeset
for help on using the changeset viewer.