var count=0;
var catEntryArray=[];
var currencySymb="$";

function attachBundlingCallbacks(){
	$('p.remove a').click(function(event){
		event.preventDefault();
		var index;
		for (var i = 0; i < $(".Bundling .bundlingProductPointer").size(); i++){
			if( $(".Bundling .bundlingProductPointer").get(i) === $(this).parents(".bundlingProductPointer").get(0))
				index = i;
		}
		$(this).parents(".bundlingProductPointer").addClass("bundlingProduct_inactive");
		$(this).parents(".bundlingProductPointer").removeClass("bundlingProduct");
		
		$($(".contenPrice table tr").get(index)).addClass("hidden");
		updateSavings()
	});
	$('p.remove input').click(function(event){
		event.preventDefault();
		var index;
		for (var i = 0; i < $(".Bundling .bundlingProductPointer").size(); i++){
			if( $(".Bundling .bundlingProductPointer").get(i) === $(this).parents(".bundlingProductPointer").get(0))
				index = i;
		}
		if($(this).parents(".bundlingProductPointer").hasClass("bundlingProduct_inactive"))
		{
			$(this).parents(".bundlingProductPointer").removeClass("bundlingProduct_inactive");
			$(this).parents(".bundlingProductPointer").addClass("bundlingProduct");
			$($(".contenPrice table tr").get(index)).removeClass("hidden");
		}
		else
		{
			$(this).parents(".bundlingProductPointer").addClass("bundlingProduct_inactive");
			$(this).parents(".bundlingProductPointer").removeClass("bundlingProduct");
			$($(".contenPrice table tr").get(index)).addClass("hidden");
		}
		updateSavings()
	});
	$('input.remove').click(function(){
		removeBundlingItem($($(this).parents('tr:first')));
		updateSavings();
		return false;
	});
	updateSavings();
}

function removeBundlingProduct(bundlingProduct){
	//console.log("remove");
	bundlingProduct.addClass('bundlingProduct_inactive')
	bundlingProduct.removeClass('bundlingProduct')
	var index=getIndex(bundlingProduct);
	var relatedItem=$($('div.contenPrice').children()[index]);
	relatedItem.addClass('hidden');
}
function removeBundlingItem(bundlingItem)
{
	bundlingItem.addClass('hidden');
	var index=getIndex($(bundlingItem));
	var relatedProduct=$($('.Bundling .bundlingProductPointer')[index]);
	relatedProduct.addClass('bundlingProduct_inactive')
	relatedProduct.removeClass('bundlingProduct')
}
function addBundlingProduct(bundlingProduct){
	//console.log("add");
	bundlingProduct.removeClass('bundlingProduct_inactive')
	bundlingProduct.addClass('bundlingProduct')
	var index=getIndex(bundlingProduct);
	var relatedItem=$($('div.contenPrice').children()[index]);
	relatedItem.removeClass('hidden');
}

function getIndex(e, element ){
	var index=-1;
	if(!element){element="tr"; }
	elements : for (var i =0; i<e.parent().find(element).size(); i++){
		if(e.parent().find(element).get(i) === e.get(0)){
			index = i
			break elements; 
		}
	}
	return index;
}

 

function updateSavings(){
	var total=0;
	var listTotal=0;
	var savings=0;
     $('div.contenPrice').find('.savings .First').show();
     if(typeof isI18NConvReq =="function"){	
     		if(isI18NConvReq()){
					currencySymb = i18nCookieData.currencyCode;
				}
				else{
					currencySymb = "$"
		}
				}
	
				else{
					currencySymb = "$"
		}
	
	$('div.contenPrice .bundlingItems').each(function(i,elem){
		if(!$(elem).hasClass('hidden'))
		{
			listTotal+=parseFloat($(elem).find('.price').html().split(currencySymb)[1]);
			total+=parseFloat($(elem).find('.priceTwo').html().split(currencySymb)[1]);
		
  		    
  		
		}
	});
	savings=listTotal-total;

	  savings= parseFloat(savings).toFixed(2);
	  total=parseFloat(total).toFixed(2);
	$('div.contenPrice').find('.savings .First.value').html(currencySymb+savings);
	$('div.contenPrice').find('.savings .Third').html(currencySymb+total);
  if(savings==0){
  	$('div.contenPrice').find('.savings .First').hide();
  
  }
	checkBundlingProducts();
}

