$(document).ready(function(){

	/**********************************/
	/********** JQUERY FORM ***********/
	/**********************************/
	// bind the form and provide a simple callback function

	/**********************************/
	/*********** TOOL TIPS ************/
	/**********************************/
	$("input,select").focus(
		function() {
			if (!($(this).next().is("div.error"))) {
				$(this).prev("label").parent("div.form-item").prev("div.tip").css('display','inline');
				//$(this).prev("div.text").parent("div#boxright").prev("div#boxleft").prev("div.tip").css('display','inline');
				$(this).parent("div#boxright").prev("div#boxleft").prev("div.tip").css('display','inline');
				$(this).parent("div.radios-inline").prev("label").parent("div.form-item").prev("div.tip").css('display','inline');
				$(this).parent("div.form-item").parent("div.container-inline").prev("label").parent("div.form-item").prev("div.tip").css('display','inline');
			}
		}
	);
	
	$("input,select").blur(
		function () {
			$(this).prev("label").parent("div.form-item").prev("div.tip").css('display','none');
			//$(this).prev("div.text").parent("div#boxright").prev("div#boxleft").prev("div.tip").css('display','none'); // captcha
			$(this).parent("div#boxright").prev("div#boxleft").prev("div.tip").css('display','none'); // captcha
			$(this).parent("div.radios-inline").prev("label").parent("div.form-item").prev("div.tip").css('display','none');
			$(this).parent("div.form-item").parent("div.container-inline").prev("label").parent("div.form-item").prev("div.tip").css('display','none');
		}
	);
	
	/**********************************/
	/*********** CAPTCHA **************/
	/**********************************/
/*	$("#refreshimage").livequery('click', function(event) {
		$.post('captcha_newsession.php');
		$("#captchaimage").empty().load('captcha_image_req.php');
		return false;
	});
	
*/

	/*** PARSE JS URL ***/
	function parseURL() {
		var part = /com\/(.+)$/;
		var url = window.location.href;
		var urlmatch = url.match(part);

		if ( urlmatch == null ) {
			return "";
		}
		else {
			return urlmatch[1];
		}

	}
	
	/**********************************/
	/******** JQUERY VALIDATE *********/
	/**********************************/
	$.validator.addMethod("nome", function( value, element ) {
		var result = this.optional(element) || /^[a-z\-\']+$/i.test(value);
		return result;
	}, "Invalid character found.");

	$.validator.addMethod("lastname", function( value, element ) {
		var result = this.optional(element) || /^[a-z\-\']+$/i.test(value);
		return result;
	}, "Invalid character found.");

	// validate signup form on keyup and submit
	$("#cadastro_usuario").validate({
			errorClass: 'error',
			multipleErros: true,
			rules: {
					usuario: {
						required: true,
						minlength: 4,
						maxlength: 10,
						remote: "cadastro/remote_user.php"
					},
					nome: {
						required: true,
						minlength: 3,
						maxlength: 100
					},
					sexo: "required",
					
					data: {
						required: true,
						dateBrasil: true,
						dateHoje: true
					},
					estado: "required",
					conexao: "required",
					termos_checkbox: "required",
					ficou_sabendo: "required",
					email: {
							required: true,
							email: true
					},
					senha: {
							required: true,
							minlength: 6,
							maxlength: 10
							//singleNumber: true  // brad's custom
							//password: true
					},
					senha2: {
							required: true,
							//minlength: 6,
							equalTo: "#senha"
					},
					codigo: {
						required: true,
						remote: "cadastro/remote_image.php"
					}
			},
			messages: {
					usuario: {
							required: "Campo obrigatório.",
							minlength: $.format("São necessários {0} caracteres no mínimo."),
							maxlength: $.format("{0} caracteres é o limite."),
							remote: $.format('\"{0}\" já está em uso, é reservado ou inválido.')

					},
					nome: {
							required: "Digite seu nome."
					},
					sexo: "Escolha um sexo.",
					estado: "Campo obrigatório.",
					
					data: {
						required: "Data Inválida! Formato: dd/mm/aaaa",
						dateBrasil: "Data Inválida! Formato: dd/mm/aaaa",
						dateHoje: "Data maior que a atual."
					},
					
					conexao: "Obrigatório.",
					termos_checkbox: "É necessário aceitar os termos.",
					ficou_sabendo: "Obrigatório.",
					email: {
							required: "E-mail inválido.",
							email: "E-mail inválido."
					},
					senha: {
							required: "Digite uma senha.",
							minlength: $.format("São necessários no mínimo {0} caracteres.")
							//rangelength: $.format("Enter at least {0} characters")
					},
					senha2: {
							required: "Redigite sua senha.",
							//minlength: $.format("Enter at least {0} characters"),
							equalTo: "Digite a mesma senha."
					},
					codigo: {
						required: "Digite o código ao lado.",
						remote: $.format('\"{0}\" não é o código correto.')
					}
			},
			// the errorPlacement has to take the table layout into account

			errorPlacement: function(error, element) {
				//alert(error.selector);
					if ( element.is(":radio") ) {
							error.appendTo( element.parent() );
					} else if ( element.is("select") ) {
							error.appendTo ( element.parent() );
					} else {
							error.appendTo( element.parent() );
					}
			},

			/****** JQUERY FORM PLUGIN ********/
			submitHandler: function(form) {
				$("#cadastro_usuario")[0].submit();
			},

			// set this class to error-labels to indicate valid fields
			success: function(label) {
				// set &nbsp; as text for IE
				label.html("&nbsp;").addClass("pass");
			}
	});
});
