$(document).ready(function(){

	$.get('./get_numbers.php');

	$('.b-calc-close').click(function(){
		$('.b-cals-flags:hidden').show();
		$('.b-calc').removeClass('b-calc-results-open');
		return false;
	});
	
	$('.b-navigation li').hover(function(){
		if ($(this).hasClass('nav-no-sep')) {
			$(this).addClass('give-sep-back');
		}	
		if ($(this).next().hasClass('nav-no-sep')) {
			$(this).next().addClass('give-sep-back');
		}
		$(this).addClass('nav-no-sep');
		$(this).next().addClass('nav-no-sep');
	},function(){
		if (!$(this).hasClass('give-sep-back')) {
			$(this).removeClass('nav-no-sep');
		} else {
			$(this).removeClass('give-sep-back');
		}
		if (!$(this).next().hasClass('give-sep-back')) {
			$(this).next().removeClass('nav-no-sep');
		} else {
			$(this).next().removeClass('give-sep-back');		
		}
	});
	
	$('.button').click(function(){
		
		if (window.crossRate == 0) {
			return false;
		}
		
		$('.car-info strong:eq(0)').html($('#month').getOption() + ' ' + $('#year').val()).css('text-transform','capitalize');
		$('.car-info strong:eq(1) span').html(addSpaces($('#engine').getVal()));
		$('.car-info strong:eq(2) span:eq(0)').html(addSpaces($('#price').getVal()));
		$('.car-info strong:eq(2) span:eq(1)').html($('#currency').getOption());
		
		years = getDiffYears();
		price = getEurPrice();
		engine = $('#engine').getVal();
		
		if (years < 3) {
			if (engine <= 1000) {
				taxA = 0.3 * price;
				taxB = 1.2 * engine;
			} else if (engine <= 1500) {
				taxA = 0.3 * price;
				taxB = 1.45 * engine;
			} else if (engine <= 1800) {
				taxA = 0.3 * price;
				taxB = 1.5 * engine;
			} else if (engine <= 2300) {
				taxA = 0.3 * price;
				taxB = 2.15 * engine;
			} else if (engine <= 3000) {
				taxA = 0.3 * price;
				taxB = 2.15 * engine;
			} else {
				taxA = 0.3 * price;
				taxB = 2.8 * engine;
			}
			if (taxB > taxA) {
				taxCommercial = taxB;	
			} else {
				taxCommercial = taxA;
			}			
		} else if (years < 5) {
			if (engine <= 1000) {
				taxA = 0.35 * price;
				taxB = 1.2 * engine;
			} else if (engine <= 1500) {
				taxA = 0.35 * price;
				taxB = 1.45 * engine;
			} else if (engine <= 1800) {
				taxA = 0.35 * price;
				taxB = 1.5 * engine;
			} else if (engine <= 2300) {
				taxA = 0.35 * price;
				taxB = 2.15 * engine;
			} else if (engine <= 3000) {
				taxA = 0.35 * price;
				taxB = 2.15 * engine;
			} else {
				taxA = 0.35 * price;
				taxB = 2.8 * engine;
			}		
			if (taxB > taxA) {
				taxCommercial = taxB;	
			} else {
				taxCommercial = taxA;
			}
		} else {
			if (engine <= 1000) {
				taxCommercial = 2.5 * engine;
			} else if (engine <= 1500) {
				taxCommercial = 2.7 * engine;
			} else if (engine <= 1800) {
				taxCommercial = 2.9 * engine;
			} else if (engine <= 2300) {
				taxCommercial = 4 * engine;
			} else if (engine <= 3000) {
				taxCommercial = 4 * engine;
			} else {
				taxCommercial = 5.8 * engine;
			}
		}
		
		taxCommercialRu = taxCommercial + price * 0.18;
		
		if (years < 3) {
			if (price <= 8500) {
				taxA = 0.54 * price;
				taxB = 2.5 * engine;
			} else if (engine <= 16700) {
				taxA = 0.48 * price;
				taxB = 3.5 * engine;
			} else if (engine <= 42300) {
				taxA = 0.48 * price;
				taxB = 5.5 * engine;
			} else if (engine <= 84500) {
				taxA = 0.48 * price;
				taxB = 7.5 * engine;
			} else if (engine <= 169000) {
				taxA = 0.48 * price;
				taxB = 15 * engine;
			} else {
				taxA = 0.48 * price;
				taxB = 20 * engine;
			}
			if (taxB > taxA) {
				taxIndividual = taxB;	
			} else {
				taxIndividual = taxA;
			}			
		} else if (years < 5) {
			if (engine <= 1000) {
				taxIndividual = 1.5 * engine;
			} else if (engine <= 1500) {
				taxIndividual = 1.7 * engine;
			} else if (engine <= 1800) {
				taxIndividual = 2.5 * engine;
			} else if (engine <= 2300) {
				taxIndividual = 2.7 * engine;
			} else if (engine <= 3000) {
				taxIndividual = 3 * engine;
			} else {
				taxIndividual = 3.6 * engine;
			}		
		} else {
			if (engine <= 1000) {
				taxIndividual = 3 * engine;
			} else if (engine <= 1500) {
				taxIndividual = 3.2 * engine;
			} else if (engine <= 1800) {
				taxIndividual = 3.5 * engine;
			} else if (engine <= 2300) {
				taxIndividual = 4.8 * engine;
			} else if (engine <= 3000) {
				taxIndividual = 5 * engine;
			} else {
				taxIndividual = 5.7 * engine;
			}		
		}
/*
		if ($('#currency').val() == 'usd') {
			taxIndividual *= window.crossRate;
			taxCommercial *= window.crossRate;
		}
*/
	
		$('.b-calc-results-content .price:eq(0)').html(addSpaces(taxIndividual) + ' €');
		$('.b-calc-results-content .price:eq(2)').html(addSpaces(taxIndividual * (1 / (1 + window.marketBonus))) + ' €');
		$('.b-calc-results-content .price:eq(1)').html(addSpaces(taxCommercialRu) + ' €');
		$('.b-calc-results-content .big-price strong').html(addSpaces(taxCommercial * (1 / (1 + window.marketBonus))) + ' €');

		$('.b-cals-flags:visible').hide();
		$('.b-calc').addClass('b-calc-results-open');
		return false;
	});
	
	$('#price,#engine').change(function(){
		$(this).correctVal();
	});
	
	if ($('.b-example-tbl').length) {
		$('.b-example-tbl:eq(1) tr:gt(1)').each(function(){
			year = 1000 * 60 * 60 * 24 * 365;
	
			prts = $(this).find('p strong:eq(0)').attr('longdesc').split('-');
			y = prts[1];
			m = prts[0];
	
			carDate = new Date();
			carDate.setMonth(m);
			carDate.setFullYear(y);
			currentDate = new Date();
	
			years = Math.floor((currentDate.getTime() - carDate.getTime()) / year);

			p = $(this).find('p strong:eq(2)').html();
			if (p.indexOf('$') > -1) {
				price = Math.round(parseInt(p.replace(' ','').replace('$')) / window.crossRate);
			} else {
				price = parseInt(p.replace(' ','').replace('€'));
			}
			
			engine = parseInt($(this).find('p strong:eq(1)').html().replace(' ','').replace('см³',''));
			
			if (years < 3) {
				if (engine <= 1000) {
					taxA = 0.3 * price;
					taxB = 1.2 * engine;
				} else if (engine <= 1500) {
					taxA = 0.3 * price;
					taxB = 1.45 * engine;
				} else if (engine <= 1800) {
					taxA = 0.3 * price;
					taxB = 1.5 * engine;
				} else if (engine <= 2300) {
					taxA = 0.3 * price;
					taxB = 2.15 * engine;
				} else if (engine <= 3000) {
					taxA = 0.3 * price;
					taxB = 2.15 * engine;
				} else {
					taxA = 0.3 * price;
					taxB = 2.8 * engine;
				}
				if (taxB > taxA) {
					taxCommercial = taxB;	
				} else {
					taxCommercial = taxA;
				}			
			} else if (years < 5) {
				if (engine <= 1000) {
					taxA = 0.35 * price;
					taxB = 1.2 * engine;
				} else if (engine <= 1500) {
					taxA = 0.35 * price;
					taxB = 1.45 * engine;
				} else if (engine <= 1800) {
					taxA = 0.35 * price;
					taxB = 1.5 * engine;
				} else if (engine <= 2300) {
					taxA = 0.35 * price;
					taxB = 2.15 * engine;
				} else if (engine <= 3000) {
					taxA = 0.35 * price;
					taxB = 2.15 * engine;
				} else {
					taxA = 0.35 * price;
					taxB = 2.8 * engine;
				}		
				if (taxB > taxA) {
					taxCommercial = taxB;	
				} else {
					taxCommercial = taxA;
				}
			} else {
				if (engine <= 1000) {
					taxCommercial = 2.5 * engine;
				} else if (engine <= 1500) {
					taxCommercial = 2.7 * engine;
				} else if (engine <= 1800) {
					taxCommercial = 2.9 * engine;
				} else if (engine <= 2300) {
					taxCommercial = 4 * engine;
				} else if (engine <= 3000) {
					taxCommercial = 4 * engine;
				} else {
					taxCommercial = 5.8 * engine;
				}
			}
			
			taxCommercialRu = taxCommercial + price * 0.18;
			
			if (years < 3) {
				if (price <= 8500) {
					taxA = 0.54 * price;
					taxB = 2.5 * engine;
				} else if (engine <= 16700) {
					taxA = 0.48 * price;
					taxB = 3.5 * engine;
				} else if (engine <= 42300) {
					taxA = 0.48 * price;
					taxB = 5.5 * engine;
				} else if (engine <= 84500) {
					taxA = 0.48 * price;
					taxB = 7.5 * engine;
				} else if (engine <= 169000) {
					taxA = 0.48 * price;
					taxB = 15 * engine;
				} else {
					taxA = 0.48 * price;
					taxB = 20 * engine;
				}
				if (taxB > taxA) {
					taxIndividual = taxB;	
				} else {
					taxIndividual = taxA;
				}			
			} else if (years < 5) {
				if (engine <= 1000) {
					taxIndividual = 1.5 * engine;
				} else if (engine <= 1500) {
					taxIndividual = 1.7 * engine;
				} else if (engine <= 1800) {
					taxIndividual = 2.5 * engine;
				} else if (engine <= 2300) {
					taxIndividual = 2.7 * engine;
				} else if (engine <= 3000) {
					taxIndividual = 3 * engine;
				} else {
					taxIndividual = 3.6 * engine;
				}		
			} else {
				if (engine <= 1000) {
					taxIndividual = 3 * engine;
				} else if (engine <= 1500) {
					taxIndividual = 3.2 * engine;
				} else if (engine <= 1800) {
					taxIndividual = 3.5 * engine;
				} else if (engine <= 2300) {
					taxIndividual = 4.8 * engine;
				} else if (engine <= 3000) {
					taxIndividual = 5 * engine;
				} else {
					taxIndividual = 5.7 * engine;
				}		
			}
			
			$(this).find('.price:eq(0)').html(addSpaces(taxIndividual) + ' €');
			$(this).find('.price:eq(2)').html(addSpaces(taxIndividual * (1 / (1 + window.marketBonus))) + ' €');
			$(this).find('.price:eq(1)').html(addSpaces(taxCommercialRu) + ' €');
			$(this).find('.big-price strong').html(addSpaces(taxCommercial * (1 / (1 + window.marketBonus))) + ' €');
			
		});
	}
	
});

$.fn.correctVal = function(){

	i = $(this).getVal();
	if (isNaN(i)) {
		i = 0;
	}
	$(this).val(addSpaces(i));

}

$.fn.getVal = function(){
	
	return parseInt($(this).val().replace(' ',''));
	 
}

$.fn.getOption = function(){
	
	return $.trim($(this).find('option[value="' + $(this).val() + '"]').text());
	 
}

function addSpaces(num) {

	num = Math.round(num);
	num += '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(num)) {
		num = num.replace(rgx, '$1' + ' ' + '$2');
	}
	return num;
	
}

function getDiffYears() {

	year = 1000 * 60 * 60 * 24 * 365;
	
	carDate = new Date();
	carDate.setMonth($('#month').val());
	carDate.setFullYear($('#year').val());
	currentDate = new Date();
	
	return Math.floor((currentDate.getTime() - carDate.getTime()) / year);
	
}

function getEurPrice() {

	p = $('#price').getVal();
	if ($('#currency').val() == 'usd') {
		return Math.round(p / window.crossRate);
	} else {
		return p;
	}

}
