/* 
Functions to control fly-outs on mouse rollovers
*/

/********************************************************************************************
/* Following functions control the left fly-out of the Supporting Documents on product pages*/

//Find out the numbers for table containing the document links
//Requires variables of intervalID1=0 and intervalID2=0 in the calling file
function moveDocsLink(docsTableID, docsIDTotal) {
	clearInterval(intervalID1);
	clearInterval(intervalID2);

	for (showStart = 201 ; showStart < docsIDTotal ; showStart++) {
		document.getElementById(showStart).style.display = 'none';
	}
	document.getElementById(docsTableID).style.display = '';
	document.getElementById(docsTableID).style.zIndex = '10';
	document.getElementById(docsTableID).width = '';
	docsTableWidth = document.getElementById(docsTableID).offsetWidth;
	if (docsTableWidth > 220) {
		document.getElementById(docsTableID).width = 220;
	}
	headerLeft = document.getElementById("header"+docsTableID).offsetLeft;
	document.getElementById(docsTableID).style.left = headerLeft +'px';
	headerTop = document.getElementById("header"+docsTableID).offsetTop - 4;
	document.getElementById(docsTableID).style.top  = headerTop +'px';
	numLoops = 0;
	stopPoint = headerLeft - docsTableWidth - 0;
	//document.getElementById(docsTableID).style.left = stopPoint +'px';
	clearInterval(intervalID1);
	intervalID1 = setInterval("timedMoveOut("+docsTableID+","+stopPoint+","+docsTableWidth+")", 10);
}
//Slowly move the table into view
function timedMoveOut(tblID,stopPoint,origTblWidth) {
	tableLeft = document.getElementById(tblID).offsetLeft;
	if (origTblWidth > 220 && (tableLeft - stopPoint) < 200) {
		document.getElementById(tblID).width = '';	
	}
	document.getElementById(tblID).style.left = tableLeft-5 +'px';
	if (tableLeft < (stopPoint+10)) {
		clearInterval(intervalID1);
		intervalID1 = setTimeout("timedPullback("+tblID+")",9000);
	} 
}
//Slowly move the table out of view
function timedMoveIn(tblID,stopPoint) {
	tableLeft = document.getElementById(tblID).offsetLeft;
	docsTableWidth = document.getElementById(tblID).offsetWidth;
	if (docsTableWidth > 220 && (stopPoint - tableLeft) < 105) {
		clearInterval(intervalID2);
		document.getElementById(tblID).style.display = 'none';		
	}
	document.getElementById(tblID).style.left = tableLeft+5 +'px';
	if (tableLeft >= (stopPoint)) {
		clearInterval(intervalID2);
		document.getElementById(tblID).style.display = 'none';
	} 
}
//Find the table numbers and table identifier
function timedPullback(tblID) {
	headerLeft = document.getElementById("header"+tblID).offsetLeft;
	tableLeft = document.getElementById(tblID).offsetLeft;
	if (headerLeft > tableLeft) {
		intervalID2 = setInterval("timedMoveIn("+tblID+","+headerLeft+")", 10);
	}
}
//Clear all previous identifiers before moving table out of view
function closeSlide(e,tblID) {
	clearInterval(intervalID1);
	clearInterval(intervalID2);
	timedPullback(tblID);
}
//Following two functions check to make sure that the mouse has actually left the table area
function checkMouseLeave (element, evt) {
  if (element.contains && evt.toElement) {
    return !element.contains(evt.toElement);
  }
  else if (evt.relatedTarget) {
    return !containsDOM(element, evt.relatedTarget);
  }
}
function containsDOM (container, containee) {
  var isParent = false;
  do {
    if ((isParent = container == containee))
      break;
    containee = containee.parentNode;
  }
  while (containee != null);
  return isParent;
}
/**************************************************************/
/* Drop down functions for the left navigation   
/*************************************************************/

function showNavTable(docsTableID, docsIDTotal) {
	varSaveDisplay = document.getElementById(docsTableID).style.display;
	for (showStart = 501 ; showStart < docsIDTotal ; showStart++) {
		document.getElementById(showStart).style.display = 'none';
		document.getElementById('plus'+showStart).innerHTML = '+ ';
	}
//	alert(varSaveDisplay);
	if (varSaveDisplay == 'none') {
		document.getElementById(docsTableID).style.display = '';
		document.getElementById('plus'+docsTableID).innerHTML = '- ';
	}
}

/********************************************************************/
function showCommentForm() {
	if (document.getElementById('commentForm').style.display == '') {
		document.getElementById('commentForm').style.display = 'none'
	} else {
		document.getElementById('commentForm').style.display = ''
	}
}
