<?php
	require_once("config/connect.php");
	require_once("global_functions.php");
	check_login('', '', 'ENABLERKEY_BONJORNAL');
	
	if(defined('BASIS_LIZENZ_VORHANDEN') && strtolower(BASIS_LIZENZ_VORHANDEN) == 'ja'){
		$basisLizenz='ja';
	}
	else $basisLizenz='';
	
?>
<head>
	<meta charset="utf-8">
	<title>SITPOS Bonjournal</title>
	<?php echo PAGE_CACHE_OFF; ?>
	<link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css">
	<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="include/menue.css">
	
	<style type="text/css">
	<?php include 'include/main.css'; ?>
	<?php include 'include/menue.css'; ?>
	
		.datepicker {width:125px; text-align:center; }

	</style>

</head>
<body>

<div id="sit_world"><img id="sit_world_gif" src="images/sIT_world.gif" /> <div id="sit_world_text"> </div></div>

<script>

	invoicebonPdfPrint="<?php echo strtolower(AUSDRUCK_RECHNUNGSBON_PDF); ?>";
	a4_printer_id="<?php echo A4_DRUCKER_ID; ?>";
		// wird für den A4 Drucker Button verwendet
	basisLizenz="<?php echo $basisLizenz; ?>";			
	
	
	function setBillHeight(){
		menuH=$('#menu').outerHeight(true);
		wrapperBonH=$('#wrapper_bon').outerHeight(true);
		winRightHeight=wrapperBonH-menuH;
	//	winRightHeight=$('#fenster_rechts').height();
		$('#fenster_rechts').height(winRightHeight+'px');
		stornoFormHeight=$('#formular_storno').outerHeight(true);	//	outerHeight( true )
		billWrpperH=winRightHeight-stornoFormHeight-2;
		$('#stornoBillWrapper').css({ 'height':billWrpperH+'px' });	
		//if ($("#stornoBillWrapper").prop('scrollHeight') > $("#stornoBillWrapper").height()) //	$("#stornoBillWrapper").width('110%')	// da müsste man den gesamten inhalt ändern ????
	}


	function drucke_bon_aus(bon_id)
	{
		// die Abfrage bzw das setzen von pdf od html print darf nicht von a4 printer abhängig sein, könnte ja sein das keiner angelegt ist
		// parameter in global_js  seite_drucken -> printRequest, requestId, requestFunktion, forcepdf
		//  requestFunktion -> zb  bon reprint, kassenabschl_mail_senden
		if(a4_printer_id > 0 && basisLizenz == 'ja'){
			button_html="<input type='button'  id='Drucken' class='button orange ausdrucken_button_med' onclick='seite_drucken(\"bonjournalInvoicePrint_A4\", "+bon_id+", true, false)' value='A4 Drucken' /><input type='button'  id='Drucken' class='button orange ausdrucken_button_med' onclick='seite_drucken(\"bonjournalInvoicePrint\", "+bon_id+", false, \""+invoicebonPdfPrint+"\")' value='Bon Drucken' />";
			divWidth='50%';
		}
		else{
		button_html="<input type='button'  id='Drucken' class='button orange ausdrucken_button' onclick='seite_drucken(\"bonjournalInvoicePrint\", "+bon_id+", false, \""+invoicebonPdfPrint+"\")' value='Bon Drucken' />";
			divWidth='35%';
		}
		$.ajax({
			type: "POST",
			url: "ajax_funktionen.php",
			dataType : "html",
			data: {funktion: "bon_ausdrucken", bon_id: bon_id, requestFunktion:'bonjournalPrint'},
			async: false,
			success:function(html){
				$("#fenster_rechts").html(html);
				$("#menuDivRight").html(button_html).css({ "visibility":"visible", "width":divWidth	});
			}
		})
		
	
	}
	
	function storniere_bon(bon_id, zeile)
	{
		$.ajax({
			type: "POST",
			url: "ajax_funktionen.php",
			dataType : "html",
			data: {funktion: "storniere_bon", bon_id: bon_id},
			async: false,
			success:function(html){
				$("#fenster_rechts").html(html);
			//	setBillHeight();
			}
		})
		
	}
	
	function drucke_EC_bons_aus(bon_id)
	{	
		checkMode=$("#hiddenUserAbrechEnablerField").val();
		if(bon_id == 0) bon_id= $("#hiddenUserAbrechEnablerField").val();
		if(checkMode > 0 && bon_id > 0){
			$("#hiddenUserAbrechEnablerField").val( bon_id);
			abschlUserId=$("#hiddenUserAbrechIdField").val();
		}
		else abschlUserId="";


		$.ajax({
			type: "POST",
			url: "ajax_funktionen.php",
			dataType : "html",
			data: {funktion: "ec_bons_ausdrucken", id: bon_id, abschlOnUser:abschlUserId, },
			async: false,
			success:function(html){
				$("#fenster_rechts").html(html).css({ "height":$("#fenster_links").height(), "width":"auto" });
			}
		})
		
	}
	
