



var _product_has_shades=true;

var _varName="";

var _varprice=0;

var _Description="";

//add to bag via AJAX
function AddToBagFromProductDetails(_parentCode,_PrdHasShades) {
        var _code=GetSelectedCode();
        var _parentnameObj=$get('productdetailsName');
        var _parentName= "";
        if (_parentnameObj!="") {
           _parentName= _parentnameObj.innerHTML;
        }
        // armani specific
        SetShoppingCartArmaniSpecific(_code,_PrdHasShades);
        //
        _LastShoppingCartItem.PopulateData(_code,_varName,_parentCode,_parentName,_varprice);
        _VariantBubble_Class.AddToCartFromProductDetails(_code,GetQuantity()); 
}

function SetShoppingCartArmaniSpecific(_code,_PrdHasShades) {
        _LastShoppingCartItem.IsVariantShade=false;
        if (_PrdHasShades=="1") {
            _LastShoppingCartItem.IsVariantShade=true;
        }
        //
        var _descObj=$get('productdetailsDesc');
        var _descValue="";
        if (_descObj!=null) {
           _descValue=_descObj.innerHTML;
           var _objbubledesc=$get('ShoppingCartBubble_Description');
           if (_objbubledesc!=null) {
             _objbubledesc.innerHTML=_descValue;
           }
        }
 }





var Tab1HasData=false;
var Tab2HasData=false;
var Tab3HasData=false;

function ProductDetailSwitchTab(_val, _matchColumns) {
        //
        var _tab1on=$get("TAB_1_ON");
        var _tab1off=$get("TAB_1_OFF");

        var _tab2on=$get("TAB_2_ON");
        var _tab2off=$get("TAB_2_OFF");

        var _tab3on=$get("TAB_3_ON");
        var _tab3off=$get("TAB_3_OFF");
        //
        var _data1=$get('TAB_1_DATA');
        var _data2=$get('TAB_2_DATA');
        var _data3=$get('TAB_3_DATA');

        //tab 3
        if (Tab3HasData==true) {
            if (_val==3) {
               _tab3on.style.display="";
               _tab3off.style.display="none";
               _data3.style.display="";
            }
            else {
               _tab3on.style.display="none";
               _tab3off.style.display="";
               _data3.style.display="none";
            }
        }
        //tab 2
         if (Tab2HasData==true) {
                if (_val==2) {
                     _tab2on.style.display="";
                     _tab2off.style.display="none";
                     _data2.style.display="";
                }
                else {
                   _tab2on.style.display="none";
                   _tab2off.style.display="";
                   _data2.style.display="none";
                }
        }
        //tab 1
      if (Tab1HasData==true) {
                if (_val==1) {
                           _tab1on.style.display="";
                           _tab1off.style.display="none";
                           _data1.style.display="";
                }
                else {
                           _tab1on.style.display="none";
                           _tab1off.style.display="";
                           _data1.style.display="none";
               }
       }
       

}

function ManagePrdDetailTabs() {
       
        
        var _tab1on=$get("TAB_1_ON");
        var _tab1off=$get("TAB_1_OFF");

        var _tab2on=$get("TAB_2_ON");
        var _tab2off=$get("TAB_2_OFF");

        var _tab3on=$get("TAB_3_ON");
        var _tab3off=$get("TAB_3_OFF");
        //
        var _data1=$get('TAB_1_DATA');
        var _data2=$get('TAB_2_DATA');
        var _data3=$get('TAB_3_DATA');
        if (Tab1HasData==false) {
             _tab1on.style.display="none";
             _tab1off.style.display="none";
             _data1.style.display="none";
        }
        if (Tab2HasData==false) {
             _tab2on.style.display="none";
             _tab2off.style.display="none";
             _data2.style.display="none";
       }
        if (Tab3HasData==false) {
             _tab3on.style.display="none";
             _tab3off.style.display="none";
             _data3.style.display="none";
       }
       //
        if (Tab1HasData==true) {
             //do notrhing, defaults are on
          
        }
        else  if (Tab2HasData==true) {
        
             ProductDetailSwitchTab(2,true);
        }
        else  if (Tab3HasData==true) {
             ProductDetailSwitchTab(3,true);
        }
        SelectSkuFromQueryString();
        ManagedVariantState(GetSelectedCode());
        DoMatchingColumnInitialize();

}

ProductVariantItem_Class=function () {
    this.Code=""; 
    this.Price="$0.00";
    this.StockNumber=""
    this.BackOrderedValue="";
    this.BackOrderDate="";
    this.Name="";
}

var _ProductVariantItem=new ProductVariantItem_Class();

