﻿$(document).ready(function() {
	$('.fancy').fancybox();
	//popup описание тех.характеристик
	$('.prod-params li').hover (function() {
		var i = $(this).index()+0.5;
		$('.popup-params').text($(this).attr('title'));
		var lP = i*62+10-$('.popup-params').width()/2;
		//alert(s);
		$('.popup-params').css({left: lP+'px',display: 'block'})
	}, function() {
		$('.popup-params').css('display','none');
	});
	
	//Калькуляторы
	if ($('.calc-wrap').length) {
		$('#prod_ones input').keyup( function() {
			calc_ones_prod();
		});
		$('#equp_perform').change( function() {
			$('#equp_perform_cost').val($(this).val());
			calc_ones_prod();
		});
		
		$('#office_ones input').keyup( function() {
			calc_ones_office();
		});
		
		$('#prod_monthly input').keyup( function() {
			if ($(this).hasClass('workers')) {
				
				calc_monthly_prod();
			}
			else {
				calc_monthly_prod();
			}
		});
		
		$('#office_monthly input').keyup( function() {
			calc_monthly_office();
		});
		
		$('#sales-volume, #sales-volume2').keyup( function() {
			prod_total();
		});
		
		$('#payback_calc input').keyup( function() {
			calc_payback();
		});
		
		calc_ones_prod();
		calc_ones_office();
		calc_monthly_prod();
		calc_monthly_office();
	}
});

function calc_ones_prod() {
	var t = 0;
	for (i=0;i<$('#prod_ones input').length;i++) {
		t += $('#prod_ones input:eq('+i+')').val().replace(/\D/g, '')-1+1;
	}
	$('#prod_ones .total').text(number_format(t, 0 ,'', ' '));
	prod_total();
	calc_payback();
}
function calc_ones_office() {
	var t = 0;
	for (i=0;i<$('#office_ones input').length;i++) {
		t += $('#office_ones input:eq('+i+')').val().replace(/\D/g, '')-1+1;
	}
	$('#office_ones .total').text(number_format(t, 0 ,'', ' '));
	prod_total();
	calc_payback();
}
function calc_monthly_prod() {
	var t = 0;
	for (i=2;i<$('#prod_monthly input').length;i++) {
		if (!$('#prod_monthly input:eq('+i+')').hasClass('workers') && !$('#prod_monthly input:eq('+i+')').hasClass('workers-field')) {
			t += $('#prod_monthly input:eq('+i+')').val().replace(/\D/g, '')-1+1;
		}
	}
	var rent = $('#prod_monthly input:eq(0)').val()*$('#prod_monthly input:eq(1)').val();
	var workers = $('#prod_monthly .workers').val()*$('#prod_monthly .workers-field').val();
	$('#prod_monthly .total').text(number_format(t+rent+workers, 0 ,'', ' '));
	var office = $('#office_monthly .total').text().replace(/\D/g, '')-1+1;
	$('#total-monthly').text(number_format(t+rent+workers+office, 0 ,'', ' '));
	calc_payback();
}
function calc_monthly_office() {
	var t = 0;
	for (i=2;i<$('#office_monthly input').length;i++) {
		t += $('#office_monthly input:eq('+i+')').val().replace(/\D/g, '')-1+1;
	}
	var rent = $('#office_monthly input:eq(0)').val()*$('#office_monthly input:eq(1)').val();
	$('#office_monthly .total').text(number_format(t+rent, 0 ,'', ' '));
	var prod = $('#prod_monthly .total').text().replace(/\D/g, '')-1+1;
	$('#total-monthly').text(number_format(t+rent+prod, 0 ,'', ' '));
	calc_payback();
}

function prod_total() {
	var real = ($('#real-cost').val().replace(/\D/g, '')-1+1) + ($('#real-cost-install').val().replace(/\D/g, '')-1+1);
	var c = $('.left-total-block #sales-volume').val().replace(/\D/g, '')*real;
	$('.left-total-block #cycle-money').text(number_format(c, 0 ,'', ' '));
	var t = ($('#prod_ones .total').text().replace(/\D/g, '')-1)+($('#office_ones .total').text().replace(/\D/g, '')-1)+c+2;
	$('#total-ones').text(number_format(t, 0 ,'', ' '));
	
	var real2 = ($('#real-cost2').val().replace(/\D/g, '')-1+1) + ($('#real-cost-install2').val().replace(/\D/g, '')-1+1);
	var c2 = $('.left-total-block #sales-volume2').val().replace(/\D/g, '')*real2;
	$('.left-total-block #cycle-money2').text(number_format(c2, 0 ,'', ' '));
	var t2 = ($('#prod_ones .total').text().replace(/\D/g, '')-1)+($('#office_ones .total').text().replace(/\D/g, '')-1)+c2+2;
	$('#total-ones2').text(number_format(t2, 0 ,'', ' '));
	
	calc_payback();
}

