<?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 SaveVersandart($VersandartID, $Name, $Versandland, $PaketURL, $ArtikelDownload, $Beschreibung, $LanguageID, $Kostenfrei, $ImageArray, $deleteImage, $Sort, $Spedition=0) {

	// Shopeinstellungen einlesen
	$ShopeinstellungenObject = GetShopeinstellungDetail();

	// Preis und Kostenfrei		
	if ($ShopeinstellungenObject->preisformat == 1) {
		$KostenfreiBrutto = round(($Kostenfrei / 100) * ($ShopeinstellungenObject->mwst + 100), 2);
		$KostenfreiNetto = round($Kostenfrei, 2);
	} else {
		$KostenfreiBrutto = round($Kostenfrei, 2);
		$KostenfreiNetto = round(($Kostenfrei / (100 + $ShopeinstellungenObject->mwst)) * 100, 2);
	}

	// Versandland ermitteln
	if (substr($Versandland, 0, 3) == "lg:") {
		$LaendergruppenID = substr($Versandland, 3);
		$LandID = 0;
	} else {
		$LaendergruppenID = 0;
		$LandID = $Versandland;
	}
	
	// Wenn die Versandart schon vorhanden ist
	if ($VersandartID) {
		
		$SQLString = "UPDATE " . TABLE_VERSANDART . " SET ";
		$SQLString .= TABLE_VERSANDART . ".artikel_download = '" . $ArtikelDownload . "', ";
		$SQLString .= TABLE_VERSANDART . ".paket_url = '" . $PaketURL . "', ";
		$SQLString .= TABLE_VERSANDART . ".landId = '" . $LandID . "', ";
		$SQLString .= TABLE_VERSANDART . ".sort = '" . $Sort . "', ";
		$SQLString .= TABLE_VERSANDART . ".laendergruppeid = '" . $LaendergruppenID . "', ";
		$SQLString .= TABLE_VERSANDART . ".kostenfrei_netto = '" . $KostenfreiNetto . "', ";
		$SQLString .= TABLE_VERSANDART . ".kostenfrei_brutto = '" . $KostenfreiBrutto . "' ";
        $SQLString .= ', ' . TABLE_VERSANDART . '.spedition = \'' . $Spedition . '\' ';
        $SQLString .= "WHERE ";
		$SQLString .= TABLE_VERSANDART . ".id = '" . $VersandartID . "' ";
		
		$MySQLQueryReference = errorlogged_mysql_query($SQLString);

		$SQLString = "SELECT ";
		$SQLString .= TABLE_VERSANDART_LANGU . ".versandart_id ";
		$SQLString .= "FROM ";
		$SQLString .= TABLE_VERSANDART_LANGU . " ";
		$SQLString .= "WHERE ";
		$SQLString .= TABLE_VERSANDART_LANGU . ".versandart_id = '" . $VersandartID . "' AND ";
		$SQLString .= TABLE_VERSANDART_LANGU . ".language_id = '" . $LanguageID . "' ";
		
		$LanguageObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));

		if ($LanguageObject) {

			$SQLString = "UPDATE " . TABLE_VERSANDART_LANGU . " SET ";
			$SQLString .= TABLE_VERSANDART_LANGU . ".name = '" . $Name . "', ";
			$SQLString .= TABLE_VERSANDART_LANGU . ".beschreibung = '" . $Beschreibung . "' ";
			$SQLString .= "WHERE ";
			$SQLString .= TABLE_VERSANDART_LANGU . ".versandart_id = '" . $VersandartID . "' AND ";
			$SQLString .= TABLE_VERSANDART_LANGU . ".language_id = '" . $LanguageID . "' ";

			$MySQLQueryReference = errorlogged_mysql_query($SQLString);
		
		} else {
			
			$SQLString = "INSERT INTO " . TABLE_VERSANDART_LANGU . " SET ";
			$SQLString .= TABLE_VERSANDART_LANGU . ".name = '" . $Name . "', ";
			$SQLString .= TABLE_VERSANDART_LANGU . ".beschreibung = '" . $Beschreibung . "', ";
			$SQLString .= TABLE_VERSANDART_LANGU . ".language_id = '" . $LanguageID . "', ";
			$SQLString .= TABLE_VERSANDART_LANGU . ".versandart_id = '" . $VersandartID . "' ";

			$MySQLQueryReference = errorlogged_mysql_query($SQLString);

		}
		
		
	} else {
		
		$SQLString = "INSERT INTO " . TABLE_VERSANDART . " SET ";
		$SQLString .= TABLE_VERSANDART . ".paket_url = '" . $PaketURL . "', ";
		$SQLString .= TABLE_VERSANDART . ".artikel_download = '" . $ArtikelDownload . "', ";
		$SQLString .= TABLE_VERSANDART . ".landId = '" . $LandID . "', ";
		$SQLString .= TABLE_VERSANDART . ".sort = '" . $Sort . "', ";
		$SQLString .= TABLE_VERSANDART . ".laendergruppeid = '" . $LaendergruppenID . "', ";
		$SQLString .= TABLE_VERSANDART . ".kostenfrei_netto = '" . $KostenfreiNetto . "', ";
		$SQLString .= TABLE_VERSANDART . ".kostenfrei_brutto = '" . $KostenfreiBrutto . "' ";
        $SQLString .= ', ' . TABLE_VERSANDART . '.spedition = \'' . $Spedition . '\' ';
        $MySQLQueryReference = errorlogged_mysql_query($SQLString);

		$NewVersandartID = mysql_insert_id();

		$SQLString = "INSERT INTO " . TABLE_VERSANDART_LANGU . " SET ";
		$SQLString .= TABLE_VERSANDART_LANGU . ".name = '" . $Name . "', ";
		$SQLString .= TABLE_VERSANDART_LANGU . ".beschreibung = '" . $Beschreibung . "', ";
		$SQLString .= TABLE_VERSANDART_LANGU . ".language_id = '" . $LanguageID . "', ";
		$SQLString .= TABLE_VERSANDART_LANGU . ".versandart_id = '" . $NewVersandartID . "' ";

		$MySQLQueryReference = errorlogged_mysql_query($SQLString);

		$VersandartID = $NewVersandartID;

	}
	
	if ($ImageArray["size"] > 0) {
		
		$NewImageName = "versand_" . sprintf("%05d", $VersandartID);

		// altes Bild l�schen
		unlink_wc(DATEIPFAD . "images/dbimages/", $NewImageName . ".*");
	
		// tempor�re Datei kopieren
		$TempNameArray = explode(".", $ImageArray["name"]);
		$NewImageName = $NewImageName . "." . $TempNameArray[count($TempNameArray) - 1];
		move_uploaded_file($ImageArray["tmp_name"], DATEIPFAD . "images/dbimages/" . $NewImageName);
		chmod(DATEIPFAD . "images/dbimages/" . $NewImageName, 0644);

		// Datenbank updaten		
		$SQLString = "UPDATE " . TABLE_VERSANDART . " SET ";
		$SQLString .= TABLE_VERSANDART . ".image = '" . $NewImageName . "' ";
		$SQLString .= " WHERE " . TABLE_VERSANDART . ".id = '" . $VersandartID . "'";
		//echo $SQLString;
		$MySQLQueryReference = errorlogged_mysql_query($SQLString);

	}
	
	if ($deleteImage) {
		
		$NewImageName = "versand_" . sprintf("%05d", $ZahlungsartID);

		// altes Bild l�schen
		unlink_wc(DATEIPFAD . "images/dbimages/", $NewImageName . ".*");
		
		// Datenbank updaten		
		$SQLString = "UPDATE " . TABLE_VERSANDART . " SET ";
		$SQLString .= TABLE_VERSANDART . ".image = '' ";
		$SQLString .= " WHERE " . TABLE_VERSANDART . ".id = '" . $VersandartID . "'";
		
		$MySQLQueryReference = errorlogged_mysql_query($SQLString);
	
	}
	
	return $VersandartID;
}


