//My Layer manipulating API, works in ns4 and ie5 only, for now.
//I say this because all the functions that involve getting the
//WIDTH or HEIGHT of a layer only work well in ns4 and ie5.
//Shame on you ns6, you're supposed to get better as your
//version number goes up... shame...

function GetLayer(layer)
         {
         var ReturnLayer = null;
         if(navigator.appName == 'Netscape')
           {
           if(parseInt(navigator.appVersion) == 5)
              ReturnLayer = document.getElementById(layer);
           else
              eval('ReturnLayer = document.' + layer + ';');
           }
         else
           {
           eval('ReturnLayer = document.all.' + layer + ';');
           }
         return ReturnLayer; 
         }

function Hide(layer)
         {
         if(navigator.appName == 'Netscape')
           {
           if(parseInt(navigator.appVersion) == 5)
              layer.style.visibility = 'hidden';               
           else
              layer.visibility = 'hide';                          
           }
         else
           {
           layer.style.visibility = 'hidden';           
           }
         }
         
function Show(layer)
         {
         if(navigator.appName == 'Netscape')
           {
           if(parseInt(navigator.appVersion) == 5)
              layer.style.visibility = 'visible';               
           else
              layer.visibility = 'show';                          
           }
         else
           {
           layer.style.visibility = 'visible';           
           }
         }
         
function Visible(layer)         
         {
         var Visible = true
         if(navigator.appName == 'Netscape')
           {
           if(parseInt(navigator.appVersion) == 5)
              if(layer.style.visibility == 'hidden') Visible = false;               
           else
              if(layer.visibility == 'hide') Visible = false;                          
           }
         else
           {
           if(layer.style.visibility == 'hidden') Visible = false;           
           }
         return Visible;
         }

function SetZ(z, layer)
         {
         if(navigator.appName == 'Netscape')
           {
           if(parseInt(navigator.appVersion) == 5)
		     layer.style.zIndex = z;
		   if(parseInt(navigator.appVersion) == 4)
		     layer.zIndex = z;
           }
         else
           {
           layer.style.zIndex = z;
           }
         }

function GetZ(layer)
         {
         if(navigator.appName == 'Netscape')
           {
           if(parseInt(navigator.appVersion) == 5)
		     return(parseInt(layer.style.zIndex));
		   if(parseInt(navigator.appVersion) == 4)
		     return(layer.zIndex);
           }
         else
           {
           return(layer.style.zIndex);
           }
         }         
		 
function GetX(layer)
         {
         if(navigator.appName == 'Netscape')
           {
           if(parseInt(navigator.appVersion) == 5)
		     return(parseInt(layer.style.left));
		   if(parseInt(navigator.appVersion) == 4)
		     return(layer.left);
           }
         else
           {
           return(layer.style.pixelLeft);
           }
         }

function GetW(layer)
         {
         if(navigator.appName == 'Netscape')
           {
           if(parseInt(navigator.appVersion) == 5)             
		     return(parseInt(layer.style.width));		     
		   if(parseInt(navigator.appVersion) == 4)
		     return(layer.clip.width);                      
           }
         else
           {
		   if(navigator.appVersion.indexOf('MSIE 4') > 0)
		     return(layer.style.pixelWidth);
           else
             return(layer.offsetWidth);
           }
         }

function SetW(x, layer)
         {         
         if(navigator.appName == 'Netscape')
           {
           if(parseInt(navigator.appVersion) == 5)
             layer.style.width = x;  
		   if(parseInt(navigator.appVersion) == 4)
		     layer.clip.width = x;                    
           }
         else
           {           
		   if(navigator.appVersion.indexOf('MSIE 4') > 0)
		     layer.style.pixelWidth = x;
           }
         }         
         
function GetY(layer)
         {
         if(navigator.appName == 'Netscape')
           {
           if(parseInt(navigator.appVersion) == 5)
		     return(parseInt(layer.style.top));
		   if(parseInt(navigator.appVersion) == 4)
		     return(layer.top);
           }
         else
           {
           return(layer.style.pixelTop);
           }
         }

