// JavaScript Document
//*****Search****************************************************************************************
function SubmitSearch()
{var query=this.document.forms[0].Query.value;
query="/web/bphome.nsf/SearchResults/$Search?SearchView&Query=" + query;
window.location=query;}

var NS = (window.Event) ? 1 : 0;
function checkKey(e) {
var code = (NS) ? e.which : event.keyCode;
if (code == "13"){if (window.document.forms[0].Query.value!="") 
{SubmitSearch();return false; }}}
document.onkeypress = checkKey;

//********browser detection****************************************************************
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);

	//parse layer/div depending on browser
	function getLayer(name) {
  	if (is_nav6up) return document.getElementById(name);
  	else if (is_ie5_5up) return document.getElementById(name);
  	else if (is_ie4up) return eval('document.all.' + name);
  	else if (is_nav4up) return findLayer(name, document);
  	return null; }
	//for ns4.x
	function findLayer(name, doc) {
  	var i, layer;
	  for (i = 0; i < doc.layers.length; i++) {
    	layer = doc.layers[i];
    	if (layer.name == name)
    	  return layer;
    	if (layer.document.layers.length > 0) {
      layer = findLayer(name, layer.document);
      if (layer != null)
        return layer;}}
  		return null;}

//**************************image slide show****************************************************
//set the total number of images defined
var maxImages = 0
//specify image directory
var imgDirectory = "";
//Specify whether images should be linked or not (1=linked)
var linkornot=1;
//Specify whether to place image number in the status bar (1=yes)
var statusornot=1;
//Specify whether to show description (1=show)
var descornot=0;
//Specify whether to show name (1=show)
var nameornot=0;
var photos=new Array();
var photoslink=new Array();
var photosdesc=new Array();
var photosname=new Array();
var which=0;
var ready = false;
	
//find div/layers in DOM
function init_Divs()
{descDIV = getLayer("imgDescTxt");
	nameDIV = getLayer("imgNameTxt");
	ready = true}

//output status line
function keeptrack(){window.status="Image "+(which+1)+" of "+maxImages;}

//alter contents withing div/layer
function changeDIV(currlayer, source) {
	if (is_nav6up) {
		rng = document.createRange();
		rng.setStartBefore(currlayer);
		htmlFrag = rng.createContextualFragment(source);
		while (currlayer.hasChildNodes()) currlayer.removeChild(currlayer.lastChild);
		currlayer.appendChild(htmlFrag);} 
		else if ((is_ie5_5up) || (is_ie4up)) {
		currlayer.innerHTML = source;} else {
		currlayer.document.open();
		currlayer.document.write(source);
		currlayer.document.close();}}

//swap image
function changeImg(num){
	which=num;
	window.document.forms[0].zoomName.value=num;
	if (which>maxImages-1){
		which=0;
	}
	if (which<0){
		which=maxImages-1;
	}
	document.images.photoslider.src=imgDirectory+photos[which];
	if (descornot) changeDesc(which);
	if (nameornot) changeName(which);
	if (statusornot==1) keeptrack();

	}

//swap description
function changeDesc(num){
var desc;
	if (ready) {
		desc = photosdesc[num] + " - " + (num+1) + " of " + maxImages;
		if (is_nav4up) desc = nsDescFontTag + desc + "</font></td></tr></table>";
		changeDIV(descDIV, desc);
	}
}

//swap name
function changeName(num){
var name;
	if (ready) {
		name = photosname[num];
		if (is_nav4up) name = nsNameFontTag + name + "</b></font></td></tr></table>";
		changeDIV(nameDIV, name);
	}
}

//jump to URL
function jump2link(){
	window.open(photoslink[which],'_blank','');
}

//initialize DIV/layers and status
function initPage() {

//preload images
var preloadedimages=new Array();
for (i=0;i<maxImages;i++){
	preloadedimages[i]=new Image();
	preloadedimages[i].src=imgDirectory+photos[i];
}

//initialize status bar, if needed
	if (statusornot) keeptrack();
	
	//set x-browser variables 
	init_Divs();
	if (descornot) changeDesc(which);
	if (nameornot) changeName(which);
}


function doPopupView(fileName, which) {
//alert("beforepopuploadsform: " + myNum);
 //var newVal= opener.document.forms[0].name;
//alert(newVal);
var width=534;
var height= 575;
    if (navigator.appName == 'Netscape') {
        adjWidth = width;
        adjHeight = height-2;
       }
    else {
        adjWidth = width;
        adjHeight = height;
    }
    
 myView = window.open('','myView','width=' + adjWidth + ',height=' + adjHeight + ',toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no');
 fileName=fileName + which;
 myView.location.href = fileName;
}

//work around for netscape 4.x (same as CSS)
nsDescFontTag = "<table border='0' cellspacing='0' cellpadding='0'><tr><td><font color='#666666' face='arial,helvetica,sans-serif' point-size='6'>";
nsNameFontTag = "<table border='0' cellspacing='0' cellpadding='0'><tr><td><font color='#333333' face='arial,helvetica,sans-serif' point-size='10'><b>";

function validateForm(){
selected1=document.forms[0].State.selectedIndex;
selected2=document.forms[0].Country.selectedIndex;
var State=document.forms[0].State;
var Country= document.forms[0].Country;
if (State.options[selected1].text== NULL && Country.options[selected2]==NULL)
	{
	alert("You must chose either a state or country to continue.");
	State.focus();
	return false;
	 }
 {  document.forms[0].submit(); }
}

//AH: Added initialize and evtNodeClick to this library so we can call it from the content form
//rollovers.js
		function newImage(arg) {
		if (document.images) {
			rslt = new Image();
			rslt.src = arg;
			return rslt;
		}
	}
		function changeImages() {
		if (document.images && (preloadFlag == true)) {
			for (var i=0; i < changeImages.arguments.length; i+=2) {
				document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
			}
		}
	}
	
	var preloadFlag = true;
function preloadImages() { 
                     if (document.images) {  
                        auto_prod_over =   newImage("/web/bphome.nsf/about-over.gif"); 
                        downloads_over =  newImage('/web/bphome.nsf/products-over.gif'); 
                        dev_az_over =        newImage('/web/bphome.nsf/software-over.gif'); 
                        who_over =            newImage('/web/bphome.nsf/support-over.gif'); 
                                                preloadFlag = true; 
                } 
        } 
        
        function newImage(arg) {
		if (document.images) {
			rslt = new Image();
			rslt.src = arg;
			return rslt;
		}
	}
	
	function changeImages() {
		if (document.images && (preloadFlag == true)) {
			for (var i=0; i<changeImages.arguments.length; i+=2) {
				document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
			}
		}
	}
	
        
<!--// Hide from old browsers--AH ADDED 1/28/2004
	function initialize() {
		imgPlus = new Image();
		imgPlus.src = "/web/bphome.nsf/plus.gif";
	
		imgMinus = new Image();
		imgMinus.src = "/web/bphome.nsf/minus.gif";
	}
	
	function evtNode_Click(strGroup) {
		///*
		var table = document.all["tbl" + strGroup];
		var img = document.all["img" + strGroup];
		//*/
		/*
		var table = eval("document.all.tbl" + strGroup);
		var img = eval("document.all.img" + strGroup);
		*/
		if (table && table.style.display == "block") {	
			img.src = imgPlus.src;
			table.style.display = "none";
		} else {
			img.src = imgMinus.src;
			table.style.display = "block";
		}
	}
	//-->

 //we need js objects
function addField(fieldName, fieldValue){
oField= new Object(fieldName);
oField.value= new Object(fieldValue);
return(addField);
}
