
function validacnpj(Campo){
var i;
var Valida=true;
var s = Campo;
var c = s.substr(0,12);
var dv = s.substr(12,2);
var d1 = 0;
for (i = 0; i < 12; i++){d1 += c.charAt(11-i)*(2+(i % 8));}
if (d1 == 0) Valida=false;
d1 = 11 - (d1 % 11);
if (d1 > 9) d1 = 0;
if (dv.charAt(0) != d1){Valida=false;}
d1 *= 2;
for (i = 0; i < 12; i++){d1 += c.charAt(11-i)*(2+((i+1) % 8));}
d1 = 11 - (d1 % 11);
if (d1 > 9) d1 = 0;
if (dv.charAt(1) != d1){Valida=false;}
return Valida; 
}



function validacpf(Campo){  
var i; 
var Valida=true;  
s = Campo;
var c = s.substr(0,9);  
var dv = s.substr(9,2); 
var d1 = 0;  
for (i = 0; i < 9; i++){d1 += c.charAt(i)*(10-i);}  
if (d1 == 0){Valida=false;}  
d1 = 11 - (d1 % 11);  
if (d1 > 9) d1 = 0;  
if (dv.charAt(0) != d1){Valida=false;}  
d1 *= 2;  
for (i = 0; i < 9; i++){ d1 += c.charAt(i)*(11-i);} 
d1 = 11 - (d1 % 11);
if (d1 > 9) d1 = 0;
if (dv.charAt(1) != d1){Valida=false;} 
return Valida;  
} 


function validadata(pStr)
{
reDate = /^\d{2}\/\d{2}\/\d{4}$/;
	if (reDate.test(pStr) && pStr.length>0) {
		if(parseInt(pStr.substring(0,2))<=31 && parseInt(pStr.substring(3,5))<=12 && parseInt(pStr.substring(6,10))<=2005 && parseInt(pStr.substring(6,10))>=1900 )
		{return true;}else{return false;}
	} else{return false;}
} 


function validaemail(pStr)
{
reEmail = /^[\w!#$%&*+\/=?^`{|}~-]+(\.[\w!#$%&*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
if (reEmail.test(pStr) && pStr.length>0) {return true;} else{return false;}
}



function Val(field,tipo)
{
if (tipo=="txt")pat=/[0-9]/;
if (tipo=="num")pat=/[^0-9]/;
if (tipo=="tel")pat=/[^0-9\-]/;
if (tipo=="dt")pat=/[^0-9\/]/;
idx = field.value.search( pat );
while ( idx > -1 ) {field.value = field.value.replace( pat, '' ); idx = field.value.search( pat );}
}



function formCheckBusca(formobj){
	// Nome dos Campos
	var fieldRequired = Array("MinNum");
	// Nomes para Exibição
	var fieldDescription = Array("Número do Calçado");
	
	var alertMsg = "";
	for (var i = 0; i < fieldRequired.length; i++){
		var obj = formobj.elements[fieldRequired[i]];
		if (obj){
		switch(obj.type){//Um case pra cada tipo de campo
		case "select-one":if (obj.selectedIndex == -1 ||  obj.options[obj.selectedIndex].value == ""){alertMsg += " - " + fieldDescription[i] + "\n";}break;
		case "select-multiple":if (obj.selectedIndex == -1 ||  obj.options[obj.selectedIndex].value == ""){alertMsg += " - " + fieldDescription[i] + "\n";}break;
		case "text":if (obj.value == "" || obj.value == null){alertMsg += " - " + fieldDescription[i] + "\n";}break;
		case "password":if (obj.value == "" || obj.value == null){alertMsg += " - " + fieldDescription[i] + "\n";}break;
		case "textarea":if (obj.value == "" || obj.value == null){alertMsg += " - " + fieldDescription[i] + "\n";}break;
		default:if (obj.type == undefined){var blnchecked = false;for (var j = 0; j < obj.length; j++){if (obj[j].checked){blnchecked = true;}}if (!blnchecked){alertMsg += " - " + fieldDescription[i] + "\n";}}
		}
		}
	}
	//EXTRas - Não vazios, mas inválidos --------------------v
	//if(formobj.descricao.value =="" && formobj.Cor.value ==""){alertMsg += " - Descrição ou Cor do Calçado\n";}
	//if(formobj.Cor.value ==""){alertMsg += " - Cor do Calçado\n";}
	//EXTRAS - Não brancos, mas inválidos --------------------^
	if (alertMsg!=""){alert("Os seguintes campos são obrigatórios:\n" + alertMsg);return false;}else{return true;}
}


function formCheckCadastro(formobj){
// Nome dos Campos
var fieldRequired = Array("Nome","Email","Sexo","Login","Senha","CPF","RG","Dt_Nasc","Endereco","Bairro","Cidade","Estado","Pais","CEP","Telefone");
// Nomes para Exibição
var fieldDescription = Array("Nome","Email","Sexo","Login","Senha","CPF","RG","Data de Nascimento","Endereço","Bairro","Cidade","Estado","País","CEP","Telefone");

var alertMsg = "Os seguintes campos vazios são obrigatórios:\n";
var l_Msg = alertMsg.length;
for (var i = 0; i < fieldRequired.length; i++){var obj = formobj.elements[fieldRequired[i]];if (obj){switch(obj.type){	case "select-one":if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == "" || obj.options[obj.selectedIndex].value == ""){alertMsg += " - " + fieldDescription[i] + "\n";}break;case "select-multiple":if (obj.selectedIndex == -1){alertMsg += " - " + fieldDescription[i] + "\n";}break;case "select-multiple":if (obj.selectedIndex == -1){alertMsg += " - " + fieldDescription[i] + "\n";}break;case "text":case "password":case "textarea":if (obj.value == "" || obj.value == null){alertMsg += " - " + fieldDescription[i] + "\n";}break;default:}if (obj.type == undefined){var blnchecked = false;for (var j = 0; j < obj.length; j++){if (obj[j].checked){blnchecked = true;}}if (!blnchecked){alertMsg += " - " + fieldDescription[i] + "\n";}}}}
if (alertMsg.length != l_Msg){alert(alertMsg);return false;}else{

//EXTRAS - Não brancos, mas inválidos --------------------v
alertMsg = "Os seguintes campos estão inválidos:\n";
l_Msg = alertMsg.length;

if(formobj.Login.value.length<3){alertMsg += " - Login deve ter no mínimo 3 caracteres\n";}
if(formobj.Senha.value.length>10 || formobj.Senha.value.length<6){alertMsg += " - Senha deve ter entre 6 e 10 caracteres\n";}
if(validacpf(formobj.CPF.value)==false){alertMsg += " - CPF Inválido\n";}
if(validadata(formobj.Dt_Nasc.value)==false){alertMsg += " - Data de Nascimento Inválida\n";}
if(formobj.CEP.value.length<8){alertMsg += " - Cep Inválido\n";}
if(validaemail(formobj.Email.value)==false){alertMsg += " - Email Inválido\n";}

//EXTRAS - Não brancos, mas inválidos --------------------^

if (alertMsg.length != l_Msg){alert(alertMsg);return false;}else{return true;}
}
}





