var combodropoffsetY=2 //offset of drop down menu vertically from default location (in px)
var combozindex=100
var comboshow=false

var validVals = Array();
var selVals = Array();

function dhtmlselect(selectid, selectwidth, optionwidth, optionmaxwitdh, hashMap, keySet, id_pref, elem_id, spanmaxlen){
	var write_elem = null;
	if (elem_id) write_elem = document.getElementById(elem_id);
	var selectbox=document.getElementById(selectid)
	var sel_val = selectbox.value
	var firstFakeTitle = ''
	
	for (var i=0; i<selectbox.options.length; i++) {
		if (selectbox.options[i].value == sel_val) {
			firstFakeTitle = selectbox.options[i].text
			break
		}
	}
	
	if (spanmaxlen) if (firstFakeTitle.length > spanmaxlen) firstFakeTitle = firstFakeTitle.substring(0, spanmaxlen-5) + '...'
	else if (firstFakeTitle.length > optionmaxwitdh) firstFakeTitle = firstFakeTitle.substring(0, optionmaxwitdh-5) + '...'
	
	var innerHTML = '<div id="dhtml_'+selectid+'" class="dhtmlselect"><span id="dspan_'+selectid+'">'+firstFakeTitle+'</span><div id="drpdwn_'+selectid+'" class="dropdown">';
	
	for (var i=0; i<selectbox.options.length; i++) {
		var val = selectbox.options[i].value
		var txt = selectbox.options[i].text
		
		var title_txt = selectbox.options[i].text
		if (selectbox.options[i].title) title_txt = selectbox.options[i].title
		
		var shorttxt = txt
		if (shorttxt.length > optionmaxwitdh) shorttxt = shorttxt.substring(0, optionmaxwitdh-5) + '...'
		var veryshorttxt = txt
		if (spanmaxlen) if (veryshorttxt.length > spanmaxlen) veryshorttxt = veryshorttxt.substring(0, spanmaxlen-5) + '...'
		else if (veryshorttxt.length > optionmaxwitdh) veryshorttxt = veryshorttxt.substring(0, optionmaxwitdh-5) + '...'
		innerHTML += '<a id=\'' + id_pref + val + '\' href="#" onclick="selectOption(\''+selectid+'\', \''+val+'\', \''+veryshorttxt+'\');return false" title="'+title_txt+'">'+shorttxt+'</a>';
	}
	innerHTML += '</div></div>'
	selectbox.style.display="none"
	
	if (write_elem) {
		write_elem.innerHTML += innerHTML
	} else document.write(innerHTML)
	
	var dhtmlselectbox=document.getElementById("dhtml_"+selectid)
	dhtmlselectbox.style.zIndex=combozindex
	combozindex--

	if (typeof selectwidth!="undefined") {
		dhtmlselectbox.style.width=selectwidth
	}
	
	if (typeof optionwidth!="undefined") {
		dhtmlselectbox.getElementsByTagName("div")[0].style.width=optionwidth
	}
	dhtmlselectbox.getElementsByTagName("div")[0].style.top="20px"

	dhtmlselectbox.onclick=function(){
		if (!comboshow) {
			var curdiv = this.getElementsByTagName("div")[0]
			curdiv.style.display="block"
			specificAv(document.getElementById(selectid), hashMap, keySet)
			var all_divs = document.getElementsByTagName("div")
			for (var i = 0; i < all_divs.length; i++) {
				if (all_divs[i].id != null){
					if (all_divs[i].id.indexOf("drpdwn_")==0)
						if (all_divs[i].id!=curdiv.id) all_divs[i].style.display="none"
				}
			}
		} else comboshow=false
	}
	var dhtmlcombbox=document.getElementById("drpdwn_"+selectid)
	dhtmlcombbox.onmouseover=function(){
		document.getElementById("drpdwn_"+selectid).style.display="block"
	}
	dhtmlcombbox.onmouseout=function(){
		this.style.display="none"
	}
}

function selectOption(selectid, selected_val, short_val) {
	var selectFake=document.getElementById('dhtml_'+selectid)
	selectFake.getElementsByTagName("div")[0].style.display="none"
	
	if(!checkValue(selectid, selected_val)) {
		return;
	}
	
	selVals[selectid] = selected_val;
	
	var selectOrig=document.getElementById(selectid)
	selectOrig.value = selected_val
	
	if (selectOrig.onchange != null) selectOrig.onchange();
	
	var selectFakeTitle=document.getElementById('dspan_'+selectid)
	selectFakeTitle.innerHTML = short_val
	
	comboshow=true
}

