// detect browser and platform
// neede to isolate IE/Win

var agt=navigator.userAgent.toLowerCase(); 

 // *** BROWSER VERSION ***
 // Note: On IE5, these return 4, so use is_ie5up to detect IE5.
 var is_major = parseInt(navigator.appVersion);
 var is_minor = parseFloat(navigator.appVersion);

 // Note: Opera and WebTV spoof Navigator.  We do strict client detection.
 // If you want to allow spoofing, take out the tests for opera and webtv.
 var is_nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
				 && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
				 && (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));
 var is_nav2 = (is_nav && (is_major == 2));
 var is_nav3 = (is_nav && (is_major == 3));
 var is_nav4 = (is_nav && (is_major == 4));
 var is_nav4up = (is_nav && (is_major >= 4));
 var is_navonly      = (is_nav && ((agt.indexOf(";nav") != -1) ||
							  (agt.indexOf("; nav") != -1)) );
 var is_nav6 = (is_nav && (is_major == 5));
 var is_nav6up = (is_nav && (is_major >= 5));
 var is_gecko = (agt.indexOf('gecko') != -1);


 var is_ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
 var is_ie3    = (is_ie && (is_major < 4));
 var is_ie4    = (is_ie && (is_major == 4) && (agt.indexOf("msie 4")!=-1) );
 var is_ie4up  = (is_ie && (is_major >= 4));
 var is_ie5    = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
 var is_ie5_5  = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.5") !=-1));
 var is_ie5up  = (is_ie && !is_ie3 && !is_ie4);
 var is_ie5_5up =(is_ie && !is_ie3 && !is_ie4 && !is_ie5);
 var is_ie6    = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.")!=-1) );
 var is_ie6up  = (is_ie && !is_ie3 && !is_ie4 && !is_ie5 && !is_ie5_5);

 // KNOWN BUG: On AOL4, returns false if IE3 is embedded browser
 // or if this is the first browser window opened.  Thus the
 // variables is_aol, is_aol3, and is_aol4 aren't 100% reliable.
 var is_aol   = (agt.indexOf("aol") != -1);
 var is_aol3  = (is_aol && is_ie3);
 var is_aol4  = (is_aol && is_ie4);
 var is_aol5  = (agt.indexOf("aol 5") != -1);
 var is_aol6  = (agt.indexOf("aol 6") != -1);

 var is_opera = (agt.indexOf("opera") != -1);
 var is_opera2 = (agt.indexOf("opera 2") != -1 || agt.indexOf("opera/2") != -1);
 var is_opera3 = (agt.indexOf("opera 3") != -1 || agt.indexOf("opera/3") != -1);
 var is_opera4 = (agt.indexOf("opera 4") != -1 || agt.indexOf("opera/4") != -1);
 var is_opera5 = (agt.indexOf("opera 5") != -1 || agt.indexOf("opera/5") != -1);
 var is_opera5up = (is_opera && !is_opera2 && !is_opera3 && !is_opera4);

 var is_webtv = (agt.indexOf("webtv") != -1); 

 var is_TVNavigator = ((agt.indexOf("navio") != -1) || (agt.indexOf("navio_aoltv") != -1)); 
 var is_AOLTV = is_TVNavigator;

 var is_hotjava = (agt.indexOf("hotjava") != -1);
 var is_hotjava3 = (is_hotjava && (is_major == 3));
 var is_hotjava3up = (is_hotjava && (is_major >= 3));
			//var is_safari = (agt.indexOf("safari") != -1);
			var is_safari = (agt.indexOf("applewebkit") != -1);
 // *** JAVASCRIPT VERSION CHECK ***
 var is_js;
 if (is_nav2 || is_ie3) is_js = 1.0;
 else if (is_nav3) is_js = 1.1;
 else if (is_opera5up) is_js = 1.3;
 else if (is_opera) is_js = 1.1;
 else if ((is_nav4 && (is_minor <= 4.05)) || is_ie4) is_js = 1.2;
 else if ((is_nav4 && (is_minor > 4.05)) || is_ie5) is_js = 1.3;
 else if (is_hotjava3up) is_js = 1.4;
 else if (is_nav6 || is_gecko) is_js = 1.5;
 // NOTE: In the future, update this code when newer versions of JS
 // are released. For now, we try to provide some upward compatibility
 // so that future versions of Nav and IE will show they are at
 // *least* JS 1.x capable. Always check for JS version compatibility
 // with > or >=.
 else if (is_nav6up) is_js = 1.5;
 // NOTE: ie5up on mac is 1.4
 else if (is_ie5up) is_js = 1.3

 // HACK: no idea for other browsers; always check for JS version with > or >=
 else is_js = 0.0;
 

