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

// Цены		  
		  // 1. Оборудование:		
		  pr1[1]=8000; // Видеорегистратор (4 камеры, без поддержки сети)
		  pr1[2]=13000; // Видеорегистратор (8 камер, без поддержки сети)
		  pr1[3]=25000; // Видеорегистратор (16 камер, без поддержки сети)
		  pr1[4]=15000; // Видеорегистратор (4 камеры, с поддержкой сети)
		  pr1[5]=18000; // Видеорегистратор (8 камер, с поддержкой сети)
		  pr1[6]=35000; // Видеорегистратор (16 камер, с поддержкой сети)
		  pr1[7]=12000; // Видеоплата (4 камеры)
		  pr1[8]=24000; // Видеоплата (8 камер)
		  pr1[9]=48000; // Видеоплата (16 камер)
		  pr1[10]=1300; // Видеокамера внутренняя
		  pr1[11]=5000; // Видеокамера уличная
		  pr1[12]=2000; // Блок питания
		  pr1[13]=500; // Аккумулятор
		  
		  // 2. Материалы:		
		  pr2[1]=10; // Кабель коаксиал (1м.)
		  pr2[2]=10; // Кабель ШВВП (1м.)
		  pr2[3]=10; // Короб (1м.)
		  pr2[4]=20; // Гофра (1м.)
		  
		  // 3. Программное обеспечение:		
		  pr3[1]=10000; // Серверное ПО
		  pr3[2]=0; // Клиентское ПО
		  
		  // 4. Монтажные работы:		
		  pr4[1]=6000; // Установка видеорегистратора
		  pr4[2]=7000; // Установка платы видеоввода
		  pr4[3]=1000; // Установка камеры внутренней
		  pr4[4]=2000; // Установка камеры уличной
		  pr4[5]=1000; // Установка блока питания
		  pr4[6]=5; // Прокладка кабеля коаксиал (1м.)
		  pr4[7]=5; // Прокладка кабеля ШВВП (1м.)
		  

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

  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 ps1=new Array();
		  var ps2=new Array();
		  var ps3=new Array();
		  var ps4=new Array();
		  var total=new Array();
          var calculation  = '';
          var overall = '';
          var fields = new Array();

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

          var theElementNDS = document.getElementById(totalNDS);

          var theElementError = document.getElementById(totalError);


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

		  pp[1]=document.forms["calculator_video"].price1.value*1;
		  pp[1]=Math.abs(Math.round(pp[1]));
		  pp[2]=document.forms["calculator_video"].price2.value*1;
		  pp[2]=Math.abs(Math.round(pp[2]));
		  pp[3]=document.forms["calculator_video"].price3.value*1;
		  pp[4]=document.forms["calculator_video"].price4.value*1;
		  pp[5]=document.forms["calculator_video"].price5.value*1;
		  pp[6]=document.forms["calculator_video"].price6.value*1;
		  pp[7]=document.forms["calculator_video"].price7.value*1;
		  pp[8]=document.forms["calculator_video"].price8.value*1;
		  pp[9]=document.forms["calculator_video"].price9.value*1;
		  pp[10]=document.forms["calculator_video"].price10.value*1;
		  pp[10]=Math.abs(Math.round(pp[10]));

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

if (pp[3]==0) {k3=1};
if (pp[3]==1) {k3=1.15};

if (pp[4]==1) {k4=1};
if (pp[4]==2) {k4=1.5};
if (pp[4]==3) {k4=3};

if (pp[5]==0) {k5=0};
if (pp[5]==1) {k5=1};

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

if (pp[7]==1) {k7=1};
if (pp[7]==2) {k7=2};
if (pp[7]==3) {k7=4};
if (pp[7]==4) {k7=6};

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

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

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

   // Оборудование 
   		  
		  ps1[13]=Math.ceil((150*pp[1]+300*pp[2])/2000); //1.13
		  t1[13]=pr1[13]*ps1[13];
		 
		  ps1[12]=Math.ceil((150*pp[1]+300*pp[2])/2000); //1.12
		  t1[12]=pr1[12]*ps1[12];
		  
		  ps1[11]=pp[2]; //1.11
		  t1[11]=pr1[11]*ps1[11]*k3*k4;
		  
		  ps1[10]=pp[1]; //1.10
		  t1[10]=pr1[10]*ps1[10]*k3*k4;
		  
		  if (pp[5]==1) { //1.9
		  ps1[9]=Math.round((pp[1]+pp[2])/16); } else { ps1[9]=0; };
		  t1[9]=pr1[9]*ps1[9];
		  
		  if (pp[5]==1 && (pp[1]+pp[2]-16*ps1[9])>0) { //1.8
		  ps1[8]=Math.round((pp[1]+pp[2]-16*ps1[9])/8);  } else { ps1[8]=0;  };
		  t1[8]=pr1[8]*ps1[8];
		  
		  if (pp[5]==1 && (pp[1]+pp[2]-16*ps1[9]-8*ps1[8])>0) { //1.7
		  ps1[7]=Math.ceil((pp[1]+pp[2]-16*ps1[9]-8*ps1[8])/4); } else { ps1[7]=0; };
		  t1[7]=pr1[7]*ps1[7];
		  
		  if (pp[5]==0 && pp[10]>1 && (pp[1]+pp[2])>0) { //1.6
		  ps1[6]=Math.round((pp[1]+pp[2])/16); } else { ps1[6]=0; };
		  t1[6]=pr1[6]*ps1[6];
		  
		  if (pp[5]==0 && pp[10]>1 && (pp[1]+pp[2]-16*ps1[6])>0) { //1.5
		  ps1[5]=parseFloat(((pp[1]+pp[2]-16*ps1[6])/8).toFixed(0)); } else { ps1[5]=0; };
		  t1[5]=pr1[5]*ps1[5];
		  
		  if (pp[5]==0 && pp[10]>1 && (pp[1]+pp[2]-16*ps1[6]-8*ps1[5])>0) { //1.4
		  ps1[4]=Math.ceil((pp[1]+pp[2]-16*ps1[6]-8*ps1[5])/4); } else { ps1[4]=0; ps1[4]=ps1[4]*1;};
		  t1[4]=pr1[4]*ps1[4];
		  
		  if (pp[5]==0 && pp[10]<=1 && (pp[1]+pp[2])>0) { //1.3
		  ps1[3]=Math.round((pp[1]+pp[2])/16); } else { ps1[3]=0; };
		  t1[3]=pr1[3]*ps1[3];
		  
		  if (pp[5]==0 && pp[10]<=1 && (pp[1]+pp[2]-16*ps1[3])>0) { //1.2
		  ps1[2]=Math.round((pp[1]+pp[2]-16*ps1[3])/8); } else { ps1[2]=0;};
		  t1[2]=pr1[2]*ps1[2];
		  
		  if (pp[5]==0 && pp[10]<=1 && (pp[1]+pp[2]-16*ps1[3]-8*ps1[2])>0) { //1.1
		  ps1[1]=Math.ceil((pp[1]+pp[2]-16*ps1[3]-8*ps1[2])/4); } else { ps1[1]=0; };
		  t1[1]=pr1[1]*ps1[1];
	
	
