function checkFields(element) {
	if (element.value == 'легковой автомобиль' ||
		element.value == 'грузовой автомобиль') {
		document.getElementById('carInfo').style.display = '';
		document.getElementById('otherInfo').style.display = 'none';
	}
	else {
		document.getElementById('carInfo').style.display = 'none';
		document.getElementById('otherInfo').style.display = '';
	}
}

function loadMap (coordX, coordY) {
	if (document.getElementById("googleMap")) {
		
		if (GBrowserIsCompatible()) {
			var baseIcon = new GIcon(G_DEFAULT_ICON);
			var map = new GMap2(document.getElementById("googleMap"));
			map.setCenter(new GLatLng(coordX,coordY), 15);
			map.setUIToDefault();
			baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
			baseIcon.iconSize = new GSize(20, 34);
			baseIcon.shadowSize = new GSize(37, 34);
			baseIcon.iconAnchor = new GPoint(9, 34);
			baseIcon.infoWindowAnchor = new GPoint(9, 2);
			function createMarker(point) {
			  var letteredIcon = new GIcon(baseIcon);
			  letteredIcon.image = "http://www.google.com/mapfiles/marker.png";

			  markerOptions = {icon:letteredIcon};
			  var marker = new GMarker(point, markerOptions);
			  return marker;
			}
			var latlng = new GLatLng(coordX,coordY);
			map.addOverlay(createMarker(latlng));
		}
	}
}



Cufon.replace('h1', {fontFamily: 'HeliosCond', hover: true});
Cufon.replace('h2', {fontFamily: 'HeliosCond', hover: true});
Cufon.replace('h3', {fontFamily: 'HeliosCond', hover: true});

$('.cufon').each (function () {
	Cufon.replace( this, {fontFamily: 'HeliosCond', hover: true} );
});

var lastId = '';
var lastTd = null;

function formatValue (value) {
	value += '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(value)) {
		value = value.replace (rgx, '$1'+' '+'$2');
	}
	return value;
}

function calculate () {
	var prepayment = parseInt($('#calc-prepayment').val());
	var length = parseInt($('#calc-length').val())*12;
	var price = parseInt($('#calc-price').val());
	var priceLeft = price * (100 - prepayment)/100;
	var percent = 22/(100*12);
	var total = priceLeft * ( percent / ( 1 - Math.pow(1 + percent, - length)));
	var NDS = (price*18/118 - (price-priceLeft)*18/118)/length;
	if (isNaN(total)) return 0;
	return (total-NDS)*1.18;
}

function setCalculateResult () {
	var calcResult = calculate();
	$('#total').html(formatValue(Math.round(calcResult)) + ' руб.');
	if ($('#calculate-results').length > 0) {
		var calculateResults = '';
		var prepayment = parseInt($('#calc-prepayment').val());
		var length = parseInt($('#calc-length').val())*12;
		var price = parseInt($('#calc-price').val());
		var priceLeft = price * (100 - prepayment)/100;
		var className = '';
		for (i=1; i<=length; i++) {
			if (i % 2 == 0) {
				className = ' class="odd"';
			}
			else {
				className = '';
			}
			calculateResults += '<tr' + className + '><td>' + i + '</td><td>' + formatValue(Math.round(calcResult)) + '</td><td>' + formatValue(Math.round(calcResult*(length - i)))  + '</td></tr>';
		}
		if (calculateResults == '') {
			$('#calculate-results').html('');
		}
		else {
			$('#calculate-results').html('<table class="calculate-results"><tr><th>Номер платежа</th><th>Сумма платежа</th><th>Остаток</th></tr>' + calculateResults + '</table>')
			$('#calc-print').attr('href', '/calculator_print/?price='+$('#calc-price').val()+'&prepayment='+$('#calc-prepayment').val()+'&length='+$('#calc-length').val());
		}
	}
}

function CustomSlider ( element, inputElement, min, max, step, defaultValue ) {
	var customSlider = this;
	var tmr = 0;

	this.inputElement = inputElement;
	this.element = element;
	$('.low', element).html(min);
	$('.high', element).html(max);
	this.slider = $('div.slider', element).slider(
		{
			'min': min,
			'max': max,
			'step': step,
			'value': (!inputElement.val())?defaultValue:inputElement.val(),
			'slide': function ( event, ui ) {
				$(customSlider.inputElement).val(ui.value);
				setCalculateResult();
			}
		}
	);

	var tr1 = '<tr>';
	var tr2 = '<tr>';
	var tdCount = (max-min)/step;
	for (i = 0; i<tdCount; i++) {
		if (i % 2 == 0) {
			tr1 += '<td colspan="2">&nbsp;</td>';
		}
		tr2 += '<td style="width: ' + Math.floor(100/tdCount) + '%">&nbsp;</td>';
	}
	tr1 += '</tr>';
	tr2 += '</tr>';
	var table = '<table class="slider-bg">'+(tdCount>10?tr1:'')+tr2+'</table>';

	$('div.slider', element).before(table);
	
	$(inputElement).bind ('keyup',
		function() {
			clearTimeout(tmr);
			var _this = this;
			var val = parseInt($(_this).val());
			if (val > max || val < min || $(_this).val() == '') {
				tmr = setTimeout(
					function () {
						var val = parseInt($(_this).val());
						if (val > max) {
							$(_this).val( max );
							val = max;
						}
						if (val < min || isNaN(val)) {
							$(_this).val( min );
							val = min;
						}
						$('div.slider', element).slider('value', val);
						setCalculateResult();
					}
					, 1000
				);
			}
			else {
				$('div.slider', element).slider('value', val);
				setCalculateResult();
			}
		}
	);

}

$(document).ready (function () {
	
	$('.main-menu li:eq(0)').addClass('first');
	
	$('ul.index-images li').hide();
	var obj = $('ul.index-images li:eq(0)');
	obj.show();
	lastId = obj.attr('id');
	$('ul.index-images li.overlay').show();
	$('table.index-texts a.overlink').each (function () {
		$(this).hover (function () {
			var hash = this.hash;
			hash = hash.replace('#','');
			if ( lastId != hash ) {
				$('#' + lastId).fadeOut(700);
				$('#' + hash).fadeIn(700);

				$('h4.shown', lastTd).show();
				$('h4.hidden', lastTd).hide();
				lastTd = $(this).parents('td:eq(0)');
				$('h4.shown', lastTd).hide();
				$('h4.hidden', lastTd).show();
				lastId = hash;
			}
		});
	});

	$('label.movable').movableLabel();

	new CustomSlider($('#calc-prepayment-slider'), $('#calc-prepayment'), 10, 100, 5, 20);
	new CustomSlider($('#calc-length-slider'), $('#calc-length'), 1, 5, 1, 1);
	$('#calc-price').keyup(function() {
		setCalculateResult();
	});
	setCalculateResult();
	loadMap(59.985454,30.307181);


});