// *** PLATFORM ***
var is_win   = ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) );
// NOTE: On Opera 3.0, the userAgent string includes "Windows 95/NT4" on all
//        Win32, so you can't distinguish between Win95 and WinNT.
var is_win95 = ((agt.indexOf("win95")!=-1) || (agt.indexOf("windows 95")!=-1));

// is this a 16 bit compiled version?
var is_win16 = ((agt.indexOf("win16")!=-1) || 
           (agt.indexOf("16bit")!=-1) || (agt.indexOf("windows 3.1")!=-1) || 
           (agt.indexOf("windows 16-bit")!=-1) );  

var is_win31 = ((agt.indexOf("windows 3.1")!=-1) || (agt.indexOf("win16")!=-1) ||
                (agt.indexOf("windows 16-bit")!=-1));

// NOTE: Reliable detection of Win98 may not be possible. It appears that:
//       - On Nav 4.x and before you'll get plain "Windows" in userAgent.
//       - On Mercury client, the 32-bit version will return "Win98", but
//         the 16-bit version running on Win98 will still return "Win95".
var is_win98 = ((agt.indexOf("win98")!=-1) || (agt.indexOf("windows 98")!=-1));
var is_winnt = ((agt.indexOf("winnt")!=-1) || (agt.indexOf("windows nt")!=-1));
var is_win32 = (is_win95 || is_winnt || is_win98 || 
                ((is_major >= 4) && (navigator.platform == "Win32")) ||
                (agt.indexOf("win32")!=-1) || (agt.indexOf("32bit")!=-1));

var is_os2   = ((agt.indexOf("os/2")!=-1) || 
                (navigator.appVersion.indexOf("OS/2")!=-1) ||   
                (agt.indexOf("ibm-webexplorer")!=-1));

var is_mac    = (agt.indexOf("mac")!=-1);
var is_mac68k = (is_mac && ((agt.indexOf("68k")!=-1) || 
                           (agt.indexOf("68000")!=-1)));
var is_macppc = (is_mac && ((agt.indexOf("ppc")!=-1) || 
                            (agt.indexOf("powerpc")!=-1)));


/*****************************************************
* ypSlideOutMenu
* 3/04/2001
* 
* a nice little script to create exclusive, slide-out
* menus for ns4, ns6, mozilla, opera, ie4, ie5 on 
* mac and win32. I've got no linux or unix to test on but 
* it should(?) work... 
*
* --youngpup--
*****************************************************/
ypSlideOutMenu.Registry = []
ypSlideOutMenu.aniLen = 200
ypSlideOutMenu.hideDelay = 100
ypSlideOutMenu.minCPUResolution = 10

function ypSlideOutMenu(id, dir, left, top, width, height)
{

this.ie = document.all ? 1 : 0
this.ns4 = document.layers ? 1 : 0
this.dom = document.getElementById ? 1 : 0
if (this.ie || this.ns4 || this.dom) {
this.id = id
this.dir = dir
this.orientation = dir == "left" || dir == "right" ? "h" : "v"
this.dirType = dir == "right" || dir == "down" ? "-" : "+"
this.dim = this.orientation == "h" ? width : height
this.hideTimer = false
this.aniTimer = false
this.open = false
this.over = false
this.startTime = 0
this.gRef = "ypSlideOutMenu_"+id
eval(this.gRef+"=this")
ypSlideOutMenu.Registry[id] = this
var d = document
d.write('<style type="text/css">')
var str = ""
str += '#' + this.id + 'Container { visibility: hidden; left:' + left + 'px; top:' + top + 'px; position: absolute; width:' + width + 'px;'
str += 'height:' + (height+20) + 'px; clip:rect(0 ' + width + 'px' + ' ' + (height+20) + 'px' + ' 0); overflow:hidden; } '

d.write(str)
	//alert(this.id + "==" + height)
str = '#' + this.id + 'Content { position:relative; width:' + width + 'px; '
d.write(str)
d.write('height:' + height + 'px; ')
d.write('clip:rect(0 ' + width + 'px' + ' ' + height + 'px' + ' 0); ')
d.write('}')
d.write('</style>')
this.load() //!!!

}
}
ypSlideOutMenu.prototype.load = function() {

var d = document
var lyrId1 = this.id + "Container"
var lyrId2 = this.id + "Content"
var obj1 = this.dom ? d.getElementById(lyrId1) : this.ie ? d.all[lyrId1] : d.layers[lyrId1]
if (obj1) var obj2 = this.ns4 ? obj1.layers[lyrId2] : this.ie ? d.all[lyrId2] : d.getElementById(lyrId2)
var temp
if (!obj1 || !obj2) window.setTimeout(this.gRef + ".load()", 100)
else {
	this.container = obj1
	this.menu = obj2
	this.style = this.ns4 ? this.menu : this.menu.style
	this.homePos = eval("0" + this.dirType + this.dim)
	this.outPos = 0
	this.accelConst = (this.outPos - this.homePos) / ypSlideOutMenu.aniLen / ypSlideOutMenu.aniLen 
	if (this.ns4) this.menu.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);
	this.menu.onmouseover = new Function("ypSlideOutMenu.showMenu('" + this.id + "')")
	this.menu.onmouseout = new Function("ypSlideOutMenu.hideMenu('" + this.id + "')")
//	alert(this.menu.id)
	this.endSlide()
}
}
	ypSlideOutMenu.showMenu = function(id)
	{
	  //alert('hide ' + id)
	var reg = ypSlideOutMenu.Registry
	var obj = ypSlideOutMenu.Registry[id]
	if (obj.container) {
		obj.over = true
		for (menu in reg) if (id != menu) ypSlideOutMenu.hide(menu)
		if (obj.hideTimer) { reg[id].hideTimer = window.clearTimeout(reg[id].hideTimer) }
		if (!obj.open && !obj.aniTimer) reg[id].startSlide(true)
		}
	}
	
