Special night in store for Canadiens blue line prospect Victor Mete

', container = $('#drop-panel-container'), contents = $(container).html(); if (isIE8) { $(container).replaceWith(f+contents+b) } } function dropPanelSetUp(data) { /* buttons should be a dataobject of strings representing IDs the hide and show functions are expecting IDs so passing a class will result in a failure. click as the action is assumed for now the data object should look like this: { masterlistener:(string[dom id]), panel:(string[dom id]), eventgroup1:{ button:(string[dom id]), content:(string[dom id]), offset:{x:(int),y:(int)}, on_state_class: ''(string) }, eventgroup2:{ button:(string[dom id]), content:(string[dom id]), offset:{x:(int),y:(int)}, on_state_class: ''(string) } ... etc } The drop panel nodes should be placed so they share the same offset parent as the buttons that activate it. NOTE: IE8 Got-chya: the ID for the panel is hard coded into the IE8 rouned corners code. If you have changed the ID for the drop panel and are having trouble with IE8 change the ID in the template string in this function: ie8DropPanel() */ var speed = 300, panel = $('#'+data.panel), buttons = []; for (var i=1,eg; eg=data[('eventgroup'+i)]; i++) { var bp = $('#'+eg.button).position(), //button position ph = $('#'+eg.button).height(), //button height panelPos = [bp.top+ph, bp.left, eg.offset]; on_state_class = eg.on_state_class; buttons.push([$('#'+eg.button),$('#'+eg.content),panelPos,eg.button,on_state_class]); } $('#'+data.masterlistener).bind('click',{speed:speed,panel:panel,buttons:buttons},function(event){ var org = event.target, speed = event.data.speed, panel = event.data.panel, buttons = event.data.buttons, panel_open = isPanelOpen(panel); for (var i=buttons.length-1, b; b=buttons[i]; i--) { /* * b[0] = button DOM object * b[1] = content DOM object * b[2] = the display co-ord object: * [0] = top (int) * [1] = left (int) * [2] = offset object * {x,y}(int,int) * b[3] = button ID (string) * b[4] = button 'on' class */ var button_id = b[3], same_content = isSameContent(panel,b[1]); if ( $(org).attr('id') === button_id || $(org).parents('#'+button_id).attr('id')){ if(!same_content) { hideAllContent(buttons); movePanel(panel,b[2]); if (panel_open) { showContent(b[1],b[0],b[4]); } else { showContent(b[1],b[0],b[4]); showPanel(panel,speed); } } else { hidePanel(panel,speed,b[4]); } } } function isPanelOpen(panel) { return ($(panel).css('display').toLowerCase() === 'block'); } function isSameContent (panel,content) { return ($(content, panel).css('display').toLowerCase() === 'block'); } function movePanel(panel,b) { // b[0] top, b[1] left, b[2] {x,y} $(panel).css({ 'top': (b[0] + b[2].x) }); $(panel).css({ 'left': (b[1] + b[2].y) }); } function showPanel(panel,speed) { $(panel).slideDown(speed); } function hidePanel(panel,speed) { $(panel).slideUp(speed, function() {hideAllContent(buttons);}); } function showContent(content, button, btn_class) { $(content).show(); $(button).addClass(btn_class); } function hideContent(content) { $(content).hide(); } function hideAllContent(buttons) { for (var i = buttons.length-1, b; b=buttons[i]; i--) { $(b[1]).hide(); $(b[0]).removeClass(b[4]); } } }) } return { ieRoundedCorners:ieRoundedCorners, ie8DropPanel:ie8DropPanel, dropPanelSetUp:dropPanelSetUp } })(); var headerNavication = (function($,cw) { var nav_item_list = $('.cw-header .main-nav ul.main > li'), channel_id_list = '', channel, sub_channel; var findChannel = function () { var winloc = isIE ? document.URL.split('/') : document.documentURI.split('/') , channel_id = winloc[3], sub_chanel_id = winloc.length > 5 ? '/'+winloc[4]+'/' : '', reg_sub_find_id = new RegExp(sub_chanel_id,'ig'), reg_removed_id = /^nav-/i; for (var i=nav_item_list.length-1,n; n=nav_item_list[i]; i--) { if ( channel_id === $(n).children('a').attr('id').replace(reg_removed_id,'') ) { var list = $(n).children('ul').children('li'); if (sub_chanel_id.length > 0) { for (var j=list.length-1,l; l=list[j]; j--) { if (reg_sub_find_id.test($(l).children('a').attr('href'))) { break; } else { l = false; } } } break; } } findChannel = function () { return [n,l]; } return [n,l]; } var init = (function() { channel = findChannel()[0] || nav_item_list[0]; sub_channel = findChannel()[1]; if (sub_channel) { highlightSubChannel(); } clearNav(); if(isIE) { cw.ieRoundedCorners(); if(isIE8) { cw.ie8DropPanel(); } } if ($('#handle-header').attr('id')) { cw.dropPanelSetUp({ masterlistener: 'handle-header', panel: ('drop-panel-container'), eventgroup1: { button: 'btn-newspapers', content: 'panel-newspapers', offset: { x: 5, y: 0 }, on_state_class: 'newspapers-dropdown-on' }, eventgroup2: { button: 'btn-networks', content: 'panel-networks', offset: { x: 5, y: 0 }, on_state_class: 'networks-dropdown-on' } }); } //need to check state of search radio buttons since firefox doesn't reset to the default checked radio button if($('.cw-header #radio-btn-yp:checked').attr('id') != null){ $('.cw-header #header-search-form').attr('action','http://canadacom.yellowpages.ca/search/'); $('.cw-header #header-search-string').attr('name','what'); $('.cw-header #radio-btn-yp').siblings('label').removeClass('selected'); $('.cw-header #radio-btn-yp').next().addClass('selected'); } eventSetUp(); }()) function highlightSubChannel() { $(sub_channel).addClass('sub-nav-highlight'); } function clearNav() { clearTabs(); $(channel).children('ul').show(); $(channel).css('background-position', 'bottom right'); } function eventSetUp() { $('.cw-header .main-nav ').bind('mouseleave', function(event){ if (isIE) { if ($(event.relatedTarget).parents('.main-nav').length 0)?"" + value.substring(0,pos) + "" + value.substring(pos, term.length) + "" + value.substring(pos + term.length) + "":value.substring(0, term.length) + "" + value.substring(pos + term.length) + ""; }, scroll: false, selectFirst: false }); });

Source : http://www.canada.com/sports/hockey/special+night+store+canadiens+blue+line+prospect+victor+mete/14752510/story.html

Related Posts