var isDOM,isIE,isNN4,isOpera,isIE4;

if (navigator.userAgent.indexOf('Opera')!=-1) isOpera=1;
if (document.getElementById) isDOM=1;
if (document.all && !isOpera) isIE=1;
if (document.layers) isNN4=1;
if (!isDOM && document.all) isIE4=1;

function getObj(id) {
	if(isDOM) return document.getElementById(id);
	if(isIE) return document.all[id];
	return document.layers[id];
}

function getStyle(id) {
	var obj = getObj(id);
	if(obj) {
		if(isNN4) return obj;
		return obj.style;
	}
}

function showObj(id) {
	var obj = getStyle(id);
	if(obj) {
		if (isNN4) obj.visibility = 'show';
		else obj.visibility = 'visible';
		if (isDOM && !isIE) {
			obj.display = 'table-row';
		} else {
			obj.display = 'block';
		}
	}
}

function hideObj(id) {
	var obj = getStyle(id);
	if(obj) {
		if (isNN4) obj.visibility = 'hide';
		else obj.visibility = 'hidden';
		obj.display = 'none';
	}
}

//массив подтипов в типах ворот
var gates_subtypes = {
	'driving_in' : { 0 : 'driving_in_traversing', 1 : 'driving_in_opening'},
	'garage' : { 0 : 'garage_section', 1 : 'garage_rollet'},
	'industry' : { 0 : 'industry_section', 1 : 'industry_roll', 2 : 'industry_folding', 3 : 'industry_fast', 4 : 'industry_fire_safe'},
	'hangar' : { 0 : 'hangar_simple', 1 : 'hangar_industrial', 2 : 'hangar_crane', 3 : 'hangar_firesafe'},
	'bar' : {}
}

//массив подписей подтипов в типах ворот
var gates_subtypes_text = {
'ua' :	{
		'driving_in' : { 0 : 'відкатні', 1 : 'розпашні'},
		'garage' : { 0 : 'секційні', 1 : 'ролетні'},
		'industry' : { 0 : 'секційні', 1 : 'рулонні', 2 : 'складні', 3 : 'швидкозбірні', 4 : 'протипожежні'},
		'hangar' : { 0 : 'ангарні', 1 : 'промислові ангарні', 2 : 'для мостових кранів', 3 : 'вогнезахисні штори'},
		'bar' : 'шлагбаум'
	},
'en' :	{
		'driving_in' : { 0 : 'sliding', 1 : 'swinging'},
		'garage' : { 0 : 'sectional', 1 : 'rolled'},
		'industry' : { 0 : 'sectional', 1 : 'compound', 2 : 'folding', 3 : 'quickly-demounted', 4 : 'fire-proof'},
		'hangar' : { 0 : 'hangar', 1 : 'Industrial hangar', 2 : 'for bridge cranes', 3 : 'fire doors'},
		'bar' : 'bar'
	},
'ru' :	{
		'driving_in' : { 0 : 'откатные', 1 : 'распашные'},
		'garage' : { 0 : 'секционные', 1 : 'ролетные'},
		'industry' : { 0 : 'секционные', 1 : 'рулонные', 2 : 'складывающиеся', 3 : 'быстроскручивающиеся', 4 : 'противопожарные'},
		'hangar' : { 0 : 'ангарные', 1 : 'промышленные ангарные', 2 : 'для мостовых кранов', 3 : 'огнезащитные шторы'},
		'bar' : 'шлагбаум'
	},
}

//массив всех полей
var gates_inputs = {0 : 'width', 1 : 'height', 2 : 'automatics', 3 : 'wicket', 4 : 'priv_or_ind', 5 : 'color', 6 : 'add_entr', 7 : 'gates_type', 8 : 'height_to_ceiling',
					9 : 'length', 10 : 'remote_control', 11 : 'daily_usage'}

//массив полей форм типов ворот
var gates_forms = {
	'driving_in_traversing' : { 0 : 'width', 1 : 'height'},
	'driving_in_opening' : { 0 : 'width', 1 : 'height'},
	'garage_section' : { 0 : 'width', 1 : 'height'},
	'garage_rollet' : { 0 : 'width', 1 : 'height'},
	'industry_section' : { 0 : 'width', 1 : 'height'},
	'industry_roll' : { 0 : 'width', 1 : 'height'},
	'industry_folding' : { 0 : 'width', 1 : 'height'},
	'industry_fast' : { 0 : 'width', 1 : 'height'},
	'industry_fire_safe' : { 0 : 'width', 1 : 'height'},
	'hangar_simple' : { 0 : 'width', 1 : 'height'},
	'hangar_industrial' : { 0 : 'width', 1 : 'height'},
	'hangar_crane' : { 0 : 'width', 1 : 'height'},
	'hangar_firesafe' : { 0 : 'width', 1 : 'height'},
	'bar' : { 0 : 'length'}
}

//ф-я добавления опции в выпадающий список
function addOption(selectObj, n, value, text) {
	selectObj.options[n] = new Option(text, value);
}

//ф-я убирает все опции из выпадающего списка
function clearOptions(selectObj) {
	var i;
	for (i = selectObj.length - 1; i > 0; --i) {
		selectObj.remove(1);
	}
}

//ф-я прячет все поля ввода
function hideInputs() {
	var input;
	for (input in gates_inputs) {
		hideObj(gates_inputs[input]);
	}
}

//ф-я проверки ввода
function checkInput(form) {
}

//выбрали какой-то тип ворот
function chooseType(chosen_type) {
	//прячем выбор подтипа, если выбрана "выберите подтип"
	hideObj('subtype');
	//прячем специальные поля ввода
	hideInputs();
	if (gates_subtypes[chosen_type]) {
		var subtype;
		//чистим форму
		clearOptions(document.GatesTZ.gates_subtype);
		//если есть подтипы - разворачиваем подтипы
		if (gates_subtypes[chosen_type][0]) {
			//добавляем подтипы в выпадающее меню
			for (subtype in gates_subtypes[chosen_type]) {
				addOption(document.GatesTZ.gates_subtype, parseInt(subtype) + 1, gates_subtypes[chosen_type][subtype], gates_subtypes_text[lang][chosen_type][subtype]);
			}
			//показываем выбор подтипа
			showObj('subtype');
		} else {
		//нету подтипов - показываем сразу поля
			chooseSubType(chosen_type);
		}
	}
}

//выбрали подтип
function chooseSubType(chosen_subtype) {
	//пишем в спрятанное поле подтип
	document.GatesTZ.subtype_real.value = chosen_subtype;
	var i;
	hideInputs();
	for (i in gates_forms[chosen_subtype]) {
		showObj(gates_forms[chosen_subtype][i]);
	}
}

//вернуть заполенные поля опять
function restoreSubType(chosen_type, chosen_subtype) {
	if (gates_subtypes[chosen_type]) {
		var subtype;
		//чистим форму
		clearOptions(document.GatesTZ.gates_subtype);
		//если есть подтипы - разворачиваем подтипы
		if (gates_subtypes[chosen_type][0]) {
			//добавляем подтипы в выпадающее меню
			for (subtype in gates_subtypes[chosen_type]) {
				addOption(document.GatesTZ.gates_subtype, parseInt(subtype) + 1, gates_subtypes[chosen_type][subtype], gates_subtypes_text[chosen_type][subtype]);
				if (chosen_subtype == gates_subtypes[chosen_type][subtype]) {
					document.GatesTZ.gates_subtype.options[parseInt(subtype) + 1].selected = true;
				}
			}
			//показываем выбор подтипа
			showObj('subtype');
		}
	}
	chooseSubType(chosen_subtype);
}

