if( typeof window['ObjItem'] == 'undefined') { DynaLoad(_path + 'jscript/object/js_obj_item','ObjItem'); }
if( typeof window['ObjBasketEntry'] == 'undefined') { DynaLoad(_path + 'jscript/object/js_obj_basket_entry','ObjBasketEntry'); }
if ( !objFeature ) { var objFeature = new ObjFeature(); }

if ( !wakoCookie || !custCookie ) {
 var a = document.createElement('script');

 a.setAttribute('type','text/javascript');
 // Aenderung R.Struwe 10.06.2011 fuer src den kompletten Pfad eingetragen
 a.setAttribute('src',_path + 'jscript/object/js_obj_cookie.js');
 document.getElementsByTagName('head')[0].appendChild(a);

 if ( !wakoCookie ) {
  var wakoCookie = new ObjCookie();
  wakoCookie.setCookieName('wako');
 }
 if ( !custCookie ) {
  var custCookie = new ObjCookie();
  custCookie.setCookieName('cust');
 }
}

if ( !actCurr ) { var actCurr = toINT(nvl(custCookie.getVal('CURRENCY'),'0')); }
if ( !actLang ) { var actLang = toINT(nvl(custCookie.getVal('LANGUAGE'),'0')); }

// ****************************************************************************
// checkBasket()  OK
// ****************************************************************************
function checkBasket() {
//alert('checkBasket-->IN');

  if ( !hasBasketEntries() ) {
    //alert('abbruch');
    return false;
  }

  window.location.href = "versandart.html";
//alert('checkBasket-->OUT');
}

function dispAddItem(objItem) {
//alert('dispAddItem in');

 document.write('<form name="f_add">');
 document.write('<input type="text" ');
 document.write('name="anzahl' + objItem.getItemID() + '" ');
 document.write('size="2" value="1" />');
 document.write('<input type="hidden" ');
 document.write('name="variant' + objItem.getItemID() + '" '
              + 'value="' + objItem.getVariant() + '" /> ');
 document.write('<input type="button" value="'
              + objFeature.getFeatureVal("_TXT_BUT_WAKO",actLang)
              + '" ');
 document.write('onclick="javascript:intAdd(this.form,\'' + objItem.getItemID() + '\')" />');
 document.write('</form>');
//alert('dispAddItem out');
}

// ****************************************************************************
// dispCustNo()
// ****************************************************************************
function dispCustNo() {
//alert('dispCustNo-->IN');
  var custNo  = nvl(custCookie.getVal(arrFormData[0][0]),'');
  //custNo = ( custNo == "_EMPTY" ) ? "" : custNo;

  document.write('<form name="f_custno">');
  document.write(objFeature.getFeatureVal('_CUSTNO',actLang)
               + '<input type="text" name="custno" '
               + 'value="' + custNo + '" '
               + 'onChange="intChangeEntry(\'' + arrFormData[0][0] + '\',this.value,\'custdata\',false)" />');
  document.write('</form>');


//alert('dispCustNo-->OUT');
}

// ****************************************************************
// zeigt den Preis des mit i indizierten Artikels an
//
// benutzt : isSpecialprice, getSpecialpriceRange, show_price
//           getRealPrice, getPrice, getVAT, formatDate
// ****************************************************************
function dispPrice(objItem) {
//alert('displayPrice-->IN');

  if ( objItem.isSpecialPrice() ) {
    document.write(objFeature.getFeatureVal("_TXT_ALTER_PREIS",actLang)
                 + ':&nbsp;<span class="specialpriceold">'
                 +   valuta(objItem.getObjSPrice().Price[0],actCurr,false,null,null)
                 + '</span>');

    document.write('<br>'
                 + objFeature.getFeatureVal("_TXT_VOM",actLang)
                 +  '&nbsp;'
                 +  '<span class="specialpricevalid">'
                 +  formatDate(objItem.offerFrom,'dd.mm.yyyy')
                 +  '&nbsp;'
                 + objFeature.getFeatureVal("_TXT_BIS",actLang)
                 +  '&nbsp;'
                 +  formatDate(objItem.offerTill,'dd.mm.yyyy')
                 + '</span>\n');
    document.write('<span class="specialprice">'
                 + objFeature.getFeatureVal("_TXT_NUR",actLang)
                 + '&nbsp;'
                 +   valuta(objItem.getObjSPrice().offerPrice[0],actCurr,false,null,null)
                 + '</span>\n');

  } else {

    document.write(objFeature.getFeatureVal("_TXT_PREIS",actLang)
                 + ':&nbsp;<span class="specialprice">'
                 +   valuta(objItem.getObjSPrice().Price[0],actCurr,false,null,null)
                 + '</span>');
  }

//alert('displayPrice-->OUT');
}

function dispRates(objItem) {
//alert('dispRates-->IN');

  if (  objItem.isRatePrice() ) {

    var arrRP = objItem.getObjSPrice().getRateArray(objItem.isSpecialPrice());
    document.write('<table><tbody>');
    for ( var iLoop=1; iLoop<arrRP[0].length; iLoop++ ) {
      document.write('<tr>');
      document.write('<td align="left">'
                   +   objFeature.getFeatureVal("_TXT_AB",actLang)
                   + '</td>');
      document.write('<td align="right">' + arrRP[0][iLoop]
                   +   objFeature.getFeatureVal("_TXT_STUECK",actLang)
                   + '</td>');
      document.write('<td align="right">'
                   +  valuta(arrRP[1][iLoop],actCurr,false,null,null)
                   + '</td>');
      document.write('</tr>');
    }
    document.write('</tbody></table>');

  }

//alert('dispRates-->OUT');
}

