
function ToggleQuickLinksMenu() {
   	QuickLinksMenu = document.getElementById('QuickLinksMenu');
  	QuickLinksButton = document.getElementById('QuickLinksButton');

   QuickLinksMenu.style.left = getposOffset(QuickLinksButton, "left") - 100;
   QuickLinksMenu.style.top = getposOffset(QuickLinksButton, "top") + QuickLinksButton.offsetHeight;

   if (QuickLinksMenu.style.visibility == "hidden") {
     	QuickLinksMenu.style.visibility = "visible";
     	QuickLinksMenu.style.display = 'block';
   } else {
     	QuickLinksMenu.style.visibility = "hidden";
     	QuickLinksMenu.style.display = 'none';
   }
 }
 
var origHeight, origWidth;
var coll = "";
var styleObj = "";
var isMac, isPC;
if (navigator.platform.indexOf('Mac') != -1) {
	isMac = true;
} else {
	isPC = true;
}

if (document.layers) {
	origWidth = innerWidth;
	origHeight = innerHeight;
} else if (document.all) {
	coll = "all.";
	//styleObj = ".style";
} else if (document.getElementById) {
	coll = "getElementById('";
	//styleObj = "').style";
	styleObj = "')";
}

function fixLayer(lname) {
	var fixedLayer;
	if (document.layers) {
		fixedLayer = "document." + lname;
	} else if (document.all) {
		fixedLayer = "document.all." + lname;
	} else if (document.getElementById) {
		fixedLayer = "document.getElementById('" + lname + "')";
	}
	return fixedLayer;
}

function fixLayerLong(lname) {
	var fixedLayer;
	
	if (document.layers) {
		//alert("document." + lname);
		fixedLayer = eval("document." + lname);
	} else {
		//alert("document." + coll + lname + styleObj);
		fixedLayer = eval("document." + coll + lname + styleObj);
	}
	return fixedLayer;
}


function swap(image, over) {
	if (over) {
		document.images[image].src = document.images[image].src.replace(/_off/gi, '_over');
	} else {
		document.images[image].src = document.images[image].src.replace(/_over/gi, '_off');
	}
}

function swapIconLbl(imagesrc,over) {
	if (over) {
		document.images['icon_lbl'].src = imagesrc;
	} else {
		document.images['icon_lbl'].src = '/img/spacer.gif';
	}
}

function writeToLayer(layerName,layerText) {
  layerObj = fixLayerLong(layerName);
	
  if (document.layers) {
    with (layerObj) {
      document.write(layerText);
      document.close();
    }
  } else if (document.all) {
    layerObj.innerHTML = layerText;
  } else if (document.getElementById) {
    layerObj.innerHTML = layerText;
  }
}

function printWin(thisURL) {
	popWin= window.open(thisURL,"printWin", "width=600,height=500,scrollbars=1,resizable=1,menubar=1,toolbar=1");
	popWin.focus();
}

function emailWin(thisURL) {
	popWin = window.open('/utils/email.html?pageurl=' + thisURL, "emailWin", "width=650,height=500,scrollbars=1,resizable=1,menubar=1,toolbar=1");
	popWin.focus();
}

//USE: <a href="javascript:nonPgSite('http://www.patchlink.com')">www.patchlink.com</a>
function nonPgSite(htmlUrl) {
var content1="<SCRIPT LANGUAGE='JavaScript'>function outtahere(url){window.opener.location=url;self.close();}</SCRIPT><html><head><title>You are now leaving the JDA Site</title></head><body bgcolor='#FFFFFF' onLoad='self.focus();' onBlur='self.focus();'>"
var content2="<"
var content3="<p align='center'>You are now leaving the JDA web site. Links to other sites are provided as a convenience to the user. JDA accepts no responsibility for the content of linked sites.</p>"
var content4="<br><p align='center'><form name='goingToNonPgSite'><input type='submit' name='submit' value='Continue' onclick=javascript:outtahere('" + htmlUrl + "') ;>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='submit' name='submit' value='Cancel' onclick='self.close()';></form></p></td></tr></table></body></html>"
if (document.all) {
	var xMax = screen.width, yMax = screen.height
	}
	else if (document.layers) {
			var xMax = window.outerWidth, yMax = window.outerHeight
			}
		else {
			var xMax = 640, yMax=480
			} 
var xOffset = (xMax - 390)/2, yOffset = (yMax - 290)/2; 
remote = window.open('','myRemote','width=390,height=290,screenX='+xOffset+',screenY='+yOffset+',top='+yOffset+',left='+xOffset+'','myWindow');
remote.document.write(content1+content2+content3+content4)
remote.focus()
remote.document.close()
}



