﻿var movie_height = 0;

function write_movie() {
  var new_height = document.body.clientHeight < 590 ? 300 : 420;
  if (new_height == movie_height) return;
  movie_height = new_height;
  var so = new SWFObject("background.swf", "background", "100%", "100%", "7", "#FFFFFF");
  so.addParam("wmode", "opaque");
  so.addParam("scale", "noborder");
  so.write("movie");
}

function open_pdf_win(url) {
  window.open(url, '', 'resizable');
}

function setup_pdf_links() {
  $("a.pdf-link").live("click", function(e) {
	open_pdf_win($(this).context.href);
	return false;
  });
}

function setup_login_form() {
  var form = $("#login_form");
  var ajax_validation_ok = form.find("input[name=ajax_validation_ok]");
  ajax_validation_ok.val("false");

  form.bind("submit", function(e) {
	if (ajax_validation_ok.val() == "true") return true;
	$.post("check_login.php", form.serialize(), function(data) {
	  if (data["login_ok"]) {
		ajax_validation_ok.val("true");
		form.trigger("submit");
	  } else {
		ajax_validation_ok.val("false");
		$("#login_error_message").html(data["message"]);
		$("#login_error_trigger").trigger("click");
	  }
	}, "json");
	return false;
  });
}

var regform_observe_interval = null;

function setup_regform_validation() {
  var form = $("#fancy_wrap .regform form");
  form.data("value", form.serialize());
  window.clearInterval(regform_observe_interval);
  regform_observe_interval = window.setInterval(function() { check_for_changes(form) }, 200);
  validate(form);
}

function check_for_changes(form) {
  var current_value = form.serialize();
  if (form.data("value") == current_value) return;
  form.data("value", current_value);
  validate(form); 
}

// Wird nach jeder Änderung des Registrierungsformulars aufgerufen (bei Änderungen in Textfeldern erst
// nach dem Verlassen des Textfeldes). Schickt den aktuellen Forminhalt via AJAX an das 
// PHP-Validierungsskript und erwartet eine JSON-Response mit Infos zur Gültigkeit der einzelnen Felder.
function validate(form) {
  $.post("validate_regform.php", form.serialize(), function(data) {
	form.find(".error").remove();
	for (var field in data) {
	  if (field == "_common_message") 
		form.find(".common_message").html(data[field]);
	  else
		form.find("[name=" + field + "]").after("<span class='error'><img src='../graphics/mod_welcome/error.png' alt='FEHLER!' title='" + data[field] + "'></span>");
	}
	var button = form.find("input[name=submit]");
	if (data["_valid"]) {
	  button.removeAttr("disabled");
	  button.removeClass("disabled");
	} else {
	  button.attr("disabled", "disabled");
	  button.addClass("disabled");
	}
  }, "json");
}

// window.onresize = function() { write_movie() };

$(document).ready(function() { 
  setup_pdf_links();    
  setup_login_form();      
  $.extend($.fn.fancybox.defaults, { hideOnContentClick: false, frameWidth: 500, frameHeight: 390, overlayOpacity: 0.8 });
  $("a.lightbox-link").fancybox(); 
  $("a.lightbox-link[href=#agb]").fancybox({ frameWidth: 810 });
  $("a.lightbox-link[href=#partner]").fancybox({ frameWidth: 810 });
  $("a.lightbox-link[href=#register_form]").fancybox({ callbackOnShow: setup_regform_validation });
});