function dispDelTime(objItem) {
//alert('dispDelTime-->IN');
 var vTmp = "";
 var objVar = objItem.getVariant();

 vTmp = objFeature.getFeatureVal('_DELTIME',actLang)
        + ':&nbsp;' + objVar.arrDelTime[actLang];
 document.write('<p>' + unescape(vTmp) + '</p>');
//alert('dispDelTime-->OUT');
}

function dispVariantSelect(objItem,_header,_doReload) {
//alert('dispVariantSelect-->IN');

  if ( objItem.objVariant.length > 1 ) {
    document.write('<form name="f_variants">');
    document.write('<h4>'
                  + unescape(objFeature.getFeatureVal(_header,actLang))
                  + '</h4>');
    document.write('<select name="var_' + objItem.Number + '" ');
    document.write('onChange="doChangeSelect(this,' + _doReload + ')" ');
    document.write('size="1">');

    for ( var iLoop=0; iLoop<objItem.objVariant.length; iLoop++ ) {
      document.write('<option value="' + iLoop + '" ');
      document.write('>'
                   + unescape(objItem.objVariant[iLoop].arrName[actLang])
                   + '</option>');
    }

    document.write('</select>');
    document.write('</form>');
  }
  var fField = document.getElementsByName("var_" + objItem.Number)[0];
  fField.value = iActVariant;

//alert('dispVariantSelect-->OUT');
}

function dispOptions(_objItem, _header) {
//alert('dispOptions-->IN');
  var objV = _objItem.getVariant();

  var fField = "";
  if ( objV.hasFeatures() ) {
    document.write('<form name="f_options">');
    if ( _header != '_EMPTY' ) {
      document.write('<h4>'
                  + unescape(objFeature.getFeatureVal(_header,actLang))
                  + '</h4>');
    }
    
    for ( var iFeat=0; iFeat<objV.arrFeature.length; iFeat++ ) {
     document.write(unescape(objFeature.getFeature(objV.arrFeature[iFeat][0])[actLang])+ '&nbsp;');
     document.write('<select name="opt_' + objV.arrFeature[iFeat][0] + '" ');
     document.write('size="1" ');
     document.write('onChange="doChangeSelect(this, false)" ');
     document.write('>');

     for ( var iOpt=1; iOpt<objV.arrFeature[iFeat].length; iOpt++ ) {
      document.write('<option value="'
                     + objV.arrFeature[iFeat][iOpt] + '">'
                     + unescape(objFeature.getValue(objV.arrFeature[iFeat][iOpt])[actLang])
                   + '</option>');
     }

     document.write('</select><br />');
    }
    document.write('</form>');
  }
//alert('dispOptions-->OUT');
}

// ****************************************************************************
// convertStringToArray(_string,_separator)
// Erstellt aus dem String ein Array. Als Trennzeichen dient der Separator
//
// benutzt :
// ****************************************************************************
function convertStringToArray(_string,_separator) {
//alert('convertStringToArray in');
  var arrRet = new Array();

  // string an den Stellen des Separators aufteilen
  if ( _string.indexOf(_separator) >= 0 ) {
    arrRet = _string.split(_separator);
  }
  else {
    // Rueckgabewert initialisieren
    arrRet[0] = _string;
  }

//alert('convertStringToArray out ' + arrRet);
  return arrRet;
}


function readObjFeatures(_objName) {
//alert('readObjFeatures('+ _objName + ') in');
 var sRet = "", sOptName = "";
 var objItem = getItemData(_objName);
 var objVar = objItem.getVariant();
 var varForm = document.forms["f_options"];

 if ( objVar.hasFeatures() ) {
   var idx = 0, s = "";
   var tmp = "";
   for ( var iLoop=0; iLoop<varForm.elements.length; iLoop++ ) {
    sOptName = varForm.elements[iLoop].name;
    idx = sOptName.indexOf("_");
    tmp = ( s.length > 0 ) ? objVar.featSep : "";

    s += tmp
       + sOptName.substr(idx+1,sOptName.length-idx)
       + objVar.featValSep
       + varForm.elements[iLoop].value;


    //alert('s = ' + s);
   }
 }
//alert('readObjFeatures return ' + s);
 return s;
}

function pad(_text,_direction,_char,_length) {
//alert('pad in '+ _text);
  var textRet = "";

  for ( var iLoop=0; iLoop<_length-_text.length; iLoop++ ) {
   textRet += _char;
  }
  textRet = ( _direction == 'L' ) ? textRet + _text : _text + textRet;

  //alert('pad out '+ textRet);
  return textRet;
}

function formatDate(d,dformat) {
  var s = dformat;
  var varDD = pad(d.getDate(),'L','0',2);
  var varMM = pad(d.getMonth()+1,'L','0',2);
  var varYY = d.getFullYear();

  s = s.replace(/dd/,varDD);
  s = s.replace(/mm/,varMM);
  s = s.replace(/yyyy/,varYY);
  s = s.replace(/yy/,varYY);
  return s;
}
