/**
 *
 * Script for Showing divs on roll over
 *
 */


var divs = new Array();
var elementsToHide = new Array();
var elementToShow = "";
var hideSubNav = false;
var subNavShown = false;

function init(){
   //get divs which show/hide
   divs = getElementsByClassName(document,"div","brand-div");
}


function mouseOver(elementId,object){
   //get position of the callee object
   var pos = findPos(object);
   //reference our object
   var targetingObject = document.getElementById(elementId);
   //show object
   elementToShow = elementId;
   showTimeOut = window.setTimeout('showObject()',200);
   //set position of the showed object
   targetingObject.style.left = pos[0]+177+'px';
   targetingObject.style.top = pos[1]+'px';

   //hide other divs
   for(i=0; i < divs.length; i++){
      if(divs[i] != targetingObject){
         divs[i].style.display = "none";
      }
   }
}


function mouseOverTopNav(elementId,object){
   //get position of the callee object
   var pos = findPos(object);
   //reference our object
   var targetingObject = document.getElementById(elementId);
   //show object
   elementToShow = elementId;
   showTimeOut = window.setTimeout('showObject()',200);
   //set position of the showed object
   //targetingObject.style.left = pos[0]-410+'px';
   targetingObject.style.top = pos[1]+10+'px';

   //hide other divs
   for(i=0; i < divs.length; i++){
      if(divs[i] != targetingObject){
         divs[i].style.display = "none";
      }
   }

   if(elementIdForTemporaryHide){
		document.getElementById(elementIdForTemporaryHide).style.display = "none";
   }
   subNavShown = true;
}





function showObject(){
   document.getElementById(elementToShow).style.display = "block";
   subNavShown = true;
}


function mouseOut(elementId){
   elementsToHide.push(document.getElementById(elementId));
   hideTimeOut = window.setTimeout(hideObject,800);
}


function divMouseOver(element){
   for(i=0;i<elementsToHide.length;i++){
      if(elementsToHide[i] == element){
         elementsToHide[i] = "isShown"; //it would be nicer to remove this element form array...
         break;
      }
   }
   //Commented out by Savvior - with this line in Our Wines subnav could not be navigated
   //document.getElementById(elementIdForTemporaryHide).style.display = "none";
    subNavShown = true;

}

function divMouseOut(element){
   elementsToHide.push(element);
   hideTimeOut = window.setTimeout(hideObject,800);
   subNavShown = false;
}



function hideObject(){

   for ( i = elementsToHide.length-1; i>= 0; i--){
		if(elementsToHide[i]!="isShown"){
			elementsToHide[i].style.display = "none";
		}
   }
   elementsToHide = new Array();
   if(elementIdForTemporaryHide && !subNavShown){
		document.getElementById(elementIdForTemporaryHide).style.display = "block";
   }

}


//------------------------------------------------------------------------------
// FINDING OBJECT POSITION
//------------------------------------------------------------------------------
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft;
		curtop = obj.offsetTop;
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		}
	}
	return [curleft,curtop];
}


/*
	Written by Jonathan Snook, http://www.snook.ca/jonathan
	Add-ons by Robert Nyman, http://www.robertnyman.com
*/

function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/-/g, "\-");
	var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}