  
var platform = navigator.appVersion;  
browserName = navigator.appName;  
browserVer = parseInt(navigator.appVersion);  
  
//determine browser  
    if (browserName == "Netscape" && browserVer >= 3)  
        version = "n3";  
    else if (browserName == "Netscape" && browserVer < 3)  
        version = "n2";  
    else if (browserName == "Microsoft Internet Explorer" && browserVer >= 2)  
        version = "e3";  
//end of determine browser  
  

    
//preload images  
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];  
			}  
	}  
}  
  
// uncomment the following line and edit as needed to preload images  
//MM_preloadImages('image1.gif','image2.gif','image3.gif','image4.gif');  
  
//end image preload  
  
function MM_reloadPage(init) {  //reloads the window if Nav4 resized  
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {  
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}  
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();  
}  
MM_reloadPage(true);  
  
  
function swapImage(imgObj, imgsrc1, imgsrc2)  
{  
//	alert("swapping source for: " + imgObj);  
//	alert("swapping: " + imgObj.src);  
	if ( imgObj.src.indexOf(imgsrc1) != -1 )  
	{  
		imgObj.src = imgsrc2;  
//		alert("swapping to: " + imgsrc2);  
	}  
	else  
	{  
		imgObj.src = imgsrc1;  
//		alert("swapping to: " + imgsrc1);  
	}  
}  

function getWinHeight()
{
	alert( window.innerHeight() ) ;
	return window.innerHeight() ;
}

function cycleImages()  
{
   args = cycleImages.arguments;
   imgObj = args[0];
   limit = args.length;

// alert("swapping source for: |" + imgObj + "| name: "+imgObj.name +" limit="+limit);  

// for( i=1; i<limit; i++) {"image "+i+": "+alert(args[i]); }

   if (limit < 3) return;  // only 1 image nothing to cycle through

   if ( imgObj.displayIndex == null) imgObj.displayIndex = 1;

  	ndx = imgObj.displayIndex;

// alert("swapping: " + imgObj.src + " Index: " + ndx);  

   if ( ndx == limit - 1)
   {
      // next image is the 1st in the list
      ndx = 1;
   }
   else
   {
      ndx++;
   }
	imgObj.src = args[ndx];
   imgObj.displayIndex = ndx;
//	alert("swapping to: " + args[ndx] + " ndx="+ndx);  
}  
  
var win = null;  
  
function imageWin(loc, target)  
{  
    var exitVal = true;  
    //alert('iamgeWin loc' + loc ) ;
    // This one opens the window  
    win = window.open('', target, 'top=100, left=100, width=655,height=495,resizable=yes,scrollbars=yes');  
    if (win != null)  
    {  
        win.location.href = loc;  
		win.focus();  
        exitVal = false;  
    }
    else
    {
    	alert( 'There was a problem loading the image' ) ;
    	return false ;
    }
}  
  
function imageWinSizeable(loc, target, width, height)  
{  
    var exitVal = true;  
  
    // This one opens the window  
    win = window.open('', target, 'width='+width+',height='+height+',resizable=yes,scrollbars=yes');  
    if (win != null)  
    {  
        win.location.href = loc;  
                win.focus();  
        exitVal = false;  
    }  
    return exitVal;  
}   

///////////////////////////////////////////////////////////////////////////////

 
function resizeRootTable()
{
	var windowHeight = document.body.clientHeight ;
  	var tableHeight = document.getElementById( 'root' ).offsetHeight ;
  	var headerHeight = document.getElementById( 'rootheader' ).offsetHeight ;
  	var footer = document.getElementById( 'footer' ).offsetHeight ;

  	tableHeight = ( ( parseInt(windowHeight) - parseInt(headerHeight) ) - parseInt(footer) - 5  ) ;
  	document.getElementById('root').style.height = tableHeight +'px' ; 
}

///////////////////////////////////////////////////////////////////////////////

function popUpWin(loc)  
{  
    // This one opens the window  
    win = window.open('', 'popUpWin', 'width=400,height=300,scrollbars=1,resizable=yes');  
    if (win != null)  
    {  
        if (win.opener == null)  
        {  
            win.opener = self;  
        }  
        win.location.href = loc;  
				win.focus();  
    }  
}  

///////////////////////////////////////////////////////////////////////////////
 
function setPrimaryImage( loc, onclickImage )
{
	document.getElementById( 'primaryimage' ).src=loc;
	document.getElementById( 'primaryanchor' ).setAttribute( 'href', 'javascript:imageWin( \'' + onclickImage + '\' )' ) ;
}

///////////////////////////////////////////////////////////////////////////////

