/* Hover Intent */
(function ($) {
    $.fn.hoverIntent = function (f, g) {
        var cfg = { sensitivity: 10, interval: 100, timeout: 0 }; cfg = $.extend(cfg, g ? { over: f, out: g} : f); var cX, cY, pX, pY; var track = function (ev) { cX = ev.pageX; cY = ev.pageY; }; var compare = function (ev, ob) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); if ((Math.abs(pX - cX) + Math.abs(pY - cY)) < cfg.sensitivity) { $(ob).unbind("mousemove", track); ob.hoverIntent_s = 1; return cfg.over.apply(ob, [ev]); } else { pX = cX; pY = cY; ob.hoverIntent_t = setTimeout(function () { compare(ev, ob); }, cfg.interval); } }; var delay = function (ev, ob) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); ob.hoverIntent_s = 0; return cfg.out.apply(ob, [ev]); }; var handleHover = function (e) {
            var p = (e.type == "mouseover" ? e.fromElement : e.toElement) || e.relatedTarget; while (p && p != this) { try { p = p.parentNode; } catch (e) { p = this; } }
            if (p == this) { return false; }
            var ev = jQuery.extend({}, e); var ob = this; if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); }
            if (e.type == "mouseover") { pX = ev.pageX; pY = ev.pageY; $(ob).bind("mousemove", track); if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout(function () { compare(ev, ob); }, cfg.interval); } } else { $(ob).unbind("mousemove", track); if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout(function () { delay(ev, ob); }, cfg.timeout); } }
        }; return this.mouseover(handleHover).mouseout(handleHover);
    };
})(jQuery);

/* Superfish Menu */
(function ($) {
    $.fn.superfish = function (op) { var sf = $.fn.superfish, c = sf.c, $arrow = $(['<span class="', c.arrowClass, '"> »</span>'].join('')), over = function () { var $$ = $(this), menu = getMenu($$); clearTimeout(menu.sfTimer); $$.showSuperfishUl().siblings().hideSuperfishUl(); }, out = function () { var $$ = $(this), menu = getMenu($$), o = sf.op; clearTimeout(menu.sfTimer); menu.sfTimer = setTimeout(function () { o.retainPath = ($.inArray($$[0], o.$path) > -1); $$.hideSuperfishUl(); if (o.$path.length && $$.parents(['li.', o.hoverClass].join('')).length < 1) { over.call(o.$path); } }, o.delay); }, getMenu = function ($menu) { var menu = $menu.parents(['ul.', c.menuClass, ':first'].join(''))[0]; sf.op = sf.o[menu.serial]; return menu; }, addArrow = function ($a) { $a.addClass(c.anchorClass).append($arrow.clone()); }; return this.each(function () { var s = this.serial = sf.o.length; var o = $.extend({}, sf.defaults, op); o.$path = $('li.' + o.pathClass, this).slice(0, o.pathLevels).each(function () { $(this).addClass([o.hoverClass, c.bcClass].join(' ')).filter('li:has(ul)').removeClass(o.pathClass); }); sf.o[s] = sf.op = o; $('li:has(ul)', this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over, out).each(function () { if (o.autoArrows) addArrow($('>a:first-child', this)); }).not('.' + c.bcClass).hideSuperfishUl(); var $a = $('a', this); $a.each(function (i) { var $li = $a.eq(i).parents('li'); $a.eq(i).focus(function () { over.call($li); }).blur(function () { out.call($li); }); }); o.onInit.call(this); }).each(function () { var menuClasses = [c.menuClass]; if (sf.op.dropShadows && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass); $(this).addClass(menuClasses.join(' ')); }); }; var sf = $.fn.superfish; sf.o = []; sf.op = {}; sf.IE7fix = function () {
        var o = sf.op; if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity != undefined)
            this.toggleClass(sf.c.shadowClass + '-off');
    }; sf.c = { bcClass: 'sf-breadcrumb', menuClass: 'sf-js-enabled', anchorClass: 'sf-with-ul', arrowClass: 'sf-sub-indicator', shadowClass: 'sf-shadow' }; sf.defaults = { hoverClass: 'sfHover', pathClass: 'overideThisToUse', pathLevels: 1, delay: 800, animation: { opacity: 'show' }, speed: 'normal', autoArrows: true, dropShadows: true, disableHI: false, onInit: function () { }, onBeforeShow: function () { }, onShow: function () { }, onHide: function () { } }; $.fn.extend({ hideSuperfishUl: function () { var o = sf.op, not = (o.retainPath === true) ? o.$path : ''; o.retainPath = false; var $ul = $(['li.', o.hoverClass].join(''), this).add(this).not(not).removeClass(o.hoverClass).find('>ul').hide().css('visibility', 'hidden'); o.onHide.call($ul); return this; }, showSuperfishUl: function () { var o = sf.op, sh = sf.c.shadowClass + '-off', $ul = this.addClass(o.hoverClass).find('>ul:hidden').css('visibility', 'visible'); sf.IE7fix.call($ul); o.onBeforeShow.call($ul); $ul.animate(o.animation, o.speed, function () { sf.IE7fix.call($ul); o.onShow.call($ul); }); return this; } });
})(jQuery);

