1//Common functions ------------------------------- 2 3jQuery(document).ready(function () { 4 jQuery('.tt_search_filter_button').click(function () { 5 var wid = jQuery(this).attr('data-widget-id'); 6 var wguid = jQuery(this).attr('data-widget-guid'); 7 8 var parentDiv = jQuery('#vTTWidgetFilters' + wid); 9 var from = parentDiv.find('.tt_filter_start').val(); 10 var to = parentDiv.find('.tt_filter_end').val(); 11 var ctitle = parentDiv.find('.tt_filter_course').val(); 12 var state = parentDiv.find('.tt_filter_state').val(); 13 var venue = parentDiv.find('.tt_filter_venue').val(); 14 15 16 send_getFilteredTimetable(from, to, ctitle, state, wid, wguid, venue) 17 }); 18}); 19 20 21function urldecode(str) { 22 try { 23 str = str.replace(/%E2%80%A2/gi, '-'); 24 str = str.replace(/%E2%9E%A2/gi, '-'); 25 str = decodeURIComponent((str + '').replace(/\+/g, '%20')); 26 return str; 27 } catch (e) { 28 var res = manual_decode(str); 29 return '' + res + ''; 30 } 31} 32 33function loading_ajax(url, result_div, text_only) { 34 if (parseInt(text_only) == 1) { 35 try { 36 document.getElementById('' + result_div + '').style.display = 'block'; 37 document.getElementById('' + result_div + '').innerHTML = "loading..."; 38 } catch (err) { 39 } 40 } else { 41 try { 42 document.getElementById('' + result_div + '').style.display = 'block'; 43 document.getElementById('' + result_div + '').innerHTML = "<div class=\"cssload-jumping\"><span></span><span></span><span></span><span></span><span></span></div>"; 44 } catch (err) { 45 } 46 } 47} 48 49//TT widget -------------------------------- 50function send_getFilteredTimetable(from, to, ctitle, state, wid, wguid, venue, reshowform) { 51 52 var posturl = vasto_ajax_object.ajax_url; 53 54 var postdata = 'from=' + encodeURIComponent(from) + '&to=' + encodeURIComponent(to) + '&ctitle=' + encodeURIComponent(ctitle) + '&state=' + encodeURIComponent(state) + '&venue=' + encodeURIComponent(venue) + '&wid=' + encodeURIComponent(wid) + '&wguid=' + encodeURIComponent(wguid) + '&reshowform=' + reshowform + ''; 55 jQuery('#vTTWidgetFilters' + wid + '').hide(); 56 jQuery('#vTtSearching' + wid + '').show(); 57 loading_ajax('', 'vTtSearching', 0); 58 59 jQuery.ajax({ 60 type: "post", 61 url: "" + posturl + "?" + postdata + "", 62 data: {'action': 'get_filtered_timetable'}, 63 success: function (result) { 64 response_getFilteredTimetable(result, wid); 65 } 66 }); 67 68 69} 70 71function response_getFilteredTimetable(resp, wid) { 72 //var resp = getResponseJquery(rxml) 73 //console.log(resp); 74 var resArr = JSON.parse(resp); 75 76 if (resArr.success) { 77 jQuery('#vTtSearching' + wid + '').hide(); 78 jQuery('#vTTWidgetResults' + wid + '').html(resArr.timetable_details); 79 jQuery('#vTTWidgetResults' + wid + '').show(); 80 } else { 81 jQuery('#vTtSearching' + wid + '').hide(); 82 jQuery('#vTTWidgetFilters' + wid + '').show(); 83 } 84} 85 86function getResponseJquery(rxml) { 87 var VerCode = ""; 88 var NumBlocks = 1; 89 90 jQuery(rxml).find('NumBlocks').each(function () { 91 NumBlocks = jQuery(this).text(); 92 }); 93 94 var startblock = 1 95 while (startblock <= (NumBlocks * 1)) { 96 jQuery(rxml).find('Data' + startblock + '').each(function () { 97 VerCode = '' + VerCode + '' + jQuery(this).text() + ''; 98 }); 99 startblock = startblock + 1; 100 } 101 102 VerCode = urldecode(VerCode); 103 return VerCode; 104}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.