function loadEngines() {
	var carModel = $('#car_model').attr('selectedIndex') != 0 ? 
			$('#car_model').val() : '';
	
	reset(0);
	
	$('#engine_type').load(
			'maintenance.php',
			{ car_model : carModel, action : 'load_engines' },
			loadMileages()
		);
}

function loadMileages() {
	var carModel = $('#car_model').attr('selectedIndex') != 0 ? 
			$('#car_model').val() : '';
	var engineType = $('#engine_type').attr('selectedIndex') != 0 ?
			$('#engine_type').val() : 0;
	
	reset(1);
	
	$('#mileage').load(
			'maintenance.php',
			{ car_model : carModel, engine_type : engineType, action : 'load_mileages' }
		);
}

function loadMaintenance() {
	var carModel = $('#car_model').attr('selectedIndex') != 0 ? 
			$('#car_model').val() : '';
	var engineType = $('#engine_type').attr('selectedIndex') != 0 ?
			$('#engine_type').val() : 0;
	var maintenanceID = $('#mileage').attr('selectedIndex') != 0 ?
		$('#mileage').val() : '';
		
	if (maintenanceID == '')
		return;
	
	$('.maintenance_all').hide();

	$('#maintenance').load(
		'maintenance.php',
		{ car_model : carModel, engine_type : engineType, maintenance_id : maintenanceID, action : 'load_maintenance' },
		function() {
			$('#maintenance_works').load(
				'maintenance.php',
				{ car_model : carModel, engine_type : engineType, action : 'load_works' },
				function() {
					$('#maintenance_spares').load(
						'maintenance.php',
						{ car_model : carModel, engine_type : engineType, action : 'load_spares' },
						function() {
							updateSummary();
							$('.maintenance_all').show();
							$('#maintenance_links').css('display', '');
						}
					);
				}
			);			
		}
	);

	$('.maintenance_all').show();
}

function updateSummary() {
	var costMnt = 0;
	var costWorks = 0;
	var costSpares = 0;
	var costDvs = 0;
	var totalCost = 0;
	var totalCostDvs = 0;
	
	$('.mnt_cost').each(function() {
		costMnt += parseFloat($(this).val());
	});
	
	$('.mnt_works:checked').each(function() {
		if($(this).attr('className').split(' ')[2] !== 'mnt_dvs') {
			costWorks += parseFloat($(this).val());			
		}
		else {
			costDvs = parseFloat($(this).val());
		}
	});
	
	$('.mnt_spares:checked').each(function() {
		costSpares += parseFloat($(this).val());
	});
	
	var carModel = $('#car_model').val();
	var engineType = $('#engine_type').val();
	var maintenanceID = $('#mileage').val();
	
	totalCost = costMnt + costWorks + costSpares;
	totalCostDvs = totalCost + costDvs;
	
	$('#maintenance_summary').load(
		'maintenance.php',
		{ total_cost_sp : costSpares, total_cost_wr : costWorks,
			total_cost : totalCost, total_cost_dvs: totalCostDvs, action : 'update_summary' }
	);
	
	$('#total_cost').text(sprintf("%.2f", totalCostDvs));
}

function reset(nID) {
	if (nID == 0) {
		$('#engine_type').html('<option>Тип двигателя</option>');
	};
	
	$('#mileage').html('<option>Пробег авто</option>');
	
	$('#maintenance').html('');
	$('#maintenance_works').html('');
	$('#maintenance_spares').html('');
	$('#maintenance_summary').html('');
	
	$('#maintenance_links').css('display', 'none');
	
	$('#total_cost').text('0.00');
}

function toggleCheck(obj) {
	$(obj).parent().toggleClass("checkbox");
	$(obj).parent().toggleClass("checkbox_on");
	
	$(obj).parent().parent().parent().toggleClass('selected');
	
	updateSummary();
}

function openSelect(obj, hide) {
	var text = $(obj).parent().children('span.to_left');
	var select = $(obj).parent().children('select.select_b');
	var options = $(obj).parent().children('span.options');
	var option, i = 0;
	
	if (options.css('display') == 'block' || hide) {
		options.css('display', 'none');
		options.empty();
		return;
	}
	
	select.children('option').each( function () {
			option = options.append('<span></span>').children(':last');
			option.addClass('option');
			option.text($(this).text());
			
			if (options.css('overflow') == 'scroll')
				option.width((options.width() - 28));
			
			option[0].onmouseover = function () {
				this.style.backgroundColor = '#d40000';
				this.style.color = '#FFF';
			};
			
			option[0].onmouseout = function () {
				this.style.backgroundColor = '';
				this.style.color = '';
			}
			
			option[0].onclick = function () {
				select.attr('selectedIndex', this.index);
				openSelect(obj, hide);
				select[0].onchange();
				text.text($(this).text());
			}
			
			option[0].index = i;
			if (i++ == 0) option.addClass('first');
		}
	);
	
	option.addClass('last');
	options.css('display', 'block');
}

function showMaintenance() {
	$('.maintenance_tr, .to_text').each(function () {
		if ($(this).is(':hidden'))
			$(this).show();
		else
			$(this).hide();
	});
}

