function getArray(id, html) {
	var t = $('#' + id);
	var a = [];
	t.find('tr').not(':first').each(function() {
		var aa = [];
		$(this).find('td').each(function() {
			if (!html) aa.push($(this).text().replace('  ', ' '));
			else aa.push($(this).html())
		});
		a.push(aa);
	});
	return a;
}

function find(a, s) {
	for (var i = 0; i < a.length; i++) {
		if (a[i]==s) return true;
	}
	return false;
}

function noDbl(p,  n) {
	var a = [];
	for (var i = 0; i < p.length; i++) {
		if (!find(a, p[i][n])) {
			a.push(p[i][n]);
		}
	}
	return a;
}

function filter(a, n, v) {
	var aa = [];
	for (var i = 0; i < a.length; i++) {
		if (a[i][n] == v) {
			aa.push(a[i]);
		}
	}
	return aa;
}

function optionStr(a) {
	var s = '';
	for (var i = 0; i < a.length; i++) {
		s += '<option value="' + a[i] + '">' + a[i] + '</option>';
	}
	return s;
}


function getCol(a, n) {
	var aa = [];
	for (var i = 0; i < a.length; i++) {
		aa.push(a[i][n]);
	}
	return aa;
}

function find1(a, s) {
	for (var i = 0; i < a.length; i++) {
		if (a[i] == s) return true;
	}
	return false;
}

function noDbl1(a) {
		var aa = [];
		for (var i = 0; i < a.length; i++) {
			if (!find1(aa, a[i])) aa.push(a[i]); 
		}
		return aa;
}

function optionStrColors(a) {
	var s = '';
	for (var i = 0; i < a.length; i++) {
		s += '<option value="' + a[i][0] + '">' + a[i][1] + '</option>';
	}
	return s;	
}
/********************************************************************************************************/ 
var data = [];
var dataColors = [];
var d = [];
var t_o = null;
var n_z = null;
var v_h = null;

function init() {	
	data = getArray('values');
	dataColors = getArray('d_zvet', 1);
	
	$('#type_soed').html(optionStr(getArray('d_type_soed')));
	$('#type_bez').html(optionStr(getArray('d_type_bez')));
	
	$('#type_otkr').change(function() {
		t_o = $(this).attr('value');
		$('#zvet').change();
	}).change();
	
	$('#zvet').html(optionStrColors(dataColors)).change(function() {
		n_z = $(this).attr('value');
		$('#calc .image').html(filter(dataColors, 1, $('#zvet :selected').text())[0][2]); 
		d = filter(data, 1, t_o);
		d = filter(d, 0, n_z);
		$('#h').html(optionStr(noDbl1(getCol(d, 2)))).change();
	}).change();
	
	$('#h').change(function() {
		v_h = $(this).attr('value');
		d = filter(data, 1, t_o);
		d = filter(d, 0, n_z);
		d = filter(d, 2, v_h);
		$('#w').html(optionStr(noDbl1(getCol(d, 3)))).change();
	}).change();	
	
	$('#w').change(function() {
		var v_w = $(this).attr('value');
		d = filter(data, 1, t_o);
		d = filter(d, 0, n_z);
		d = filter(d, 2, v_h);
		d = filter(d, 3, v_w);
		if (!d[0]) d[0] = ['','','','','','',''];
		$('#s').html(d[0][4]);
		$('#d').html(d[0][5]);
		$('#p').html(d[0][6]);
		if (!d[0][7]) d[0][7] = "0";
		$('#u').html(d[0][7]);
		var dm = parseFloat($('#dm').text().replace(/\s/, ''));
		var p = parseFloat(d[0][6].replace(/\s/, ''));
		var u = parseFloat(d[0][7].replace(/\s/, ''));
		$('#is').html(u + dm + p);
	}).change();	
	
		
	$('#data').parents('form:first').submit(function() {
		return totxt();													 
	});
}

$(document).ready(function() {
	init();
});

/***************************************************************************************************************/

function show_order() {
	$('#order').toggle();
}

function totxt() {
	var str = '\n';
	str += 'Тип открывания: ' + $('#type_otkr').attr('value') + '\n';
	str += 'Тип соединения: ' + $('#type_soed').attr('value') + '\n';
	str += 'Степень безопасности: ' + $('#type_bez').attr('value') + '\n';
	str += 'Цвет: ' + $('#zvet :selected').text() + '\n';
	str += 'Высота: ' + $('#h').attr('value') + '\n';
	str += 'Ширина: ' + $('#w').attr('value') + '\n';
	str += 'Занимаемая площадь: ' + $('#s').text() + '\n';
	str += 'Свободный проход: ' + $('#d').text() + '\n';
	str += 'Цена за комплект: ' + $('#p').text() + '\n';
	str += 'Цена за установку: ' + $('#u').text() + '\n';
	str += 'Цена за доставку: ' + $('#dm').text() + '\n';
	str += 'Итоговая стоимость: ' + $('#is').text();
	$('textarea.data').attr('value', str);
	return true;
}