function available(map, kset) {

	for(var k = 0; k < kset.length; k++) {
	
		specificAv(document.getElementById(kset[k]), map, kset);
		selVals[kset[k]] = "";
	}
}

function specificAv(elem, map, kset) {
	
	var id = elem.id;
	var tmpValidVals = Array();

	var garr = getGlobalArray(id, map, kset);
	
	var hash_garr = getHash(garr, map[id]);
	
	var elemCont = document.getElementById(id);
	var childNodes = elemCont.childNodes;

	for(var g = 0; g < childNodes.length; g++) {
		
		if(childNodes[g].nodeName == 'OPTION' && childNodes[g].value != "") {
			//document.getElementById(map[id] + childNodes[g].value).style.color = "#C7C7C7";
			document.getElementById(map[id] + childNodes[g].value).style.display = "none";
		}
	}
	
	for(var g = 0; g < childNodes.length; g++) {
						 
		if(childNodes[g].nodeName == 'OPTION' && hash_garr[childNodes[g].value] == true && childNodes[g].value != "") {
			//document.getElementById(map[id] + childNodes[g].value).style.color = "#666666";
			document.getElementById(map[id] + childNodes[g].value).style.display = "block";
			tmpValidVals[childNodes[g].value] = true;				
		}
	}
	
	validVals[id] = tmpValidVals;
}

function getGlobalArray(id, map, kset) {
	
	var new_arr = Array();
	var na = 0;
	
	var ind;
	var elemVal;
	
	if(global_arr) {
		
		for(var j = 0; j < global_arr.length; j++) {
			
			ind = true;
			
			for(var k = 0; k < kset.length; k++) {
				
				tmpInd = false;
				
				if(id != kset[k] && document.getElementById(kset[k])) {
					
					elemVal = document.getElementById(kset[k]).value;
					
					if(eval('global_arr['+j+'].'+map[kset[k]]) == elemVal || elemVal == "") {
						
						tmpInd = true;	
					}
	
					if(!tmpInd) {
						
						ind = false;
					}					
				}
			}
			
			if(ind) {
				
				new_arr[na++] = global_arr[j];
			}
		}
	}
		
	validVals[id] = new_arr;

	return new_arr;
}

function getHash(arr, attr) {

	hash = Array();
	var tmpCnt = 0;
	
	for(var g = 0; g < arr.length; g++) {
		
		var tmp = eval('arr['+g+'].'+attr);
		hash[tmp] = true;
		tmpCnt++;
	}
	
	return hash;
}

function checkValue(id, val) {

	if(validVals[id] && validVals[id][val] != true && val != "") {
		/*
		alert('\u0160is pasirinkimas negalimas.');
		*/
		return false;
	}
	
	return true;
}