//<a href="javascript:rs('details','path_to_file',500,270,0,1)"></a>
var remote=null;
function rs(n,u,w,h,x,no) {

if ( no == 1 ) {
  remote=window.open(u,n,'width='+w+',height='+h+',resizable=no,scrollbars=no,status=0');
}
if ( no == 2 ) {
  remote=window.open(u,n,'width='+w+',height='+h+',resizable=1,scrollbars=1,menubar=1,location=1,toolbar=1,status=0');
}
else {
  remote=window.open(u,n,'width='+w+',height='+h+',resizable=yes,scrollbars=yes,status=0');
}
if (remote != null) {
remote.focus();
if (remote.opener == null )
remote.opener = self;
}
if (x==1){return remote;}
}


function showStatus(sMsg) {
    window.status = sMsg ;
    return true ;
}


// function for opening side DIV in subnav.
// USAGE: 
//	<td align="left" valign="top" class="sub_header"  onClick="toggleDiv('NAME'); return false;">Header Name Here</td>
//	<tr id="NAME">

function toggleDiv(e) {
  var imageTitle;
  var div = document.getElementById(e);
  var display = div.style.display;

  if (display == "none") {
    div.style.display = "";
    //imageTitle = "bluearrow2.gif";
  }
  else if (display == "") {
    div.style.display = "none";
    //imageTitle = "bluearrow.gif";
  }
}

//  Usage:
//  <a href="javascript:void(0)" onmousedown="displayToggle('PortalLayer');return false;">Change Portal</a>
//  <div id="PortalLayer" style="display:none;"><br>
//  </div>

function displayToggle(id) { 
var el = document.getElementById(id).style; 

if(el.display == "none") { 
el.display = ""; 
} 
else if(el.display == "") { 
el.display = "none"; 
} 
} 

function displayPSToggle(id) { 
var el = document.getElementById(id).style; 
if(el.display == "none") { 
el.display = ""; 
document.images[el + 'img'].src = "/partners/img/11x11_arrow.gif";
} 
else if(el.display == "") { 
el.display = "none"; 
document.images[el + 'img'].src = "/img/spacer.gif";
} 
} 

function displayImageToggle(id) { 
var el = document.getElementById(id).style; 
if(el.display == "none") { 
el.display = ""; 
document.images[el + 'img'].src = "/img/div_plus.gif";
} 
else if(el.display == "") { 
el.display = "none"; 
document.images[el + 'img'].src = "/img/div_minus.gif";
} 
} 


function swapIconLbl(imagesrc,over) {
	if (over) {
		document.images['icon_lbl'].src = imagesrc;
	} else {
		document.images['icon_lbl'].src = '/img/spacer.gif';
	}
}



function option1(form,doc_name) 
	{
	//undate hidden ProductID field before posting
	form.ProductID.value = doc_name;
	document.theForm.submit();
	}
	
	
	
	
var dragapproved=false
var minrestore=0
var initialwidth,initialheight
var ie5=document.all&&document.getElementById
var ns6=document.getElementById&&!document.all

