// JavaScript Document

sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);



var defaultImg;

function init(){
	if(document.banner){
		defaultImg = document.banner.src;
	}
	// Quotes
	quotes_array = ["\"Farner-Bocken has the growth potential and family balance that encourages tremendous loyalty to the company and its goals.\"<br><div>-Chad -Since 1995</div><BR>\"Farner Bocken Company embodies a sense of family, loyalty, and quality leadership that is hard to find in many other businesses these days.  This creates a positive and fun environment to work in each day.\"<div>-Sara -Since 2005</div><BR>\"I have great memories of  things  that have happened in the past and I take great satisfaction in the growth of this company and being a part of it. It is who you work with  and the feeling like you belong that makes Farner-Bocken a special place to work.\"<div>-Dale -Since 1984</div><BR>\"It amazes me that as big as Farner is, it's still very family oriented.  The owners truly care about their employees and the community.\"<div>-Doug -Since 1998</div>",
					"\"I like working at a successful, growing company without fear of getting laid off. Farner-Bocken is understanding and flexible when I need time off for my family or my farm chores.\"<br><div>-Gerald -Since 1996</div>",
					"\"I like working with all of the great people at Farner-Bocken Company, and the family-oriented atmosphere I experience everyday!\"<br><div>-Kate -Since 2005</div>",
					"\"Farner-Bocken is a great company to work for because they offer many opportunities for advancement to their employees.  I started working in the Customer Service department and currently have a position in the Accounting Department.  They are a family-oriented company and have been flexible with my work schedule.  During my years here, I really have enjoyed all the great people that I've had a chance to work with.\"<br><div>-Tammy -Since 1997</div>",		
					"\"I enjoy working for Farner-Bocken, it is a well respected food distributing company and a great leader in the industry. It is a nice, state-of-the-art facility with the most up to date equipment. The company promotes within, so if you are willing to work hard and prove yourself you can move up the ladder and have a fulfilling and satisfying career.\"<br><div>-Jeff -Since 1994</div><BR><BR>\"I enjoy my work and my co-workers, it's like a second family.\"<br><div>-Deb -Since 1998</div>",
					"\"The reason I have worked for Farner-Bocken so long is because it is a  great family working environment and  has never had a lay-off in their history.\"<br><div>-Lonny -Since 1981</div>",			
					"\"I like to work at Farner-Bocken Company because the harder you work the more money you make through the incentive program. I also like the 401K and attendance bonus. The atmosphere is fun and I enjoy what I do.\"<br><div>-Heather -Since 2003</div>"					
									];
	rand = parseInt(Math.random()*quotes_array.length);
	rand=(isNaN(rand))?0:rand;
	
	if(document.getElementById('careersquote')) {
	document.getElementById('careersquote').innerHTML = quotes_array[rand];
	}
	person_array = ["images/Employees/group.jpg",
					"images/Employees/GeraldHahn.jpg",
					"images/Employees/KateBlock.jpg",
					"images/Employees/tammylangel.jpg",
					"images/Employees/JeffBaerDebMittelstadt.jpg",									
					"images/Employees/Lonny.jpg",				
					"images/Employees/HeatherViet.jpg"];
	
//	rand_person = parseInt(Math.random()*person_array.length);
//	rand_person=(isNaN(rand_person))?0:rand_person;
	if(document.getElementById('careers_person')) {
		document.getElementById('careers_person').style.backgroundImage = "url("+person_array[rand]+")";
	}

	if(document.getElementById('map')) {
		tooltip.init ();
	}


}

t=0;
ot=0;

