<?php

/**
 * 
 * Copyright (C) Die Randgruppe GmbH
 * 
 * http://www.randshop.com
 * http://www.dierandgruppe.com
 * 
 * Unter der Lizenz von Die Randgruppe GmbH:
 * http://www.randshop.com/Lizenz
 *  
 * $Author$
 * $Date$
 * $Revision$
 * 
 */

function SaveRabattstaffel($RabattstaffelID, $RabattTyp, $RabattArt, $Name, $Beschreibung, $LanguageID) {
	
	// ********************************************************************************
	// ** Daten speichern
	// ********************************************************************************
	
	// Rabattstaffel schon vorhanden
	if ($RabattstaffelID) {
		
		$SQLString = "UPDATE " . TABLE_RABATTSTAFFELN . " SET ";
		$SQLString .= TABLE_RABATTSTAFFELN . ".rabatttyp = '" . $RabattTyp . "', ";
		$SQLString .= TABLE_RABATTSTAFFELN . ".rabattart = '" . $RabattArt . "' ";
		$SQLString .= " WHERE " . TABLE_RABATTSTAFFELN . ".id = '" . $RabattstaffelID . "'";
		
		$MySQLQueryReference = errorlogged_mysql_query($SQLString);
		
	// Rabattstaffel neu anlegen
	} else {

		$SQLString = "INSERT INTO " . TABLE_RABATTSTAFFELN . " SET ";
		$SQLString .= TABLE_RABATTSTAFFELN . ".rabatttyp = '" . $RabattTyp . "', ";
		$SQLString .= TABLE_RABATTSTAFFELN . ".rabattart = '" . $RabattArt . "' ";
		
		$MySQLQueryReference = errorlogged_mysql_query($SQLString);
		
		$RabattstaffelID = mysql_insert_id();
		
	}	

	// Sprachabhängige Daten
	$SQLString = "SELECT ";
	$SQLString .= TABLE_RABATTSTAFFELN_LANGU . ".rabattstaffel_id ";
	$SQLString .= "FROM ";
	$SQLString .= TABLE_RABATTSTAFFELN_LANGU . " ";
	$SQLString .= "WHERE ";
	$SQLString .= TABLE_RABATTSTAFFELN_LANGU . ".rabattstaffel_id = '" . $RabattstaffelID . "' AND ";
	$SQLString .= TABLE_RABATTSTAFFELN_LANGU . ".language_id = '" . $LanguageID . "' ";
	
	$KundengruppenLanguageObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
	
	if ($KundengruppenLanguageObject) {
		
		$SQLString = "UPDATE " . TABLE_RABATTSTAFFELN_LANGU . " SET ";
		$SQLString .= TABLE_RABATTSTAFFELN_LANGU . ".name = '" . htmlspecialchars($Name, ENT_QUOTES) . "', ";
		$SQLString .= TABLE_RABATTSTAFFELN_LANGU . ".beschreibung = '" . strip_tags($Beschreibung) . "' ";
		$SQLString .= " WHERE ";
		$SQLString .= TABLE_RABATTSTAFFELN_LANGU . ".rabattstaffel_id = '" . $RabattstaffelID . "' AND ";
		$SQLString .= TABLE_RABATTSTAFFELN_LANGU . ".language_id = '" . $LanguageID . "' ";
		
		$MySQLQueryReference = errorlogged_mysql_query($SQLString);

	} else {
		
		$SQLString = "INSERT INTO  " . TABLE_RABATTSTAFFELN_LANGU . " SET ";
		$SQLString .= TABLE_RABATTSTAFFELN_LANGU . ".name = '" . htmlspecialchars($Name, ENT_QUOTES) . "', ";
		$SQLString .= TABLE_RABATTSTAFFELN_LANGU . ".beschreibung = '" . addslashes($Beschreibung) . "', ";
		$SQLString .= TABLE_RABATTSTAFFELN_LANGU . ".rabattstaffel_id = '" . $RabattstaffelID . "', ";
		$SQLString .= TABLE_RABATTSTAFFELN_LANGU . ".language_id = '" . $LanguageID . "' ";

		$MySQLQueryReference = errorlogged_mysql_query($SQLString);

	}

	return $RabattstaffelID;

}

