// ****** AjaxProductPreviewDisplay *******************************************************************************

  var q_current_col = "";
  var q_current_size = "";
  var q_old_image = "";
  var q_allSizes = new Array();

  function q_changeColorDisplay(col_name,col){
    document.getElementById("colour").innerHTML = col;
    document.getElementById(col_name).style.visibility = "visible";
    if(q_current_col != col_name)
      document.getElementById(q_current_col).style.visibility = "hidden";
    q_current_col = col_name;
  }
  function q_readChoice(id,value){
    document.getElementById(id).value = value;
  }
  function q_show(col_name){
    document.getElementById(col_name).style.visibility = "visible";
  }
  function q_hide(col_name){
    if(q_current_col != col_name)
      document.getElementById(col_name).style.visibility = "hidden";
  }
  function q_showSize(size_name){
    document.getElementById(size_name+"_on").style.borderColor="#808080";
    document.getElementById(size_name+"_on").style.color="#808080";
    document.getElementById(size_name+"_on_innerborder").style.borderColor="#808080";
  }
  function q_hideSize(size_name){
    if(q_current_size != size_name){
      //document.getElementById(size_name+"_on").style.borderColor="#b3b3b3";
      //document.getElementById(size_name+"_on").style.color="#b3b3b3";
      document.getElementById(size_name+"_on").style.borderColor="#808080";
      document.getElementById(size_name+"_on").style.color="#808080";
      document.getElementById(size_name+"_on_innerborder").style.borderColor="#FFFFFF";
    }
  }

/*
  function q_showLargeImage(imageUrl){
    q_old_image = document.getElementById("large_image").src;
    document.getElementById("large_image").src = imageUrl;
  }
  function q_restoreLargeImage(){
    document.getElementById("large_image").src = q_old_image;
  }
*/
  function q_fade(imageUrl, objId, opacity) {
    if (document.getElementById) {
      obj = document.getElementById(objId);
      if (opacity >0) {
        if (opacity>0) {
          q_setOpacity(obj, opacity);
        } else {
          q_setOpacity(obj, 0);
        }
        opacity -= 10;
        window.setTimeout("q_fade('"+imageUrl+"','"+objId+"',"+opacity+")", 20);
      }
      else {
        obj.src = imageUrl;
        q_setOpacity(obj, 100);
      }
    }
  }

  function q_setOpacity(obj, opacity) {
    opacity = (opacity == 100)?99.999:opacity;
    // Internet Explorer
    obj.style.filter = "alpha(opacity:"+opacity+")";
    // Safari<1.2
    obj.style.KHTMLOpacity = opacity/100;
    // Old Mozilla and Firefox
    obj.style.MozOpacity = opacity/100;
    // Safari 1.2, Firefox, Mozilla, CSS3
    obj.style.opacity = opacity/100;
}

  function q_showLargeImage(imageUrl){
    obj = document.getElementById("large_image");
    q_old_image = obj.src;
    if (q_old_image.indexOf(imageUrl)==-1) {
      document.getElementById("large_image_td").style.backgroundImage = "url("+imageUrl+")";
      q_fade(imageUrl, "large_image",100);
    }
  }
  function restoreLargeImage(){
    if (q_old_image.indexOf(document.getElementById("large_image").src)==-1) {
      document.getElementById("large_image_td").style.backgroundImage = "url("+q_old_image+")";
      q_fade(q_old_image,"large_image",100);
    }
  }

/**** Zoom *********/
function checkZoomAjaxResponse(xmlhttprequest) {
  checkAjaxResponse(xmlhttprequest);
  //initZoomSteps();
  erezview_install("http://rio.novomind.com/zoom");
  erezview_deferedsetup(1, "http://rio.novomind.com/zoom/erez", "mclaren/${mlproduct.partNumber}%5Fzoom%5F0.tif", 2000, 2000, 256, "&tmp=ajax-viewer");
  erezview_onload();
  erezview_zoomReset('1');
}