function checkBundlingProducts(){
	//alert("length:  " + $('div.Bundling .bundlingProduct').length);
	if($('div.Bundling .bundlingProduct').length>0)
	{	
		//console.log(">>>"+$('div.Bundling .bundlingProduct').length)
		$('div.noProductsMessage').addClass('hidden');
		$('div.contenPrice').removeClass('hidden');
		//alert("hide message");
	}
	else
	{	$('div.noProductsMessage').removeClass('hidden');
		$('div.contenPrice').addClass('hidden');
		//alert("show message");
	}
}

/*---- HOMEMADE JQUERY PLUGINS /END ----*/
/*
function qvBtn(){
    var screen = '<div class="screen"/>';
    var QVbtn = '<a href="#quickView" title="View QuickView information for this item" class="QVbtn"><img alt="quick view button"  src="'+imagePath+'img/btn/btn_quickView.gif" width="80" height="20" style="background:transparent;"></a>';
    var photoDiv = $('.bundlingProductPointer .photo');
    $(photoDiv).hover(function(){
		
		
        var _this = $(this);
        //var qvString = _this.find('a').attr('href').toString().split("?")[0].split("p_")[1];
       
        //Check if the product is SHC product - Vendor Product enhancement
        //if(qvString != null && (qvString.indexOf("_") > 0)) {
 
            //Check whether its a SHC's store - Vendor Product enhancement
			//if(qvSID=="10153"||qvSID=="11201"||qvSID=="10151"||qvSID=="10152"||qvSID=="12701"||qvSID=="13201"||qvSID=="10701"||qvSID=="11701"||qvSID=="11702"||qvSID=="11703"||qvSID=="10154"){ 
                _this.addClass("over");
                _this.append($(screen));
                $(QVbtn).appendTo(_this);
                _this.find(".screen").animate({height:60},200,function(){
                    $(this).parent().find(".QVbtn").fadeIn(300);
                });
 
            //}
        //}
    },function(){
        var _this = $(this);
        _this.removeClass("over");
        _this.find(".QVbtn").remove();
        _this.find(".screen").remove();
    });
    
    
} 
*/

$(function(){
 
	//attachBundlingCallbacks();
	//qvBtn();
	//addToCartBundles();
});


//Added by Taral Desai
var bundleProduct = new Array(3);
function checkBundleProducts(json){
 
if(typeof json != 'undefined' && typeof json.placements != 'undefined' ){
		for(i=0;i<json.placements.length;i++){
		 
		
 			if(json.placements[i].placementType=='item_page.1_json'){ 
			//iterate through
			   if(json.placements[i].items!= 'undefined' && json.placements[i].items.length >0){
			      var prodLength=json.placements[i].items.length;
			      var counterLength=0;
			      if(  prodLength >=2  ){
			      counterLength=2;
			      }
			     else{
			      counterLength=prodLength;
				   
			      }
			       for(j=0;j<counterLength;j++){
				    
				     var product=new Object();
				     product.pn=json.placements[i].items[j].itemId;
				     product.image=json.placements[i].items[j].image;
				     product.url=json.placements[i].items[j].url;
				     product.name=json.placements[i].items[j].name;
	              	 product.saveStory=json.placements[i].items[j].attr_savestory;
	              	 var regPrice=(json.placements[i].items[j].pricecents)/100;
	                 regPrice= parseFloat(regPrice).toFixed(2);
	     		     product.regPrice=regPrice;
	     		     
	     		     var salePrice=(json.placements[i].items[j].salepricecents)/100;
	                 salePrice= parseFloat(salePrice).toFixed(2);
	     		     product.salePrice=salePrice;
	     			  
	     			 if(product.salePrice==0){
	     			 product.salePrice=product.regPrice;
	     		 	 }
	     			 product.valid=false;
	      			 bundleProduct[product.pn]=product;
				   
				   }
			   }
			    
			return true;
			}
		}
}
 return false;
}