function SaveRabatt($RabattstaffelObject, $ShopeinstellungenObject, $RabatttypValue, $RabattartValue) {

	// die Werte in ein brauchbares Format bringen
    if ($RabattstaffelObject->rabatttyp == 1) {
        $RabatttypSQLString = "'" . number_format($RabatttypValue, 0, "", "") . "', ''";
    }

    if ($RabattstaffelObject->rabatttyp == 2) {
        $RabatttypSQLString = "'', '" . number_format($RabatttypValue, 2, '.', '') . "'";
    }

    if ($RabattstaffelObject->rabattart == 1) {
        $RabattartSQLString = "'" . number_format($RabattartValue, 0, "", "") . "', ''";
    }

    if ($RabattstaffelObject->rabattart == 2) {
        $RabattartSQLString = "'', '" . number_format($RabattartValue, 2, '.', '') . "'";
    }

	if ($ShopeinstellungenObject->preisformat == 1) {
		$RabatttypeBrutto = round(($RabatttypValue / 100) * ($ShopeinstellungenObject->mwst + 100), 2);
		$RabatttypeNetto = round($RabatttypValue, 2);
	} else {
		$RabatttypeBrutto = round($RabatttypValue, 2);
		$RabatttypeNetto = round(($RabatttypValue / (100 + $ShopeinstellungenObject->mwst)) * 100, 2);
	}

    // Rabatt sichern
    $SQLString = "INSERT INTO " . TABLE_RABATTE . " (rabattstaffelid, typ_stueckzahl, typ_gesamtpreis_netto, typ_gesamtpreis_brutto, art_prozent, art_festpreis) VALUES ('" . $RabattstaffelObject->id . "', '', " . $RabatttypeNetto . ", " . $RabatttypeBrutto . "," . $RabattartSQLString . ")";
    $QuerryReferenz = errorlogged_mysql_query($SQLString);

    $RabatttypValue = "";
    $RabattartValue = "";

	
}

function DeleteRabatt($RabattID) {

    $SQLString = "DELETE FROM " . TABLE_RABATTE . " WHERE ID = '" . $RabattID . "'";
    $QuerryReferenz = errorlogged_mysql_query($SQLString);
	
}


function GetRabattstaffelLanguageDataArray($RabattstaffelID) {
	
	// Sprachen Abfragen
	$SQLString = "SELECT ";
	$SQLString .= TABLE_LANGUAGE . ".language_id, ";
	$SQLString .= "IF(ISNULL(" . TABLE_RABATTSTAFFELN_LANGU . ".name), " . TABLE_LANGUAGE . ".language_image_admintool_inactive, " . TABLE_LANGUAGE . ".language_image_admintool_active) AS language_image_admintool, ";
	$SQLString .= "IF(ISNULL(" . TABLE_RABATTSTAFFELN_LANGU . ".name), " . TABLE_LANGUAGE . ".language_image_admintool_inactive_width, " . TABLE_LANGUAGE . ".language_image_admintool_active_width) AS language_image_admintool_width, ";
	$SQLString .= "IF(ISNULL(" . TABLE_RABATTSTAFFELN_LANGU . ".name), " . TABLE_LANGUAGE . ".language_image_admintool_inactive_height, " . TABLE_LANGUAGE . ".language_image_admintool_active_height) AS language_image_admintool_height ";
	$SQLString .= "FROM ";
	$SQLString .= TABLE_LANGUAGE . " ";
	$SQLString .= "LEFT JOIN " . TABLE_RABATTSTAFFELN_LANGU . " ON ((" . TABLE_LANGUAGE . ".language_id = " . TABLE_RABATTSTAFFELN_LANGU . ".language_id) AND (" . TABLE_RABATTSTAFFELN_LANGU . ".rabattstaffel_id = '" . $RabattstaffelID . "')) ";
	
	
	$MySQLQueryReference = errorlogged_mysql_query($SQLString);
	
	$LanguageCounter = 0;
	
	while ($RabattstaffelLanguageRow = mysql_fetch_array($MySQLQueryReference)) {
		$RabattstaffelLanguageDataArray[$LanguageCounter]["language_image_admintool_imagestring"] = "<img src=\"" . IMAGEPFAD . "dbimages/" . $RabattstaffelLanguageRow["language_image_admintool"] . "\" width=\"" . $RabattstaffelLanguageRow["language_image_admintool_width"] . "\" height=\"" . $RabattstaffelLanguageRow["language_image_admintool_height"] . "\" border=\"0\">";
		$RabattstaffelLanguageDataArray[$LanguageCounter]["language_id"] = $RabattstaffelLanguageRow["language_id"];
		$LanguageCounter++;
	}
	
	return $RabattstaffelLanguageDataArray;

}