function loadImageGroup( imagePath, startingIndex, imageCount, currentGroup )
{
	var thumbnailInterval = 1 ;
	var endingIndex = imageCount <= startingIndex + 3 ? imageCount : (startingIndex + 3) ;
	var imageGroupCount = document.getElementById("imageGroupCount").value ;

	var group ;
	var groupHandle ;
	for( i = 0; i < imageGroupCount; ++i )
	{
		group = "imageGroup_" + i ;
		groupHandle = document.getElementById( group ) ;
		if( i == currentGroup )
		{
			groupHandle.setAttribute( 'class', 'thumbnailGroupSelected' ) ;
		}
		else
		{
			groupHandle.setAttribute( 'class', 'thumbnailGroup' ) ;
		}
	}
	
	var groupName ;
	var hrefName ;
	var imgHandle ;
	var hrefHandle ;
	var imageGroup ;
	var imageGroupHandle ;
	for (i = startingIndex; i <= (startingIndex + 3); i++)
	{
		groupName = "thumbnail_" + thumbnailInterval ;
		hrefName = "hrefThumbnail_" + thumbnailInterval ;
		imgHandle = document.getElementById( groupName );
		hrefHandle = document.getElementById( hrefName ) ;
		
		imgHandle.style.visibility = "hidden";

		if( i <= imageCount )
		{
			var imageInterval = (i < 10) ? '0' + i : i ;
			var newSmallImage = imagePath +  imageInterval + '_small.jpg' ;
			var newPreviewImage = imagePath +  imageInterval + '_preview.jpg' ;
			var newImage = imagePath +  imageInterval + '.jpg' ;
			//alert( newImage ) ;
			imgHandle.src = newSmallImage ;
			var imgParam = 'javascript:setPrimaryImage(\'' + newPreviewImage + '\', \'' + newImage + '\' );' ;
			//hrefHandle.href = imgParam ;
			hrefHandle.setAttribute('href', imgParam ) ;
			
			imgHandle.style.visibility = "visible";
			
		}
		thumbnailInterval++;
	}
}

///////////////////////////////////////////////////////////////////////////////