ypSlideOutMenu.hideMenu = function(id)
{

var obj = ypSlideOutMenu.Registry[id]
if (obj.container) {
if (obj.hideTimer) window.clearTimeout(obj.hideTimer)
obj.hideTimer = window.setTimeout("ypSlideOutMenu.hide('" + id + "')", ypSlideOutMenu.hideDelay);
}
}
ypSlideOutMenu.hide = function(id)
{

var obj = ypSlideOutMenu.Registry[id]
obj.over = false
if (obj.hideTimer) window.clearTimeout(obj.hideTimer)
obj.hideTimer = 0
if (obj.open && !obj.aniTimer) obj.startSlide(false)
}
ypSlideOutMenu.prototype.startSlide = function(open) {
this[open ? "onactivate" : "ondeactivate"]()
this.open = open
if (open) this.setVisibility(true)
this.startTime = (new Date()).getTime() 
this.aniTimer = window.setInterval(this.gRef + ".slide()", ypSlideOutMenu.minCPUResolution)
}
ypSlideOutMenu.prototype.slide = function() {
var elapsed = (new Date()).getTime() - this.startTime
if (elapsed > ypSlideOutMenu.aniLen) this.endSlide()
else {
var d = Math.round(Math.pow(ypSlideOutMenu.aniLen-elapsed, 2) * this.accelConst)
if (this.open && this.dirType == "-") d = -d
else if (this.open && this.dirType == "+") d = -d
else if (!this.open && this.dirType == "-") d = -this.dim + d
else d = this.dim + d
this.moveTo(d)
}
}
ypSlideOutMenu.prototype.endSlide = function() {
this.aniTimer = window.clearTimeout(this.aniTimer)
this.moveTo(this.open ? this.outPos : this.homePos)
if (!this.open) this.setVisibility(false)
if ((this.open && !this.over) || (!this.open && this.over)) {
this.startSlide(this.over)
}
}
ypSlideOutMenu.prototype.setVisibility = function(bShow) { 
var s = this.ns4 ? this.container : this.container.style
s.visibility = bShow ? "visible" : "hidden"  ///!!!!
}
ypSlideOutMenu.prototype.moveTo = function(p) { 
this.style[this.orientation == "h" ? "left" : "top"] = this.ns4 ? p : p + "px"
}
ypSlideOutMenu.prototype.getPos = function(c) {
return parseInt(this.style[c])
}
ypSlideOutMenu.prototype.onactivate = function() { }
ypSlideOutMenu.prototype.ondeactivate = function() { }


// BEGIN HACK
// this is a hack to work around IE/Win, which is a P.O.S. browser
// windows + ie
if (is_win && is_ie5_5up) 
{
	//This sets the size and position of each drop-down - left, top, width, height.
	//new ypSlideOutMenu("ABOUT_USMenu", "down", 388, 190, 192, 125)
}
// windows + ie (hopefully ie 6)
else if (is_win && is_ie5) 
{
	//This sets the size and position of each drop-down - left, top, width, height.
	//new ypSlideOutMenu("ABOUT_USMenu", "down", 388, 190, 192, 125)
}
// windows + ie (hopefully ie 6)
else
{
	//This sets the size and position of each drop-down - left, top, width, height.
	//new ypSlideOutMenu("ABOUT_USMenu", "down", 497, 190, 192, 125)
}

// END HACK

/**********************************
End of drop down menus
**********************************/