function DeleteRabattstaffel($RabattstaffelID) {

	// Rabattstaffel löschen
	$SQLString = "DELETE FROM " . TABLE_RABATTSTAFFELN . " WHERE id = '" . $RabattstaffelID . "'";
	$QuerryReferenz = errorlogged_mysql_query($SQLString);

	$SQLString = "DELETE FROM " . TABLE_RABATTSTAFFELN_LANGU . " WHERE rabattstaffel_id = '" . $RabattstaffelID . "'";
	$QuerryReferenz = errorlogged_mysql_query($SQLString);

    // Rabatte löschen
    $SQLString = "DELETE FROM " . TABLE_RABATTE . " WHERE rabattstaffelid = '" . $RabattstaffelID . "'";
    $QuerryReferenz = errorlogged_mysql_query($SQLString);

    // Zuordungen bei den Kundengruppen l�schen
    $SQLString = "UPDATE " . TABLE_KUNDENGRUPPEN . " SET rabattstaffel = 0 WHERE rabattstaffel = '" . $RabattstaffelID . "'";
    $QuerryReferenz = errorlogged_mysql_query($SQLString);

    // Zuordungen bei den Kunden l�schen
    $SQLString = "UPDATE " . TABLE_KUNDEN . " SET rabattstaffel = 0 WHERE rabattstaffel = '" . $RabattstaffelID . "'";
    $QuerryReferenz = errorlogged_mysql_query($SQLString);
	
}

function GetRabattObject($RabattID) {

	// Rabatte einlesen
    $SQLString = "SELECT * FROM " . TABLE_RABATTE . " WHERE id = '" . $RabattID . "'";
    $RabattObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));

	return $RabattObject;
	
}

function GetRabattstaffelObject($RabattstaffelID, $LanguageID = 0) {

	// Sprache ermitteln
	if (!$LanguageID) {
		$LanguageID = GetDefaultLanguageID();
	}

	$StandardLanguageID = GetDefaultLanguageID();

	// Rabattstaffel einlesen
    $SQLString = "SELECT ";
	$SQLString .= TABLE_RABATTSTAFFELN . ".id, ";
	$SQLString .= TABLE_RABATTSTAFFELN . ".rabatttyp, ";
	$SQLString .= TABLE_RABATTSTAFFELN . ".rabattart, ";
	$SQLString .= TABLE_RABATTSTAFFELN_LANGU . ".name, ";
	$SQLString .= TABLE_RABATTSTAFFELN_LANGU . ".beschreibung, ";
	$SQLString .= "table_rabattstaffeln_langu_standard.name AS standard_name, ";
	$SQLString .= "table_rabattstaffeln_langu_standard.beschreibung AS standard_beschreibung ";
	$SQLString .= "FROM ";
	$SQLString .= TABLE_RABATTSTAFFELN . " ";
	$SQLString .= "LEFT JOIN " . TABLE_RABATTSTAFFELN_LANGU . " ON ((" . TABLE_RABATTSTAFFELN . ".id = " . TABLE_RABATTSTAFFELN_LANGU . ".rabattstaffel_id) AND (" . TABLE_RABATTSTAFFELN_LANGU . ".language_id = '" . $LanguageID . "')) ";
	$SQLString .= "LEFT JOIN " . TABLE_RABATTSTAFFELN_LANGU . " table_rabattstaffeln_langu_standard ON ((" . TABLE_RABATTSTAFFELN . ".id = table_rabattstaffeln_langu_standard.rabattstaffel_id) AND (table_rabattstaffeln_langu_standard.language_id = " . $StandardLanguageID . ")) ";
	$SQLString .= "WHERE ";
	$SQLString .= TABLE_RABATTSTAFFELN . ".id = '" . $RabattstaffelID . "'";
	
    $RabattstaffelObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));

	return $RabattstaffelObject;
	
}


