function CheckForm () {
        var errorMsg = "";
        var errorMsgLong = "";
        if (document.reg.txtNome.value.length == ""){
                errorMsg += "\n\tNome \t- Informe seu Nome";
        }
        if (document.reg.txtSobreNome.value.length == ""){
                errorMsg += "\n\tSobrenome \t- Informe seu Sobrenome";
        }    
		if (document.reg.txtDataNasc.value.length == ""){
                errorMsg += "\n\tData de Nascimento \t- Informe sua data de nascimento";
        } 
        if (document.reg.txtEnd.value.length == ""){
                errorMsg += "\n\tEndereço \t- Informe seu Endereço";
        }   
		if (document.reg.txtNum.value.length == ""){
                errorMsg += "\n\tNúmero \t- Informe o número da sua residência";
        }  
		if (document.reg.txtCep.value.length == "" || document.reg.txtCep2.value.length == "" ){
                errorMsg += "\n\tCEP \t- Informe corretamente o CEP da sua residência";
        }  
		if (document.reg.txtBai.value.length == ""){
                errorMsg += "\n\tBairro \t- Informe o Bairro em que você reside";
        }      
	if (document.reg.txtEmail.value.length <7&&(document.reg.txtEmail.value.indexOf("@",0)==-1||document.reg.txtEmail.value.indexOf(".",0)==-1)) {
		errorMsg += "\n\tEmail \t- Informe um e-mail válido";
		} 
		if (document.reg.txtCid.value.length == ""){
                errorMsg += "\n\tCidade\t\t- Informe a Cidade em que você reside";
        } 
        if (document.reg.txtEst.value.length == ""){
                errorMsg += "\n\tEstado\t\t- Informe o Estado em que você reside";
        } 
		if (document.reg.txtTelRes.value.length == "" || document.reg.txtTelRes2.value.length == "" || document.reg.txtTelRes3.value.length == "" ){
                errorMsg += "\n\tTelefone\t\t- Preencha todos os campos do telefone";
        } 
        if (document.reg.txtLogin.value.length <= 3){
                errorMsg += "\n\tLogin \t- O nome de Usuário deve ter pelo menos 4 caracteres";
        }
        if (document.reg.txtPass.value.length <= 3){
                errorMsg += "\n\tPassword \t- A Senha deve ter pelo menos 4 caracteres";
        }
        if ((document.reg.txtPass.value) != (document.reg.txtPass2.value)){
                errorMsg += "\n\tPassword Error\t- A Senha não bate";
                document.reg.txtPass.value = "";
                document.reg.txtPass2.value = "";
        } 
        if (document.reg.txtResSeqQ.value.length == ""){
                errorMsg += "\n\tResposta Secreta\t- Informe uma Resposta para a Questão de Segurança";
        } 
        if (document.reg.agree.checked == false){
                errorMsg += "\n\tAceitar os Termos\t- Você deve aceitar os Termos de Uso";
        }
		if (document.reg.key_ent.value.length == ""){
                errorMsg += "\n\tCódigo\t- Digite o código da imagem";
        } 
	if ((errorMsg != "") || (errorMsgLong != "")){
		msg = "_________________________________________________________________\n\n";
		msg += "O cadastro não pode ser submetido devido ao(s) problema(s).\n";
		msg += "Corrija e tente novamente.\n";
		msg += "_________________________________________________________________\n\n";
		msg += "O(s) seguinte(s) erro(s) precisa(am) ser corrigido(s): -\n";

		errorMsg += alert(msg + errorMsg + "\n" + errorMsgLong);
		return false;
	}

	return true;
}
function stat () {
		if (CheckForm()== true) {
			document.reg.Agreement.value = "Por favor aguarde o Assistente registrar sua Conta......";
		}
}
function agree () {
			document.reg.Agreement.value = "TROCA OU DEVOLUÇÕES:\n\nCaso o produto que você receba não esteja de acordo com o previsto, poderá ser substituído por outro idêntico ou à sua escolha, de igual valor. Caso haja diferença de preço a nosso favor deverá ser feito pagamento complementar; se a favor do comprador, a importância será devolvida. Em caso de devolução pura e simples, desde que aceita, logo após a chegada do produto em nossas mãos, o valor pago será creditado via depósito em conta ou outra forma a combinar. Em qualquer das situações o produto deverá estar intacto, ou seja, nas mesmas condições em que foi enviado, sem defeitos ou violação da embalagem, caso contrário não será aceito e devolvido mediante pagamento de novo frete à escolha do comprador, sem ressarcimento ou possibilidade de troca por outro(s) produto(s). O prazo de devolução é de 5 (cinco) dias úteis e o contato com justificativa, deve ser feito pelo e-mail: cards@magichouse.com.br. \n\nATRASOS NA ENTREGA:\nEventuais atrasos na entrega por motivos involuntários ou alheios à Magic House, não serão considerados motivos de troca ou devolução. Nossa responsabilidade cessa no momento em que o material é entregue à transportadora. Para prevenir perdas ou prejuízos aconselhamos o uso de carta registrada com seguro.\n\nIMPOSSIBILIDADE DE ENTREGA:\nAlgumas formas de envio requerem alguém para atender e atestar o recebimento da encomenda. Caso não haja ninguém para fazê-lo, após a terceira tentativa de entrega ela nos será devolvida, ficando o comprador intimado a nos avisar por e-mail e pagar novo frete para ter o seu pedido de volta. Até então, a mercadoria ficará depositada na Magic House. Alertamos que isso não será considerado motivo de cancelamento ou devolução do pedido.\nEm caso de erros de cadastro no site, após a postagem e devolução do produto por destinatário inexistente, o procedimento será o mesmo do item anterior. Mantenha seu cadastro atualizado, em caso de mudança de endereço.\nUse o e-mail cards@magichouse.com.br para resolver qualquer dúvida relativa ao seu pedido.\n\nPOLÍTICA DE PRIVACIDADE:\nTodas as informações cedidas ao site www.magichouse.com.br por seus usuários são de uso exclusivo do mesmo, não sendo em hipótese alguma redirecionadas para outros fins, que não postagem e entrega de produtos adquiridos, envio de mala direta e e-mail marketing, uso em estatísticas, divulgação de produtos, eventos afins e promoções.\nConsulte periodicamente nossa política de privacidade e fique tranqüilo quanto ao sigilo das informações cadastradas em nosso banco de dados: são única e exclusivamente voltadas à busca da excelência em nosso atendimento a você, que nos prestigia e honra com sua visita.\n\nEquipe Magic House.\n";
		}
		
		
