$(function(){
	$('input.f-phone').keypress(function(event){
		key = event.which;
		if (!( (key >= 48 && key <= 57) || key == 43 || key == 45 || key == 32)) return false;
	});
	
	$('input.f-pcode').keypress(function(event){
		key = event.which;
		if (!( (key >= 48 && key <= 57) || key == 43 )) return false;
	});
	
	$('input.f-time').keypress(function(event){
		key = event.which;
		if (!( (key >= 48 && key <= 57) || key == 46 || key == 58 )) return false;
	});
	
	$('input.f-date').keypress(function(event){
		key = event.which;
		if (!( (key >= 48 && key <= 57) || key == 46 || key == 47 )) return false;
	});
	
	$('input.f-digits').keypress(function(event){
		key = event.which;
		if (! (key >= 48 && key <= 57) ) return false;
	});
});


function highlightInputs(){
	clear = true;
	$('img.reqicon').remove();
	$('#zanform .required').each(function(){
		data = $(this).val();
		if (data == '') {
			src = 'warning';
		} else {
			if ($(this).hasClass('f-phone')){
				if (data.match(/^[+]?[\d-+ ]{1,16}$/)) src = 'tick'; else src = 'warning';
			} else if ($(this).hasClass('f-mail')){
				if (data.match(/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/)) src = 'tick'; else src = 'warning';
			} else if ($(this).hasClass('f-date')){
				if (data.match(/^[\d]{2}[\/.]{1}[\d]{2}[\/.]{1}[\d]{4}$/)) src = 'tick'; else src = 'warning';
			} else if ($(this).hasClass('f-time')){
				if (data.match(/^[\d]{1,2}[:.]{1}[\d]{1,2}$/)) src = 'tick'; else src = 'warning';
			} else if ($(this).hasClass('f-digits')){
				if (data.match(/^[\d]*$/)) src = 'tick'; else src = 'warning';
			} else {
				src = 'tick';
			}
		}
		if (src == 'warning') clear = false;
		$(this).after('<img src="/images/'+src+'_16.png" class="reqicon" style="position: absolute; margin: 1px 0 0 4px;"/>');
	});
	
	$('.err_mes').remove();
	if (!clear){
		$('#zanform input[type="submit"]').before('<span class="err_mes"> &nbsp; Пожалуйста, заполните поля, отмеченные знаком <img src="/images/warning_16.png" class="reqicon" style="position: absolute; margin: 3px 0 0 0;"/> &nbsp; &nbsp; &nbsp; &nbsp;</span>')
	}
	
	return clear;
}
