var selectedTabIndex = -1;
var tabRevertTimeout;

$(document).ready(function () {
    selectedTabIndex = $("#tabs li").index($("#tabs li.select"));
    /*if (getCook('activemenu') != '') {
    selectedTabIndex = getCook('activemenu');
    }
    setCookie('activemenu', selectedTabIndex, 1);*/

    if ((window.location.pathname.indexOf('catalogue') == -1
          && window.location.pathname.indexOf('configurator') == -1
          && window.location.pathname.indexOf('login') == -1
          && window.location.pathname.indexOf('my-account') == -1
          && window.location.pathname.indexOf('cat%C3%A1logo') == -1
          && window.location.pathname.indexOf('katalog') == -1
          && window.location.pathname.indexOf('catalogo') == -1
          && window.location.pathname.indexOf('consumer-health-care-division/products') == -1
          && window.location.pathname.indexOf('consumer-health-care-division/products') == -1
          && window.location.pathname.indexOf('prescription-division/products') == -1)
              || (window.location.pathname.indexOf('prescription-division/products/products/') != -1)
              || (window.location.pathname.indexOf('consumer-health-care-division/products/products/') != -1)
              || (window.location.pathname.indexOf('consumer-health-care-division/products/products/landmark--dose-indicator') != -1)
              || (window.location.pathname.indexOf('pharma/prescription-division/scientific-materials/scientific-sketches') != -1)
        ) {
        jQuery.noConflict();

    }

    var baseURLCorporate = "/corporate";
    var baseURLPharma = "/pharma";

    var isCorporate = (window.location.pathname.indexOf(baseURLCorporate) == 0) ? true : false;

    if (window.location.pathname == '/' || isCorporate || window.location.pathname.indexOf(baseURLPharma) > -1) {
        $("#nav").tabs({
            selected: selectedTabIndex,
            select: function (event, ui) {
                var url = $.data(ui.tab, 'load.tabs');
                if (url) {
                    location.href = url;
                    return false;
                }
                $("#splash").css('paddingTop', '0px');
                clearTimeout(tabRevertTimeout);
                return true;
            }
        });

        $("#nav #tabhead #tabs.hidden").removeClass("hidden");
        $("#nav div.submenu.hidden").removeClass("hidden");
    }
    setHeaderLinks();

    $("#nav").hover(
		function () { clearTimeout(tabRevertTimeout); },
		function () {
		    // Smart Impact - 2011-03-14
		    // Have commented this line because the navigation automatically select the first element "About us" after 3 seconds
		    // I don't understand what it is for? Either Pavliks or Smbolic could say the need of this?
		    //tabRevertTimeout = setTimeout(revertTab, 3000); 
		}
	);
    function revertTab() {
        clearTimeout(tabRevertTimeout);
        $("#nav").tabs("option", "selected", selectedTabIndex);
    }
    sfHover();
    if ($.fn.boxLinks) {
        $('#news li, #products li, #cols .news li').boxLinks();
        $('#cols .col:has(.more)').boxLinks({ trigger: '.more a' });
    }
    if ($.fn.equalHeights) {
        $("#cols .col").equalHeights();
    }
    if ($.fn.colorbox) {
        $("#productPhoto .zoom a").colorbox();
    }
});
function setHeaderLinks() {
    // Update these if the URLs are changing in the future.
    var baseURLCorporate = "/corporate";
    var baseURLBeauty = "/beauty-home";
    var baseURLFood = "/food-beverage";
    var baseURLPharma = "/pharma";

    var pageContactBH = "contact";
    var pageContactFB = "contact/food-beverage";
    var pageContact = "contact";
    var pageCareers = "careers";
    var pageLogin = "login";

    var isCorporate = (window.location.pathname.indexOf(baseURLCorporate) == 0) ? true : false;

    switch (true) {
        case window.location.pathname.indexOf(baseURLBeauty) > -1 && !isCorporate:
            //            // Beauty & Home
            //            $('#logo').attr('href', baseURLBeauty);
            //            $('#lnkHeader_Home').attr('href', '/');
            //            $('#lnkHeader_Contact').attr('href', baseURLBeauty + '/' + pageContactBH);
                        $('#lnkHeader_Careers').attr('href', baseURLCorporate + '/' + pageCareers);
            //            $('#lnkHeader_Login').attr('href', baseURLCorporate + '/' + pageLogin);
            //            setFavIcon('favicon_beautyhome.ico');
            break;
        case window.location.pathname.indexOf(baseURLFood) > -1 && !isCorporate:
            // Food & Beverage
            //            $('#logo').attr('href', baseURLFood);
            //            $('#lnkHeader_Home').attr('href', '/');
            //            $('#lnkHeader_Contact').attr('href', baseURLFood + '/' + pageContactFB);
                        $('#lnkHeader_Careers').attr('href', baseURLCorporate + '/' + pageCareers);
            //            $('#lnkHeader_Login').attr('href', baseURLCorporate + '/' + pageLogin);
            //            setFavIcon('favicon_foodbeverage.ico');
            break;
        case window.location.pathname.indexOf(baseURLPharma) > -1 && !isCorporate:
            // Pharma
            $('#logo').attr('href', baseURLPharma);
            $('#lnkHeader_Home').attr('href', '/');
            $('#lnkHeader_Contact').attr('href', baseURLPharma + '/' + pageContact);
            $('#lnkHeader_Careers').attr('href', baseURLCorporate + '/' + pageCareers);
            $('#lnkHeader_Login').attr('href', baseURLCorporate + '/' + pageLogin);
            setFavIcon('favicon_pharma.ico');
            break;
        default:
            // Corporate
            if (isCorporate || window.location.pathname == '/') {
                $('#logo').attr('href', '/');
                $('#lnkHeader_Home').attr('href', '/');
                $('#lnkHeader_Contact').attr('href', baseURLCorporate + '/' + pageContact);
                $('#lnkHeader_Careers').attr('href', baseURLCorporate + '/' + pageCareers);
                $('#lnkHeader_Login').attr('href', baseURLCorporate + '/' + pageLogin);
                setFavIcon('favicon_corporate.ico');
            }
    }
}
function setFavIcon(iconName) {
    // Set FavIcon
    var link = document.createElement('link');
    link.type = 'image/x-icon';
    link.rel = 'shortcut icon';
    link.href = '/FavIcon/' + iconName;
    document.getElementsByTagName('head')[0].appendChild(link);

    // IE6 PNG fix
    if (window['DD_belatedPNG'] !== undefined)
        DD_belatedPNG.fix('img');
}
function textFieldIn(fld) {
    if (fld.value == fld.defaultValue) fld.value = '';
    typingColor(fld);
}
function textFieldOut(fld) {
    if (fld.value == '') {
        fld.value = fld.defaultValue;
        labelColor(fld);
    }
}
function typingColor(fld) {
    fld.style.color = '#333333';
}
function labelColor(fld) {
    fld.style.color = '#999999';
}
// IE fix for language dropdown
function sfHover() {
    var dropDown = document.getElementById("languageDrop");
    if (dropDown != null) {
        var sfEls = dropDown.getElementsByTagName("LI");
        sfHover2(dropDown);
        for (var i = 0; i < sfEls.length; i++) {
            sfHover2(sfEls[i]);
        }
    }
}
function sfHover2(element) {
    element.onmouseover = function () {
        this.className += " sfhover";
    }
    element.onmouseout = function () {
        this.className = this.className.replace(new RegExp(" sfhover\\b"), "");
    }
}
function saveSelectedMenu(a) {
    selectedTabIndex = $("#tabs li").index($(a).parent());
    //setCookie('activemenu', selectedTabIndex, 1);
}
// boxLinks - jQuery plugin - transforms block elements into clickable items
$.fn.boxLinks = function (settings) {
    if (!this.length) return this;

    var opts = $.extend({
        trigger: 'a',
        classHover: 'hover',
        classFocus: 'focus',
        onEnter: null,
        onLeave: null
    }, settings || {});

    this.has(opts.trigger)
		.each(function () {
		    var self = $(this), t = self.css('cursor', 'pointer').find(opts.trigger);
		    $.data(this, 'trigger', t);
		    $.data(t[0], 'parent', self);
		}).bind('mouseenter', function () {
		    var t = $.data(this, 'trigger'), self = $(this).addClass(opts.classHover);
		    opts.onEnter && opts.onEnter(self);
		    window.status = t.attr('href');
		}).bind('mouseleave', function () {
		    var self = $(this).removeClass(opts.classHover);
		    opts.onLeave && opts.onLeave(self);
		    window.status = '';
		}).bind('click', function (ev) {
		    var t = $.data(this, 'trigger');
		    t.trigger('click');
		    ev.stopPropagation();
		    return false;
		});

    this.find(opts.trigger)
		.bind('focus', function () {
		    var p = $.data(this, 'parent');
		    p.addClass(opts.classFocus);
		}).bind('blur', function () {
		    var p = $.data(this, 'parent');
		    p.removeClass(opts.classFocus);
		}).click(function (ev) {
		    window.location = $(this).attr('href');
		    ev.stopPropagation();
		    return false;
		});

    this.find('a').not(opts.trigger).click(function (ev) {
        ev.stopPropagation();
    });

    return this;
};
// equalHeights - jQuery plugin - forces elements to have the same height (maximum)
$.fn.equalHeights = function (add) {
    var m = 0;
    this.each(function () {
        m = Math.max(m, $(this).outerHeight());
    });
    return this.each(function () {
        var t = $(this), p = 0;
        $.each(['borderTopWidth', 'paddingTop', 'paddingBottom', 'borderBottomWidth'], function (i, n) {
            var v = parseInt(t.css(n));
            p += (isNaN(v) ? 0 : v);
        });
        var h = m - p;
        if (add && add[this.id])
            h += add[this.id];
        if ($.browser.msie && $.browser.version <= 6)
            t.css('height', h);
        t.css('min-height', h);
    });
};
