function TranslDate ( sDate ) {
	i = new Number(0);
	tDate=sDate;
	for (i=0;i< tDate.length;i++){
		tDate=tDate.replace('/','.');
	}
	sarrDateParts=tDate.split('.');
	if	((sarrDateParts.length==3)&&(IntStr(sarrDateParts[0]))&&(IntStr(sarrDateParts[1]))&&
		 (IntStr(sarrDateParts[2]))&&(sarrDateParts[1]>0)&&(sarrDateParts[0]>0) ) {
		if ((sarrDateParts[1]==1)||(sarrDateParts[1]==3)||(sarrDateParts[1]==5)||
			(sarrDateParts[1]==7)||(sarrDateParts[1]==8)||(sarrDateParts[1]==10)||
			(sarrDateParts[1]==12) ) {
			if (sarrDateParts[0]<32){
				tDate=sarrDateParts[0]+'.'+sarrDateParts [1]+'.'+sarrDateParts[2];
				//alert ('1 '+tDate );
			}
			else
				if (alrt==0){
					alert('Количество дней в указанном месяце ('+sDate+') не должно превышать 31');
					alrt=1;
				}
		}
		else
		if ((sarrDateParts[1]==4)||(sarrDateParts[1]==6)||(sarrDateParts[1]==9)||
			(sarrDateParts[1]==11) ){
			if (sarrDateParts[0]<31) {
				tDate=sarrDateParts[0]+'.'+sarrDateParts[1]+'.'+sarrDateParts[2] ;
			//alert ('2 '+tDate );
			}
			else
				if (alrt==0){
					alert('Количество дней в указанном месяце ('+sDate+') не должно превышать 30');
					alrt=1;
				}
		}
		else
		if (sarrDateParts[1]==2){
			if ((sarrDateParts[2]%4)==0){
				if (sarrDateParts[0]<30){
					tDate=sarrDateParts[0]+'.' +sarrDateParts[1]+'.'+sarrDateParts[2] ;
					//alert ('3 '+tDate );
				}
				else
				if (alrt==0){
					alert('Количество дней в указанном месяце ('+sDate+') не должно превышать 29');
					alrt=1;
				}
			}
			else
				if (sarrDateParts[0]<29){
					tDate=sarrDateParts[0]+'.'+sarrDateParts[1]+'.'+sarrDateParts [2];
					//alert ('4 '+tDate );
				}
				else{
				if (alrt==0){
					alert('Количество дней в указанном месяце ('+sDate+') не должно превышать 28');
					alrt=1;
				}
			}
		}
		else{
			alert('Неверно указан месяц ('+sDate+')');
			alrt=1;}
	}
	else{
		alert('Дата ('+sDate+') введена неверно. Требуемый формат даты : ДД.ММ.ГГ.');
		alrt=1;}
	if (alrt==0){
		y=Number(sarrDateParts[2]);
		if (y<50){
			y=2000+y;
		}
		else {
			if ((y>=50)&&(y<=99)){
				y=1900+y;
			}
		}
		tDate=sarrDateParts[0]+'.'+sarrDateParts[1]+'.'+String(y)
	}
	else{tDate='';}
	alrt=0;
	return(tDate );
}

function GetLastMonthDate(sDate){
	pDate = new Date(0,0,0);
	y=new Number(0);
	pDate = TranslDate(sDate);
	alrt_save = new Number(0);
	if (pDate!=''){
		sarrDateParts=pDate.split('.');
		if ((sarrDateParts.length==3)&&(IntStr(sarrDateParts[0]))&&(IntStr(sarrDateParts[1]))&&
	   	    (IntStr(sarrDateParts[2]))&&(sarrDateParts[1]>0)&&(sarrDateParts[0]>0)){
			if ((sarrDateParts[1]==1)||(sarrDateParts[1]==3)||(sarrDateParts[1]==5)||
			    (sarrDateParts[1]==7)||(sarrDateParts[1]==8)||(sarrDateParts[1]==10)||
			    (sarrDateParts[1]==12)){
				pDate='31.'+sarrDateParts[1]+'.'+String(y);
				return(pDate);}
			else{
				if ((sarrDateParts[1]==4)||(sarrDateParts[1]==6)||(sarrDateParts[1]==9)||
				    (sarrDateParts[1]==11)){
					pDate='30.'+sarrDateParts[1]+'.'+String(y);
					return(pDate);}
				else{
					if(sarrDateParts[1]==2){
						if ((sarrDateParts[2]%4)==0){
							pDate='29.'+sarrDateParts[1]+'.'+String(y);
							return(pDate);}
						else{
							pDate='28.'+sarrDateParts[1]+'.'+String(y);
							return(pDate);}
					}
				}
			}
		}
	}
	else {return(pDate);}
}

function StrToDate( sD ){
	ss = new Date(2000,1,1);
	sArr = new Date(2000,1,1);
	ss=TranslDate(sD);
	sArr=ss.split('.',3);
	d=Number(sArr[0]);
	m=Number(sArr[1]);
	y=Number(sArr[2]);
	Dat=new Date(y,m-1,d);
	return( Dat );
}
