function tamingselect()
{
	if(!document.getElementById && !document.createTextNode){return;}
	
// Classes for the link and the visible dropdown
	var ts_selectclass='turnintodropdown'; 	// class to identify selects
	var ts_listclass='turnintoselect';		// class to identify ULs
	
	var ts_boxclass='dropcontainer'; 		// parent element
	var ts_triggeron='activetrigger'; 		// class for the active trigger link
	var ts_triggeroff='trigger';			// class for the inactive trigger link
	var ts_dropdownclosed='dropdownhidden'; // closed dropdown
	var ts_dropdownopen='dropdownvisible';	// open dropdown
/*
	Turn all selects into DOM dropdowns
*/
	var count=0;
	var toreplace=new Array();
	var sels=document.getElementsByTagName('select');
	for(var i=0;i<sels.length;i++){
		if (ts_check(sels[i],ts_selectclass))
		{
			var 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])
			var trigger=document.createElement('a');
			ts_addclass(trigger,ts_triggeroff);
			trigger.href='#';
            trigger.setAttribute('id', 'trig_'+i);
			trigger.onclick=function(){
                this.blur();
                if (navigator.userAgent.match('MSIE') != null) {
                    document.onclick = function() {
                        var event = window.event;
                        if (event != null && event['srcElement'].className == 'trigger') {
                            if (getElementsByClassName(document, 'a', 'activetrigger')[0]) {
                                ts_swapclass(getElementsByClassName(document, 'a', 'activetrigger')[0],'activetrigger','trigger');
                                ts_swapclass(getElementsByClassName(document, 'ul', 'dropdownvisible')[0],'dropdownvisible','dropdownhidden');
                            }
                            ts_swapclass(getElementsByClassName(event['srcElement'].parentNode, 'a', 'trigger')[0],'activetrigger','trigger');
                            ts_swapclass(getElementsByClassName(event['srcElement'].parentNode, 'ul', 'dropdownhidden')[0],'dropdownvisible','dropdownhidden');
                        } else if (event != null && event['srcElement'].className != 'activetrigger' && event['srcElement'].parentNode.parentNode.className != 'dropcontainer') {
                            ts_swapclass(getElementsByClassName(document, 'a', 'activetrigger')[0],'activetrigger','trigger');
                            ts_swapclass(getElementsByClassName(document, 'ul', 'dropdownvisible')[0],'dropdownvisible','dropdownhidden');
                            document.onclick = null;
                        } else if (event['srcElement'].className == 'activetrigger') {
                            ts_swapclass(getElementsByClassName(event['srcElement'].parentNode, 'a', 'activetrigger')[0],'activetrigger','trigger');
                            ts_swapclass(getElementsByClassName(event['srcElement'].parentNode, 'ul', 'dropdownvisible')[0],'dropdownvisible','dropdownhidden');
                            document.onclick = null;
                        }
                    }
                } else {
                    window.onclick = function(event) {
                        if (event['target'].className == 'trigger') {
                            if (getElementsByClassName(document, 'a', 'activetrigger')[0]) {
                                ts_swapclass(getElementsByClassName(document, 'a', 'activetrigger')[0],'activetrigger','trigger');
                                ts_swapclass(getElementsByClassName(document, 'ul', 'dropdownvisible')[0],'dropdownvisible','dropdownhidden');
                            }
                            ts_swapclass(getElementsByClassName(event['target'].parentNode, 'a', 'trigger')[0],'activetrigger','trigger');
                            ts_swapclass(getElementsByClassName(event['target'].parentNode, 'ul', 'dropdownhidden')[0],'dropdownvisible','dropdownhidden');
                        } else if (event['target'].className != 'activetrigger') {
                            ts_swapclass(getElementsByClassName(document, 'a', 'activetrigger')[0],'activetrigger','trigger');
                            ts_swapclass(getElementsByClassName(document, 'ul', 'dropdownvisible')[0],'dropdownvisible','dropdownhidden');
                            window.onclick = null;
                        } else if (event['target'].className == 'activetrigger') {
                            ts_swapclass(getElementsByClassName(event['target'].parentNode, 'a', 'activetrigger')[0],'activetrigger','trigger');
                            ts_swapclass(getElementsByClassName(event['target'].parentNode, 'ul', 'dropdownvisible')[0],'dropdownvisible','dropdownhidden');
                            window.onclick = null;
                        }
                    }
                }
                /*ts_swapclass(this,ts_triggeroff,ts_triggeron);
				ts_swapclass(this.parentNode.getElementsByTagName('ul')[0],ts_dropdownclosed,ts_dropdownopen);*/
				return false;
			}
			trigger.appendChild(document.createTextNode(sels[i].options[0].text));
			sels[i].parentNode.insertBefore(trigger,sels[i]);
			var replaceUL=document.createElement('ul');
			for(var j=0;j<sels[i].getElementsByTagName('option').length;j++)
			{
				var newli=document.createElement('li');
				var newa=document.createElement('a');
                newa.onclick = function() { return false; };
				newli.v=sels[i].getElementsByTagName('option')[j].value;
				newli.elm=hiddenfield;
				newli.istrigger=trigger;
                if (j == 0) {
                    newli.style.marginTop = '-1px';
                    newli.style.paddingTop = '1px';
                }
                if (navigator.userAgent.match('MSIE') != null) {
                    newli.onmouseover = function() { this.className = 'hover' }
                    newli.onmouseout = function() { this.className = '' }
                    newli.onclick = function() { document.onclick = null; }
                }
				newa.href=newli.v;
				newa.appendChild(document.createTextNode(
				sels[i].getElementsByTagName('option')[j].text));
                newli.className = sels[i].getElementsByTagName('option')[j].className;
				newli.onclick=function(){
                    window.onclick = null;
                    document.onclick = null;
					this.elm.value=this.v;
					ts_swapclass(this.istrigger,ts_triggeron,ts_triggeroff);
					ts_swapclass(this.parentNode,ts_dropdownopen,ts_dropdownclosed)
					this.istrigger.firstChild.nodeValue=this.firstChild.firstChild.nodeValue;
                    return false;   
				}
                if ((sels[i].onchange+'').match("switchMarca") != null) {
                    if (newli.addEventListener)
                    newli.addEventListener("click", function() {switchMarca();}, false);
                    if (newli.attachEvent)
                    newli.attachEvent("onclick", function() {switchMarca();}, false); 
                }
                if ((sels[i].onchange+'').match("popolaModelli") != null) {
                    if (newli.addEventListener)
                    newli.addEventListener("click", function() {popolaModelli();}, false);
                    if (newli.attachEvent)
                    newli.attachEvent("onclick", function() {popolaModelli();}, false); 
                }
                if ((sels[i].onchange+'').match("goToUrl") != null) {
                    if (sels[i].getElementsByTagName('option')[j].getAttribute('selected') == 'selected') {
                        newa.setAttribute('selected','selected');
                    } else if (sels[i].getElementsByTagName('option')[j].getAttribute('selected')) {
                    	newa.setAttribute('selected','selected');
                    }                    
                    if (newli.addEventListener)
                    newli.addEventListener("click", function() {goToUrl(this);}, false);
                    if (newli.attachEvent)
                    newli.attachEvent("onclick", function() {goToUrl(event);}, false); 
                }
				newli.appendChild(newa);
				replaceUL.appendChild(newli);
			}
			ts_addclass(replaceUL,ts_dropdownclosed);
			var div=document.createElement('div');
			div.appendChild(replaceUL);
			ts_addclass(div,ts_boxclass);
			sels[i].parentNode.insertBefore(div,sels[i])
			toreplace[count]=sels[i];
			count++;
		}
	}
    
    
    try {
        initSearch();
        
    }
    catch(err) {}
    try {
        loadXML();
	}
    catch(err) {}