function GetRabatt($KundenID, $KundengruppenID, $Gesamtsumme, $LanguageID = 0, $ZahlungsartID = 0) {

	// Sprache ermitteln
	if (!$LanguageID) {
		$LanguageID = GetDefaultLanguageID();
	}

	// Rabatt des Kunden einlesen
	$KundenRabattArray = GetKundenRabatt($KundenID, $Gesamtsumme, $LanguageID);
	
//	if ($KundenRabattArray) {
//	
//		// prozentualer Rabatt
//		if ($KundenRabattArray["RabattstaffelRabattart"] == 1) {
//			
//			//$KundenRabattArray["RabattTotal"] = round(($Gesamtsumme / 100) * $KundenRabattArray["RabattProzent"], 2);
//			
//		// fester Rabatt
//		} elseif ($KundenRabattArray["RabattstaffelRabattart"] == 2) {
//			
//			//$KundenRabattArray["RabattTotal"] = $KundenRabattArray["RabattFestpreis"];
//
//		}
//		
//	}
	
	// Rabatt der Kundengruppe einlesen
	$KundengruppenRabattArray = GetKundengruppenRabatt($KundengruppenID, $Gesamtsumme, $LanguageID);

    $ZahlungsartRabattArray = GetZahlungsartRabatt($KundengruppenID, $ZahlungsartID, $Gesamtsumme, $LanguageID);

//	if ($KundengruppenRabattArray) {
//	
//		// prozentualer Rabatt
//		if ($KundengruppenRabattArray["RabattstaffelRabattart"] == 1) {
//			
//			//$KundengruppenRabattArray["RabattTotal"] = round(($Gesamtsumme / 100) * $KundengruppenRabattArray["RabattProzent"], 2);
//			
//		// fester Rabatt
//		} elseif ($KundengruppenRabattArray["RabattstaffelRabattart"] == 2) {
//			
//			$KundengruppenRabattArray["RabattTotal"] = $KundengruppenRabattArray["RabattFestpreis"];
//
//		}
//		
//	}

	// Rabatte miteinenader vergleichen und den gr��eren zur�ck geben	
	if (($KundengruppenRabattArray["rabatt_prozent"] || $KundenRabattArray["rabatt_prozent"] || $ZahlungsartRabattArray['rabatt_prozent']) && (!$KundenRabattArray["keinrabatt"])) {
	
		if ($KundengruppenRabattArray["rabatt_prozent"] >= $KundenRabattArray["rabatt_prozent"] && $KundengruppenRabattArray["rabatt_prozent"] >= $ZahlungsartRabattArray['rabatt_prozent']) {
		    $RabattArray["rabattstaffel_id"] = $KundengruppenRabattArray["rabattstaffel_id"];
		    $RabattArray["rabattstaffel_name"] = $KundengruppenRabattArray["rabattstaffel_name"];
		    $RabattArray["rabatt_gesamtpreis_netto"] = $KundengruppenRabattArray["rabatt_gesamtpreis_netto"];
		    $RabattArray["rabatt_gesamtpreis_brutto"] = $KundengruppenRabattArray["rabatt_gesamtpreis_brutto"];
		    $RabattArray["rabatt_prozent"] = $KundengruppenRabattArray["rabatt_prozent"];
		    $RabattArray["rabatt_id"] = $KundengruppenRabattArray["rabatt_id"];
		}
		
		if ($KundengruppenRabattArray["rabatt_prozent"] < $KundenRabattArray["rabatt_prozent"] && $ZahlungsartRabattArray['rabatt_prozent'] < $KundenRabattArray["rabatt_prozent"]) {
		    $RabattArray["rabattstaffel_id"] = $KundenRabattArray["rabattstaffel_id"];
		    $RabattArray["rabattstaffel_name"] = $KundenRabattArray["rabattstaffel_name"];
		    $RabattArray["rabatt_gesamtpreis_netto"] = $KundenRabattArray["rabatt_gesamtpreis_netto"];
		    $RabattArray["rabatt_gesamtpreis_brutto"] = $KundenRabattArray["rabatt_gesamtpreis_brutto"];
		    $RabattArray["rabatt_prozent"] = $KundenRabattArray["rabatt_prozent"];
		    $RabattArray["rabatt_id"] = $KundenRabattArray["rabatt_id"];
		}

        if($ZahlungsartRabattArray['rabatt_prozent'] >= $KundenRabattArray['rabatt_prozent'] && $ZahlungsartRabattArray['rabatt_prozent'] > $KundengruppenRabattArray["rabatt_prozent"])
        {
            $RabattArray["rabattstaffel_id"] = $ZahlungsartRabattArray["rabattstaffel_id"];
            $RabattArray["rabattstaffel_name"] = $ZahlungsartRabattArray["rabattstaffel_name"];
            $RabattArray["rabatt_gesamtpreis_netto"] = $ZahlungsartRabattArray["rabatt_gesamtpreis_netto"];
            $RabattArray["rabatt_gesamtpreis_brutto"] = $ZahlungsartRabattArray["rabatt_gesamtpreis_brutto"];
            $RabattArray["rabatt_prozent"] = $ZahlungsartRabattArray["rabatt_prozent"];
            $RabattArray["rabatt_id"] = $ZahlungsartRabattArray["rabatt_id"];
        }
	}
	
	return $RabattArray;

}

