var AJAX_SHOPPINGCART_POWER_SYSTEM="AJAX_SHOPPINGCART_POWER_SYSTEM";
var AJAX_SHOPPINGCART_POWER_SYSTEM_PRODUCTS="AJAX_SHOPPINGCART_POWER_SYSTEM_PRODUCTS";

/// Promotion Proximity Constants
var AJAX_SHOPPINGCART_PROMO_MESSAGE = "AJAX_SHOPINGCART_PROMO_MESSAGE";
var AJAX_SHOPPINGCART_PROMO_DISTANCE_TYPES = "BasketPriceEvaluator,CustomerSegmentEvaluator";
var AJAX_SHOPPINGCART_PROMO_DISTANCE_COUNT = 1;
var AJAX_SHOPPINGCART_PROMO_DISTANCE_BECOME_MEMBER_MESSAGE = "Please register to receive free shipping!";
var AJAX_SHOPPINGCART_PROMO_DISTANCE_I_AM_A_MEMBER_MESSAGE = "You are eligible for Free Shipping!";
// Other constants
var AJAX_DEFAULT_RTLCODE="LOREAL";
var POWER_SYSTEM_ASSOCIATION_NAME='Armani_Recommends'
//
var AJAX_varlist="varlist";
var AJAX_QtyList="QtyList";

//Filter before the BBB
//var AJAX_LANCOME_VARIANT_FILTER_EXPRESSION_1="Isnull(isbeautybyebye,'Null Column') = 'Null Column'  or isbeautybyebye<>'2'";
//Filter After displaying BBB set to empty
//var AJAX_SUAOB_VARIANT_FILTER_EXPRESSION_1="isnull(Discontinued_Variant,'Null Column') = 'Null Column'  or Discontinued_Variant<>'2'";
// this will be used for discontinued page quick shop bubbles
//var AJAX_SUAOB_VARIANT_FILTER_EXPRESSION_2="Discontinued_Variant='1'";

var AJAX_FILTER_EXPRESSION_1="";

var DISCONT_VIEWDETAILS_PROD_TEMPLATE='<a href="$$$AJAX_ProductRelativePath$$$product.aspx?CatCode=$$$AJAX_ProductCategoryCode$$$&prdcode=$$$AJAX_ParentProductCode$$$" ><img src="/IMG/BTN_VwDtls.gif" alt="view details" border="0" /></a>';
var DISCONT_VIEWDETAILS_PROD_TEMPLATE_URL_REWRITTEN='<a href="$$$AJAX_ProductRelativePath$$$$$$AJAX_ProductURLRewrittenHomePage$$$?cm_mmc=QuickShopLink" ><img src="/IMG/BTN_VwDtls.gif" alt="view details" border="0" /></a>';

var NO_PROD_TO_SHOW_LOOKPRODUCTS_CROSSEL = 2

//assign  modal popup custom events
_CoreModalPopUp.beforeOpen="modalBeforeOpen"; 
_CoreModalPopUp.beforeClose="modalBeforeClose";
//

//
function modalBeforeOpen() {
  if (AJAX_IsIE6()) {
       ToggleDropDowns('hidden');
       
  }

}

//
function modalBeforeClose() {
    if (AJAX_IsIE6()) {
      ToggleDropDowns('visible');
     
    }
}
//assign shopping cart events
_ShoppingCartBubble_Class.beforeOpen="ShoppingCartBeforeOpen"; 
_ShoppingCartBubble_Class.beforeClose="ShoppingCartBeforeClose";

var _loadPowerSystem=true;
var _loadLastItem=true;
var _shopcartBubbleID='ShoppingCartBubble_Div';

function ShoppingCartBeforeOpen() {
 
  _CoreModalPopUp._PopupControlID=_shopcartBubbleID;
  _CoreModalPopUp.ShowModal();
  SetShadeAreaOnShoppingCart();
 
  // step 1
  try {
    
            GetPowerSystem();
            //GetLastShoppingCartItemParentProdutData();
    
    }
    catch(err) {
  
    }
    if (AJAX_IsIE6()) {
        ToggleDropDowns('hidden');
        var imgObj = $get(_ShoppingCartBubble_Class.ShoppingCartBubble_ProductImageID);
        DD_belatedPNG.fixPng(imgObj);
    }        
  
}

