
$.metadata.setType("attr", "validate");

function validateForm() {

	var subscribeMod = $("form[name=modSubscribe]").validate({
		rules: {
			email: {
				required: true,
				email: true
			}
		},
		errorPlacement: function(error, element) {
			
			color = (element.val() != '') ? '#BB9999' : '#6E6E6E';
			$(element).css('color', color);
		},
		success: function(element){
			$('form[name=modSubscribe] input[name=email]').css('color', '#6E6E6E');
		},
		// specifying a submitHandler prevents the default submit, good for the demo
		submitHandler: function(form) {
			form.submit();
		}
	});	
	
	var subscribe = $("form[name=subscribeForm]").validate({
		rules : {
			'news[]' : {
				required    : true,
				rangelength : [1,9999]
			},
			email : {
				required : true,
				email    : true
			}
		},
		messages : {
			email : "Ваш почтовый ящик",
			email : {
				required : "Ваш почтовый ящик",
				email    : "Правильный адрес: 'имя@домен'"
			},		
			'news[]' : {
				required    : "Выберите разделы новостей",
				rangelength : "Выберите разделы новостей"
			},
			terms: " "
		},
		errorPlacement: function(error, element) {
			error.appendTo( element.parent().next().next() );
		}, 		
		// specifying a submitHandler prevents the default submit, good for the demo
		submitHandler : function(form) {
			form.submit();
		}
	});	

	var subscribeСonfirm = $("form[name=subscribeConfirmForm]").validate({
		rules : {
			code : {
				required    : true,
				rangelength : [32,32]
			}
		},
		messages : {
			code : {
				required    : "вставьте код подтверждения",
				rangelength : "вставьте код подтверждения"
			},
			terms: " "
		},
		// specifying a submitHandler prevents the default submit, good for the demo
		submitHandler: function(form) {
			form.submit();
		}
	});	
	
	var order = $("#order").validate({
		rules: {
			name  : "required",
			fio   : "required",
			phone : "required",
			email : {
				required : true,
				email    : true
			},
			code: {
				required : true,
				remote   : site+"check.php",
				digits   : true
			}
		},
		messages: {
			name  : "обязательно",
			fio   : "обязательно",
			phone : "обязательно",			
			email : "обязательно",
			email : {
				required : "обязательно",
				email    : "'имя@домен'"
			},
			code: {
				required : "обязательно",
				remote   : "если не видно, нажмите на картинку",
				digits   : "только цифры"
			},
			terms: " "
		},
		// specifying a submitHandler prevents the default submit, good for the demo
		submitHandler: function(form) {
			form.submit();
		}
	});	

	var opening = $("#opening").validate({
		rules: {
			message  : "required",
			fio      : "required",
			phone    : "required",
			email    : {
				required : true,
				email    : true
			},
			code: {
				required : true,
				remote   : site+"check.php",
				digits   : true
			}
		},
		messages: {
			message  : "обязательно",
			fio      : "обязательно",
			phone    : "обязательно",			
			email    : "обязательно",
			email    : {
				required : "обязательно",
				email    : "'имя@домен'"
			},
			code: {
				required : "обязательно",
				remote   : "если не видно, нажмите на картинку",
				digits   : "только цифры"
			},
			terms: " "
		},
		// errorPlacement: function(error, element) {
			// error.prependTo( element.parent() );
		// }, 				
		
		// specifying a submitHandler prevents the default submit, good for the demo
		submitHandler: function(form) {
			form.submit();
		}
	});	

	var poll_contact = $("#poll-contact").validate({
		rules: {
			'field[email]' : {
				email : true
			}
		},
		messages: {
			'field[email]' : {
				email : "'имя@домен'"
			}
		},
		submitHandler: function(form) {
			form.submit();
		}
	});	
	
	var pollValidate = {

		errorPlacement : function(error, element) {

			error = false;
			
			switch ($(element).attr('type') ) {
			
				case 'checkbox':
				case 'radio':	

					size = $("input[name='"+$(element).attr('name')+"']:checked").size();
					if (!size )
						error = true;
					break;		
					
				case 'hidden':
				case 'text':
				
					if ($(element).val() == '')
						error = true;
					break;				
					
				default:
					
					if ($(element).val() == '')
						error = true;
					break;
			}
			
			if (error)
				$(element).closest("div.poll-field").find('p').addClass("error");
			else
				$(element).closest("div.poll-field").find('p').removeClass("error");
		}, 		
		success: function(element){
			$(element).closest("div.poll-field").find('p').removeClass("error");
		},		
		submitHandler : function(form) {
			form.submit();
		}
	};
	var poll_content = $("form[name=poll-content]").validate(pollValidate);
	var poll_module  = $("form[name=poll-module]").validate(pollValidate);
}

