﻿		  var pr1=new Array(); 
		  var pr2=new Array();
		  var pr3=new Array();
		  var pr4=new Array();
		  var pr5=new Array();

// Цены		  
		  // 1. Оборудование:		
		  pr1[1]=5900; // Контроллер СКД 6.1
		  pr1[2]=5900; // Контроллер СКД 6.2
		  pr1[3]=8700; // Контроллер СКД 6.4
		  pr1[4]=8100; // Видеоплата V6
		  pr1[5]=15400; // Видеоплата V12
		  pr1[6]=20400; // Видеоплата V8
		  pr1[7]=2500; // Считыватель Matrix2
		  pr1[8]=1500; // Преобразователь интерфейсов RS485<->RS232
		  pr1[9]=35; // Кнопка
		  pr1[10]=400; // Плата задержки замка
		  pr1[11]=2000; // Блок питания
		  pr1[12]=500; // Аккумулятор
		  pr1[13]=2500; // Замок
		  pr1[14]=1500; // Доводчик
		  pr1[15]=50; // Геркон
		  
		  // 2. Материалы:		
		  pr2[1]=8; // Кабель UTP (1м.)
		  pr2[2]=25; // Кабель ШВВП (1м.)
		  pr2[3]=5; // Кабель КСПВ (1м.)
		  pr2[4]=10; // Короб
		  pr2[5]=20; // Гофра
		  pr2[6]=70; // Распределительная коробка
		  
		  // 3. Программное обеспечение:		
		  pr3[1]=8000; // АРМ 8
		  pr3[2]=16000; // АРМ 16
		  pr3[3]=32000; // АРМ 32
		  pr3[4]=0; // АРМ 64
		  pr3[5]=0; // АРМ 128
		  pr3[6]=0; // АРМ 256
		  pr3[7]=20544; // Модуль "Бюро пропусков"
		  pr3[8]=2000; // Модуль "Видеоверификация"
		  pr3[9]=6400; // Модуль "Учет рабочего времени"
		  
		  // 4. Монтажные работы:		
		  pr4[1]=3540; // Подключение контроллера СКД 6.1
		  pr4[2]=3540; // Подключение контроллера СКД 6.2
		  pr4[3]=5220; // Подключение контроллера СКД 6.4
		  pr4[4]=1500; // Подключение считывателя
		  pr4[5]=1200; // Установка блока питания
		  pr4[6]=1500; // Установка замка
		  pr4[7]=900; // Установка доводчика
		  pr4[8]=21; // Подключение кнопки
		  pr4[9]=240; // Подключение платы задержки замка
		  pr4[10]=4.80; // Прокладка кабеля UTP (1м.)
		  pr4[11]=15; // Прокладка кабеля ШВВП (1м.)
		  pr4[12]=5; // Прокладка кабеля КСПВ (1м.)
		  
		  // 5. Работы по настройке ПО:		
		  pr5[1]=35; // Регистрация карты
		  

