//here is stored obr moc for package PKR
var PKR_value = 3;

// all static variables
//paket 1
var priceET1 =  0.04570;		//EUR/kWh
var priceMT1 =  0.02866;		//EUR/kWh
var priceVT1 =  0.05687;		//EUR/kWh
//paket 2
var priceET2 =  0.05725;		//EUR/kWh
var priceMT2 =  0.03485;		//EUR/kWh
var priceVT2 =  0.06492;		//EUR/kWh
//paket3
var priceET3 =  0.05725;		//EUR/kWh
var priceMT3 =  0.03485;		//EUR/kWh
var priceVT3 =  0.06492;		//EUR/kWh
//paket PKR
var priceETpkr =  0.05452;		//EUR/kWh
var priceMTpkr =  0.03259;		//EUR/kWh
var priceVTpkr =  0.06210;		//EUR/kWh
// omreznina
var priceVT_omr =  0.03525;		//EUR/kWh
var priceMT_omr =  0.02718;		//EUR/kWh
var priceET_omr =  0.03256;		//EUR/kWh
// omreznina 2011
var priceVT_omr_11 = 0.03995;   //EUR/kWh
var priceMT_omr_11 = 0.03080;   //EUR/kWh
var priceET_omr_11 = 0.03690;   //EUR/kWh
// obracunska moc
var priceObrMoc =  0.81001;	    //EUR/kW
// obracunska moc 2011
var priceObrMoc_11 = 0.75457;   //EUR/kW

// prices for year 2011
var prispEZ64_11 = 0.18930;

//prices for year 2010
//prispevka po 64.r in 15. clenu
var prispEZ64_10 = 0.33781;		//EUR/kW
var prispEZ15_10 = 0.03493;		//EUR/kW

var prispEZ67 = 0.00050;		//EUR/kW

//prices for year 2009
var prispEZ64_09 = 0.17678;		//EUR/kW
var prispEZ15_09 = 0.05090;		//EUR/kW

//real price
var prispEZ64 = null;
var prispEZ15 = null
//ostalo
var trosarina =  0.001;		//EUR/kWh
var trosarinaNew =  0.00305;		//EUR/kWh

var DVP = 0.01;		//dodatek za visoko porabo
var DDV = 0.20;
var SVR = 0.68000;		//storitev vodenje racuna
var SVR_trajnik = 0.380;		//popust za svr, če je placilo preko trajnika
var ren = 1;

//months
var monthsArr = {
    '1' : 'Januar',
    '2' : 'Februar',
    '3' : 'Marec',
    '4' : 'April',
    '5' : 'Maj',
    '6' : 'Junij',
    '7' : 'Julij',
    '8' : 'Avgust',
    '9' : 'September',
    '10' : 'Oktober',
    '11' : 'November',
    '12' : 'December'
};

//days in months
var monthsDaysArr = {
    '1' : '31',
    '2' : '28',
    '3' : '31',
    '4' : '30',
    '5' : '31',
    '6' : '30',
    '7' : '31',
    '8' : '31',
    '9' : '30',
    '10' : '31',
    '11' : '30',
    '12' : '31'
};

function ro(n){
    return(Math.round(n*100000)/100000);
}

function changeStrDel(val){
    var toStr = val.toString();
    toStr = toStr.replace('.',',');

    if (toStr == 0){
        return "0";
    }

    if(toStr.lastIndexOf(',') == -1){
        return val;
    }

    var subStrLen = toStr.substr(toStr.lastIndexOf(',')+1+1,toStr.length);
    if (subStrLen.length < 2 & subStrLen > 0)
        return toStr+"0";
    else
        return toStr;
}

//check if value is numeric
function checkIfValIsInt(value){
    if (value == "") return false;
    return !isNaN(value);
}

//povprecna poraba
function calcPovpPoraba(val){
    var days = monthsDaysArr[jQuery('#months').val()];
    return ro(val/days);
}

//dodatek za visoko porabo
function calcDVP(povp){
    var res = povp - 10;
	
    if (res<0){
        return 0,00;
    }else{
        var days = monthsDaysArr[jQuery('#months').val()];
        res = res * days;
        return ro(res);
    }
}