function formCheckForm(formobj){
// Nome dos Campos
var fieldRequired = Array("Forma","Nome","Email","Sexo","Login","Senha","CPF","RG","Dt_Nasc","Endereco","Bairro","Cidade","Pais","CEP","Estado","Telefone");
// Nomes para Exibição
var fieldDescription = Array("Forma de Pagamento","Nome","Email","Sexo","Login","Senha","CPF","RG","Data de Nascimento","Endereço","Bairro","Cidade","País","CEP","Estado","Telefone");

var alertMsg = "Os seguintes campos vazios são obrigatórios:\n";
var l_Msg = alertMsg.length;
for (var i = 0; i < fieldRequired.length; i++){var obj = formobj.elements[fieldRequired[i]];if (obj){switch(obj.type){	case "select-one":if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == "" || obj.options[obj.selectedIndex].value == ""){alertMsg += " - " + fieldDescription[i] + "\n";}break;case "select-multiple":if (obj.selectedIndex == -1){alertMsg += " - " + fieldDescription[i] + "\n";}break;case "select-multiple":if (obj.selectedIndex == -1){alertMsg += " - " + fieldDescription[i] + "\n";}break;case "text":case "password":case "textarea":if (obj.value == "" || obj.value == null){alertMsg += " - " + fieldDescription[i] + "\n";}break;default:}if (obj.type == undefined){var blnchecked = false;for (var j = 0; j < obj.length; j++){if (obj[j].checked){blnchecked = true;}}if (!blnchecked){alertMsg += " - " + fieldDescription[i] + "\n";}}}}
if (alertMsg.length != l_Msg){alert(alertMsg);return false;}else{

//EXTRAS - Não brancos, mas inválidos --------------------v
alertMsg = "Os seguintes campos estão inválidos:\n";
l_Msg = alertMsg.length;

if(validacpf(formobj.CPF.value)==false){alertMsg += " - CPF Inválido\n";}
if(validadata(formobj.Dt_Nasc.value)==false){alertMsg += " - Data de Nascimento Inválida\n";}
if(formobj.CEP.value.length<8){alertMsg += " - Cep Inválido\n";}
if(validaemail(formobj.Email.value)==false){alertMsg += " - Email Inválido\n";}

//if(formobj.Forma[4].checked==true && formobj.Envio[1].checked==true){alertMsg += " - Esta forma de pagamento não é possível se você optar por Remessa Simples. \n";}
if (formobj.Forma[4].value=="3 Cheques"){
	if(formobj.Forma[4].checked==true && formobj.Ver_Envio.value=="REMESSA SIMPLES"){alertMsg += " - Esta forma de pagamento não é possível se você optar por Remessa Simples. \n";}
}

//EXTRAS - Não brancos, mas inválidos --------------------^

if (alertMsg.length != l_Msg){alert(alertMsg);return false;}else{return true;}
}
}



