function dhtmlselect(selectid, selectClassName, combozindex, headertext){
    var selectbox = document.getElementById(selectid);
    var combotext = "";
    if (typeof headertext != 'undefined' && headertext !='')
        combotext = headertext;
    else combotext = "";

    comboHTML = '<p>'  + combotext + '</p>' + '<ul class="dropdown">';
    for (var i=0 ; i < selectbox.options.length ; i++) {
        comboHTML = comboHTML + '<li><a href="javascript:myDirtySetSelect(\''+selectid+'\','+'\''+selectClassName+'\',\''+combozindex+'\','+'\''+selectbox.options[i].value+'\')">'+selectbox.options[i].text+'</a></li>';
    }
    comboHTML = comboHTML + "</ul>";

    var dcombobox = document.getElementById('dhtml_' + selectid);
    if (dcombobox != null) {
        dcombobox.innerHTML = comboHTML;
    }
    else {
		var myDiv = new Element('div',{'html':comboHTML,'id':'dhtml_'+selectid,'class':selectClassName});
		myDiv.inject(selectbox,'after');
    }
                    

    selectbox.style.display="none";

    var dhtmlselectbox = document.getElementById("dhtml_" + selectid);
    dhtmlselectbox.style.zIndex = combozindex;
    combozindex--;

    dhtmlselectbox.getElementsByTagName("ul")[0].style.top = dhtmlselectbox.offsetHeight + 1 + "px";
	dhtmlselectbox.onclick = function () {
		showDropDownMenu(dhtmlselectbox, selectid);
	}
}

function myDirtySetSelect(selectid, selectClassName, combozindex, optionid) {

    var selectbox = document.getElementById(selectid);
    var combobox = document.getElementById('dhtml_'+selectid);
    var combotext = "";

    combobox.getElementsByTagName("ul")[0].style.display = "none";
    combobox.style.overflow="visible";

    for (var i=0; i<selectbox.options.length; i++) {
        if (selectbox.options[i].value == optionid) {
            selectbox.value = optionid;
            combotext = selectbox.options[i].text
			$(selectbox).fireEvent('change');
        }
    }

    dhtmlselect(selectid,selectClassName,combozindex,combotext);

    if (selectbox.onchange){
        selectbox.onchange();
        document.forms[0].submit();
    }
}
/*--*/
function setSelectHeight (selectid) {
    var getSelect=document.getElementById(selectid);
    var offSetHeight = 14;
    var selectHeight = getSelect.options.length*offSetHeight + 2;
    if (selectHeight > 250) {
        return 250;
    }
    else {
	return selectHeight;
    }
}

/*-DropDown ClickOutSide-*/
var mouseX, mouseY;
var initialize = 0;
var unclickableZone;
var menuItem;
var lastMenuItem;
var leftPos;
var topPos;


function showDropDownMenu (dhtmlselectbox, selectid) {
    //get Parent coordinates
    leftPos = dhtmlselectbox.offsetLeft + document.getElementById("main").offsetLeft;
    topPos = dhtmlselectbox.offsetTop;

    menuItem = dhtmlselectbox;

    unclickableZone = menuItem.getElementsByTagName("ul")[0];

    if (unclickableZone.style.display == "block") {
        unclickableZone.style.display = "none";
        initialize = 0;
    }
    else {
        unclickableZone.style.display = "block";
        var setHeight = setSelectHeight(selectid);
        menuItem.getElementsByTagName("ul")[0].style.height = setHeight + "px";
        
        initialize = 1;
    }

    if (lastMenuItem && lastMenuItem != menuItem) {
		lastMenuItem.getElementsByTagName("ul")[0].style.display="none";
    }

    lastMenuItem = menuItem;
}

function getMousePos(e) {
    if (!e) var e = window.event || window.Event;

    if('undefined'!=typeof e.pageX) {
        mouseX = e.pageX;
        mouseY = e.pageY;
    }
    else {
        mouseX = e.clientX + document.documentElement.scrollLeft;
        mouseY = e.clientY + document.documentElement.scrollTop;
    }

    if (initialize == 1) {
        clickOutSide();
    }
}

// tell Mozilla to start listening:
if(window.Event && document.captureEvents) document.captureEvents(Event.MOUSEMOVE);

document.onmousemove = getMousePos;

function clickOutSide () {
    document.onclick = function () {
    var selectbox = document.getElementById("products");
        if (unclickableZone) {
            var leftEdge = unclickableZone.offsetLeft + leftPos;
            var rightEdge = unclickableZone.offsetLeft + leftPos + menuItem.clientWidth+50;
            var topEdge = topPos;
            var bottomEdge = unclickableZone.offsetTop + topPos + unclickableZone.clientHeight;

            //Click OutSide
            if (!((leftEdge <= mouseX) && (mouseX <= rightEdge) && (topEdge <= mouseY) && (mouseY <= bottomEdge)) && initialize == 1) {
//alert('titi');
//			menuItem.getElementsByTagName("ul")[0].style.display = "none";
                initialize = 0;
            }
        }
    }
}