function SetCurrentVariantData(){
          var mf = GetMainFormName();
	      if (mf==null) return;
          var x =  GetElementID("varlist",mf);
	      var objdrp=$get(x);
          if (objdrp!=null) {
                 var str=objdrp.options[objdrp.selectedIndex].value;
                 var _selectedvalue_array=str.split("#");
                 _ProductVariantItem.Code= _selectedvalue_array[0];
                 _ProductVariantItem.Price= _selectedvalue_array[1].replace("$","");
                 _ProductVariantItem.StockNumber= _selectedvalue_array[2];
                 _ProductVariantItem.BackOrderedValue= _selectedvalue_array[3];
                 _ProductVariantItem.BackOrderDate= _selectedvalue_array[4];
                 _ProductVariantItem.Name= objdrp.options[objdrp.selectedIndex].text;
         }
}

function ManagedVariantState()
{
    SetCurrentVariantData();
    setEanPrice(_ProductVariantItem.Price);
	ManageProductDetailsPurchaseButtons();
	DoMatchingColumnInitialize();
	
	if (_product_has_shades==true) {
	   // SetProductImageFromShade();
	   SetShadeBorders(_ProductVariantItem.Code);
	}
	
    
}

function setEanPrice(value)
{
	if (value != null) {
//		if (value.indexOf("#") >= 0) 
//		{
//			var _selectedvalue_array=value.split("#");
//			value=_selectedvalue_array[1].replace("$","");
//		}		
//		if (value.indexOf("0") == 0) value = value.slice(1);
		var objprice=$get('EAN_Price');
		if (objprice!=null) {
		     objprice.innerHTML = "$" + value;
		}
	}
}


var _savePageBackOrderMessage="";
//This function either shows out of stock btn or add to bag

function ManageProductDetailsPurchaseButtons() {
           
    var _bckordLabelobj=$get('Back_Order_Message');
    if (_savePageBackOrderMessage=="") {
       if (_bckordLabelobj!=null) {
         _savePageBackOrderMessage=_bckordLabelobj.innerHTML;
       }
    }
    var _backOrderMessage=_savePageBackOrderMessage;
    
    var _addtoBagImg=$get('Prd_Detail_AddtoBag_Img');
    
    if (_bckordLabelobj!=null) {
       _bckordLabelobj.style.display="none";
    }
    var sku=_ProductVariantItem.Code;
    var _outofstockbtn=$get('productdetailsoutofstockicon');
    var _instockbtn=$get('Prd_Detail_AddtoBag_Img');
    if (IsVariantInStock()) {
         _outofstockbtn.style.display='none';
         _instockbtn.style.display='';
         if (_addtoBagImg!=null) {
               _addtoBagImg.src="/img/BTN_AddToShppngBg.gif";
         }
    }
    else {
         var _bkorderpreorder=_ProductVariantItem.BackOrderedValue;
            if (_bkorderpreorder=="1" || _bkorderpreorder=="2") {
                      var _BackDateMessage="";
                      _BackDateMessage= _ProductVariantItem.BackOrderDate;
                      _backOrderMessage=_backOrderMessage.replace('$$$backorderdate$$$',_BackDateMessage);
                       _outofstockbtn.style.display="none";
                       _instockbtn.style.display="";
                         //change Source
                       if (_addtoBagImg!=null) {
                              if (_bkorderpreorder=="1") {//back order
                                     _addtoBagImg.src="/img/prd_btn_bckorder.gif";
                               }
                               else {//preorder
                                    _addtoBagImg.src="/img/prd_btn_preorder.gif";
                               }
                       }
                       if (_bckordLabelobj!=null) {
                                _bckordLabelobj.innerHTML=_backOrderMessage;
                                _bckordLabelobj.style.display="";//display as a message.
                       }
            }
        else {
                 _outofstockbtn.style.display='';
                 _instockbtn.style.display='none';
                 _StockNotification.Code=_ProductVariantItem.Code;
                // alert( _StockNotification.Code);
        }
    }

    
}

function SelectSkuFromQueryString(){
    if (typeof(ajax_firstprdshadecode) != 'undefined')
        {
          SetSkuAsSelected(ajax_firstprdshadecode)
        }
}

//set sku selected.
function SetSkuAsSelected(_sku) {
            if (_sku!="") {
	                   var mf = GetMainFormName();
	                   if (mf==null) return;
	                    var x = GetElementID("varlist",mf);
	                    if (x != null) {
		                        for (var i=0; i< document.forms[mf].elements[x].options.length; i++)	{
			                            str = document.forms[mf].elements[x].options[i].value
			                            str = str.slice(0,str.indexOf("#"));
			                            if (str==_sku) {
				                            document.forms[mf].elements[x].selectedIndex=i;
				                            return;
			                            }
		                        }
	                    }
	       }

}

