    Netscape=navigator.appName.indexOf("Netscape") >=0;
    enable  =navigator.appVersion.substring(0,3)>"3.0";
    IE = !Netscape; 
    
	var ready   = false;
	
	var imgNum	= 0;
    var imgLink = new Array();    
    var imgOn   = new Array();    
    var imgOff  = new Array();    
    var imgX	= new Array();    
    var imgY	= new Array();    
    var divX	= new Array();    
    var divY	= new Array();    
	var layerX  = 0;
	var layerY  = 0;
	var nOver   = -1;
	var divN	= 0;
	var	timer	= 0;
	
	var	Width	= 780;

	function addDivs () {
		for (var n=0; n<imgLink.length; n++) {
			if (!imgLink[n] || !imgLink[n].name) continue;
			
			var name = "layer"+imgLink[n].name;
			
			if (IE) {
				if (document.all[name]) {
					divX[name] = document.all[name].offsetLeft;
					divY[name] = document.all[name].offsetTop;
				}	
			} else { 
 				if (document[name]) {
 					divX[name] = document[name].left;
 					divY[name] = document[name].top;
 				}	
			} 
		}	
	}								
		
	function getX () {
		var x,h; 
		
		if (Netscape){ h = 15; x = window.innerWidth;			} 
			else	 { h = 10; x = document.body.offsetWidth;	}

		x = (x-Width)/2; if (x<h) x = h; return x-10;	
	}	
	
	function lon(n){
		var name= "layer" + n;
		
		if (timer!=0) {
			if (n==divN) clearTimeout(timer); else layerOff();
		}	
		
		var x = getX(); 
		
		if (divX[name]) {
			x = x + divX[name];
		}	
		
		if (document.layers) {
 			if (document[name]) {
 				document[name].left = x;
				document.layers[name].visibility='show';
			}	
		} else {
			if (document.all[name]) {
				document.all[name].style.left = x;
				document.all[name].style.visibility='visible';
			}	
		}	
	}

	function layerOff(){
		var name= "layer" +  divN;
		if(document.layers) {
			if (document.layers[name]) {
				document.layers[name].visibility='hide';
			}	
		} else {
			if (document.all[name]) {
				document.all[name].style.visibility='hidden';
			}	
		}	
	}

	function lof(n){
		divN = n;
		timer = setTimeout("layerOff()",300);
	}
	
	function out(e) {
		
		if (nOver<0) return false; 
		imgLink [nOver].src = imgOff[nOver].src; 
		if (imgLink[nOver].name) lof(imgLink[nOver].name);
		nOver = -1; return false;
	}
	
	function over(e) {
		if (!ready) return false;
		
		var n = -1;
		
		if (IE) {
			if (window.event.srcElement.tagName != "IMG" ) return false;
			n = window.event.srcElement.sourceIndex;
		} else {
			if (!e.target || (n = getNum(e.pageX,e.pageY))<0) return false;
		}	
		
		var l = imgLink[n];
		var i = imgOn  [n];
		
		if (l && i) { 
			l.src = i.src; nOver = n; 
			if (imgLink[n].name) lon(imgLink[n].name);
		}	
		
		return false;
	}
	
	function getNum (x,y) {
		var n = 0;
			
		while (n<imgLink.length) {
			var i  = imgLink[n]; 
			var ix = i.x+imgX[n];
			var iy = i.y+imgY[n]; n++;
			if (x<ix || x>(ix+i.width )) continue;
			if (y<iy || y>(iy+i.height)) continue;
			return n-1;
		}	
					
		return -1;			
	}
	
	function addImage (image,n) {
	//	if (image.name) alert(image.name);
		imgLink [n] = image; 
		imgOff	[n] = new Image; 
		imgOn	[n] = new Image; 
		imgOff	[n].src = image.src;
		imgOn	[n].src = image.src.replace(/a\.gif/,"b.gif");
		if (imgOn[n].src==imgOff[n].src)
		imgOn	[n].src = image.src.replace(/a\.jpg/,"b.jpg");
		return true;
	}
	
	function addLinks (links,images) {
		if (!links || !images) return;
	
		for (var nLink = 0; nLink<links.length; nLink++) {
			var link = links[nLink];
			
			for (var n=0; n<images.length; n++) {
				var image = images[n];
				
				if (link.x==image.x && link.y==image.y) {
					if (addImage (image,imgNum)) { 
						imgX[imgNum] = layerX;
						imgY[imgNum] = layerY;
						imgNum++; break; 
					}
				}	
			}	
		}	
	}	
	
	function addDocument (doc) {
		addLinks (doc.links, doc.images);
		
		if (doc.layers) 
		for (var n=0; n<doc.layers.length; n++) {
			var layer = doc.layers[n];
			layerX += layer.x; 
			layerY += layer.y;
			addDocument(layer.document);
			layerX -= layer.x;
			layerY -= layer.y;
		}	
	}								
	
	function onLoad() {
		ready = false; if (!enable) return true;
	
		if (IE) {
			var child, link, links = document.links;
		
			for (var nlink=0; nlink<links.length; nlink++) {
				if ((link = links[nlink]).children) 
				for (var n=0; n<link.children.length; n++) {
					if ((child = link.children[n]).tagName=="IMG") {
						if (addImage (child, child.sourceIndex)) break;
					}
				}
			}	
				
			document.onmouseover=over;
			document.onmouseout=out;
			
		} else { 
			imgNum	= 0;
			layerX  = 0;
			layerY  = 0;
		
			addDocument (document);
			
			document.captureEvents(Event.MOUSEOVER);
			document.captureEvents(Event.MOUSEOUT);
			document.onmouseover=over;
			document.onmouseout=out;
		}	
		
		addDivs();
		
		ready = true;
		return true;
	}	
	
	window.onload=onLoad;
