function kalkulator_typ_1(id_div_element, przed, sklad)
{
    this.parent(kalkulator); // dziedziczenie
    
    this.createSourceForm = function(kontener)
    {
        var source = document.createElement('form');
        kontener.appendChild(source);
        
        var elementy = new Array();
        elementy.push(this.createCalcField(source, 'Kwota pożyczki: '));
        elementy.push(this.createCalcField(source, 'Liczba rat: '));
        
        var submit = this.createSubmitField(source);
        source.kalkulator = this;
        source.onsubmit = function () { source.kalkulator.calculate(); return false; } ;
        
        return elementy;
    }
    
    this.createTargetForm = function (container) 
    {
        var target = document.createElement('div');
        target.className = 'calcTarget';
        container.appendChild(target);
        
        var elementy = new Array();
        elementy.push(this.createTargetField(target, 'Wysokość raty miesięcznej: '));
        elementy.push(this.createTargetField(target, 'Koszt całkowity: '));
        
        return elementy;
    };
    
    this.calculate = function ()
    {

        var kwota = this.roundMoney(parseFloat(this.sourceFormElements[0].value));
        var liczbaRat = parseInt(this.sourceFormElements[1].value);
        if ((kwota <= 0) || (isNaN(kwota)))
        {
            alert('Nieprawidłowa kwota');
            return;
        }
        if ((liczbaRat <= 0) || (isNaN(liczbaRat)))
        {
            alert('Nieprawidłowa wartość liczby rat');
            return;
        }

        if ((this.components[9].aktywny == 1) && (parseFloat(this.components[9].wartosc) > kwota))
        {
            alert('Kwota jest poniżej kwoty minimalnej');
            return;
        }
        
        if ((this.components[10].aktywny == 1) && (parseFloat(this.components[10].wartosc) < kwota))
        {
            alert('Kwota przekracza kwotę maksymalną');
            return;
        }
        
        if (this.ranges[liczbaRat] == undefined)
        {
            alert('Liczba rat jest nieprawidłowa');
            return;
        }
        
        var prowizja = 0;
        if (this.ranges[liczbaRat]['Prowizja'] != undefined)
            prowizja = parseFloat((this.ranges[liczbaRat]['Prowizja']).split('%')[0]);
        else
            if (this.components[6].aktywny == 1)
                prowizja = this.components[6].wartosc.split('%')[0].replace(/,/, '.');
        
        // w koncu obliczenia
        var oproc = parseFloat((this.ranges[liczbaRat]['Oprocentowanie nominalne']).split('%')[0]);
        oproc /= 12 * 100; 
        var rata = kwota * oproc / (1 - Math.pow(oproc + 1, -liczbaRat));
		if (parseFloat(this.components[11].wartosc) > 0)
			var oplataPrzygotowawcza = parseFloat(this.components[11].wartosc);
		else
			var oplataPrzygotowawcza = 0;
        var koszt = liczbaRat * this.roundMoney(rata) - kwota + (prowizja / 100 * kwota) + oplataPrzygotowawcza; 

		this.targetFormElements[0].value = rata.toFixed(2);
        this.targetFormElements[1].value = koszt.toFixed(2);
        return;
    }
    
    // odpalamy to wszystko
    this.init(id_div_element, przed, sklad);
}
