var query_box = null;
var email_box = null;
var query_text = 'Enter Keywords or UPC...';
var email_text = 'enter e-mail address...';
var cart_cookie = null;
var cart_items = 0;
var cart_total = 0.00;
var current_tab = null;
var new_products_page = 0;
var current_bottom_menu = null;
var current_new_product = null;
var json_callbacks = { "manufacturers": "/manufacturers.json", "goals": "/category/goals/?format=json", "bookmarks": "/wishlist/me?format=json" }
var menu_cache = {};
var current_page = 1;
var timerID;
var openTimer;
var isiPad = navigator.userAgent.match(/iPad/i) != null;
var page_image_for = {};
var page_link_for = {};
var current_page = 1;

function startWrap()
{
  timerID = setInterval("nextWrapPage();",10000);
}
function nextWrapPage()
{
  next_page = current_page + 1;
  if (next_page > 3)
    next_page = 1;
  wrap(next_page);
}
function wrap(disp)
{
  clearTimeout(timerID);
  link = document.getElementById('wrap_page_' + current_page)
  link.className = "wrap_num"
  current_page = disp;
  link = document.getElementById('wrap_page_' + current_page)
  link.className = "wrap_num selected"
  link.blur();

  prel = document.getElementById('wrap_preload');
  prel.style.background = "transparent url(" + page_image_for[current_page] + ") no-repeat top center"
  element = document.getElementById('wrap_container');
  fadeOut();
}
function fadeOut() {
  for (i = 0; i <= 1.05; i = i + 0.05) {
    setTimeout("setOpacity(" + (1 - i) + ")", i * 600);
  }
  setTimeout("doneWrap();",650);
}
function doneWrap()
{
  prel = document.getElementById('wrap_preload');

  $('wrap_link').href = page_link_for[current_page]

  prel_page = current_page + 1
  if (prel_page >= 3)
    prel_page = 1

  element.style.background = "transparent url(" + page_image_for[current_page] + ") no-repeat top center";
  prel.style.background = "transparent url(" + page_image_for[prel_page] + ") no-repeat top center"
  setOpacity(1.0);
  timerID = setInterval("nextWrapPage();",10000);
}
function setOpacity(level) 
{
  element.style.opacity = level;
  element.style.MozOpacity = level;
  element.style.KhtmlOpacity = level;
  element.style.filter = "alpha(opacity=" + (level * 100) + ");";
}
function init()
{
  cart_cookie = getCookie("cart");
  if (cart_cookie != null && cart_cookie != "") {
    try {
      peices = unescape(cart_cookie).split(";");
      items = parseInt(peices[0]);
      if (items == 1)
	$('cart_items').innerHTML = items + " item";
      else
	$('cart_items').innerHTML = items + " items";
      $('cart_total').innerHTML = peices[1];
    } catch (err) {
      cart_items = 0;
      cart_total = 0.00;
    }
  }

  if ($('new_back') && $('new_next')) {
    $('new_back').onclick = function () {
      new_products_page--;
      if (new_products_page < 0)
	new_products_page = 2;
      view_width = $('new_products_view').getWidth();
      page_width = view_width / 3;
      $('new_products_view_pane').scrollLeft = page_width * new_products_page;
      $('new_back').blur();
      return false;
    }
    $('new_next').onclick = function () {
      new_products_page++;
      if (new_products_page >= 3)
	new_products_page = 0;
      view_width = $('new_products_view').getWidth();
      page_width = view_width / 3;
      $('new_products_view_pane').scrollLeft = page_width * new_products_page;      
      $('new_next').blur();
      return false;
    }
  }

  try {
    $$('#new_products .overlay_link').each(function (e) {
        e.onmouseout = function () {
          $('overlay_' + this.getAttribute('rel')).style.display = 'none';
	  current_new_product = null;
        }
    });
    $$('#new_products .hoverlink').each(function (e) {
        e.onmouseover = function () {
          if (current_new_product != null)
	    current_new_product.style.display = 'none';
          $('overlay_' + this.getAttribute('rel')).style.display = 'block';
  	  current_new_product = $('overlay_' + this.getAttribute('rel'));
        }
    });
  } catch (err) {

  }

  email_box = $('newsletter_email');
  if (email_box) {
    email_box.value = email_text;
    email_box.style.color = "#777777";

    email_box.onfocus = function () {
      if (email_box.value == email_text) {
	email_box.value = '';
	email_box.style.color = '#000000';
      }
    }
    email_box.onblur = function () {
      if (email_box.value == '') {
	email_box.value = email_text;
	email_box.style.color = "#777777";
      }
    }
  }
  query_box = $('query');
  if (query_box) {
    query_box.value = query_text;
    query_box.style.color = "#777777";

    query_box.onfocus = function () {
      if (query_box.value == query_text) {
        query_box.value = '';
        query_box.style.color = '#000000';
      }
    }
    query_box.onblur = function () {
      if (query_box.value == '') {
        query_box.value = query_text;
        query_box.style.color = "#777777";
      }
    }
  }

  if (isiPad == false) {
  $$('#navbar .drop').each(function(e) {
    e.onclick = function () {
      if (current_bottom_menu != null) {
        current_bottom_menu.style.backgroundColor = "";
	if (current_bottom_menu == this) {
	  $('bottom_dropdown').style.display = 'none';
	  current_bottom_menu = null;
	  return false;
	}
      }
      current_bottom_menu = this;
      while ($('bottom_dropdown').childNodes.length >= 1) {
        $('bottom_dropdown').removeChild($('bottom_dropdown').firstChild);
      }
      if (menu_cache[current_bottom_menu.getAttribute('rel')] != null) {
        populateMenu(menu_cache[current_bottom_menu.getAttribute('rel')]);
      } else {
        new Ajax.Request(json_callbacks[current_bottom_menu.getAttribute('rel')], {
          method: 'GET',
          onSuccess: function(req) {
  	    var json = eval('(' + req.responseText + ')');
	    menu_cache[current_bottom_menu.getAttribute('rel')] = json;
	    populateMenu(json);
	  }
        });
      }

      if (getOffset(this).left > 850) {
	tmp = getOffset(current_bottom_menu).left + this.getWidth();
	$('bottom_dropdown').style.left = tmp - $('bottom_dropdown').getWidth();
      } else {
        $('bottom_dropdown').style.left = getOffset(current_bottom_menu).left + 'px';
      }
      $('bottom_dropdown').style.top = '176px';
      $('bottom_dropdown').style.display = 'block';
      current_bottom_menu.style.backgroundColor = "#333333";
      current_bottom_menu.blur();
      return false;
    }
  });
  }

  $$('#navbar .toplink').each(function (e) {
    e.onmouseout = function ()
    {
      if (openTimer != null)
        clearTimeout(openTimer);
    }
    e.onmouseover = function ()
    {
      if (current_tab != null || isiPad) {
        close_current_tab();
	current_tab = e;
	show_current_tab();
      } else {
        current_tab = e;
        openTimer = setTimeout("show_current_tab()",200);
      }
    }
  });
  b = document.getElementsByTagName("body")[0];
  b.onmouseover = function(ev)
  {
    if (current_tab != null)
    {
      elm = null;
      if (ev == null)
        ev = event;

      if (ev.srcElement)
        elm = ev.srcElement;
      else if (ev.target)
        elm = ev.target;

      if (is_child_of(elm,'top_navbar') == false) 
        close_current_tab();
    }
  }
  b.onmousedown = function (ev)
  {
    if (current_bottom_menu != null)
    {
      elm = null;
      if (ev == null)
	ev = event;

      if (ev.srcElement)
	elm = ev.srcElement;
      else if (ev.target)
	elm = ev.target;

      tmp = elm.getAttribute('class');
      if (tmp != null && tmp.indexOf('drop') >= 0)
	return false;

      if (elm.id != 'bottom_dropdown' && is_child_of(elm,'bottom_dropdown') == false) {
	current_bottom_menu.style.backgroundColor = "";
        $('bottom_dropdown').style.display = 'none';
	current_bottom_menu = null;
	return false;
      }
    }
  }
}