function SetShadeSelected(_sku) {
     SetSkuAsSelected(_sku);
     ManagedVariantState();
    
     

}

var _lastShadeLayerObj=null;

var _ImageBorderStyleOFF="2px solid #ffffff";
      
var _ImageBorderStyleON="2px solid #000000";

function SetShadeBorders(_sku) {
            var _id="prd_details_img_" + _sku;
            var _obj=$get(_id);
            if (_obj != null)
            {
                
                if (_lastShadeLayerObj != null)
                {
                   //if (this.lastClicked.id==_id) return; //F.N: clicked on the same shade over and over, the if prevent by not changing the img src of the shade.
                  _lastShadeLayerObj.style.border=_ImageBorderStyleOFF;
        	        
                }
                 _obj.style.border=_ImageBorderStyleON;
                 _lastShadeLayerObj=_obj;
           }

}

 function SetProductImageFromShade()
    {
        // change larger image of product which is used for zoom
        // Step 1
        // Stop Magic Zoom
        try {
           MagicZoom_stopZooms();
        }
        catch (e) { }
        // Step 2
        // Get the reference to the <A> tag
        //if ( ! hasSingleImage ){
            var zoomLinkProd = document.getElementById('ProductMagicZoomImg');
            //zoomLinkProd.href = '/img/product/packshot/' + imagePath + '_lg.jpg';
            zoomLinkProd.href = '/img/product/packshot/' + _ProductVariantItem.Code + '_Z.jpg';
            zoomLinkProd.innerHTML = '<img  src="/img/product/packshot/'+ _ProductVariantItem.Code + '_l.png" border="0" width="322px" height="360px"/>'; 
       // }
//        if ( hasSwatchZoom ) {
//            var zoomLinkSwatch = document.getElementById('SwatchMagicZoomImg');
//            // Change the URL for the large image            
//            zoomLinkSwatch.href = '/img/product/swatch/' + imagePath + '_SW_Z.jpg'; 
//            // Change the small image            
//            zoomLinkSwatch.innerHTML = '<img src="/img/product/swatch/'+ imagePath + '_SW.jpg" border="0"/>';
//        } else {
//           image.src = '/img/product/swatch/' + imagePath + '_SW.jpg'; 
//        }    
        // Step 3
        // Re-initialize Magic Zoom
         try {
             MagicZoom_findZooms();
         }
       catch (e) { }

    }





// true if in stock else false
function IsVariantInStock(_code) {
           var _IsInStock=false;
           var StockTresHold=AJAX_GetTresHoldNumber();
           if (parseInt(_ProductVariantItem.StockNumber)>StockTresHold) {
                          _IsInStock=true;
           }
           return  _IsInStock;
}


//returns the upc
function GetSelectedCode() {
	var mf = GetMainFormName();
	if (mf==null) return;
     var x =  GetElementID("varlist",mf);
	 var objdrp=$get(x);
     if (objdrp!=null) {
          _varName=objdrp.options[objdrp.selectedIndex].text;
          var str=objdrp.options[objdrp.selectedIndex].value;
          var _selectedvalue_array=str.split("#");
          _varprice=_selectedvalue_array[1].replace("$","");
          return _selectedvalue_array[0];
     }
     else { return ""; }
}


//returns quantity
function GetQuantity() {
	var mf = GetMainFormName();
	if (mf==null) return;
	// var x = GetElementName("QtyList",mf);
	  var x =  GetElementID("QtyList",mf);
	 var objdrp=$get(x);
     if (objdrp!=null) {
           return objdrp.options[objdrp.selectedIndex].value;
     }
     else { return 1; }


}



//
//function GetVariantBackOrderPreOrder(_code) {
//     var backorderpreordervalue="";
//     var _drp=$get('varlist');
//     var options=_drp.options;
//     if (options!=null) {
//            for (var i=0; i< options.length; i++) {
//                var str = options[i].value;
//                var _selectedvalue_array=str.split("#");
//                if (_selectedvalue_array[0]==_code) { 
//                   // if (_selectedvalue_array[3]=="1" || _selectedvalue_array[3]=="2") {
//                       backorderpreordervalue=_selectedvalue_array[3]
//                       break;
//                  // }
//                }
//            }
//         }
//       return backorderpreordervalue;
//}

//
//function GetBackOrderPreOrderDateMessage(_code) {
// var _dateorder="";
// var _drp=$get('varlist');
// var options=_drp.options;
// if (options!=null) {
//        for (var i=0; i< options.length; i++) {
//            var str = options[i].value;
//            var _selectedvalue_array=str.split("#");
//            if (_selectedvalue_array[0]==_code) { 
//                   _dateorder=_selectedvalue_array[4];
//                   break;
//              
//            }
//        }
//     }
//   return _dateorder;
//}