function GetKundenRabatt($KundenID, $Gesamtsumme, $LanguageID = 0) {

	// Sprache ermitteln
	if (!$LanguageID) {
		$LanguageID = GetDefaultLanguageID();
	}

	// ist eine Rabattstaffel eingetragen
    $SQLString = "SELECT * FROM " . TABLE_KUNDEN . " WHERE id = '" . $KundenID . "'";
    $KundenObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
    
	// Kundengruppe einlesen
	$SQLString = "SELECT * FROM " . TABLE_KUNDENGRUPPEN . " WHERE id = '" . $KundenObject->kundengruppe . "'";
	$KundengruppenObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));

    if ($KundenObject->rabattstaffel > 0) {
    
		// die Rabattstaffel einlesen
	    $SQLString = "SELECT ";
		$SQLString .= TABLE_RABATTSTAFFELN . ".*, ";
		$SQLString .= TABLE_RABATTSTAFFELN_LANGU . ".* ";
		$SQLString .= "FROM ";
		$SQLString .= TABLE_RABATTSTAFFELN . " ";
		$SQLString .= "LEFT JOIN " . TABLE_RABATTSTAFFELN_LANGU . " ON ((" . TABLE_RABATTSTAFFELN . ".id = " . TABLE_RABATTSTAFFELN_LANGU . ".rabattstaffel_id) AND (" . TABLE_RABATTSTAFFELN_LANGU . ".language_id = '" . $LanguageID . "')) ";
		$SQLString .= "WHERE id = '" . $KundenObject->rabattstaffel . "'";

	    $RabattstaffelObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));

		// den Rabatt aus der Rabattstaffel einlesen, der greift
	    if ($KundengruppenObject->type == 1) {
		    $SQLString = "SELECT * FROM " . TABLE_RABATTE . " WHERE rabattstaffelid = '" . $KundenObject->rabattstaffel . "' AND typ_gesamtpreis_brutto < '" . $Gesamtsumme . "' ORDER BY typ_gesamtpreis_brutto DESC";
		    $RabattObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
	    } else {
		    $SQLString = "SELECT * FROM " . TABLE_RABATTE . " WHERE rabattstaffelid = '" . $KundenObject->rabattstaffel . "' AND typ_gesamtpreis_netto < '" . $Gesamtsumme . "' ORDER BY typ_gesamtpreis_netto DESC";
		    $RabattObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
		}

	    if ($RabattObject) {
	    
		    $KundenRabattArray["keinrabatt"] = false;
		    $KundenRabattArray["rabattstaffel_id"] = $RabattstaffelObject->id;
		    $KundenRabattArray["rabattstaffel_name"] = $RabattstaffelObject->name;
		    //$KundenRabattArray["RabattstaffelRabattart"] = $RabattstaffelObject->rabattart;
		    $KundenRabattArray["rabatt_gesamtpreis_netto"] = $RabattObject->typ_gesamtpreis_netto;
		    $KundenRabattArray["rabatt_gesamtpreis_brutto"] = $RabattObject->typ_gesamtpreis_brutto;
		    $KundenRabattArray["rabatt_prozent"] = $RabattObject->art_prozent;
		    //$KundenRabattArray["RabattFestpreis"] = $RabattObject->art_festpreis;
		    $KundenRabattArray["rabatt_id"] = $RabattObject->id;
		    
		}
    	
    }
	
    if ($KundenObject->rabattstaffel == -1) {
    	
		$KundenRabattArray["keinrabatt"] = true;

    }

	return $KundenRabattArray;
	
}