function setCorrectEzPrices(){
    //selects correct prices for EZ
    if (jQuery('#years').val() == "2009"){
        prispEZ64 = prispEZ64_09;
        prispEZ15 = prispEZ15_09;
    } else if(jQuery('#years').val() <= '2011' && jQuery('#months').val() < 6) {
        prispEZ64 = prispEZ64_10;
        prispEZ15 = prispEZ15_10;
    } else {
    	prispEZ64 = prispEZ64_11;
        prispEZ15 = prispEZ15_10;
    }
}

function izracunPorabeET(val){
    setCorrectEzPrices();

    //hide hidden rows
    jQuery('tr.mto').addClass('hidden');

    var days = monthsDaysArr[jQuery('#months').val()];
    var fromDate = '1.'+jQuery('#months').val()+'.'+jQuery('#years').val();
    var tillDate = days+'.'+jQuery('#months').val()+'.'+jQuery('#years').val();

    var selPackage = jQuery('#package').val();

    //gets et price
    if (selPackage == 'pkr' || selPackage == 'vpkr'){
        selPackage = jQuery('#obrMoc').val();
        //gets et price
        if (selPackage == '3'){
            var etp = priceETpkr;
        }else if(selPackage == '7'){
            var etp = priceETpkr;
        }else{
            var etp = priceETpkr;
        }
    }else{
        //gets et price
        if (selPackage == '3'){
            var etp = priceET1;
        }else if(selPackage == '7'){
            var etp = priceET2;
        }else{
            var etp = priceET3;
            selPackage = 10;
        }
    }

    //sets povprecno dnevno porabo
    var povpPoraba = calcPovpPoraba(val);
    jQuery('#r2p').html(changeStrDel(povpPoraba));
    jQuery('#r6p').html(changeStrDel(povpPoraba));

    //obr moc - 1 row
    _priceObrMoc = jQuery('#years').val() >= 2011 ? priceObrMoc_11 : priceObrMoc; // nova cena obračunske moči
    jQuery('#r1k').html(selPackage);
    jQuery('#r1c').html(changeStrDel(_priceObrMoc.toFixed(5)));
    var r1z = selPackage * _priceObrMoc;
    jQuery('#r1z').html(changeStrDel(ro(r1z).toFixed(5)));

    //omrežnina - 2 row
    _priceET_omr = jQuery('#years').val() >= 2011 ? priceET_omr_11 : priceET_omr; // nova cena omrežnine
    jQuery('#eto').html('Omrežnina');
    jQuery('#r2p').html(changeStrDel(povpPoraba));
    jQuery('#r2d').html(days);
    jQuery('#r2od').html(fromDate);
    jQuery('#r2do').html(tillDate);
    jQuery('#r2k').html(changeStrDel(ro(val)));
    jQuery('#r2c').html(changeStrDel(ro(_priceET_omr).toFixed(5)));
    var r2z = val * _priceET_omr;
    jQuery('#r2z').html(changeStrDel(ro(r2z).toFixed(5)));

    //energija - 3 row
    jQuery('#ete').html('Energija');
    jQuery('#r6p').html(changeStrDel(povpPoraba));
    jQuery('#r6d').html(days);
    jQuery('#r6od').html(fromDate);
    jQuery('#r6do').html(tillDate);
    jQuery('#r6k').html(changeStrDel(ro(val)));
    jQuery('#r6c').html(changeStrDel(ro(etp).toFixed(5)));
    var r6z = val*etp ;
    jQuery('#r6z').html(changeStrDel(ro(r6z).toFixed(5)));


    //porabim kar rabim nima tega
    if (jQuery('#package').val() == 'pkr' || jQuery('#package').val() == 'vpkr'){
        var r3z = 0;
        var r9z = 0;

        //dvp = 0
        jQuery('#r3k').html(changeStrDel(0));
        jQuery('#r3c').html(changeStrDel(ro(DVP).toFixed(5)));
        jQuery('#r3z').html(changeStrDel(0.00000));

        //svr = 0
        jQuery('#r9k').html(changeStrDel(0));
        jQuery('#r9c').html(changeStrDel(ro(SVR).toFixed(5)));
        jQuery('#r9z').html(changeStrDel(0.00000));
    }else{
        //dodatek za visoko porabo - 3 row
        var kolicinaDVP = calcDVP(povpPoraba);
        jQuery('#r3k').html(changeStrDel(kolicinaDVP));
        jQuery('#r3c').html(changeStrDel(ro(DVP).toFixed(5)));
        var r3z = kolicinaDVP*DVP;
        jQuery('#r3z').html(changeStrDel(ro(r3z).toFixed(5)));

        //SVR - 9 row
        jQuery('#r9k').html(1);
        if (jQuery('#chkTrajnik:checked').val() == 'on'){
            var svrVal = SVR_trajnik;
        }else{
            var svrVal = SVR;
        }
        jQuery('#r9c').html(changeStrDel(ro(svrVal).toFixed(5)));
        var r9z = svrVal;
        jQuery('#r9z').html(changeStrDel(ro(svrVal).toFixed(5)));
    }
	
    //trosarina
    var monthDDVal = jQuery('#months').val();
    var yearDDVal = jQuery('#years').val();

    var realTrosarina = trosarina;
    if (monthDDVal > 7 && yearDDVal > 2009 || yearDDVal > 2010) {
        var realTrosarina = trosarinaNew;
    }
    jQuery('#r14k').html(changeStrDel(ro(val)));
    jQuery('#r14c').html(changeStrDel(ro(realTrosarina).toFixed(5)));
    var r14z = realTrosarina * val;
    jQuery('#r14z').html(changeStrDel(ro(r14z).toFixed(5)));

    //64.r EZ - 4 row
    jQuery('#r4k').html(selPackage);
    jQuery('#r4c').html(changeStrDel(ro(prispEZ64).toFixed(5)));
    var r4z = prispEZ64*selPackage;
    jQuery('#r4z').html(changeStrDel(ro(r4z).toFixed(5)));

    //15.r EZ - 5 row
    jQuery('#r5k').html(selPackage);
    jQuery('#r5c').html(changeStrDel(ro(prispEZ15)));
    var r5z = prispEZ15*selPackage;
    jQuery('#r5z').html(changeStrDel(ro(r5z)));

    //67.r EZ - 6 row
    if (jQuery('#years').val() < 2010 || jQuery('#years').val() == 2010 && jQuery('#months').val() == 1){
        jQuery('#r55').hide();
    }else{
		jQuery('#r55k').html(changeStrDel(ro(val)));
        jQuery('#r55c').html(changeStrDel(ro(prispEZ67).toFixed(5)));
        var r55z = prispEZ67* val;
        jQuery('#r55z').html(changeStrDel(ro(r55z).toFixed(5)));
        jQuery('#r55').show();
    }

    //skupaj paket - 8 row
    var r8z = r1z+r2z+r3z+r4z+r5z+r6z+r55z+r14z;
    jQuery('#r8z').html(changeStrDel(ro(r8z).toFixed(5)));

    //reenergija - 10 row
    if (jQuery('#chkReenergija:checked').val() == 'on'){
        jQuery('#reenergija').removeClass('hidden');
        var renVal = ren;
        var r10z = renVal;
        jQuery('#r10k').html(1);
    //jQuery('#r10c').html(changeStrDel(ro(r10z)));
    //jQuery('#r10z').html(changeStrDel(ro(r10z)));
    }else{
        jQuery('#reenergija').addClass('hidden');
        var r10z = 0;
    }

    //skupaj storitve - 11 row
    var r11z = r9z+r10z;
    jQuery('#r11z').html(changeStrDel(ro(r11z).toFixed(5)));

    //skupaj - 12 row
    var r12z = r11z+r8z;
    jQuery('#r12z').html(changeStrDel(ro(r12z).toFixed(5)));

    //skupaj DDV - 13 row
    var r13z = (r12z * DDV) + r12z;
    jQuery('#r13z').html(changeStrDel(ro(r13z).toFixed(5)));
}