// Расчет сметы

  calculate = function(totalElement, totalNDS, totalError)
  { 
      if (totalElement)
      { 		   
	  
	  	  var pp=new Array(); 
		  var t1=new Array(); 
		  var t2=new Array(); 
		  var t3=new Array(); 
		  var t4=new Array();
		  var t5=new Array();
		  var total=new Array();
          var calculation  = '';
          var overall = '';
          var fields = new Array();

		  var ko7=0;
		  var k5=0;
		  var k6=0;
		  var k7=0;
		  var k8=0; 
		  var k9=0;
		  var error=0;
  
          var theElement = document.getElementById(totalElement);

          var theElementNDS = document.getElementById(totalNDS);

          var theElementError = document.getElementById(totalError);


// Значения полей формы ( + округление до целого, где требуется вести кол-во)

		  pp[1]=document.forms["calculator_skd"].price1.value*1;
		  pp[1]=Math.abs(Math.round(pp[1]));
		  pp[2]=document.forms["calculator_skd"].price2.value*1;
		  pp[2]=Math.abs(Math.round(pp[2]));
		  pp[3]=document.forms["calculator_skd"].price3.value*1;
		  pp[3]=Math.abs(Math.round(pp[3]));
		  pp[4]=document.forms["calculator_skd"].price4.value*1;
		  pp[4]=Math.abs(Math.round(pp[4]));
		  pp[5]=document.forms["calculator_skd"].price5.value*1;
		  pp[6]=document.forms["calculator_skd"].price6.value*1;
		  pp[7]=document.forms["calculator_skd"].price7.value*1;
		  pp[7]=Math.abs(Math.round(pp[7]));
		  pp[8]=document.forms["calculator_skd"].price8.value*1;
		  pp[9]=document.forms["calculator_skd"].price9.value*1;
		  pp[10]=document.forms["calculator_skd"].price10.value*1;
		  pp[10]=Math.abs(Math.round(pp[10]));
		  pp[11]=document.forms["calculator_skd"].price11.value*1;
		  pp[11]=Math.abs(Math.round(pp[11]));
		  pp[12]=document.forms["calculator_skd"].price12.value*1;
		  pp[12]=Math.abs(Math.round(pp[12]));
		  pp[13]=document.forms["calculator_skd"].price13.value*1;
		  pp[13]=Math.abs(Math.round(pp[13]));
		  pp[14]=document.forms["calculator_skd"].price14.value*1;
		  pp[14]=Math.abs(Math.round(pp[14]));

// Коэф. на работы и оборудование

if (pp[5]==1) {k5=1};
if (pp[5]==2) {k5=1.3};
if (pp[5]==3) {k5=1.8};

if (pp[6]==1) {k6=1};
if (pp[6]==2) {k6=1.4};
if (pp[6]==3) {k6=1.8};

if (pp[8]==1 || pp[8]==0) {k8=1};
if (pp[8]==2) {k8=1.2};
if (pp[8]==3) {k8=1.3};

if (pp[9]==0 || pp[9]==1) {k9=2};
if (pp[9]==2) {k9=1};

// Расчетные формулы

   // Оборудование 
   		  
          t1[1]=pr1[1]*(pp[1]+pp[2]); //1.1
		  
		  t1[2]=pr1[2]*pp[3]; //1.2
		  
		  t1[3]=pr1[3]*0; //1.3
		  
		  t1[4]=pr1[4]*0; //1.4
		  
		  t1[5]=pr1[5]*0; //1.5
		  
		  t1[6]=pr1[6]*0; //1.6
		  
		  t1[7]=pr1[7]*(pp[1]+pp[2]*2+pp[3]*2); //1.7

		  if ((pp[1]+pp[2]+pp[3])>0 && (pp[10]+pp[11]+pp[12]+pp[13]+pp[14])>0) { //1.8
				  t1[8]=pr1[8]*Math.ceil((pp[1]+pp[2]+pp[3])/256); }
		  else {t1[8]=0}; 
		  
		  t1[9]=pr1[9]*pp[1]; //1.9
		  
		  t1[10]=pr1[10]*pp[1]; //1.10

		  if ((pp[1]+pp[2]-pp[7])>=0) { temp1=Math.ceil(((pp[1]+pp[2]-pp[7])*300)/2000); } else { temp1=0; erroe=1; }; //1.11
		  if ((pp[1]+pp[2]+pp[3])>0) { temp2=Math.ceil(((pp[1]+pp[2]+pp[3])*300+(pp[1]+2*pp[2]+2*pp[3])*30)/2000); } else { temp2=0; };
 
		  t1[11]=pr1[11]*(temp1+temp2);			 
 
		  if ((pp[1]+pp[2]-pp[7])>=0) {temp1=Math.ceil((pp[1]+pp[2]-pp[7])*300/2000);} else { temp1=0; error=1; }; //1.12
		  if ((pp[1]+pp[2]+pp[3])>0) {temp2=Math.ceil(((pp[1]+pp[2]+pp[3])*300+(pp[1]+2*pp[2]+2*pp[3])*30)/2000);} else { temp2=0; };
		  
		  t1[12]=pr1[12]*(temp1+temp2);	  
		  
		  t1[13]=2*pr1[13]*pp[7]; //1.13
		  
		  t1[14]=2*pr1[14]*pp[7]; //1.14
		  
		  if ((pp[1]+pp[2]-pp[7])>=0) { //1.15
		  t1[15]=pr1[13]*(pp[1]+pp[2]-pp[7]); } else { error=1; t1[15]=0; }
				  
		  if ((pp[1]+pp[2]-pp[7])>=0) { //1.16
		  t1[16]=pr1[14]*(pp[1]+pp[2]-pp[7]); } else { error=1; t1[16]=0; }
		  
		  t1[17]=pr1[15]*pp[4]; //1.17
		  
		  
//		  alert("часть 1");
          total[1]=0;		  	  
          for (var i=1; i<=17; i++){
//		  alert (t1[i]);
          if  (t1[i]!=undefined) {total[1]=total[1]+t1[i];}
          };

   // Материалы
   
          t2[1]=pr2[1]*40*(pp[1]+pp[2]+pp[3])*k6; //2.1
		  
		  if ((pp[10]+pp[11]+pp[12]+pp[13]+pp[14])>0) {  //2.2
		  t2[2]=pr2[2]*40*(pp[1]+pp[2]+pp[3])*k6; }
		  else { t2[2]=0; };

		  t2[3]=pr2[3]*6*(pp[1]+pp[2]+pp[3]); //2.3
		  
		  if (pp[8]==0 || pp[8]==1) { t2[4]=pr2[4]*6*(pp[1]+pp[2]+pp[3]) } else { //2.4  
		  if (pp[8]==2) { t2[4]=pr2[4]*40*(pp[1]+pp[2]+pp[3])*k6 } else { t2[4]=0 };
		  };
		    
		  if (pp[8]==3) { t2[5]=pr2[5]*40*(pp[1]+pp[2]+pp[3])*k6 } else { t2[5]=0; }; //2.5
		  
		  t2[6]=pr2[6]*(pp[1]+pp[2]+pp[3]); //2.6
		  
		  
//		  alert("часть 2");	  
		  total[2]=0;		  	  
          for (var i=1; i<=6; i++){
//		  alert (t2[i]);
          if  (t2[i]!=undefined) {total[2]=total[2]+t2[i];}
          };
   
   // Программное обеспечение
   
          if ((pp[1]+pp[2]+pp[3])<=8) {t3[1]=pr3[1]*pp[10]} else {t3[1]=0}; //3.1
		  
		  if ((pp[1]+pp[2]+pp[3])>8 && (pp[1]+pp[2]+pp[3])<=16) {t3[2]=pr3[2]*pp[10]} else {t3[2]=0}; //3.2
		  
		  if ((pp[1]+pp[2]+pp[3])>16 && (pp[1]+pp[2]+pp[3])<=32) {t3[3]=pr3[3]*pp[10]} else {t3[3]=0}; //3.3
		  
		  if ((pp[1]+pp[2]+pp[3])>32 && (pp[1]+pp[2]+pp[3])<=64) {t3[4]=pr3[4]*pp[10]} else {t3[4]=0}; //3.4
		  
		  if ((pp[1]+pp[2]+pp[3])>64 && (pp[1]+pp[2]+pp[3])<=128) {t3[5]=pr3[5]*pp[10]} else {t3[5]=0}; //3.5
		  
		  if ((pp[1]+pp[2]+pp[3])>128) {t3[6]=pr3[6]*pp[10]} else {t3[6]=0}; //3.6
		  
		  t3[7]=pr3[7]*pp[11]; //3.7
		  
		  t3[8]=pr3[8]*pp[12]; //3.8
		  
		  t3[9]=pr3[9]*pp[13]; //3.9
		  
		  
//		  alert("часть 3");
		  total[3]=0;		  	  
          for (var i=1; i<=9; i++){
//		  alert (t3[i]);
          if  (t3[i]!=undefined) {total[3]=total[3]+t3[i];}

          };		  
		  

   // Монтажные работы
	
	     t4[1]=pr4[1]*k5*(pp[1]+pp[2]); //4.1
		 
		 t4[2]=pr4[2]*k5*pp[3]; //4.2
		 
		 t4[3]=pr4[3]*k5*0; //4.3
		 
		 t4[4]=pr4[4]*(pp[1]+pp[2]*2+pp[3]*2); //4.4
		 
		  if ((pp[1]+pp[2]-pp[7])>=0) { temp1=Math.ceil(((pp[1]+pp[2]-pp[7])*300)/2000); } else { temp1=0; error=1; }; //4.5
		  if ((pp[1]+pp[2]+pp[3])>0) { temp2=Math.ceil(((pp[1]+pp[2]+pp[3])*300+(pp[1]+2*pp[2]+2*pp[3])*30)/2000); } else { temp2=0; };
		  t4[5]=pr4[5]*(temp1+temp2);			
		 
		 if ((pp[1]+pp[2]-pp[7])>=0) { //4.6
		 t4[6]=1.8*pr4[6]*(pp[1]+pp[2]-pp[7]); } else { t4[6]=0; error=1; };
		 
		 if ((pp[1]+pp[2]-pp[7])>=0) { //4.7
		 t4[7]=1.8*pr4[7]*(pp[1]+pp[2]-pp[7]); } else { t4[7]=0; error=1; };
		 
		 if ((pp[1]+pp[2]-pp[7])>=0) { //4.8
		 t4[8]=pr4[6]*(pp[1]+pp[2]-pp[7]); } else { error=1; t4[8]=0; }
		 
		 if ((pp[1]+pp[2]-pp[7])>=0) { //4.9
		 t4[9]=pr4[7]*(pp[1]+pp[2]-pp[7]); } else { error=1; t4[9]=0; }
		 
		 t4[10]=pr4[8]*pp[1]; //4.10
				 
		 t4[11]=pr4[9]*k5*pp[1]; //4.11
		 
		 
		 if (pp[8]==2 || pp[8]==3) { t4[12]=pr4[10]*k5*k8*k9*40*(pp[1]+pp[2]+pp[3])*k6 }; //4.12
		 if (pp[8]==1 || pp[8]==0) { t4[12]=pr4[10]*k5*k8*40*(pp[1]+pp[2]+pp[3])*k6 };
		
		 if ((pp[10]+pp[11]+pp[12]+pp[13]+pp[14])>0) { //4.13
		 if (pp[8]==2 || pp[8]==3) { t4[13]=pr4[11]*k5*k8*k9*40*(pp[1]+pp[2]+pp[3])*k6 }; 
		 if (pp[8]==1 || pp[8]==0) { t4[13]=pr4[11]*k5*k8*40*(pp[1]+pp[2]+pp[3])*k6 }; }
		 else { t4[11]=0 };
		 
		 if (pp[8]==2 || pp[8]==3) { t4[14]=pr4[12]*k5*k8*k9*6*(pp[1]+pp[2]+pp[3]) }; //4.14
		 if (pp[8]==1 || pp[8]==0) { t4[14]=pr4[12]*k5*k8*6*(pp[1]+pp[2]+pp[3]) };
		 
		 
// 		  alert("часть 4");
		  total[4]=0;		  	  
          for (var i=1; i<=14; i++){
//		  alert (t4[i]);
          if  (t4[i]!=undefined) {total[4]=total[4]+t4[i];}
          };			 
   // Работы по настройке ПО
   
          t5[1]=pr5[1]*pp[14]; //5.1
		  
		  total[5]=t5[1];
		  
		  
// Подсчет сметы
	      overall=0;
	      for (var i=1; i<=5; i++){
//		  alert (total[i]);
          if  (total[i]!=undefined) {overall=overall+total[i];}
          };		  

  
		  
	if (isNaN(overall)){theElement.innerHTML = '0.00'; theElementNDS.innerHTML = '0.00'; theElementError.innerHTML='Внимание! Проверьте введенные данные!'} else {
		
		if (error==1) {theElement.innerHTML = '0.00'; theElementNDS.innerHTML = '0.00'; theElementError.innerHTML='Внимание! Кол-во железных дверей <br />не должно превышать кол-во точек доступа!' } else {
          
          if (overall!=undefined)
          {
              theElement.innerHTML = overall.toFixed(2);
              theElementNDS.innerHTML = (overall*0.18/1.18).toFixed(2);
              theElementError.innerHTML= '';
          }
		}
		                                                                           }
  }
  }
		  