function calc_payback() {
	var qty = $('#sales-volume').val().replace(/\D/g, '');
	$('#sales-volume-calc').text(qty);
	var sale = ($('#sale-cost').val().replace(/\D/g, '')-1+1) + ($('#sale-cost-install').val().replace(/\D/g, '')-1+1);
	var real = ($('#real-cost').val().replace(/\D/g, '')-1+1) + ($('#real-cost-install').val().replace(/\D/g, '')-1+1);
	var income_val = sale - real;
	$('#income-val').text(number_format(income_val, 0 ,'', ' '));
	$('#incomes-monthly').text(number_format(sale*qty, 0 ,'', ' '));
	$('#incomes-val-monthly').text(number_format(income_val*qty, 0 ,'', ' '));
	var mon = $('#total-monthly').text().replace(/\D/g, '')-1+1;
	var ones = $('#total-ones').text().replace(/\D/g, '')-1+1;
	var clean = (income_val*qty)-mon;
	$('#incomes-clean').text(number_format(clean, 0 ,'', ' '));
	var min_q = Math.ceil(mon/income_val);
	$('#break-even-money').text(number_format(min_q*sale, 0 ,'', ' '));
	$('#break-even-qty').text(min_q);
	var payback = (ones/clean).toFixed(1);
	if (payback<0) {
		$('#payback-period').html('&mdash;');
	}
	else {
		$('#payback-period').text(payback);
	}
	
	
	//---------------2------------------//
	var qty2 = $('#sales-volume2').val().replace(/\D/g, '');
	$('#sales-volume-calc2').text(qty2);
	var sale2 = ($('#sale-cost2').val().replace(/\D/g, '')-1+1) + ($('#sale-cost-install2').val().replace(/\D/g, '')-1+1);
	var real2 = ($('#real-cost2').val().replace(/\D/g, '')-1+1) + ($('#real-cost-install2').val().replace(/\D/g, '')-1+1);
	var income_val2 = sale2 - real2;
	$('#income-val2').text(number_format(income_val2, 0 ,'', ' '));
	$('#incomes-monthly2').text(number_format(sale*qty2, 0 ,'', ' '));
	$('#incomes-val-monthly2').text(number_format(income_val*qty2, 0 ,'', ' '));
	var ones2 = $('#total-ones2').text().replace(/\D/g, '')-1+1;
	var clean2 = (income_val2*qty2)-mon;
	$('#incomes-clean2').text(number_format(clean2, 0 ,'', ' '));
	var min_q2 = Math.ceil(mon/income_val2);
	$('#break-even-money2').text(number_format(min_q2*sale2, 0 ,'', ' '));
	$('#break-even-qty2').text(min_q2);
	var payback2 = (ones2/clean2).toFixed(1);
	if (payback2<0) {
		$('#payback-period2').html('&mdash;');
	}
	else {
		$('#payback-period2').text(payback2);
	}
}


function number_format( number, decimals, dec_point, thousands_sep ) {  // Format a number with grouped thousands
    //
    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +     bugfix by: Michael White (http://crestidg.com)
 
    var i, j, kw, kd, km;
 
    // input sanitation & defaults
    if( isNaN(decimals = Math.abs(decimals)) ){
        decimals = 2;
    }
    if( dec_point == undefined ){
        dec_point = ",";
    }
    if( thousands_sep == undefined ){
        thousands_sep = ".";
    }
 
    i = parseInt(number = (+number || 0).toFixed(decimals)) + "";
 
    if( (j = i.length) > 3 ){
        j = j % 3;
    } else{
        j = 0;
    }
 
    km = (j ? i.substr(0, j) + thousands_sep : "");
    kw = i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + thousands_sep);
    //kd = (decimals ? dec_point + Math.abs(number - i).toFixed(decimals).slice(2) : "");
    kd = (decimals ? dec_point + Math.abs(number - i).toFixed(decimals).replace(/-/, 0).slice(2) : "");
 
 
    return km + kw + kd;
}