function generateBundleProducts(){
   var partNumbers=createPartNumberString();
    callFreqBoughtCmd(partNumbers);
}


function callFreqBoughtCmd(partNumbers){
	   var remoteURL="BrowseFreqBoughtTogetherCmd?bundlePartNums="+partNumbers+"&storeId="+storeId+"&catalogId="+catalogId;
	   request=$.getJSON(remoteURL,processFreqBoughtJSON);
}
	
function processFreqBoughtJSON(json){
	updateBundleArrWithJSONRes(json);
	createBundleHTML( );updateSavings();attachBundlingCallbacks();
	 //qvBtn();
	addToCartBundles();
	if(storeId =='10151' && typeof partIndexArray !='undefined' && partIndexArray.length>1){
		$("div#carousel_1").attr("class","bordbot");
}
}

function addMainProduct(partNumber,image,url,name,saveStory,regPrice,salePrice,itemCatId,productCatID){
 
					var src = $('input#smartCartImg').val();
					src+='?hei=100&wid=100&op_sharpen=1';
                    var product=new Object();
				     product.pn=partNumber;
				     if(coordinateExists){
				     	product.image=image;
					} else {
				     product.image=image+src ;
					}
				     product.url= url;
				     product.name= name;
	              	 product.saveStory= saveStory
	              	 if(regPrice!=null && regPrice!=''){
	              	regPrice= parseFloat(regPrice).toFixed(2);
	              	 product.regPrice=regPrice;
	              	 }
	              	 else{
	              	  product.regPrice=0.00;
	              	 }
	               if(salePrice!=null && salePrice!=''){
	     		     salePrice= parseFloat(salePrice).toFixed(2);
	     		     product.salePrice=salePrice;
	     		     }
	     		     else{
	              	  product.salePrice=0.00;
	              	 }
	     	 	     
	     		     product.pCId=productCatID;
                     product.cCID=itemCatId;
 					 product.valid=true;
                   
                     partIndexArray[0]=product;
					 if (coordinateExists){
						createBundleHTML( );
	                } else {
	                generateBundleProducts();
}
}

function updateBundleArrWithJSONRes(json){
var counter=1;
	if(typeof json != 'undefined' && typeof json.rrBundProd != 'undefined' && typeof json.rrBundProd.bundProd != 'undefined' ){
 
       for(k=0;k<json.rrBundProd.bundProd.length;k++){
       var pn=json.rrBundProd.bundProd[k].pn;
          
       var parCID=json.rrBundProd.bundProd[k].pCId;
       var itmCID=json.rrBundProd.bundProd[k].cCID;
        
       	var name=json.rrBundProd.bundProd[k].sk+' '+json.rrBundProd.bundProd[k].bnd+' '+json.rrBundProd.bundProd[k].nm;
       	var ss= json.rrBundProd.bundProd[k].ss;
        var rp=json.rrBundProd.bundProd[k].rp;
        var sp=json.rrBundProd.bundProd[k].sp;
        var product;
        product=bundleProduct[pn];
            
      
         product.valid=true;
            
         product.pCId=parCID;
         product.cCID=itmCID;
         if(name!=null && name!=''){
          product.name=name;
         
         }
           if(ss!=null && ss!=''){
          product.saveStory=ss;
         
         }
         if(rp!=null && rp!=''){
           rp= parseFloat(rp).toFixed(2);
	       product.regPrice=rp;
         
         }
           if(sp!=null && sp!=''){
            sp= parseFloat(sp).toFixed(2);
          product.salePrice=sp;
         
         }
         delete bundleProduct[pn];
         bundleProduct[pn]=product;
         partIndexArray[counter++]=product;
       }
       
      
		
 
  }

//Delete object with valid=false;
 
 for (key in bundleProduct){  
	     if(bundleProduct[key].valid==false){
	      
	   			   delete bundleProduct[key];
	     }
       }



}

