- 001
- 002
- 003
- 004
- 005
- 006
- 007
- 008
- 009
- 010
- 011
- 012
- 013
- 014
- 015
- 016
- 017
- 018
- 019
- 020
- 021
- 022
- 023
- 024
- 025
- 026
- 027
- 028
- 029
- 030
- 031
- 032
- 033
- 034
- 035
- 036
- 037
- 038
- 039
- 040
- 041
- 042
- 043
- 044
- 045
- 046
- 047
- 048
- 049
- 050
- 051
- 052
- 053
- 054
- 055
- 056
- 057
- 058
- 059
- 060
- 061
- 062
- 063
- 064
- 065
- 066
- 067
- 068
- 069
- 070
- 071
- 072
- 073
- 074
- 075
- 076
- 077
- 078
- 079
- 080
- 081
- 082
- 083
- 084
- 085
- 086
- 087
- 088
- 089
- 090
- 091
- 092
- 093
- 094
- 095
- 096
- 097
- 098
- 099
- 100
$(document).ready(function(){
	
	/** пропускаем небольшое вступление */
	
	function PriseArray2(Prise)//Объявляю массивы второй размерности
	{
		for (var ii = 0; ii < PriseCityPxP+1; ii++)//PriseCityPxP+1 ибо у меня у каждого города номер, нулевая линейка элементов не используется
		{
			Prise[ii] = new Array();//Иду по городам
			
		}		
	}
	
	var CityUslugsKol = 6;//Колво возможных конфигураций услуг внутри города (равно колву массивов в массиве City) 
	//Создаю массивы по услугам внутри городов. Вес-объём-максимальный габарит-стоимость услуги-стоимость выезда на 1 км. за черту города.
	var City1=[ [250, 1, 1, 400, 10], [500, 3, 2, 800, 10], [1000, 6, 3, 1200, 12], [2000, 8, 4, 1600, 15], [3000, 15, 5, 3500, 20], [3000, 15, 6, 6000, 22] ];
	var City2=[ [250, 1, 1, 400, 10], [500, 3, 2, 800, 10], [1000, 6, 3, 1200, 12], [2000, 8, 4, 1600, 15], [3000, 15, 5, 3500, 20], [3000, 15, 6, 6000, 22] ];
	var City3=[ [250, 1, 1, 400, 10], [500, 3, 2, 800, 10], [1000, 6, 3, 1200, 12], [2000, 8, 4, 1600, 15], [3000, 15, 5, 3500, 20], [3000, 15, 6, 6000, 22] ];
	var City4=[ [250, 1, 1, 400, 10], [500, 3, 2, 800, 10], [1000, 6, 3, 1200, 12], [2000, 8, 4, 1600, 15], [3000, 15, 5, 3500, 20], [3000, 15, 6, 6000, 22] ];
	var City5=[ [250, 1, 1, 400, 10], [500, 3, 2, 800, 10], [1000, 6, 3, 1200, 12], [2000, 8, 4, 1600, 15], [3000, 15, 5, 3500, 20], [3000, 15, 6, 6000, 22] ];
	var City6=[ [250, 1, 1, 400, 10], [500, 3, 2, 800, 10], [1000, 6, 3, 1200, 12], [2000, 8, 4, 1600, 15], [3000, 15, 5, 3500, 20], [3000, 15, 6, 6000, 22] ];
	var City7=[ [250, 1, 1, 400, 10], [500, 3, 2, 800, 10], [1000, 6, 3, 1200, 12], [2000, 8, 4, 1600, 15], [3000, 15, 5, 3500, 20], [3000, 15, 6, 6000, 22] ];
		
	//Ввожу цены
	Prise1[2][0]=8.40;
	Prise1[2][1]=8.10;//501 - 1000
	Prise1[2][2]=7.80;//1001-1500
	Prise1[2][3]=7.50;//1501-2000
	Prise1[2][4]=7.20;//2001-3000	
	/** и т.д. Ввод цен тянется до 320-й строки - мы это пропустим, впереди еще много интересного */	
	
function alertError()
{	
	alert ('Пожалуйста, проверьте правильность ввода данных.');	
	exit;
}
//Кнопка расчёта
//Обрабатываем введённые пользователем числа
var valueNumerikArray = new Array(9); //массив введённых пользователем чисел плюс доп. элементы для хранения обработанных
var praiсNumerikArray = new Array(9); //массив округлённых в большую сторону чисел (для определения цены) 
var valueNumerikArrayUser = 6//Кол-во цифр введённых пользователем
$('#button_calc').click(function () 
{
	/** пропускаем скучное вступление в этой функции */
	
	//Определяем номер прайса и наборы цен доп. услуг
	tekSel1 = $('#where').val();//город куда	 
	tekSel2 = $('#from').val();//город откуда 
	NumerikPrise(tekSel1, tekSel2);	
	if (NomerWhere==NomerFrom || NomerWhere==0 || NomerFrom==0)
	{
			alert ('Пожалуйста, проверьте правильность ввода городов.');				
			exit;		
	}
	else
	{		
		/** опять пропускаем лирическое вступление */
	
		var jj;//Это номер столбика (от нуля) элемента массива (ставим в зависимость от массы перевозки)
		if (valueNumerikArray[0]<=500)
		{
			jj=0;
		}
		if (valueNumerikArray[0]>500 && valueNumerikArray[0]<=1000)
		{
			jj=1;
		}
		if (valueNumerikArray[0]>1000 && valueNumerikArray[0]<=1500)
		{
			jj=2;
		}
		if (valueNumerikArray[0]>1500 && valueNumerikArray[0]<=2000)
		{
			jj=3;
		}
		if (valueNumerikArray[0]>2000 && valueNumerikArray[0]<=3000)
		{
			jj=4;
		}
		if (valueNumerikArray[0]>3000)
		{
			jj=5;
		}
		
		switch(NomerWhere) //Номер прайса
		{
			case 1:	//в Барнаул
			{
				tekPrise=Prise1;
				rezCena=Math.round(Prise1[NomerFrom][jj]*valueNumerikArray[0] * 100) / 100;
				сena[0]=rezCena;
				сena[0] = String(сena[0])+" руб.";				
				$('#cena0citys').text(сena[0]);	 
				break;
			}
			case 2:	//в Екатеринбург
			{
				tekPrise=Prise2;
                                     
        
            Бродя по просторам рунета, наткнулся на данный "шедевр". Полный код данного "калькулятора" занимает 1297 строк, посему привожу лишь самое интересное. Оригинальные комментарии сохранены. Свои отметил /** такими вот штучками */