window.addEvent("domready", function() {
  if ($("frm_groups")) {
    var daysNames = DateFormat.getWeekDayInitials();
    //daysNames.unshift(daysNames.pop());
    daysNames.push(daysNames.shift());
    var monthNames = DateFormat.getMonthNames();//$("MonthNames").value.split(",");
    new Calendar({ 'in': 'd/m/Y', 'out': 'd/m/Y' },
                  { 'direction': 0.5, 'offset':1, 'tweak': {x:-160, y:30}, 'days': daysNames, 'months': monthNames });
  }
  handleSubmit($("frm_groups"));
  handleSubmit($("frm_contact_us"));

  // Página Newsletter
  (function() {
    var form = $("newsletter-form");
    var email = $("email_pag");
    var accept = $("terms_accept");
    var email_error = $("email_pag_error");
    var accept_error = $("terms_accept_error");
    if (form !== null) {
      FormTips.init(form);
      form.addEvent("submit", function(event) {
        var error = false;
        event.stop();

        if (email.value.trim().test(/.+@.+\.[^\.]{2,3}$/)) {
          if (email_error) email_error.addClass("novis");
        } else {
          error = true;
          if (email_error) email_error.removeClass("novis");
        }

        if (accept.checked) {
          if (accept_error) accept_error.addClass("novis");
        } else {
          error = true;
          if (accept_error) accept_error.removeClass("novis");
        }

        if (!error) form.submit();
      });
      
      var preview_link = $("newsletter-preview");
      if (preview_link !== null) {
        preview_link.set("target", "_blank");
      }
    }
    $$("#newsletter-cancel a").addEvent("click", function(event) {
      event.stop();
      var caption = $$("#newsletter-cancel h2")[0].innerHTML;
      var html = "<form action='newsletter_cancel.aspx' class='ajx form_data message' method='post'>"
               + "  <h2>" + window.labels["form.caption"] + "</h2>"
               + "  <fieldset class='row1' style='margin:20px'>"
               + "    <label class='i_text'>" + window.labels["form.email"] + ":"
               + "    <input name='email_pag'></label>"
               + "    <span class='button'><input type='submit' name='submit' value='" + window.labels["form.send"] + "'/></span>"
               + "  </fieldset>"
               + "</form>";
      var opts = { width:400, autoheight:true };
      FxBox.showContent(html, opts);
    });
  })();
});

function handleSubmit(form) {
	if (!form) return;
	form.addEvent("submit", function(ev) {
		ev.stop();
		if (validateRequired(form) & validateConditions()) form.submit();
	})
}

function validateRequired(form) {
	var list= form.getElements(".required");
	var errors = list.filter(function(i) {
		(!i.get("value") > " ")? i.addClass("frm_error"):i.removeClass("frm_error");
		return !(i.get("value") > " ");
	});
	return (errors.length==0);
}

function validateConditions() {
	($("terms_accept").checked)? $("terms_accept").getNext().removeClass("frm_error"):$("terms_accept").getNext().addClass("frm_error");
	return $("terms_accept").checked;
}