Event.onReady( function(){
	DiComboBoxParser.locate("list-box", DiEComboBox);
	
	$('ukr_resident').model.onchange = chkResident;
	$('contract_type').model.onchange = chkContractType;
	
	// В зависимости от типа ТС выводим или прячем дополнительное поле value
	$('vehicle_type').model.onchange = function(){
		var val = this.getSelectedValue();
		if(vehicleValueAs[val]) {
			$('value_txt').innerHTML = vehicleValueAs[val];
			$('value_row').show();
		}
		else $('value_row').hide();
		checkPrivileged();
	}
	
	// разрешаем вводить только дробные
	Event.observe( 'value', 'keypress', filterFloatNumbers );
	
	$('coef_3').model.onchange = checkPrivileged;
	Event.observe('privileged', 'click', function(e){
		if(this.checked) {
			$('coef_5').model.setISelected("0");
			$('coef_5').model.setDisabled(true);
		}
		else $('coef_5').model.setDisabled(false);
	});
});
//---------------------------------------------------------------------------

function chkResident(e)
{
	var contract_type = $('contract_type').model;
	var residentVal = this.getSelectedValue();
	var contractTypeVal = contract_type.getSelectedValue();
	if(residentVal==1) {
		contract_type.setIDisabled(1, false);
		contract_type.setIDisabled(2, false);
	}
	else {
		if(contractTypeVal!=1) contract_type.reset();
		contract_type.setIDisabled(1, true);
		contract_type.setIDisabled(2, true);
	}
	contract_type.onchange();
}
//---------------------------------------------------------------------------

function chkContractType(e)
{
	var contractTypeVal = this.getSelectedValue();
	if(contractTypeVal==1) {
		$('contract_desc_1').show();
		$('coef_4').model.setDisabled(true);
	}
	else {
		$('contract_desc_1').hide();
		$('coef_4').model.setDisabled(false);
	}
	
	if(contractTypeVal==2) $('contract_desc_2').show();
	else $('contract_desc_2').hide();
	
	if(contractTypeVal==3) {
		$('contract_desc_3').show();
		$('coef_5').model.setDisabled(false);
	}
	else {
		$('contract_desc_3').hide();
		$('coef_5').model.setDisabled(true);
	};
	checkPrivileged();
}
//---------------------------------------------------------------------------

// Льготники только резиденты Украины и по 3-му типу договора
function checkPrivileged()
{
	if( ($('contract_type').model.getSelectedValue()==3)
		&& ($('ukr_resident').model.getSelectedValue()==1)
		&& ($('vehicle_type').model.getSelectedValue()==1)
		// Сфера использования транспортного средства. Не физ лицо - блокируем льготника
		&& ($('coef_3').model.getSelectedIndex()==1) ) $('privileged').disabled = false;
	else {
		$('privileged').checked = false;
		$('privileged').disabled = true;
	}
}
//---------------------------------------------------------------------------

function formSubmit()
{
	this.msg = $('msg');
	this.errMsg = $('error_msg');
	$('sending').show();
	errMsg.hide();
	msg.hide();
	var params = $('form_main').serialize();
	
	new Ajax.Request('process/', {
		method: 'post',
		parameters: params,
		//onLoading: dataLoading,
		onLoaded: dataLoaded,
		onSuccess: parseResult,
		onFailure: connFailure });
}
//---------------------------------------------------------------------------

function dataLoading()
{
	$('sending_txt').innerHTML = 'идет отправка...';
}
//---------------------------------------------------------------------------

function dataLoaded(t)
{
	if(t.status==200) $('sending_txt').innerHTML = 'ожидание ответа...';
	else {
		$('sending_txt').innerHTML = 'Ошибка: '+t.statusText;
	}
}
//---------------------------------------------------------------------------

function connFailure()
{
	msg.innerHTML = 'Ошибка соединения с сервером';
}
//---------------------------------------------------------------------------

function parseResult(t)
{
	$('sending').hide();
	var json;
	try { json = eval('(' + t.responseText + ')'); }
	catch (e) { errMsg.show(); errMsg.innerHTML = 'Ошибка'; }
	if(json.status)
	{
		msg.show();
		$('msg').innerHTML = '\nПлатеж, грн.: <b>'+json.payment + '</b>';
	}
	else
	{
		errMsg.show();
		errMsg.innerHTML = '<B>Ошибка:</B> '+json.error.message;
	}
}
//---------------------------------------------------------------------------


