$(function() {
  label_to_placeholder();

  $('form#newsletter_form input[type=submit]').live('click', function(e) {
    e.preventDefault();
    submit_form($(this).parents('form'), $(this));
  });
  
  $('a.upscale').bind('click', function(e) {
    var zoom = $('body').css('zoom');
    zoom = (zoom != "" && zoom != "normal")? zoom*1.1 : 1.1;
    $('body').css({'zoom': zoom, '-moz-transform': 'scale('+zoom+')'});
    if ($.browser.mozilla) { $('body').css('margin-top', String(60*zoom)+'px');}
  });
  $('a.downscale').bind('click', function(e) {
    var zoom = $('body').css('zoom');
    zoom = (zoom != "" && zoom != "normal")? zoom/1.1 : 0.9;
    $('body').css({'zoom': zoom, '-moz-transform': 'scale('+zoom+')'});
    if ($.browser.firefox) { $('body').css('margin-top', String(60*zoom)+'px');}
  });
  $('.image-list a').lightBox({fixedNavigation:true});
  $('textarea.embed-code').bind('mouseup', function(e) { $(this).select();});
});

function submit_form (form, button) {
  var post_data = form.serializeArray();
  post_data.push({name: button.attr('name'), value: button.val()});
  $.post(form.attr('action'),
    post_data,
    function(data, status) {
      if (status == "success")
      {
        form.html(data);
        label_to_placeholder();
      }
      else
      {
        form.html('<p>Ein Fehler ist aufgetreten.</p>');
      }
    });
}

function label_to_placeholder () {
  if (supports_input_placeholder())
  {
    $('input[type=text],input[type=password],textarea').each(function() {
      if ($(this).parents('#generator_form').length) return;
      var $label = $(this).prev('label');
      $(this).attr('placeholder', $label.text());
      $label.hide();
    });
  } else {
    $('input[type=text],input[type=password],textarea').each(function() {
      if ($(this).parents('#generator_form').length) return;
      if ($(this).attr('id') != "id_honeypot" && $(this).val() == "")
      {
        var $label = $(this).prev('label');
        $(this).attr({'title': $label.text(), 'value': $label.text()});
        $label.hide();
      }
    });
  }
}

function supports_input_placeholder() {
  var i = document.createElement('input');
  return 'placeholder' in i;
}

