function formValid() {
var missingFields = false;
var missingMessage = "";

if (mainForm.first.value == "") {
if (missingMessage != "") {missingMessage = missingMessage + ", ";}  missingMessage += "nome"; missingFields = true;
}

if (mainForm.last.value == "") {
if (missingMessage != "") {missingMessage = missingMessage + ", ";}  missingMessage += "sobrenome"; missingFields = true;
}

if (mainForm.email.value == ""){
if (missingMessage != "") {missingMessage = missingMessage + ", ";}  missingMessage += "endere&ccedil;o de e-mail"; missingFields = true;
}

if (mainForm.postal_code.value == "") {
if (missingMessage != "") {missingMessage = missingMessage + ", ";} missingMessage += "c&oacute;digo postal (se n&atilde;o tiver c&oacute;digo postal, digite \"nenhum\")"; missingFields = true;
}

if (mainForm.country.value == "") {
if (missingMessage != "") {missingMessage = missingMessage + ", ";} missingMessage += "local"; missingFields = true;
}

if (mainForm.month.value == "") {
if (missingMessage != "") {missingMessage = missingMessage + ", ";} missingMessage += "m&ecirc;s de nascimento"; missingFields = true;
}

if (mainForm.day.value == "") {
if (missingMessage != "") {missingMessage = missingMessage + ", ";} missingMessage += "dia de nascimento"; missingFields = true;
}

if (mainForm.comment.value == "") {
if (missingMessage != "") {missingMessage = missingMessage + " e ";} missingMessage += "mensagem ou pergunta para a Coca-Cola"; missingFields = true;
}

if (missingFields == true) {
  alert("Favor digitar seu " + missingMessage + ".");
  return false;
} else {
return checkEmail(mainForm);
}
}
function checkEmail(mainForm) {
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(mainForm.email.value)){
  return pcodeCheck(document.mainForm.postal_code.value);
}
  alert("Favor digitar um endere&ccedil;o de e-mail v&aacute;lido.");
  document.mainForm.email.focus();
  return false;
}

function validateYear(year) {
var okYear = document.mainForm.year;

if (okYear.value == "") {
  alert("Favor digitar um ano v&aacute;lido com 4 d&iacute;gitos.");
  return false;
} else {
if (isNaN(okYear.value)) {
  alert("Favor digitar um ano v&aacute;lido com 4 d&iacute;gitos.");
  okYear.select();
  okYear.focus();
  return false;
}

var year = parseInt(okYear.value);
var minYear = "1894";
var maxYear = "2004";
  if (okYear.value.length != 4 || year == 0 || year < minYear || year > maxYear) {
  alert("Favor digitar um ano v&aacute;lido com 4 d&iacute;gitos.");
  okYear.select();
  okYear.focus();
  return false;
  } else {
  return checkDate();
  }
}
return true;
}

function checkDate(){
var form = document.mainForm;
var day = form.day.value;
var month = form.month.value;
var year = form.year.value;

  if (((month == 4) || (month == 6) || (month == 9) || (month == 11)) && (day == 31)) { 
  alert("Desculpe, a data de nascimento selecionada n&atilde;o &eacute; v&aacute;lida."); 
  return false;
  } else if ((month == 2) && ((day == 30) || (day == 31))) {
  alert("Desculpe, a data de nascimento selecionada n&atilde;o &eacute; v&aacute;lida."); 
  return false;   
  } else if ((month == 2) && (day == 29) && (((year % 4) != 0) && ((year % 100) != 0))) {
  alert("Desculpe, a data de nascimento selecionada n&atilde;o &eacute; v&aacute;lida."); 
  return false;
  } else {
  return thatWorks();
  }
}

function findCommunication() {
var phone = document.mainForm.phone.value;
var perfd = document.mainForm.preferred;
var nums = perfd.selectedIndex;
  if (nums != 0 && perfd.options[nums] && phone == "") { 
    window.alert('Voc&ecirc; escolheu ser contactado por ' + (perfd.value) + ', mas n&atilde;o forneceu um n&uacute;mero de telefone.');
    document.mainForm.phone.focus();
  } else {
  return true;
  }
}

function pcodeCheck(field){
zip = document.mainForm.postal_code;
var country = document.mainForm.country;
var sel = country.selectedIndex;
var valid = "0123456789";
var count = 0;

for (var i=0; i < field.length; i++) {
  temp = "" + field.substring(i, i+1);
	if (temp == "-") count++;
	if ((sel == 233) && (isNaN(zip.value))) {
	  alert('Voc&ecirc; escolheu Estados Unidos como seu local, mas n&atilde;o forneceu um c&oacute;digo postal correto.  Favor digitar os 5 caracteres num&eacute;ricos no campo C&oacute;digo Postal.');
	  zip.focus();
	  zip.select();
	  return false;
	} else if (sel == 233 && zip.value.length != 5) {
	  alert('Favor digitar os 5 caracteres num&eacute;ricos no campo C&oacute;digo Postal.');
	  zip.focus();
	  zip.select();
	  return false;
	} else {
	return validateYear();
	}
  }
}