function GetKundengruppenRabatt($KundengruppenID, $Gesamtsumme, $LanguageID = 0) {
	
	// Sprache ermitteln
	if (!$LanguageID) {
		$LanguageID = GetDefaultLanguageID();
	}

	// ist eine Rabattstaffel eingetragen
    $SQLString = "SELECT * FROM " . TABLE_KUNDENGRUPPEN . " WHERE id = '" . $KundengruppenID . "'";
    $KundengruppenObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
    
    if ($KundengruppenObject->rabattstaffel) {
    
		// die Rabattstaffel einlesen
	    $SQLString = "SELECT ";
		$SQLString .= TABLE_RABATTSTAFFELN . ".*, ";
		$SQLString .= TABLE_RABATTSTAFFELN_LANGU . ".* ";
		$SQLString .= "FROM ";
		$SQLString .= TABLE_RABATTSTAFFELN . " ";
		$SQLString .= "LEFT JOIN " . TABLE_RABATTSTAFFELN_LANGU . " ON ((" . TABLE_RABATTSTAFFELN . ".id = " . TABLE_RABATTSTAFFELN_LANGU . ".rabattstaffel_id) AND (" . TABLE_RABATTSTAFFELN_LANGU . ".language_id = '" . $LanguageID . "')) ";
		$SQLString .= "WHERE id = '" . $KundengruppenObject->rabattstaffel . "'";
	    $RabattstaffelObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));

		// den Rabatt aus der Rabattstaffel einlesen, der greift
	    if ($KundengruppenObject->type == 1) {
		    $SQLString = "SELECT * FROM " . TABLE_RABATTE . " WHERE rabattstaffelid = '" . $KundengruppenObject->rabattstaffel . "' AND typ_gesamtpreis_brutto < '" . $Gesamtsumme . "' ORDER BY typ_gesamtpreis_brutto DESC";
		    $RabattObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
		} else {
		    $SQLString = "SELECT * FROM " . TABLE_RABATTE . " WHERE rabattstaffelid = '" . $KundengruppenObject->rabattstaffel . "' AND typ_gesamtpreis_netto < '" . $Gesamtsumme . "' ORDER BY typ_gesamtpreis_netto DESC";
		    $RabattObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
		}

	    if ($RabattObject) {

		    $KundengruppenRabattArray["rabattstaffel_id"] = $RabattstaffelObject->id;
		    $KundengruppenRabattArray["rabattstaffel_name"] = $RabattstaffelObject->name;
		    //$KundenRabattArray["RabattstaffelRabattart"] = $RabattstaffelObject->rabattart;
		    $KundengruppenRabattArray["rabatt_gesamtpreis_netto"] = $RabattObject->typ_gesamtpreis_netto;
		    $KundengruppenRabattArray["rabatt_gesamtpreis_brutto"] = $RabattObject->typ_gesamtpreis_brutto;
		    $KundengruppenRabattArray["rabatt_prozent"] = $RabattObject->art_prozent;
		    //$KundenRabattArray["RabattFestpreis"] = $RabattObject->art_festpreis;
		    $KundengruppenRabattArray["rabatt_id"] = $RabattObject->id;
		    
		}
    	
    }
	
	return $KundengruppenRabattArray;

}