function GetVersandartDetail($VersandartID, $LanguageID = 0) {

	$StandardLanguageID = GetDefaultLanguageID();

	// SQL-String für die Versandart zusammensetzen
	$SQLString = "SELECT ";
	$SQLString .= TABLE_VERSANDART . ".id, ";
	$SQLString .= TABLE_VERSANDART . ".landid, ";
	$SQLString .= TABLE_VERSANDART . ".laendergruppeid, ";
	$SQLString .= TABLE_VERSANDART . ".artikel_download, ";
	$SQLString .= TABLE_VERSANDART . ".kostenfrei_netto, ";
	$SQLString .= TABLE_VERSANDART . ".kostenfrei_brutto, ";
	$SQLString .= TABLE_VERSANDART . ".image, ";
	$SQLString .= TABLE_VERSANDART . ".sort, ";
    $SQLString .= TABLE_VERSANDART . '.spedition, ';
    $SQLString .= TABLE_VERSANDART_LANGU . ".name, ";
	$SQLString .= TABLE_VERSANDART_LANGU . ".beschreibung, ";
	$SQLString .= "table_versandart_langu_standard.name AS standard_name, ";
	$SQLString .= "table_versandart_langu_standard.beschreibung AS standard_beschreibung, ";
	$SQLString .= TABLE_VERSANDART . ".paket_url ";
	$SQLString .= "FROM " . TABLE_VERSANDART . " ";
	$SQLString .= "LEFT JOIN " . TABLE_VERSANDART_LANGU . " ON ((" . TABLE_VERSANDART . ".id = " . TABLE_VERSANDART_LANGU . ".versandart_id) AND (" . TABLE_VERSANDART_LANGU . ".language_id = " . $LanguageID . ")) ";
	$SQLString .= "LEFT JOIN " . TABLE_VERSANDART_LANGU . " table_versandart_langu_standard ON ((" . TABLE_VERSANDART . ".id = table_versandart_langu_standard.versandart_id) AND (table_versandart_langu_standard.language_id = " . $StandardLanguageID . ")) ";
	$SQLString .= " WHERE " . TABLE_VERSANDART . ".id = '" . $VersandartID . "'";
	
	//echo '$SQLString: ' . $SQLString . '<br>';
	
	// Versandart abfragen
	$VersandartObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
	
	if ($VersandartObject->image && file_exists(DATEIPFAD . "/images/dbimages/" . $VersandartObject->image)) {
		$VersandartObject->image_imagestring = "<img src=\"" . URLPFAD . "/images/dbimages/" . $VersandartObject->image . "\" alt=\"" . $VersandartObject->name . "\" />";
	}
	
	// SQL-String für die Versandart zusammensetzen
	$SQLString = "SELECT ";
	$SQLString .= TABLE_VERSANDARTGEWICHT . ".id, ";
	$SQLString .= TABLE_VERSANDARTGEWICHT . ".gewicht, ";
	$SQLString .= TABLE_VERSANDARTGEWICHT . ".preis_netto, ";
	$SQLString .= TABLE_VERSANDARTGEWICHT . ".preis_brutto ";
	$SQLString .= "FROM " . TABLE_VERSANDARTGEWICHT . " ";
	$SQLString .= " WHERE " . TABLE_VERSANDARTGEWICHT . ".versandid = '" . $VersandartID . "'";
	$SQLString .= " ORDER BY " . TABLE_VERSANDARTGEWICHT . ".gewicht ";
	
	$MySQLQueryReference = errorlogged_mysql_query($SQLString);
	
	$VersandartGewichtCounter = 0;
	
	while ($VersandartGewichtRow = mysql_fetch_array($MySQLQueryReference)) {
		
		$VersandartGewichtArray[$VersandartGewichtCounter]["id"] = $VersandartGewichtRow["id"]; 
		$VersandartGewichtArray[$VersandartGewichtCounter]["gewicht"] = $VersandartGewichtRow["gewicht"]; 
		$VersandartGewichtArray[$VersandartGewichtCounter]["preis_netto"] = $VersandartGewichtRow["preis_netto"]; 
		$VersandartGewichtArray[$VersandartGewichtCounter]["preis_brutto"] = $VersandartGewichtRow["preis_brutto"]; 
		
		$VersandartGewichtCounter++;
		
	}

    if($VersandartObject) {
	    $VersandartObject->GewichtArray = $VersandartGewichtArray;
    }

	return $VersandartObject;
	
}