function readCookie(cookieName) {
var cookieString = document.cookie;
var cookieSet = cookieString.split (';');
var setSize = cookieSet.length;
var returnValue = "";
var cookiePieces;
var c = 0;
  
for (c = 0; ((c < setSize) && (returnValue == "")); c++) {
cookiePieces = cookieSet[c].split ('=');
  if (cookiePieces[0].substring (0,1) == ' ') {
    cookiePieces[0] = cookiePieces[0].substring (1, cookiePieces[0].length);
  }
  if (cookiePieces[0] == cookieName) {
    returnValue = cookiePieces[1];
  }
}
  if (returnValue == 'yes') {
    return true;
  }
  else if (returnValue == 'no') {
    alert("Embora estejamos gratos por voc&ecirc; querer nos enviar uma mensagem, a Lei de Prote&ccedil;&atilde;o de Privacidade Online das Crian&ccedil;as pro&iacute;be que coletemos informa&ccedil;&otilde;es de consumidores menores de 13 anos. Entretanto, voc&ecirc; pode nos contactar por telefone. Desculpe-nos por qualquer inconveniente que isso possa causar.  Se quiser que sua solicita&ccedil;&atilde;o seja respondida por e-mail, favor incluir seu endere&ccedil;o de e-mail em sua carta.\n\nIndustry and Consumer Affairs\nThe Coca-Cola Company\n1 Coca-Cola Plaza\nAtlanta, GA 30313\n800-438-2653 (fone)");
    document.location.href='/mail/coppa.html';
    return false;
  }
}

function writeCookie(cookieName,cookieValue) {
var expDate = new Date();
  expDate.setTime (expDate.getTime() + (1000 * 60 * 60 * 24));
  document.cookie = cookieName + "=" + escape (cookieValue) + "; expires=" + expDate.toGMTString();
}

function dateFix(date) {
  var base = new Date(0);
  var skew = base.getTime();
  if (skew > 0) { date.setTime(date.getTime() - skew); }
}

function howOld(month,day,year) {
var a = new Date();

dateFix(a);
	 
var thisDay = a.getDate();
var thisMonth = a.getMonth() + 1;
var thisYear = a.getFullYear();
var yearsOld = thisYear - year; 
var monthsOld = 0;
var daysOld = 0;
var age = '';

  if (thisMonth >= month) {
    monthsOld = thisMonth - month;
    } else {
      yearsOld--;
      monthsOld = thisMonth + 12 - month;
    }
  if (thisDay >= day) {
    daysOld = thisDay - day;
    } else {
  if (monthsOld > 0) {
    monthsOld--;
    } else {
      yearsOld--;
      monthsOld += 11;
    }
    daysOld = thisDay + 31 - day;
    }
    if (yearsOld < 0) return '';
    if ((yearsOld == 0) && (monthsOld == 0) && (daysOld == 0)) return '';
    if (yearsOld > 0) {
      age = yearsOld;
      if (yearsOld > 1) age;
      age += ' ';
    }
    return age;
}

function thatWorks() {
var form = document.mainForm;
var age = howOld(form.day.value, form.month.value, form.year.value);
var dob;
 
 if((age > 12) && (age <= 110)) {
    dob = form.month.value + "-" + form.day.value + "-" + form.year.value;
	writeCookie('submit','yes');
 } else {
   writeCookie('submit','no');
   alert("Embora estejamos gratos por voc&ecirc; querer nos enviar uma mensagem, a Lei de Prote&ccedil;&atilde;o de Privacidade OnLine das Crian&ccedil;as pro&iacute;be que coletemos informa&ccedil;&otilde;es de consumidores menores de 13 anos. Entretanto, voc&ecirc; pode nos contactar por telefone. Desculpe-nos por qualquer inconveniente que isso possa causar.  Se quiser que sua solicita&ccedil;&atilde;o seja respondida por e-mail, favor incluir seu endere&ccedil;o de e-mail em sua carta.\n\nIndustry and Consumer Affairs\nThe Coca-Cola Company\n1 Coca-Cola Plaza\nAtlanta, GA 30313\n800-438-2653 (fone)");
   document.location.href='/mail/coppa.html';
   return false;
   }
return true;
}
