// JScript File

var currentPath = window.location.pathname.substring(0, window.location.pathname.lastIndexOf('/') + 1);
var currentPage = window.location.pathname.substring(window.location.pathname.lastIndexOf('/') + 1);
currentPage = (currentPage.length > 0) ? currentPage.toLowerCase() : "default.aspx";

var createCookie = function(days, value) {
  var date = new Date();
  date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
  var expires = "; expires=" + date.toGMTString();
  document.cookie = "country=" + value + expires + "; path=/";
};

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for (var i = 0; i < ca.length; i++) {
    var c = ca[i];
    while (c.charAt(0) == ' ') c = c.substring(1, c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
  }
  return null;
}

function addLoadEvent(func) {
  if (typeof (window) == "object") {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
      window.onload = func;
    } else {
      window.onload = function() {
        oldonload();
        func();
      }
    }
  }
}

addLoadEvent(FixIeLinksWithHash);

function FixIeLinksWithHash() {
  try {
    if (typeof (YAHOO.lang) == "object") {
      if (YAHOO.lang.isObject(YAHOO.util.Dom)) {
        //HTMLElement getElementBy  ( method , tag , root )
        var cPage = currentPath + "" + currentPage;
        if (pageName.indexOf('pg-stageweb') < 0 && pageName.indexOf('localhost') < 0 && pageName.indexOf('oralbredesign.') < 0) {
          if (currentPage.indexOf('?') > -1)
            cPage = currentPage.substring(0, cPath.indexOf('?'));
          if (currentPage.indexOf('#') > -1)
            cPage = currentPage.substring(0, cPath.indexOf('#'));
          var elements = YAHOO.util.Dom.getElementsBy(function(e) {
            if (e.getAttribute("href") &&
                e.getAttribute("href") != "") {
              if (e.getAttribute("href").indexOf("#") > 0 && /\/[a-zA-Z]{2}-[a-zA-Z]{2}\//.test(e.href)) {
                var pageName = (e.getAttribute("href").indexOf('/') > -1) ? e.getAttribute("href") : currentPath + "" + e.getAttribute("href");
                if (pageName.indexOf('?') > -1)
                  pageName = pageName.substring(0, pageName.indexOf('?'));
                if (pageName.indexOf('#') > -1)
                  pageName = pageName.substring(0, pageName.indexOf('#'));
                if (pageName != cPage) {
                  e.setAttribute("href", e.getAttribute("href").replace(/\/[a-zA-Z]{2}-[a-zA-Z]{2}\//, "/"));
                  return true;
                }
              }
            }
            return false;
          }, "a", document.getElementById("body"));
        }
      }
    }
  } catch (err) {
    if (typeof (YAHOO.log) == "object") {
      YAHOO.log(err);
    }
  }
}

Array.prototype.exists = function(val) {
  var exists = false;
  for (var i = 0; i < this.length; i++) {
    if (this[i] == val)
      exists = true;
  }
  return exists;
}

//if val1 exists in array before val2
Array.prototype.existsBefore = function(val1, val2) {
  var existsBefore = false;
  var index = this.positionIs(val1);
  if (index >= 0) {
    for (var i = index; i < this.length; i++) {
      if (this[i] == val2)
        existsBefore = true;
    }
  }
  return existsBefore;
}

Array.prototype.positionIs = function(val) {
  var position = -1;
  for (var i = 0; i < this.length; i++) {
    if (this[i] == val)
      position = i;
  }
  return position;
}

Array.prototype.objArrPosition = function(val, prop) {
  var position = -1;
  for (var i = 0; i < this.length; i++) {
    if (eval("this[i].prop == val"))
      position = i;
  }
  return position;
}

function componentRedirect(obj, id) {
  var href = obj.href;

  if (YAHOO.util.Dom.inDocument(id)) {
    href = obj.href + "?val=" + document.getElementById(id).value;
  }

  if (obj.target == "_blank")
    window.open(href, "componentLinkWindow");
  else
    document.location.href = href;
}

function addTrackingClickEvents(rootElement) {
  var yuiDom = YAHOO.util.Dom;
  var links = yuiDom.getElementsBy(
    function(element) {
      if (element.href.indexOf("#") == -1 && element.href.length > 0 && element.href.indexOf("javascript:void(0)") == -1 && element.name.length > 0)
        return true;
      else
        return false;
    },
  "A", yuiDom.get(rootElement));

  for (var i = 0; i < links.length; i++) {
    YAHOO.util.Event.addListener(links[i], "click", function() {
      var trackingStr = this.name;
      pageTracker._trackPageview(currentPath + "click/" + trackingStr);
    }, links[i], true);
  }
}

function buttonRedirect(obj, target) {
  var href = obj.value;
  pageTracker._trackPageview(currentPath + "click/" + href);
  if (target == "_blank")
    window.open(href, "homeNewWindow");
  else
    document.location.href = href;
}

function buyNow(obj) {
  var link = YAHOO.util.Dom.getElementsBy(function(n) { if (n.nodeName == "A") return true; else return false; }, "A", obj);

  if (link.length > 0) {
    if (link[0].target == "_blank")
      window.open(link[0].href, "OralbNewWindow");
    else
      window.location = link[0].href;
  }
}

function learnmore(URL) {
  if (URL != "") {
    window.location = URL;
  }
}

function topMenuNavigate(url) {
  //var currentURL = window.location.href.toString();
  //var reloadPage = false;
  //if((currentURL.indexOf("products/")> 0 && url.indexOf("products/") > 0)  || (currentURL.indexOf("topics/")> 0 && url.indexOf("topics/") > 0)){
  //	reloadPage = true;
  //}
  //if(reloadPage){
  //	window.location.href = url;
  //	window.location.reload(true)
  //}
}
/* All of this code is run for IE6 exclusively
and must only be available when the new 
siteElements.xml is in place */

/* recommend placing in it's own file */

$(function() {
  if ($.browser.msie && $.browser.version == 6) {
    var subNav1 = $(".navigation-secondary")[0];
    var subNav2 = $(".navigation-secondary")[1];
    var subNav3 = $(".navigation-secondary")[2];
    // define the first sub menu
    if ((typeof subNav1 || typeof subNav2 || typeof subNav3) != "undefined") { // do the following only if subnav exists (thus the new xml file)
      // simulates suckerfish menus via jQuery
      // and allows cells to be clicked as links
      $("#navigation-container>tbody>tr:first").addClass("nav-row");
      $(".nav-row>td").hover(
               function() {
                 $(this).find(".to-action").addClass("li-bg");
                 $(this).addClass("ie6-tab-fix");
                 $(this).bind("click", function() {
                   window.location = $(this).find("a").attr("href");
                 })
               },
               function() {
                 $(this).removeClass("ie6-tab-fix");
                 $(this).find(".to-action").removeClass("li-bg");
                 $(this).unbind("click");
               }
           );

      // fix ie6 menus to show proper widths
      // by reseting width via dom manipulation
      var ddMenus = $(".navigation-secondary");
      $(ddMenus).appendTo("body");
      $(ddMenus).each(function(i) {
        var ddMenuWidth = $(ddMenus[i]).width();
        $(ddMenus[i]).css("width", ddMenuWidth);
        var level0 = $("div.level-0");
        $(ddMenus[i]).appendTo(level0[i]);
      });
    };
  };
});

// used for skip to links in Safari and Chrome
$(function() {
  var webkit = navigator.userAgent.toLowerCase().indexOf('webkit') > -1;
  if (webkit) {
    var target = document.getElementById('skip-to-content');
    if (target != null) {
      target.href = "#skip-to-content";
      target.setAttribute('tabindex', '0');
      document.getElementById('skiplink').setAttribute("onclick", "document.getElementById('skip-to-content').focus();");
    }
  }
});

// increase tab width for longer link titles
$(function() {
  var primaryNav = $('div.level-0 > a');
  var aWidth = 800; // total real estate available
  var totalPadding = 0;
  var maxPadding = 80;

  $(primaryNav).each(function(j) {
    var aElement = $(primaryNav[j])[0];
    var padding = parseInt($(aElement).css("padding-left"), 10) +
    parseInt($(aElement).css("padding-right"), 10) +
    parseInt($(primaryNav[j]).css("padding-left"), 10) +
    parseInt($(primaryNav[j]).css("padding-right"), 10);

    aWidth -= ($.browser.msie && $.browser.version < 9) ? aElement.offsetWidth : parseInt(aElement.offsetWidth + padding, 10);
    totalPadding += padding;
  });

  if (aWidth > 0) {
    $(primaryNav).each(function(j) {
      var element = $(primaryNav[j])[0];
      var extraSpace = parseInt(aWidth / primaryNav.length, 10);

      extraSpace = extraSpace < 60 ? extraSpace : 60;

      if ($.browser.msie && $.browser.version < 9) {


        var elementAdjWidth = element.offsetWidth -
          parseInt($(element).css("padding-left"), 10) -
          parseInt($(element).css("padding-right"), 10) -
          parseInt($(primaryNav[j]).css("padding-left"), 10) -
          parseInt($(primaryNav[j]).css("padding-right"), 10);
        $(primaryNav[j]).css("width", (elementAdjWidth + extraSpace));
      } else {
        $(primaryNav[j]).css("width", (element.offsetWidth + extraSpace));
      }
    });
  } else { // text in nav > than space available, set to equal widths so they can wrap to two+ lines
    var equalWidth = ($.browser.msie && $.browser.version < 9) ? parseInt((800 - totalPadding) / primaryNav.length, 10) : parseInt(800 / primaryNav.length, 10);
    $(primaryNav).each(function(j) {
      $(primaryNav[j]).css("width", equalWidth);
    });
  }
});