function renderRelatedLinks( hasThumbnails )
{
	var anchors = document.getElementsByTagName("a");
	var firstItem = true ;
	var hasPartners = false ;
	var hasLinks = false ;
	var itemHref ;
	var itemText ;
	var fileName ; 

	for (var anchor = 0; anchor < anchors.length; anchor++)
	{
	   var item = anchors[anchor];

	   if( item.className.length == 0 ) 
	   {
		   itemHref = item.href ;
		   if( itemHref.indexOf( "void(0)" ) >= 0 ) { continue ; } 
		   if( firstItem ) 
		   { 
			   if( hasThumbnails )
			   {
				   document.write( "  <hr style=\"border: 1px dotted #cccccc; border-style: none none dotted;\" height=\"1\" width=\"95%\" align=\"center\"/>" ) ;
			   }
			   document.write( "&nbsp;&nbsp;<b>Related ZedaSoft Products</b><br/>") ; 
			   firstItem = false ;
		   }
		   
		   fileName = itemHref.substring( itemHref.lastIndexOf("/") + 1, itemHref.length ) ;

		   if( fileName.indexOf( "cba.jsp" ) >= 0 )							{ itemText = "Container Based Architecture (CBA)" ; }
		   else if( fileName.indexOf( "ah64.jsp" ) >= 0 ) 					{ itemText = "AH-64 Apache" ; }
		   else if( fileName.indexOf( "f15.jsp" ) >= 0 ) 					{ itemText = "F-15 Eagle" ; }
		   else if( fileName.indexOf( "f16.jsp" ) >= 0 ) 					{ itemText = "F-16 Fighting Falcon" ; }
		   else if( fileName.indexOf( "f18.jsp" ) >= 0 ) 					{ itemText = "F-18 Super Hornet" ; }
		   else if( fileName.indexOf( "f22.jsp" ) >= 0 ) 					{ itemText = "F-22 Raptor" ; }
		   else if( fileName.indexOf( "manpad.jsp" ) >= 0 ) 				{ itemText = "MANPAD" ; }
		   else if( fileName.indexOf( "oh58.jsp" ) >= 0 ) 					{ itemText = "OH-58 Kiowa Warrior" ; }
		   else if( fileName.indexOf( "disfilter.jsp" ) >= 0 ) 				{ itemText = "DIS Filter" ; }
		   else if( fileName.indexOf( "eos.jsp" ) >= 0 ) 					{ itemText = "Experimentor Operator Station" ; }
		   else if( fileName.indexOf( "datarecording.jsp" ) >= 0 ) 			{ itemText = "Data Recording / Playback" ; }
		   else if( fileName.indexOf( "mapserver.jsp" ) >= 0 ) 				{ itemText = "Map Server" ; }
		   else if( fileName.indexOf( "rcs.jsp" ) >= 0 ) 					{ itemText = "Reconfigurable Cockpit System (RCS)" ; }
		   else if( fileName.indexOf( "psd.jsp" ) >= 0 ) 					{ itemText = "Portable Simulator Desktop (PSD)" ; }
		   else if( fileName.indexOf( "kiosk.jsp" ) >= 0 ) 					{ itemText = "Demo Station Kiosk (DSK)" ; }
		   else if( fileName.indexOf( "laptopsim.jsp" ) >= 0 )		 		{ itemText = "Laptop Sim" ; }
		   else if( fileName.indexOf( "visualdisplayoptions.jsp" ) >= 0 )	{ itemText = "Visual Display Options" ; }
		   else if( fileName.indexOf( "visualscenesoftware.jsp" ) >= 0 )	{ itemText = "Visual Scene Software" ; }
		   else if( fileName.indexOf( "roleplayers.jsp#su30" ) >= 0 )		{ itemText = "Su-30" ; }
		   else if( fileName.indexOf( "roleplayers.jsp#mig29" ) >= 0 )		{ itemText = "MiG-29" ; }
		   else if( fileName.indexOf( "roleplayers.jsp#jaguar" ) >= 0 )		{ itemText = "SEPECAT Jaguar" ; }
		   else { itemText = item.text ; }
		   
		   if( item.target != "_new" )
		   {
			   document.write( "&nbsp;&nbsp;<a class=\"rightnavlink\" href=\"" + itemHref + "\">- " + itemText + "</a><br/>") ;
			   hasLinks = true ;   
		   }
		   else if( fileName.indexOf( ".pdf") <= 0 )
		   {
			   hasPartners = true ;	
		   }
	   }
	}

	if( hasPartners == true )
	{	
		if( hasLinks == true ) { document.write( "  <hr style=\"border: 1px dotted #cccccc; border-style: none none dotted;\" width=\"95%\" align=\"center\"/>" ) ; }
		
		firstItem = true ;
		hasLink = false ;
		for (var anchor = 0; anchor < anchors.length; anchor++)
		{
			var item = anchors[anchor];
			if( item.className.length == 0 ) 
			{
				if( firstItem ) 
				{ 
					document.write( "&nbsp;&nbsp;<b>Related Links</b><br/>") ; 
					firstItem = false ;
				}
				
				itemHref = item.href ;
				if( itemHref.indexOf( "metavr" ) > 0 ) { itemText = "MetaVR, Inc." ; }
				else if( itemHref.indexOf( "plexsysipi" ) > 0 ) { itemText = "PLEXSYS Interface Products, Inc." ; }
				else if( itemHref.indexOf( "bugeyetech" ) > 0 ) { itemText = "Bugeye Technologies" ; }
				else if( itemHref.indexOf( "immersivedisplayinc" ) > 0 ) { itemText = "Immersive Display Solutions, Inc." ; }
				else if( itemHref.indexOf( "bihrle" ) > 0 ) { itemText = "Bihrle Applied Research, Inc." ; }
				else if( itemHref.indexOf( "nvisinc" ) > 0 ) { itemText = "NVIS, Inc." ; }
				else if( itemHref.indexOf( "adacel" ) > 0 ) { itemText = "Adacel" ; }
				else if( itemHref.indexOf( "intersense" ) > 0 ) { itemText = "InterSense, Inc." ; }
				else if( itemHref.indexOf( "driven-technologies" ) > 0 ) { itemText = "Driven Technologies, Inc." ; }
				else if( itemHref.indexOf( "naturalpoint" ) > 0 ) { itemText = "NaturalPoint, Inc." ; }
				else if( itemHref.indexOf( "catinet" ) > 0 ) { itemText = "CATI Training Systems" ; }
				else if( itemHref.indexOf( "quantum3d" ) > 0 ) { itemText = "Quantum3D, Inc." ; }
				else if( itemHref.indexOf( "openscenegraph" ) > 0 ) { itemText = "OpenSceneGraph" ; }
				else if( itemHref.indexOf( "wikipedia" ) > 0 ) { itemText = "www.wikipedia.org" ; }
				else if( itemHref.indexOf( "sisostds" ) > 0 ) { itemText = "SISO" ; }
				else { itemText = itemHref ; }
				
				if( item.target == "_new" && itemHref.indexOf( ".pdf") <= 0 )
				{
					hasLinks = true ; 
					document.write( "&nbsp;&nbsp;<a target=\"_new\" class=\"rightnavlink\" href=\"" + itemHref + "\">- " + itemText + "</a><br/>") ;
				}
			}
		}
	}
}

///////////////////////////////////////////////////////////////////////////////

function formatPrice(price)  
{  
    strPrice = new String(price);  
    if ( strPrice.indexOf('.') == -1 )  
    {  
        strPrice = strPrice + ".00";  
    }  
    ndx = strPrice.indexOf('.');  
    if ( ndx > 3 )  
    {  
        // need commas  
        for (i=ndx-3; i>0; i-=3)  
        {  
//alert("i="+i  
//+"\n strPrice.substring(0,i-1)="+strPrice.substring(0,i)  
//+"\n strPrice.substring(i)="+strPrice.substring(i));  
            tmp = strPrice.substring(0,i) + ',' + strPrice.substring(i);  
            strPrice=tmp;  
        }  
    }  
    if ( strPrice.length - strPrice.indexOf('.') < 3 )  
    {  
        // add trailing 0  
        strPrice = strPrice + "0";  
        if ( strPrice.length - strPrice.indexOf('.') < 3 )  
        {  
            // add another trailing 0  
            strPrice = strPrice + "0";  
        }  
    }  
    return strPrice;  
}  