function iecompattest(){
return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function drag_drop(e){
if (ie5&&dragapproved&&event.button==1){
document.getElementById("dwindow").style.left=tempx+event.clientX-offsetx+"px"
document.getElementById("dwindow").style.top=tempy+event.clientY-offsety+"px"
}
else if (ns6&&dragapproved){
document.getElementById("dwindow").style.left=tempx+e.clientX-offsetx+"px"
document.getElementById("dwindow").style.top=tempy+e.clientY-offsety+"px"
}
}

function initializedrag(e){
offsetx=ie5? event.clientX : e.clientX
offsety=ie5? event.clientY : e.clientY
document.getElementById("dwindowcontent").style.display="none" //extra
tempx=parseInt(document.getElementById("dwindow").style.left)
tempy=parseInt(document.getElementById("dwindow").style.top)

dragapproved=true
document.getElementById("dwindow").onmousemove=drag_drop
}

function loadwindow(url,width,height){
if (!ie5&&!ns6)
window.open(url,"","width=width,height=height,scrollbars=1")
else{
document.getElementById("dwindow").style.display=''
document.getElementById("dwindow").style.width=initialwidth=width+"px"
document.getElementById("dwindow").style.height=initialheight=height+"px"
document.getElementById("dwindow").style.left="30px"
document.getElementById("dwindow").style.top=ns6? window.pageYOffset*1+30+"px" : iecompattest().scrollTop*1+30+"px"
document.getElementById("cframe").src=url
}
}

function maximize(){
if (minrestore==0){
minrestore=1 //maximize window
document.getElementById("maxname").setAttribute("src","restore.gif")
document.getElementById("dwindow").style.width=ns6? window.innerWidth-20+"px" : iecompattest().clientWidth+"px"
document.getElementById("dwindow").style.height=ns6? window.innerHeight-20+"px" : iecompattest().clientHeight+"px"
}
else{
minrestore=0 //restore window
document.getElementById("maxname").setAttribute("src","max.gif")
document.getElementById("dwindow").style.width=initialwidth
document.getElementById("dwindow").style.height=initialheight
}
document.getElementById("dwindow").style.left=ns6? window.pageXOffset+"px" : iecompattest().scrollLeft+"px"
document.getElementById("dwindow").style.top=ns6? window.pageYOffset+"px" : iecompattest().scrollTop+"px"
}

function closeit(){
document.getElementById("dwindow").style.display="none"
}

function stopdrag(){
dragapproved=false;
document.getElementById("dwindow").onmousemove=null;
document.getElementById("dwindowcontent").style.display="" //extra
}


// FOR USE ON PRODUCT PAGES: 
function showContent(tab, name)
{

 selectedTab = tab;
  for(l = 0; l < tabs.length; l++)
  {
    document.getElementById(tabs[l]).style.display = (name == tabs[l]) ? 'block':'none';
    //document.getElementById("td"+tabs[l]).className = (name == tabs[l]) ? "tabLinkOn" : "tabLinkOff";
    document.getElementById("td"+tabs[l]).className = (name == tabs[l]) ? "tabOn" : "tabOff";
    document.getElementById("tdline"+tabs[l]).className = (name == tabs[l]) ? "lineOn" : "lineOff";

  }
  return false;
}


function showPSContent(tab, name)
{

 selectedTab = tab;
  for(l = 0; l < tabs.length; l++)
  {
    document.getElementById(tabs[l]).style.display = (name == tabs[l]) ? 'block':'none';
    document.getElementById("td"+tabs[l]).className = (name == tabs[l]) ? "pstabOn" : "pstabOff";
    document.getElementById("td2"+tabs[l]).className = (name == tabs[l]) ? "pstabOn" : "pstabOff";
  }
  return false;
}


var ie=document.all
var ns6=document.getElementById&&!document.all

function ietruebody(){
return (document.compatMode && document.compatMode!="BackCompat" && !window.opera)? document.documentElement : document.body
}

function enlarge(which, e, tableID, position, imgwidth, imgheight){
if (ie||ns6){

crossobj = document.all ? document.all[tableID] : document.getElementById(tableID);
//crossobj=document.getElementById? document.getElementById("showimage") : document.all.showimage
if (position=="center"){
pgyoffset=ns6? parseInt(pageYOffset) : parseInt(ietruebody().scrollTop)
horzpos=ns6? pageXOffset+window.innerWidth/2-imgwidth/2 : ietruebody().scrollLeft+ietruebody().clientWidth/2-imgwidth/2
vertpos=ns6? pgyoffset+window.innerHeight/2-imgheight/2 : pgyoffset+ietruebody().clientHeight/2-imgheight/2
if (window.opera && window.innerHeight) //compensate for Opera toolbar
vertpos=pgyoffset+window.innerHeight/2-imgheight/2
vertpos=Math.max(pgyoffset, vertpos)
}
else{
var horzpos=ns6? pageXOffset+e.clientX : ietruebody().scrollLeft+event.clientX
var vertpos=ns6? pageYOffset+e.clientY : ietruebody().scrollTop+event.clientY
}
//text ="Take away those final minutes in  Dallas, and the Redskins' offense has performed no better than it has in virtually every game since Gibbs returned last season. Maybe the confidence from overcoming the Cowboys will reverse this trend. Maybe Brunell is not mediocre after all. But for the offense to become more consistently good, Brunell's rebirth has to be for real. And that's doubtful"
crossobj.style.left=horzpos+"px"
crossobj.style.top=vertpos+"px"
//crossobj.innerHTML='<div align="right" id="dragbar"><span id="closetext" onClick="closepreview()">Close</span> </div><br>' + text;
crossobj.innerHTML='<div align="right" id="dragbar"><span id="closetext" onClick="closepreview()">Close</span> </div><img src="'+which+'">'
crossobj.style.visibility="visible"
return false
}
else //if NOT IE 4+ or NS 6+, simply display image in full browser window
return true
}

function closepreview(){
crossobj.style.visibility="hidden"
}

function drag_drop(e){
if (ie&&dragapproved){
crossobj.style.left=tempx+event.clientX-offsetx+"px"
crossobj.style.top=tempy+event.clientY-offsety+"px"
}
else if (ns6&&dragapproved){
crossobj.style.left=tempx+e.clientX-offsetx+"px"
crossobj.style.top=tempy+e.clientY-offsety+"px"
}
return false
}

function initializedrag(e){
if (ie&&event.srcElement.id=="dragbar"||ns6&&e.target.id=="dragbar"){
offsetx=ie? event.clientX : e.clientX
offsety=ie? event.clientY : e.clientY

tempx=parseInt(crossobj.style.left)
tempy=parseInt(crossobj.style.top)

dragapproved=true
document.onmousemove=drag_drop
}
}

document.onmousedown=initializedrag
document.onmouseup=new Function("dragapproved=false")


// Following functions used for search of products on pages:


function getposOffset(overlay, offsettype){
var totaloffset=(offsettype=="left")? overlay.offsetLeft : overlay.offsetTop;
var parentEl=overlay.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}

function overlay(curobj, subobj){
if (document.getElementById){
var subobj=document.getElementById(subobj)
subobj.style.left=getposOffset(curobj, "left")+"px"
subobj.style.top=getposOffset(curobj, "top")+"px"
subobj.style.display="block"
return false
}
else
return true
}

function overlayclose(subobj){
document.getElementById(subobj).style.display="none"
}

/// IMAGES

function ImageExpander(oThumb, sImgSrc)
{
	// store thumbnail image and overwrite its onclick handler.
	this.oThumb = oThumb;
	this.oThumb.expander = this;
	this.oThumb.onclick = function() { this.expander.expand(); }
	
	// record original size
	this.smallWidth = oThumb.offsetWidth;
	this.smallHeight = oThumb.offsetHeight;	

	this.bExpand = true;
	this.bTicks = false;
	
	// self organized list
	if ( !window.aImageExpanders )
	{
		window.aImageExpanders = new Array();
	}
	window.aImageExpanders.push(this);

	// create the full sized image.
	this.oImg = new Image();
	this.oImg.expander = this;
	this.oImg.onload = function(){this.expander.onload();}
	this.oImg.src = sImgSrc;
}

ImageExpander.prototype.onload = function()
{
	this.oDiv = document.createElement("div");
	document.body.appendChild(this.oDiv);
	this.oDiv.appendChild(this.oImg);
	this.oDiv.style.position = "absolute";
	this.oDiv.expander = this;
	this.oDiv.onclick = function() {this.expander.toggle();};
	this.oImg.title = "Click to reduce.";
	this.bigWidth = this.oImg.width;
	this.bigHeight = this.oImg.height;
	
	if ( this.bExpand )
	{
		this.expand();
	}
	else
	{
		this.oDiv.style.visibility = "hidden";
		this.oImg.style.visibility = "hidden";
	}
}
ImageExpander.prototype.toggle = function()
{
	this.bExpand = !this.bExpand;
	if ( this.bExpand )
	{
		for ( var i in window.aImageExpanders )
			if ( window.aImageExpanders[i] !== this )
				window.aImageExpanders[i].reduce();
	}
}
ImageExpander.prototype.expand = function()
{
	// set direction of expansion.
	this.bExpand = true;

	// set all other images to reduce
	for ( var i in window.aImageExpanders )
		if ( window.aImageExpanders[i] !== this )
			window.aImageExpanders[i].reduce();

	// if not loaded, don't continue just yet
	if ( !this.oDiv ) return;
	
	// hide the thumbnail
	this.oThumb.style.visibility = "hidden";
	
	// calculate initial dimensions
	this.x = this.oThumb.offsetLeft;
	this.y = this.oThumb.offsetTop;
	this.w = this.oThumb.clientWidth;
	this.h = this.oThumb.clientHeight;
	
	this.oDiv.style.left = this.x + "px";
	this.oDiv.style.top = this.y + "px";
	this.oImg.style.width = this.w + "px";
	this.oImg.style.height = this.h + "px";
	this.oDiv.style.visibility = "visible";
	this.oImg.style.visibility = "visible";
	
	// start the animation engine.
	if ( !this.bTicks )
	{
		this.bTicks = true;
		var pThis = this;
		window.setTimeout(function(){pThis.tick();},25);	
	}
}
ImageExpander.prototype.reduce = function()
{
	// set direction of expansion.
	this.bExpand = false;
}
ImageExpander.prototype.tick = function()
{
	// calculate screen dimensions
	var cw = document.body.clientWidth;
	var ch = document.body.clientHeight;
	var cx = document.body.scrollLeft + cw / 2;
	var cy = document.body.scrollTop + ch / 2;

	// calculate target
	var tw,th,tx,ty;
	if ( this.bExpand )
	{
		tw = this.bigWidth;
		th = this.bigHeight;
		if ( tw > cw )
		{
			th *= cw / tw;
			tw = cw;
		}	
		if ( th > ch )
		{
			tw *= ch / th;
			th = ch;
		}
		tx = cx - tw / 2;
		ty = cy - th / 2; 
	}
	else
	{
		tw = this.smallWidth;
		th = this.smallHeight;
		tx = this.oThumb.offsetLeft;
		ty = this.oThumb.offsetTop;
	}	
	// move 5% closer to target
	var nHit = 0;
	var fMove = function(n,tn) 
	{
		var dn = tn - n;
		if ( Math.abs(dn) < 3 )
		{
			nHit++;
			return tn;
		}
		else
		{
			return n + dn / 10;
		}
	}
	this.x = fMove(this.x, tx);
	this.y = fMove(this.y, ty);
	this.w = fMove(this.w, tw);
	this.h = fMove(this.h, th);
	
	this.oDiv.style.left = this.x + "px";
	this.oDiv.style.top = this.y + "px";
	this.oImg.style.width = this.w + "px";
	this.oImg.style.height = this.h + "px";

	// if reducing and size/position is a match, stop the tick	
	if ( !this.bExpand && (nHit == 4) )
	{
		this.oImg.style.visibility = "hidden";
		this.oDiv.style.visibility = "hidden";
		this.oThumb.style.visibility = "visible";

		this.bTicks = false;
	}
	
	if ( this.bTicks )
	{
		var pThis = this;
		window.setTimeout(function(){pThis.tick();},25);
	}
}


//IMAGE RESIZE CODE
var xPosition = 0;
var yPosition = 0;
var isNS = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) >= 4);