function GetRabattDataArray($RabattstaffelID) {

    // alle Rabatte zu der entsprechenden Rabattstaffel einlesen
    $SQLString = "SELECT * FROM " . TABLE_RABATTE . " WHERE rabattstaffelid = '" . $RabattstaffelID . "' ORDER BY " . TABLE_RABATTE . '.typ_gesamtpreis_netto';
    $QuerryReferenz = errorlogged_mysql_query($SQLString);

	$Counter = 0;

    // alle Daten in ein Array legen
    while ($QuerryResult = mysql_fetch_array($QuerryReferenz, MYSQL_ASSOC)) {

        $ResultDataArray[$Counter]["id"] = $QuerryResult["id"];
        $ResultDataArray[$Counter]["rabattstaffelid"] = $QuerryResult["rabattstaffelid"];
        $ResultDataArray[$Counter]["typ_stueckzahl"] = $QuerryResult["typ_stueckzahl"];
        $ResultDataArray[$Counter]["typ_gesamtpreis"] = $QuerryResult["typ_gesamtpreis"];

		if ($QuerryResult["typ_stueckzahl"]) {
	        $ResultDataArray[$Counter]["rabatttyp_value"] = $QuerryResult["typ_stueckzahl"];
        } else {
            $ResultDataArray[$Counter]["rabatttyp_value_netto"] = $QuerryResult["typ_gesamtpreis_netto"];
            $ResultDataArray[$Counter]["rabatttyp_value_brutto"] = $QuerryResult["typ_gesamtpreis_brutto"];
        }

        $ResultDataArray[$Counter]["art_prozent"] = $QuerryResult["art_prozent"];
        $ResultDataArray[$Counter]["art_festpreis"] = $QuerryResult["art_festpreis"];

        if ($QuerryResult["art_prozent"]) {
            $ResultDataArray[$Counter]["rabattart_value"] = $QuerryResult["art_prozent"];
        } else {
            $ResultDataArray[$Counter]["rabattart_value"] = $QuerryResult["art_festpreis"];
        }

        $Counter++;
    }

    return $ResultDataArray;

}

function GetRabattstaffelnDataArray($LanguageID = 0) {

	// Sprache ermitteln
	if (!$LanguageID) {
		$LanguageID = GetDefaultLanguageID();
	}

	$StandardLanguageID = GetDefaultLanguageID();

    // alle Rabattstaffeln einlesen
    $SQLString = "SELECT ";
	$SQLString .= TABLE_RABATTSTAFFELN . ".*, ";
	$SQLString .= "IFNULL(" . TABLE_RABATTSTAFFELN_LANGU . ".name, table_rabattstaffeln_langu_standard.name) AS name, ";
	$SQLString .= "!ISNULL(" . TABLE_RABATTSTAFFELN_LANGU . ".name) AS translate_name, ";
	$SQLString .= "IFNULL(" . TABLE_RABATTSTAFFELN_LANGU . ".beschreibung, table_rabattstaffeln_langu_standard.beschreibung) AS beschreibung ";
	$SQLString .= "FROM ";
	$SQLString .= TABLE_RABATTSTAFFELN . " ";
	$SQLString .= "LEFT JOIN " . TABLE_RABATTSTAFFELN_LANGU . " ON ((" . TABLE_RABATTSTAFFELN . ".id = " . TABLE_RABATTSTAFFELN_LANGU . ".rabattstaffel_id) AND (" . TABLE_RABATTSTAFFELN_LANGU . ".language_id = '" . $LanguageID . "')) ";
	$SQLString .= "LEFT JOIN " . TABLE_RABATTSTAFFELN_LANGU . " table_rabattstaffeln_langu_standard ON ((" . TABLE_RABATTSTAFFELN . ".id = table_rabattstaffeln_langu_standard.rabattstaffel_id) AND (table_rabattstaffeln_langu_standard.language_id = " . $StandardLanguageID . ")) ";

    $QuerryReferenz = errorlogged_mysql_query($SQLString);

	$Counter = 0;

    // alle Daten in ein Array legen
    while ($QuerryResult = mysql_fetch_array($QuerryReferenz, MYSQL_ASSOC)) {
        $ResultDataArray[$Counter]["id"] = $QuerryResult["id"];
        $ResultDataArray[$Counter]["name"] = $QuerryResult["name"];
        $ResultDataArray[$Counter]["translate_name"] = $QuerryResult["translate_name"];
        $ResultDataArray[$Counter]["beschreibung"] = $QuerryResult["beschreibung"];
        $ResultDataArray[$Counter]["rabatttyp"] = $QuerryResult["rabatttyp"];
        $ResultDataArray[$Counter]["rabattart"] = $QuerryResult["rabattart"];
		$ResultDataArray[$Counter]["languagearray"] = GetRabattstaffelLanguageDataArray($QuerryResult["id"]);
        $Counter++;
    }

    return $ResultDataArray;

}

