﻿
function fmtdate(d)
{
  var day = d.getDate();
  var mon = d.getMonth()+1;
  var yr  = d.getYear();
  if (yr <1900) yr += 1900;
  return (day<10?"0":"") + day + "/" + (mon<10?"0":"") + mon + "/" + (yr <10?"0":"") + yr;
}
function scandate(s)
{
  var date = s.split("-");
  if (date.length != 3)
	date = s.split(".");
  if (date.length != 3)
	date = s.split("/");
  if (date.length != 3)
	return new Date();
  return new Date(date[2], date[1]-1, date[0]);
}
function scanFloat(v)
{
  return parseFloat(v.replace(/[,.]/,sep()));
}
var calcFormId;
var calcFormLang = {
  6: { 'submit':'Расчитать',
	   'result':'Результаты:',
	   'age': 'Количество дней просрочки составляет',
	   'days': 'дней',
	   'fine': 'Cумма пени составляет',
	   'perc': 'Cумма процентов составляет',
	   'total': 'Общая сумма штрафных санкций',
	   'curr': "рублей"
	  }
/*, 7: { 'submit':'Calculate',
	   'result':'Results:',
       'age': 'The period of delay is equal to',
       'days': 'days',
       'fine': 'The amount of forfeit is equal to',
       'perc': 'The amount of percents is equal to',
       'total': 'Total amount of penalties',
       'curr': "rubles"
	  }*/
};
function doCalc()
{
  var fid = calcFormId;
  var f = document.forms ? document.forms['cforms'+fid+'form'] : document.getElementById('cforms'+fid+'form');
  var dst = scandate(f['cf'+fid+'_field_3'].value);
  var perc = scanFloat(f['cf'+fid+'_field_4'].value)/100;
  var debt = scanFloat(f['cf'+fid+'_field_2'].value);
  var den = scandate(f['cf'+fid+'_field_5'].value);
  var ref = scanFloat(f['cf'+fid+'_field_6'].value);
  var age = Math.floor((den-dst)/60/60/24/1000);
  var resfine = age*debt*perc;
  var resperc = age*debt*(ref/100)/365;
  var res = '<form class=cform id=resform><fieldset><legend>'+calcFormLang[fid].result+'</legend><ol class="cf-ol">'+
	  "<li><span class=resl>"+calcFormLang[fid].age+":</span> "+
		  "<span class=res>"+age+" "+calcFormLang[fid].days+"</span>"+
	  "</li>"+
	  "<li><span class=resl>"+calcFormLang[fid].fine+":</span>"+
		  "<span class=res>"+resfine.toFixed(2)+" "+calcFormLang[fid].curr+"</span> "+
	  "</li>"+
	  "<li><span class=resl>"+calcFormLang[fid].perc+":</span>"+
		  "<span class=res>"+resperc.toFixed(2)+" "+calcFormLang[fid].curr+"</span> "+
	  "</li>"+
	  "<li><span class=resl>"+calcFormLang[fid].total+":</span> "+
		  "<span class=res><b>"+(resfine+resperc).toFixed(2)+" "+calcFormLang[fid].curr+"</b></span>"+
	  "</li>"+
	  "</ol></fieldset></form>";
  var msg = document.getElementById('usermessage'+fid+'b');
  msg.innerHTML = res;
  var cl = msg.getAttribute('className') ? 'className' : 'class';
  msg.setAttribute(cl, msg.getAttribute(cl).replace(/ (success|failure)/, "") + " success");
  return false;
}
function sep()
{
  return (0).toFixed(1).charAt(1);
}