var bannerPic = new Array();
bannerPic[0] = '../images/cs_default.jpg';
bannerPic[1] = '../images/cs_automotive.jpg';
bannerPic[2] = '../images/cs_beverages_01.jpg';
bannerPic[3] = '../images/cs_candy_01.jpg';
bannerPic[4] = '../images/cs_food_02.jpg';
bannerPic[5] = '../images/cs_grocery.jpg';
bannerPic[6] = '../images/cs_ice_cream.jpg';
bannerPic[7] = '../images/cs_supplies.jpg';
bannerPic[8] = '../images/cs_tobacco_01.jpg';
bannerPic[9] = '../images/cs_deli.jpg';
bannerPic[10] = '../images/fs_default.jpg';
bannerPic[11] = '../images/fs_appetizers.jpg';
bannerPic[12] = '../images/fs_breads_02.jpg';
bannerPic[13] = '../images/fs_canned.jpg';
bannerPic[14] = '../images/fs_chemicals.jpg';
bannerPic[15] = '../images/fs_dairy.jpg';
bannerPic[16] = '../images/fs_desserts.jpg';
bannerPic[17] = '../images/fs_drygoods.jpg';
bannerPic[18] = '../images/fs_meats.jpg';
bannerPic[19] = '../images/fs_paper.jpg';
bannerPic[20] = '../images/fs_pastries.jpg';
bannerPic[21] = '../images/fs_produce.jpg';
bannerPic[22] = '../images/fs_smallwares.jpg';
bannerPic[23] = '../images/fs_supplies.jpg';
var p = bannerPic.length;
var bannerpreLoad = new Array();
for (i = 0; i < p; i++) {
	bannerpreLoad[i] = new Image();
	bannerpreLoad[i].src = bannerPic[i];
}

function swapon(i) {
	if(t){clearTimeout(t);}
	if(ot){clearTimeout(ot);}
  document.banner.src = bannerpreLoad[i].src;
}
function swapoff() {
		ot = setTimeout('swapoff2()',100);
		
}
function swapoff2() {
	if(t){
		t = setTimeout('runSlideShow()', slideShowSpeed);
	}
	document.banner.src = defaultImg;
}







/* menuDropdown.js - implements a dropdown menu based on a HTML list

 * Author: Dave Lindquist (http://www.gazingus.org)
 * Modified by: Nicolas Lesbats (nicolas lesbats at laposte net)
 * Version: 0.1b (2004-03-11)
 */

var maxWidth = 50;
/* maximum width of the submenus (in 'em' units) */

var borderBox  = false;
var horizontal = new Array();
var menuTop    = new Array();
var menuHeight = new Array();
var menuLeft   = new Array();
var menuWidth  = new Array();

//window.onload = function() { loadMenu(); }
if(window.attachEvent)
   window.attachEvent("onload", loadMenu);
else if (window.addEventListener)
   window.addEventListener("load", loadMenu, false);

function loadMenu() {
  if (!document.getElementById) return;
  var i = 0, j, root, submenus, node, li, link, division;
  while (true) {
    root = document.getElementById("menuList" + (i + 1));
    if (root == null)
      break;
    submenus = root.getElementsByTagName("ul");
    division = root.parentNode;

    if (document.createElement) {
      /* Win/IE5-6 trick: makes the whole width of the submenus clickable
       */
      for (j = 0; j < submenus.length; j++) {
        node = submenus.item(j);
        if (node.className == "menu" && node.getElementsByTagName("ul").length == 0) {
          li = document.createElement("li");
          node.appendChild(li);
          li.style.position = "absolute";
          li.style.visibility = "hidden";
        }
      }
      /* checks whether the 'width' property applies to the border box or
       * the content box of an element
       */
      if (i == 0) {
        li.style.display = "block";
        li.style.padding = "0";
        li.style.width   = "2px";
        li.style.border  = "1px solid";
        if (li.offsetWidth == 2)
          borderBox = true;
      }
    }

    initializeMenu(root, division, i);

    for (j = 0; j < submenus.length; j++) {
      node = submenus.item(j);
      if (node.className == "menu") {
        link = node.previousSibling;
        while (link != null) {
          if (link.className == "actuator") {
            initializeSubmenu(node, link, root, division);
            node.set();
            break;
          }
          link = link.previousSibling;
        }
      }
    }
    i++;
  }
}

function initializeMenu(root, div, index) {

  horizontal[index] = menuIsHorizontal(root);
  menuTop[index]    = div.offsetTop;
  menuHeight[index] = div.offsetHeight;
  menuLeft[index]   = div.offsetLeft;
  menuWidth[index]  = div.offsetWidth;

  div.horizontal = function() {
    return horizontal[index];
  }

  div.checkMove = function() {
    if (this.hasMoved()) this.resetMenu();
  }

  div.hasMoved = function() {
    if (menuTop[index]    == this.offsetTop    &&
        menuHeight[index] == this.offsetHeight &&
        menuLeft[index]   == this.offsetLeft   &&
        menuWidth[index]  == this.offsetWidth)
      return false;
    return true;
  }

  div.resetMenu = function() {
    horizontal[index] = menuIsHorizontal(root);
    menuTop[index]    = this.offsetTop;
    menuHeight[index] = this.offsetHeight;
    menuLeft[index]   = this.offsetLeft;
    menuWidth[index]  = this.offsetWidth;

    var submenus = root.getElementsByTagName("ul");
    for (var j = 0; j < submenus.length; j++) {
      var node = submenus.item(j);
      if (node.className == "menu") {
        node.style.right = "";
        node.style.left  = "";
        if (!window.opera)
          node.style.width = "";
        node.set();
      }
    }
  }
}

