function checkVarkombiDependencies($kVaterArtikel, $cVaterURL, $kEigenschaft = 0, $kEigenschaftWert = 0, $oParam_arr = array())
{
$objResponse;
if(isset($oParam_arr['objResponse']))
$objResponse = $oParam_arr['objResponse'];
else
$objResponse = new xajaxResponse();
$kVaterArtikel = intval($kVaterArtikel);
$kEigenschaft = intval($kEigenschaft);
$kEigenschaftWert = intval($kEigenschaftWert);
if($kVaterArtikel > 0)
{
// Grad geklickter Eigenschaftswert in die Session aufnehmen
if($kEigenschaft > 0 && $kEigenschaftWert > 0)
$_SESSION['oVarkombiAuswahl']->kGesetzteEigeschaftWert_arr[$kEigenschaft] = $kEigenschaftWert;
$oKombiFilter_arr = $GLOBALS['DB']->executeQuery("SELECT distinct(teigenschaftkombiwert.kEigenschaftWert) as kEigenschaftWert
FROM
(
SELECT teigenschaftkombiwert.kEigenschaftKombi
FROM tartikel
JOIN teigenschaftkombiwert on teigenschaftkombiwert.kEigenschaftKombi = tartikel.kEigenschaftKombi
WHERE tartikel.kVaterartikel = " . $kVaterArtikel . "
AND teigenschaftkombiwert.kEigenschaftWert IN (" . implode(",", $_SESSION['oVarkombiAuswahl']->kGesetzteEigeschaftWert_arr) . ")
GROUP BY teigenschaftkombiwert.kEigenschaftKombi
HAVING count(*) = " . count($_SESSION['oVarkombiAuswahl']->kGesetzteEigeschaftWert_arr) . "
) as sub
JOIN teigenschaftkombiwert ON teigenschaftkombiwert.kEigenschaftKombi = sub.kEigenschaftKombi", 2);
if(is_array($oKombiFilter_arr) && count($oKombiFilter_arr) > 0)
{
$objResponse->script("schliesseAlleEigenschaftFelder();");
// Gesetzten freischalten, damit diese nochmals geaendert werden koennen
$kEigenschaft_arr = array();
if(count($oParam_arr) == 0 && count($_SESSION['oVarkombiAuswahl']->kGesetzteEigeschaftWert_arr) > 0)
{
foreach($_SESSION['oVarkombiAuswahl']->kGesetzteEigeschaftWert_arr as $kEigenschaft => $kGesetzteEigeschaftWert)
$kEigenschaft_arr[] = $kEigenschaft;
}
$oEigeschaft_arr = $GLOBALS['DB']->executeQuery("SELECT distinct(kEigenschaftWert) as kEigenschaftWert
FROM teigenschaftkombiwert
WHERE kEigenschaft IN (" . implode(", ", $kEigenschaft_arr) . ")", 2);
if(is_array($oEigeschaft_arr) && count($oEigeschaft_arr) > 0)
{
foreach($oEigeschaft_arr as $oEigeschaft)
$objResponse->script("aVC(" . $oEigeschaft->kEigenschaftWert . ");");
}
foreach($oKombiFilter_arr as $oKombiFilter)
$objResponse->script("aVC(" . $oKombiFilter->kEigenschaftWert . ");");
}
// Varkombi Option ausgrauen abwaertskompatible
/*
if(isset($_SESSION['oVarkombiAuswahl']) && count($_SESSION['oVarkombiAuswahl']->kGesetzteEigeschaftWert_arr) == 1 && getTemplateVersion() > 311)
$objResponse->script('$("#article_buyfield .variations").append("<ul><li><button type=\'button\' class=\'submit reset_selection\' onclick=\'javascript:location.href=\"' . URL_SHOP . "/" . $cVaterURL . '\";\'>' . $GLOBALS['oSprache']->gibWert('resetSelection', 'global') . '</button></li></ul>")');
*/
// Alle Variationen ausgewaehlt? => Ajax Call und Kind laden
if($_SESSION['oVarkombiAuswahl']->nVariationOhneFreifeldAnzahl == count($_SESSION['oVarkombiAuswahl']->kGesetzteEigeschaftWert_arr) && count($oParam_arr) == 0)
$objResponse->script("doSwitchVarkombi();");
}
if(count($oParam_arr) == 0)
return $objResponse;
}