function izracunPorabeMTinVT(VT,MT){
    setCorrectEzPrices();

    //show hidden rows
    jQuery('tr.mto').removeClass('hidden');

    var days = monthsDaysArr[jQuery('#months').val()];
    var fromDate = '1.'+jQuery('#months').val()+'.'+jQuery('#years').val();
    var tillDate = days+'.'+jQuery('#months').val()+'.'+jQuery('#years').val();

    var selPackage = jQuery('#package').val();

    if (selPackage == 'pkr' || selPackage == 'vpkr'){
        //gets et price
        selPackage = jQuery('#obrMoc').val();
        if (selPackage == '3'){
            var vtp = priceVTpkr;
            var mtp = priceMTpkr;
        }else if(selPackage == '7'){
            var vtp = priceVTpkr;
            var mtp = priceMTpkr;
        }else{
            selPackage = 10;
            var vtp = priceVTpkr;
            var mtp = priceMTpkr;
        }
    }else{
        //gets et price
        if (selPackage == '3'){
            var vtp = priceVT1;
            var mtp = priceMT1;
        }else if(selPackage == '7'){
            var vtp = priceVT2;
            var mtp = priceMT2;
        }else{
            selPackage = 10;
            var vtp = priceVT3;
            var mtp = priceMT3;
        }
    }

    //sets povprecno dnevno porabo
    var povpPorabaVT = calcPovpPoraba(VT);
    var povpPorabaMT = calcPovpPoraba(MT);
    jQuery('#r2p').html(changeStrDel(povpPorabaVT));
    jQuery('#r6p').html(changeStrDel(povpPorabaVT));

    //obr moc - 1 row
    _priceObrMoc = jQuery('#years').val() >= 2011 ? priceObrMoc_11 : priceObrMoc; // nova cena obračunske moči
    jQuery('#r1k').html(selPackage);
    jQuery('#r1c').html(changeStrDel(_priceObrMoc.toFixed(5)));
    var r1z = selPackage * _priceObrMoc;
    jQuery('#r1z').html(changeStrDel(ro(r1z).toFixed(5)));

    //Omrežnina VT - 2 row
    _priceVT_omr = jQuery('#years').val() >= 2011 ? priceVT_omr_11 : priceVT_omr; // nova cena omrežnine
    jQuery('#eto').html('Omrežnina VT');
    jQuery('#r2p').html(changeStrDel(povpPorabaVT));
    jQuery('#r2d').html(days);
    jQuery('#r2od').html(fromDate);
    jQuery('#r2do').html(tillDate);
    jQuery('#r2k').html(changeStrDel(ro(VT)));
    jQuery('#r2c').html(changeStrDel(ro(_priceVT_omr).toFixed(5)));
    var r2z = VT * _priceVT_omr ;
    jQuery('#r2z').html(changeStrDel(ro(r2z).toFixed(5)));

    //Omrežnina MT - 3 row
    _priceMT_omr = jQuery('#years').val() >= 2011 ? priceMT_omr_11 : priceMT_omr; // nova cena omrežnine
    jQuery('#r2mp').html(changeStrDel(povpPorabaMT));
    jQuery('#r2md').html(days);
    jQuery('#r2mod').html(fromDate);
    jQuery('#r2mdo').html(tillDate);
    jQuery('#r2mk').html(changeStrDel(ro(MT)));
    jQuery('#r2mc').html(changeStrDel(ro(_priceMT_omr).toFixed(5)));
    var r2mz = MT * _priceMT_omr ;
    jQuery('#r2mz').html(changeStrDel(ro(r2mz).toFixed(5)));

    //energija VT - 3 row
    jQuery('#ete').html('Energija VT');
    jQuery('#r6p').html(changeStrDel(povpPorabaVT));
    jQuery('#r6d').html(days);
    jQuery('#r6od').html(fromDate);
    jQuery('#r6do').html(tillDate);
    jQuery('#r6k').html(changeStrDel(ro(VT)));
    jQuery('#r6c').html(changeStrDel(ro(vtp).toFixed(5)));
    var r6z = VT*vtp ;
    jQuery('#r6z').html(changeStrDel(ro(r6z).toFixed(5)));

    //energija MT - 3 row
    jQuery('#r6mp').html(changeStrDel(povpPorabaMT));
    jQuery('#r6md').html(days);
    jQuery('#r6mod').html(fromDate);
    jQuery('#r6mdo').html(tillDate);
    jQuery('#r6mk').html(changeStrDel(ro(MT)));
    jQuery('#r6mc').html(changeStrDel(ro(mtp).toFixed(5)));
    var r6mz = MT*mtp ;
    jQuery('#r6mz').html(changeStrDel(ro(r6mz).toFixed(5)));


    //porabim kar rabim nima tega
    if (jQuery('#package').val() == 'pkr' || jQuery('#package').val() == 'vpkr'){
        var r3z = 0;
        var r9z = 0;

        //dvp = 0
        jQuery('#r3k').html(changeStrDel(0));
        jQuery('#r3c').html(changeStrDel(ro(DVP).toFixed(5)));
        jQuery('#r3z').html(changeStrDel(0.00000));

        //svr = 0
        jQuery('#r9k').html(changeStrDel(0));
        jQuery('#r9c').html(changeStrDel(ro(SVR).toFixed(5)));
        jQuery('#r9z').html(changeStrDel(0.00000));
    }else{
        //dodatek za visoko porabo - 4 row
        var kolicinaDVP = calcDVP(povpPorabaMT + povpPorabaVT);
        jQuery('#r3k').html(changeStrDel(kolicinaDVP));
        jQuery('#r3c').html(changeStrDel(ro(DVP).toFixed(5)));
        var r3z = kolicinaDVP*DVP;
        jQuery('#r3z').html(changeStrDel(ro(r3z).toFixed(5)));

        //SVR - 9 row
        jQuery('#r9k').html(1);
        if (jQuery('#chkTrajnik:checked').val() == 'on'){
            var svrVal = SVR_trajnik;
        }else{
            var svrVal = SVR;
        }
        jQuery('#r9c').html(changeStrDel(ro(svrVal).toFixed(5)));
        var r9z = svrVal;
        jQuery('#r9z').html(changeStrDel(ro(svrVal).toFixed(5)));
    }

    //trosarina
    var i = parseFloat(VT);
    var j = parseFloat(MT);
    var monthDDVal = jQuery('#months').val();
    var yearDDVal = jQuery('#years').val();

    var realTrosarina = trosarina;
    if (monthDDVal > 7 && yearDDVal > 2009 || yearDDVal > 2010){
        var realTrosarina = trosarinaNew;
    }
    jQuery('#r14k').html(changeStrDel(ro(i+j)));
    jQuery('#r14c').html(changeStrDel(ro(realTrosarina).toFixed(5)));
    var r14z = realTrosarina * (i+j);
    jQuery('#r14z').html(changeStrDel(ro(r14z).toFixed(5)));

    //64.r EZ - 4 row
    jQuery('#r4k').html(selPackage);
    jQuery('#r4c').html(changeStrDel(ro(prispEZ64).toFixed(5)));
    var r4z = prispEZ64*selPackage;
    jQuery('#r4z').html(changeStrDel(ro(r4z).toFixed(5)));

    //15.r EZ - 5 row
    jQuery('#r5k').html(selPackage);
    jQuery('#r5c').html(changeStrDel(ro(prispEZ15).toFixed(5)));
    var r5z = prispEZ15*selPackage;
    jQuery('#r5z').html(changeStrDel(ro(r5z).toFixed(5)));

    //67.r EZ - 6 row
    if (jQuery('#years').val() < 2010 || jQuery('#years').val() == 2010 && jQuery('#months').val() == 1){
        jQuery('#r55').hide();
    }else{
        jQuery('#r55k').html(changeStrDel(ro(i+j)));
        jQuery('#r55c').html(changeStrDel(ro(prispEZ67).toFixed(5)));
        var r55z = prispEZ67*(i+j);
        jQuery('#r55z').html(changeStrDel(ro(r55z).toFixed(5)));
        jQuery('#r55').show();
    }

    //skupaj paket - 8 row
    var r8z = r1z+r2z+r3z+r4z+r5z+r2mz+r6z+r6mz+r55z+r14z;
    jQuery('#r8z').html(changeStrDel(ro(r8z).toFixed(5)));
	
    //reenergija - 10 row
    if (jQuery('#chkReenergija:checked').val() == 'on'){
        jQuery('#reenergija').removeClass('hidden');
        var renVal = ren;
        var r10z = renVal;
        jQuery('#r10k').html(1);
    //jQuery('#r10c').html(changeStrDel(ro(r10z)));
    //jQuery('#r10z').html(changeStrDel(ro(r10z)));
    }else{
        jQuery('#reenergija').addClass('hidden');
        var r10z = 0;
    }

    //skupaj storitve - 11 row
    var r11z = r9z+r10z;
    jQuery('#r11z').html(changeStrDel(ro(r11z).toFixed(5)));

    //skupaj - 12 row
    var r12z = r11z+r8z;
    jQuery('#r12z').html(changeStrDel(ro(r12z).toFixed(5)));

    //skupaj DDV - 13 row
    var r13z = (r12z * DDV) + r12z;
    jQuery('#r13z').html(changeStrDel(ro(r13z).toFixed(5)));
}

