// JavaScript Document
// selector
var openedSelecor = false;
function Selector(start, end, title, obj, callFunc, params) {
	if(!obj) return false;
	var header = document.createElement('a');
	header.parentObject = this;
	var act = 0;
	this.act = 0;
	this.sex = 0;
	this.actStage = 0;
	header.innerHTML = title;
	header.href = '#';
	header.className = 'sel_header';
	var sel = document.createElement('div');
	var selArray = new Array();
	var stageArray = new Array();
	var col = false;
	var selinterval = false;
	var newHeight = 1;
	var sexDiv = document.createElement('div');
	sexDiv.className = 'sel_col_in_s';
	sexDiv.innerHTML = '<span class="cf_drivers_subheader">Пол: </span>';
	var men = document.createElement('a');
	var women = document.createElement('a');
	var callDoFunc = false;
	men.className = 'act';
	men.value = 0;
	women.value = 1;
	men.innerHTML = 'мужской';
	women.innerHTML = 'женский';
	men.href = women.href = '#';
	men.onfocus = women.onfocus = header.onfocus = function(){ this.blur()}
	sexDiv.appendChild(men);
	sexDiv.appendChild(women);
	this.unsetSel = function() {
		obj.removeChild(header);
		obj.removeChild(sel);
	};
	this.setHeader = function() {
		if(this.act){
			header.innerHTML = 'Возраст:' + this.act + ' / ' + ((this.sex ==1) ? ' Жен.' : " Муж.") + ' / Стаж:' + this.actStage ;
			if(callFunc) callFunc(header.innerHTML, params);
		}
		return false;
	}
	this.setSel = function (num) {
		if(!num) return false;
		if(!selArray[num]) return false;
		if(act)selArray[act].className = '';
		selArray[num].className = 'act';
		act = num;
		if(act - 17 <= this.actStage) this.actStage = 0;
		this.act = act;
		this.setHeader();
		this.setStage(act - 17)
	}
	this.setStSel = function(num){
		if(!num) num = 0;
		if(!stageArray[num]) return false;
		if(stageArray[this.actStage])stageArray[this.actStage].className = '';
		stageArray[num].className = 'act';
		this.actStage = num;
		this.setHeader();
		return false;	
	}
	this.setSex = function(value) {
		this.sex = value;
		if(value == 1) {
			women.className = 'act';
			men.className = ''
		} else {
			men.className = 'act'
			women.className = ''
		}
		this.setHeader();
	}
	var setHeight = function(height) {
		height = newHeight;
		sel.style.visibility = 'hidden';
		if(height <= 1) {
			if(sel.offsetHeight <= 10) {
				sel.style.height = '1px';
				openedSelecor = false;
				if(callDoFunc) {
					callDoFunc();
					callDoFunc = false;
				}
				clearInterval(selinterval);
				selinterval = null;
			} else 	{
				if((sel.offsetHeight - 40) <=0 ) sel.style.height = '1px';
				else sel.style.height = (sel.offsetHeight - 40) + 'px';
			};
		} else {
			if(sel.offsetHeight >= height) {
				sel.style.height = height + 'px';
				openedSelecor = header;
				sel.style.visibility = 'visible';
				clearInterval(selinterval);
				selinterval = null;
			} else 	sel.style.height = (sel.offsetHeight + 40) + 'px';
		}
	}
	var age = document.createElement('div');
	age.className = 'selector_col';
	age.innerHTML = '<span class="cf_drivers_subheader">Возраст:</span>';
	for(s = start; s < end; s++) {
			if(s % 10 == 0 || s == start) {
				col = document.createElement('div');
				col.className = (s == start) ? 'sel_col sel_start' : 'sel_col';;
				age.appendChild(col);
			}
			var ageD = document.createElement('span');
			ageD.className = 'sel_col_in';
			col.appendChild(ageD);
			selArray[s] = document.createElement('a');
			selArray[s].href = "#";
			selArray[s].parentObj = this;
			selArray[s].onclick = function() { 
				this.parentObj.setSel(this.value);
				return false; 
			}
			selArray[s].innerHTML = s;
			selArray[s].value = s;
			//selArray[s].innerHTML += '<img src="/clear.gif" height="20" width="20" style="position:absolute;top:0px;left:0px;display:none;" alt="'+s+'" title="'+s+'" border="0" onload="this.style.display=\'\'"/>';
			ageD.appendChild(selArray[s]);
	}
	var stage = document.createElement('div');
	stage.className = 'selector_col';
	this.setStage = function(end){
		stage.innerHTML = '<span class="cf_drivers_subheader">Стаж вождения:</span>';
		var start = 0;
		for(s = start; s < end; s++) {
			if(s % 10 == 0 || s == start) {
				var col = document.createElement('div');
				col.className = 'sel_col';
				stage.appendChild(col);
			}
			var stageD = document.createElement('span');
			stageD.className = 'sel_col_in';
			col.appendChild(stageD);
			stageArray[s] = document.createElement('a');
			stageArray[s].className = (s == this.actStage) ? 'act' : '';
			stageArray[s].href = "#";
			stageArray[s].parentObj = this;
			stageArray[s].value = s;
			stageArray[s].innerHTML = s;
			/* stageArray[s].innerHTML += '<img src="/clear.gif" height="20" width="20" style="position:absolute;top:1px;left:1px;display:none;" alt="'+s+'" title="'+s+'" border="0" onload="this.style.display=\'\'"/>'; */
			stageD.appendChild(stageArray[s]);
			stageArray[s].onclick = function() { 
				this.parentObj.setStSel(this.value);
				return false; 
			}
		}
	}
	this.setStage(1);
	obj.appendChild(header);
	obj.appendChild(sel);
	sel.style.display = '';
	sel.className = 'sel_all';
	sel.style.overflow = 'hidden';
	var firstHeight = 160;//sel.offsetHeight;
	sel.style.height = '1px';
	sel.appendChild(age);
	sel.appendChild(stage);
	sel.appendChild(sexDiv);
	this.doclose = function(obj) {
		newHeight = 1;
		if(!selinterval) selinterval = setInterval(setHeight, 10);
		callDoFunc = obj
		if(header.act) header.act = false
	}
	var honlclick = function() {header.onclick();}
	header.onclick = function () {
		if(openedSelecor && openedSelecor != this) {
			openedSelecor.parentObject.doclose(honlclick) ;
			return false;
		};
		if(!selinterval) {
			newHeight = (header.act) ? 1 : firstHeight;
			if(!selinterval) selinterval = setInterval(setHeight, 10);
		};
		if(header.act) header.act = false
		else header.act = 1;
		return false;
	}
	men.parentObj = women.parentObj = this;
	men.onclick = women.onclick = function() {
		this.parentObj.setSex(this.value);
		return false;
	}

	
	/* header.onmouseover = sel.onmouseover =  function() {
		sel.style.height = firstHeight + 'px';
	}
	header.onmouseout = sel.onmouseout = function() {
		sel.style.height = '0px'
	} */
	
}