function validadata2(pStr)
{
	if (pStr != ""){
	reDate = /^\d{2}\/\d{4}$/;
		if (reDate.test(pStr) && pStr.length>0) {
			if(parseInt(pStr.substring(0,2))<=12 && parseInt(pStr.substring(3,7))>=1900 )
			{return true;}else{return false;}
			
		} else{return false;}
	}	
} 


function formCheckTrabalhe(formobj){
	// Nome dos Campos
	var fieldRequired = Array("Nome","Email","Endereco","Bairro","Cidade","Estado","CEP","Telefone","Idade","CPF","RG");
	// Nomes para Exibição
	var fieldDescription = Array("Nome","Email","Endereço","Bairro","Cidade","Estado","CEP","Telefone","Idade","CPF","RG");
	
	var alertMsg = "Os seguintes campos vazios são obrigatórios:\n";
	var l_Msg = alertMsg.length;
	for (var i = 0; i < fieldRequired.length; i++){var obj = formobj.elements[fieldRequired[i]];if (obj){switch(obj.type){	case "select-one":if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == "" || obj.options[obj.selectedIndex].value == ""){alertMsg += " - " + fieldDescription[i] + "\n";}break;case "select-multiple":if (obj.selectedIndex == -1){alertMsg += " - " + fieldDescription[i] + "\n";}break;case "select-multiple":if (obj.selectedIndex == -1){alertMsg += " - " + fieldDescription[i] + "\n";}break;case "text":case "password":case "textarea":if (obj.value == "" || obj.value == null){alertMsg += " - " + fieldDescription[i] + "\n";}break;default:}if (obj.type == undefined){var blnchecked = false;for (var j = 0; j < obj.length; j++){if (obj[j].checked){blnchecked = true;}}if (!blnchecked){alertMsg += " - " + fieldDescription[i] + "\n";}}}}
	if (alertMsg.length != l_Msg){alert(alertMsg);return false;}else{
	
	//EXTRAS - Não brancos, mas inválidos --------------------v
	alertMsg = "Os seguintes campos estão inválidos:\n";
	l_Msg = alertMsg.length;
	
	if(validacpf(formobj.CPF.value)==false){alertMsg += " - CPF Inválido\n";}
	if(formobj.CEP.value.length<8){alertMsg += " - Cep Inválido\n";}
	if(validaemail(formobj.Email.value)==false){alertMsg += " - Email Inválido\n";}
	if(validadata2(formobj.Inicio_Ultima_Empresa.value)==false){alertMsg += " - Data de Início da ultima Empresa \n";}
	if(validadata2(formobj.Termino_Ultima_Empresa.value)==false){alertMsg += " - Data de Saída da ultima Empresa. \n";}
	if(validadata2(formobj.Inicio_Penultima_Empresa.value)==false){alertMsg += " - Data de Início da penúltima Empresa \n";}
	if(validadata2(formobj.Termino_Penultima_Empresa.value)==false){alertMsg += " - Data de Saída da penúltima Empresa \n";}
	if(validadata2(formobj.Inicio_Outra_Empresa.value)==false){alertMsg += " - Data de Início da outra Empresa \n";}
	if(validadata2(formobj.Termino_Outra_Empresa.value)==false){alertMsg += " - Data de Saída da outra Empresa \n";}
	
	//EXTRAS - Não brancos, mas inválidos --------------------^
	
	if (alertMsg.length != l_Msg){alert(alertMsg);return false;}else{return true;}
	}
}

function formCheckFrete(formobj){
	// Nome dos Campos
	var fieldRequired = Array("Envio","Estado","Regiao");
	// Nomes para Exibição
	var fieldDescription = Array("Forma de Envio");
	
	var alertMsg = "O seguinte campo é obrigatório:\n";
	var l_Msg = alertMsg.length;
	for (var i = 0; i < fieldRequired.length; i++){var obj = formobj.elements[fieldRequired[i]];if (obj){switch(obj.type){	case "select-one":if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == "" || obj.options[obj.selectedIndex].value == ""){alertMsg += " - " + fieldDescription[i] + "\n";}break;case "select-multiple":if (obj.selectedIndex == -1){alertMsg += " - " + fieldDescription[i] + "\n";}break;case "select-multiple":if (obj.selectedIndex == -1){alertMsg += " - " + fieldDescription[i] + "\n";}break;case "text":case "password":case "textarea":if (obj.value == "" || obj.value == null){alertMsg += " - " + fieldDescription[i] + "\n";}break;default:}if (obj.type == undefined){var blnchecked = false;for (var j = 0; j < obj.length; j++){if (obj[j].checked){blnchecked = true;}}if (!blnchecked){alertMsg += " - " + fieldDescription[i] + "\n";}}}}
	if (alertMsg.length != l_Msg){alert(alertMsg);return false;}else{
	
	//EXTRAS - Não brancos, mas inválidos --------------------v
	alertMsg = "Os seguintes campos estão inválidos:\n";
	l_Msg = alertMsg.length;
	
	//EXTRAS - Não brancos, mas inválidos --------------------^
	
	if (alertMsg.length != l_Msg){alert(alertMsg);return false;}else{return true;}
	}
}
