/*** Added by Phil Medcraft ***/
function changeCol(question,col) {
var DHTML = (document.getElementById || document.all || document.layers);
if (!DHTML) return;
var x = new getObj(question);
x.style.backgroundColor = col;
x.style.fontWeight = "bold";
var explanationNode = "explain-" + question;
var y = new getObj(explanationNode);
y.style.display = "block";
}
function getObj(name) {
if (document.getElementById) {
this.obj = document.getElementById(name);
this.style = document.getElementById(name).style;
} else if (document.all) {
this.obj = document.all[name];
this.style = document.all[name].style;
} else if (document.layers) {
this.obj = document.layers[name];
this.style = document.layers[name].style;
}
}
function externalLinkPopup(externalLinkMsg) {
alert(externalLinkMsg);
}
function getRemindPasswordLink(basePath) {
var emailVal = document['sign-in']['tbLoginEmail'].value;
if (emailVal.length != 0) {
window.location = basePath + "?fp=true&em=" + emailVal;
} else {
window.location = basePath + "?fp=true";
}
}
/*** End of Phil's changes ***/
jQuery(function($) {
var Page = {
_htmlclass: "js",
_selectedclass: "selected",
_activeclass: "active",
_inactiveclass: "inactive",
_wrapperselector: "#wrapper",
init: function() {
$('#wrapper').addClass(Page._htmlclass);
Page.initForms();
Page.initTopNews();
Page.initProductFinder();
},
initForms: function() {
Page.initSearch();
Page.initNewsEventsSearch();
Page.initEnterTrap();
//Page.initSelects();
},
initSelects: function() {
var options = {
style	: 'dropdown'
}
$('select').selectmenu(options);
},
initSearch: function() {
var obj = $(".site-search");
var input = obj.find("input[type=text]");
var label = obj.find("label");
_defaultsearchstring = label.html();
if (_defaultsearchstring) {
_defaultsearchstring = _defaultsearchstring.replace('&amp;', '&');
Page.initInput(input, _defaultsearchstring);
}
},
initNewsEventsSearch: function() {
var obj = $("#news-and-events-search");
var input = obj.find("input[type=text]");
var label = obj.find("label");
_defaultsearchstring = label.html();
if (_defaultsearchstring) {
Page.initInput(input, _defaultsearchstring);
}
},
initInput: function(obj, str) {
$(obj).attr("value", str)
.addClass(Page._inactiveclass)
.focus(function() {
Events.evtInputFocus(this, str);
})
.blur(function() {
Events.evtInputBlur(this, str);
})
},
initEnterTrap: function() {
var fieldsets = $("fieldset");
for (var p=0;p<fieldsets.length;p++) {
var arr = $(fieldsets[p]).find("input[type=text],input[type=password]")
for (var i=0;i<arr.length;i++){
$(arr[i]).keypress(function(e) {
Events.evtInputEnter(e)
});
}
}
},
initTopNews: function() {
var obj = $('#top-news-and-events');
if (obj.length) {
obj.addClass(Tabinator._tabsclass);
var tabs = obj.find('div.listing');
$(tabs).addClass(Tabinator._tabclass);
var tabscontainer = $('<div class="' + Tabinator._tabscontainerclass + '"></div>')
$(tabs).wrapAll(tabscontainer);
var tabsnavigation = $('<div class="' + Tabinator._tabsnavigationclass + '"></div>')
obj.prepend(tabsnavigation);
var ul = $('<ul></ul>');
var headings = $(tabs).find('h2');
for (var i=0;i<headings.length;i++) {
var _classname = '';
if (i==headings.length - 1) {
_classname = ' class="last"';
}
$(ul).append('<li' + _classname + '><a href="#">' + $(headings[i]).html() + '</a></li>');
}
tabsnavigation.append(ul);
}
},
initProductFinder: function() {
var obj = $('#product-finder');
if (obj.length) {
obj.addClass(Tabinator._tabsclass);
var tabs = obj.children('div');
$(tabs).addClass(Tabinator._tabclass);
var tabscontainer = $('<div class="' + Tabinator._tabscontainerclass + '"></div>')
$(tabs).wrapAll(tabscontainer);
var tabsnavigation = $('<div class="' + Tabinator._tabsnavigationclass + '"></div>');
var p = obj.children('p');
p.after(tabsnavigation);
var ul = $('<ul></ul>');
var headings = $(tabs).find('h2');
for (var i=0;i<headings.length;i++) {
var _classname = '';
if (i==headings.length - 1) {
_classname = ' class="last"';
}
ul.append('<li' + _classname + '><a href="#">' + $(headings[i]).html() + '</a></li>')
}
tabsnavigation.append(ul);
}
},
initLangaugeSelection: function() {
var selects = $('#site-tools select')
selects.each(function(){
$(this).change(function(){
return false;
});
});
}
};
var LocalisationSelection = {
_siteTools: "#site-tools",
init: function() {
var obj = $(LocalisationSelection._siteTools);
if (obj.length > 0) {
LocalisationSelection.initLocalisationSelection(obj);
}
},
initLocalisationSelection: function(obj) {
var arrSwitches = obj.find("select");
arrSwitches.change(function() {
Events.evtSiteSwitchClick(this);
return false;
});
}
}
/*
var FormOverlays = {
_siteTools: "#site-tools",
_footer: "#assistance-navigation",
_urlSuffix: "&overlay=true",
_sendLink: "#send-link",
_contactUsHeader: "#contact-us-header",
_contactUsFooter: "#contact-us-footer",
_adverseEventHeader: "#adverse-event-header",
_adverseEventFooter: "#adverse-event-footer",
init: function() {
var obj = $(FormOverlays._siteTools);
if (obj.length > 0) {
var anchor = obj.find(FormOverlays._sendLink + ' a');
FormOverlays.initFormOverlays(anchor, FormOverlays._urlSuffix);
anchor = obj.find(FormOverlays._contactUsHeader + ' a');
FormOverlays.initFormOverlays(anchor, FormOverlays._urlSuffix);
anchor = obj.find(FormOverlays._adverseEventHeader + ' a');
FormOverlays.initFormOverlays(anchor, FormOverlays._urlSuffix);
}
obj = null;
obj = $(FormOverlays._footer);
if (obj.length > 0) {
var anchor = obj.find(FormOverlays._contactUsFooter + ' a');
FormOverlays.initFormOverlays(anchor, FormOverlays._urlSuffix);
anchor = obj.find(FormOverlays._adverseEventFooter + ' a');
FormOverlays.initFormOverlays(anchor, FormOverlays._urlSuffix);
}
obj = null;
},
initFormOverlays: function(obj, urlsuffix) {
if (obj.length > 0) {
var href = obj.attr('href');
var _url = href + urlsuffix;
obj.attr('href', _url);
var options = {
'padding'	: 40,
'width'	: 480,
'height'	: 580,
'autoScale'	: false,
'type'	: 'iframe'
}
obj.fancybox(options);
}
}
}
*/
var PrimaryNavigation = {
_containerselector: '#primary-navigation',
_blurtimer: 500,
_blurtimeout: '',
init: function() {
var navigation = $(PrimaryNavigation._containerselector);
var links = navigation.find('a.l1')
links.each(function() {
var obj = $(this).next();
$(obj).hover(
function() {
PrimaryNavigation.evtNavigationElementHover(this);
},
function() {
PrimaryNavigation.evtNavigationElementBlur(this);
}
);
$(this).hover(
function() {
PrimaryNavigation.evtNavigationElementHover(this);
},
function() {
PrimaryNavigation.evtNavigationElementBlur(this);
}
)
});
MiniProductFinder.init(navigation);
},
clearTimeouts: function() {
clearTimeout(PrimaryNavigation._blurtimeout)
},
startBlurTimeout: function(el) {
PrimaryNavigation._blurtimeout = setTimeout(function() {
Utils.deactivateElement(el);
var selects = $('#primary-content').find('select');
Utils.activateAll(selects);
}, PrimaryNavigation._blurtimer)
},
evtNavigationElementHover: function(el) {
var parent = $(el).parent();
var siblings = $(parent).siblings('li.active');
Utils.deactivateAll(siblings);
PrimaryNavigation.clearTimeouts();
Utils.activateElement(parent);
if ($(el).hasClass('selection')) {
var selects = $('#primary-content').find('select');
Utils.deactivateAll(selects);
}
},
evtNavigationElementBlur: function(el) {
var el = $(el)
var parent = el.parent();
if (el.hasClass('selection') || el.prev('a').hasClass('selection')) {
PrimaryNavigation.clearTimeouts();
PrimaryNavigation.startBlurTimeout(parent);
} else {
Utils.deactivateElement(parent);
}
}
};
var MiniProductFinder = {
_productfinderclass: "product-finder-popup",
_buttonsnavigationclass: "product-finder-navigation",
_productlistingscontainerclass: "product-finder-container",
_productlistingclass: "product-finder-content",
_registerclass: "product-finder-navigation-register",
init: function(obj) {
var productfinders = obj.find('div.' + MiniProductFinder._productfinderclass);
for (var i=0;i<productfinders.length;i++) {
var navigation = $(productfinders[i]).find(' div.' + MiniProductFinder._buttonsnavigationclass);
// solution found to show hide product finder navigation when user not logged in yet
var registerMessageDiv = $(productfinders[i]).find(' div.' + MiniProductFinder._registerclass);
var docCheckDiv = $('#wrapper').find('div.product-finder-doccheck'); // set inside the main layout
if (registerMessageDiv.length > 0) {
if (docCheckDiv.length == 0) {
navigation.addClass("hide");
var container = $(productfinders[i]).find(' div.' + MiniProductFinder._productlistingscontainerclass);
container.addClass("hide");
} else {
registerMessageDiv.addClass("hide");
}
}
var buttons = navigation.find('li.link-button>a');
buttons.each(function(index) {
index == 0 ? MiniProductFinder.openProductListing(this, index) : null;
$(this).click(function() {
MiniProductFinder.evtButtonClick(this, index);
return false;
});
});
}
},
openProductListing: function(obj, index) {
var navigation = $(obj).parents('div.' + MiniProductFinder._buttonsnavigationclass)
var buttons = $(navigation).find('li')
var parent = $(obj).parent('li')
Utils.closeAll(buttons)
Utils.openElement(parent);
var container = $(navigation).next('div.' + MiniProductFinder._productlistingscontainerclass)
var contents = $(container).find('div.' + MiniProductFinder._productlistingclass)
var listing = $(contents)[index];
Utils.deactivateAll(contents);
Utils.activateAll(listing);
},
evtButtonClick: function(obj, index) {
MiniProductFinder.openProductListing(obj, index);
}
}
var PageRating = {
_container: '#page-rating',
_field: '.field',
_defaultvalue: '',
$field: {},
$label: {},
init: function() {
var obj = $(PageRating._container);
if (obj.length) {
this.$field = $(obj).find('.field');
this.$label = $("<p />");
var
$options = this.$field.find('option'),
_max_width = 0
;
PageRating.initStars(this.$field);
this.$field.append(this.$label);
for (var i=0,l=$options.length;i<l;i++) {
this.$label.html($options[i].innerHTML)
var _width = this.$label.width();
if (_width>_max_width) { _max_width=_width; }
}
this.$label.html("").width(_max_width);
}
},
initStars: function(obj) {
var options = {
inputType: "select",
captionEl: PageRating.$label
};
$(obj).stars(options);
}
};
var Utils = {
activateElement: function(obj) {
$(obj).removeClass(Page._inactiveclass)
$(obj).addClass(Page._activeclass)
},
deactivateElement: function(obj) {
$(obj).removeClass(Page._activeclass)
$(obj).addClass(Page._inactiveclass)
},
activateAll: function(arr) {
$(arr).each(function(index) {
Utils.activateElement(this);
});
},
deactivateAll: function(arr) {
$(arr).each(function(index) {
Utils.deactivateElement(this);
});
},
openElement: function(obj) {
$(obj).addClass(Page._selectedclass)
},
closeElement: function(obj) {
$(obj).removeClass(Page._selectedclass)
},
openAll: function(arr) {
$(arr).each(function(index) {
Utils.openElement(this);
});
},
closeAll: function(arr) {
$(arr).each(function(index) {
Utils.closeElement(this);
});
}
};
var Tabinator = {
_tabsclass: "tabs",
_tabsnavigationclass: "tabs-navigation",
_tabscontainerclass: "tabs-container",
_tabclass: "tab-content",
init: function() {
var tabinators = $(Page._wrapperselector).find('div.' + Tabinator._tabsclass);
for (var i=0;i<tabinators.length;i++) {
var tabinator = $(tabinators[i]);
var tabsnavigation = tabinator.find(' div.' + Tabinator._tabsnavigationclass);
var tabs = tabsnavigation.find('a');
tabs.each(function(index){
index == 0 ? Tabinator.openTab(this, index) : null;
$(this).click(function() {
Tabinator.evtTabClick(this, index);
return false;
});
});
}
},
openTab: function(obj, index) {
var navigation = $(obj).parents('div.' + Tabinator._tabsnavigationclass)
var tabs = $(navigation).find('li')
var parent = $(obj).parent('li')
Utils.closeAll(tabs)
Utils.openElement(parent);
var content = $(navigation).next('div.' + Tabinator._tabscontainerclass)
var contents = $(content).find('div.' + Tabinator._tabclass)
var tab = $(contents)[index];
Utils.closeAll(contents);
Utils.openElement(tab);
},
evtTabClick: function(obj, index) {
Tabinator.openTab(obj, index);
}
};
var AlphabetNavigation = {
_alphabetnavigationclass: "alphabet-navigation",
_alphabetnavigationresultsclass: "alphabet-navigation-results",
_filterprefix: "letter-",
init: function() {
var alphabetnavigations = $(Page._wrapperselector).find('div.' + AlphabetNavigation._alphabetnavigationclass)
for (var i=0;i<alphabetnavigations.length;i++) {
var navigation = $(alphabetnavigations[i]);
var tabs = navigation.find('a');
tabs.each(function(p) {
$(this).click(function() {
AlphabetNavigation.evtTabClick(this);
return false;
});
});
}
},
filter: function(obj) {
var letter = $(obj).html().toLowerCase();
var filter = '';
var navigation = $(obj).parents('div.' + AlphabetNavigation._alphabetnavigationclass);
var recordset = $(navigation).next('div.' + AlphabetNavigation._alphabetnavigationresultsclass);
var records = $(recordset).find('li');
if (letter.length == 1) {
filter = '.' + AlphabetNavigation._filterprefix + letter;
}
var filteredrecords = $(recordset).find('li' + filter);
if (letter.length != 1) {
Utils.activateAll(filteredrecords);
} else {
Utils.deactivateAll(records);
Utils.activateAll(filteredrecords);
}
},
evtTabClick: function(obj) {
var letters = $(obj).parents('div.' + AlphabetNavigation._alphabetnavigationclass).find('li');
var letter = $(obj).parent('li');
Utils.closeAll(letters);
Utils.openElement(letter);
AlphabetNavigation.filter(obj);
}
}
var EventsCalendar = {
_settings: {
containerId: "#event-calendar"
},
init: function() {
if ($(EventsCalendar._settings.containerId).length>0) {
$.jMonthCalendar.Initialize(EventsCalendar._settings);
}
}
}
var Events = {
evtInputEnter: function(event) {
var obj = event.target;
if (event.which == 13) {
var submit = $(obj).parent("li").nextAll("li.submit").children("input");
submit[0].click();
}
},
evtInputFocus: function(obj, str) {
var txt = $(obj).attr("value");
if (txt == "" || txt == str)
$(obj).attr("value", "");
$(obj).removeClass(Page._inactiveclass)
.addClass(Page._activeclass);
},
evtInputBlur: function(obj, str) {
var txt = $(obj).attr("value");
if (txt == "" || txt == str)
$(obj).attr("value", str)
$(obj).removeClass(Page._activeclass)
.addClass(Page._inactiveclass);
},
evtSiteSwitchClick: function(obj) {
var form = $(obj).parents("form");
form.submit();
}
}
var ArticleSelector = {
init: function() {
var navigation = $('#featured-articles')
navigation.each(function(i) {
var tabs = $(navigation).find('li');
tabs.each(function(p) {
p == 0 ? ArticleSelector.openArticleSummary(this) : null;
$(this).hover(function() {
ArticleSelector.evtArticleHover(this);
});
});
});
},
openArticleSummary: function(obj) {
var list = $(obj).parent('ul').find('li');
Utils.closeAll(list);
Utils.openElement(obj);
},
evtArticleHover: function(obj) {
ArticleSelector.openArticleSummary(obj);
}
}
var ExternalLinks = {
_selector: "a.external-link img",
_popup: "#external-link-alert",
_imagewidth: 10,
_interactiontimer: 200,
_interactiontimeout: {},
_fadetimer: 200,
init: function() {
var anchors = $(ExternalLinks._selector);
anchors.hover(
function() {
ExternalLinks.evtExternalLinksOver(this);
},
function() {
ExternalLinks.evtExternalLinksOut();
}
);
},
evtExternalLinksOver: function(obj) {
var popup = $(ExternalLinks._popup);
ExternalLinks.reset(popup);
var anchor = $(obj);
var padding = anchor.css('paddingRight');
padding = parseFloat(padding.substring(0, padding.indexOf('px')));
var left = (anchor.position().left + ExternalLinks._imagewidth) - (popup.width()/2);
var top = anchor.position().top - popup.height();
popup.css('left', left);
popup.css('top', top);
ExternalLinks._interactiontimeout = setTimeout(function() { ExternalLinks.showExternalLinksPopup(popup); }, ExternalLinks._interactiontimer)
},
showExternalLinksPopup: function(obj) {
obj.fadeIn(ExternalLinks._fadetimer);
},
evtExternalLinksOut: function() {
var popup = $(ExternalLinks._popup);
ExternalLinks._interactiontimeout = setTimeout(function() { ExternalLinks.hideExternalLinksPopup(popup); }, ExternalLinks._interactiontimer)
},
hideExternalLinksPopup: function(obj) {
obj.fadeOut(ExternalLinks._fadetimer);
},
reset: function(obj) {
obj.hide();
Utils.deactivateElement(obj);
clearTimeout(ExternalLinks._interactiontimer)
}
}
/*
var VideoDisplay = {
_selector: "#video-display a",
_flowplayerurl: "/static/_assets/js/flowplayer/flowplayer-3.2.1.swf",
_settings: {
clip: {
autoPlay: false,
autoBuffering: true
}
},
init: function() {
var objs = $(VideoDisplay._selector);
objs.each(function(){
flowplayer(this, {src: VideoDisplay._flowplayerurl, wmode: 'opaque'}, VideoDisplay._settings);
});
}
}
*/
/* Added by Phil Medcraft */
var VideoFancybox = {
_selector: "a.videolink",
init: function() {
var objs = $(VideoFancybox._selector);
objs.each(function(){
var videoContainer = jQuery(this).attr('href');
var videoObjectId = "#FAplayer" + videoContainer.replace("#","");
jQuery(this).fancybox({
'hideOnContentClick': false,
'padding': 0,
'autoScale': false,
'width': 'auto',
'height': 'auto',
'scrolling': 'no',
'transitionIn': 'elastic',
'transitionOut': 'elastic',
'onStart': function(){jQuery(videoContainer).show();},
'onClosed': function(){
jQuery(videoContainer).hide();
jQuery("#fancybox-content").empty();
// Remove and re-add video
var clone = jQuery(videoObjectId).clone(true);
jQuery(videoObjectId).remove();
jQuery(videoContainer).html(clone);
}
});
});
}
}
/* End of Phil's changes */
var ProductSelectionAccordion = {
_selector: "div.product-selection-accordion h3 a",
init: function() {
var links = $(ProductSelectionAccordion._selector);
links.each(function(){
$(this).click(function(){
ProductSelectionAccordion.evtAccordionOpen(this);
return false;
});
});
},
evtAccordionOpen: function(anchor) {
anchor = $(anchor);
var parent = $(anchor.parents('li'))
var siblings = $(parent).siblings('li')
Utils.closeAll(siblings);
Utils.openElement(parent);
}
}
/*
var LandingSwitcher = {
_selector: "#site-switcher",
init: function() {
var obj = $(LandingSwitcher._selector);
var sites = obj.find('li');
sites.each(function(index){
var site = $(this);
var anchor = site.find('a');
var link = anchor.attr('href')
site.click(function(){
window.location = link;
return false;
});
});
}
}
*/
/** Added by Phil Medcraft */
var LightBoxSwitcher = {
init: function() {
if ($.fn.lightBox) {
$('#packshot a').lightBox({fixedNavigation:true, txtImage:'Image', txtOf:'of'});
$('#prodshot a').lightBox({fixedNavigation:true, txtImage:'Image', txtOf:'of'});
}
}
}
var ImageRandomizer = {
init: function() {
var bannerAdverts = $(Page._wrapperselector).find('div.random-banner-advert');
var randomNum = Math.floor(Math.random() * bannerAdverts.length);
var next = $(bannerAdverts[randomNum]);
Utils.activateElement(next);
var siblings = next.siblings();
Utils.deactivateAll(siblings);
}
}
var ImageRotator = {
init: function() {
var bannerAdvert = $(Page._wrapperselector).find('div.rotating-banner-advert:first');
Utils.activateElement(bannerAdvert);
var siblings = bannerAdvert.siblings();
Utils.deactivateAll(siblings);
setInterval(function() {
var current = $(Page._wrapperselector).find('div.rotating-banner-advert.active');
if (current.length == 0) current = $('div.rotating-banner-advert:first');
// Get next image, when it reaches the end, rotate it back to the first image
var next = (current.next().length > 0) ? current.next() : $(Page._wrapperselector).find('div.rotating-banner-advert:first');
Utils.activateElement(next);
var siblings = next.siblings();
if (siblings.length > 0) {
Utils.deactivateAll(siblings);
}
}, 6000);
}
}
var GskLiveContent = {
sectionHide: function() {
$('#gsk-live-privacy, #gsk-live-terms').hide();
$('#gsk-live-chat-content').css('height','674px');
$('.gsk-large-masthead').show();
},
sectionSwap: function() {
$(".gsk-live-back").click(function () {
$('#gsk-live-chat-large').show();
$('#gsk-live-privacy, #gsk-live-terms').hide();
$('#gsk-live-privacy, #gsk-live-terms').scrollTop(0);
return false;
});
$(".privacyContent").click(function () {
$('#gsk-live-privacy').show();
$('#gsk-live-terms, #gsk-live-chat-large').hide();
$('#gsk-live-privacy, #gsk-live-terms').scrollTop(0);
return false;
});
$(".termsContent").click(function () {
$('#gsk-live-terms').show();
$('#gsk-live-privacy, #gsk-live-chat-large').hide();
$('#gsk-live-privacy, #gsk-live-terms').scrollTop(0);
return false;
});
}
}
var GskLiveButton = {
init: function() {
$('#askNow').click(function() {
$('#gskLiveForm').submit();
});
}
}
var GermanCustomization = {
_siteTools: "#site-tools",
_footer: "#assistance-navigation",
_loggedInUrl: "https://www.gsk-kontakt.de/contact/?alias=gesundheit&contentarea=prof&referer=gesundheit",
init: function() {
var docCheckDiv = $(Page._wrapperselector).find('div.product-finder-doccheck'); // set inside the main layout
if (docCheckDiv.length > 0) {
var siteToolsObj = $(GermanCustomization._siteTools);
if (siteToolsObj.length > 0) {
siteToolsObj.find('li.top-germany-custom a').attr('href',GermanCustomization._loggedInUrl);
}
var footerObj = $(GermanCustomization._footer);
if (footerObj.length > 0) {
footerObj.find('li.bottom-germany-custom a').attr('href',GermanCustomization._loggedInUrl);
}
}
}
}
/** Finished Phil's changes */
var FancyboxTriggers = {
_selector: ".popup-trigger",
init: function() {
if ($.fn.fancybox) {
$(this._selector).fancybox()
}
}
}
var BrandedProductMediaNavigation = {
SLIDE_SPEED: 500,
_selector_id: 'product-media-navigation',
_content_class: '.slider-content',
_inner_content_class: '.slider-content-container',
_previous_class: '.previous',
_next_class: '.next',
_tooltip_id: 'product-media-navigation-tooltip',
_tooltip_content_id: 'product-media-navigation-tooltip-content',
_tooltip_content_top_id: 'product-media-navigation-tooltip-content-top',
_tooltip_content_inner_id: 'product-media-navigation-tooltip-content-inner',
_tooltip_content_bottom_id: 'product-media-navigation-tooltip-content-bottom',
_tooltip_tip_id: 'product-media-navigation-tooltip-tip',
_tooltip_content_class: '.tooltip-content',
C_DATA: 'data',
$media_navigations: {},
$navigation_content: {},
$navigation_content_inner: {},
$navigation_container: {},
$items: {},
$tooltip: {},
jsp: {},
_t: 0,
launch: function() {
this.$media_navigation = $('#'+this._selector_id)
if (this.$media_navigation.length) this.init();
},
init: function() {
this.$navigation_content = this.$media_navigation.children(this._content_class);
this.$navigation_content_inner = this.$navigation_content.children(this._inner_content_class);
this.$navigation_container = this.$navigation_content_inner.children('ul'),
this.$items = this.$navigation_container.children('li');
this.$navigation_content.addClass('scroller');
this.$navigation_content_inner.width(this.$navigation_container.width()+1);
$.data(this.$media_navigation[0], this.C_DATA, {
$scroller: this.$navigation_content
});
this.initTooltip();
this.initTooltips();
},
initTooltip: function() {
this.$tooltip = $('<div />',{
'id' : this._tooltip_id
})
var $tooltip_content = $('<div />', {
'id' : this._tooltip_content_id
})
var $tooltip_content_top = $('<div />', {
'id' : this._tooltip_content_top_id
})
var $tooltip_content_inner = $('<div />', {
'id' : this._tooltip_content_inner_id
})
var $tooltip_content_bottom = $('<div />', {
'id' : this._tooltip_content_bottom_id
})
var $tooltip_tip = $('<div />', {
'id' : this._tooltip_tip_id
})
$tooltip_content.append($tooltip_content_top, $tooltip_content_inner, $tooltip_content_bottom)
this.$tooltip.append($tooltip_content, $tooltip_tip)
$.data(this.$tooltip[0], this.C_DATA, {
$tooltip_content: $tooltip_content_inner
});
$('body').append(this.$tooltip)
},
initTooltips: function() {
this.$items.each(function(){
var $item = $(this),
$trigger = $item.children('a');
$trigger.hover(
BrandedProductMediaNavigation.evtTriggerHover,
BrandedProductMediaNavigation.evtTriggerBlur
);
});
},
evtTriggerHover: function(e) {
BrandedProductMediaNavigation._t = setTimeout(function(){
BrandedProductMediaNavigation.showTooltip(e);
}, 250);
},
evtTriggerBlur: function(e) {
BrandedProductMediaNavigation.hideTooltip();
},
showTooltip: function(e) {
var $item = $(e.currentTarget).parent();
if (this.isVisible($item) && this.populateTooltip($item)) {
this.moveTooltip($item);
($.browser.msie) ? this.$tooltip.show() : this.$tooltip.fadeIn('fast') ;
}
},
isVisible: function($item) {
var $item = $($item);
// Only show the $tooltip if the $item is visible
if ($item.position().left>=this.jsp.getContentPositionX() && $item.position().left+$item.width()<=this.jsp.getContentPositionX()+this.jsp.getContentPane().width()) {
return true;
} else {
return false;
}
},
populateTooltip: function($item) {
var $content = $item.children(this._tooltip_content_class)
if ($content.length>0){
var $tooltip_content = $.data(this.$tooltip[0], this.C_DATA).$tooltip_content;
$tooltip_content.html($content.html())
return true;
} else {
return false;
}
},
moveTooltip: function($item) {
var position = this.getPos($item[0]),
posX = position.left - (this.$tooltip.width()/2) + $item.width()/2 +20,
posY = position.top - (this.$tooltip.height()) - 15
if ($('body').width()<posX+this.$tooltip.width()) {
posX = position.left-(this.$tooltip.width()-$item.width()) + 30;
this.$tooltip.addClass('alt');
} else {
this.$tooltip.removeClass('alt')
}
this.$tooltip.css({
'left': posX,
'top': posY
})
return false;
},
hideTooltip: function() {
clearTimeout(BrandedProductMediaNavigation._t);
this.$tooltip.stop();
this.$tooltip.dequeue();
this.$tooltip.attr('style','')
this.$tooltip.hide();
},
getPos: function(obj) {
var curleft = curtop = 0;
if (obj.offsetParent) {
do {
curleft += obj.offsetLeft;
curtop += obj.offsetTop;
} while (obj = obj.offsetParent);
}
return {'left':curleft, 'top':curtop};
},
reset: function(obj) {
obj.hide();
Utils.deactivateElement(obj);
clearTimeout(ExternalLinks._interactiontimer)
},
initPrevNext: function() {
var $scroller = $.data(this.$media_navigation[0], this.C_DATA).$scroller,
$prev = this.$media_navigation.children(this._previous_class),
$jsp_prev = $scroller.find('.jspArrowLeft'),
$next = this.$media_navigation.children(this._next_class),
$jsp_next = $scroller.find('.jspArrowRight');
this.jsp = $.data($scroller[0], 'jsp');
this.jsp.scrollToElement($scroller.find('.selected'), true, true)
$prev.mousedown(function(){$jsp_prev.mousedown();this.blur()})
$next.mousedown(function(){$jsp_next.mousedown();this.blur()})
}
}
var Scroller = {
_scroller_class: '.scroller',
launch: function() {
var $scrollers = $(this._scroller_class);
if ($scrollers.length) this.init($scrollers);
},
init: function($scrollers) {
$scrollers.jScrollPane({
showArrows: true,
verticalDragMinHeight: 40,
verticalDragMaxHeight: 200,
horizontalDragMaxWidth: 12,
horizontalDragMinWidth: 12
});
this.initDependants();
},
initDependants: function() {
BrandedProductMediaNavigation.initPrevNext();
}
}
init = function() {
Page.init();
LocalisationSelection.init();
// FormOverlays.init();
Tabinator.init();
AlphabetNavigation.init();
ArticleSelector.init();
PageRating.init();
PrimaryNavigation.init();
EventsCalendar.init();
ExternalLinks.init();
// VideoDisplay.init();
VideoFancybox.init(); // Added by Phil Medcraft
ProductSelectionAccordion.init();
// LandingSwitcher.init();
FancyboxTriggers.init();
BrandedProductMediaNavigation.launch();
Scroller.launch();
LightBoxSwitcher.init(); // Added by Phil Medcraft
ImageRandomizer.init(); // Added by Phil Medcraft
ImageRotator.init(); // Added by Phil Medcraft
GskLiveContent.sectionHide(); // Added by Phil Medcraft
GskLiveContent.sectionSwap(); // Added by Phil Medcraft
GskLiveButton.init(); // Added by Phil Medcraft
GermanCustomization.init(); // Added by Phil Medcraft
}
init();
});