function dhtmlselectold(selectid, selectwidth, optionwidth, optionmaxwitdh, elem_id, spanmaxlen){
	var write_elem = null;
	if (elem_id) write_elem = document.getElementById(elem_id);
	
	var selectbox=document.getElementById(selectid)
	var sel_val = selectbox.value
	var firstFakeTitle = ''
	for (var i=0; i<selectbox.options.length; i++) {
		if (selectbox.options[i].value == sel_val) {
			firstFakeTitle = selectbox.options[i].text
			break
		}
	}
	if (spanmaxlen) if (firstFakeTitle.length > spanmaxlen) firstFakeTitle = firstFakeTitle.substring(0, spanmaxlen-5) + '...'
	else if (firstFakeTitle.length > optionmaxwitdh) firstFakeTitle = firstFakeTitle.substring(0, optionmaxwitdh-5) + '...'
	var innerHTML = '<div id="dhtml_'+selectid+'" class="dhtmlselect"><span id="dspan_'+selectid+'">'+firstFakeTitle+'</span><div id="drpdwn_'+selectid+'" class="dropdown">'
	for (var i=0; i<selectbox.options.length; i++) {
		var val = selectbox.options[i].value
		var txt = selectbox.options[i].text
		
		var title_txt = selectbox.options[i].text
		if (selectbox.options[i].title) title_txt = selectbox.options[i].title
		
		var shorttxt = txt
		if (shorttxt.length > optionmaxwitdh) shorttxt = shorttxt.substring(0, optionmaxwitdh-5) + '...'
		var veryshorttxt = txt
		if (spanmaxlen) if (veryshorttxt.length > spanmaxlen) veryshorttxt = veryshorttxt.substring(0, spanmaxlen-5) + '...'
		else if (veryshorttxt.length > optionmaxwitdh) veryshorttxt = veryshorttxt.substring(0, optionmaxwitdh-5) + '...'
		innerHTML += '<a id=\'' + val + '\' href="#" onclick="selectOptionold(\''+selectid+'\', \''+val+'\', \''+veryshorttxt+'\');return false" title="'+title_txt+'">'+shorttxt+'</a>'
	}
	innerHTML += '</div></div>'
	selectbox.style.display="none"
	if (write_elem) {
		write_elem.innerHTML += innerHTML
	} else document.write(innerHTML)
	var dhtmlselectbox=document.getElementById("dhtml_"+selectid)
	dhtmlselectbox.style.zIndex=combozindex
	combozindex--
	if (typeof selectwidth!="undefined")
		dhtmlselectbox.style.width=selectwidth
	if (typeof optionwidth!="undefined")
		dhtmlselectbox.getElementsByTagName("div")[0].style.width=optionwidth
	dhtmlselectbox.getElementsByTagName("div")[0].style.top="20px"

	dhtmlselectbox.onclick=function(){
		if (!comboshow) {
			var curdiv = this.getElementsByTagName("div")[0]
			curdiv.style.display="block"
			var all_divs = document.getElementsByTagName("div")
			for (var i = 0; i < all_divs.length; i++) {
				if (all_divs[i].id != null){
					if (all_divs[i].id.indexOf("drpdwn_")==0)
						if (all_divs[i].id!=curdiv.id) all_divs[i].style.display="none"
				}
			}
		} else comboshow=false
	}
	var dhtmlcombbox=document.getElementById("drpdwn_"+selectid)
	dhtmlcombbox.onmouseover=function(){
		document.getElementById("drpdwn_"+selectid).style.display="block"
	}
	dhtmlcombbox.onmouseout=function(){
		this.style.display="none"
	}
}

function selectOptionold(selectid, selected_val, short_val) {
	var selectOrig=document.getElementById(selectid)
	selectOrig.value = selected_val
	
	var selectFake=document.getElementById('dhtml_'+selectid)
	selectFake.getElementsByTagName("div")[0].style.display="none"
	
	var selectFakeTitle=document.getElementById('dspan_'+selectid)
	selectFakeTitle.innerHTML = short_val
	
	comboshow=true
	if (selectOrig.onchange) selectOrig.onchange()
}

