Калькулятор заработной платы в Чехии. Расчёт зарплаты в Чехии

// <![CDATA[
function LibJS_mouseX(evt) {
if (evt.pageX) return evt.pageX;
else if (evt.clientX)
return evt.clientX + (document.documentElement.scrollLeft ?
document.documentElement.scrollLeft :
document.body.scrollLeft);
else return null;
}

function LibJS_mouseY(evt) {
if (evt.pageY) return evt.pageY;
else if (evt.clientY)
return evt.clientY + (document.documentElement.scrollTop ?
document.documentElement.scrollTop :
document.body.scrollTop);
else return null;
}

function LibJS_ParseCislo(LibJS_Vstup)
{
LibJS_Cislo='';
LibJS_Vstup=LibJS_Vstup.toString();
for(LibJS_Index=0; LibJS_Index=4) {
LibJS_Pozice-=3;
LibJS_Vystup=’ ‘+LibJS_Cislo.substring(LibJS_Pozice, LibJS_Pozice+3)+LibJS_Vystup;
}
LibJS_Vystup=LibJS_Cislo.substring(0, LibJS_Pozice)+LibJS_Vystup;
return LibJS_Vystup;
}

function LibJS_OknoSlovnik(obj,evt) {

var href = obj.href;

if (!evt)
return !window.open(obj.href, obj.target, ‘toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=yes,copyhistory=no,width=350,height=250’);

x=LibJS_mouseX(evt);
y=LibJS_mouseY(evt);
//domena = window.location.hostname;
//reg=RegExp(«^(https://»+domena+»)»,»i»);
//if (href.match(reg)) {
// href=href.replace(reg,»);
//}

var https_request = false;

if (window.XMLHttpRequest) {
https_request = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
https_request = new ActiveXObject(«Msxml2.XMLHTTP»);
} catch (err) {
https_request = new ActiveXObject(«Microsoft.XMLHTTP»);
}
}

https_request.onreadystatechange = function() { LibJS_ZpracujSlovnik(https_request,x,y); };
https_request.open(‘POST’, href+’?ajax=1′, true);
https_request.setRequestHeader(‘Content-Type’, ‘application/x-www-form-urlencoded; charset=utf-8’);
https_request.setRequestHeader(‘Accept-charset’, ‘utf-8’);
https_request.send(null);

//window.open(obj.href, obj.target, ‘toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=yes,copyhistory=no,width=350,height=250’);

return false;
}

function LibJS_ZpracujSlovnik(https_request,x,y) {
if (https_request.readyState == 4) {
if (https_request.status == 200) {

var page = https_request.responseText;

//odstranime nechtene znaky
reg=RegExp(«([\r\n])[\s]*»,»g»);
if (page.match(reg)) {
page=page.replace(reg,»);
}

//odstranime hlavicku
reg=RegExp(«^.*]*>»,»i»);
if (page.match(reg)) {
page=page.replace(reg,»);
}

//odstranime paticku
reg=RegExp(«]*>.*$»,»i»);
if (page.match(reg)) {
page=page.replace(reg,»);
}
//alert(page);

document.finTooltipID=»DivLibraryAjax»;
var close_button = «

«;
//zkusime najit kontejner pro napovedu
cont=document.getElementById(«DivLibraryAjax»);
if (!cont) {
LibJS_CreateElement(«DivLibraryAjax»,close_button+page);
cont=document.getElementById(«DivLibraryAjax»);
//nastavime obsah
cont.innerHTML=close_button+page;
} else {
//nastavime obsah
cont.innerHTML=close_button+page;
}

if (x&&y) {
//mame platne souradnice — nastavime kontejner pod kurzor
cont.style.width=250+’px’;
cont.style.left=(x-250)+’px’;
cont.style.top=(y-5)+’px’;
cont.style.position=’absolute’;
//zobrazime kontejner
cont.style.display=»;
} else {
//nemame platne souradnice — oooops
alert(‘Chyba’);
return true;
}

//alert(https_request.responseText);
//alert(‘OK’);
}
}
return false;
}

function LibJS_CreateElement(elid) {
//kontejner nebyl nalezen — vytvorime novy prvku
cont=document.createElement(‘div’);

//nastavime ID noveho prvku
cont.id=elid;
//nastavime neviditelnost
cont.style.display=’none’;
//nastavime jeho tridu
cont.className=’finTooltipJS’;
//nastavime obsah
//cont.innerHTML=html;

//pridame skryti tooltipu pri udalosti onmouseout
if (cont.addEventListener) {
//verze pro mozillu a operu
//cont.addEventListener(‘mouseout’,finTooltipHide,false);
cont.addEventListener(‘mouseover’,finTooltipHideCancel,false);
} else {
//verze pro IE
//cont.attachEvent(‘onmouseout’,function () {document.finTooltipID=elid; finTooltipHideIE();});
cont.attachEvent(‘onmouseover’, function () {document.finTooltipID=elid; finTooltipHideCancelIE();});
}

//nalezeni body v document tree
mconts=document.getElementsByTagName(‘body’);
//pripojeni noveho elementu do DOM stromu tela stranky
if (mconts[0])
mconts[0].appendChild(cont);
}