function menuIsHorizontal(root) {
  var first = firstElement(root, "LI");
  if (first != null) {
    var second = first.nextSibling;
    while (second != null) {
      if (second.tagName == "LI") {
        first  = firstElement(first,  "A");
        second = firstElement(second, "A");
        if (first != null && second != null)
          if (first.offsetLeft == second.offsetLeft)
            return false;
        return true;
      }
      second = second.nextSibling;
    }
  }
  return true;
}

function initializeSubmenu(menu, actuator, root, div) {

  var parent = menu.parentNode;

  parent.onmouseover = function() {
    div.checkMove();
    menu.style.visibility = "visible";
  }

  actuator.onfocus = function() {
    div.checkMove();
    menu.style.visibility = "visible";
  }

  parent.onmouseout = function() {
    menu.style.visibility = "";
  }

  var tags = menu.getElementsByTagName("a");
  var link = tags.item(tags.length - 1);
  if (!link.onblur)
    link.onblur = function() {
      var node = link.parentNode.parentNode;
      while (node != menu) {
        node.style.visibility = "";
        node = node.parentNode.parentNode;
      }
      menu.style.visibility = "";
    }

  if (parent.parentNode == root) {
    menu.set = function() {
      setLocation1(this, actuator, root, div);
    }
  } else {
    menu.set = function() {
      setLocation2(this, actuator, div);
    }
  }
}

function setLocation1(menu, actuator, root, div) {
  var first = firstElement(menu, "LI");
  if (first != null)
    if (first.offsetParent == menu)
      setWidth(menu);
  if (div.horizontal()) {
    if (actuator.offsetParent == menu.offsetParent) {
      menu.style.left = actuator.offsetLeft + "px";
      menu.style.top  = actuator.offsetTop  + actuator.offsetHeight + "px";
    } else {
      /* happens in Win/IE5-6 when some ancestors are 'static' and have their
       * 'width' or 'height' different than 'auto' */
      var parent = actuator.offsetParent;
      var top  = 0;
      var left = 0;
      while (parent != menu.offsetParent && parent != null) {
        top  = top  + parent.offsetTop;
        left = left + parent.offsetLeft;
        parent = parent.offsetParent;
      }
      menu.style.left = left + actuator.offsetLeft + "px";
      menu.style.top  = top  + actuator.offsetTop  + actuator.offsetHeight + "px";
    }
  } else {
    menu.style.top = actuator.offsetTop + "px";
    menu.style.left = (div.offsetWidth + actuator.offsetWidth) / 2 + "px";
  }
}

function setLocation2(menu, actuator, div) {
  if (menu.offsetParent != document.body)
    setWidth(menu);
  menu.style.top = actuator.offsetTop + "px";
  menu.style.left = actuator.offsetWidth + "px";
}

function setWidth(menu) {
  menu.style.right = - maxWidth + "em";
  var width  = 0;
  var height = 0;
  var items = menu.getElementsByTagName("a");
  for (var i = 0; i < items.length; i++) {
    var link = items.item(i);
    if (link.parentNode.parentNode == menu) {
      height = height + link.offsetHeight;
      if (link.offsetWidth > width)
        width = link.offsetWidth;
    }
  }
  if (borderBox)
    width = width + (menu.offsetHeight - height);
  menu.style.width = width + "px";
}

function firstElement(node, name) {
  var first = node.firstChild;
  while (first != null) {
    if (first.tagName == name)
      return first;
    first = first.nextSibling;
  }
  return null;
}

function updateClientGrpField() {
	document.forms[0].elements["clientGrp"].value = 
	
    document.forms[0].elements["clientGroups"].options[document.forms[0].elements["clientGroups"].selectedIndex].value;
	document.forms[0].elements["chainNum"].value = "";
}

function updateChainNumField() {
	document.forms[0].elements["chainNum"].value = 
	
        document.forms[0].elements["topChains"].options[document.forms[0].elements["topChains"].selectedIndex].value;
}