function CheckVersandart($VersandartID, $LandID) {

	// L�ndergruppen des Landes ermitteln
	$SQLString = "SELECT * FROM " . TABLE_LAENDERGRUPPERELATION . " ";
	$SQLString .= "WHERE " . TABLE_LAENDERGRUPPERELATION . ".landid = '" . $LandID . "'";
	
	$MySQLQuery = errorlogged_mysql_query($SQLString);
	
	while ($LaendergruppenRow = mysql_fetch_array($MySQLQuery)) {
		$LaendergruppenArray[] = $LaendergruppenRow["laendergruppeid"];
	}
	
	// �berpr�fen, ob eine L�ndergruppe dabei ist, in der alle L�nder sind
	$SQLString = "SELECT * FROM " . TABLE_LAENDERGRUPPE . " ";
	$SQLString .= "WHERE " . TABLE_LAENDERGRUPPE . ".allelaender = '1'";
		
	$MySQLQuery = errorlogged_mysql_query($SQLString);
	
	while ($LaendergruppenRow = mysql_fetch_array($MySQLQuery)) {
		$LaendergruppenArray[] = $LaendergruppenRow["id"];
	}
	
	// Abfrage der Versandart
	$SQLString = "SELECT * FROM " . TABLE_VERSANDART . " ";
	$SQLString .= "WHERE " . TABLE_VERSANDART . ".id = '" . $VersandartID . "' AND ";
	$SQLString .= "(" . TABLE_VERSANDART . ".landid = '" . $LandID . "'";

	if ($LaendergruppenArray) {
		$SQLString .= " OR " . TABLE_VERSANDART . ".laendergruppeid IN (" . implode( ",", $LaendergruppenArray) . ")";
	}
	
	$SQLString .= ")";
	
	$VersandartObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
	
	if ($VersandartObject) {
		return true;
	} else {
		return false;	
	}
	
}