function GetH(layer)
         {
         if(navigator.appName == 'Netscape')
           {
           if(parseInt(navigator.appVersion) == 5)             
		     return(parseInt(layer.style.height));		     
		   if(parseInt(navigator.appVersion) == 4)
		     return(layer.clip.height);
           }
         else
           {           
		   if(navigator.appVersion.indexOf('MSIE 4') > 0)		  
		     return(layer.style.pixelHeight);
           else
             return(layer.offsetHeight);
           }
         }
         
function SetH(y, layer)         
         {
         if(navigator.appName == 'Netscape')
           {
           if(parseInt(navigator.appVersion) == 5)             
             layer.style.height = y;             
		   if(parseInt(navigator.appVersion) == 4)
		     layer.clip.height = y;
           }
         else
           {           
		   if(navigator.appVersion.indexOf('MSIE 4') > 0)		  
		     layer.style.pixelHeight = y;
           }
         }
	       	 	
function Move(x, y, layer)
         {
         if(navigator.appName == 'Netscape')
           {
           if(parseInt(navigator.appVersion) == 5)
		     {
		     layer.style.left = x;
		     layer.style.top = y;
		     }
		   if(parseInt(navigator.appVersion) == 4)
		     {
		     layer.left = x;
		     layer.top = y;
		     }
           }
         else
           {
           layer.style.pixelLeft = x;
		   layer.style.pixelTop = y;
           }
         }

function MoveBy(x, y, layer)
         {
         if(navigator.appName == 'Netscape')
           {
           if(parseInt(navigator.appVersion) == 5)
             {
             var current_x = parseInt(layer.style.left);
             if(isNaN(current_x)) current_x = 0;
             layer.style.left = current_x + x;
             var current_y = parseInt(layer.style.top);
             if(isNaN(current_y)) current_y = 0;
             layer.style.top = current_y + y;
             }
           else
             {
             layer.left += x;
             layer.top += y;
             }              
           }
         else
           {
           layer.style.pixelLeft += x; 
           layer.style.pixelTop += y;          
           }
         }         
         
function Slide(x, y, dt, layer)
         {                                    
         eval('var current_x = GetX(' + layer + ');');
         eval('var current_y = GetY(' + layer + ');');
         
         var dX = x - current_x;
         var dY = y - current_y;
                           
         if(dX * dX + dY * dY > dt * dt)
           {
           var dx = (dX / Math.sqrt(dX * dX + dY * dY)) * dt;
           var dy = (dY / Math.sqrt(dX * dX + dY * dY)) * dt;
           
           eval('MoveBy(' + dx + ',' + dy + ', ' + layer +');');
           
           var NextSlide = 'Slide(' + x + ',' + y + ', ' +
                                  dt + ', ' +
                                  '\'' + layer + '\')';           
           setTimeout(NextSlide, 30);                                                   
           }           
         else
           {              
           eval('Move(' + x + ', ' + y + ', ' + layer + ');');
           }
         }
         
function Warp(x, y, dt, layer)
         {                                    
         eval('var current_x = GetX(' + layer + ');');
         eval('var current_y = GetY(' + layer + ');');
         
         var dX = x - current_x;
         var dY = y - current_y;
                           
         if(dt > 0)
           {
           var dx = dX / dt;
           var dy = dY / dt;
           
           eval('MoveBy(' + dx + ',' + dy + ', ' + layer +');');
           
           var NextWarp = 'Warp(' + x + ',' + y + ', ' +
                                (dt - 1) + ', ' +
                                '\'' + layer + '\')';           
           setTimeout(NextWarp, 30);                                                   
           }           
         else
           {              
           eval('Move(' + x + ', ' + y + ', ' + layer + ');');
           }
         }
         
