function calc(element)
	{
		//activeElement = element;
		var calcData = [[0.01283,0.01032,0.00919,0.00860,0.00844],
						[0.01210,0.01062,0.00952,0.00895,0.00880],
						[0.01316,0.01068,0.00958,0.00902,0.00887],
						[0.01322,0.01075,0.00965,0.00909,0.00894],
						[0.01349,0.01105,0.00998,0.00944,0.00930],
						[0.01378,0.01137,0.01032,0.00980,0.00967],
						[0.01406,0.01168,0.01066,0.01076,0.01004],
						[0.01435,0.01200,0.01101,0.01053,0.01041],
						[0.01464,0.01233,0.01136,0.01090,0.01079],
						[0.01493,0.01265,0.01172,0.01128,0.01117],
						[0.01532,0.01298,0.01207,0.01166,0.01156],
						[0.01553,0.01332,0.01244,0.01204,0.01195],
						[0.01613,0.01400,0.01317,0.01281,0.01273]];
		var numDep = document.getElementById('numDep').value;
		var rate = document.getElementById('rate').value;
		var deadLine = document.getElementById('deadLine').value;
		var payment = document.getElementById('payment');
		switch (element.id)
		{
			case 'creditSize':
				var targetElement = document.getElementById('income');
				creditSize = document.getElementById('creditSize').value;
				payment.value = Math.round(creditSize * calcData[rate][deadLine]);
				// payment.value = Math.round(creditSize * rate/(1-(1+rate)^(-(deadLine-1))));
				targetElement.value = Math.round((payment.value / 6) * 10 + 30 * numDep);
				break;
			case 'income':
				var targetElement = document.getElementById('creditSize');
				income = document.getElementById('income').value;
				payment.value = Math.round((income - 30 * numDep) * 0.6);
				targetElement.value = Math.round(payment.value / calcData[rate][deadLine]); 
			break;
		}
		// zNumericField(activeElement);
	}
      /*function zHCIncome(vEvent)
      {
        //if (vEvent.propertyName != "value") return;
				var nIncome = zStrToInt(document.forms["calc"].elements["income"].value);
				if (nIncome > 0)
				{ 
			document.forms["calc"].elements["credit"].value = nIncome * 30 ;
        	    }
				else
				{
        	document.forms["calc"].elements["credit"].value = "";
        		}
				zHCMinPay();
			} //zHCIncome*/
      /* -------------------------------------------------------------------------------- */
    /*  function zHCSum(vEvent)
      {
        //if (vEvent.propertyName != "value") return;
        var vSum = document.forms["calc"].elements["Sum"];
        var nIncome = zStrToInt(document.forms["calc"].elements["Income"].value);
        var nMaxSum = zStrToInt(document.forms["calc"].elements["MaxSum"].value);
				if (nIncome > 0 && zStrToInt(vSum.value) > nMaxSum)
					vSum.style.color = "red";
				else
					vSum.style.color = "#336633";
			} //zHCSum*/
			
      /* -------------------------------------------------------------------------------- */
     /* function zHCMinPay()
      {
				var vMinPay = document.forms["calc"].elements["MinPay"];
				var nMinPay = zStrToInt(vMinPay.value);
				var nMaxPay = zStrToInt(document.forms["calc"].elements["MaxPay"].value);
				if (nMinPay > 0 && nMaxPay > 0 && nMaxPay < nMinPay)
					vMinPay.style.color = "red";
				else
					vMinPay.style.color = "gray";
      } //zHCMinPay*/
      /* -------------------------------------------------------------------------------- */
      /*function zHCPeriod(obj)
      {
        //if (event.propertyName != "value") return;
        //if (zStrToInt(obj.value) < 1) obj.value = "";
        document.forms["calc"].elements["Res1"].value = "";
        document.forms["calc"].elements["OverPay"].value = "";
			} //zHCPeriod*/
      /* -------------------------------------------------------------------------------- */
      /*function zHCPayment(obj)
      {
        //if (event.propertyName != "value") return;
        //if (zStrToInt(obj.value) < 1) obj.value = "";
        document.forms["calc"].elements["Res2"].value = "";
        document.forms["calc"].elements["OverPay"].value = "";
			} //zHCPayment*/
      /* -------------------------------------------------------------------------------- */
      /*function zHCSource(vEvent)
      {
        //if (vEvent.propertyName != "value") return;
        var nSum = zStrToInt(document.forms["calc"].elements["Sum"].value);
        var nMonthly = zStrToInt(document.forms["calc"].elements["Percent"].value) / 1200;
        document.forms["calc"].elements["Res1"].value = "";
        document.forms["calc"].elements["Res2"].value = "";
        document.forms["calc"].elements["OverPay"].value = "";
				var nMinPay = Math.round(nSum * nMonthly);
				if (nMinPay > 0) nMinPay++;
				if (nMinPay < 1)
          document.forms["calc"].elements["MinPay"].value = "";
				else
          document.forms["calc"].elements["MinPay"].value = nMinPay;*/
        /*
        var vMaxPeriod = document.forms["calc"].elements["MaxPeriod"];
        if (nSum < 1 || nMonthly <= 0)
          vMaxPeriod.value = "";
				else
				{
					var nMaxPeriod = 1 - Math.log(1 - nSum * nMonthly / nMinPay) / Math.log(1 + nMonthly);
					nMaxPeriod = Math.round(nMaxPeriod / 12 * 10) / 10;
        	vMaxPeriod.value = nMaxPeriod;
          if (nMaxPeriod > 20)
            vMaxPeriod.style.color = "red";
					else
            vMaxPeriod.style.color = "gray";
				}
        
				zHCMinPay();
      } //zHCSource*/
      /* -------------------------------------------------------------------------------- */
      /*function zHCLoan(nFlag)
      {
        var nSum = zStrToInt(document.forms["calc"].elements["Sum"].value);
        var nMonthly = zStrToInt(document.forms["calc"].elements["Percent"].value) / 1200;
        if (nSum < 1 || nMonthly <= 0) return(false);
				if (nFlag == 1)
        {
          var nMonthes = document.forms["calc"].elements["Period"].value * 12;
          if (nMonthes < 1) return(false);
          document.forms["calc"].elements["Payment"].value = "";
          document.forms["calc"].elements["Res2"].value = "";
          var vRes1 = document.forms["calc"].elements["Res1"];
          var nPayment = nSum * nMonthly / (1 - 1 / Math.pow((1 + nMonthly), nMonthes - 1));
          vRes1.value = Math.round(nPayment * 100) / 100;
          var nMaxPay = zStrToInt(document.forms["calc"].elements["MaxPay"].value);
          if (nMaxPay > 0 && zStrToInt(vRes1.value) > nMaxPay)
            vRes1.style.color = "red";
          else
            vRes1.style.color = "gray";
          document.forms["calc"].elements["OverPay"].value = Math.round(nPayment * nMonthes / nSum * 100) / 100;
          document.forms["calc"].elements["OverPay"].style.color = "gray";
        }
        else if (nFlag == 2)
        {
          var nPayment = zStrToInt(document.forms["calc"].elements["Payment"].value);
          if (nPayment < 1) return(false);
          document.forms["calc"].elements["Period"].value = "";
          document.forms["calc"].elements["Res1"].value = "";
          var vRes2 = document.forms["calc"].elements["Res2"];
          if (nPayment > nSum * nMonthly)
          {
            var nMonthes = 1 - Math.log(1 - nSum * nMonthly / nPayment) / Math.log(1 + nMonthly);
            document.forms["calc"].elements["OverPay"].value = Math.round(nPayment * nMonthes / nSum * 100) / 100;
            document.forms["calc"].elements["OverPay"].style.color = "gray";
            vRes2.value = Math.round(nMonthes / 12 * 10) / 10;
            vRes2.style.color = "gray";
            if (zStrToInt(vRes2.value) > 20)
              vRes2.style.color = "red";
            else
              vRes2.style.color = "gray";
          }
          else
          {
            vRes2.value = document.getElementById("infin").innerText;
            document.forms["calc"].elements["OverPay"].value = document.getElementById("infin").innerText;
            vRes2.style.color = "red";
						document.forms["calc"].elements["OverPay"].style.color = "red";
          }
        }
        return(false);
      } //zHCLoan*/
      /* -------------------------------------------------------------------------------- */
      /*function zStrToInt(sPar, bFloat)
      {
        if (sPar.length == 0 || isNaN(sPar) || sPar == 0) return(0);
        while (sPar.substring(0, 1) == "0")
          sPar = sPar.substring(1, sPar.length);
        if (bFloat == true)
          return(parseFloat(sPar));
        else
          return(parseInt(sPar));
      } //zStrToInt*/
      /* -------------------------------------------------------------------------------- */
      function zNumericField(obj, bFloat)
      {
    
        //if (event.propertyName != "value") return;
        if (bFloat == true)
          var nValue = parseFloat(obj.value);
        else
          var nValue = parseInt(obj.value);

				if (obj.value.toString() == nValue.toString() || obj.value.length == 0)
          ; //do nothing
        else if (isNaN(nValue))
          obj.value = "";
				else if (bFloat && obj.value.toString() == nValue.toString() + ".")
          ; //do nothing
        else if (obj.value != nValue)
          obj.value = nValue;
        } //zNumericField 
