function lTrim(str)
{
	var tstr = str;
	while(tstr.length>0 && (tstr.indexOf(" ")==0 || tstr.indexOf("\t")==0)) tstr = tstr.substring(1,tstr.length);
	return tstr;
}
function rTrim(str)
{
	var tstr = str;
	while((tstr.lastIndexOf(" ")==tstr.length-1 || tstr.lastIndexOf("\t")==tstr.length-1)&& tstr.length>0) tstr = tstr.substring(0,tstr.length-1);
	return tstr;
}
function Trim(str)
{
	return lTrim(rTrim(str));
}
function checkSymbols(word, chfl)
	{
	if (chfl==1)
		{
		re = /^[a-zA-Z0-9]+$/;//проверяем на тоже, но без подчеркивания
		}
	else if(chfl==2)
		{
		re = /^[\w]+$/;//проверяем на латинские буквы, цифры и подчеркивание
		}
	result = re.test(word);
	if (result)
		{
		return (true);
		}
	else
		{
		return (false);
		}
	}
function checkmail(mailString)
	{
		// Возвращает 0 - если пустое, 1 - если неправильно заполнено, 2 - если правильно
		if(mailString!="")
		{
			re = /([\.\-_@][\.\-_@])|(^[\.])|(^[\-])|(^[\@])/;
			result = re.test(mailString);
			if(!result)		
			{
				re = /^[\w\-\.]+@[\w\-\.]+\.[a-zA-Z]{2,4}$/
				result = re.test(mailString);
				if(!result)
					return  1;
				return 2;	
			}
			return 1;
		}
		return 0;
	}
	
	
month_numbDay=new Array(); month_numbDay[1]=31;month_numbDay[2]=28;month_numbDay[3]=31;month_numbDay[4]=30;month_numbDay[5]=31; month_numbDay[6]=30;month_numbDay[7]=31;month_numbDay[8]=31;month_numbDay[9]=30;month_numbDay[10]=31;month_numbDay[11]=30;
month_numbDay[12]=31;
function DayToMonth(dayn, monthn, yearn, fname)
	{
    flag1=true;
    flag2=true;
    day = eval ("document.forms['" + fname + "']."+dayn);
    month = eval ("document.forms['" + fname + "']."+monthn);
	year = eval ("document.forms['" + fname + "']."+yearn);
	year=parseInt(year.options[year.selectedIndex].value);
	if (year % 400==0)
		{
		month_numbDay[2]=29;
		}
	else if ((year % 4==0) && (year % 100!=0))
		{
		month_numbDay[2]=29;
		}
	else
		{
		month_numbDay[2]=28;
		}
    while(flag1)
		{
        if(day.options[day.options.length-1].value<month_numbDay[month.options[month.selectedIndex].value])
			{
            op=new Option();
            op.text=parseInt(day.options[day.options.length-1].value)+1;
            op.value=op.text;
            day.options[day.options.length]=op;
        	}
		else
			{
            flag1=false;
        	}
    	}
    while(flag2)
		{
        if(day.options[day.options.length-1].value>month_numbDay[month.options[month.selectedIndex].value])
			{
            if (day.selectedIndex==day.options.length-1)
				{
                day.selectedIndex=day.options.length-2;
            	}
            day.options[day.options.length-1]=null;
        	}
		else
			{
            flag2=false;
        	}
    	}
	}//преобразование месца сделали
function NumField()
	{
	var key =event.keyCode;
	var obj = event.srcElement;//поле формы
	//key=45-тире
	//key=46-точка
	//key=44-запятая
	//цифры-48-57
	//запятую заменяем на точку
	if(obj.value.length==0 && key==45);//типа проверяем на минус в начале
	else if((!(key>47 && key<58)) && key!=46 && key!=44 && key!=13)//проверяем на циферки
	{
		event.cancelBubble=true;
		event.returnValue = false;
		alert("Некорректный символ.");
	}
	//нужно проверить на точку(и ее единственность)
	else if ((key==46 || key==44) && obj.value.indexOf(".")>-1)
		{
		event.cancelBubble=true;
		event.returnValue = false;
		alert("Некорректный символ.Точка должна присутствовать один раз");
		}
	else if (key==44)
		{
		event.cancelBubble=false;
		event.keyCode=46
		event.returnValue = true;
		}
	}
function PasteToNumField()
	{
	var obj = event.srcElement;//данные в поле формы
	event.returnValue = false;//отменяем действие
	var oTR = document.selection.createRange();
	var str = window.clipboardData.getData("Text");
	var oldv = obj.value;
	//заменим запятую на точку
	while(str.indexOf(",")>-1)
		{
		str=str.substring(0,str.indexOf(","))+"." + str.substring(str.indexOf(",")+1, str.length);
		}
	if(!isNaN(str))
		{
		oTR.text = str;//вставляем текст в поле
		//теперь нужно проверить, чтобы в полях не появилось несколько точек
		newv=obj.value;//новое значение
		if (newv.indexOf(".")!=newv.lastIndexOf("."))
			{
			alert("Некорректное значение!");
			obj.value=oldv;
			}
		}
	else
		{
		alert("Некорректное значение!");
		}
	}
function BeforePasteToNumField()
	{
	event.returnValue = false;
	}
	
function Chfemail(subf)
	{
	if (checkmail(subf.sEmail.value)!=2)
		{
		alert("Неправильно введен Email");
		subf.sEmail.focus();
		return false;
		}
	}