function dhtmlselectex(selectid, selectwidth, optionwidth, optionmaxwitdh, hashMap, keySet, id_pref, elem_id, spanmaxlen){
	var write_elem = null;
	if (elem_id) write_elem = document.getElementById(elem_id);
	
	var selectbox=document.getElementById(selectid)
	var sel_val = selectbox.value
	var firstFakeTitle = ''
	for (var i=0; i<selectbox.options.length; i++) {
		if (selectbox.options[i].value == sel_val) {
			firstFakeTitle = selectbox.options[i].text
			break
		}
	}
	if (spanmaxlen) if (firstFakeTitle.length > spanmaxlen) firstFakeTitle = firstFakeTitle.substring(0, spanmaxlen-5) + '...'
	else if (firstFakeTitle.length > optionmaxwitdh) firstFakeTitle = firstFakeTitle.substring(0, optionmaxwitdh-5) + '...'
	var innerHTML = '<div id="dhtml_'+selectid+'" class="dhtmlselect"><span id="dspan_'+selectid+'">'+firstFakeTitle+'</span><div id="drpdwn_'+selectid+'" class="dropdown dropdownex"><div class="dropdown_up"><a href="#" onclick="'+selectid+'scroll_down();return false"><img src="/es-parama-theme/images/Design/trigger_up.gif" /></a></div><div id="'+selectid+'dropdown_inside" class="dropdown_inside">'
	for (var i=0; i<selectbox.options.length; i++) {
		var val = selectbox.options[i].value
		var txt = selectbox.options[i].text
		
		var title_txt = selectbox.options[i].text
		if (selectbox.options[i].title) title_txt = selectbox.options[i].title
		
		var shorttxt = txt
		if (shorttxt.length > optionmaxwitdh) shorttxt = shorttxt.substring(0, optionmaxwitdh-5) + '...'
		var veryshorttxt = txt
		if (spanmaxlen) if (veryshorttxt.length > spanmaxlen) veryshorttxt = veryshorttxt.substring(0, spanmaxlen-5) + '...'
		else if (veryshorttxt.length > optionmaxwitdh) veryshorttxt = veryshorttxt.substring(0, optionmaxwitdh-5) + '...'
		innerHTML += '<a id=\'' + id_pref + val + '\' href="#" onclick="selectOptionold(\''+selectid+'\', \''+val+'\', \''+veryshorttxt+'\');return false" title="'+title_txt+'">'+shorttxt+'</a>'
	}
	innerHTML += '</div><div class="dropdown_down"><a href="#" onclick="'+selectid+'scroll_up();return false"><img src="/es-parama-theme/images/Design/trigger_down.gif" /></a></div></div></div>'
	selectbox.style.display="none"
	if (write_elem) {
		write_elem.innerHTML += innerHTML
	} else document.write(innerHTML)
	var dhtmlselectbox=document.getElementById("dhtml_"+selectid)
	dhtmlselectbox.style.zIndex=combozindex
	combozindex--
	if (typeof selectwidth!="undefined")
		dhtmlselectbox.style.width=selectwidth
	if (typeof optionwidth!="undefined")
		dhtmlselectbox.getElementsByTagName("div")[0].style.width=optionwidth
	dhtmlselectbox.getElementsByTagName("div")[0].style.top="20px"

	dhtmlselectbox.onclick=function(){
		if (!comboshow) {
			var curdiv = this.getElementsByTagName("div")[0]
			curdiv.style.display="block"
			specificAv(document.getElementById(selectid), hashMap, keySet)
			var all_divs = document.getElementsByTagName("div")
			for (var i = 0; i < all_divs.length; i++) {
				if (all_divs[i].id != null){
					if (all_divs[i].id.indexOf("drpdwn_")==0)
						if (all_divs[i].id!=curdiv.id) all_divs[i].style.display="none"
				}
			}
		} else comboshow=false
	}
	var dhtmlcombbox=document.getElementById("drpdwn_"+selectid)
	dhtmlcombbox.onmouseover=function(){
		document.getElementById("drpdwn_"+selectid).style.display="block"
	}
	dhtmlcombbox.onmouseout=function(){
		this.style.display="none"
	}
}