</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="14")
	{
		if ($filter_type=="datalist")
		{
			$selected_option="";
			if (isset($_REQUEST[$filter_select_name])) $selected_option=" value='".$_REQUEST[$filter_select_name]."' ";
			echo "<input type='text' class='adminPmeInputMed_1' name='".$filter_select_name."' size='' 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('-2 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 if($filter_type=="nullBelege"){
			if(isset($_REQUEST['filter_null_belege']) && $_REQUEST['filter_null_belege'] == 'ja') $checkedTxt='checked';
			else $checkedTxt='';
			echo "<div style='position:relative; display:inline; '>
					<label for='nullBelegCechbox' >Null Belege</label>
					<input type='checkbox' id='nullBelegCechbox' ".$checkedTxt." name='filter_null_belege' value='ja' /></div><div class='cclear' ></div>";
		}
		
		
		else
		{
			echo "<select 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_string()
	{
			
			
			$where_string=" WHERE bon_erstellt_datum >= '".date('Y-m-d', strtotime('-2 days'))."  00:00:00' AND bon_erstellt_datum < '".date('Y-m-d')." 23:59:59'";
			

			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 bon_erstellt_datum >= '".$dateFrom."  00:00:00'";
					}
					if($dateTo != ""){
						if ($tmp_string=="") $tmp_string=" WHERE bon_erstellt_datum <= '".$dateTo." 23:59:59'";	
						else $tmp_string.=" AND bon_erstellt_datum < '".$dateTo." 23:59:59'";
					}
					
					$where_string=$tmp_string;					
				//	else $where_string=" WHERE bon_erstellt_datum >= '2016-02-27'";
				
			//	echo "<script> console.log(\"".$where_string."\"); </script>";
					
			}
			
			if(isset($_REQUEST['filter_null_belege']) && $_REQUEST['filter_null_belege'] == 'ja'){
				$where_string.=" AND dep_nullbeleg > 0";
			}
		#	else { echo "des is ned checked";			}
			
			
			foreach($_REQUEST as $key=>$value)
			{
				
				if (strpos($key, "filter_bon") === 0)	// wenn die Variable mit filter_bon anfängt, dann ist das ein Filter Wert!
				{
					if (isset($value))
					{
						$reihen_input_name="reihe_".$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."'";
							$where_string="WHERE ".$reihen_name."='".$filter_value."'";
							
						}
					}
				}
			}
	#	file_put_contents("kpcheckit.txt", "\n". __FILE__ . " / ". __LINE__ ." from: ".$where_string." \n", FILE_APPEND);
			
		return($where_string);
	}
	
	// ******************************************************************************************************************************************************
	
	
	function bonjournal_ansehen()
    {
		$CONDITION=get_filter_string();
		//if ($status!="ALLE") $CONDITION="WHERE timereport.status='".$status."'";
		
		
		
		
		$query="SELECT bon_id, kunden_id, ce_kunden_beleg, ce_zahlung_beleg, verkaufer_id, benutzer_vk.name as verkaufer_name, gesamt_summe, timestamp, bon_erstellt_datum, storno, storno_person_id, benutzer_storno.name as benutzername_storno, storno_datum, storno_grund, storno_bemerkung
						FROM abgeschlossener_bon 
						LEFT JOIN benutzer AS benutzer_storno on abgeschlossener_bon.storno_person_id=benutzer_storno.id
						LEFT JOIN benutzer AS benutzer_vk on abgeschlossener_bon.verkaufer_id=benutzer_vk.id
						".$CONDITION." ORDER by bon_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 des Kunden Namen ********************************************
		$query_vs="SELECT DISTINCT bon_id FROM abgeschlossener_bon ORDER BY bon_id ASC ";
		$sql_vs=mysql_query($query_vs);
		if (! $sql_vs)
		{
			die('SQL Fehler beim suchen des Kunden Namen 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['bon_id'], 'text'=>$row_vs['bon_id']));}

		/*
		// Befülle das Array für den Filter der Vorstellungen ********************************************
		$query_vs="SELECT DISTINCT vorstellung FROM verkaufte_karten ORDER BY STR_TO_DATE (vorstellung, '%d.%m') ASC ";
		$sql_vs=mysql_query($query_vs);
		if (! $sql_vs)
		{
			die('SQL Fehler beim suchen der ID in der Datenbank: ' . mysql_error() );
		}
		$f_vorstellung_array=array();
		//array_push($vs_array_select,"filter_vorstellung");
		array_push($f_vorstellung_array, array("value" => "alle", "text" => "Alle"));
		while ($row_vs=mysql_fetch_assoc($sql_vs)) {array_push($f_vorstellung_array, array('value'=>$row_vs['vorstellung'], 'text'=>$row_vs['vorstellung']));}

		
		// Befülle das Array für den Filter der Zahlungsart *********************************************
		$query_vs="SELECT DISTINCT zahlungsart FROM verkauf ORDER BY zahlungsart ASC ";
		$sql_vs=mysql_query($query_vs);
		if (! $sql_vs)
		{
			die('SQL Fehler beim suchen der ID in der Datenbank: ' . mysql_error() );
		}
		$f_zahlungsart_array=array();
		array_push($f_zahlungsart_array, array("value" => "alle", "text" => "Alle"));
		while ($row_vs=mysql_fetch_assoc($sql_vs)) {array_push($f_zahlungsart_array, array('value'=>$row_vs['zahlungsart'], 'text'=>$row_vs['zahlungsart']));}
		// Befülle das Array für den Filter für überwiesen *********************************************
		$query_vs="SELECT DISTINCT ueberwiesen FROM verkauf ORDER BY ueberwiesen ASC ";
		$sql_vs=mysql_query($query_vs);
		if (! $sql_vs)
		{
			die('SQL Fehler beim suchen der ID in der Datenbank: ' . mysql_error() );
		}
		$f_ueberwiesen_array=array();
		array_push($f_ueberwiesen_array, array("value" => "alle", "text" => "Alle"));
		while ($row_vs=mysql_fetch_assoc($sql_vs)) {if (!empty($row_vs['ueberwiesen'])) array_push($f_ueberwiesen_array, array('value'=>$row_vs['ueberwiesen'], 'text'=>$row_vs['ueberwiesen']));}
		// Befülle das Array für den Filter für zahldatum *********************************************
		$query_vs="SELECT DISTINCT zahldatum FROM verkauf ORDER BY zahldatum DESC ";
		$sql_vs=mysql_query($query_vs);
		if (! $sql_vs)
		{
			die('SQL Fehler beim suchen der ID in der Datenbank: ' . mysql_error() );
		}
		$f_zahldatum_array=array();
		array_push($f_zahldatum_array, array("value" => "alle", "text" => "Alle"));
		while ($row_vs=mysql_fetch_assoc($sql_vs)) {if (!empty($row_vs['zahldatum'])) array_push($f_zahldatum_array, array('value'=>$row_vs['zahldatum'], 'text'=>$row_vs['zahldatum']));}
		// ***********************************************************************************************
		
		*/
		
	   $gerade = TRUE;
       echo "<TABLE  id='bonjournal' class='auswertungen' border 5 >";
	   echo "<FORM action='bonjournal_bons.php' id='filter_form'>
			<TR>			
			<TD colspan='2' class='ueberschrift'><div class='width120'><button class='button_im_pme orange' onclick='this.form.submit()' >Filter setzen</button></div></TD>
			<TD class='ueberschrift '><div class='width70' >";
				show_fixed_filter_selectbox("filter_bon_nr", "bon_id", $f_bon_id_array, "datalist");
			echo "</div></TD>
			<TD class='ueberschrift width30'></TD>
			
			<TD colspan='4'  class='ueberschrift'><div class='filterDiv'>";
				show_fixed_filter_selectbox("filter_date", "", "", "dDate", 10);
				show_fixed_filter_selectbox("filter_nullbelege", "", "", "nullBelege", "xxxxxx");
			echo "</div></TD>
			<TD class='ueberschrift width50'>";
				
			echo "</TD>
			<TD class='ueberschrift width50'></TD>
			<TD class='ueberschrift width150'></TD>

			<TD class='ueberschrift width50'></TD>";
			//show_fixed_filter_selectbox("filter_zahlungsart", "verkauf.zahlungsart", $f_zahlungsart_array);
		echo "<input type='submit' hidden/> </TR> </FORM> ";
		echo "<TR>
	
			<TD class='ueberschrift'><div class='div_ueberschrift width50'>Anz.</div></TD>
			<TD class='ueberschrift'><div class='div_ueberschrift width50'>EC</div></TD>
			<TD class='ueberschrift'>Storno</TD>
			<TD class=ueberschrift>Bon Nr.</TD>
			<TD class=ueberschrift><div class='div_ueberschrift width70'>Kunden ID</div></TD>
			<TD class=ueberschrift><div class='div_ueberschrift width100'>Verkäufer ID</div></TD>
			<TD class=ueberschrift >Bonsumme</TD>
			<TD class=ueberschrift ><div class='div_ueberschrift width200'>Bon Datum</div></TD>

			<TD class=ueberschrift>Storno</TD>
			<TD class=ueberschrift>Storno Verk&auml;ufer</TD>
			<TD class=ueberschrift><div class='div_ueberschrift width200'>Storno Datum</div></TD>
			<TD class=ueberschrift>Storno Grund</TD>
			<TD class=ueberschrift>Storno Bem.</TD>
			</TR>";
		$summe_preis=0;
		$summe_karten=0;
		$zeile=0;
        while($rowP=mysql_fetch_array($sqlP))
        {
	        $gerade=!$gerade;
			$storniert=$rowP['storno'] ? 'Ja' : 'Nein';
			
		    if ($gerade) $CLASS="class='d0'";
		    else $CLASS="class='d1'";
            echo "<TR id='row".$zeile."' ".$CLASS.">";
			echo "<TD align=center> <div class='hoehe width50'><img src='images/lupe.gif' class='bild' onclick='drucke_bon_aus(".$rowP['bon_id'].");'/></TD></div>
				  <TD align=center > ";
				  if ($rowP['ce_kunden_beleg']) echo "<div class='hoehe'><img src='images/ec.png' class='bild' onclick='drucke_EC_bons_aus(".$rowP['bon_id'].");'/></div>";
				  echo "</TD>
				  <TD align=center> <div class='hoehe'>";
			if (!$rowP['storno'] && ist_kassa_offen() > 0) echo "<img src='images/delete.png' class='bild' onclick='storniere_bon(".$rowP['bon_id'].",".$zeile.");'/></div>";
				echo "</TD>
					<TD align=left>".$rowP['bon_id']."</TD>
					<TD align=center>".$rowP['kunden_id']."</TD>
				<TD align=center>".$rowP['verkaufer_name']."</TD>
				<TD align=right>".number_format($rowP['gesamt_summe'],2,",",".")."</TD>
				<TD align=center>".$rowP['bon_erstellt_datum']."</TD>
				
				<TD align=center>".$storniert."</TD>
				<TD align=center>".$rowP['benutzername_storno']."</TD>
				<TD align=left>".$rowP['storno_datum']."</TD>
				<TD align=left>".$rowP['storno_grund']."</TD>
				<TD align=left>".$rowP['storno_bemerkung']."</TD>";
			echo "</TR>";
			$zeile++;
			
			#	<TD align=left>".$rowP['timestamp']."</TD>					<TD class=ueberschrift>Timestamp</TD>
       }

       echo "</TABLE>";
       echo "</pre>";
    }
	
	echo '<div id="wrapper_bon" class="wrapper_bon">
			<div id="generalDialog"  ></div>';

		menue_anzeigen();
	echo '';
	// Fenster Rechts
	echo "<div id='fenster_rechts' class='fenster_rechts' ></div>";
	
	// Unterer Teil
	echo '<div id="fenster_links" class="fenster_links">';
		bonjournal_ansehen();
	echo '</div><div class="cclear"></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>