function GetVersandartenArray($LanguageID = 0, $landId = 0, $laenderGruppeId = 0, $FilterSpedition = 0) {
	
	// Sprache ermitteln
	if (!$LanguageID) {
		$LanguageID = GetDefaultLanguageID();
	}
	
	if($laenderGruppeId)
		$laendergruppeObject = GetLaenderGruppe($laenderGruppeId);
	
	$StandardLanguageID = GetDefaultLanguageID();

	// SQL-String für die Versandarten zusammensetzen
	$SQLString = "SELECT ";
	$SQLString .= TABLE_VERSANDART . ".id, ";
	$SQLString .= TABLE_VERSANDART . ".aktiv, ";
	$SQLString .= "IFNULL(" . TABLE_VERSANDART_LANGU . ".name, table_versandart_langu_standard.name) AS name, ";
	$SQLString .= "!ISNULL(" . TABLE_VERSANDART_LANGU . ".name) AS translate_name, ";
	$SQLString .= TABLE_LAND_LANGU . ".name AS landname, ";
	$SQLString .= TABLE_LAENDERGRUPPE . ".name AS laendergruppename ";
	$SQLString .= "FROM " . TABLE_VERSANDART . " ";
	$SQLString .= "LEFT JOIN " . TABLE_VERSANDART_LANGU . " ON ((" . TABLE_VERSANDART . ".id = " . TABLE_VERSANDART_LANGU . ".versandart_id) AND (" . TABLE_VERSANDART_LANGU . ".language_id = " . $LanguageID . "))";
	$SQLString .= "LEFT JOIN " . TABLE_VERSANDART_LANGU . " table_versandart_langu_standard ON ((" . TABLE_VERSANDART . ".id = table_versandart_langu_standard.versandart_id) AND (table_versandart_langu_standard.language_id = " . $StandardLanguageID . ")) ";
	$SQLString .= "LEFT JOIN " . TABLE_LAND . " ON " . TABLE_VERSANDART . ".landid = " . TABLE_LAND . ".id ";
	$SQLString .= "LEFT JOIN " . TABLE_LAND_LANGU . " ON ((" . TABLE_LAND . ".id = " . TABLE_LAND_LANGU . ".land_id) AND (" . TABLE_LAND_LANGU . ".language_id = " . $StandardLanguageID . "))";
	$SQLString .= "LEFT JOIN " . TABLE_LAENDERGRUPPE . " ON " . TABLE_VERSANDART . ".laendergruppeid = " . TABLE_LAENDERGRUPPE . ".id ";
	$SQLString .= " WHERE 1";

	if($landId)
	{
		$SQLString .= " AND (" . TABLE_LAENDERGRUPPE . ".allelaender > 0";
		$SQLString .= " OR " . TABLE_VERSANDART . ".landid = '" . $landId . "'";
		$SQLString .= " OR " . $landId . " IN (SELECT landid FROM " . TABLE_LAENDERGRUPPERELATION . " WHERE " . TABLE_LAENDERGRUPPERELATION . ".laendergruppeid = " . TABLE_VERSANDART . ".laendergruppeid))";
	}
	
	if($laenderGruppeId && $laendergruppeObject->allelaender == 0)
	{
		$SQLString .= " AND (" . TABLE_VERSANDART . ".laendergruppeid = '" . $laenderGruppeId . "'";
		$SQLString .= " OR " . TABLE_VERSANDART . ".landid IN (" . implode(', ', $laendergruppeObject->laenderIds) . "))";
	}

    if($FilterSpedition == 1) {
        $SQLString .= ' AND (' . TABLE_VERSANDART . '.spedition <> 0)';
    }

    if($FilterSpedition == -1) {
        $SQLString .= ' AND (' . TABLE_VERSANDART . '.spedition = 0)';
    }


    $SQLString .= " ORDER BY " . TABLE_VERSANDART_LANGU . ".name ASC";
	
    //echo $SQLString;
    
	// Versandarten abfragen
	$MySQLQueryReference = errorlogged_mysql_query($SQLString);
	$VersandartArray = array();
	$VersandartCounter = 0;
	
	while ($VersandartRow = mysql_fetch_array($MySQLQueryReference)) {

		$VersandartArray[$VersandartCounter]["id"] = $VersandartRow["id"];
		$VersandartArray[$VersandartCounter]["aktiv"] = $VersandartRow["aktiv"];
		$VersandartArray[$VersandartCounter]["name"] = $VersandartRow["name"];
		$VersandartArray[$VersandartCounter]["translate_name"] = $VersandartRow["translate_name"];
		$VersandartArray[$VersandartCounter]["landname"] = $VersandartRow["landname"];
		$VersandartArray[$VersandartCounter]["laendergruppename"] = $VersandartRow["laendergruppename"];
		$VersandartArray[$VersandartCounter]["languagearray"] = GetVersandartLanguageDataArray($VersandartRow["id"]);
		
		$VersandartCounter++;
	}
	
	return $VersandartArray;

}