function dhtmlselectexold(selectid, selectwidth, optionwidth, optionmaxwitdh, elem_id, spanmaxlen){
	var write_elem = null;
	if (elem_id) write_elem = document.getElementById(elem_id);
	
	var selectbox=document.getElementById(selectid)
	var sel_val = selectbox.value
	var firstFakeTitle = ''
	for (var i=0; i<selectbox.options.length; i++) {
		if (selectbox.options[i].value == sel_val) {
			firstFakeTitle = selectbox.options[i].text
			break
		}
	}
	if (spanmaxlen) if (firstFakeTitle.length > spanmaxlen) firstFakeTitle = firstFakeTitle.substring(0, spanmaxlen-5) + '...'
	else if (firstFakeTitle.length > optionmaxwitdh) firstFakeTitle = firstFakeTitle.substring(0, optionmaxwitdh-5) + '...'
	
	var innerHTML = '<div id="dhtml_'+selectid+'" class="dhtmlselect"><span id="dspan_'+selectid+'">'+firstFakeTitle+'</span><div id="drpdwn_'+selectid+'" class="dropdown dropdownex"><div class="dropdown_up"><a href="#" onclick="'+selectid+'scroll_down();return false"><img src="/es-parama-theme/images/Design/trigger_up.gif" /></a></div><div id="'+selectid+'dropdown_inside" class="dropdown_inside">'
	
	for (var i=0; i<selectbox.options.length; i++) {
		var val = selectbox.options[i].value
		var txt = selectbox.options[i].text
		
		var title_txt = selectbox.options[i].text
		if (selectbox.options[i].title) title_txt = selectbox.options[i].title
		
		var shorttxt = txt
		if (shorttxt.length > optionmaxwitdh) shorttxt = shorttxt.substring(0, optionmaxwitdh-5) + '...'
		var veryshorttxt = txt
		if (spanmaxlen == null) if (veryshorttxt.length > optionmaxwitdh) veryshorttxt = veryshorttxt.substring(0, optionmaxwitdh-5) + '...'
		else if (veryshorttxt.length > spanmaxlen) veryshorttxt = veryshorttxt.substring(0, spanmaxlen-5) + '...'
		innerHTML+= '<a id=\'' + val + '\' href="#" onclick="selectOptionold(\''+selectid+'\', \''+val+'\', \''+veryshorttxt+'\');return false" title="'+title_txt+'">'+shorttxt+'</a>'
	}
	innerHTML +='</div><div class="dropdown_down"><a href="#" onclick="'+selectid+'scroll_up();return false"><img src="/es-parama-theme/images/Design/trigger_down.gif" /></a></div></div></div>'
	selectbox.style.display="none"
	if (write_elem) {
		write_elem.innerHTML += innerHTML
	} else document.write(innerHTML)
	
	var dhtmlselectbox=document.getElementById("dhtml_"+selectid)
	dhtmlselectbox.style.zIndex=combozindex
	combozindex--
	if (typeof selectwidth!="undefined")
		dhtmlselectbox.style.width=selectwidth
	if (typeof optionwidth!="undefined")
		dhtmlselectbox.getElementsByTagName("div")[0].style.width=optionwidth
	dhtmlselectbox.getElementsByTagName("div")[0].style.top="20px"

	dhtmlselectbox.onclick=function(){
		if (!comboshow) {
			var curdiv = this.getElementsByTagName("div")[0]
			curdiv.style.display="block"
			var all_divs = document.getElementsByTagName("div")
			for (var i = 0; i < all_divs.length; i++) {
				if (all_divs[i].id != null){
					if (all_divs[i].id.indexOf("drpdwn_")==0)
						if (all_divs[i].id!=curdiv.id) all_divs[i].style.display="none"
				}
			}
		} else comboshow=false
	}
	var dhtmlcombbox=document.getElementById("drpdwn_"+selectid)
	dhtmlcombbox.onmouseover=function(){
		document.getElementById("drpdwn_"+selectid).style.display="block"
	}
	dhtmlcombbox.onmouseout=function(){
		this.style.display="none"
	}
}


var validVals2 = Array();
var selVals2 = Array();

function dhtmlselect2(selectid, selectwidth, optionwidth, optionmaxwitdh, hashMap, keySet, id_pref, elem_id){
	var write_elem = null;
	if (elem_id) write_elem = document.getElementById(elem_id);
	var selectbox=document.getElementById(selectid)
	var sel_val = selectbox.value
	var firstFakeTitle = ''
	
	for (var i=0; i<selectbox.options.length; i++) {
		if (selectbox.options[i].value == sel_val) {
			firstFakeTitle = selectbox.options[i].text
			break
		}
	}
	
	if (firstFakeTitle.length > optionmaxwitdh) {
		firstFakeTitle = firstFakeTitle.substring(0, optionmaxwitdh-5) + '...'
	}
	
	var innerHTML = '<div id="dhtml_'+selectid+'" class="dhtmlselect"><span id="dspan_'+selectid+'">'+firstFakeTitle+'</span><div id="drpdwn_'+selectid+'" class="dropdown">';
	
	for (var i=0; i<selectbox.options.length; i++) {
		var val = selectbox.options[i].value
		var txt = selectbox.options[i].text
		
		var title_txt = selectbox.options[i].text
		if (selectbox.options[i].title) title_txt = selectbox.options[i].title
		
		var shorttxt = txt

		if (shorttxt.length > optionmaxwitdh) {
			shorttxt = shorttxt.substring(0, optionmaxwitdh-5) + '...'
		}
		var veryshorttxt = txt
		if (veryshorttxt.length > optionmaxwitdh) {
			veryshorttxt = veryshorttxt.substring(0, optionmaxwitdh-5) + '...'
		}
		innerHTML += '<a id=\'' + id_pref + val + '\' href="#" onclick="selectOption2(\''+selectid+'\', \''+val+'\', \''+veryshorttxt+'\');return false" title="'+title_txt+'">'+shorttxt+'</a>';
	}
	innerHTML += '</div></div>'
	selectbox.style.display="none"
	
	if (write_elem) {
		write_elem.innerHTML += innerHTML
	} else document.write(innerHTML)
	
	var dhtmlselectbox=document.getElementById("dhtml_"+selectid)
	dhtmlselectbox.style.zIndex=combozindex
	combozindex--

	if (typeof selectwidth!="undefined") {
		dhtmlselectbox.style.width=selectwidth
	}
	
	if (typeof optionwidth!="undefined") {
		dhtmlselectbox.getElementsByTagName("div")[0].style.width=optionwidth
	}
	dhtmlselectbox.getElementsByTagName("div")[0].style.top="20px"

	dhtmlselectbox.onclick=function(){
		if (!comboshow) {
			var curdiv = this.getElementsByTagName("div")[0]
			curdiv.style.display="block"
			specificAv2(document.getElementById(selectid), hashMap, keySet)
			var all_divs = document.getElementsByTagName("div")
			for (var i = 0; i < all_divs.length; i++) {
				if (all_divs[i].id != null){
					if (all_divs[i].id.indexOf("drpdwn_")==0)
						if (all_divs[i].id!=curdiv.id) all_divs[i].style.display="none"
				}
			}
		} else comboshow=false
	}
	var dhtmlcombbox=document.getElementById("drpdwn_"+selectid)
	dhtmlcombbox.onmouseover=function(){
		document.getElementById("drpdwn_"+selectid).style.display="block"
	}
	dhtmlcombbox.onmouseout=function(){
		this.style.display="none"
	}
}

