function checkPlaca(placa,i) {

	// verifica se a placa já foi validada...
	if (document.forms[0].elements[i].correct) {
		return true;
	}

	document.forms[0].elements[i].correct = false;

	// verifica se a placa foi informada...
	if (placa == '       '.substring(0,placa.length)) {
		alert("Informe a Placa");
		document.forms[0].elements[i].focus;
		return false;
		
	}

	// consistências... 
	switch (placa.length) {
		case 7: // placas normais: "AAA9999"
			if (!checkLetra(placa.substring(0,3),i)) return false;
			if (!checkNumero(placa.substring(3),4,i)) return false;
			break;
		case 6: // placas antigas: "AA9999"
			if (!checkLetra(placa.substring(0,2),i)) return false;
			if (!checkNumero(placa.substring(2),4,i)) return false;
			break;
		case 5: // motocicletas: "AA999"
			if (!checkLetra(placa.substring(0,2),i)) return false;
			if (!checkNumero(placa.substring(2),3,i)) return false;
			break;
		default:
			alert("Placa Inválida. Tamanho menor que 5");
			document.forms[0].elements[i].focus;
			return false;
         
	}

	document.forms[0].elements[i].correct = true;
	return true;
}

function checkLetra(str,i) {
	str = str.toUpperCase();
	for (var p=0; p<str.length; p++) {
		l = str.substring(p,p+1);
		if (l < 'A' || l > 'Z') {
			alert("Placa Inválida. Parte alfabética com erro");
			document.forms[0].elements[i].focus;
			return false;
		}
	}
	return true;
}

function checkNumero(num,tam,i) {
	if (isNaN(num) || num.indexOf('.') != -1 || num.length != tam) {
		alert("Placa Inválida. Parte numérica com erro");
		document.forms[0].elements[i].focus;
		return false;
	}
	return true;
}
