1/** 2 * Javascript: Eventon Daily View 3 * @version 2.1.11 4 * @license EventON JavaScript Assets 5 * Copyright (C) 2014-2025 Ashan Jay, AshanJay Designs LLC. 6 * 7 * PROPRIETARY LICENSE - All Rights Reserved 8 * 9 * Permission granted solely for personal use with valid EventON license. 10 * YOU MAY NOT: redistribute, resell, sublicense, or publish these Assets. 11 * 12 * Trademark: "EventON" is a trademark of AshanJay Designs LLC. 13 * Contact: [email protected] 14 * 15 * PROVIDED "AS IS" WITHOUT WARRANTY. VIOLATION MAY RESULT IN LEGAL ACTION. 16 */ 17 18jQuery(document).ready(function($){ 19 20 var current_date; 21 var current_day; 22 var current_events; 23 var SC; 24 25 // INIT AJAX - success 26 $('body').on('evo_init_ajax_success_each_cal', function(event, data, calid, v){ 27 CAL = $('body').find('#'+ calid); 28 29 if(!CAL.hasClass('evoDV')) return; 30 31 draw_grid( CAL, v ); 32 set_daily_strip_sizes( CAL ); 33 }); 34 35 $('body').on('evo_init_ajax_success',function(event, data){ 36 $('body').find('.ajde_evcal_calendar.noiajx.evoDV').each(function(){ 37 draw_grid( $(this) ); 38 set_daily_strip_sizes( $(this) ); 39 }); 40 }); 41 // AJAX 42 // COMPLETE 43 $('body').on('evo_main_ajax_complete', function(event, CAL, ajaxtype, data , data_arg){ 44 var SC = data_arg.shortcode; 45 if( SC.calendar_type == 'daily'){ 46 47 // reset dv scroll type value 48 CAL.evo_update_cal_sc({ F:'dv_scroll_type', V:''}); 49 50 D = {}; 51 D['json'] = data.json; 52 D['sc'] = SC; 53 54 var this_section_days = CAL.find('.eventon_daily_list'); 55 this_section_days.slideDown('slow'); 56 57 draw_grid( CAL, D, 'replace'); 58 59 set_daily_strip_sizes( CAL ); 60 } 61 }); 62 63 // DRAW u2.1.3 64 function draw_grid(CAL, data, type){ 65 66 var BUS = $('#evo_global_data').data('d'); 67 var eJSON = data? data.json: CAL.find('.evo_cal_events').data('events'); 68 var SC = CAL.evo_shortcode_data(); 69 var days_list = {}; 70 const cal_tz = CAL.evo_get_global({S1:'cal_def',S2:'cal_tz'}); 71 72 days_in_month = CAL.evo_day_in_month({M: SC.fixed_month, Y: SC.fixed_year}); 73 fixed_day_name_index = CAL.evo_get_day_name_index({M: SC.fixed_month, Y: SC.fixed_year, D: SC.fixed_day}); 74 75 // time now 76 var cal_now = moment().tz( cal_tz ).startOf('day'); 77 78 // fixed day unix 79 var _fx_su =''; 80 var _fx_eu =''; 81 82 // with day strip 83 if( SC.dv_view_style != 'oneday'){ 84 85 // Set initial date - date values 86 var SU = parseInt( SC.focus_start_date_range); var EU = ''; 87 var M = moment.unix( SU ).tz( cal_tz ).startOf('day'); 88 89 //console.log( SU ); 90 //console.log( M.day() +' '+ M.date() +' '+ M.format('dddd') ); 91 92 // each day of month 93 for(var x=1; x<= days_in_month; x++){ 94 95 days_list[x] = {}; 96 days_list[x]['dn'] = M.day(); 97 days_list[x]['su'] = M.unix(); 98 99 days_list[x]['e'] = {}; 100 101 // class additions 102 var _class_adds = ''; 103 104 // focused day 105 if( SC.fixed_day == x){ 106 _class_adds += 'on_focus'; 107 _fx_su = M.unix(); 108 } 109 if( cal_now.format('YYYY M D') == M.format('YYYY M D') ) 110 _class_adds += ' today'; 111 112 113 days_list[x]['evo_dv_day_classes'] = _class_adds; 114 115 M.add(1,'d').startOf('day'); 116 117 days_list[x]['eu'] = M.unix() - 1; 118 119 if( SC.fixed_day == x) _fx_eu = M.unix(); 120 } 121 122 }else{ 123 days_list[SC.fixed_day] = {}; 124 days_list[SC.fixed_day]['e'] = eJSON; 125 } 126 127 var template_data = {}; 128 129 template_data['fixed_day_name'] = BUS.dms.d[ fixed_day_name_index ]; 130 template_data['fixed_day'] = parseInt(SC.fixed_day); 131 template_data['cal_def'] = BUS.cal_def; 132 template_data['days'] = days_list; 133 template_data['calid'] = CAL.attr('id'); 134 template_data['width'] = days_in_month *(80)+130; 135 template_data['marginLeft'] = SC.fixed_day *(-60)+130; 136 template_data['dv_view_style'] = SC.dv_view_style; 137 template_data['su'] = SU; 138 template_data['eu'] = parseInt( SC.focus_end_date_range); 139 template_data['fxsu'] = _fx_su; 140 template_data['fxeu'] = _fx_eu; 141 142 143 var fixed_day_start_unix = (SC.dv_view_style == 'oneday') ? 144 parseInt(SC.focus_start_date_range): 145 parseInt(SC.focus_start_date_range) + ( (parseInt(SC.fixed_day) - 1) * 86400 ); 146 147 CAL.find('.evo_bottom').attr('data-fixed_unix', fixed_day_start_unix).data('fixed_unix', fixed_day_start_unix); 148 149 var list_html = cd_html = ''; 150 151 //console.log( template_data); 152 153 // day box html 154 if( SC.dv_view_style == 'def'|| SC.dv_view_style =='onedayplus') 155 cd_html = CAL.evo_HB_process_template({TD: template_data,part: 'evodv_cd'}); 156 157 // month strip html 158 if( SC.dv_view_style != 'oneday' && SC.dv_view_style != 'onedayplus') 159 list_html = CAL.evo_HB_process_template({TD: template_data , part:'evodv_list'}); 160 161 if(type == 'replace'){
162 CAL.find('.evodv_current_day').replaceWith( cd_html ); 163 if( SC.dv_view_style != 'oneday') CAL.find('.eventon_daily_list').replaceWith( list_html ); 164 }else{ 165 ELM = CAL.find('#eventon_loadbar_section'); 166 if( SC.dv_view_style != 'oneday') ELM.after( list_html ); 167 ELM.after( cd_html ); 168 } 169 170 // appearance animation 171 if(type != 'replace'){ 172 CAL.find('.evodv_current_day').fadeIn(); 173 CAL.find('.eventon_daily_list').delay(300).fadeIn(function(){ 174 set_daily_strip_sizes( CAL ); 175 }); 176 }else{ 177 CAL.find('.evodv_current_day').show(); 178 CAL.find('.eventon_daily_list').show(); 179 } 180 181 // POPULATE with events 182 populate_with_events(CAL); 183 184 _scroll_interaction(CAL); 185 186 // show correct events in event list 187 load_correct_events(CAL); 188 189 // swiping interaction 190 touch_swiping_interaction( CAL ); 191 192 // remove pre laoder section 193 CAL.find('.evodv_pre_loader').remove(); 194 CAL.find('.evodv_pre_loader_days').remove(); 195 } 196 197 // populate the day boxes with events information - + 2.0 198 function populate_with_events(CAL){ 199 var cal_events = CAL.find('.eventon_list_event'); 200 SC = CAL.evo_shortcode_data(); 201 var _txt_events = CAL.evo_get_txt({V:'events'}); 202 203 CAL.find('.evo_dv_day').each(function(){ 204 var SU = parseInt($(this).data('su')); 205 var EU = parseInt($(this).data('eu')); 206 207 var EC = 0; 208 var html = ''; 209 cal_events.each(function(index, elm){ 210 ED = $(elm).evo_cal_get_basic_eventdata(); 211 if( !ED) return; 212 213 var inrange = CAL.evo_is_in_range({ 214 'S': SU, 'E': EU, 'start': ED.unix_start, 'end':ED.unix_end 215 }); 216 217 if(!inrange) return; 218 219 EC++; 220 html += "<em class='evodv_spot' data-title='"+ ED.event_title +"' data-eid='"+ ED.ID+"' style='background-color:"+ ED.hex_color+"'></em>"; 221 222 }); 223 224 // if more than 3 events in the date 225 if( EC >3){
226 html = "<em class='evodv_spot more' data-title='"+EC+" "+_txt_events+"'></em>"; 227 } 228 229 if( html != ''){ 230 $(this).find('.evoday_events').html( html ); 231 } 232 233 }); 234 } 235 236 237 // show correct events for the day -- when triggered 2.1.5 238 function load_correct_events(CAL, load_events_count){ 239 240 const SC = CAL.evo_shortcode_data(); 241 const OD = CAL.evo_get_OD(); 242 time_format = CAL.evo_get_global({S1:'cal_def',S2:'wp_time_format'}); 243 const cal_tz = CAL.evo_get_global({S1:'cal_def',S2:'cal_tz'}); 244 245 246 // get start and end unix for current focus day 247 fixed_day = SC.fixed_day; 248 fixed_month = SC.fixed_month; 249 fixed_year = SC.fixed_year; 250 251 _m1 = moment().set({'year': fixed_year, 'month': (fixed_month-1), 'date':fixed_day }).tz( cal_tz); 252 _m1.startOf('day'); 253 254 SU = _m1.unix(); 255 _m1.endOf('day'); 256 EU = _m1.unix(); 257 258 259 // run thru each event in calendar month 260 show = 0; 261 CAL.find('.eventon_list_event').each(function(){ 262 const O = $(this); var _time = __su = ''; 263 264 // fetch event data from event HTML 265 var ED = O.evo_cal_get_basic_eventdata(); 266 if(!ED) return; 267 268 ESU = ED.unix_start; EEU = ED.unix_end; 269 270 O.removeClass('dayevent'); O.hide(); 271 272 273 var inrange = CAL.evo_is_in_range({ 274 'S': SU, 'E': EU, 'start': ESU ,'end': EEU 275 }); 276 277 // if event is not in range --> skip 278 if(!inrange) return; 279 280 O.addClass('dayevent'); 281 282 283 if( SC.show_limit == 'yes' && show == SC.event_count) return; 284 285 // update event times 286 // all day 287 if( ( ESU <= SU || EEU <= SU +1) && EU <= EEU ){ 288 _time = CAL.evo_get_txt({V:'all_day'}); 289 }else{ 290 m = moment.unix( ESU ).tz( cal_tz ); 291 me = moment.unix( EEU ).tz( cal_tz ); 292 293 var ss = ''; var ee = ''; 294 295 // if event start smaller than SU 296 if( ESU < SU){ 297 month_name = CAL.evo_get_dms_vals({type:'m3',V: m.month()+1 }); 298 ss = '('+ month_name +' ' + m.get('date') +') ' + m.format( time_format ); 299 }else{ 300 ss = m.format( time_format ); 301 } 302 303 // if show end time 304 if( ED.hide_et == 'n' ){ 305 if( EEU > EU){ 306 month_name = CAL.evo_get_dms_vals({type:'m3',V: me.month()+1 }); 307 ee = ' - ('+ month_name + ' '+ me.get('date') +') ' + me.format( time_format); 308 }else{ 309 ee = ' - ' + me.format( time_format); 310 } 311 } 312 313 _time = ss + ee; 314 } 315 316 O.show(); show++; 317 318 O.find('.evo_start').closest('.evoet_cx').hide(); 319 O.find('.evo_end').hide(); 320 321 // hide default event time 322 O.find('.evoet_time_expand').hide(); 323 324 if( O.find('.evodv_time').length > 0 ){ 325 O.find('.evodv_time').html( _time ); 326 }else{ 327 const _html = "<span class='evodv_time'><i class='fa fa-clock-o evomarr5'></i> "+ _time +"</span>"; 328 O.find('.evoet_time_expand').before( _html ); 329 } 330 331 332 O._evo_cal_eventcard_interactions( O , true); 333 334 }); 335 336 // hide empty div for tiles with details below 337 if( SC.tile_bg == '1' && SC.tile_style == '1'){ 338 CAL.find('.ev_ftImg').closest('.evoet_cx').hide(); 339 } 340 341 CAL.evo_run_eventcard_map_load(); 342 343 344 // Showing the events 345 if(show == 0){ 346 eList = CAL.find('#evcal_list'); 347 348 if(eList.has('.no_events.eventon_list_event').length){ 349 eList.find('.no_events.eventon_list_event').show(); 350 }else{ 351 eList.append("<div class='eventon_list_event no_events'><p class='no_events' >"+ OD.lang_no_events +"</p></div>"); 352 } 353 354 }else{ 355 CAL.find('.eventon_list_event.no_events').remove(); 356 } 357 358 // Update current day no events 359 var numevents = show; 360 if(numevents!=='' && numevents!==false && numevents !== undefined ){ 361 BUS = $('#evo_global_data').data('d'); 362 ITM = CAL.find('.evodv_current_day .evodv_events'); 363 (numevents>1 || numevents == 0)? 364 ITM.html('<span>'+numevents+'</span>'+ BUS.txt.events) : 365 ITM.html('<span>'+numevents+'</span>'+ BUS.txt.event); 366 ITM.show(); 367 } 368 369 // show all events 370 CAL.find('#evcal_list').removeClass('evo_hide'); 371 } 372 373 // change the dates within month 374 function changin_dates_within_month(CAL, type, ajax){ 375 SC = CAL.evo_shortcode_data(); 376 BUS = $('#evo_global_data').data('d'); 377 378 // focus adjust for current day strip 379 CAL.find('.evodv_current_fixed_day').html( SC.fixed_day ); 380 DD = new Date( SC.fixed_year, SC.fixed_month-1, SC.fixed_day); 381 CAL.find('.evodv_dayname').html( BUS.dms.d[ DD.getDay() ] ); 382 383 // focus adjust for strip 384 STRIP = CAL.find('.eventon_daily_in'); 385 STRIP.find('.evo_day').removeClass('on_focus'); 386 STRIP.find('.evo_day[data-date="'+ SC.fixed_day +'"]').addClass('on_focus'); 387 388 if(ajax){ 389 $('body').trigger('evo_run_cal_ajax', [CAL.attr('id'), 'none', 'dv_newday']); 390 }else{ 391 load_correct_events(CAL); 392 } 393 } 394 395 // ALL Calendar actions 396 $('body') 397 // calendar view switching v2.1.8 398 .on('evo_vSW_clicked_before_ajax',function(event, O, CAL, DD, reload_cal_data){ 399 if(!(O.hasClass('evodv'))) return; 400 var SC = CAL.evo_shortcode_data(); 401 402 CAL.evo_update_cal_sc({F:'calendar_type', V: 'daily'}); 403 CAL.evo_update_cal_sc({F:'fixed_day', V: SC.fixed_day }); 404 CAL.evo_update_cal_sc({F:'dv_view_style', V: 'def'}); 405 406 }) 407 .on('evo_vSW_clicked',function(event, OBJ, CAL, DD){ 408 if(!(OBJ.hasClass('evodv'))) return; 409 410 draw_grid( CAL); 411 412 }) 413 // day stripe interaction 414 .on('click', '.evodv_action',function(event){ 415 if( $(this).hasClass('scroll') ){ 416 eventon_daily_in = $(this).siblings('.eventon_daily_in'); 417 if($(this).hasClass('prev')){ 418 swiping('swiperight', eventon_daily_in); 419 }else{// next 420 swiping('swipeleft', eventon_daily_in); 421 } 422 // switch months 423 }else{ 424 classN = ($(this).hasClass('next'))? 'evcal_btn_next':'evcal_btn_prev'; 425 calendar = $(this).closest('.ajde_evcal_calendar'); 426 427 calendar.find('.'+classN).trigger('click'); 428 } 429 }) 430 // use current day arrows to switch days 431 .on('click', '.evodv_daynum_switch', function(){ 432 433 OBJ = $(this); 434 var dir = OBJ.attr('data-dir'); 435 CAL = OBJ.closest('.ajde_evcal_calendar'); 436 SC = CAL.evo_shortcode_data(); 437 438 var runajax = SC.dv_view_style == 'def'? false:true; 439 440 var daysinmonth = CAL.evo_day_in_month({Y: SC.fixed_year, M: SC.fixed_month}); 441 442 // remove disable class 443 OBJ.parent().find('span').removeClass('disable'); 444 445 if(dir == 'next'){ 446 if(SC.fixed_day == daysinmonth){ 447 CAL.evo_update_cal_sc({ F:'dv_scroll_type', V:'arrow' }); 448 CAL.find('.evcal_btn_next').trigger('click'); 449 }else{ 450 451 m_date = SC.fixed_year+'-'+ SC.fixed_month +'-'+SC.fixed_day; 452 DD = moment( m_date, 'YYYY-M-D'); 453 DD.add( 1 ,'days'); 454 455 CAL.evo_update_cal_sc({F:'fixed_day', V:DD.date() }); 456 changin_dates_within_month(CAL, 'days', runajax); 457 } 458 }else{ // previous 459 if(SC.fixed_day == 1){ 460 CAL.evo_update_cal_sc({ F:'dv_scroll_type', V:'arrow' }); 461 CAL.find('.evcal_btn_prev').trigger('click'); 462 }else{ 463 464 m_date = SC.fixed_year+'-'+ SC.fixed_month +'-'+SC.fixed_day; 465 DD = moment( m_date, 'YYYY-M-D'); 466 DD.subtract( 1 ,'days'); 467 468 CAL.evo_update_cal_sc({F:'fixed_day', V:DD.date() }); 469 changin_dates_within_month(CAL, 'days', runajax); 470 } 471 } 472 473 }) 474 // click on a day from strip 475 .on( 'click','.evo_day',function(){ 476 var new_day = $(this).find('.evo_day_num').html(); 477 var CAL = $(this).closest('.ajde_evcal_calendar'); 478 479 var daysinmonth = CAL.find('.eventon_daily_in .evo_day').length; 480 var thisday = parseInt($(this).find('.evo_day_num').html()); 481 var arrows = CAL.find('.evodv_daynum'); 482 arrows.find('span').removeClass('disable'); // remove disable class 483 484 // add disable class to side arrows 485 if(thisday==1 ) arrows.find('.prev').addClass('disable'); 486 if(thisday==daysinmonth) arrows.find('.next').addClass('disable'); 487
488 // Update CAL SC with new date 489 CAL.evo_update_cal_sc({F:'fixed_day', V:new_day }); 490 491 changin_dates_within_month(CAL, 'strip', false); 492 }) 493 // tooltip 494 .on('mouseover','.evodv_spot',function(){ 495 OBJ = $(this); 496 497 PAR = OBJ.closest('.eventon_daily_list'); 498 499 p = OBJ.offset(); 500 t = PAR.offset(); 501 w = PAR.width(); 502 xleft = p.left - t.left; 503 xtop = p.top - t.top; 504 505 TITLE = OBJ.data('title'); 506 507 // adjust side of the tooltip 508 if((w/2) > xleft){ 509 HTML = "<em class='evodv_tooltip' style='top:"+(xtop-40)+"px;left:"+(xleft+5)+"px;'>"+TITLE+"</em>"; 510 }else{ 511 xright = w - xleft; 512 HTML = "<em class='evodv_tooltip left' style='top:"+(xtop-40)+"px;right:"+(xright-5)+"px;'>"+TITLE+"</em>"; 513 } 514 515 PAR.append(HTML); 516 517 }) 518 .on('mouseout','.evodv_spot',function(){ 519 OBJ = $(this); 520 OBJ.closest('.eventon_daily_list').find('.evodv_tooltip').remove(); 521 522 }) 523 ; 524 525 526 // touch function 527 function touch_swiping_interaction(CAL){ 528 var slide_area = CAL.find('.eventon_daily_in'); 529 slide_area.on('swipeleft', function(event){ 530 if( !$(event.currentTarget).hasClass('eventon_daily_in')) return; 531 event.stopImmediatePropagation(); 532 event.preventDefault(); 533 534 console.log('eed'); 535 536 swiping('swipeleft', $(this)); 537 }); 538 slide_area.on('swiperight', function(event){ 539 swiping('swiperight', $(this)); 540 event.preventDefault(); 541 }); 542 } 543 544 545 function swiping(direction, OBJ){ 546 var leftNow = parseInt(OBJ.css('marginLeft')); 547 var Pwid = OBJ.parent().width(); 548 var width = parseInt(OBJ.css('width') ); 549 one_day_width = parseInt(OBJ.find('.evo_day:gt(20)').outerWidth()); 550 maxMLEFT = (width-Pwid)*(-1); 551 552 STRIP = OBJ.closest('.eventon_dv_outter'); 553 STRIP_Width = STRIP.width(); 554 ARROW_Width = STRIP.find('span.prev').width() + STRIP.find('span.next').width(); 555 556 swipeMove = (one_day_width*5); 557 558 if( (swipeMove + ARROW_Width) > STRIP_Width ){ 559 swipeMove = (one_day_width*2); 560 } 561 562 if(direction =='swipeleft'){ 563 var newLEFT = ( leftNow - swipeMove ); 564 // /console.log(newLEFT); 565 566 if( newLEFT*(-1) < (width) ){ 567 newLEFT = ( newLEFT <maxMLEFT)? maxMLEFT: newLEFT; 568 OBJ.stop().animate({'margin-left': newLEFT },function(){ 569 scroll_o_switch( OBJ.parent() ); 570 }); 571 } 572 }else{ 573 var newLEFT = ( leftNow + swipeMove ); 574 // /console.log(newLEFT); 575 576 newLEFT = ( newLEFT >0 )? 0: newLEFT; 577 OBJ.stop().animate({'margin-left': newLEFT },function(){ 578 scroll_o_switch( OBJ.parent() ); 579 }); 580 } 581 } 582 // adjust margin left when window resized 583 $(window).on('resize', function(){ 584 $('.eventon_daily_list').each(function(){ 585 adjust_days_width( $(this)); 586 }); 587 }); 588 589 // daily list sliders 590 function set_daily_strip_sizes(cal){ 591 if(cal === undefined) return; 592 593 var holder = cal.find('.eventon_daily_list'); 594 adjust_days_width(holder); 595 scroll_o_switch(holder); 596 } 597 598 function adjust_days_width(holder){ 599 CAL = holder.closest('.ajde_evcal_calendar'); 600 SC = CAL.evo_shortcode_data(); 601 602 if(SC === undefined) return; 603 604 var day_holder = holder.find('.eventon_daily_in'); 605 var days = day_holder.children('.evo_day'); 606 var day_width = parseInt(day_holder.find('.evo_day:gt(20)').outerWidth()); 607 OUTTERWidth = parseInt(day_holder.parent().width()); 608 609 wALLDAYS = (parseInt(days.length)+2 )* (day_width); 610 611 612 FOCUSday = parseInt( SC.fixed_day ); 613 LEFTwidth = (FOCUSday-1) * day_width; 614 RIGHTwidth = wALLDAYS - LEFTwidth; 615 616 LEFTmargin = ( RIGHTwidth > OUTTERWidth ) ? LEFTwidth: wALLDAYS-OUTTERWidth; 617 LEFTmargin = -1* LEFTmargin; 618 619 day_holder.css({'width':wALLDAYS, 'margin-left':LEFTmargin}); 620 621 // /console.log(OUTTERWidth+' '+wALLDAYS+' '+LEFTmargin+' '+LEFTwidth+' '+RIGHTwidth); 622 623 //console.log(LEFTmargin); 624 } 625 626 // scroll or switch months 627 function scroll_o_switch(list){ 628 holder = list.find('.eventon_daily_in'); 629 current_marginleft = parseInt(holder.css('marginLeft'));
630 max_marginleft = parseInt(holder.parent().width()) - parseInt(holder.width()); 631 632 633 // set default 634 holder.siblings('.next').attr({'class':'evodv_action next scroll'}); 635 holder.siblings('.prev').attr({'class':'evodv_action prev scroll'}); 636 637 638 if( current_marginleft <= max_marginleft){ 639 holder.siblings('.next').removeClass('scroll').addClass('switch'); 640 holder.siblings('.prev').removeClass('switch').addClass('scroll'); 641 } 642 643 if(current_marginleft >= 0){ 644 holder.siblings('.next').removeClass('switch').addClass('scroll'); 645 holder.siblings('.prev').removeClass('scroll').addClass('switch'); 646 } 647 648 649 } 650 651 // DEP 652 function _scroll_interaction(CAL){ 653 CAL.find('.eventon_daily_in').mousewheel(function(e, delta) { 654 //$(this).scrollLeft -= (delta * 40); 655 OBJ = $(this); 656 657 var cur_mleft = parseInt(OBJ.css('marginLeft')), 658 width = parseInt(OBJ.css('width') ), 659 Pwid = OBJ.parent().width(); 660 maxMLEFT = (width-Pwid)*(-1); 661 662 663 if( cur_mleft<=0){ 664 665 var new_marl = (cur_mleft+ (delta * 500)); 666 if(new_marl>0){ new_marl=0;} 667 668 // moving to left 669 if(delta <0 && ( (new_marl*(-1))< (width -200)) ){ 670 new_marl = ( new_marl < maxMLEFT)? maxMLEFT: new_marl; 671 OBJ.stop().animate({'margin-left': new_marl },function(){ 672 scroll_o_switch( OBJ.parent().parent() ); 673 }); 674 675 }else if(delta >0){ 676 OBJ.stop().animate({'margin-left': new_marl },function(){ 677 scroll_o_switch( OBJ.parent().parent() ); 678 }); 679 } 680 } 681 e.preventDefault(); 682 }); 683 } 684});
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.