// Ziel-Datum in MEZ
var jahr=2010, monat=7, tag=16, stunde=0, minute=00, sekunde=0;
var zielDatum = new Date(jahr,monat-1,tag,stunde,minute,sekunde);

function countdown()
{
   //console.log("countdown");
   startDatum = new Date(); // Aktuelles Datum

   // Countdown berechnen und anzeigen, bis Ziel-Datum erreicht ist
   if(startDatum < zielDatum)
   {
      var jahre=0, monate=0, tage=0, stunden=0, minuten=0, sekunden=0;

      // Jahre
      while(startDatum<zielDatum)
      {
         jahre++;
         startDatum.setFullYear(startDatum.getFullYear()+1);
      }
      startDatum.setFullYear(startDatum.getFullYear()-1);
      jahre--;

      // Monate
      while(startDatum<zielDatum)
      {
         monate++;
         startDatum.setMonth(startDatum.getMonth()+1);
      }
      startDatum.setMonth(startDatum.getMonth()-1);
      monate--;

      // Tage
      while(startDatum.getTime()+(24*60*60*1000)<zielDatum)
      {
         tage++;
         startDatum.setTime(startDatum.getTime()+(24*60*60*1000));
      }

      // Stunden
      stunden=Math.floor((zielDatum-startDatum)/(60*60*1000));
      startDatum.setTime(startDatum.getTime()+stunden*60*60*1000);

      // Minuten
      minuten=Math.floor((zielDatum-startDatum)/(60*1000));
      startDatum.setTime(startDatum.getTime()+minuten*60*1000);

      // Sekunden
      sekunden=Math.floor((zielDatum-startDatum)/1000);

      // Anzeige formatieren
      // (jahre!=1)?jahre=jahre+" Jahre,  ":jahre=jahre+" Jahr,  ";
      // (monate!=1)?monate=monate+" Monate,  ":monate=monate+" Monat,  ";
      (tage!=1)?tage=tage+" Tage":tage=tage+" Tag";
      // (stunden!=1)?stunden=stunden+" Stunden,  ":stunden=stunden+" Stunde,  ";
      // (minuten!=1)?minuten=minuten+" Minuten  und  ":minuten=minuten+" Minute  und  ";
      if(stunden<10) stunden="0"+stunden;
      if(minuten<10) minuten="0"+minuten;
      if(sekunden<10) sekunden="0"+sekunden;
      //   (sekunden!=1)?sekunden=sekunden+" Sekunden":sekunden=sekunden+" Sekunde";

      $('#countdownDaysSpan').html(tage);
      $('#countdownHour').html(stunden);
      $('#countdownMin').html(minuten);
      $('#countdownSec').html(sekunden);

      setTimeout('countdown()',200);
   }
   else // Anderenfalls alles auf Null setzen
   {
      $('#countdownDaysSpan').html("0 Tage");
      $('#countdownHours').html("00:00:00");
   }
}

function checkEmail()
{
   var email_val = $.trim($('#email_reminder').val());
   var div_conf = $('#reminder_conf');
   var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
   if (email_val == "")
      return false;
   else if (!pattern.test(email_val))
   {
      div_conf.html("Die eingegebene Email-Adresse ist nicht gültig.");
      div_conf.show();
      return false;
   }
   else
   {
      div_conf.hide();
      $.post(
         "server.php",
         {
            fnc: "reminder_email",
            email_reminder: email_val
         },
         function(data)
         {
            div_conf.html(data.msg);
            div_conf.show();
         }, "json"
      );
      return false;
   }
}

function checkForm()
{
   var ok = true;
   var fields = ["email_kontakt", "name", "vorname", "message"];
   var errorMsg = $("#msg");
   var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);

   for(var i = 0; i < fields.length; i++)
   {
      var inputFieldValue = $.trim($('#'+fields[i]).val());

      if(inputFieldValue == "")
      {
         $('#'+fields[i]).addClass("marked");
         ok = false;
      }
      else
      {
         if(i == 0)
         {
            if (!pattern.test(inputFieldValue))
            {
               $("#emailError").show();
               $('#'+fields[i]).addClass("marked");
               ok = false;
            }
            else
            {
               $("#emailError").hide();
               $('#'+fields[i]).removeClass("marked");
            }
         }
         else
         {
            $('#'+fields[i]).removeClass("marked");
         }
      }
   }

   if(!ok)
      $("#msg").show();

   return ok;
}

function reload_tweets()
{
   $.post(
      "server.php",
      {
         fnc: "reload_tweets"
      },
      function(data)
      {
         // alert(data.html_rt);
         $('#tweets').html(data.html_rt);
      }, "json"
   );
}

function resetEmail(el)
{
   if(el.value == "Deine Email-Adresse*")
      el.value = "";
}

function countTweets()
{
   $.post(
      "server.php",
      {
         fnc: "count_tweets"
      },
      function(data)
      {
         // alert(data.count);
         $('#countCount').html(data.count);
      }, "json"
   );
}

function supporters()
{
   $.post(
      "server.php",
      {
         fnc: "supporters"
      },
      function(data)
      {
         // alert(data.html_su);
         $('#supporters').html(data.html_su);
      }, "json"
   );
}

function social()
{
   $.post(
      "server.php",
      {
         fnc: "social"
      },
      function(data)
      {
         // alert(data.html_sc);
         $('#social').html(data.html_sc);
      }, "json"
   );
}

function facebook()
{
   $.post(
      "server.php",
      {
         fnc: "facebook"
      },
      function(data)
      {
         // alert(data.html_fb);
         $('#facebook').html(data.html_fb);
      }, "json"
   );
}

function checkPate()
{
   var ok = true;
   var fields = ["email_pate", "message"];
   var errorMsg = $("#msg");
   var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);

   for(var i = 0; i < fields.length; i++)
   {
      var inputFieldValue = $('#'+fields[i])[0].value;

      if($.trim(inputFieldValue) == "")
      {
         $('#'+fields[i]).addClass("marked");
         ok = false;
      }
      else
      {
         if(i == 0)
         {
            if (!pattern.test(inputFieldValue))
            {
               $("#emailError").show();
               $('#'+fields[i]).addClass("marked");
               ok = false;
            }
            else
            {
               $("#emailError").hide();
               $('#'+fields[i]).removeClass("marked");
            }
         }
         else
         {
            $('#'+fields[i]).removeClass("marked");
         }
      }
   }

   if(ok)
      ok = checkPateLength();

   if(!ok)
      $("#msg").show();

   return ok;
}

function checkPateLength()
{
   var max = 127;
   var errorMsg = $("#msg");

   var nameVal = $.trim($('#name').val());
   var messageVal = $.trim($('#message').val());
   
   curLength = nameVal.length+messageVal.length;
   diffLength = max-curLength;
   
   if(diffLength >= 0)
   {
      $('#message').removeClass("marked");
      $('#pateCounter').html("Noch "+diffLength+" Zeichen.");
      return true;
   }
   else
   {
      $('#message').addClass("marked");
      $('#pateCounter').html("Bitte kürze den Nachrichtentext.");
      return false;
   }
}