function GetPowerSystem(){
     var obj=$get(AJAX_SHOPPINGCART_POWER_SYSTEM);
      if ( obj!=null) {
        obj.style.display="none";
      }
      var obj2=$get('AJAX_COMPLETE_MESSAGE');
      if ( obj2!=null) {
        obj2.style.display="none";
      }
      
     _WebServiceAPI.GetProductAssociations(AJAX_DEFAULT_RTLCODE,_LastShoppingCartItem.ItemCode,POWER_SYSTEM_ASSOCIATION_NAME,false,'DisplayPowerSystemOnComplete');
}


function DisplayPowerSystemOnComplete(result){
       DoDefaultWithoutEvent();
        var obj=$get(AJAX_SHOPPINGCART_POWER_SYSTEM);
         var obj2=$get('AJAX_COMPLETE_MESSAGE');
         //
        
         if (result!=null) {
               if ( obj!=null) {
                obj.style.display="block";
               }
               if ( obj2!=null) {
                obj2.style.display="block";
               }
              var sb = new StringBuilder();
              //var sbprdnames= new StringBuilder();
              for (var i=0; i < result.length && i < 2; i++)  {
                        var IsVariant=true;
                        var HasShades=false;
                        if (result[i].ParentName=="") {
                            IsVariant=false;
                        }
                        var _viewDetais="view details &gt;";
                        if (result[i].HasShades) {
                            HasShades=true;
                            _viewDetais="view shades & details &gt;";
                        }
              
                   var _rewriter=GetCrossSellURLRewriterPage(result[i].CategoryHomePage,result[i].URLRewrittenHomePage);
                      
                   sb.append("<div style=\"width:210px\" class=\"float_L\">");
                        sb.append("<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">");
                           sb.append("<tr>");
                            sb.append("<td>");
                            	sb.append("<div class=\"float_L\"><img class=\"png_css\" src=\"/img/product/packshot/"  + result[i].SKU + "_s.jpg\" width=\"89px\" height=\"125px\"/></div>");
                                sb.append("<div style=\"width:105px\" class=\"float_L\">");
                               	  sb.append("<div class=\"A_BLACK_11R LH_12\">");
                                            sb.append("<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">");
                                                  sb.append("<tr>");
                                                    sb.append("<td height=\"50\" valign=\"bottom\">" + result[i].Name + "</td>");
                                                  sb.append("</tr>");
                                            sb.append("</table>");
                                      sb.append("</div>");
                                    //sb.append("<div class=\"margin10_T\"><a href=\""+ _rewriter + "\"><img src=\"/IMG/PU_BTN_Dscvr.gif\" alt=\"Discover\" border=\"0\" /></a><br /><a href=\"#\"><img src=\"/img/PU_BTN_QuckShp.gif\" alt=\"Quick Shop\" border=\"0\" class=\"margin04_T\" /></a></div>");
                                     sb.append("<div class=\"margin10_T A_BLACK_11R\"><a href=\""+ _rewriter + "\" class=\"A_BLACK_11R\">" + _viewDetais + "</a><br/><img src=\"/img/PU_BTN_QuckShp.gif\" alt=\"Quick Shop\" border=\"0\" class=\"margin04_T\" style=\"cursor:pointer\" onclick=\"_QuickShop_Class.SetFilterAndShowBubble('" + result[i].SKU + "',false," + result[i].HasShades +  ",AJAX_FILTER_EXPRESSION_1);\" /></div>");
                                 sb.append("</div>");
                             sb.append("</td>")
                           sb.append("</tr>");
                         sb.append("</table>");
                     sb.append("</div>");
                    if ( i==0 ) {
                    //<!--START DIVIDER-->
                    sb.append("<div style=\"background-color:#dbdbdb\" class=\"float_L margin30_T\"><img src=\"/img/spacer.gif\" width=\"1\" height=\"69\" /></div>");
                    //<!--END DIVIDER-->
                    }
                
         }       
            
         var objpowersystem=$get(AJAX_SHOPPINGCART_POWER_SYSTEM_PRODUCTS);
         if (objpowersystem!=null) {
            
             objpowersystem.innerHTML= sb.toString();
         }
      }
     //alert(sb.toString());
     if (AJAX_IsIE6()) {
                ToggleDropDowns('hidden');               
    }
    _CoreModalPopUp._PopupControlID=_shopcartBubbleID;
    _CoreModalPopUp.ShowModal();
}

function SetShadeAreaOnShoppingCart() {
          try {
                    var _objShadeArea=$get('ShoppingCartBubble__ShadeArea');
                    if ( _objShadeArea!=null ) { _objShadeArea.style.display='none'; }
                    
                    if ( _LastShoppingCartItem.IsVariantShade==true) {
                        if ( _objShadeArea!=null ) { _objShadeArea.style.display=''; }
                         var _objShadeImage=$get('ShoppingCartBubble_ItemImage');
                         if (_objShadeImage!=null) {
                         
                           _objShadeImage.src="/img/product/swatch/" + _LastShoppingCartItem.ItemCode + "_s.gif";
                           if ( _LastShoppingCartItem.ItemName!=null) {
                             _objShadeImage.alt= _LastShoppingCartItem.ItemName;
                             _objShadeImage.title= _LastShoppingCartItem.ItemName;
                           }
                         }
                    }
               }
     catch(err) {
  
     }


}


function GetCrossSellURLRewriterPage(ctgHomePage,prdHomePage) {
   var rewriter="/_us/_en";
   rewriter=rewriter + ctgHomePage.replace(".aspx","/");
   rewriter=rewriter + prdHomePage;
   return rewriter;
}

//
function ShoppingCartBeforeClose() {
    if (AJAX_IsIE6()) {
        ToggleDropDowns('visible');
    }      
}
function GetLastShoppingCartItemParentProdutData(){
    _WebServiceAPI.LoadProduct(_LastShoppingCartItem.ItemParentCode,false,'GetLastShoppingCartItemParentProdutDataOnComplete');
    
}
function GetLastShoppingCartItemParentProdutDataOnComplete(result){
    
    if (result != null)    {
                var makeupProductHasSingleImage = _ProductBubble_Class.GetPropertyValue(result.Properties,"Has_Single_Image");    
                if ( result.CategoryPath.indexOf("AXEMakeup") != -1 && makeupProductHasSingleImage != "1" ) {
                     var objimage=$get(_ShoppingCartBubble_Class.ShoppingCartBubble_ProductImageID);
                    if (objimage!=null) {
                        objimage.src=IMAGES_RELATIVE_OR_ABSOLUTE_PATH + PRODUCT_SMALL_IMAGE_PREFIX  + _LastShoppingCartItem.ItemCode +  PRODUCT_SMALL_IMAGE_SUFFIX;
                        
                    }
                }
               
        }
}





function GetPromotionProximity()
{
      var obj=$get(AJAX_SHOPPINGCART_PROMO_MESSAGE);
      if (obj!=null)
      {
        obj.style.display="none";
      }
      _WebServiceAPI.GetPromotionProximity(CurrentCustomerID, AJAX_SHOPPINGCART_PROMO_DISTANCE_COUNT, AJAX_SHOPPINGCART_PROMO_DISTANCE_TYPES, null, 'DisplayPromotionProximityOnComplete');
}

function DisplayPromotionProximityOnComplete(result)
{
    var obj=$get(AJAX_SHOPPINGCART_PROMO_MESSAGE);
     DoDefaultWithoutEvent();
    // Display the results 
    
    if (result!=null) 
    {
        if ( obj!=null) 
        {
            obj.style.display="";
        }
       if (result[0]!=null && typeof(result[0]!='undefined')) {
             // For now assume we are going to only display the information
            // from the first distance returned.
            alert(result[0].EvaluatorType);
            if (result[0].EvaluatorType == "CustomerSegmentEvaluator")
            {
               if (CustomerSigned==false) {
                obj.innerHTML = AJAX_SHOPPINGCART_PROMO_DISTANCE_BECOME_MEMBER_MESSAGE;
              }
              else {
                  obj.innerHTML  =AJAX_SHOPPINGCART_PROMO_DISTANCE_I_AM_A_MEMBER_MESSAGE;
              }
            }
            else
            {
                obj.innerHTML = result[0].PromotionTextWithComputedDistance;
            }
        }
        else { //assume like there is a promotion and display the messages above, on this case nothing was being returned.
            if (CustomerSigned==false) {
                obj.innerHTML = AJAX_SHOPPINGCART_PROMO_DISTANCE_BECOME_MEMBER_MESSAGE;
              }
              else {
                  obj.innerHTML  =AJAX_SHOPPINGCART_PROMO_DISTANCE_I_AM_A_MEMBER_MESSAGE;
              }
        }
    } else{
        alert('no results');
    }
    
      
}