function convNotNegative(num){
return (!isFinite(num))? 0 : ( num0 ? ((cenaAuta/100)>1000 ? VaseHM+(cenaAuta/100) : VaseHM+1000 ) : VaseHM;
var ZP = HM>8000 ? ( HM>1809864 ? 81444 : Math.ceil(HM*0.045) ) : Math.ceil(1080-(HM*0.09));
var ZPzamestnavatel = HM<1809864 ? Math.ceil(HM*0.09) : 162888;
var SP = HM<1206576 ? Math.ceil(HM*0.065) : 78428;
var SPzamestnavatel = HM<1206576 ? Math.ceil(HM*0.25) : 301644;
var SHM = Math.ceil( (HM+ZPzamestnavatel+SPzamestnavatel)/100)*100;
var slevyNaDani = 2070+( invalida12 ? 210 : 0 )+( invalida3 ? 420 : 0 )+( ztp ? 1345 : 0)+(student? 335 : 0);
var danoveZvyhodneni = pocDetiZTP0 )? aa : 0;
var danovyBonus = zalohaDZP==0 ? ( ((SHM*0.15)-2070)5025 ? 5025 : danovyBonus;
var MNZ = VaseHM+ZPzamestnavatel+SPzamestnavatel;

var cistaMzda = convNotNegative(VaseHM-ZP-SP-zalohaDZP+danovyBonus);
var CZM = convNotNegative((1-(cistaMzda/(SHM)))*100);
// Tisk vysledku do prislusnych poli

$(‘input[name=»HM»]’).val(LibJS_CisloVystup(HM));
$(‘input[name=»ZP»]’).val(LibJS_CisloVystup(ZP));
$(‘input[name=»ZPzamestnavatel»]’).val(LibJS_CisloVystup(ZPzamestnavatel));
$(‘input[name=»SP»]’).val(LibJS_CisloVystup(SP));
$(‘input[name=»SPzamestnavatel»]’).val(LibJS_CisloVystup(SPzamestnavatel));
$(‘input[name=»SHM»]’).val(LibJS_CisloVystup(SHM));
$(‘input[name=»slevyNaDani»]’).val(LibJS_CisloVystup(slevyNaDani));
$(‘input[name=»danoveZvyhodneni»]’).val(LibJS_CisloVystup(danoveZvyhodneni));
$(‘input[name=»zalohaDZP»]’).val(LibJS_CisloVystup(zalohaDZP));
$(‘input[name=»danovyBonus»]’).val(LibJS_CisloVystup(danovyBonus));
$(‘input[name=»MNZ»]’).val(LibJS_CisloVystup(MNZ));

$(‘input[name=»cistaMzda»]’).val(LibJS_CisloVystup(cistaMzda));
$(‘input[name=»CZM»]’).val(LibJS_CisloVystup(CZM.toFixed(2)) );

//if(!rozMK) return;

var urozyZU = LibJS_ParseCislo($(‘input[name=»urozyZU»]’).val());
var dary = LibJS_ParseCislo($(‘input[name=»dary»]’).val());
var prispevekPP = LibJS_ParseCislo($(‘input[name=»prispevekPP»]’).val());
var prispevekZP = LibJS_ParseCislo($(‘input[name=»prispevekZP»]’).val());
var POdborum = LibJS_ParseCislo($(‘input[name=»POdborum»]’).val());
var UZ = LibJS_ParseCislo($(‘input[name=»UZ»]’).val());

var MPrijmy = LibJS_ParseCislo($(‘select[name=»MPrijmy»]’).val());
var MZtp = LibJS_ParseCislo($(‘select[name=»MZtp»]’).val());

var RM = HM*12;
var ZZP = ZP*12>81444 ? 81444 : ZP*12
var ZZPzamestnavatel = ZPzamestnavatel*12>162888 ? 162888 : ZPzamestnavatel*12;
var ZSP = SP*12>78428 ? 78428 : SP*12;
var ZSPzamestnavatel = SPzamestnavatel*12>301644 ? 301644 : SPzamestnavatel*12;
var NCZD = urozyZU + dary + prispevekPP + prispevekZP + POdborum + UZ;
var ZD = (RM+ZZPzamestnavatel+ZSPzamestnavatel-NCZD)>0 ? Math.floor((RM+ZZPzamestnavatel+ZSPzamestnavatel-NCZD)/100)*100 : 0;
var RSlevyNaDani = (slevyNaDani*12)+( MPrijmy ? 24840: 0 )+( MZtp ? 49680 : 0);
var danPoSlevyNaDani = (ZD*0.15)-RSlevyNaDani>0 ? (ZD*0.15)-RSlevyNaDani : 0;
var RDanoveZvyhodneni = danoveZvyhodneni*12;
var slevaNaDeti = RDanoveZvyhodneni==0 ? 0 : (RDanoveZvyhodneni>danPoSlevyNaDani ? danPoSlevyNaDani : RDanoveZvyhodneni);
var rocniDP = danPoSlevyNaDani-slevaNaDeti;
var RDanovyBonus = (RDanoveZvyhodneni-slevaNaDeti)>60300 ? 60300 : RDanoveZvyhodneni-slevaNaDeti;
var UVMDB = danovyBonus*12;
var rozdilNaDB = RDanovyBonus-UVMDB;
var ZZDZP = zalohaDZP*12;
var prepNedopDane = -rocniDP+rozdilNaDB+ZZDZP;

var rocniCistaMzda = convNotNegative(RM-ZZP-ZSP-rocniDP+RDanovyBonus);
var rozCZM = convNotNegative(((1-(rocniCistaMzda/(RM+ZZPzamestnavatel+ZSPzamestnavatel)))*100)>0 ? (1-(rocniCistaMzda/(RM+ZZPzamestnavatel+ZSPzamestnavatel)))*100 : 0);

$(‘input[name=»RM»]’).val(LibJS_CisloVystup(RM));
$(‘input[name=»ZZP»]’).val(LibJS_CisloVystup(ZZP));
$(‘input[name=»ZZPzamestnavatel»]’).val(LibJS_CisloVystup(ZZPzamestnavatel));
$(‘input[name=»ZSP»]’).val(LibJS_CisloVystup(ZSP));
$(‘input[name=»ZSPzamestnavatel»]’).val(LibJS_CisloVystup(ZSPzamestnavatel));
$(‘input[name=»NCZD»]’).val(LibJS_CisloVystup(NCZD));
$(‘input[name=»ZD»]’).val(LibJS_CisloVystup(ZD));
$(‘input[name=»RSlevyNaDani»]’).val(LibJS_CisloVystup(RSlevyNaDani));
$(‘input[name=»danPoSlevyNaDani»]’).val(LibJS_CisloVystup(danPoSlevyNaDani));
$(‘input[name=»RDanoveZvyhodneni»]’).val(LibJS_CisloVystup(RDanoveZvyhodneni));
$(‘input[name=»slevaNaDeti»]’).val(LibJS_CisloVystup(slevaNaDeti));
$(‘input[name=»rocniDP»]’).val(LibJS_CisloVystup(rocniDP));
$(‘input[name=»RDanovyBonus»]’).val(LibJS_CisloVystup(RDanovyBonus));
$(‘input[name=»UVMDB»]’).val(LibJS_CisloVystup(UVMDB));
$(‘input[name=»rozdilNaDB»]’).val(LibJS_CisloVystup(rozdilNaDB));
$(‘input[name=»ZZDZP»]’).val(LibJS_CisloVystup(ZZDZP));
$(‘input[name=»prepNedopDane»]’).val(LibJS_CisloVystup(prepNedopDane));

$(‘input[name=»rocniCistaMzda»]’).val(LibJS_CisloVystup(rocniCistaMzda));
$(‘input[name=»rozCZM»]’).val(LibJS_CisloVystup(rozCZM.toFixed(2)));

return;
}

var rozMK = false;
var classPasive = «passive»;
$(function(){
$(‘#nm-detail’).click(function(){
$(‘#detail-vypoctu-nm’).toggle();
});

$(‘#rozMK’).click(function(e){e.preventDefault();
rozMK = true;
$(‘#zakladniMK’).addClass(classPasive);
$(this).removeClass(classPasive)
$(‘.rozMK’).show();
$(‘.neRozMK’).hide();
$(‘#nm-detail span’).text(‘Výpočet měsíčního zúčtování’);
});

$(‘#zakladniMK’).click(function(e){e.preventDefault();
rozMK = false;
$(‘#rozMK’).addClass(classPasive);
$(this).removeClass(classPasive)
$(‘.rozMK’).hide();
$(‘.neRozMK’).show();
$(‘#nm-detail span’).text(‘Výpočet ročního zúčtování’);
});

$(‘input’).focus(function(){
if($(this).val() == 0 )
$(this).val(»);
});
});

//’]>
// ‘]>

Нет
Да
Нет
Да
Нет
Да
Нет
Да
Получаете льготу за супругу? (да/нет)
Нет
Да
Нет
Да
Чистая заработная плата:
Всего налоги на заработную плату (в %):
Чистый годовой доход:
Всего налоги на заработную плату (в %):
Годовое списание Работник Работодатель
Заработная плата:
Медицинское страхование:
Социальное страхование:
Максимальная заработная плата:
Льгота:
Налоговые льготы:
Обязательные социальные отчисления:
Налоговый бонус:
Расходы работодателя на выплату заработной платы:
 

Годовое списание Работник Работодатель
Годовая заработна плата:
Медицинское страхование:
Социальное страхование:
Необлагаемая часть налога:
Налогооблагаемая база:
Льгота на налоги:
Налог после действия льгот:
Налоговые льготы:
Налоговые льготы на детей до суммы налога:
Годовая налоговая обязанность:
Налоговый бонус:
Сумма выплаченых месечных налоговых бонусов:
Разница в налоговом бонусе:
Заплаченный аванс налога с дохода:
Переплата налога(+)/недоплаченный налог(-):

Галерея