<?php
    require_once($_SERVER['DOCUMENT_ROOT'].'jformer.php');
    require_once($_SERVER['DOCUMENT_ROOT'].'db.php');
  
    session_start();    
    
    if ( (!isset($_SESSION['uid'])) || ($_SESSION['uid'] == "") )
    {
        error_log("ERROR: STEP 4 wurde mit folgender UID aufgerufen:>".$_SESSION['uid']."<");
        header('Location: index.php');
    }
    $uid = $_SESSION['uid'];
    
    $mydb = new DB_MySQL();
        
    $mydb->query("SELECT *, DATE_FORMAT(vorbereitungstag,'%d.%m.%Y') AS FormateDate, DATE_FORMAT(beginn,'%d.%m.%Y') AS Zeltlagerstart FROM `VerwaltungLagerplatz` ORDER BY `VerwaltungLagerplatz`.`jahr` DESC LIMIT 1");
    $row = $mydb->fetchRow();
    $DatumVorbereitungstag = $row['FormateDate'];
    $DatumStartZeltlager = $row['Zeltlagerstart'];
     
    $mydb->query("SELECT DATE_FORMAT(a.geburtstag,'%d.%m.%Y') as geburtsdatum, b.mitglied FROM `AnmeldungPerson` as a join `AnmeldungPerson` as b on a.uid=b.uid WHERE a.uid='$uid'");
    $row = $mydb->fetchRow();
    $Geburtsdatum = $row['geburtsdatum'];
    $Mitglied = $row['mitglied'];
    
    $mydb->disconnect();   

    $Form = new JFormer('AdressForm',  array('submitButtonText' => '-> Anmeldung Step5'));

    $Form->addJFormComponentArray(array(       
        
    new JFormComponentHtml('<p><b>Zeltwunsch, Mitarbeiter,Auf- und Abbau...</b></p>'),
    new JFormComponentMultipleChoice('mitarbeiter', '', array(
              array(
                    'value' => '1', 'label' => 'Ich bin dieses Jahr Mitarbeiter',
                     'tip' => '<p>Wenn Ihr das erste mal als Mitarbeiter mitfahren wollt, kl&auml;rt dies bitte <b><u>vorher</u></b> mit der Lagerleitung ab.</p>',
                     'checked' => false,
                  ),
              
         ),
         array()
        ),
    
   
     new JFormComponentName('zeltwunsch', 'Er/Sie m&ouml;chte ins Zelt zu:<br>(Die Reihenfolge der Wünsche legt die Priorität fest)', array(
        'instanceOptions' => array(
	                            'max' => 4,
	                            'addButtonText' => 'Namen hinzufügen',
	                            'removeButtonText' => 'Namen l&ouml;schen',
'tip' => 'reihenfolge legt die Priorität fest',
	                            ),
        'dependencyOptions' => array(
                            	'dependentOn' => 'mitarbeiter',
    					        'display' => 'hide',
    					        'jsFunction' => '!$("#mitarbeiter-choice1").is(":checked");'
    				             ),
	    'middleInitialHidden' => true,
	    

	    )),
    
    //nur für Mitarbeter
    new JFormComponentSingleLineText('aufgabe', 'Im Zeltlager m&ouml;chte ich folgende Aufgabe(n) &uuml;bernehmen:', array(
            'width' => 'long',
            'validationOptions' => array('required'),
            'dependencyOptions' => array(
        	                	'dependentOn' => 'mitarbeiter',
    					        'display' => 'hide',
    					        'jsFunction' => '$("#mitarbeiter-choice1").is(":checked");'
    				             ),
            
        )),
    
    /*
    new JFormComponentDropDown('mitfahrzeitraum', 'Ich bin f&uuml;r folgenden Zeitraum im Zeltlager dabei:', array(
        array('value' => '1','label' => 'kompletten zwei Wochen', 'selected' => true),
        array('value' => '2','label' => 'nur die erste Woche inkl. Wochenende'),
        array('value' => '3','label' => 'nur die zweite Woche inkl. Wochenende'),
        array('value' => '4','label' => 'nur die erste Woche ohne Wochenende'),
        array('value' => '5','label' => 'nur die zweite Woche ohne Wochenende'),
        array('value' => '10','label' => 'freie Zeitangabe'),
        ),
        array(
        'dependencyOptions' => array(
                            	'dependentOn' => 'mitarbeiter',
    					        'display' => 'hide',
    					        'jsFunction' => '$("#mitarbeiter-choice1").is(":checked");'
    				             ),
        )),
    
    new JFormComponentSingleLineText('freiermitfahrzeitraum', 'Ich bin von-bis im Zeltlager', array(
            'validationOptions' => array('required'),
            'width' => 'long',
            'tip' => 'Hier k&ouml;nnt Ihr einen freien Zeitraum bzw. einzelne Tage angeben.',
            'dependencyOptions' => array(
                            	'dependentOn' => array('mitarbeiter', 'mitfahrzeitraum'),
    					        'display' => 'hide',
                                'jsFunction' => '$("#mitarbeiter-choice1").is(":checked") && $("#mitfahrzeitraum").val() == 10;'
    				             ),
            
        )),
    
    ));
    */
    
    new JFormComponentDropDown('mitfahrzeitraum', 'Mitfahrzeitraum:', array(
        array('value' => '1','label' => 'zwei Wochen', 'selected' => true),
        array('value' => '2','label' => 'erste Woche inkl. Wochenende'),
        array('value' => '3','label' => 'zweite Woche inkl. Wochenende'),
        array('value' => '4','label' => 'Wochenende (Freitag bis Sonntag'),
        ),
        array(
        'dependencyOptions' => array(
                            	'dependentOn' => 'mitarbeiter',
    					        'display' => 'hide',
    					        'jsFunction' => '$("#mitarbeiter-choice1").is(":checked");'
    				             ),
        )),
      ));
    
    //Wenn das Anmeldedatum nach dem Vorbereitungstag ist, wird das Feld nicht mehr angezeigt
    if (strtotime("now") < strtotime($DatumVorbereitungstag))
    {
        $Form->addJFormComponentArray(array(  
    
        new JFormComponentMultipleChoice('vorbereitungstag', '<font size=+1>Zeltlagervorbereitungstag '. $DatumVorbereitungstag . '</font>', array(
                    array('value' => '1', 'label' => '<b>Ja</b>, ich bin dabei'),
                    array('value' => '2', 'label' => '<b>Nein</b>, ich kann leider nicht. Ich melde mich beim Lagerleiter, welchen Job ich im Zeltlager übernehme!'),
                    array('value' => '3', 'label' => 'Kann ich jetzt nocht nicht sagen. Ich melde mich aber noch vor dem Vorbereitungstag beim Lagerleiter zur&uuml;ck!'),
                    ),
                    array(
    	                'multipleChoiceType' => 'radio',
    	                'validationOptions' => array('required'),
                        'dependencyOptions' => array(
                                        'dependentOn' => 'mitarbeiter',
                				        'display' => 'hide',
            					        'jsFunction' => '$("#mitarbeiter-choice1").is(":checked");'
            				             ),   
    	    )),
        
        ));
    }
  
   //Berechnung Alter am ersten Zeltlagertag
   $geburtstag = new DateTime($Geburtsdatum);
   $ersterLagertag = new DateTime($DatumStartZeltlager);
   $alter = $geburtstag->diff($ersterLagertag)->y;
    
  if ( ($Mitglied=='1' && $alter >= 13) || $alter >= 15)
  {
    $Form->addJFormComponentArray(array(       
        new JFormComponentMultipleChoice('aufbau', '', array(
          array('value' => '1', 'label' => 'Ich möchte zum Aufbau mitfahren.'),)
        ),
    ));
    
    $Form->addJFormComponentArray(array(       
        new JFormComponentMultipleChoice('abbau', '', array(
          array('value' => '1', 'label' => 'Ich  bleibe noch zum Abbau.'),)
        ),
    ));
   
    
    $Form->addJFormComponentArray(array(       
        new JFormComponentMultipleChoice('feldbett', '', array(
          array('value' => '1', 'label' => 'Ich habe privat ein Feldbett und bringe dieses mit ins Zeltlager'),
          ),
          array( 'dependencyOptions' => array(
        	            'dependentOn' => 'mitarbeiter',
    					        'display' => 'hide',
    					        'jsFunction' => '$("#mitarbeiter-choice1").is(":checked");'
    				),
        )),
    ));
    
    }
       
  function onSubmit($formValues)
  {
    $uid = $_SESSION['uid'];
    
    $mydb = new DB_MySQL();    
    $mydb->query("SELECT *, DATE_FORMAT(vorbereitungstag,'%d.%m.%Y') AS FormateDate  FROM `VerwaltungLagerplatz` ORDER BY `VerwaltungLagerplatz`.`jahr` DESC LIMIT 1");
    $row = $mydb->fetchRow();
    $DatumVorbereitungstag = $row['FormateDate'];
    $mydb->disconnect();   
    
    $aufbau = $formValues->aufbau[0];
    if ($aufbau == '')
    {
      $aufbau = 0;
    }
    
    $abbau = $formValues->abbau[0];
    if ($abbau == '')
    {
      $abbau = 0;
    }
    
    if ($formValues->mitarbeiter)
    {
       
        $mitarbeiter= 1;
        $aufgabe= $formValues->aufgabe;
        
        
        if (strtotime("now") < strtotime($DatumVorbereitungstag))
        {
            $vorbereitungstag= $formValues->vorbereitungstag;
        }
        else
        {
           $vorbereitungstag = 4; 
        }
        
        
        $mitfahrzeitraum = $formValues->mitfahrzeitraum;
        
        $feldbett= $formValues->feldbett[0];
        if ($feldbett == '')
        {
          $feldbett = 0;
        }
        
        if ($mitfahrzeitraum == 10)
        {
           $mitfahrzeitraum_freitext = $formValues->freiermitfahrzeitraum; 
        }
        else
        {
            $mitfahrzeitraum_freitext = "-";
        }
       
        $insasse[0] = "-";
        $insasse[1] = "-";
        $insasse[2] = "-";
        $insasse[3] = "-";
    }
    else
    {
        $mitarbeiter= 0;
        $feldbett = 0;
        $aufgabe="-";
        $vorbereitungstag = "0";
        $mitfahrzeitraum= "1";
        $mitfahrzeitraum_freitext = "-";
        
        $iLoop = 0;
        if(is_array($formValues->zeltwunsch))
        {
            foreach($formValues->zeltwunsch as $wunsch)
            {
                $insasse[$iLoop] = $wunsch->lastName.', '.$wunsch->firstName;
                $iLoop++;
            }
        } 
        else
        {
            $insasse[$iLoop] = $formValues->zeltwunsch->firstName.', '. $formValues->zeltwunsch->lastName;
        }
    }
    
    if ($uid == "")
    {
        error_log("ERROR: SUBMIT bei STEP 4 wurde ohne UID aufgerufen");
        $_SESSION['step'] = "0"; 
    }
    else
    {
        $_SESSION['step'] = "5";
        
        $mydb = new DB_MySQL();
        $mydb->query("UPDATE AnmeldungStatus SET step = '4' WHERE uid='$uid' AND step < '10' ");
        $mydb->query("INSERT INTO AnmeldungZeltwunsch (uid, insasse1, insasse2, insasse3, insasse4, mitarbeiter, aufgabe, mitfahrzeitraum, mitfahrzeitraum_freitext, vorbereitungstag, aufbau, abbau, feldbett) VALUES ('$uid', '$insasse[0]', '$insasse[1]', '$insasse[2]','$insasse[3]', '$mitarbeiter', '$aufgabe', '$mitfahrzeitraum' , '$mitfahrzeitraum_freitext', '$vorbereitungstag', '$aufbau', '$abbau', '$feldbett') ON DUPLICATE KEY UPDATE insasse1 = '$insasse[0]', insasse2 = '$insasse[1]', insasse3 = '$insasse[2]', insasse4 = '$insasse[3]' ,mitarbeiter = '$mitarbeiter', aufgabe = '$aufgabe', mitfahrzeitraum = '$mitfahrzeitraum', mitfahrzeitraum_freitext = '$mitfahrzeitraum_freitext', vorbereitungstag = '$vorbereitungstag', aufbau = '$aufbau', abbau = '$abbau' , feldbett = '$feldbett' ");
        
    }
    $mydb->disconnect(); 
    
    $response = array('redirect' => 'index.php');
    return $response;
  }

  // Process any request to the form
  $Form->processRequest();

?>