function openZoomAjaxLayer(wcsaction, optionalcontainer, optionalparameter) {
  var optional = "";
  var container = "ajcontainer_general";

  if(optionalcontainer!=null && optionalcontainer!='') {
    container = optionalcontainer;
  }


  if(optionalparameter!=null && optionalparameter!='') {
    if( optionalparameter.charAt(0) != '&') {
      optionalparameter = '&'+optionalparameter;
    }
    optional = optionalparameter;
  }

  //eventuell offenes Formular schliessen
  //closeAjaxLayer();
  setAJContainer(container);
  //ajc -> call erkennen
  ajax(wcsaction, 'POST', 'storeId=${WCParam.storeId}&top_category=${WCParam.top_category}&catalogId=${WCParam.catalogId}&langId=${langId}&productId=${WCParam.productId}&categoryId=${WCParam.categoryId}'+optional+'&ajc=true', checkZoomAjaxResponse);
}

/*******************************************/

function div2javascript3() {
// current_col aus dem jsp befüllen
  q_current_col = document.getElementById("current_col_via_div").innerHTML;

// allSizes aus dem jsp befüllen
  for (var i = 1; i <= document.getElementById("allSizes_Size").innerHTML; i++){
    var tmp = 'allSizes_via_div_'+i;
    q_allSizes.push(document.getElementById(tmp).innerHTML);
  }
  current_size = document.getElementById("current_col_via_div").innerHTML;
 
  // Arrays aus dem jsp befüllen
  // colors
  for (var i = 1; i <= document.getElementById("col_Size").innerHTML; i++){
    var tmp = 'colName_via_div_'+i;
    var value = document.getElementById(tmp).innerHTML;
    q_pItemId[value] = new Object();
    q_pListPreis[value] = new Object();
    q_pListPreisAmount[value] = new Object();
    q_pStandardPreis[value] = new Object();
    q_pStandardPreisAmount[value] = new Object();
    q_pImage[value] = new Object();
    q_pBestand[value] = new Object();
    q_pLieferbar[value] = new Object();
    q_pMemberPreis[value] = new Object();
    q_pMemberPreisAmount[value] = new Object();
    q_pListMemberPreis[value] = new Object();
    q_pListMemberPreisAmount[value] = new Object();
    q_pIsMemberPreis[value] = new Object();
  
    // sizes  
    for (var j = 1; j <= document.getElementById("size_Size").innerHTML; j++){
      var tmp2 = 'sizeName_via_div_'+j;
      value2 = document.getElementById(tmp2).innerHTML;
      q_pItemId[value] [value2]= "0";
      q_pListPreis[value] [value2]= "0";
      q_pListPreisAmount[value] [value2]= "0";
      q_pStandardPreis[value] [value2]= "0";
      q_pStandardPreisAmount[value] [value2]= "0";
      q_pImage[value] [value2]= "0";
      q_pMemberPreis[value] [value2]= "0";
      q_pMemberPreisAmount[value] [value2]= "0";
      q_pListMemberPreis[value] [value2]= "0";
      q_pListMemberPreisAmount[value] [value2]= "0";
      q_pIsMemberPreis[value] [value2]= "false";


      /***************/
    }
  } 
    /***************/
  for (var j = 1; j <= document.getElementById("item_Size").innerHTML; j++){
    var tmp = 'itemColorName_via_div_'+j;
    value = document.getElementById(tmp).innerHTML;
    var tmp2 = 'itemSizeName_via_div_'+j;
    value2 = document.getElementById(tmp2).innerHTML;
    var tmp3 = 'itemItemID_via_div_'+j;
    value3 = document.getElementById(tmp3).innerHTML;
    var tmp4 = 'itemListPrice_via_div_'+j;
    value4 = document.getElementById(tmp4).innerHTML;
    var tmp5 = 'itemCalculatedContractPrice_via_div_'+j;
    value5 = document.getElementById(tmp5).innerHTML;
    var tmp6 = 'itemDescriptionFullImage_via_div_'+j;
    value6 = document.getElementById(tmp6).innerHTML;
    var tmp7 = 'itemMemberPrice_via_div_'+j;
    value7 = document.getElementById(tmp7).innerHTML;
    var tmp8 = 'itemIsMemberPrice_via_div_'+j;
    value8 = document.getElementById(tmp8).innerHTML;
    var tmp9 = 'itemMemberPriceAmount_via_div_'+j;
    value9 = document.getElementById(tmp9).innerHTML;
    var tmp10 = 'itemListPriceAmount_via_div_'+j;
    value10 = document.getElementById(tmp10).innerHTML;
    var tmp11 = 'itemCalculatedContractPriceAmount_via_div_'+j;
    value11 = document.getElementById(tmp11).innerHTML;
    var tmp12 = 'itemListMemberPrice_via_div_'+j;
    value12 = document.getElementById(tmp12).innerHTML;
    var tmp13 = 'itemListMemberPriceAmount_via_div_'+j;
    value13 = document.getElementById(tmp13).innerHTML;
    
    
    /***************/
    q_pItemId[value] [value2]= value3;
    q_pListPreis[value] [value2]= value4;
    q_pListPreisAmount[value] [value2]= value10;
    q_pStandardPreis[value] [value2]= value5;
    q_pStandardPreisAmount[value] [value2]= value11;
    q_pImage[value] [value2]= value6;
    q_pMemberPreis[value] [value2]= value7;
    q_pMemberPreisAmount[value] [value2]= value9;    
    q_pListMemberPreis[value] [value2]= value12;
    q_pListMemberPreisAmount[value] [value2]= value13;
    
    q_pIsMemberPreis[value] [value2]= value8;

  }

  // imageprefix setzen
  q_imagePrefix = document.getElementById("imagePrefix").innerHTML;
  
  /* init */
  q_selectItembyColor(document.getElementById("init_colour").innerHTML);
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


/* initialize array */
var q_pItemId=new Array();
var q_pListPreis = new Array();
var q_pListPreisAmount = new Array();
var q_pStandardPreis = new Array();
var q_pStandardPreisAmount = new Array();
var q_pImage=new Array();
var q_pBestand = new Array();
var q_pLieferbar = new Array();
var q_pMemberPreis = new Array();
var q_pMemberPreisAmount = new Array();
var q_pListMemberPreis = new Array();
var q_pListMemberPreisAmount = new Array();
var q_pIsMemberPreis = new Array();


var q_imagePrefix = "";
var q_busy = false;
var q_oneSize=0;
var q_oneColor=0;

/*Functons for images */
function q_selectItembyColor(color){
  var size=q_getSizes(color);
  if(size[0]){
    q_updateCatenentry(color,size[0]);
  }
  q_updateSizeBox(color,size[0]);

}
function q_selectItembyColorSize(color,size){
  if(size){
    q_updateCatenentry(color,size);
    q_updateSizeBox(color,size);
  }else{
    alert('keine Artikel gefunden');
  }
}
function q_getImage(color,size) {
   return q_imagePrefix+pImage[color][size];
}
function q_updateImage(color,size) {
/*    document.getElementById("itemimage").src=q_getImage(color,size); */
}

/*Funct ons for listprices */
function q_getListPreis(color,size) {
  if(q_pListPreis[color][size]!=null && q_pListPreis[color][size]!="undefined") {
    return q_pListPreis[color][size];
  } else {
    return "";
  }
}
function q_getListPreisAmount(color,size) {
  if(q_pListPreisAmount[color][size]!=null && q_pListPreisAmount[color][size]!="undefined") {
    return q_pListPreisAmount[color][size];
  } else {
    return "";
  }
}
function q_updateListPreis(color,size) {
/*  document.getElementById("itemlistprice").innerHTML=q_getListPreis(color,size); */
/*  document.getElementById("itemlistprice_hidden").value=q_getListPreis(color,size); */
}

/*Functions for memberprices */
function q_getMemberPreis(color,size) {
  if(q_pMemberPreis[color][size]!=null && q_pMemberPreis[color][size]!="undefined") {
    return q_pMemberPreis[color][size];
  } else {
    return "";
  }
}
function q_getMemberPreisAmount(color,size) {
  if(q_pMemberPreisAmount[color][size]!=null && q_pMemberPreisAmount[color][size]!="undefined") {
    return q_pMemberPreisAmount[color][size];
  } else {
    return "";
  }
}

function q_getListMemberPreis(color,size) {
  if(q_pListMemberPreis[color][size]!=null && q_pListMemberPreis[color][size]!="undefined") {
    return q_pListMemberPreis[color][size];
  } else {
    return "";
  }
}
function q_getListMemberPreisAmount(color,size) {
  if(q_pListMemberPreisAmount[color][size]!=null && q_pListMemberPreisAmount[color][size]!="undefined") {
    return q_pListMemberPreisAmount[color][size];
  } else {
    return "";
  }
}

function q_isMemberPreis(color,size) {
  if(q_pIsMemberPreis[color][size]!=null && q_pIsMemberPreis[color][size]!="undefined") {
    return q_pMemberPreis[color][size];
  } else {
    return "";
  }
}

/*Functons for standardprices */
function q_getStandardPreis(color,size) {
  if(q_pStandardPreis[color][size]!=null && q_pStandardPreis[color][size]!="undefined") {
    return q_pStandardPreis[color][size];
  } else {
    return "";
  }
}
function q_getStandardPreisAmount(color,size) {
  if(q_pStandardPreisAmount[color][size]!=null && q_pStandardPreisAmount[color][size]!="undefined") {
    return q_pStandardPreisAmount[color][size];
  } else {
    return "";
  }
}
function q_updateStandardPreis(color,size) {
/*  document.getElementById("itemstandardprice").innerHTML=q_getStandardPreis(color,size); */
/*  document.getElementById("itemstandardprice_hidden").value=q_getStandardPreis(color,size); */
}
/*Functsons for itemid */
function q_getCatentryId(color,size) {
  return q_pItemId[color][size];
}
function q_updateCatenentry(color,size) {
/*  document.getElementById("catEntryId").value=q_getCatentryId(color,size); */
document.getElementById("WC_CachedProductOnlyDisplay_FormInput_catEntryId_In_OrderItemAddForm_1").value=q_getCatentryId(color,size);
}
/*Functons for colors */
function q_getColors(size) {
  var pColors=new Array();
  var i=0;
  for(var Color in q_pListPreis) {
    for(var Size in q_pListPreis[Color]) {
      if(Size==size) {
        pColors[i]=Color;
        i++;
      }
    }
  }
  return pColors;
}

function q_updateColorBox(color,size) {
    /*var selectedColor=color;
    var colors=q_getColors(size);
    var colorElement=document.getElementById("itemcolor");
    if(colorElement!=null) {
      for(var i=0;i<colorElement.length;i++) {
        colorElement.options[i]=null;
      }
    }
    if(colors!=null && colorElement!=null) {
      var selected=false;
      var idx=0;
      for(var i=0;i<colors.length;i++) {
        if(q_pListPreis[colors[i]][size]!=null || q_pListPreis[colors[i]][size]!="undefined") {
          if(q_selectedColor==colors[i]) { idx=i; }
        }
      }

      for(var i=0;i<colors.length;i++) {
        if(q_pListPreis[colors[i]][size]!=null || q_pListPreis[colors[i]][size]!="undefined") {
          if(i==idx) {
            selected=true;
            q_selectedColor=colors[i];
          } else {
            selected=false;
          }
          colorElement.options[i]=new Option(colors[i],colors[i],false,selected);
        }
      }
    }
    return q_selectedColor;*/
}

function q_updateColor(color) {
  /*
  var sizeElement=document.getElementById("itemsize");
  var size=q_getSizes(color);
  var selected=false;
  k = document.OrderItemAddForm.itemsize.options.length;
  for(var l=0; l < k ; l++){
     document.OrderItemAddForm.itemsize.options[0] = null
  }
  for(var i=0;i<size.length;i++) {
  sizeElement.options[i]=new Option(size[i],size[i],false,selected);
  }
  q_updateImage(color, document.OrderItemAddForm.itemsize.options[document.OrderItemAddForm.itemsize.selectedIndex].value);
  q_updateListPreis(color,document.OrderItemAddForm.itemsize.options[document.OrderItemAddForm.itemsize.selectedIndex].value);
  q_updateStandardPreis(color,document.OrderItemAddForm.itemsize.options[document.OrderItemAddForm.itemsize.selectedIndex].value);
  q_updateCatenentry(color,document.OrderItemAddForm.itemsize.options[document.OrderItemAddForm.itemsize.selectedIndex].value);
  */
}

function q_updateSize(color,size) {
  q_updateImage(color, size);
  q_updateListPreis(color,size);
  q_updateStandardPreis(color,size);
  q_updateCatenentry(color,size);
}
/*function for size*/
function q_getSizes(color) {
  var pSizes=new Array();
  var i=0;
  for(var Size in q_pListPreis[color]) {
    if(q_pListPreis[color][Size]!='0'){
      pSizes[i]=Size;
      i++;
    }
  }
  return pSizes;
}

function q_updateSizeBox(color,size) {
  var q_selectedSize=size;  
  var q_selectedColor=color;
  q_current_size=q_selectedSize;
  
  

  /* selected size anzeigen */
  if(q_selectedSize == null){
    document.getElementById("size").innerHTML = "-";
  } else {
    document.getElementById("size").innerHTML = document.getElementById(q_selectedSize + "_on_innerborder").innerHTML;
  }
  
  /* alle erhaeltlichen groessen ausgrauern */
  var sizes=q_getSizes(q_selectedColor);
  for(var i=0;i<sizes.length;i++) {
    if(document.getElementById(sizes[i]+"_on") != null) {  
      document.getElementById(sizes[i]+"_on_innerborder").style.borderColor="#FFFFFF";
    }
  }
  
  if(document.getElementById(q_selectedSize+"_on") != null){    
    document.getElementById(q_selectedSize+"_on_innerborder").style.borderColor="#808080";
  }
  
  /* fr den fall, dass size null ist, also wenn kein item available, dann sind jetzt alle sizes ausgegraut, nun messen auch die button abgeschaltet werden und fr den fall, dass sie vorher aus waren, wieder an. */
  if(size){
    document.getElementById("wishlist_button").style.visibility="visible";
    document.getElementById("basket_button").style.visibility="visible";
  } else {
    document.getElementById("wishlist_button").style.visibility="hidden";
    document.getElementById("basket_button").style.visibility="hidden";
  }
  
  if(document.getElementById('canceled_price') != null){
    document.getElementById('canceled_price').innerHTML = q_getListPreis(color,size);
  }
  
  if(document.getElementById('normal_price') != null){
    document.getElementById('normal_price').innerHTML = q_getStandardPreis(color,size);
  }
  
  if(document.getElementById('member_price') != null){
    document.getElementById('member_price').innerHTML = q_getMemberPreis(color,size);
  }
  
  tmpListPrice = q_getListPreisAmount(color,size);
  tmpStandardPrice = q_getStandardPreisAmount(color,size);
  tmpMemberPriceAmount = q_getMemberPreisAmount(color,size);
  tmpListMemberPriceAmount = q_getListMemberPreisAmount(color,size);

  if(parseFloat(tmpMemberPriceAmount) < parseFloat(tmpStandardPrice)){
    document.getElementById("member_price_block").style.display = "block";
    if(parseFloat(tmpListMemberPriceAmount) > parseFloat(tmpMemberPriceAmount)) {
      document.getElementById("member_price_canceled").style.display = "inline";
      document.getElementById("member_price_canceled").innerHTML=q_getListMemberPreis(color,size);
      document.getElementById("member_price_now").style.display = "inline";
    } else {
      document.getElementById("member_price_canceled").style.display = "none";
      document.getElementById("member_price_now").style.display = "none";
    }
  } else {
    document.getElementById("member_price_block").style.display = "none";
    document.getElementById("member_price_canceled").style.display = "none";
    document.getElementById("member_price_now").style.display = "none";
  }
    
  if(parseFloat(tmpListPrice) > parseFloat(tmpStandardPrice)){
    /* it is sales for this item */
    document.getElementById('canceled_price').style.display = "inline";
    document.getElementById('canceled_price_now').style.display = "inline";
    document.getElementById('salesIcon').style.visibility = "visible";
  } else {
    document.getElementById('canceled_price').style.display = "none";
    document.getElementById('canceled_price_now').style.display = "none";
    document.getElementById('salesIcon').style.visibility = "hidden";
  }
  return q_selectedSize;
}

function q_getItemId(color,size) {
  return q_pImageId[color][size];
}