function position(elementName)
{
	Elem = document.images[elementName];
	if(!isNS)
	{
		//calculate the y position
		xPosition = eval(Elem).offsetLeft;
		tempElem = eval(Elem).offsetParent;
		while (tempElem != null) 
		{
			xPosition += tempElem.offsetLeft;
			tempElem = tempElem.offsetParent;
		}

		//calculate the y position
		yPosition = eval(Elem).offsetTop;
		tempElem = eval(Elem).offsetParent;
		while (tempElem != null) 
		{
			yPosition += tempElem.offsetTop;
			tempElem = tempElem.offsetParent;
		}

		xPosition = xPosition - ( navigator.platform == "MacPPC" ? 300 : 25 );
		yPosition = yPosition + ( navigator.platform == "MacPPC" ? -30 : 20 );
	}
	else
	{	
		xPosition = eval(Elem).x;
		yPosition = eval(imgElem).y;
	}
}

/* Show an object */
function showObject(elementName,object) 
{	
	var objLeft,objTop;

	position( elementName );
	
	width1 = eval("document.all."+elementName+".width");
	width2 = 300;
	objLeft = xPosition - (width2-width1);
	objTop = yPosition;
	//object.style.left = objLeft + 11;
	//object.style.top = objTop - 25;
	object.style.left = 25;
	object.style.top =  25;	
	object.style.borderColor = 'black';
	object.style.visibility = "visible";
}