function createPartNumberString(){
	var partNumArray=new Array();
    var partNumString='';
    for (key in bundleProduct){  
          partNumArray.push( key);
       }
    partNumString= partNumArray.join('|');
    return partNumString;
}
function createBundleHTML(){
	var d;
	if(typeof jspStoreImgDir !='undefined' && jspStoreImgDir!="")
		imagePath=jspStoreImgDir;
	d='<h4>Frequently Bought Together</h4> <div class="Bundling">';
	var a=1;
	for(var e=0;e<partIndexArray.length;e++){
		var g=partIndexArray[e];
		d+='<div class="bundlingProduct bundlingProductPointer">';
		d+='<div class="photo"><a href="'+g.url+'"><img src="'+g.image+'" alt="product" title="product"/></a></div>';
		if(a==1){
			d+='<div class="numberFirst numberProduct"></div>'
		    }
		if(a==2){
			d+='<div class="numberSecond  numberProduct"></div>'
		    }
		if(a==3){
			d+='<div class="numberThird  numberProduct"></div>'
		    }
		d+='<p class="remove"> <a href="'+g.url+'" title="Remove Item">Remove Item</a><input type="button" title="Remove Item"/></p>';
		d+="</div>";
		a++
       }
	d+='<div class="noProductsMessage hidden"> ';
	d+="please select items on the left and add to the bundle ";
	d+='<div class="disabled-btn"><img src="'+imagePath+'img/btn/btn_add_disabled.png" alt="" /></div>';
	d+="</div>";
	d+='<div class="contenPrice">';
	d+=' <table cellpadding="0" cellspacing="0" border="0">';
	a=1;
	for(var f=0;f<partIndexArray.length;f++){
		var g=partIndexArray[f];
		var c=g.name;
		var b=c.replace("&amp;#174;"," ");
		b=b.replace("&amp;#153;","&#153;  ");
		d+=' <tr class="bundlingItems"><td>';
		if(a==1){
			d+='<a class="numberFirst" title="price" href="'+g.url+'">'+b+"</a>  "
       					 }
		if(a==2){
			d+='<a class="numberSecond" title="price" href="'+g.url+'">'+b+"</a>  "
       					   }
		if(a==3){
			d+='	<a class="numberThird" title="price" href="'+g.url+'">'+b+"</a>  "
       					  }
		d+=" </td>";
		d+='<td class="td_pricesalign" valign="top" >';
		if(g.salePrice!=g.regPrice){
			if(typeof isI18NConvReq =="function"){
			if(isI18NConvReq()){
			g.regPrice = performConversion(g.regPrice);
			d+='<span class="price">'+i18nCookieData.currencyCode+g.regPrice+"</span>"
			}
			else{
			d+='<span class="price"  style="display:none;">$'+g.regPrice+"</span>"}
			}else{
			d+='<span class="price">$'+g.regPrice+"</span>"}
		}else{
			if(typeof isI18NConvReq =="function"){
						if(isI18NConvReq()){
						g.regPrice = performConversion(g.regPrice);
						d+='<span class="price">'+i18nCookieData.currencyCode+g.regPrice+"</span>"
						}
						else{
			d+='<span class="price"  style="display:none;">$'+g.regPrice+"</span>"}
			}else{
			d+='<span class="price"  style="display:none;">$'+g.regPrice+"</span>"}
						}
		d+="</td>";
		d+='	<td class="td_pricesalign" valign="top">';
		if(typeof isI18NConvReq =="function"){
					if(isI18NConvReq()){
					g.salePrice = performConversion(g.salePrice);
					d+='<span class="priceTwo">'+i18nCookieData.currencyCode+g.salePrice+"</span>";
					}
					else{
		d+='<span class="priceTwo">$'+g.salePrice+"</span>";}
			}
			else{
		d+='<span class="priceTwo">$'+g.salePrice+"</span>";}
		d+="</td>";
				
		d+='<td valign="top">';
		d+='<input type="button" title="Remove Item" class="remove"/><input type="hidden" class="catId" value="'+g.cCID+'" />';
		if(a==2){
			d+='<input type="hidden" class="ctUrl" value="'+g.url+'"/>'
             		 }
		if(a==3){
			d+='<input type="hidden" class="ctUrl" value="'+g.url+'"/>'
             		 }
		d+=' </td>';
						   
		a++
       }
/*	d+="</table>";d+='<div class="savings"> ';
	d+='<table cellspacing="0" cellpadding="0" border="0" width="100%"> ';
	d+="<tbody>";
*/	
	d+='<tr class="savings">';
	d+='<td valign="top"><!-- empty --></td>';
	d+='<td style="font-weight: bold;" class="First td_pricesalign">Buy together and save:</td> ';
	d+='<td style="font-weight: bold;" class="First value td_pricesalign"></td> ';
	d+='<td valign="top"><!-- empty --></td>';
	d+='</tr>';
/*	d+='<td width="15%" class="First td"/> ';
*/	
	
	d+='<tr class="savings"> ';
	d+='<td valign="top"><!-- empty --></td>';
	d+='<td class="Second td_pricesalign">Subtotal:</td> ';
	d+='<td class="Third td_pricesalign"></td> ';
	d+='<td valign="top"><!-- empty --></td>';
	d+="</tr> ";
	d+="<tr> ";
	d+='<td colspan="3"><input type="button" id="addBundle"  class="add" title="Add Selected Items to Cart"/></td> ';
	d+="</tr> ";
	d+="</tbody></table> ";
	d+="</div> ";
	d+='<div class="breakerOnly"><!--empty--></div></div> ';

	d+=' <p class="PBundling">*Please note, some items may only be available through ground shipping</p>';
	d+=' <p style="text-align: right; clear: both;"> <a href="#crumbWrapper" class="jumpUp" >Back to Top</a> </p>';
		if(partIndexArray.length >=2 && !coordinateExists){
			$("div#carousel_1").html(d);
		}
		fbtHtml = d;
}
   
  function addToCartBundles(){   
   
	$("#addBundle").mousedown(function(){
		$("div.contenPrice .bundlingItems").each(function(c,d){
			if(!$(d).hasClass("hidden")){
				var e=$(d).find("input.ctUrl").val();
				if(e!="undefined"&&e!=""){
					$("#addBundle").after('<img src="'+e+'" style="display:none;width:1px;height:1px;"/>');
							 }
			}
		});
	});
							
	$("#addBundle").click(function(){
		$("div.contenPrice .bundlingItems").each(function(c,d){
			if(!$(d).hasClass("hidden")){
				var e=$(d).find("input.catId").val();
				if(e!="undefined"&&e!=""&&e!="0"){
					catEntryArray.push(e)
						}
			}
				});
				 document.addToCart.catEntryId_1.value= catEntryArray[0];
				  document.addToCart.quantity_1.value= 1;
		var b=2;
		for(var a=1;a<catEntryArray.length;a++){
			$("#addToCart").append('<input type="hidden" name="catEntryId_'+b+'" value="'+catEntryArray[a]+'" />');
			$("#addToCart").append('<input type="hidden" name="quantity_'+b+'" value="1" />');
			b++
			}
			document.addToCart.submit()
	})
};
