/*******************
* JS Select element
*******************/
function selectInit(id) {
	var sel = document.getElementById('select_'+id);
	var opt = document.getElementById('options_'+id);
	var val = document.getElementById('selectvalue_'+id);
	var optsel = document.getElementById('optsel_'+id);
	var opts = opt.getElementsByTagName('li');
	
	sel.onclick = function() {
		selectOpen(id);
	}
	if (val.title) optsel.innerHTML=val.title;
	for (var i=0;i<opts.length;i++) {
		opts[i].onmouseover = function() {
			if (this.className!='inputTxt') {
				this.className='hover';
			}
		}
		opts[i].onmouseout = function() {
			if (this.className!='inputTxt') {
				this.className='';
			}
		}
		opts[i].onclick = function() {
			selectSel(id,this);
		}
		if (opts[i].value==val.value) {
			if (opts[i].value=='1000000') {
				optsel.innerHTML=opts[i].getElementsByTagName("input")[0].value;
				optsel.className = 'optsel_act';
			} else {
				optsel.innerHTML=opts[i].innerHTML;
				optsel.className = 'optsel_act';
			}
		}
	}
}
function selectOpen(id,v) {
	var opt = document.getElementById('options_'+id);
	if (opt.style.display=='none' || opt.style.display=='') {
		opt.style.display='block';
	} else {
		opt.style.display='none';
	}
}
function selectSel(id,o) {
	var optsel = document.getElementById('optsel_'+id);
	var val = document.getElementById('selectvalue_'+id);
	var inp = o.getElementsByTagName("input")[0];
	if (inp) {
		selectOpen(id);
		setTimeout(function(){inp.focus()},10);
		if (inp.value!='') {
			optsel.innerHTML = inp.value;
		} else {
			optsel.innerHTML = '&#160;';
		}
		optsel.className = 'optsel_act';
		inp.onkeyup = function() {
			if (inp.value!='') {
				optsel.innerHTML = inp.value;
			} else {
				optsel.innerHTML = '&#160;';
			}
		}
		val.value = o.value;
	} else {
		val.value = o.value;
		optsel.innerHTML = o.innerHTML;
		optsel.className = 'optsel_act';
		if (o.parentNode.getElementsByTagName("input")[0]) o.parentNode.getElementsByTagName("input")[0].value='Другой';
		if (o.parentNode.getElementsByTagName("input")[0]) o.parentNode.getElementsByTagName("input")[0].className='txt';
	}
}

/*******************************
* JS Select multiple element
*******************************/
function selectInit_ch(id,txt) {
	var sel = document.getElementById('select_'+id);
	var opt = document.getElementById('options_'+id);
	var optsel = document.getElementById('optsel_'+id);
	var opts = opt.getElementsByTagName('li');
	
	selectSel_ch(id,txt);
	
	optsel.onclick = function() {
		selectOpen(id);
	}
	for (var i=0;i<opts.length;i++) {
		opts[i].onclick = opts[i].onkeyup = function() {
			selectSel_ch(id,txt);
		}
	}
}
function selectSel_ch(id,txt) {
	var optsel = document.getElementById('optsel_'+id);
	var opt = document.getElementById('options_'+id);
	var chks = opt.getElementsByTagName('input');
	var val= '';
	for (var i=0;i<chks.length;i++) {
		if (chks[i].checked) {
			val += chks[i].parentNode.getElementsByTagName('label')[0].innerHTML+', ';
		} else if (chks[i].type=="text" && chks[i].value!="Другие") {
			val += chks[i].value+', ';
		}
	}
	val = val.substr(0,val.length-2)+'&nbsp;';
	if (val=='&nbsp;') {
		optsel.innerHTML=txt;
		optsel.className = 'optsel';
	} else {
		optsel.innerHTML = val;
		optsel.className = 'optsel_act';
	}
}

document.onclick=check;

function check(e) {
	var target = (e && e.target) || (event && event.srcElement);
	if (ids) {
		for (var i=0;i<ids.length;i++) {
			var obj = document.getElementById('options_'+ids[i]);
			var obj2 = document.getElementById('select_'+ids[i]);
			if (checkParent(target, obj)) {
				if (checkParent(target, obj2)) obj.style.display='none';
			}
		}
	}
}
function checkParent(t, o) {
	while (t.parentNode) {
		if(t==o) {
			return false;
		}
		t=t.parentNode;
	}
	return true;
}