function selectOption2(selectid, selected_val, short_val) {
	var selectFake=document.getElementById('dhtml_'+selectid)
	selectFake.getElementsByTagName("div")[0].style.display="none"
	
	if(!checkValue(selectid, selected_val)) {
		return;
	}
	
	selVals2[selectid] = selected_val;
	
	var selectOrig=document.getElementById(selectid)
	selectOrig.value = selected_val
	
	if (selectOrig.onchange != null) selectOrig.onchange();
	
	var selectFakeTitle=document.getElementById('dspan_'+selectid)
	selectFakeTitle.innerHTML = short_val
	
	comboshow=true
}

function available2(map, kset) {

	for(var k = 0; k < kset.length; k++) {
	
		specificAv2(document.getElementById(kset[k]), map, kset);
		selVals2[kset[k]] = "";
	}
}

function specificAv2(elem, map, kset) {
	
	var id = elem.id;
	var tmpValidVals = Array();

	var garr = getGlobalArray2(id, map, kset);
	
	var hash_garr = getHash2(garr, map[id]);
	
	var elemCont = document.getElementById(id);
	var childNodes = elemCont.childNodes;

	for(var g = 0; g < childNodes.length; g++) {
		
		if(childNodes[g].nodeName == 'OPTION' && childNodes[g].value != "") {
			document.getElementById(map[id] + childNodes[g].value).style.display = "none";
		}
	}
	
	for(var g = 0; g < childNodes.length; g++) {
		if(childNodes[g].nodeName == 'OPTION' && hash_garr[childNodes[g].value] == true && childNodes[g].value != "") {
			document.getElementById(map[id] + childNodes[g].value).style.display = "block";
			tmpValidVals[childNodes[g].value] = true;				
		}
	}
	
	validVals[id] = tmpValidVals;
}

function getGlobalArray2(id, map, kset) {
	
	var new_arr = Array();
	var na = 0;
	
	var ind;
	var elemVal;
	
	if(global_arr2) {
		
		for(var j = 0; j < global_arr2.length; j++) {
			
			ind = true;
			
			for(var k = 0; k < kset.length; k++) {
				
				tmpInd = false;
				
				if(id != kset[k] && document.getElementById(kset[k])) {
					
					elemVal = document.getElementById(kset[k]).value;
					
					if(eval('global_arr2['+j+'].'+map[kset[k]]) == elemVal || elemVal == "") {
						
						tmpInd = true;	
					}
	
					if(!tmpInd) {
						
						ind = false;
					}					
				}
			}
			
			if(ind) {
				
				new_arr[na++] = global_arr2[j];
			}
		}
	}
	validVals2[id] = new_arr;
	return new_arr;
}