function RookOverTo(x, y, dx, dy, layer)
         {
         if(Math.random() < 0.50)
           {
           RookOverToX(x, y, dx, dy, layer);
           }
         else
           {
           RookOverToY(x, y, dx, dy, layer);
           }
         }
         
function RookOverToX(x, y, dt, dy, layer)
         {
         eval('var current_x = GetX(' + layer + ');');
         
         var dX = x - current_x;
         
         if(dt > 0)
           {
           var dx = dX / dt;           
           
           eval('MoveBy(' + dx + ', 0, ' + layer +');');
           
           var NextRook = 'RookOverToX(' + x + ',' + y + ', ' +
                                       (dt - 1) + ', ' + dy + ', ' +
                                       '\'' + layer + '\')';           
           setTimeout(NextRook, 30);                                                   
           }           
         else
           {
           eval('var current_y = GetY(' + layer + ');');
           eval('Move(' + x + ', ' + current_y + ', ' + layer + ');');
           if(current_y != y)
             {             
             RookOverToY(x, y, dt, dy, layer);             
             }
           }
         }
         
function RookOverToY(x, y, dx, dt, layer)         
         {
         eval('var current_y = GetY(' + layer + ');');
         
         var dY = y - current_y;
         
         if(dt > 0)
           {
           var dy = dY / dt;           
           
           eval('MoveBy(0, ' + dy + ', ' + layer +');');
           
           var NextRook = 'RookOverToY(' + x + ',' + y + ', ' +
                                       dx + ', ' + (dt - 1) + ', ' +
                                       '\'' + layer + '\')';           
           setTimeout(NextRook, 30);                                                   
           }           
         else
           {
           eval('var current_x = GetX(' + layer + ');');
           eval('Move(' + current_x + ', ' + y + ', ' + layer + ');');
           if(current_x != x)
             {             
             RookOverToX(x, y, dx, dt, layer);             
             }
           }
         }
		 		 		 
function Selected(x, y, layer)
         {         
         if(navigator.appName == 'Netscape')
           {
           if(parseInt(navigator.appVersion) == 5)                             
		     if(x > parseInt(layer.style.left) && x < parseInt(layer.style.left) + parseInt(layer.style.width) &&
		        y > parseInt(layer.style.top) && y < parseInt(layer.style.top) + parseInt(layer.style.height))
		        return(true);	                  
		   if(parseInt(navigator.appVersion) == 4)		     
		     if(x > layer.left && x < layer.left + layer.clip.width &&
		        y > layer.top && y < layer.top + layer.clip.height)
		        return(true);
            
           }
         else
           {		     
		   if(navigator.appVersion.indexOf('MSIE 4') > 0)
             {
		     if(x > layer.style.pixelLeft && x < layer.style.pixelLeft + layer.offsetWidth &&
		        y > layer.style.pixelTop && y < layer.style.pixelTop + layer.offsetHeight)		   
		        return(true);
             }
           else
             {
             if(x > layer.style.pixelLeft && x < layer.style.pixelLeft + layer.offsetWidth &&
		        y > layer.style.pixelTop && y < layer.style.pixelTop + layer.offsetHeight)		   
		        return(true);		     
             }
           }
                    
         return(false);
         }
         
//I included these three functions in this file because of their
//basic functionality. I didn't want to create a js file with
//2 little functions.        
         
function WindowWidth()
         {
         if(navigator.appName == 'Netscape')
           return window.innerWidth;
         else         
           return document.body.clientWidth;
         }
         
function WindowHeight()
         {
         if(navigator.appName == 'Netscape')
           return window.innerHeight;
         else
           return document.body.clientHeight;
         }
         
function ChangeImage(layer,imgName,imgSrc) 
         {
	     if (document.images) 
            {
		    if(document.layers && layer!=null) 
              eval('document.'+layer+'.document.images[\''+imgName+'\'].src = \''+imgSrc+'\'');
		    else document.images[imgName].src = imgSrc;          
	        }
         }                 
