﻿function ecf_PurchaseModule_OnAccessoriesUpdate(source, accessories)
{
    ecf_PurchaseModule_InitAccessoryCheckboxes();
}

function ecf_PurchaseModule_UpdatePrices(source, accessories)
{
    if(source!=null)
    {
        if(!source.checked)
        {
            accessories[0] = -source.getAttribute('accessoryid');
        }       
    }
    
    try
    {
        Ignify.eCommerce.Web.Store.MasterTemplates.Ignify.Modules.SharedModules.PurchaseModule.UpdatePrice(m_ecf_PurchaseModule_ProductId, m_ecf_PurchaseModule_VariationId, m_ecf_PurchaseModule_CurrencyCode, accessories, function(result) {ecf_PurchaseModule_UpdatePricesCallback(result, source);});
    }
    catch(error)
    {
        ecf_PurchaseModule_ToggleAccessoryCheckboxes(false);
    }
}

function ecf_PurchaseModule_UpdatePricesCallback(result, source)
{
  
    var itemCode = document.getElementById(m_ecf_PurchaseModule_ItemCodeControlId);    
    //var availability = document.getElementById(m_ecf_PurchaseModule_AvailabilityControlId);
    var priceListControl = document.getElementById(m_ignify_PurchaseModule_PriceListControlId);
    var qtyPricingControl = document.getElementById(m_ecf_PurchaseModule_QtyPricingControlId);
    
    var itemStockQty = document.getElementById(m_ecf_PurchaseModule_StockQtyControlId);
    var prodButton = document.getElementById(m_ecf_PurchaseModule_btnAddtoCartControlId);
      
    var HeightCm=null;
    if(m_ecf_PurchaseModule_HeightCmControlId!=null)
        HeightCm=document.getElementById(m_ecf_PurchaseModule_HeightCmControlId);
  
    var LengthCm=null;
    if(m_ecf_PurchaseModule_LengthCmControlId!=null)
        LengthCm=document.getElementById(m_ecf_PurchaseModule_LengthCmControlId);
   
    var WidthCm= null;
    if(m_ecf_PurchaseModule_WidthCmControlId!=null)
        WidthCm=document.getElementById(m_ecf_PurchaseModule_WidthCmControlId);
    var WeightShow= null;
    if(m_ecf_PurchaseModule_WeightShow!=null)
        WeightShow=document.getElementById(m_ecf_PurchaseModule_WeightShow);    
    
        
    var HeightCmSlv=null;
    
    if(m_ecf_PurchaseModule_HeightCmSlvControlId!=null)
        HeightCmSlv=document.getElementById(m_ecf_PurchaseModule_HeightCmSlvControlId);
      
      var LengthCmSlv=null;
    if(m_ecf_PurchaseModule_LengthCmSlvControlId!=null)
        LengthCmSlv=document.getElementById(m_ecf_PurchaseModule_LengthCmSlvControlId);
     var WidthCmSlv= null;
    if(m_ecf_PurchaseModule_WidthCmSlvControlId!=null)
        WidthCmSlv=document.getElementById(m_ecf_PurchaseModule_WidthCmSlvControlId);
        
    var FreeShip=  null
    if (m_ecf_PurchaseModule_FreeShiping != null)
        FreeShip = document.getElementById(m_ecf_PurchaseModule_FreeShiping);
//    var Dimensionshow=  null
//    if (m_ecf_PurchaseModule_Dimension != null)
//        Dimensionshow = document.getElementById(m_ecf_PurchaseModule_Dimension);
 var SleeveDimensionshow = document.getElementById(m_ecf_PurchaseModule_SleeveDimension);   
  
    var pricelabel;
//   var i=0;
//   for(i=0;i<=result.value.length;i++)
//   {
//   alert(result.value[i]);
//   }
   if(result.error!=null)
    {
        //alert("AJAX: Error occured while processing the request, refresh the page. Message: " + result.error.Message + ", code: " + result.error.Code);
        ecf_PurchaseModule_ToggleAccessoryCheckboxes(false);
        return;
    }
   
    if(result.value == null || result.value.length < 3)
        return;
       
    //listPrice.innerHTML = result.value[0];
    //finalPrice.innerHTML = result.value[1];
    //if(discountPrice != null)
    //    discountPrice.innerHTML = result.value[2];
        
    if(result.value.length >= 4)
        itemCode.innerHTML = result.value[3];
        
    //if(result.value.length >= 5)        
    //availability.innerHTML = result.value[4];
    
    if(result.value.length >= 6)        
      { 
        priceListControl.innerHTML = result.value[5];
        pricelabel=result.value[5].replace('$','');
      
         //Check Price here for Free Ship label show.
       if(FreeShip!= null)
         {
         
             if (parseInt(pricelabel) <= parseInt("100"))
              {     
                    FreeShip.style.visibility = "hidden";
              }
              else
              {
                 FreeShip.style.visibility = "visible";
              }
          }
       
       }
       
               
    if(result.value.length >= 7 && qtyPricingControl != "undefined" && qtyPricingControl != null)
        qtyPricingControl.innerHTML = result.value[6];
       //Check Quantity here By Gazanafar.
       if (parseInt(result.value[6]) < parseInt("1"))
        {
            alert("The item you have selected is currently out of stock.\n Please select another item.");
            prodButton.style.visibility = "hidden";
         }
        else
        {
          prodButton.style.visibility = "visible";
        }
  
      
    if(result.value.length >=8)  
       {
       if(result.value[7].length>0)
       {
        if(HeightCm!=null)
         HeightCm.innerHTML = result.value[7];
       }
        else
        {
            if(HeightCm!=null)
                HeightCm.innerHTML="";
        }
      }
         
     if(result.value.length >= 9) 
     {       
         if(result.value[8].length>0)
         {
         if(LengthCm!=null)
          LengthCm.innerHTML = result.value[8];
          }
          else
          {
          if(LengthCm!=null)
            LengthCm.innerHTML="";
          }
      }
 
     if(result.value.length >= 10)        
         {
         if(result.value[9].length>0)
         {
         if(WidthCm!=null)
           WidthCm.innerHTML = result.value[9];
          }
           else
           {
           if(WidthCm!=null)
                WidthCm.innerHTML="";
           }
         }

     
       if(result.value.length >= 11)
       {
            if(result.value[10].length>0)
            {
            if (HeightCmSlv != null)
                HeightCmSlv.innerHTML = result.value[10];
            }
           else
           {
                if (HeightCmSlv != null)
                    HeightCmSlv.innerHTML ="";
           }
        }
     
     
     if(result.value.length >= 12) 
     {       
         if(result.value[11].length>0)
         {
         if (LengthCmSlv != null)
          LengthCmSlv.innerHTML = result.value[11];
         }
        else
         {
       if (LengthCmSlv != null)
        LengthCmSlv.innerHTML ="";
        }
      }

    
     if(result.value.length >= 13)        
         {
         if(result.value[12].length>0)
         {
        
         if (WidthCmSlv != null)
           WidthCmSlv.innerHTML = result.value[12];
         }
         else
           {
           if (WidthCmSlv != null)
            WidthCmSlv.innerHTML ="";
            } 
 }

     if(result.value.length >= 14)        
         {
         if(result.value[13].length>0)
           WeightShow.innerHTML = result.value[13];
        
         }
    
// if((HeightInc!=null)&&(HeightCm!=null)&&(LengthInc!=null)&&(LengthCm!=null)&&(WidthInc!=null)&&(WidthCm!=null)&&(WeightShow!=null))
// {
//      if((HeightInc.innerHTML="")&&(HeightCm.innerHTML="")&&(LengthInc.innerHTML="")&&(LengthCm.innerHTML="")&&(WidthInc.innerHTML="")&&(WidthCm.innerHTML="")&&(WeightShow.innerHTML=""))
//            Dimensionshow.style.visibility = "hidden";
//     else
//            Dimensionshow.style.visibility = "visible";  
//  }  
  
  if((HeightCmSlv!=null)&&(LengthCmSlv!=null)&&(WidthCmSlv!=null))
    {
  
        if((HeightCmSlv.innerHTML=="")&&(LengthCmSlv.innerHTML=="")&&(WidthCmSlv.innerHTML==""))
                 SleeveDimensionshow.style.visibility = "hidden"; 
        else
                  SleeveDimensionshow.style.visibility = "visible"; 
     }  
     
              
}