function getHash2(arr, attr) {
	hash = Array();
	var tmpCnt = 0;
	
	for(var g = 0; g < arr.length; g++) {
		var tmp = eval('arr['+g+'].'+attr);
		hash[tmp] = true;
		tmpCnt++;
	}
	return hash;
}

function checkValue2(id, val) {
	if(validVals2[id] && validVals2[id][val] != true && val != "") {
		/*alert('\u0160is pasirinkimas negalimas.');*/
		return false;
	}
	return true;
}

function dhtmlselectex2(selectid, selectwidth, optionwidth, optionmaxwitdh, hashMap, keySet, id_pref, elem_id){
	var write_elem = null;
	if (elem_id) write_elem = document.getElementById(elem_id);
	
	var selectbox=document.getElementById(selectid)
	var sel_val = selectbox.value
	var firstFakeTitle = ''
	for (var i=0; i<selectbox.options.length; i++) {
		if (selectbox.options[i].value == sel_val) {
			firstFakeTitle = selectbox.options[i].text
			break
		}
	}
	if (firstFakeTitle.length > optionmaxwitdh) firstFakeTitle = firstFakeTitle.substring(0, optionmaxwitdh-5) + '...'
	var innerHTML = '<div id="dhtml_'+selectid+'" class="dhtmlselect"><span id="dspan_'+selectid+'">'+firstFakeTitle+'</span><div id="drpdwn_'+selectid+'" class="dropdown dropdownex"><div class="dropdown_up"><a href="#" onclick="'+selectid+'scroll_down();return false"><img src="/es-parama-theme/images/Design/trigger_up.gif" /></a></div><div id="'+selectid+'dropdown_inside" class="dropdown_inside">'
	for (var i=0; i<selectbox.options.length; i++) {
		var val = selectbox.options[i].value
		var txt = selectbox.options[i].text

		var title_txt = selectbox.options[i].text
		if (selectbox.options[i].title) title_txt = selectbox.options[i].title
		
		var shorttxt = txt
		if (shorttxt.length > optionmaxwitdh) shorttxt = shorttxt.substring(0, optionmaxwitdh-5) + '...'
		var veryshorttxt = txt
		if (veryshorttxt.length > optionmaxwitdh) veryshorttxt = veryshorttxt.substring(0, optionmaxwitdh-5) + '...'
		innerHTML += '<a id=\'' + id_pref + val + '\' href="#" onclick="selectOption2(\''+selectid+'\', \''+val+'\', \''+veryshorttxt+'\');return false" title="'+title_txt+'">'+shorttxt+'</a>'
	}
	innerHTML += '</div><div class="dropdown_down"><a href="#" onclick="'+selectid+'scroll_up();return false"><img src="/es-parama-theme/images/Design/trigger_down.gif" /></a></div></div></div>'
	selectbox.style.display="none"
	if (write_elem) {
		write_elem.innerHTML += innerHTML
	} else document.write(innerHTML)
	var dhtmlselectbox=document.getElementById("dhtml_"+selectid)
	dhtmlselectbox.style.zIndex=combozindex
	combozindex--
	if (typeof selectwidth!="undefined")
		dhtmlselectbox.style.width=selectwidth
	if (typeof optionwidth!="undefined")
		dhtmlselectbox.getElementsByTagName("div")[0].style.width=optionwidth
	dhtmlselectbox.getElementsByTagName("div")[0].style.top="20px"

	dhtmlselectbox.onclick=function(){
		if (!comboshow) {
			var curdiv = this.getElementsByTagName("div")[0]
			curdiv.style.display="block"
			specificAv2(document.getElementById(selectid), hashMap, keySet)
			var all_divs = document.getElementsByTagName("div")
			for (var i = 0; i < all_divs.length; i++) {
				if (all_divs[i].id != null){
					if (all_divs[i].id.indexOf("drpdwn_")==0)
						if (all_divs[i].id!=curdiv.id) all_divs[i].style.display="none"
				}
			}
		} else comboshow=false
	}
	var dhtmlcombbox=document.getElementById("drpdwn_"+selectid)
	dhtmlcombbox.onmouseover=function(){
		document.getElementById("drpdwn_"+selectid).style.display="block"
	}
	dhtmlcombbox.onmouseout=function(){
		this.style.display="none"
	}
}