//	  alert("часть 1");
          total[1]=0;		  	  
          for (var i=1; i<=13; i++){
//	  alert (t1[i]);
          if  (t1[i]!=undefined) {total[1]=total[1]+t1[i];}
          };

   // Материалы
   
          ps2[1]=15*(pp[1]+pp[2])*k7; //2.1
		  t2[1]=pr2[1]*ps2[1];
		  
		  ps2[2]=15*(pp[1]+pp[2])*k7; //2.2
		  t2[2]=pr2[2]*ps2[2];
		  
		  if (pp[8]==2) { //2.3
		  ps2[3]=15*(pp[1]+pp[2])*k7 } else { ps2[3]=0; };
		  t2[3]=pr2[3]*ps2[3];
		  
		  if (pp[8]==3) { //2.4
		  ps2[4]=15*(pp[1]+pp[2])*k7 } else { ps2[4]=0; };
		  t2[4]=pr2[4]*ps2[4];
		  
		  
//	  alert("часть 2");	  
		  total[2]=0;		  	  
          for (var i=1; i<=4; i++){
//	  alert (t2[i]);
          if  (t2[i]!=undefined) {total[2]=total[2]+t2[i];}
          };
   
   // Программное обеспечение
   
          if (pp[5]==1) { //3.1
		  ps3[1]=Math.round((ps1[7]+ps1[8]+ps1[9])/2); } else { ps3[1]=0; };
		  t3[1]=pr3[1]*ps3[1];
		  
		  ps3[2]=pp[10]; //3.2
		  t3[2]=pr3[2]*ps3[2];
		  
   
//	  alert("часть 3");
		  total[3]=0;		  	  
          for (var i=1; i<=2; i++){
//	  alert (t3[i]);
          if  (t3[i]!=undefined) {total[3]=total[3]+t3[i];}

          };		  
		  

   // Монтажные работы
	
	      ps4[1]=ps1[1]*1+ps1[2]*1+ps1[3]*1+ps1[4]*1+ps1[5]*1+ps1[6]*1; //4.1
		  t4[1]=pr4[1]*ps4[1];
	
	      ps4[2]=ps1[7]*1+ps1[8]*1+ps1[9]*1; //4.2
		  t4[2]=pr4[2]*k6*ps4[2];
		  
		  ps4[3]=pp[1]; //4.3
		  t4[3]=pr4[3]*k6*ps4[3];
		  
		  ps4[4]=pp[2]; //4.4
		  t4[4]=pr4[4]*ps4[4];
		  
		  ps4[5]=ps1[12]*1; //4.5
		  t4[5]=pr4[5]*ps4[5];
		  
		  ps4[6]=ps2[1]*1; //4.6
		  t4[6]=pr4[6]*k6*k8*k9*ps4[6];
		  
		  ps4[7]=ps2[2]*1; //4.7
		  t4[7]=pr4[7]*k6*k8*k9*ps4[7];
	

//	  alert("часть 4");
		  total[4]=0;		  	  
          for (var i=1; i<=7; i++){
//	  alert (t4[i]);
          if  (t4[i]!=undefined) {total[4]=total[4]+t4[i];}
          };			 
		  
		  
// Подсчет сметы
	      overall=0;
	      for (var i=1; i<=4; i++){
          if  (total[i]!=undefined) {overall=overall+total[i];}
          };		  

  
		  
	if (isNaN(overall)){theElement.innerHTML = '0.00'; theElementNDS.innerHTML = '0.00'; theElementError.innerHTML='Внимание! Проверьте введенные данные!'} else {
          
          if (overall!=undefined)
          {
              theElement.innerHTML = overall.toFixed(2);
              theElementNDS.innerHTML = (overall*0.18/1.18).toFixed(2);
              theElementError.innerHTML= '';
          }
		                                                                           }
  }
  }
		  