/* Hide an object */	
function hideObject(object)
{
	object.style.visibility = "hidden";
}
	
	
// FORM ERROR CHECKING FUNCTIONS:

function WithoutContent(ss) {
if(ss.length > 0) { return false; }
return true;
}

function NoneWithContent(ss) {
for(var i = 0; i < ss.length; i++) {
	if(ss[i].value.length > 0) { return false; }
	}
return true;
}

function NoneWithCheck(ss) {
for(var i = 0; i < ss.length; i++) {
	if(ss[i].checked) { return false; }
	}
return true;
}

function WithoutCheck(ss) {
if(ss.checked) { return false; }
return true;
}

function WithoutSelectionValue(ss) {
for(var i = 0; i < ss.length; i++) {
	if(ss[i].selected) {
		if(ss[i].value.length) { return false; }
		}
	}
return true;
}	

 function ToggleSearchMenu() {
   searchMenu = document.getElementById('SearchMenu');
   searchButton = document.getElementById('SearchButton');

   searchMenu.style.left = getposOffset(searchButton, "left") - 300;
   searchMenu.style.top = getposOffset(searchButton, "top") + searchButton.offsetHeight;

   if (searchMenu.style.visibility == "hidden") {
     searchMenu.style.visibility = "visible";
     searchMenu.style.display = 'block';
   } else {
     searchMenu.style.visibility = "hidden";
     searchMenu.style.display = 'none';
   }
 }

function getposOffset(what, offsettype){
 var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
 var parentEl=what.offsetParent;
 while (parentEl!=null){
   totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
   parentEl=parentEl.offsetParent;
 }
 return totaloffset;
}

// clears field for search keyword 
function clearText(thefield){
if (thefield.defaultValue==thefield.value)
thefield.value = ""
}