function populateMenu(json)
{
  var list = document.createElement('ul');
  json.each(function(e) {
    var item = document.createElement('li');
    var link = document.createElement('a');
    link.href = e.full_path;
    link.innerHTML = e.name;
    item.appendChild(link);
    list.appendChild(item);
  });
  $('bottom_dropdown').appendChild(list);
}
function show_current_tab()
{
  if (current_bottom_menu != null) {
    current_bottom_menu.style.backgroundColor = "";
    $('bottom_dropdown').style.display = 'none';
    current_bottom_menu = null;
  }

  current_tab.style.color = "#ebebeb";
  if (current_tab.parentNode.className.indexOf("first") != -1)
    current_tab.parentNode.style.background = "transparent url(/themes/newnp/images/navbar-hover.png) no-repeat top left";
  else if (current_tab.parentNode.className.indexOf("last") != -1)
    current_tab.parentNode.style.background = "transparent url(/themes/newnp/images/navbar-hover.png) no-repeat top right";
  else
    current_tab.parentNode.style.background = "transparent url(/themes/newnp/images/navbar-hover.png) no-repeat top center";
  menu_box = $(current_tab.getAttribute('rel'));
  menu_box.style.display = 'block';
  menu_box.style.top = "151px";

  navbar_right = getOffset($('navbar')).left + $('navbar').getWidth();
  if ((getOffset(current_tab.parentNode).left + menu_box.getWidth()) > navbar_right) {
    menu_box.style.left = ((getOffset(current_tab.parentNode).left + current_tab.parentNode.getWidth()) - menu_box.getWidth()) + 'px';
  } else {
    menu_box.style.left = getOffset(current_tab.parentNode).left + 'px';
  }
}
function is_child_of(elm, parent_id)
{
  p = $(parent_id);
  tmp = elm;
  while (tmp.parentNode != null) {
    tmp = tmp.parentNode;
    if (tmp.id == parent_id)
      return true;    
  }
  return false;
}
function close_current_tab()
{
  if (current_tab != null)
  {
    current_tab.style.color = "";
    current_tab.parentNode.style.background = "";
    menu_box = $(current_tab.getAttribute('rel'));
    menu_box.style.display = "none";
    current_tab = null;
  }
}
function getCookie(c_name)
{
  var i,x,y,ARRcookies=document.cookie.split(";");
  for (i=0;i<ARRcookies.length;i++) {
    x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
    y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
    x=x.replace(/^\s+|\s+$/g,"");
    if (x==c_name) {
      return unescape(y);
    }
  }
}
function getOffset( el ) {
    var _x = 0;
    var _y = 0;
    while( el && !isNaN( el.offsetLeft ) && !isNaN( el.offsetTop ) ) {
        _x += el.offsetLeft - el.scrollLeft;
        _y += el.offsetTop - el.scrollTop;
        el = el.offsetParent;
    }
    return { top: _y, left: _x };
}