function updateCGChainNum(what, count) {
     value = document.forms[0].elements["topChains"].options[document.forms[0].elements["topChains"].selectedIndex].value;
	
    for (var i = 0, oldpos = -1; i<count-1; i++) {
        pos = value.indexOf('&',oldpos+1);
        data = value.substring(oldpos+1,pos);
		
		document.forms[0].elements["clientGrp"].value = value.substring(oldpos+1,pos);
		oldpos = pos;
    }
		
    document.forms[0].elements["chainNum"].value = value.substring(oldpos+1,value.length)
}

function updateSubChainNumField(chain) {
	var subChain = chain;	
	opener.document.forms[0].elements["chainNum"].value = subChain;
	self.close();
}

function updateEntNumField(entity) {
	var subEntity = entity;	
	opener.document.forms[0].elements["entityNum"].value = subEntity;
	self.close();
}

function lookupMidListEnt(cg, cn, et){
var cgroup = cg;
var chain = cn;
var entity = et;
path = opener.document.forms[0].elements["path"].value;
var url = path+"/MidList.do?CGRP="+cgroup+"&CHN="+chain+"&ENT="+entity;
document.getElementById('results').style.width = 500;
document.getElementById('results').style.height = 600;
document.getElementById('results').src = url;
}	
function lookupMidList(cg, cn){
var cgroup = cg;
var chain = cn;
path = opener.document.forms[0].elements["path"].value;
var url = path+"/MidList.do?CGRP="+cgroup+"&CHN="+chain;
document.getElementById('results').style.width = 500;
document.getElementById('results').style.height = 600;
document.getElementById('results').src = url;
}

function lookupEntMidList(cg, et){
var cgroup = cg;
var entity = et;
path = opener.document.forms[0].elements["path"].value;
var url = path+"/MidList.do?CGRP="+cgroup+"&ENT="+entity;
document.getElementById('results').style.width = 500;
document.getElementById('results').style.height = 600;
document.getElementById('results').src = url;
}	

function lookupSingleHierarchyEnt() {
cgroup = document.forms[0].elements["clientGrp"].value;
chainnum = document.forms[0].elements["chainNum"].value;
entityNum = document.forms[0].elements["entityNum"].value;
path = document.forms[0].elements["path"].value;
url = path+"/Hier.do?CGRP="+cgroup+"&CHN="+chainnum+"&ENT_CHAIN="+entityNum;
window.open(url,'MidList','width=850,height=650,status,scrollbars,resizeable=1')    
}

function lookupSingleHierarchy() {
cgroup = document.forms[0].elements["clientGrp"].value;
chainnum = document.forms[0].elements["chainNum"].value;
path = document.forms[0].elements["path"].value;
url = path+"/Hier.do?CGRP="+cgroup+"&CHN="+chainnum;
window.open(url,'MidList','width=850,height=650,status,scrollbars,resizeable=1')    
}

function lookupSubChainHierarchy(cg, chn) {
cgroup = cg;
chainnum = chn;
path = opener.document.forms[0].elements["path"].value;
url = path+"/Hier.do?CGRP="+cgroup+"&CHN="+chainnum;
window.open(url,'MidList','width=850,height=650,status,scrollbars,resizeable=1')
      
}
function lookupSubChainHierarchyEnt(cg, chn, et) {
cgroup = cg;
chainnum = chn;
entity = et;
path = opener.document.forms[0].elements["path"].value;
url = path+"/Hier.do?CGRP="+cgroup+"&CHN="+chainnum+"&ENT="+entity;
window.open(url,'MidList','width=850,height=650,status,scrollbars,resizeable=1')
      
}
function lookupEntityHierarchy() {
cgroup = document.forms[0].elements["clientGrp"].value;
topentity = document.forms[0].elements["entityNum"].value;
path = document.forms[0].elements["path"].value;
url = path+"/Hier.do?CGRP="+cgroup+"&ENT="+topentity;
window.open(url,'MidList','width=850,height=650,status,scrollbars,resizeable=1')
    
}

function printFrame(frameName)
{
   // test for nested frame first, and print if present
   if(window.frames[frameName].frames['report'])
   {
      window.frames[frameName].frames['report'].focus();
      window.frames[frameName].frames['report'].print();
      return;
   }
   
   // otherwise, print the iframe itself
   parent[frameName].focus();
   parent[frameName].print();
}