//hide show selects
//arr_select = new Array("", "")
function hideSelect(nm, num)
{
  if(document.all) {
	if(document.all[nm]) {
		//arr_select[num] = document.all['hide_' + nm].innerHTML
		//document.all['hide_' + nm].innerHTML = "&nbsp;"
		document.all[nm].style.display="none"
	}
  }
}
function showSelect(nm, num)
{
 if(document.all) {
	if(document.all[nm]) {
		//document.all['hide_' + nm].innerHTML = arr_select[num]
		document.all[nm].style.display=""
	}
  }
}

// Name the Window, so the remote can target it
self.name = "y_main_window"; 

//Checkout submit button swap to prevent double click errors
function doSubmit(btn)
{
//    btn.style.display = "none"; // hide the button
//    btn.disabled = true; // disable it, for good measure
    document.getElementById("Continue1").style.display = "none"; // show image instead
    document.getElementById("Continue1").disabled = true; // show image instead
    document.getElementById("PleaseWait1").style.display = "inline"; // show image instead
    document.getElementById("Continue2").style.display = "none"; // show image instead
    document.getElementById("Continue2").disabled = true; // show image instead
    document.getElementById("PleaseWait2").style.display = "inline"; // show image instead
    btn.form.submit( ); // call to submit the form
}

//Browsercheck (needed) ***************
function lib_bwcheck(){ 
  this.ver=navigator.appVersion
  this.agent=navigator.userAgent
  this.dom=document.getElementById?1:0
  this.opera5=this.agent.indexOf("Opera 5")>-1
  this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; 
  this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
  this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
  this.ie=this.ie4||this.ie5||this.ie6
  this.mac=this.agent.indexOf("Mac")>-1
  this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
  this.ns4=(document.layers && !this.dom)?1:0;
  this.bw=(this.ie6||this.ie5||this.ie4||this.ns4||this.ns6||this.opera5)
  return this
}
bw=new lib_bwcheck(); //Browsercheck object

function setPage()
{
	/*
	if(document.forms.length>1) {vForm = document.forms[1];}
	if(document.forms.length==1) {vForm = document.forms[0];}
	if(document.forms.length==0) {return;}
	searchField = vForm.elements[0];
	searchField.focus();
	*/
}

function writeCSS()
{
	if(bw.ie){document.writeln('<link type="text/css" rel="stylesheet" href="/_include/style/92y.css">')}
	if(bw.ns4||bw.ns6) {document.writeln('<link type="text/css" rel="stylesheet" href="/_include/style/92y_net.css">')}
}

//writeCSS(); // Remove after approval from KG

function MM_findObj(n, d) { //v3.0
  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); 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=document.images[a[i]])!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
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 openWin(url, width, height, windowName, ypos, xpos) { 
params = "toolbar=0,";
params += "location=0,";
params += "directories=0,";
params += "status=0,";
params += "menubar=1,";
params += "scrollbars=1,";
params += "resizable=1,"; 

params += "width="+width+",";
params += "height="+height;
if (xpos != null) { params += ",screenX="+xpos; }
if (ypos != null) { params += ",screenY="+ypos; }

win = window.open(url, windowName, params);
win.opener.name = "remote";
win.focus()
}

function online_tour(sTourChoice) 
{
if (sTourChoice=='may'){
		OpenWindow = window.open("/about/tour/online_tour.asp?fl_tour=may", "remote",'toolbar=no,width=600,height=400,left=50,top=50,status=no,scrollbars=no,resize=no');}
if (sTourChoice=='dehirsch'){
		OpenWindow = window.open("/about/tour/online_tour.asp?fl_tour=dehirsch", "remote",'toolbar=no,width=600,height=400,left=50,top=50,status=no,scrollbars=no,resize=no');}

}

function P7_autoLayers() { //v1.2 by PVII
 var g,b,k,f,args=P7_autoLayers.arguments;
 var a = parseInt(args[0]);if(isNaN(a))a=0;
 if(!document.p7setc) {p7c=new Array();document.p7setc=true;
	for (var u=0;u<10;u++) {p7c[u] = new Array();}}
 for(k=0; k<p7c[a].length; k++) {
	if((g=MM_findObj(p7c[a][k]))!=null) {
	 b=(document.layers)?g:g.style;b.visibility="hidden";}}
 for(k=1; k<args.length; k++) {
	if((g=MM_findObj(args[k])) != null) {
	 b=(document.layers)?g:g.style;b.visibility="visible";f=false;
	 for(j=0;j<p7c[a].length;j++) {
		if(args[k]==p7c[a][j]) {f=true;}}
	if(!f) {p7c[a][p7c[a].length++]=args[k];}}}
}

