var m_el_lis = null;
var m_el_ul = null;
var m_bShown = false;
var m_bImidiateShown = false;
var m_strulid = 'countryselectul';
var m_bInsideA = false;
var m_bInsideLI = false;

var m_bDebug = false;
var m_DIVDebug;

function Debug(str)
{
	if (m_bDebug)
	{
		m_DIVDebug.innerHTML += str + "<br />";
	}
	
}

function hidelist()
{
	
	if (m_bImidiateShown) return;
	//if (m_bInsideA || m_bInsideLI) return;
	Debug(m_bInsideA);
	
	var el_lis = getListItems();
	if (el_lis == null)
		return;
	for (i = 0; i < el_lis.length; i++)
	{
		if (el_lis[i].className != 'first')		
		{
			// hiding
			el_lis[i].style.marginLeft = '-200px';
			el_lis[i].style.display = 'none';
		}
	}
	m_bShown = false;
	getList().style.backgroundColor = 'Transparent';
}

function attachevents()
{
	if (m_bDebug)
	{
		m_DIVDebug = document.createElement("div");
		document.body.appendChild(m_DIVDebug);
		m_DIVDebug.innerHTML = "Debug info:<br />";
		
	}
	var el_lis = getListItems();
	if (el_lis == null)
		return;
	for (i = 0; i < el_lis.length; i++)
	{
		if (el_lis[i].className == 'first')
		{
			// attach event
			el_lis[i].onmouseover = function(){showlist();m_bInsideLI=true;Debug("inside ul")};
			getList().onmouseout = slowhide;			
		}
		else
		{
			el_lis[i].onmousemove = donthide;
			el_lis[i].getElementsByTagName('a')[0].onmousemove = donthide;
			el_lis[i].onmouseover = function(){donthide();Debug("inside li");};
			el_lis[i].onmouseout = function(){if (event.srcElement.tagName == 'A') donthide(); else m_bInsideLI = false;Debug("outside li " + event.srcElement.innerText);};
			el_lis[i].getElementsByTagName('a')[0].onmouseover = function(){donthide();m_bInsideA = true;Debug("inside a");};
			el_lis[i].getElementsByTagName('a')[0].onmouseout = function(){if (event.srcElement.tagName == 'A') donthide(); m_bInsideA = false;Debug("outside a " + event.srcElement.tagName);};
			//el_lis[i].getElementsByTagName('a')[0].onmouseover = donthide;
		}
	}
}


function slowhide()
{
	//alert(m_bInsideA);
	//if (m_bInsideA || m_bInsideLI) return;
	m_bImidiateShown = false;
	setTimeout("hidelist();", 500);
}

function donthide()
{	
	m_bInsideLI = true;
	m_bImidiateShown = true;
	m_bShown = true;
}

function showlist()
{
	m_bImidiateShown = true;
	if (m_bShown) return;
	var el_lis = getListItems();
	
	for (i = 0; i < el_lis.length; i++)
	{
		if (el_lis[i].className != 'first')
		{	
			el_lis[i].style.display = 'block';
			for (j = -200; j <= 0; j+=5)
			{

				setTimeout("moveli(" + i + ", " + j + ");", 1 * (201 + j));
			}		
		}
	}
	m_bShown = true;
	getList().style.backgroundColor = '#000';
}

function moveli(i, m)
{
	var el_lis = getListItems();
	el_lis[i].style.marginLeft = m + 'px';
}

function getListItems()
{
	if (m_el_lis == null)
	{
		// getting list
		var el_ul = getList();
		// list items
		if (el_ul != null)
			m_el_lis = el_ul.getElementsByTagName('li');
	}
	return m_el_lis;
}

function getList()
{
	if (m_el_ul == null)
		m_el_ul = document.getElementById(m_strulid);
	return m_el_ul;
}

if (window.addEventListener)
{ // Mozilla, Netscape, Firefox
	window.addEventListener('load', hidelist, false);
	window.addEventListener('load', attachevents, false);	
} else { // IE
	window.attachEvent('onload', hidelist);
	window.attachEvent('onload', attachevents);
}