function ecf_PurchaseModule_PurchaseOptionChanged(source)
{
    document.getElementById("__ECFPURCHASEMODULE_ITEMID").value = source.value;
    m_ecf_PurchaseModule_VariationId = source.value;
    ecf_PurchaseModule_InitAccessoryCheckboxes();
}

function ecf_PurchaseModule_Init()
{
    window.onload = function(){ecf_PurchaseModule_InitAccessoryCheckboxes2(true);ecf_PurchaseModule_InitOptionLists();};    
}

function ecf_PurchaseModule_InitOptionLists()
{ 
    if(typeof(ecf_PurchaseModule_DropdownArray) == "undefined")
        return;
        
    initDynamicOptionLists();       
    
    document.getElementById(ecf_PurchaseModule_DropdownArray[ecf_PurchaseModule_DropdownArray.length - 1]).onchange = new Function("ecf_PurchaseModule_PurchaseOptionChanged(this)");
    for(var index = 0; index<ecf_PurchaseModule_DropdownArray.length; index++)
    {
        var dropdown = document.getElementById(ecf_PurchaseModule_DropdownArray[index]);
        if(dropdown != null && dropdown.options.Length > 0)
            dropdown.options[0].selected = true;
    }
}

function ecf_PurchaseModule_InitAccessoryCheckboxes()
{
    ecf_PurchaseModule_InitAccessoryCheckboxes2(false);
}

function ecf_PurchaseModule_InitAccessoryCheckboxes2(onload)
{
    // get array length
    var arrayLength = 0;
    var ecf_PurchaseModule_CheckboxesArray=0;
    var hasCheckedControls = false;
    for(var index = 0; index<ecf_PurchaseModule_CheckboxesArray.length; index++)
    {
       var checked = document.getElementById(ecf_PurchaseModule_CheckboxesArray[index]);      
        if(checked.checked)
           arrayLength++;
    }

    // populate array
    var items = new Array(arrayLength);
    for(var index = 0; index<ecf_PurchaseModule_CheckboxesArray.length; index++)
    {
        var checked = document.getElementById(ecf_PurchaseModule_CheckboxesArray[index]);
        var id = document.getElementById(ecf_PurchaseModule_CheckboxesArray[index]).getAttribute('accessoryid');
       
        if(checked.checked)
        {
            hasCheckedControls = true;
            items[index] = id;
        }
    }

    // don't update on first visit if checkbox-es are not checked, they will be checked only if back button is clicked    
    if((onload && hasCheckedControls) || !onload)
        ecf_PurchaseModule_UpdatePrices(null, items);
}

function ecf_PurchaseModule_ToggleAccessoryCheckboxes(check)
{
//    for(var index = 0; index<ecf_PurchaseModule_CheckboxesArray.length; index++)
//    {
//       
//        var checked = document.getElementById(ecf_PurchaseModule_CheckboxesArray[index]);      
//       
//        checked.checked = check;
//        
//    }
}