/*
	Turn all Go buttons hidden
*/	
    
    var allGo = getElementsByClassName(document, 'div', 'btn_go');
    for (var i = 0; i < allGo.length; i++) {
        allGo[i].style.display = 'none';
    }
    
/*
	Turn all ULs with the class defined above into dropdown navigations
*/	

	var uls=document.getElementsByTagName('ul');
	for(var i=0;i<uls.length;i++)
	{
		if(ts_check(uls[i],ts_listclass))
		{
			var newform=document.createElement('form');
			var newselect=document.createElement('select');
			for(j=0;j<uls[i].getElementsByTagName('a').length;j++)
			{
				var newopt=document.createElement('option');
				newopt.value=uls[i].getElementsByTagName('a')[j].href;	
				newopt.appendChild(document.createTextNode(uls[i].getElementsByTagName('a')[j].innerHTML));	
				newselect.appendChild(newopt);
			}
			newselect.onchange=function()
			{
				window.location=this.options[this.selectedIndex].value;
			}
			newform.appendChild(newselect);
			uls[i].parentNode.insertBefore(newform,uls[i]);
			toreplace[count]=uls[i];
			count++;
		}
	}
	for(i=0;i<count;i++){
		toreplace[i].parentNode.removeChild(toreplace[i]);
	}
	function ts_check(o,c)
	{
	 	return new RegExp('\\b'+c+'\\b').test(o.className);
	}
	function ts_swapclass(o,c1,c2)
	{
		var cn=o.className
		o.className=!ts_check(o,c1)?cn.replace(c2,c1):cn.replace(c1,c2);
	}
	function ts_addclass(o,c)
	{
		if(!ts_check(o,c)){o.className+=o.className==''?c:' '+c;}
	}
}

if (window.attachEvent) {
    window.attachEvent("onload", tamingselect, false);
}

if (window.addEventListener) {
    window.addEventListener("load", tamingselect, false);
}

function goToUrl(x) {
    if (navigator.userAgent.match('MSIE') != null) {
    	if (x['srcElement'].href != null) {
		    if (x['srcElement'].parentNode.getElementsByTagName('a')[0].getAttribute('selected') != 'selected') {
	        	x['srcElement'].parentNode.parentNode.parentNode.parentNode.parentNode.submit();
	        }
        } else {
            if (x['srcElement'].getElementsByTagName('a')[0].getAttribute('selected') != 'selected') {
                x['srcElement'].parentNode.parentNode.parentNode.parentNode.submit();
            }
        }
    } else {
        if (x.getElementsByTagName('a')[0].getAttribute('selected') != 'selected') {
            x.parentNode.parentNode.parentNode.parentNode.submit();
        }
    }
}
