$(function() {
	//Баннеры на главной
bannerFlag = $("#banner-slider");
if(bannerFlag.length > 0){
	$(window).load(function(){
		$('#banner-slider-body').nivoSlider({
    		directionNav:false, 
			effect:'fade'
		});
	});
}
	
	//Контакты в шапке
	//$("#header-contacts-tabs").tabs();
	
	//JS меню
	$("#additional-menu-tabs").tabs();

		tabToShow = 0;
		flag = $(".selectedTop");
		if(flag.length > 0){
			tabToShow = +flag.attr('id');
			
			$("#additional-menu-tabs").tabs('select' , tabToShow);
		}


/*---------------------------------------------------*/		
//Форма калькулятора
/*---------------------------------------------------*/	

//Вспомогательные функции
function addNbsp(arg){
	var formattedVal = arg;
	formattedVal = formattedVal.toString();
	formattedVal = formattedVal.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');
	//alert(formattedVal.length);
	return formattedVal;
}
function removeNbsp(arg){
	formattedVal = arg.replace(/\s+/, '');
	formattedVal = formattedVal.replace(/\s+/, '');
	formattedVal = formattedVal.replace(/\s+/, '');
	formattedVal = formattedVal.replace(/\s+/, '');
	formattedVal = formattedVal.replace(/\s+/, '');
	return formattedVal;
}
function addValText(valCode){
	valTxt = '';
	
	switch (valCode){
		case 0: 
			valTxt = ' RUB';
			break;
		case 1: 
			valTxt = ' USD';
			break;
		case 2: 
			valTxt = ' EUR';
			break;
	}
	
	return valTxt;
}
function addVal(numToShow, valCode){
	valTxt = addValText(valCode);
	str = addNbsp(numToShow) + valTxt;
	
	return str;
}
//Основная функция расчета
function calcSumm(srok, money, summ){
	$(".calcElem").each(function(e){
		typeOfCalc = $(this).val();
		
		raw = 'row2';
		for (var key in procData[typeOfCalc][money]) {
			var val = procData[typeOfCalc][money][key]['col1'];
			if(val != '' && val <= summ) raw = key;
		}
		col = 'col3';
		for (var key in procData[typeOfCalc][money]['row1']) {
			var val = procData[typeOfCalc][money]['row1'][key];
			if(val != '' && val <= srok) col = key;
		}
		
		currentProc = procData[typeOfCalc][money][raw][col];
		
		switch (typeOfCalc){
			case '5': 
				koef = currentProc / 100 / 365;
				currentSumm = summ * (1 + koef*21) * (1 + koef*31) * (1 + koef*31) * (1 + koef*28) * (1 + koef*31) * (1 + koef*30) * (1 + koef*31) * (1 + koef*30) * (1 + koef*31) * (1 + koef*31) * (1 + koef*30) * (1 + koef*31) * (1 + koef*4);
				currentSumm = Math.round(currentSumm);
				break;
			case '6': 
				koef = currentProc / 100 / 365;
				currentSumm = summ * (1 + koef*21) * (1 + koef*31) * (1 + koef*31) * (1 + koef*28) * (1 + koef*31) * (1 + koef*30) * (1 + koef*31) * (1 + koef*30) * (1 + koef*31) * (1 + koef*31) * (1 + koef*30) * (1 + koef*31) * (1 + koef*4);
				currentSumm = Math.round(currentSumm);
				break;	
			default: 
				currentSumm = Math.round(summ * (1 + (currentProc * srok / 100) / 365));
				break;
		}
		
		if(currentProc != '-1'){
			currentProc += ' %';
			currentSumm = addVal(currentSumm, money);
		}
		else
		{
			currentProc = 'устанавливается индивидуально';
			currentSumm = '';
		}
		
		$("#stavka_" + typeOfCalc).html(currentProc);
		$("#summ_" + typeOfCalc).html(currentSumm);
	});
}


minSrok = 91;
maxSrok = 730;
minSumm = new Array(5000, 1000, 1000);
maxSumm = new Array(30000000, 1000000, 1000000);
	initSrok = Math.round((maxSrok + minSrok) / 2);
	initVal = 0;
	//initSumm = Math.round((minSumm[initVal] + maxSumm[initVal]) / 2);
	initSumm = minSumm[initVal];
		
	$("#srok").slider({
			range: "min",
			value: initSrok,
			min: minSrok,
			max: maxSrok,
			step: 1,
			slide: function(event, ui) {
				initSrok = ui.value;
				//$("#srokVal").html(ui.value + ' дней');
				$("#srokVal input").val(initSrok);
				
				calcSumm(initSrok, initVal, initSumm)
			}
	});
		$("#srokVal input").val(initSrok);
	
	$("#srokVal input").change(function(){
		newSrok = $("#srokVal input").val()*1;
		if(!isNaN(newSrok) && newSrok >= minSrok && newSrok <= maxSrok){
			initSrok = newSrok;
			$("#srok").slider( 'option', 'value', initSrok);
			
			calcSumm(initSrok, initVal, initSumm)
		}
		else
		{
			$("#srokVal input").val(initSrok);
		}
	});
	
	$("#val").slider({
			value: initVal,
			min: 0,
			max: 2,
			step: 1,
			slide: function(event, ui) {
				initVal = ui.value;
				
				//$("#summVal").html(addVal(initSumm, initVal));
				$("#summVal input").val(addNbsp(initSumm));
				$("#summVal span").html(addValText(initVal));
								
				$(".summVal").find(".el_1").html(addNbsp(minSumm[initVal]));
				$(".summVal").find(".el_3").html(addNbsp(maxSumm[initVal]));
				
				//initSumm = Math.round((minSumm[initVal] + maxSumm[initVal]) / 2);
				initSumm = minSumm[initVal];
				
				$("#summ").slider( 'option', 'min', minSumm[initVal]);
				$("#summ").slider( 'option', 'max', maxSumm[initVal]);
				$("#summ").slider( 'option', 'value', initSumm);
				
				//$("#summVal").html(addVal(initSumm, initVal));
				$("#summVal input").val(addNbsp(initSumm));
				$("#summVal span").html(addValText(initVal));
				
				calcSumm(initSrok, initVal, initSumm)
			}
	});
	$("#summ").slider({
			range: "min",
			value: initSumm,
			min: minSumm[initVal],
			max: maxSumm[initVal],
			step: 500,
			slide: function(event, ui) {
				initSumm = ui.value;
				
				//$("#summVal").html(addVal(initSumm, initVal));
				$("#summVal input").val(addNbsp(initSumm));
				$("#summVal span").html(addValText(initVal));
				calcSumm(initSrok, initVal, initSumm)
			}
	});
		$("#summVal input").val(addNbsp(initSumm));
		$("#summVal span").html(addValText(initVal));
	
	$("#summVal input").change(function(){
		newSumm = removeNbsp($("#summVal input").val())*1;
		if(!isNaN(newSumm) && newSumm >= minSumm[initVal] && newSumm <= maxSumm[initVal]){
			initSumm = newSumm;
			$("#summ").slider( 'option', 'value', initSumm);
			
			$("#summVal input").val(addNbsp(initSumm));
			$("#summVal span").html(addValText(initVal));
			
			calcSumm(initSrok, initVal, initSumm)
		}
		else
		{
			$("#summVal input").val(addNbsp(initSumm));
			$("#summVal span").html(addValText(initVal));
		}
	});
	
	
$(".summVal").find(".el_1").html(addNbsp(minSumm[initVal]));
$(".summVal").find(".el_3").html(addNbsp(maxSumm[initVal]));

calcSumm(initSrok, initVal, initSumm);	
		
		
});