jQuery(document).ready(function(){
    //prevent form submition
    jQuery('#submit').click(function(){
        if (jQuery('[name=chkTip]:checked').val() === 'ET'){
            if (checkIfValIsInt(jQuery('#ETETtxt').val())){
                izracunPorabeET(jQuery('#ETETtxt').val());
                jQuery('#results').removeClass('hidden');
            }
        }else if (jQuery('[name=chkTip]:checked').val() === 'EE'){
            if (checkIfValIsInt(jQuery('#EEVTtxt').val()) && checkIfValIsInt(jQuery('#EEMTtxt').val())){
                izracunPorabeMTinVT(jQuery('#EEVTtxt').val(),jQuery('#EEMTtxt').val());
                jQuery('#results').removeClass('hidden');
            }
        }
        return false;
    });

    //shows additional DD if package "porabim kar rabim" is selected
    jQuery('#package').change(function(){
        if (this.value == 'pkr' || this.value == 'vpkr' ){
            jQuery('#obrMoc').val(PKR_value);
            jQuery('.obrMoc').removeClass('hidden');
        }else{
            PKR_value = this.value;
            jQuery('.obrMoc').addClass('hidden');
        }
    });

    //shows diffrent input text fields, depending on the option selected
    jQuery('[name=chkTip]').click(function(){
        if (this.value == 'ET'){
            jQuery('.eeet').removeClass('hidden');
            jQuery('.eevt').addClass('hidden');
            jQuery('.eemt').addClass('hidden');
        }
        else{
            jQuery('.eeet').addClass('hidden');
            jQuery('.eevt').removeClass('hidden');
            jQuery('.eemt').removeClass('hidden');
        }
    });

    //changes months options from DD, becouse year 2009 starts from april
    jQuery('#years').change(function(){
        hideShowMonths();
    });
    
    jQuery(document).ready(function(){
        //sets dropdown value to current year and month
        jQuery('#years').val(currentYear);
        hideShowMonths();
        jQuery('#years').val(currentYear);
        jQuery('#months').val(currentMonth)
        hideReenergija();
    });

    //hides/shows checkbox for reenergija - depending on the selected date
    jQuery('#months,#years').change(function(){
        hideReenergija();
    });
});

function hideShowMonths(){
    var valYear = jQuery('#years').val();

    //removes all months
    jQuery('#months > option').remove();

    //fills dropdown with correct months
    jQuery.each(monthsArr,function(val,text){
        //2009 starts from april
        if (valYear == 2009 && val<4){
            return;
        }
        jQuery('#months').append(jQuery("<option></option>").val(val).html(text));
    });
}

function hideReenergija(){
    var year = jQuery('#years').val();
    var months = jQuery('#months').val();
    var checkBox = jQuery("#chkReenergija").get(0);

    if ((months > 1 && year == 2010) || year > 2010){
        jQuery(checkBox.parentNode).hide();
    }else{
        jQuery(checkBox.parentNode).show();
    }   
}