function GetVersandartLanguageDataArray($VersandartID) {
	
	// Sprachen Abfragen
	$SQLString = "SELECT ";
	$SQLString .= TABLE_LANGUAGE . ".language_id, ";
	$SQLString .= "IF(ISNULL(" . TABLE_VERSANDART_LANGU . ".name), " . TABLE_LANGUAGE . ".language_image_admintool_inactive, " . TABLE_LANGUAGE . ".language_image_admintool_active) AS language_image_admintool ";
	$SQLString .= "FROM ";
	$SQLString .= TABLE_LANGUAGE . " ";
	$SQLString .= "LEFT JOIN " . TABLE_VERSANDART_LANGU . " ON ((" . TABLE_LANGUAGE . ".language_id = " . TABLE_VERSANDART_LANGU . ".language_id) AND (" . TABLE_VERSANDART_LANGU . ".versandart_id = '" . $VersandartID . "')) ";
	
	
	$MySQLQueryReference = errorlogged_mysql_query($SQLString);
	
	$LanguageCounter = 0;
	
	while ($VersandartLanguageRow = mysql_fetch_array($MySQLQueryReference)) {
		$VersandartLanguageDataArray[$LanguageCounter]["language_image_admintool_imagestring"] = "<img src=\"" . IMAGEPFAD . "dbimages/" . $VersandartLanguageRow["language_image_admintool"] . "\" border=\"0\">";
		$VersandartLanguageDataArray[$LanguageCounter]["language_id"] = $VersandartLanguageRow["language_id"];
		$LanguageCounter++;
	}
	
	return $VersandartLanguageDataArray;

}

