<?php
	require_once("config/connect.php");
	require_once("global_functions.php");
	check_login('', '', 'ENABLERKEY_EINAUSZAHLUNG');
?>
<head>
	<meta charset="utf-8">
	<title>SITPOS Ein- und Auszahlungen</title>
	<?php echo PAGE_CACHE_OFF; ?>
	<script src="jquery/jquery-2.1.1.min.js"></script>
	<script src="jquery/jquery-ui1.11.4.js"></script>
	<script src="jquery/datepicker-de.js"></script>
	<script src="include/global_js_functions.js"></script>
	
	<link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css">
	
<style type="text/css">
/*  Anfang AUSWERTUNGEN */

<?php include 'include/main.css'; ?>
<?php include 'include/menue.css'; ?>
	.fenster_links, .fenster_rechts { height:88%;			}
	.datepicker {width:125px; text-align:center; }
	/* Ausblenden von Steuerfeld, funktion unfertig */
		#steuerTxt { }
		#enthUst { }
		
	input::placeholder{	color:#999; font-size:.8em; 		}	

</style>

</head>
<body>

<script>

	
	function zeige_ein_aus_zahlung_an(bon_id)
	{
		forcePdfPrint=false;
		invoicebonPdfPrint="<?php echo AUSDRUCK_RECHNUNGSBON_PDF; ?>";
		if(invoicebonPdfPrint.toLowerCase() == 'ja')forcePdfPrint=true;
		button_html="<div><input type='button'  id='Drucken' class='button ausdrucken_button_med ausdrucken_button orange' onclick=\"seite_drucken('ein_aus_zahlungen_a4', "+bon_id+", '', '"+forcePdfPrint+"')\" value='A4 Drucken' /><input type='button'  id='Drucken' class='button ausdrucken_button_med orange' onclick=\"seite_drucken('ein_aus_zahlungen', "+bon_id+", '', '"+forcePdfPrint+"')\" value='Ein/Aus Drucken' /></div>";
		$.ajax({
			type: "POST",
			url: "ajax_funktionen.php",
			dataType : "html",
			data: {funktion: "ein_auszahlung_anzeigen", id: bon_id},
			async: true,
			success:function(html){
				$("#fenster_rechts").html(html).css({"overflow":"auto", "height":$("#fenster_links").height() });
				$("#menuDivRight").html(button_html).css({ "visibility":"visible"	});
			}
		})
	}
	
	$(document).ready(function() {
		$(".ea_buchung_durchfuehren").click(function() {
			invoicebonPdfPrint="<?php echo AUSDRUCK_RECHNUNGSBON_PDF; ?>";
			e=document.getElementById("ea_typ");
			var ea_typ = e.options[e.selectedIndex].value;
			if (!ea_typ) {
				alert ("Bitte Ein- oder Auszahlung auswaehlen");
				return;
			}
			
			betrag=document.getElementById("gesamt_betrag").value;
			if (!betrag) {
				alert ("Bitte Betrag eingeben");
				return;
			}
			
			data = $("#ea_buchung_durchfuehren_id").serialize();
				// ea_typ=aus&bemerkung=auszahlung+mit+ust&enthUst=25&gesamt_betrag=300&funktion=ea_db_schreiben
			$.ajax({
				type: "POST",
				url: "ajax_funktionen.php",
				dataType : "html",
				data: data,
				async: false,
				success:function(html){
					$("#fenster_rechts").html(html);
					if(invoicebonPdfPrint.toLowerCase() != 'ja') seite_drucken();		// ansonsten wird der pdf ausdruck in ajax funktionen "ea_db_schreiben()" aufgerufen
					// Ohne timeout funktioniert der redirect nicht, hoffentlich geht das auf jedem Rechner
					 window.setTimeout(function(){
   					// Move to a new location or you can do something else
						window.location.href = "ein_aus_zahlungen.php";
					}, 2000);
					//window.location = "http://sitpos/ein_aus_zahlungen.php";
					//alert( "Fertig");
				}
			})
		
			return false;
		});
	});
	
	function set_focus(){
		// wird hier nicht verwendet, die Funktion muss aber existieren, der Ziffernblock,
		//	ruft set_focus auf, weil zb auf seite kassieren das verwendet wird.
	}
	
	function setActiveField(selectedFieldId){
		$("#toggle").val(selectedFieldId);
	}
	
	function displayUstField(){
		if($("#ea_typ option:selected").val() == 'aus'){
			$("#steuerTxt").html('Vorsteuer enthalten:');
			//$("#eaZahlungUstDiv").css({ "display":"block"			});
		}
		else{
			$("#steuerTxt").html('Umsatzst. enthalten:');
			//$("#enthUst").val('0');
			//$("#eaZahlungUstDiv").css({ "display":"none"			});
			
		}
		setActiveField('gesamt_betrag');
		$("#gesamt_betrag").focus();
		
	}
	
</script>

<?php
		// ******************************************************** Funktionen um einen Filter für eine Tabelle zu erstellen ********************************************************************
	//Funktion erzeugt eine Select option, die nach dem Submit des Forms wieder die gleiche Auswahl hat, wie zuvor (kein Reset des Form)
	//Der erste Paramter ist der Select Name und die weiteren sind Paare von value und select Text
	// $filter_select_name .... name, wie die select box heissen soll - string muss mit "filter_" beginnen
	// $filter_row_name    .... ist der name, der reihe wie er in der WHERE clause des select angesprochen wird
	// $f_filter_array     .... das array, wie die optionen angezeigt werden sollen. z.B. array(array('value'=>"alle",'text'=>"Alle"),array("value"=>"0", "text"=>"Nein"), array("value"=>"1", "text"=>"Ja"))
	function show_fixed_filter_selectbox($filter_select_name, $filter_row_name, $f_filter_array, $filter_type="select", $box_size="12"){
	
		#file_put_contents('kpcheckit.txt', "\n " .basename(__FILE__) . " ". __LINE__ ."  filter_type -> ".$filter_type."\n", FILE_APPEND);
		
		if ($filter_type=="datalist"){
			$selected_option="";
			if (isset($_REQUEST[$filter_select_name])) $selected_option=" value='".$_REQUEST[$filter_select_name]."' ";
			echo "<input type='text' name='".$filter_select_name."' size='".$box_size."' style='text-align:center; font-weight:bold; margin-right:7%;' 
					placeholder='z.B 22 od 12-14' onselect='this.form.submit()' list='list_".$filter_select_name."'".$selected_option.">";
			echo "<datalist id='list_".$filter_select_name."'>";
			foreach($f_filter_array as $arg_element)
			{
				echo "<option value='".$arg_element['value']."'>";
			}
			echo "</datalist>";
		}
		else if($filter_type=="dDate"){
			
		
			if (isset($_REQUEST[$filter_select_name])) $selected_option=" value='".$_REQUEST[$filter_select_name]."' ";
			if(isset($_REQUEST['filter_date_from']) && $_REQUEST['filter_date_from'] != "") $dateFromVal=$_REQUEST['filter_date_from'];
			else $dateFromVal=date('Y-m-d', strtotime('-5 days'));
			if(isset($_REQUEST['filter_date_to']) && $_REQUEST['filter_date_to'] != "") $dateToVal=$_REQUEST['filter_date_to'];
			else $dateToVal=date("Y-m-d");
			//echo "<input type='text' name='".$filter_select_name."' size='".$box_size."' onselect='this.form.submit()' list='list_".$filter_select_name."'".$selected_option." />";
						
			echo "	<input type='hidden' name='filter_date_set' value='doDateFilter' />
					<p style='display:inline;' class='div_ueberschrift' >Von: </p><input type='text' class='datepicker adminPmeInputMed_2'  
						value='".$dateFromVal."' name='filter_date_from' size='' />
					<p style='display:inline' class='div_ueberschrift' >Bis: </p><input type='text' class='datepicker adminPmeInputMed_2' 
						value='".$dateToVal."' name='filter_date_to'  size='' />
					";
		
		}
		else
		{
			echo "<select class='kpSelect' name='".$filter_select_name."' onchange='this.form.submit()'>";
			foreach($f_filter_array as $arg_element)
			{
				$selected_option="";
				if (isset($_REQUEST[$filter_select_name]) && $_REQUEST[$filter_select_name]==$arg_element['value']) $selected_option="selected";
				echo "<option value='".$arg_element['value']."'".$selected_option." >".$arg_element['text']."</option>";
			}
		}
		echo "</select>";
		echo "<input type='hidden' name='reihe_".$filter_select_name."' value='".$filter_row_name."' />";
		
	}
	
	// Durchsuche alle $_REQUEST, die mit filter beginnen und mache daraus eine where Clause
	// Der Name, der Reihe die in der Where clause abgefragt wird wird als eigener input hidden mitgegeben name="reihe_xxxxx" 
	// Wenn der value 'alle' ist, dann wird die where clause für diese Reihe nicht abgefragt
	
	function get_filter_stringNew(){
				# default Range of listing 
			# default Range of listing 

		
		
		$where_string=" WHERE zahlung_erfolgt_datum >= '".date('Y-m-d', strtotime('-5 days'))."  00:00:00' AND zahlung_erfolgt_datum <= '".date('Y-m-d')." 23:59:59'";
		
		if(isset($_REQUEST['filter_ein_aus_zahlungen_id']) && is_numeric($_REQUEST['filter_ein_aus_zahlungen_id']) && $_REQUEST['filter_ein_aus_zahlungen_id'] >0){
				$where_string= "WHERE ein_aus_zahlungen.id=".$_REQUEST['filter_ein_aus_zahlungen_id']."";
		}
		else if(isset($_REQUEST['filter_ein_aus_zahlungen_id']) && strlen($_REQUEST['filter_ein_aus_zahlungen_id']) > 1){
			$eaZahlId=preg_replace('/\s+/', '', $_REQUEST['filter_ein_aus_zahlungen_id']);
		
			if (preg_match('/[0-9](-)[0-9]/', $eaZahlId, $matchX)==1) { 	
					$rangeArray=explode("-", $eaZahlId);
					$valA=$rangeArray[0];
					$valB=$rangeArray[1];
					if($valA < $valB)	$where_string= "WHERE ein_aus_zahlungen.id >= ".$valA." AND ein_aus_zahlungen.id <= ".$valB." ";
					else if($valA > $valB)	$where_string= "WHERE ein_aus_zahlungen.id >= ".$valB." AND ein_aus_zahlungen.id <= ".$valA." ";

			}
		}
		
		else if(isset($_REQUEST['filter_date_from']) && strlen($_REQUEST['filter_date_from']) >5 && isset($_REQUEST['filter_date_to']) && strlen($_REQUEST['filter_date_to']) >5){
				$dateF = $_REQUEST['filter_date_from']." 00:00:00";
				$dateT = $_REQUEST['filter_date_to']." 23:59:59";
				$where_string= "WHERE zahlung_erfolgt_datum >= '".$dateF."' AND zahlung_erfolgt_datum <= '".$dateT."'			";
		}
		
		
		return($where_string);
		
	}
	
	function get_filter_string($where_string="")
	{
			# default Range of listing 
			#  KPE Okt 2020 kann damit nix anfangen -> get_filterStringNew
			
		$where_string=" WHERE zahlung_erfolgt_datum >= '".date('Y-m-d', strtotime('-5 days'))."  00:00:00' AND zahlung_erfolgt_datum < '".date('Y-m-d')." 23:59:59'";
		
		echo $_REQUEST['filter_date_set'];
		
		if (isset($_REQUEST['filter_date_set']) && $_REQUEST['filter_date_set'] == 'doDateFilter' && 
						((isset($_REQUEST['filter_date_from']) && $_REQUEST['filter_date_from'] != '') || (isset($_REQUEST['filter_date_to']) && $_REQUEST['filter_date_to'] != '') ) ){
					$tmp_string="";
					$dateFrom=$_REQUEST['filter_date_from'];
					$dateTo = $_REQUEST['filter_date_to'];
					if($dateFrom != ""){
						$tmp_string=" WHERE zahlung_erfolgt_datum >= '".$dateFrom."  00:00:00'";
					}
					if($dateTo != ""){
						if ($tmp_string=="") $tmp_string=" WHERE zahlung_erfolgt_datum <= '".$dateTo." 23:59:59'";	
						else $tmp_string.=" AND zahlung_erfolgt_datum < '".$dateTo." 23:59:59'";
					}
					
					$where_string=$tmp_string;					
						//	else $where_string=" WHERE zahlung_erfolgt_datum >= '2016-02-27'";
				
						//	echo "<script> console.log(\"".$where_string."\"); </script>";
					
			}
		
		
		$kKey=false;
		
		foreach($_REQUEST as $key=>$value){
			
			#file_put_contents("kpcheckit.txt", "\n". __FILE__ . " / ". __LINE__ ." where strg: ".$where_string."  filter?".$key."\n", FILE_APPEND);
			
			if (strpos($key, "filter_") === 0){	// wenn die Variable mit filter anfängt, dann ist das ein Filer Wert!
				
				
				$kKey=strpos($key, "filter_");
				if (isset($value))
				{
					$reihen_input_name="reihe_date".$key;
					if (isset($_REQUEST[$reihen_input_name])) $reihen_name=$_REQUEST[$reihen_input_name];
					$filter_value=$value;
					if ($filter_value != "alle" && $filter_value!="")
					{
						if ($where_string=="") $where_string="WHERE ".$reihen_name."='".$filter_value."'";
						else $where_string=$where_string." AND ".$reihen_name."='".$filter_value."'";
					}
				}
			}
		}
		
		#return($where_string);
	}
	
	// ******************************************************************************************************************************************************
	
	
	function ein_auszahlungen_ansehen()
    {
		$CONDITION=get_filter_stringNew();
		//if ($status!="ALLE") $CONDITION="WHERE timereport.status='".$status."'";
		
		
		$query="SELECT ein_aus_zahlungen.id as ea_id, kassa_abschluss_id, benutzer.name as benutzer_name, verkaufer_id, gesamt_betrag, timestamp, 
						typ, bemerkung
						FROM ein_aus_zahlungen 
						LEFT JOIN benutzer on ein_aus_zahlungen.verkaufer_id=benutzer.id
						".$CONDITION." ORDER by ein_aus_zahlungen.id DESC";
		//echo $query;
       $sqlP=mysql_query($query);
       if (! $sqlP)
       {
         die('SQL Fehler beim suchen der ID in der Datenbank: ' . mysql_error() );
       }

	   // Befülle das Array für den Filter der Einzahlung ID ********************************************
		$query_vs="SELECT DISTINCT id FROM ein_aus_zahlungen ORDER BY id DESC ";
		$sql_vs=mysql_query($query_vs);
		if (! $sql_vs)
		{
			die('SQL Fehler beim suchen der Ein Aus ID in der Datenbank: ' . mysql_error() );
		}
		$f_bon_id_array=array();
		array_push($f_bon_id_array, array("value" => "alle", "text" => "Alle"));
		while ($row_vs=mysql_fetch_assoc($sql_vs)) {array_push($f_bon_id_array, array('value'=>$row_vs['id'], 'text'=>$row_vs['id']));}
		
	   $gerade = TRUE;
       echo "<TABLE  id='abschlussjournal' class=auswertungen>";
	   echo "<FORM action='ein_aus_zahlungen.php' id='filter_form'>
			<TR>
			
			<TD colspan='3' class='ueberschrift width60'>";
					show_fixed_filter_selectbox("filter_ein_aus_zahlungen.id", "ein_aus_zahlungen.id", $f_bon_id_array, "datalist");
		echo "<button class='button_im_pme orange filterSetBut' onclick='this.form.submit()'>Filter setzen</button>
			</TD>

			
			<TD colspan='6' class='ueberschrift width350'>
				<div class='filterDiv'>";				
					show_fixed_filter_selectbox("filter_date", "", "", "dDate", 10);
		echo 	"</div>
			</TD>";
	
			//show_fixed_filter_selectbox("filter_zahlungsart", "verkauf.zahlungsart", $f_zahlungsart_array);
		echo "<input type='submit' hidden/> </TR> </FORM> ";
		echo "<TR>
			<TD class='ueberschrift'>Anzeigen</TD>
			<TD class='ueberschrift'>Ein-Ausgaben ID</TD>
			<TD class='ueberschrift'>Kassa ID</TD>
			<TD class=ueberschrift>Abschluss ID</TD>
			<TD class=ueberschrift>Verk&auml;ufer</TD>
			<TD class=ueberschrift>Betrag</TD>
			<TD class=ueberschrift>Datum</TD>
			<TD class=ueberschrift>typ</TD>
			<TD class=ueberschrift>Bemerkung</TD>
			</TR>";
		$summe_preis=0;
		$summe_karten=0;
		$zeile=0;
        while($rowP=mysql_fetch_array($sqlP))
        {
	        $gerade=!$gerade;
		    if ($gerade) $CLASS="class='d0'";
		    else $CLASS="class='d1'";
			
            echo "<TR id='row".$zeile."' ".$CLASS.">";
			echo "<TD align=left> <div class='hoehe'><img src='images/lupe.gif' class='bild' onclick='zeige_ein_aus_zahlung_an(".$rowP['ea_id'].");'/></TD></div>
				  <TD align=left>".$rowP['ea_id']."</TD></div>
				  <TD align=left>".KASSA_ID."</TD>
				  <TD align=left>".$rowP['kassa_abschluss_id']."</TD>
				  <TD align=left>".$rowP['benutzer_name']."</TD>
				  <TD align=left>".number_format($rowP['gesamt_betrag'],2,",",".")."</TD>
				<TD align=left>".$rowP['timestamp']."</TD>
				<TD align=left>".$rowP['typ']."</TD>
				<TD align=left>".$rowP['bemerkung']."</TD>";
			echo "</TR>";
			$zeile++;
       }
	    echo "<TR>
			<TD></TD>
			<TD></TD>
			<TD></TD>
			<TD></TD>
			<TD></TD>
			<TD></TD>
			<TD></TD>
			<TD></TD>
			<TD></TD>
			</TR>";
       echo "</TABLE>";
       echo "</pre>";
    }
	
	if (isset($_REQUEST['funktion'])) $funktion=$_REQUEST['funktion'];
	if (isset($_REQUEST['verkauf_id'])) $verkauf_id=$_REQUEST['verkauf_id'];
	
	if (isset($funktion))
	{
	  switch ($funktion)
      {
         case 'stornieren':
            stornieren($verkauf_id);
         break;

         default:
         break; 
      }
	}
	
	
	/*  Hauptprogramm */
	
	echo '<div id="wrapper_bon" class="wrapper_bon">';

	menue_anzeigen();
	
	// Unterer Teil
		// Fenster Rechts
	echo "<div id='fenster_rechts' class='fenster_rechts' style=' min-width:24%; '></div>";
	echo '<div id="fenster_links" class="fenster_links">';
	
	$abschluss_bon=ist_kassa_offen();
	if ($abschluss_bon == false)
	{
		echo "<p class='adminTxt_p_center' center >Kassa ist nicht ge&ouml;ffnet.</p>
				<p class='adminTxt_p_center' >Bitte &ouml;ffnen Sie zuerst die Kassa.</p>";
		exit;
	}
	
	$tx=mysql_query("SELECT * FROM taxes ORDER BY RATE");
	$displayTax="<select class='kpSelect floatL' id='kpTaxSelectEa' name='ea_taxrate'>";
	while($txRow=mysql_fetch_array($tx)){
		$displayTax.="<option class='' value='".$txRow['RATE']."' >".$txRow['NAME']."</option>";
	}
	$displayTax.="</select>";
	
	$date = date('d-m-Y H:i:s', time());
	echo "<p style='padding:0; margin:8px 0; text-align:center;' >Ein- und Auszahlung buchen Datum: ".$date."</p>";

	echo '<div style="width:55%; float:left; ">';
	echo '<form class="einAuszahlungsForm" id="ea_buchung_durchfuehren_id">';

	echo "<hr />";
	//<div style='width:50%; float:left;'>Ein- Auszahlung :</div><div style='width:50%; float:left;'> 
	echo "<select class='kpSelect floatR' id='ea_typ' name='ea_typ' onchange='displayUstField()' >
			<option disabled selected hidden class='einzalungsSelectFirstL' value=''>Buchung auswählen</option>
			<option value='ein'>Bar Einzahlung</option>
			<option value='aus'>Bar Auszahlung</option>
		  </select>";
	#echo $displayTax;
	echo "<div class='cclear'></div>";
	
	echo "<div class='einAuszahlungsFormParLeft' >Bemerkung:</div>
					<input class='einAuszahlungsInputTx' type='text' name='bemerkung' id='bemerkung' onclick='setActiveField(this.id)' >
				<div class='cclear'></div>";
	
	echo "<div class='einAuszahlungsFormParLeft' id='steuerTxt' >Steuer Betrag:</div>
						<input class='einAuszahlungsInputNo' type='text' name='enthUst' id='enthUst' onclick='setActiveField(this.id)' >
					<div class='cclear'></div>";

	echo "<div class='einAuszahlungsFormParLeft' >Betrag:</div>
					<input class='einAuszahlungsInputNo' type='text' id='gesamt_betrag' onkeyup='formatNumberKp(this)' onclick='setActiveField(this.id)'
							autofocus name='gesamt_betrag'>
				<div class='cclear'></div>";
	
	/*	</div>
	echo "<div style='clear:both; width:50%; float:left; margin-top: 10px;'> Betrag:</div><div style='width:50%; float:left; margin-top: 5px;'> 
				<input type='text' id='gesamt_betrag' onkeyup='formatNumberKp(this)' style='text-align:right;' autofocus name='gesamt_betrag'><br /></div>";	*/
	
	echo '<input type="hidden" name="funktion" value="ea_db_schreiben">';
	echo "<input id='toggle' value='gesamt_betrag' type='hidden' disabled/>
			<div class='cclear'></div>";
	
	echo "<button type='button' class='ea_buchung_durchfuehren button_gross button orange' >Buchen</button>
			<div class='cclear'></div>";
	echo "</form>
			";
	
	echo '</div>';
	echo '<div style="width:40%; height: 50%; float:right;">';	
		ziffernblock_anzeigen("ziffer_gedrueckt(this.value, true)");
	echo '</div>';
	
		ein_auszahlungen_ansehen();
	echo '</div>';

	echo '</div>';
?>


<script>
	/*$(function(){
		//Add, Save, Edit and Delete functions code
		
		$( ".datepicker" ).datepicker({ dateFormat: "yy-mm-dd" });
		$( ".datepicker" ).datepicker({ altField: "#actualDate" });
		$( ".datepicker" ).datepicker();
	});*/
</script>


</body>
</html>