/* Superfish Menu Settings */
$(document).ready(function () {
    $('ul#nav').superfish({
        delay: 500,                             // .5 second delay on mouseout 
        animation: { opacity: 'show', height: 'show' },  // fade-in and slide-down animation 
        speed: 'fast',                          // faster animation speed 
        autoArrows: false,                      // disable generation of arrow mark-up 
        dropShadows: false                      // disable drop shadows 
    });
});

$(document).ready(function () {
    var url = location.href;
    if ((url.toLowerCase().indexOf('addtocart') > -1) && (url.toLowerCase().indexOf('shoppingbasket') == -1)) {
        //showBasket()
    };
    if (url.toLowerCase().indexOf('shoppingbasket') == -1) {
        $('#header-basket').hoverIntent({ sensitivity: 30, interval: 300, over: showMenu, timeout: 0, out: hideMenu });
    };
    if ((url.toLowerCase().indexOf('shoppingbasket') > -1) || (url.toLowerCase().indexOf('checkout') > -1) || (url.toLowerCase().indexOf('customer') > -1)) {
        $('#search').hide()
    };
});

function showBasket() {
    $("#basketSummaryMenu").slideDown(500).fadeTo(2000, 1).slideUp(500);
};

function hideMenu() {
    $("#basketSummaryMenu").slideUp(400);
};

function showMenu() {
    $("#basketSummaryMenu").slideDown(400);
    $("#basketSummaryMenu").bind("mouseleave", hideMenu);
};

/* Basket Summary */
<!--
var BROWSER_IE4 = "IE4";
var BROWSER_NN = "NN";
var BROWSER_NN4 = "NN4";
var BROWSER_IE = "IE";
var BROWSER_VER;
BROWSER_VER = checkBrowser()
xMousePos = 0;
yMousePos = 0;
xMousePosMax = 0;
yMousePosMax = 0;
var everythingLoaded = true;

function showSingleLevelTable(tableToShow,position,leftPos,topPos,leftAdj,topAdj) {
    if (everythingLoaded == true) {

	    var lyr = getMyHTMLElement(tableToShow);
	    showDisplayTable(tableToShow)
	    thinkAboutHidingTable(tableToShow)
    }
}

function showHideSingleLevelTable(tableToShow,position,leftPos,topPos,leftAdj,topAdj) {
    if (everythingLoaded == true)
    {
	    var lyr = getMyHTMLElement(tableToShow);
	    if(getMyHTMLElement(tableToShow).style.display=='')
		    hideDisplayTable(tableToShow)
	    else
		    showDisplayTable(tableToShow)
		    thinkAboutHidingTable(tableToShow)
	}
}

function thinkAboutHidingTable(tableToHide) {
    thinkAboutTimeOut = setTimeout("hideDisplayTable('"+tableToHide+"')",5000);
}

function forgetAboutHidingTable(tableToHide) {
    if (typeof thinkAboutTimeOut != 'undefined') 
    {
        clearTimeout(thinkAboutTimeOut)
    }
}

function checkBrowser() {
	var BROWSER_VER;
	var browser=navigator.appName;
    var b_version=navigator.appVersion;
    var version=parseFloat(b_version);

    if (browser == "Netscape")
	    BROWSER_VER = BROWSER_NN
	else if (document.all && !document.getElementById) 
		BROWSER_VER = BROWSER_IE4
	else if (document.layers) 
		BROWSER_VER = BROWSER_NN4
	else if (document.getElementById) 
		BROWSER_VER = BROWSER_IE
	else 
		BROWSER_VER = BROWSER_IE
//	document.write(BROWSER_VER);
	return(BROWSER_VER)
}

function showDisplayTable(tableToShow){
	getMyHTMLElement(tableToShow).style.display=''
}

function hideDisplayTable(tableToHide){
	getMyHTMLElement(tableToHide).style.display='none'
}

function getMyHTMLElement(sid)
{
	var oelement;
	if(BROWSER_VER==BROWSER_IE4)
		oelement = document.all[sid]
	else if(BROWSER_VER==BROWSER_NN4)
		oelement = document.layers[sid]
	else if(BROWSER_VER==BROWSER_IE)
		oelement = document.getElementById(sid)
	else
		oelement = document.getElementById(sid)
	return(oelement)
}
//-->