// DANDO TAB AUTOMÁTICO
var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
var keyCode = (isNN) ? e.which : e.keyCode; 
var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
if(input.value.length >= len && !containsElement(filter,keyCode)) {
input.value = input.value.slice(0, len);
input.form[(getIndex(input)+1) % input.form.length].focus();
}
function containsElement(arr, ele) {
var found = false, index = 0;
while(!found && index < arr.length)
if(arr[index] == ele)
found = true;
else
index++;
return found;
}
function getIndex(input) {
var index = -1, i = 0, found = false;
while (i < input.form.length && index == -1)
if (input.form[i] == input)index = i;
else i++;
return index;
}
return true;
}

// Formatando DATA
var isNav4 = false, isNav5 = false, isIE4 = false
var strSeperator = "/"; 
var vDateType = 3;
var vYearType = 4; 
var vYearLength = 2; 
var err = 0; 
if(navigator.appName == "Netscape") {
if (navigator.appVersion < "5") {
isNav4 = true;
isNav5 = false;
}
else
if (navigator.appVersion > "4") {
isNav4 = false;
isNav5 = true;
   }
}
else {
isIE4 = true;
}
function DateFormat(vDateName, vDateValue, e, dateCheck, dateType) {
vDateType = dateType;
if (vDateValue == "~") {
alert("AppVersion = "+navigator.appVersion+" \nNav. 4 Version = "+isNav4+" \nNav. 5 Version = "+isNav5+" \nIE Version = "+isIE4+" \nYear Type = "+vYearType+" \nDate Type = "+vDateType+" \nSeparator = "+strSeperator);
vDateName.value = "";
vDateName.focus();
return true;
}
var whichCode = (window.Event) ? e.which : e.keyCode;
if (vDateValue.length > 8 && isNav4) {
if ((vDateValue.indexOf("-") >= 1) || (vDateValue.indexOf("/") >= 1))
return true;
}
var alphaCheck = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/-";
if (alphaCheck.indexOf(vDateValue) >= 1) {
if (isNav4) {
vDateName.value = "";
vDateName.focus();
vDateName.select();
return false;
}
else {
vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
return false;
   }
}
if (whichCode == 8) 
return false;
else {
var strCheck = '47,48,49,50,51,52,53,54,55,56,57,58,59,95,96,97,98,99,100,101,102,103,104,105';
if (strCheck.indexOf(whichCode) != -1) {
if (isNav4) {
if (((vDateValue.length < 6 && dateCheck) || (vDateValue.length == 7 && dateCheck)) && (vDateValue.length >=1)) {
alert("Data inválida\nDigite novamento no formato dd/mm/aaaa");
vDateName.value = "";
vDateName.focus();
vDateName.select();
return false;
}
if (vDateValue.length == 6 && dateCheck) {
var mDay = vDateName.value.substr(2,2);
var mMonth = vDateName.value.substr(0,2);
var mYear = vDateName.value.substr(4,4)
if (mYear.length == 2 && vYearType == 4) {
var mToday = new Date();
var checkYear = mToday.getFullYear() + 30; 
var mCheckYear = '20' + mYear;
if (mCheckYear >= checkYear)
mYear = '19' + mYear;
else
mYear = '20' + mYear;
}
var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
if (!dateValid(vDateValueCheck)) {
alert("Data Inválida\nDigite novamente no formato dd/mm/aaaa");
vDateName.value = "";
vDateName.focus();
vDateName.select();
return false;
}
return true;
}
else {
if (vDateValue.length >= 8  && dateCheck) {
if (vDateType == 1)
{
var mDay = vDateName.value.substr(2,2);
var mMonth = vDateName.value.substr(0,2);
var mYear = vDateName.value.substr(4,4)
vDateName.value = mMonth+strSeperator+mDay+strSeperator+mYear;
}
if (vDateType == 2)
{
var mYear = vDateName.value.substr(0,4)
var mMonth = vDateName.value.substr(4,2);
var mDay = vDateName.value.substr(6,2);
vDateName.value = mYear+strSeperator+mMonth+strSeperator+mDay;
}
if (vDateType == 3)
{
var mMonth = vDateName.value.substr(2,2);
var mDay = vDateName.value.substr(0,2);
var mYear = vDateName.value.substr(4,4)
vDateName.value = mDay+strSeperator+mMonth+strSeperator+mYear;
}
var vDateTypeTemp = vDateType;
vDateType = 1;
var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
if (!dateValid(vDateValueCheck)) {
alert("Data inválida\nDigite Novamente no Formato dd/mm/aaaa");
vDateType = vDateTypeTemp;
vDateName.value = "";
vDateName.focus();
vDateName.select();
return false;
}
vDateType = vDateTypeTemp;
return true;
}
else {
if (((vDateValue.length < 8 && dateCheck) || (vDateValue.length == 9 && dateCheck)) && (vDateValue.length >=1)) {
alert("Data inválida\nDigite Novamente no Formato dd/mm/aaaa");
vDateName.value = "";
vDateName.focus();
vDateName.select();
return false;
         }
      }
   }
}
else {
if (((vDateValue.length < 8 && dateCheck) || (vDateValue.length == 9 && dateCheck)) && (vDateValue.length >=1)) {
alert("Data inválida\ndigite novamente no Formato dd/mm/aaaa");
vDateName.value = "";
vDateName.focus();
return true;
}
if (vDateValue.length >= 8 && dateCheck) {

if (vDateType == 1)
{
var mMonth = vDateName.value.substr(0,2);
var mDay = vDateName.value.substr(3,2);
var mYear = vDateName.value.substr(6,4)
}
if (vDateType == 2)
{
var mYear = vDateName.value.substr(0,4)
var mMonth = vDateName.value.substr(5,2);
var mDay = vDateName.value.substr(8,2);
}
if (vDateType == 3)
{
var mDay = vDateName.value.substr(0,2);
var mMonth = vDateName.value.substr(3,2);
var mYear = vDateName.value.substr(6,4)
}
if (vYearLength == 4) {
if (mYear.length < 4) {
alert("Data inválida\ndigite novamente no Formato dd/mm/aaaa");
vDateName.value = "";
vDateName.focus();
return true;
   }
}
var vDateTypeTemp = vDateType;
vDateType = 1;
var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
if (mYear.length == 2 && vYearType == 4 && dateCheck) {
var mToday = new Date();
var checkYear = mToday.getFullYear() + 30; 
var mCheckYear = '20' + mYear;
if (mCheckYear >= checkYear)
mYear = '19' + mYear;
else
mYear = '20' + mYear;
vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
if (vDateTypeTemp == 1)
vDateName.value = mMonth+strSeperator+mDay+strSeperator+mYear;
if (vDateTypeTemp == 3)
vDateName.value = mDay+strSeperator+mMonth+strSeperator+mYear;
} 
if (!dateValid(vDateValueCheck)) {
alert("Data inválida\ndigite novamente no Formato dd/mm/aaaa");
vDateType = vDateTypeTemp;
vDateName.value = "";
vDateName.focus();
return true;
}
vDateType = vDateTypeTemp;
return true;
}
else {
if (vDateType == 1) {
if (vDateValue.length == 2) {
vDateName.value = vDateValue+strSeperator;
}
if (vDateValue.length == 5) {
vDateName.value = vDateValue+strSeperator;
   }
}
if (vDateType == 2) {
if (vDateValue.length == 4) {
vDateName.value = vDateValue+strSeperator;
}
if (vDateValue.length == 7) {
vDateName.value = vDateValue+strSeperator;
   }
} 
if (vDateType == 3) {
if (vDateValue.length == 2) {
vDateName.value = vDateValue+strSeperator;
}
if (vDateValue.length == 5) {
vDateName.value = vDateValue+strSeperator;
   }
}
return true;
   }
}
if (vDateValue.length == 10&& dateCheck) {
if (!dateValid(vDateName)) { 
alert("Data inválida\nDigite Novamente no Formato dd/mm/aaaa");
vDateName.focus();
vDateName.select();
   }
}
return false;
}
else {
if (isNav4) {
vDateName.value = "";
vDateName.focus();
vDateName.select();
return false;
}
else
{
vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
return false;
         }
      }
   }
}
function dateValid(objName) {
var strDate;
var strDateArray;
var strDay;
var strMonth;
var strYear;
var intday;
var intMonth;
var intYear;
var booFound = false;
var datefield = objName;
var strSeparatorArray = new Array("-"," ","/",".");
var intElementNr;
var strMonthArray = new Array(12);
strMonthArray[0] = "Jan";
strMonthArray[1] = "Feb";
strMonthArray[2] = "Mar";
strMonthArray[3] = "Apr";
strMonthArray[4] = "May";
strMonthArray[5] = "Jun";
strMonthArray[6] = "Jul";
strMonthArray[7] = "Aug";
strMonthArray[8] = "Sep";
strMonthArray[9] = "Oct";
strMonthArray[10] = "Nov";
strMonthArray[11] = "Dec";
strDate = objName;
if (strDate.length < 1) {
return true;
}
for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {
if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) {
strDateArray = strDate.split(strSeparatorArray[intElementNr]);
if (strDateArray.length != 3) {
err = 1;
return false;
}
else {
strDay = strDateArray[0];
strMonth = strDateArray[1];
strYear = strDateArray[2];
}
booFound = true;
   }
}
if (booFound == false) {
if (strDate.length>5) {
strDay = strDate.substr(0, 2);
strMonth = strDate.substr(2, 2);
strYear = strDate.substr(4);
   }
}
if (strYear.length == 2) {
strYear = '20' + strYear;
}
strTemp = strDay;
strDay = strMonth;
strMonth = strTemp;
intday = parseInt(strDay, 10);
if (isNaN(intday)) {
err = 2;
return false;
}
intMonth = parseInt(strMonth, 10);
if (isNaN(intMonth)) {
for (i = 0;i<12;i++) {
if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {
intMonth = i+1;
strMonth = strMonthArray[i];
i = 12;
   }
}
if (isNaN(intMonth)) {
err = 3;
return false;
   }
}
intYear = parseInt(strYear, 10);
if (isNaN(intYear)) {
err = 4;
return false;
}
if (intMonth>12 || intMonth<1) {
err = 5;
return false;
}
if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
err = 6;
return false;
}
if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
err = 7;
return false;
}
if (intMonth == 2) {
if (intday < 1) {
err = 8;
return false;
}
if (LeapYear(intYear) == true) {
if (intday > 29) {
err = 9;
return false;
   }
}
else {
if (intday > 28) {
err = 10;
return false;
      }
   }
}
return true;
}
function LeapYear(intYear) {
if (intYear % 100 == 0) {
if (intYear % 400 == 0) { return true; }
}
else {
if ((intYear % 4) == 0) { return true; }
}
return false;
}

