function MM_swapImgRestore() 
{ //v3.0
  var i,x,a=document.MM_sr; 
  
  for(i=0; a && i<a.length && (x=a[i]) && x.oSrc; i++)
  {
  	x.src=x.oSrc;
  }
}


function MM_preloadImages() 
{ //v3.0
  var d=document; 
  
  if(d.images)
  { 
  	if(!d.MM_p) 
  	{
  		d.MM_p=new Array();
  	}
    
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; 
    
    for(i=0; i<a.length; i++)
    {
    	if (a[i].indexOf("#")!=0)
    	{ 
    		d.MM_p[j]=new Image; 
    		d.MM_p[j++].src=a[i];
    	}
    }
   }
}


function MM_findObj(n, d) 
{ //v4.01
  var p,i,x;  
  
  if(!d) 
  {	
  	d=document;
  }
  
  if((p=n.indexOf("?"))>0&&parent.frames.length) 
  {
  	d=parent.frames[n.substring(p+1)].document; 
  	n=n.substring(0,p);
  }
  
  if(!(x=d[n])&&d.all)
  {
  	x=d.all[n];
  }
  
  for (i=0;!x&&i<d.forms.length;i++) 
  {	
  	x=d.forms[i][n];
  }
  
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) 
  {
  	x=MM_findObj(n,d.layers[i].document);
  }
  
  if(!x && d.getElementById) 
  {
  	x=d.getElementById(n); 
  }
  	
  return x;
}


function MM_swapImage() 
{ //v3.0
   var i,j=0,x,a=MM_swapImage.arguments; 
   document.MM_sr=new Array; 
   
   for(i=0;i<(a.length-2);i+=3)
   {
   	if ((x=MM_findObj(a[i]))!=null)
   	{
   		document.MM_sr[j++]=x;
   		
   		if(!x.oSrc)
   		{
   			x.oSrc=x.src;
   		}
   		
   		x.src=a[i+2];
   	}
   }
}


function MM_openBrWindow(theURL,winName,features) 
{ //v2.0
  window.open(theURL,winName,features);
}


function linkOver(id)
{
	id.className = "linkHover";
}

function linkOut(id)
{
	id.className = "link";
}



//Definition Functions
//********************

var locate = true;

function showDefinition(definition, id, cOffsetX, cOffsetY)
{
	if (BrowserDetect.browser == "Explorer") 
	{
		//alert("In explorer area"); //simple test
		
		if (locate)
		{
			locate = false;
		
			floatDef.style.left = event.offsetX + cOffsetX;
			floatDef.style.top = event.offsetY + cOffsetY;
			
			floatDef.innerHTML = defTable(definition);
		}
	} 
	else
	{
		id.title = definition;
		//alert("You are using an unsupported browser.\n\nPlease visit http://microsoft.com to download Internet Explorer 6 or higher."); //simple test
	}
	
	id.className = "defHover"
	
	return;
}


function defTable(definition)
{
	var table;
	
	table = "<table class=defTable cellpadding=0 cellspacing=0>";
	
	//header
	table += "<tr>";
	table += "<td>";
	table += "<img src='/images/defHeader.gif' border=0 />";
	table += "</td>";
	table += "</tr>";
	
	//definition
	table += "<tr>";
	table += "<td class=definition>";
	table += definition;
	table += "</td>";
	table += "</tr>";
	
	//footer
	table += "<tr>";
	table += "<td>";
	table += "<img src='/images/defFooter.gif' border=0 />";
	table += "</td>";
	table += "</tr>";
	
	table += "</table>";
	
	return table;	
}


function defOut(id)
{
	locate = true;
	floatDef.innerHTML = "";
	floatDef.style.left = "-100";
	floatDef.style.top = "-100";
	
	id.className = "def"
}


//BrowserDetect - found at http://www.quirksmode.org/js/detect.html
var BrowserDetect = {
	init: function () 
	{
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) 
	{
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) 
			{
				if (dataString.indexOf(data[i].subString) != -1)
				{
					return data[i].identity;
				}
			}
			else if (dataProp)
			{
				return data[i].identity;
			}
		}
	},
	searchVersion: function (dataString) 
	{
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) 
		{	
			return;
		}

		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: 
	[
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : 
	[
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]
};

BrowserDetect.init();




//Specific Definitions To Show

function AMOver(id, cOffsetX, cOffsetY)
{
	var definition;
	
	definition = "<b><u>Accountable Mail</u></b>";
	definition +="<br>";
	definition +="A mail piece that requires proof that it was mailed, and/or proof that it was delivered, ";
	definition +="and may require a recipient signature.  ";
	definition +="<br><br>";
	definition +="Traditional methods of Accountable Mail include Certified Mail<sup class='tm'>TM</sup>, ";
	definition +="UPS<sup class='tm'>TM</sup>, FedEx&reg;, and DHL<sup class='tm'>TM</sup>.";

	showDefinition(definition, id, cOffsetX, cOffsetY);
}