function GetKundenVersandartList($Email, $SessionID, $LanguageID = 0, $KundenObject = NULL, $nurAktive = true) {

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

	$StandardLanguageID = GetDefaultLanguageID();

	// Kundendaten einlesen
	if(!$KundenObject)
		$KundenObject = GetKundenDetail($Email);

	if ($KundenObject->lieferung) {
		$LandID = $KundenObject->la_land;
	} else {
		$LandID = $KundenObject->land;
	}

	// Ländergruppen des Landes des Kunden einlesen
	$LaendergruppenArray = GetLaendergruppenList($LandID);


	// ********************************************************************************
	// ***** Ländergruppen des Landes berücksichtigen                              ****
	// ********************************************************************************
	
	// wenn es Länderguppen gibt, diese in der Abfrage nach den Zahlungsarten berücksichtigen
	if ($LaendergruppenArray) {
		
		$SQLStringLaendergruppenID = " OR (" . TABLE_VERSANDART . ".laendergruppeid IN (";

		foreach ($LaendergruppenArray as $Laendergruppe) {
		
			$SQLStringLaendergruppenID .= $Laendergruppe["id"] . ", ";
			
		}
		
		$SQLStringLaendergruppenID = substr($SQLStringLaendergruppenID, 0, (strlen($SQLStringLaendergruppenID) - 2));
		$SQLStringLaendergruppenID .= "))";
		
	}

	$SQLStringLandID .= "(" . TABLE_VERSANDART . ".landid = '" . $LandID . "')";
	

	// ********************************************************************************
	// ***** SQL-String um die Versandarten abzufragen zusammensetzen             *****
	// ********************************************************************************
	
	$SQLString = "SELECT ";
	$SQLString .= TABLE_VERSANDART . ".id, "; 
	$SQLString .= TABLE_VERSANDART . ".sort, "; 
	$SQLString .= TABLE_VERSANDART . ".image, "; 
	$SQLString .= "IFNULL(" . TABLE_VERSANDART_LANGU . ".name, table_versandart_langu_standard.name) AS name, ";
	$SQLString .= "IFNULL(" . TABLE_VERSANDART_LANGU . ".beschreibung, table_versandart_langu_standard.beschreibung) AS beschreibung ";
	$SQLString .= " FROM " . TABLE_VERSANDART . " ";
	$SQLString .= "LEFT JOIN " . TABLE_VERSANDART_LANGU . " ON ((" . TABLE_VERSANDART . ".id = " . TABLE_VERSANDART_LANGU . ".versandart_id) AND (" . TABLE_VERSANDART_LANGU . ".language_id = " . $LanguageID . "))";
	$SQLString .= "LEFT JOIN " . TABLE_VERSANDART_LANGU . " table_versandart_langu_standard ON ((" . TABLE_VERSANDART . ".id = table_versandart_langu_standard.versandart_id) AND (table_versandart_langu_standard.language_id = " . $StandardLanguageID . ")) ";
	$SQLString .= " WHERE 1";
    if($nurAktive)
	    $SQLString .= " AND (" . TABLE_VERSANDART . ".aktiv = 1)";
	$SQLString .= " AND (" . $SQLStringLandID . $SQLStringLaendergruppenID . ")";
    $SQLString .= " AND (" . TABLE_VERSANDART . ".spedition = 0)";

    if (ARTIKELDOWNLOAD) {
	
		// nur Versandarten fuer Downloadartikel
		$ADSQLString = "SELECT ";
		$ADSQLString .= TABLE_WARENKORB . ".id ";
		$ADSQLString .= "FROM " . TABLE_WARENKORB . " ";
		$ADSQLString .= "WHERE ";
		$ADSQLString .= TABLE_WARENKORB . ".artikel_download > 0 AND ";
		$ADSQLString .= TABLE_WARENKORB . ".session = '" . $SessionID . "' ";
		
		$DummyObject = mysql_fetch_object(errorlogged_mysql_query($ADSQLString));
		
		if ($DummyObject) {
			$SQLString .= " AND " . TABLE_VERSANDART . ".artikel_download = 1";
		}	else {
			$SQLString .= " AND " . TABLE_VERSANDART . ".artikel_download = 0";
		}
		
	}
	
	$SQLString .= " ORDER BY " . TABLE_VERSANDART . ".sort ";
	
	//echo $SQLString;
	
	// ********************************************************************************
	// ***** Versandarten abfragen                                                *****
	// ********************************************************************************

	$VersandartenQueryReference = errorlogged_mysql_query($SQLString);
	
	while ($VersandartenRow = mysql_fetch_array($VersandartenQueryReference)) {
		
		$VersandartenCounter++;
		
		$VersandartenArray[$VersandartenCounter] = $VersandartenRow;
		
		if($VersandartenRow["image"] != "" && file_exists(DATEIPFAD . "images/dbimages/" . $VersandartenRow["image"])) {
			$VersandartenArray[$VersandartenCounter]["image_imagestring"] = "<img src=\"" . IMAGEPFAD . "dbimages/" . $VersandartenRow["image"] . "\" alt=\"" . $VersandartenRow["name"] . "\" />";
		}

		// wenn die Zahlungsart vom Kunden ausgewählt wurde
		if ($VersandartenRow["id"] == $KundenObject->versandart) {
			$VersandartenArray[$VersandartenCounter]["checked"] = " checked=\"checked\"";
		} else {
			$VersandartenArray[$VersandartenCounter]["checked"] = "";
		}		
		
	}

	
	return $VersandartenArray;
		
}