function GetZahlungsartRabatt($KundengruppenID, $ZahlungsartID, $Gesamtsumme, $LanguageID = 0) {

	// Sprache ermitteln
	if (!$LanguageID) {
        $LanguageID = GetDefaultLanguageID();
	}

	// ist eine Rabattstaffel eingetragen
    $SQLString = "SELECT * FROM " . TABLE_ZAHLUNGSART . " WHERE id = '" . $ZahlungsartID . "'";
    $ZahlungsartObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));

    if ($ZahlungsartObject->rabattstaffel) {

        $SQLString = "SELECT * FROM " . TABLE_KUNDENGRUPPEN . " WHERE id = '" . $KundengruppenID . "'";
        $KundengruppenObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));

        // die Rabattstaffel einlesen
        $SQLString = "SELECT ";
        $SQLString .= TABLE_RABATTSTAFFELN . ".*, ";
        $SQLString .= TABLE_RABATTSTAFFELN_LANGU . ".* ";
        $SQLString .= "FROM ";
        $SQLString .= TABLE_RABATTSTAFFELN . " ";
        $SQLString .= "LEFT JOIN " . TABLE_RABATTSTAFFELN_LANGU . " ON ((" . TABLE_RABATTSTAFFELN . ".id = " . TABLE_RABATTSTAFFELN_LANGU . ".rabattstaffel_id) AND (" . TABLE_RABATTSTAFFELN_LANGU . ".language_id = '" . $LanguageID . "')) ";
        $SQLString .= "WHERE id = '" . $ZahlungsartObject->rabattstaffel . "'";
        $RabattstaffelObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));

		// den Rabatt aus der Rabattstaffel einlesen, der greift
	    if ($KundengruppenObject->type == 1) {
            $SQLString = "SELECT * FROM " . TABLE_RABATTE . " WHERE rabattstaffelid = '" . $ZahlungsartObject->rabattstaffel . "' AND typ_gesamtpreis_brutto < '" . $Gesamtsumme . "' ORDER BY typ_gesamtpreis_brutto DESC";
            $RabattObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
		} else {
            $SQLString = "SELECT * FROM " . TABLE_RABATTE . " WHERE rabattstaffelid = '" . $ZahlungsartObject->rabattstaffel . "' AND typ_gesamtpreis_netto < '" . $Gesamtsumme . "' ORDER BY typ_gesamtpreis_netto DESC";
            $RabattObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
		}

	    if ($RabattObject) {

            $ZahlungsartRabattArray["rabattstaffel_id"] = $RabattstaffelObject->id;
            $ZahlungsartRabattArray["rabattstaffel_name"] = $RabattstaffelObject->name;
            //$KundenRabattArray["RabattstaffelRabattart"] = $RabattstaffelObject->rabattart;
            $ZahlungsartRabattArray["rabatt_gesamtpreis_netto"] = $RabattObject->typ_gesamtpreis_netto;
            $ZahlungsartRabattArray["rabatt_gesamtpreis_brutto"] = $RabattObject->typ_gesamtpreis_brutto;
            $ZahlungsartRabattArray["rabatt_prozent"] = $RabattObject->art_prozent;
            //$KundenRabattArray["RabattFestpreis"] = $RabattObject->art_festpreis;
            $ZahlungsartRabattArray["rabatt_id"] = $RabattObject->id;

		}

    }

	return $ZahlungsartRabattArray;

}