/*
 * Datei: date_function.js
 * 
 * Enthält Funktionen zum Prüfen von Datumseingaben und Zeiträumen
 * 
 * 2007, netzpepper (shomrighausen@netzpepper.de)    
 *
 */  

function check_start(startdatumS){
    // Flag, ob valid oder nicht
    var validB = true; 
    var validstartB = true;
  
    if(startdatumS != ''){
      var heuteD = new Date();
      heute_ts = heuteD.valueOf(); 
      heute_ts = heute_ts - (3600*1000*24); 
      // gewähltes Datum splitten
      var startdatumA = startdatumS.split('.');
      
      // Stringteile in Datum konvertieren (Wichtig: Die Funktion convert_month() zum
      // Konvertieren des Monats aufrufen, da das Date-Objekt für Januar = 0 erwartet)
      startdatumS = new Date(startdatumA[2],convert_month(startdatumA[1]),startdatumA[0]);
      startdatum_ts = startdatumS.valueOf();
      
      if(startdatum_ts < heute_ts){
        validB = false;
        validstartB = false;
        alert('Das gewaehlte Startdatum liegt in der Vergangenheit!');
      } else {
        validstartB = true;
      }
    }
    return validstartB;
}

function check_stop(stopdatumS, startdatumS){

    // Flag, ob valid oder nicht
  var validB = true; 
  var validstopB = true;
  var heuteD = new Date();
  heute_ts = heuteD.valueOf();
  
  // Wenn Start- und Stopdatum uebergeben wurde
  if(stopdatumS != '' && startdatumS != ''){
    // gewähltes Datum splitten
    var stopdatumA = stopdatumS.split('.');
    var startdatumA = startdatumS.split('.');
  
    // Stringteile in Datum konvertieren (Wichtig: Die Funktion convert_month() zum
    // Konvertieren des Monats aufrufen, da das Date-Objekt für Januar = 0 erwartet)
    stopdatumS = new Date(stopdatumA[2],convert_month(stopdatumA[1]),stopdatumA[0]);
    startdatumS = new Date(startdatumA[2],convert_month(startdatumA[1]),startdatumA[0]);
    
    // Anreise in Timestamp umwandeln
    var stop_ts = stopdatumS.valueOf();
    var start_ts = startdatumS.valueOf();
    
    if(stop_ts < start_ts){
        validB = false;
        alert('Das gewaehlte Enddatum ist kleiner als das Startdatum!');
    }
  } 
  // Wenn nur das Stopdatum uebergeben wurde
  else if(stopdatumS != ''){
  
    alert(" stop: "+stopdatumS);
    // gewähltes Datum splitten
    var stopdatumA = stopdatumS.split('.');
    // Stringteile in Datum konvertieren (Wichtig: Die Funktion convert_month() zum
    // Konvertieren des Monats aufrufen, da das Date-Objekt für Januar = 0 erwartet)
    stopdatumS = new Date(stopdatumA[2],convert_month(stopdatumA[1]),stopdatumA[0]);
    // Anreise in Timestamp umwandeln
    var stop_ts = stopdatumS.valueOf();
    
    if(stop_ts < heute_ts){
        validB = false;
        alert('Das gewaehlte Stopdatum liegt in der Vergangenheit!');
    }
  }
  
  if(validB == false){
    validstopB = false;
  } else {
    validstopB = true;
  }
  return  validstopB;
}

function check_form(validstartB, validstopB){
    var message;
    var validformB = true;
    
    //alert("validstart: " + validstartB + " validstop: " + validstopB);
    
    if(validstartB == false){
        message = "Bitte korrigieren Sie das Startdatum!";
        validformB = false;    
    } 
    
    if(validstopB == false){
        if(message == ''){
            message = "Bitte korrigieren Sie das Enddatum!";
        } else {
            message = message + "\nBitte korrigieren Sie das Enddatum!";
        }
        validformB = false;
    }
    
    if(validformB == false){
        alert(message);
    }
    return validformB;
}

/*
 * function split_string
 * 
 * Teilt die Zeichenkette  
 *
 */  
function split_string(stringS, separatorS){
  var stringA = new Array();
  stringA = stringS.split(separatorS);
  return stringA;
}

/*
 * function convert_month
 * 
 * Berechnet den korrekten Monat für das Date-Objekt, welches
 * für Januar den Wert "0" benötigt.   
 *
 */  
function convert_month(month){
  var month;
  month = month - 1;
  return month;
}