function GetVersandart($VersandartID, $Gewicht, $Email, $LanguageID = 0, $Bestellsumme = 0) {

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

	$StandardLanguageID = GetDefaultLanguageID();

    if(!$Email) {
        // Kundendaten einlesen
        $KundenObject = GetKundenDetail($Email);

        // Kundengruppendaten einlesen
        $KundengruppenObject = GetKundengruppenDetail($KundenObject->kundengruppe);
    } else {
        $KundengruppenObject = GetKundengruppenDetail(GetDefaultKundengruppe());
    }

	// Währung einlesen
	$WaehrungsObject = GetWaehrungDetail();

	// Versandart anhand des Gewichtsermitteln
	$SQLString = "SELECT ";
	$SQLString .= TABLE_VERSANDART . ".id AS versandartid, ";
	$SQLString .= TABLE_VERSANDART . ".kostenfrei_netto, ";
	$SQLString .= TABLE_VERSANDART . ".kostenfrei_brutto, ";
	$SQLString .= TABLE_VERSANDART_LANGU . ".name, ";
    $SQLString .= "table_versandart_langu_standard.name AS standard_name, ";
	$SQLString .= TABLE_VERSANDARTGEWICHT . ".id AS gewichtstaffelid, ";
	$SQLString .= TABLE_VERSANDARTGEWICHT . ".gewicht, ";
	$SQLString .= TABLE_VERSANDARTGEWICHT . ".preis_netto, ";
	$SQLString .= TABLE_VERSANDARTGEWICHT . ".preis_brutto ";
	$SQLString .= "FROM ";
	$SQLString .= TABLE_VERSANDART . " ";
	$SQLString .= "LEFT JOIN " . TABLE_VERSANDART_LANGU . " ON ((" . TABLE_VERSANDART . ".id = " . TABLE_VERSANDART_LANGU . ".versandart_id) AND (" . TABLE_VERSANDART_LANGU . ".language_id = " . $LanguageID . "))";
    $SQLString .= "LEFT JOIN " . TABLE_VERSANDART_LANGU . " table_versandart_langu_standard ON ((" . TABLE_VERSANDART . ".id = table_versandart_langu_standard.versandart_id) AND (table_versandart_langu_standard.language_id = " . $StandardLanguageID . ")) ";
	$SQLString .= "LEFT JOIN " . TABLE_VERSANDARTGEWICHT . " ON ((" . TABLE_VERSANDART . ".id = " . TABLE_VERSANDARTGEWICHT . ".versandid) AND (" . TABLE_VERSANDARTGEWICHT . ".gewicht <= '" . $Gewicht . "')) ";
	$SQLString .= "WHERE ";
	$SQLString .= TABLE_VERSANDART . ".id = '" . $VersandartID . "' ";
	$SQLString .= "ORDER BY " . TABLE_VERSANDARTGEWICHT . ".gewicht DESC";
	
//	echo $SQLString;
	
	$VersandartObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
	
	// Preise
	if ($VersandartObject) {
	    
		if ($KundengruppenObject->type == 1) {
		    
			if (($Bestellsumme > 0) && ($VersandartObject->kostenfrei_brutto > 0) && ($Bestellsumme >= $VersandartObject->kostenfrei_brutto)) {
				$VersandartObject->preis = 0;
				$VersandartObject->preis_brutto = 0;
				$VersandartObject->preis_format = number_format($VersandartObject->preis, 2, ",", ".") . " " . $WaehrungsObject->symbol;

			} else {
				$VersandartObject->preis = $VersandartObject->preis_brutto;
				$VersandartObject->preis_format = number_format($VersandartObject->preis, 2, ",", ".") . " " . $WaehrungsObject->symbol;
			}
			
		} else {

		    if (($Bestellsumme > 0) && ($VersandartObject->kostenfrei_netto > 0) && ($Bestellsumme >= $VersandartObject->kostenfrei_netto)) {
				$VersandartObject->preis = 0;
				$VersandartObject->preis_netto = 0;
				$VersandartObject->preis_format = number_format($VersandartObject->preis, 2, ",", ".") . " " . $WaehrungsObject->symbol;

			} else {
				$VersandartObject->preis = $VersandartObject->preis_netto;
				$VersandartObject->preis_format = number_format($VersandartObject->preis, 2, ",", ".") . " " . $WaehrungsObject->symbol;
			}
			
		}
		
	}
	
	if (!$VersandartObject) {
		
		$SQLString = "SELECT ";
		$SQLString .= TABLE_VERSANDART . ".id AS versandartid, ";
		$SQLString .= TABLE_VERSANDART_LANGU . ".name ";
		$SQLString .= "FROM ";
		$SQLString .= TABLE_VERSANDART . " ";
		$SQLString .= "LEFT JOIN " . TABLE_VERSANDART_LANGU . " ON ((" . TABLE_VERSANDART . ".id = " . TABLE_VERSANDART_LANGU . ".versandart_id) AND (" . TABLE_VERSANDART_LANGU . ".language_id = " . $LanguageID . "))";
		$SQLString .= "WHERE ";
		$SQLString .= TABLE_VERSANDART . ".id = '" . $VersandartID . "'";
		
		$VersandartObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
        if(!$VersandartObject)
            $VersandartObject = new stdClass();
		$VersandartObject->gewicht = 0;
		$VersandartObject->preis = 0;
		
	}
	
    // Prüfen, ob es mehr als eine Gewichtsstaffel zu der Versandart gibt
    $SQLString = 'SELECT ';
    $SQLString .= 'COUNT(' . TABLE_VERSANDARTGEWICHT . '.id) AS versandart_gewicht_anzahl ';
    $SQLString .= 'FROM ';
    $SQLString .= TABLE_VERSANDARTGEWICHT . ' ';
    $SQLString .= 'WHERE ';
    $SQLString .= TABLE_VERSANDARTGEWICHT . '.versandid = \'' . $VersandartID . '\' ';
    $SQLString .= 'GROUP BY ';
    $SQLString .= TABLE_VERSANDARTGEWICHT . '.versandid ';
    
    $VersandartGewichtObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
	
    $VersandartObject->versandart_gewicht_anzahl = $VersandartGewichtObject->versandart_gewicht_anzahl;
    
    return $VersandartObject;
	
}

?>