// Copyright (c) 2000 Taitl.
// Code: Andrey Potekhin
// Questions? Comments? Contact us at service@patentalert.com!
// Browser check

function BrowserCheck()
{
	if(document.layers) this.ns = true 
	if(document.all) this.ie = true 
}

var is = new BrowserCheck() 
var oldBrowser=(parseInt(navigator.appVersion) < 4)
var oldImage=null
var oldImageSrc=null
var isDefaultState=true

// Event handlers

function onloadHandler() 
{	
	setDocClickHandler(document, null, onmouseoverHandler, onmouseoutHandler)
}

function onmouseoverHandler(ns_event)
{
	if (oldBrowser || !isDefaultState)
		return true

	var ev = ns_event ? ns_event : window.event;
	var elem = ns_event ? ev.target : ev.srcElement;		
	var id
	
	if (elem)
	{
		if (elem.src)
			id = elem.name
		else if (elem.href)
		{
			id = elem.hash
			if (elem.hash.indexOf('#') == 0)
				id = id.substr(1)
			
			// Special treatment to mail links cause they can't have hash part
			if (!id && elem.href.indexOf('mailto:') == 0)
				id = 'mail'
		}	
		
		if (id && document.images[id])
		{
			var img = document.images[id];
			var imgName = img.src
			var newImageSrc = null
	//		alert(id)
	
			var nameStart = imgName.indexOf('navigationBar/')// + 9
			var nameEnd = imgName.lastIndexOf('.gif')
	
			if (nameStart != -1)
			{
				if (imgName.indexOf('Highlight.gif') != -1)
				{
					newImageSrc = imgName.substring(0, nameEnd - 9) + '.gif'
				}
				else
				{
					newImageSrc = imgName.substring(0, nameEnd) + 'Highlight.gif'
				}
			}
			
			if (newImageSrc)
			{
				oldImage = img
				oldImageSrc = img.src
	//			alert(curImage)
				img.src = newImageSrc
				isDefaultState = false
				return false
			}
		}
	}

	return true
}

function onmouseoutHandler(ns_event)
{
	if (oldImage)
	{
		oldImage.src = oldImageSrc
		isDefaultState = true
		return false
	}

	return true
}

// Various functions

function setDocClickHandler(doc, onclickHandler, onmouseoverHandler, onmouseoutHandler)
{

	for (var j = 0; j < doc.links.length; j++) 
	{ 
		if(onclickHandler)
			doc.links[j].onclick = onclickHandler;

		if(onmouseoverHandler)
			doc.links[j].onmouseover = onmouseoverHandler;

		if(onmouseoutHandler)
			doc.links[j].onmouseout = onmouseoutHandler;
	} 

	for (var j = 0; j < doc.images.length; j++) 
	{ 
		if(onclickHandler)
			doc.images[j].onmousedown = onclickHandler;
					
		if(onmouseoverHandler)
			doc.images[j].onmouseover = onmouseoverHandler;

		if(onmouseoutHandler)
			doc.images[j].onmouseout = onmouseoutHandler;
	} 
	
	if (onclickHandler)
		doc.onclick = onclickHandler

	if (onmouseoverHandler)
		doc.onmouseover = onmouseoverHandler

	if (onmouseoutHandler)
		doc.onmouseout = onmouseoutHandler

	//var captureFlags = (onclickHandler ? Event.MOUSECLICK : 0) 
	//	| (onmouseoverHandler ? Event.MOUSEOVER : 0) | (onmouseoutHandler ? Event.MOUSEOUT : 0)		
	//doc.captureEvents(captureFlags)

	if (is.ns)
	{
		for (var i = 0; i < document.layers.length; i++) 
		{ 
			setDocClickHandler(document.layers[i].document, onclickHandler, 
					onmouseoverHandler, onmouseoutHandler)
		}
	}
}

// Gets element name attribute (if any) 
// or retirieves its hash or href (if element is ancor) 
// or src (if element is image) as its name
function getElementName(elem)
{	
	var id = null
//alert(elem.name + ', ' + + ', ' + + ', ' + + ', ' + + ', ' + )

//	var firstChild = elem.images[0]
/*		if (firstChild && firstChild.name)
		{
			alert('has children')
		}
*/
/*
	var firstChild = elem.children[0]
		if (firstChild && firstChild.name)
		{
			alert('has children')
		}
		*/
	
	if (elem.href)
	{
		//alert('pon')
		//alert(elem.document.images.length)
		var firstChild = elem.children[0]
		
		if (firstChild && firstChild.name)
		{
			//alert('ponchiki ' + elem.document.images[0].name)
			//id = elem.document.images[0].name
			id = firstChild.name
		}
		else
			id = elem.href
	}	
	else	if (elem.name)
		id = elem.name
	else if(elem.hash)
	{
		if (elem.hash.indexOf('#') == 0)
			id = elem.hash.slice(1)
		else
			id = elem.hash
	}
	else 
 if (elem.src)
		id = elem.src
	
	return id

}

