function calculate(type) {
	
	// Vállalkozás formája, vállalkozás adózási módja, #biztosítottak, kezdo-e, #bizonylat, árbevétel, kereskedő-e

	forma	= $('input:radio[name=format]:checked').val();
	ado_mod = $('input:radio[name=vat]:checked').val();	
	bizt	= $('#insurance').val();	
	kezd	= $('input:radio[name=starter]:checked').val();	;	
	bizony	= $('#voucher').val();	
	arbev	= $('#income').val();	
	ker		= $('input:radio[name=dealer]:checked').val();
	
	// Mezők ellenőrzése
	if (!chckcalc(forma, ado_mod, bizt, kezd, bizony, arbev, ker)) return false;
	
	// Számítás
	vegosszeg = calc(forma, ado_mod, bizt, kezd, bizony, arbev, ker);
	
	// Eredmény értelmezése
	if (vegosszeg > 0)	{

		prnvegosszeg = vegosszeg.toString();
		len = prnvegosszeg.length;
		if ((3 < len) && (len <= 6))	prnvegosszeg = prnvegosszeg.substr(0, len-3)+' '+prnvegosszeg.substr(len-3, 3);
		if ((6 < len) && (len <= 9))	prnvegosszeg = prnvegosszeg.substr(0, len-6)+' '+prnvegosszeg.substr(len-3, 3)+' '+prnvegosszeg.substr(len-6, 3);

		$('#calcresult').html('<span class="shadow">'+prnvegosszeg+',<span class="fs18">- Ft</span><span class="shadowed">'+prnvegosszeg+',<span class="fs18">- Ft</span></span></span>');
		$('#szum').val(vegosszeg);
	} else {
		title = 'Hiba az űrlap kitöltésében';
		switch (vegosszeg) {
		case -1 : jAlert('Érvénytelen mező: Vállalkozás formája', title); break;
		case -2 : jAlert('Érvénytelen mező: Vállalkozás adózási módja', title); break;
		case -3 : jAlert('Érvénytelen mező: Biztosítottak száma', title); break;
		case -4 : jAlert('Érvénytelen mező: Bizonylatok száma', title); break;
		}
	}

	if (type == 'submit') {
	    document.forms['offerform'].submit();
	}
}

/*	1 - Vállalkozás formája, 
	2 - vállalkozás adózási módja,  
	3 - #biztosítottak, 
	4 - kezdo-e, 
	5 -	#bizonylat,
	6 - árbevétel, 
	7 - kereskedő-e
/**/
function chckcalc(forma, ado_mod, bizt, kezd, bizony, arbev, ker) {
	title = 'Hiba az űrlap kitöltésében';

    $.alerts.okButton = '';
    $.alerts.overlayOpacity = .40;
    $.alerts.overlayColor = '#000000';

    if ( forma == 6) {
		jAlert('Egyéni vállalkozások könyvelése 7.000 Ft+Áfa/hó-tól!', title);	
		return false;
    }

	if ( forma == null) {
		jAlert('Kitöltetlen mező: Vállalkozás formája', 'Információ');	
		return false;
	}

	if ( ado_mod == null) {
		jAlert('Kitöltetlen mező: Vállalkozás adózási módja', title);	
		return false;
	}

	if ( kezd == null) {
		jAlert('Kitöltetlen mező: Kezdő vállalkozás-e?', title);	
		return false;
	}
	
	if ( ker == null) {
		jAlert('Kitöltetlen mező: Kereskedő-e?', title);	
		return false;
	}	

	return true;
}

/*	1 - Vállalkozás formája, 
	2 - vállalkozás adózási módja,  
	3 - #biztosítottak, 
	4 - kezdo-e, 
	5 -	#bizonylat,
	6 - árbevétel, 
	7 - kereskedő-e
/**/
function calc(forma, ado_mod, bizt, kezd, bizony, arbev, ker) {

	// Inicializálás és bemenő adat ellenőrzés	

	// Forma megfelelő
	if ((forma != 3) && (forma != 4) && (forma != 5)) {
		return -1;
	}

	// Árbevétel határok (Adózás módja és vállalkozás formája alapján)
	arbevhatar = 0;
	switch (parseInt(ado_mod) + parseInt(forma)) {
		case 23:	arbevhatar=2083; break;
		case 24:	arbevhatar=4166; break;
		case 25:	arbevhatar=8133; break;

		case 33:	arbevhatar=2083; break;
		case 34:	arbevhatar=8133; break;
		case 35:	arbevhatar=4166; break;
		
		case 43:	arbevhatar=4166; break;
		case 44:	arbevhatar=2083; break;
		case 45:	arbevhatar=8333; break;
	}

	switch (parseInt(ado_mod)) {
		case 10:
			alapar = 18000;

			if (forma == 5) {
				hatar = bizony - 50;
			} else {
				hatar = bizony - 75;
			}

			korszorzo = 25; // Korrekciós szorzó
			break;

		case 20:
			alapar = 21000;
			hatar = (bizony * 2) - 100;
			korszorzo = 200;
			break;

		case 30:
			alapar = 24000;
			hatar = (bizony * 2) - 125;
			korszorzo = 200;
			break;

		case 40:
			alapar = 27000;
			hatar = (bizony * 2) - 150;
			korszorzo = 200;
			break;

		default:
			return -2;
	}

	// Biztosítottak száma	
	if ( (bizt < 0) || (bizt > 500) ) {
		return -3;
	}

	if (bizt < 1) bizt = 3;
	else bizt = bizt-1;
	
	// Bizonylatok száma
	if ( (bizony < 0) || (bizony > 5000) ) {
		return -5;
	}
	
	// Végösszeg szorzó
	if ((arbev >= arbevhatar) && (ado_mod != 10)) szorzo = 1.5;	
	else szorzo = 1;	

	// Korrigált ár = korar
	if (hatar > 0) korar = alapar + (hatar * korszorzo);
	else korar = alapar;

	// Kezdő kedvezmény
	if (kezd == 1) korar = korar * 0.8;

	// Kereskedelmi extra díj
	if (ker == 1) korar = korar + (bizony * 200);
	
	vegosszeg = (bizt *  2400) + (korar * szorzo); //korar;
	
	return vegosszeg;
}
