var eS_selectclass='enhance';
var eS_boxclass='selectparent';
var eS_triggeron='enhancedtriggeractive';
var eS_triggeroff='enhancedtrigger';
var eS_dropdownclosed='dropdownreplacement';
var eS_dropdownopen='enhanceddropdownvisible';
var eS_listclass='turnintoselect';
function enhanceSelect()
{
	var sels,i,hiddenfield,j,trigger,replaceUL,newli,newa,uls,newform,newselect,newopt;
	var count=0;
	var toreplace=new Array();
	var replaceULs=new Array();

	sels=document.getElementsByTagName('select');
	for(i=0;i<sels.length;i++){
		if (checkClass(sels[i],eS_selectclass))
		{
			hiddenfield=document.createElement('input');
			hiddenfield.name=sels[i].name;
			hiddenfield.type='hidden';
			hiddenfield.id=sels[i].id;
			hiddenfield.value=sels[i].options[0].value;
			sels[i].parentNode.insertBefore(hiddenfield,sels[i])
			trigger=document.createElement('a');
			trigger.id='trigger' + i; // toto je moje
			trigger.href='#';
			trigger.tabIndex=sels[i].tabIndex;
			trigger.className=eS_triggeroff;
			trigger.onclick=function(){eS_showSel(this); return false;}
			trigger.appendChild(document.createTextNode(sels[i].options[0].text));
			sels[i].parentNode.insertBefore(trigger,sels[i]);
			replaceUL=document.createElement('ul');
   			for(j=0;j<sels[i].getElementsByTagName('option').length;j++)
			{
				newli=document.createElement('li');
				newa=document.createElement('a');
				newa.href='#';
				newli.v=sels[i].getElementsByTagName('option')[j].value;
				newli.elm=hiddenfield;
				newli.istrigger=trigger;
				newa.appendChild(document.createTextNode(
				sels[i].getElementsByTagName('option')[j].text));
				newli.onclick=function(){ 
					var txt=this.getElementsByTagName('a')[0].firstChild.nodeValue;
					var mag = txt.substr(0,10);
					if(txt != mag) txt = mag + '...';
					eS_setVal(this.v,this.elm,this.istrigger,txt);return false;
					}
				newli.appendChild(newa);
				replaceUL.appendChild(newli);
			}
			replaceUL.className=eS_dropdownclosed;
			toreplace[count]=sels[i];
			replaceULs[count]=replaceUL;
			count++;
		}
	}
	for(i=0;i<count;i++)
	{
		var div=document.createElement('div');
		div.appendChild(replaceULs[i]);
		div.className=eS_boxclass;
		toreplace[i].parentNode.insertBefore(div,toreplace[i])
		toreplace[i].parentNode.removeChild(toreplace[i])
	}
	count=0;
	toreplace.length=0;
	replaceULs.length=0;

	uls=document.getElementsByTagName('ul');
	for(i=0;i<uls.length;i++)
	{
		if(checkClass(uls[i],eS_listclass))
		{
			newform=document.createElement('form');
			newselect=document.createElement('select');
			alla=uls[i].getElementsByTagName('a');
			for(j=0;j<alla.length;j++)
			{
				newopt=document.createElement('option');
				newopt.setAttribute('value',alla[j].href);	
				newopt.appendChild(document.createTextNode(alla[j].innerHTML));	
				newselect.appendChild(newopt);
			}
			newform.appendChild(newselect);
			replaceULs[count]=newform;
			toreplace[count]=uls[i];
			count++;
		}
	}
	for(i=0;i<count;i++)
	{
		toreplace[i].parentNode.insertBefore(replaceULs[i],toreplace[i])
		toreplace[i].parentNode.removeChild(toreplace[i])
		replaceULs[i].getElementsByTagName('select')[0].onchange=function()
			{
				self.location=this.options[this.selectedIndex].value;
			}
	}
}
function checkClass(o,c)
{
	var re=new RegExp('\\b'+c+'\\b');
	return re.test(o.className);
}
function Initializator() {
	if(document.getElementById && document.createTextNode)
	{
		enhanceSelect();
	}
	
	InfoInit();
	
	
}
var ie5 = (document.getElementById && document.all); 
var ns6 = (document.getElementById && !document.all);

var mouseX = 10;
var mouseY = 15;

var Info = false;

function getDocumentScrollTop()
{
	var scrOfY = 0;
	if(typeof(window.pageYOffset) == 'number') {
		scrOfY = window.pageYOffset;
	} else if(document.body && (document.body.scrollLeft || document.body.scrollTop)) {
		scrOfY = document.body.scrollTop;
	} else if(document.documentElement &&
		(document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
	  	scrOfY = document.documentElement.scrollTop;
	}
	return scrOfY
}
function getDocumentScrollLeft() {
	var scrOfX = 0
	if(typeof( window.pageYOffset) == 'number') {
		 scrOfX = window.pageXOffset;
	} else if(document.body && (document.body.scrollLeft || document.body.scrollTop )) {
		 scrOfX = document.body.scrollLeft;
	} else if(document.documentElement &&
	    (document.documentElement.scrollLeft || document.documentElement.scrollTop )) {
		 scrOfX = document.documentElement.scrollLeft;
	}
	return scrOfX;
}
function changeInfo(i)
{
	if (Info)
	{		
		Info.style.visibility = 'visible';
		Info.style.display = 'block';
		Info.innerHTML = i;
	}
}
function hideInfo()
{
	if (Info)
	{
		Info.style.visibility='hidden';
		Info.style.display='none';
		
	}	
}
function getMouseMove(e){
	if(ie5){
		Info.style.left = getDocumentScrollLeft() + event.clientX + mouseX;
		Info.style.top = getDocumentScrollTop() + event.clientY + mouseY;
	}
	else if(ns6){
		Info.style.left = window.pageXOffset + e.clientX + mouseX + 'px';
		Info.style.top = window.pageYOffset + e.clientY + mouseY+ 'px';
	}
}
function InfoInit()
{
	if (ie5 || ns6) 
	{
		Info = document.getElementById('Infobox');
		document.onmousemove=getMouseMove;
	}
}
var InfoText = new Array();
window.onload=Initializator;