function thHover(obj) {
	$(obj).addClass('red');
	
	$(obj).children().children('tr').each(function() {
		$(this).show();
	});
}

function thOut(obj) {
	$(obj).removeClass('red');
	
	$(obj).children().children('tr').each(function() {
		if ($(this).attr('className') != 'to_header' &&
			$(this).children().children().children(':checked').attr('checked') != true)
			$(this).hide();
	});
}

function print_calc() {
	var k = 0;
	
	var html = '';
	
	html += '<p>Модель автомобиля: ' + $('#cm').text() + '</p>';
	html += '<p>Тип двигателя: ' + $('#et').text() + '</p>';
	html += '<p>Пробег: ' + $('#ma').text() + ' км.</p>';
	
	$('.to_table').each(function() {
		k++;
		
		if (k == 1)
			html += '<p>Состав ТО:</p>';
		
		if (k == 2)
			html += '<p>Дополнительные работы:</p>';
		
		if (k == 3)
			html += '<p>Дополнительные зап. части:</p>';
		
		html += '<table width="460px" border="1">';
		html += '<tr>';		
		
		$(this).children().children('.to_header').children().each(function() {
			var t1 = $(this).text();
			if (t1 === 'Показать/скрыть состав ТО')
				t1 = 'Состав ТО';
			
			html += '<td>' + t1 + '</td>';
		});
		
		html += '</tr>';
		
		$(this).children().children('.selected').each(function() {
			html += '<tr>';
		
			$(this).children().not(':first-child').each(function() {
				var t1 = $(this).text();
				html += '<td>' + t1 + '</td>';
			});

			html += '</tr>';
		});
		
		$(this).children().children('.maintenance_tr').each(function() {
			html += '<tr>';
		
			$(this).children().each(function() {
				var t1 = $(this).text();
				html += '<td>' + t1 + '</td>';
			});

			html += '</tr>';
		});

		
		html += '</table>';	
	});
	
	$('.to_table2').each(function() {
		html += '<p>Итоги:</p>'
		html += '<table width="460px;" border="1">';
		
		$(this).children().children().each(function() {
			html += '<tr>';
			
			$(this).children().each(function() {
				var t1 = $(this).text();				
				html += '<td>' + t1 + '</td>';
			});
			
			html += '</tr>';
		});
		
		html += '</table>';
	});
	
	html += '<p>Общая стоимость: ' + $('#total_cost').text() + ' грн.</p>';
	var id;
	
	$.ajax({
		async: false,
		type: 'POST',
		url: '/ru/maintenance.php',
		data: '_html=' + html,
		success: function(data){
					id = data;
				 }
	});
	
	window.open('/ru/print?id='+id, '', 'location=1,status=1,scrollbars=1');
}

function makeOrder() {
	$('.ui-dialog').fadeIn();	
}

function sendOrder() {
	var k = 0;
	
	var mail = '';
	
	mail += 'ФИО клиента: ' + $('#fio').val() + '\n';
	mail += '№ телефона: ' + $('#phone_no').val() + '\n';
	mail += '№ авто: ' + $('#car_no').val() + '\n';
	mail += 'Желаемые дата и время: ' + $('#time').val() + '\n';	
	mail += 'Модель автомобиля: ' + $('#cm').text() + '\n';
	mail += 'Тип двигателя: ' + $('#et').text() + '\n';
	mail += 'Пробег: ' + $('#ma').text() + '\n------------------------------------------------------------\n';
	
	$('.to_table').each(function() {
		k++;
		
		if (k == 1)
			mail += '\n\nСостав ТО:\n------------------------------------------------------------\n';
		
		if (k == 2)
			mail += '\n\nДополнительные работы:\n------------------------------------------------------------\n';
		
		if (k == 3)
			mail += '\n\nДополнительные зап. части:\n------------------------------------------------------------\n';		
		
		$(this).children().children('.to_header').children().each(function() {
			mail += '\n';
			
			var t1 = $(this).text();
			if (t1 === 'Показать/скрыть состав ТО')
				t1 = 'Состав ТО';
			
			mail += t1 + ' ';
		});		
		
		$(this).children().children('.selected').each(function() {
			mail += '\n';
			
			$(this).children().not(':first-child').each(function() {
				var t1 = $(this).text();
				mail += t1 + ' ';
			});			
		});
		
		$(this).children().children('.maintenance_tr').each(function() {
			mail += '\n';
		
			$(this).children().each(function() {
				var t1 = $(this).text();
				mail += t1 + ' ';
			});		
		});			
	});
	
	$('.to_table2').each(function() {
		mail += '\n\nИтоги:\n';
		
		$(this).children().children().each(function() {
			mail += '\n';
			
			$(this).children().each(function() {
				var t1 = $(this).text();				
				mail += t1 + ' ';
			});			
		});		
	});
	
	mail += '\n\nОбщая стоимость: ' + $('#total_cost').text() + ' грн.';
	
	$.ajax({
		async: false,
		type: 'POST',
		url: '/ru/maintenance.php',
		data: '_mail=' + mail,
		success: function(data){
					alert(data);
				 }
	});
	
	$('.ui-dialog').fadeOut();
}