window.Ref = new Array(
'12.12.2011',    45,
'11.11.2011',    40,
'14.10.2011',    35,
'14.09.2011',    30,
'01.09.2011',    27,
'17.08.2011',    22,
'13.07.2011',    20,
'22.06.2011',    18,
'01.06.2011',    16,
'18.05.2011',    14,
'20.04.2011',    13,
'16.03.2011',    12,
'15.09.2010',    10.5,
'18.08.2010',    11,
'14.07.2010',    11.5,
'12.05.2010',    12,
'19.04.2010',    12.5,
'17.02.2010',13   ,
'01.12.2009',13.5 ,
'08.01.2009',14   ,
'17.12.2008',12   ,
'12.11.2008',11   ,
'15.10.2008',10.75,
'13.08.2008',10.5 ,
'01.07.2008',10.25,
'01.10.2007',10   ,
'01.09.2007',10.25,
'01.08.2007',10.5 ,
'01.07.2007',10.75,
'01.02.2007',11   ,
'01.12.2006',10   ,
'01.06.2006',10.5 ,
'25.11.2005',11   ,
'20.07.2005',12   ,
'01.06.2005',13   ,
'05.05.2005',14   ,
'06.04.2005',15   ,
'10.03.2005',16   ,
'20.09.2004',17   ,
'23.08.2004',18   ,
'19.07.2004',19   ,
'17.06.2004',20   ,
'17.05.2004',22   ,
'17.04.2004',23   ,
'17.03.2004',25   ,
'17.02.2004',27   ,
'22.10.2003',28   ,
'22.09.2003',29   ,
'18.08.2003',30   ,
'17.07.2003',31   ,
'23.06.2003',33   ,
'21.05.2003',34   ,
'21.04.2003',35   ,
'21.03.2003',37   ,
'21.11.2002',38   ,
'21.10.2002',39   ,
'19.09.2002',40   ,
'19.08.2002',42   ,
'19.07.2002',44   ,
'17.06.2002',46   ,
'21.05.2002',50   ,
'15.04.2002',55   ,
'15.03.2002',60   ,
'15.01.2002',66   ,
'21.09.2001',48   ,
'09.07.2001',50   ,
'21.06.2001',55   ,
'04.06.2001',60   ,
'21.05.2001',64   ,
'21.04.2001',68   ,
'21.03.2001',70   ,
'21.02.2001',75   ,
'01.12.2000',80   ,
'14.09.2000',85   ,
'22.06.2000',90   ,
'22.05.2000',100  ,
'20.04.2000',110  ,
'28.03.2000',130  ,
'15.03.2000',150  ,
'21.02.2000',175  ,
'25.01.2000',150  ,
'10.01.2000',130  ,
'14.12.1999',120  ,
'25.11.1999',110  ,
'01.04.1999',90   ,
'02.03.1999',82   ,
'20.01.1999',60   ,
'01.12.1998',48   ,
'01.08.1998',38   ,
'07.05.1998',40   ,
'01.04.1998',44   ,
'19.02.1998',50   ,
'01.12.1997',40   ,
'20.09.1997',36   ,
'20.08.1997',38   ,
'25.02.1997',42   ,
'02.09.1996',35   ,
'21.03.1996',55   ,
'21.08.1995',66   ,
'21.06.1995',96   ,
'22.05.1995',144  ,
'05.05.1995',180  ,
'21.02.1995',300  ,
'20.12.1994',480  ,
'10.10.1994',300  ,
'10.11.1993',210  ,
'15.10.1993',180  ,
'12.08.1993',170  ,
'20.07.1993',140  ,
'10.07.1993',120  ,
'01.06.1993',100  ,
'20.04.1993',70   ,
'10.03.1993',60   ,
'15.06.1992',30   ,
'28.01.1992',20   ,
'01.07.1991',12
);

function CalcChDate() {
  var date = document.getElementById('cf'+calcFormId+'_field_5').value;
  var stv = document.getElementById('cf'+calcFormId+'_field_6');
  var d = scandate(date);
  for(var i = 0; i<window.Ref.length; i+=2) {
	var dd = scandate(window.Ref[i]);
	if (dd<d) {
	  stv.value = window.Ref[i+1]+" ("+window.Ref[i]+")";
	  break;
	}
  }
}
function CalcOnLoader(){
  for (i in calcFormLang) {
    var frm = document.getElementById('cforms'+i+'form');
    if (frm) {
		calcFormId = i;
		frm.onsubmit = function(){ return doCalc(calcFormId); };
		var date = document.getElementById('cf'+calcFormId+'_field_5');
		date.onchange = CalcChDate;
		date.value = fmtdate(new Date());
		CalcChDate();
		/*if (!dp) dpinit(); dp.isShowYearNavigation = true; */
		document.getElementById('sendbutton'+calcFormId).value = calcFormLang[calcFormId].submit;
      break;
    }
  }
}

function OnLoader(){ CalcOnLoader() }
if (window.addEventListener)
  window.addEventListener("load", OnLoader, false)
else if (window.attachEvent)
  window.attachEvent("onload", OnLoader)
else if (document.getElementById) {
  if (window.onload)
	window.onload=(function(f){ return (function(){OnLoader(); f();}); })(window.onload);
  else
	window.onload=OnLoader;
}

