// WidgetV1.js Sean Darley 11/06/2009

var productIndex = 0;
var reviewIndex = 0;
var JSONObject;
var currentTab = $('#default');

			     
			     function showTab(tabName){
			        currentTab.css('color', '#97738D');
                    $('#aboutUs_719589fx').hide();
			        $('#prams_719589fx').hide();
			        $('#pushchairs_719589fx').hide();
			        $('#carSeats_719589fx').hide();
			        $('#highChairs_719589fx').hide();
			        $('#maclaren_719589fx').hide();
			        $('#maxiCosi_719589fx').hide();
			        $('#'+tabName).fadeIn('normal');
			        $('#'+tabName+'Tab').css('color', '#AF3985');
			        currentTab = $('#'+tabName+'Tab');       
			     }
			
			     function displayImage(displayDiv, thumbImage){
			            var div = displayDiv == 0? '#image0_719589fx': '#image1_719589fx';
			            var imageDisplay = $(div, '#productDisplay_719589fx');
	                    var image = thumbImage;
	                    imageDisplay.html(image);      
			     }
			     
			     function displayName(displayDiv, name){
			           var div = displayDiv == 0 ? '#productName0_719589fx': '#productName1_719589fx';
			     	   var productNameDisplay = $(div, '#productDisplay_719589fx');
	                   var productName = name;
	                   productNameDisplay.html(productName);
			     }
			     
			     function displayPrice(displayDiv, price){
			          var div = displayDiv == 0 ? '#price0_719589fx': '#price1_719589fx';
			     	  var productPriceDisplay = $(div, '#productDisplay_719589fx');
	                  var productPrice = '&pound;' + price;
	                  productPriceDisplay.html(productPrice);			     
			     }
			     
			     function displayRRP(displayDiv, RRP){
			          var div = displayDiv == 0 ? '#RRP0_719589fx': '#RRP1_719589fx';
			     	  var productRRPDisplay = $(div, '#productDisplay_719589fx');
	                  var productRRP = 'RRP &pound;' + RRP;
	                  productRRPDisplay.html(productRRP);
			     
			     }
	             
			     
			     function displayBuyButton(displayDiv, productId, trackingCode){
			           var div = '';
			           if(displayDiv == '#reviewBuyButton_719589fx'){
			              div = '#reviewBuyButton_719589fx';
			            }else{		            
			           div = displayDiv == 0 ? '#buyButton0_719589fx': '#buyButton1_719589fx';
			           }
			           var productBuyDisplay = $(div);
			           var productBuy = '';
			           productBuy +='<a class="formImage_719589fx" href="http://www.kiddicare.com/webapp/wcs/stores/servlet/productdisplay0_10751_-1_'+productId+'_10001"><img  border="0" src="http://www.kiddicare.com/wcsstore/ConsumerDirect/images/widgetBuyButton.gif" alt="buy button"/></a>';
	               productBuyDisplay.html(productBuy);                   
			     }
			     
			      //builds the buy button
		          function buildBuyButton(productId, productName){
		               displayBuyButton('#reviewBuyButton_719589fx', productId, 'kiddicare%20Widget-_-reviews%20page-_-buy-_-' + productName);
		          }

			     //when page is finished loading this function is called
			     $(document).ready(function(){  
					     //call command to populate JSONObject with required Endeca data
		                 $.getJSON("http://www.kiddicare.com/webapp/wcs/stores/servlet/CreateWidgetData?storeId=10001&format=json&jsoncallback=?",   
			                 function(data){
			                    JSONObject = data;   
			                     var displayDiv = 0; 						                             
			                           var productDisplay = productIndex + 2;
			                           displayInfo(displayDiv, productDisplay, productIndex);
		                    }); 
	
		                    
	//function to intercept ahref and add tracking param's to the URL.	                  
	$('div .link_719589fx').click(function(e){
	//prevent default a behaviour
	  e.preventDefault();
	  var name = $(this).attr('name');
	  //convert into a number for use with the switch statement
	  var caseId = name/1;
	  var param = getTrackingParams(caseId);
	  link = $(this).attr('href') + param;
      //redirect to new window
	  window.open(link);
	});	
	
	/*
	  case key:
	  1 = prams category
	  2 = prams reviews
	  3 = highchair category
	  4 = highchair reviews
	  5 = carseat category
	  6 = carseat reviews
	  7 = pushchair category
	  8 = pushchair reviews
	  9 = maclaren category 
	  10 = maclaren reviews
	  11 = maxi-cosi category
	  12 = maxi-cosi reviews
	  13 = about us
	  14 = about us
	
	*/
	
	function getTrackingParams(n){
     param = '';
	switch(n){
	   case 1:  param = '?cm_mmc=kiddicare%20Widget-_-about%20us-_-category-_-prams';
	   break;
	   case 2:  param = '&cm_mmc=kiddicare%20Widget-_-about%20us-_-reviews-_-prams';
	   break;
	   case 3:  param = '?cm_mmc=kiddicare%20Widget-_-about%20us-_-category-_-highchairs';
	   break;
	   case 4:  param = '&cm_mmc=kiddicare%20Widget-_-about%20us-_-reviews-_-highchairs';
	   break;
	   case 5:  param = '?cm_mmc=kiddicare%20Widget-_-about%20us-_-category-_-carseats';
	   break;
	   case 6:  param = '&cm_mmc=kiddicare%20Widget-_-about%20us-_-reviews-_-carseats';
	   break;
	   case 7:  param = '?cm_mmc=kiddicare%20Widget-_-about%20us-_-category-_-pushchairs';
	   break;
	   case 8:  param = '&cm_mmc=kiddicare%20Widget-_-about%20us-_-reviews-_-pushchairs';
	   break;
	   case 9:  param = '&cm_mmc=kiddicare%20Widget-_-about%20us-_-category-_-maclaren';
	   break;
	   case 10:  param = '&cm_mmc=kiddicare%20Widget-_-about%20us-_-reviews-_-maclaren';
	   break;
	   case 11:  param = '&cm_mmc=kiddicare%20Widget-_-about%20us-_-category-_-maxicosi';
	   break;
	   case 12:  param = '&cm_mmc=kiddicare%20Widget-_-about%20us-_-reviews-_-maxicosi';
	   break;
	   case 13: param = '?cm_mmc=kiddicare%20Widget-_-about%20us-_-baby%20shop-_-homepage';
	   break;
	   case 14: param = '&cm_mmc=kiddicare%20Widget-_-about%20us-_-baby%20shop-_-customer%20services';
	   break;
	}
	return param;
 }                    
//create the tool tip		                    

	/* CONFIG */		
		xOffset = 60;
		yOffset = 50;		
		// these 2 variable determine popup's distance from the cursor
		// you might want to adjust to get the right result		
	/* END CONFIG */		
	$("div .toolTipNext_719589fx").hover(function(e){									  									  
		$("body").append("<p id='toolTipNext_719589fx'></p>");
		$("#toolTipNext_719589fx").css("top",(e.pageY - xOffset) + "px").css("left",(e.pageX - yOffset) + "px").fadeIn("fast");		
    },
	function(){	
		$("#toolTipNext_719589fx").remove();
    });	
    
	$("div .toolTipNext_719589fx").mousemove(function(e){
		$("#toolTipNext_719589fx").css("top",(e.pageY - xOffset) + "px").css("left",(e.pageX - yOffset) + "px");
	});	
	
	
	//tool tip previous
		$("div .toolTipPrev_719589fx").hover(function(e){									  									  
		$("body").append("<p id='toolTipPrev_719589fx'></p>");
		$("#toolTipPrev_719589fx").css("top",(e.pageY - xOffset) + "px").css("left",(e.pageX - yOffset) + "px").fadeIn("fast");		
    },
	function(){	
		$("#toolTipPrev_719589fx").remove();
    });	
    
	$("div .toolTipPrev_719589fx").mousemove(function(e){
		$("#toolTipPrev_719589fx").css("top",(e.pageY - xOffset) + "px").css("left",(e.pageX - yOffset) + "px");
	});			




				            $('#aboutUs_719589fx').hide();
					        $('#prams_719589fx').hide();
					        $('#pushchairs_719589fx').hide();
					        $('#carSeats_719589fx').hide();
					        $('#highChairs_719589fx').hide();
					        $('#maclaren_719589fx').hide();
					        $('#maxiCosi_719589fx').hide();

		                 // next product button
		                 $('#next_719589fx').click(function(){ 
			                    if(productIndex >= JSONObject.products.length){
							       productIndex = 0;
							    }
		                    var displayDiv = 0; 
		                    var productDisplay = productIndex + 2; 
		                    //fade out the product slowly which will then call the function param to fade in only after displayInfo has returned!
		                    //$('div .product').fadeOut('normal', function(){$('div .product').fadeIn('normal', displayInfo(displayDiv, productDisplay, productIndex));});                  
		                     $('div .product_719589fx').hide().fadeIn('normal', displayInfo(displayDiv, productDisplay, productIndex));                  ;
		                     ('normal', function(){$('div .product_719589fx').fadeIn('normal', displayInfo(displayDiv, productDisplay, productIndex));});                  
		                 });
		                 
		                 //previous product button
		                 $('#previous_719589fx').click(function(){
		                 //previous will go back 4 places 2 will be the current displayed products a further 2 will be the previous products
		                   var displayDiv = 0;
		                   productIndex = productIndex - 4;		              
		                   if(productIndex < 0){
		                     productIndex = JSONObject.products.length - 2;
		                     }
		                     var productDisplay = productIndex + 2; 
		                   $('div .product_719589fx').hide().fadeIn('normal', displayInfo(displayDiv, productDisplay, productIndex)); 
		                 });
                 
                         //Use JSONObject to dynamically display our main content
		                 function displayInfo(pDisplayDiv, pProductDisplay, pProductIndex){
		                    	 for(i=pProductIndex; i<pProductDisplay; i++){
			                       displayImage(pDisplayDiv, JSONObject.products[i].productSmallImg);
			                       displayName(pDisplayDiv, JSONObject.products[i].productName);
			                       displayPrice(pDisplayDiv, JSONObject.products[i].productPrice);
			                       displayRRP(pDisplayDiv, JSONObject.products[i].productRRP);
			                       displayBuyButton(pDisplayDiv, JSONObject.products[i].productId, 'kiddicare%20Widget-_-offers%20page-_-buy-_-' + JSONObject.products[i].cleanName);
			                       //displayBuyButton(pDisplayDiv, JSONObject.products[i].productId)
			                       productIndex++;
			                       pDisplayDiv++;	                    
			                    }                    
		                 }
		                 
		                 //When the review tab is clicked load the review page
	                     $('#reviewsTab_719589fx').click(function(){
			                     $('#productDisplay_719589fx').hide();
			                     var reviewTabDisplay = $('#reviewsTab_719589fx');
			                     var reviewTab = '<img class="tabbedImages_719589fx" src="http://www.kiddicare.com/wcsstore/ConsumerDirect/images/reviewsTabbed.gif"/>';
			                     var offersTabDisplay = $('#offersTab_719589fx');
			                     var offersTab = '<img class="tabbedImages_719589fx" src="http://www.kiddicare.com/wcsstore/ConsumerDirect/images/latestOffersTabbed.jpg"/>';
			                     reviewTabDisplay.html(reviewTab);
			                     offersTabDisplay.html(offersTab);
		                        $('#productDisplay_719589fx').hide();
		                        $('#reviewDisplay_719589fx').show();
		                        $('#reviewWrapper_719589fx').hide();
		                        $('#reviewWrapper_719589fx').fadeIn('normal');
			                    reviewIndex = productIndex - 2;
			                    displayReview(reviewIndex);
                                  }); 
  
		                 //offers tab
		                 $('#offersTab_719589fx').click(function(){
		                    	 var reviewTabDisplay = $('#reviewsTab_719589fx');
			                     var reviewTab = '<img class="tabImages_719589fx" src="http://www.kiddicare.com/wcsstore/ConsumerDirect/images/reviews.jpg"/>';
			                     var offersTabDisplay = $('#offersTab_719589fx');
			                     var offersTab = '<img class="tabImages_719589fx" src="http://www.kiddicare.com/wcsstore/ConsumerDirect/images/latest-offers.jpg"/>';
			                     reviewTabDisplay.html(reviewTab);
			                     offersTabDisplay.html(offersTab);
	                             $('#reviewDisplay_719589fx').hide();
	                             $('div .product_719589fx').hide();
	                    $('#productDisplay_719589fx').show();
	                     $('div .product_719589fx').fadeIn('normal');                 
	                     });
	                     
	                     //next review
	                     $('#nextReview_719589fx').click(function(){
	                     reviewIndex = reviewIndex + 1;
	                     if(reviewIndex >= JSONObject.products.length){
							 reviewIndex = 0;
							}	                      
	                      $('#reviewWrapper_719589fx').hide();
	                      displayReview(reviewIndex);
	                      $('#reviewWrapper_719589fx').fadeIn('normal');
	                     });
	                     
	                     
	                     //previous review
	                     $('#previousReview_719589fx').click(function(){	                     
	                     $('#reviewWrapper_719589fx').hide();
	                       reviewIndex = reviewIndex - 1;              
		                   if(reviewIndex <= 0){
		                     reviewIndex = JSONObject.products.length -1;
		                     }
		                     displayReview(reviewIndex)
		                     $('#reviewWrapper_719589fx').fadeIn('normal');
	                     });	                     
	                     

                         //more info button
	                 	$('#prodFootImg_719589fx').click(function(){
	                 	  $('#aboutUs_719589fx').hide();
			              $('#prams_719589fx').hide();
			              $('#pushchairs_719589fx').hide();
			              $('#carSeats_719589fx').hide();
			              $('#highChairs_719589fx').hide();
			              $('#maclaren_719589fx').hide();
			              $('#maxiCosi_719589fx').hide();
	                 	  $('#aboutUs_719589fx').fadeIn('normal');
	                      $('#productDisplay_719589fx').hide();
	                      $('#moreInfoContent_719589fx').hide();
	                      $('#tabs_719589fx').hide();
	                      $('#aboutUsWrapper_719589fx').show();
	                     // $('#moreInfo_719589fx').show();
	                      $('#moreInfoContent_719589fx').fadeIn('normal', function(){$('#aboutUsTabs_719589fx').show();}); 
	                     });
	                     
	                     //less info button on about us page
	                    $('#lessInfo_719589fx').click(function(){ 
	                    currentTab.css('color', '#97738D');
	                    //$('#moreInfo_719589fx').hide();
	                    $('#aboutUsWrapper_719589fx').hide();
	                    $('div .product_719589fx').hide();
	                    $('#productDisplay_719589fx').show();
	                    $('div .product_719589fx').fadeIn('normal');
	                    var reviewTabDisplay = $('#reviewsTab_719589fx');
			            var reviewTab = '<img class="tabImages_719589fx" src="http://www.kiddicare.com/wcsstore/ConsumerDirect/images/reviews.jpg"/>';
			            var offersTabDisplay = $('#offersTab_719589fx');
			            var offersTab = '<img class="tabImages_719589fx" src="http://www.kiddicare.com/wcsstore/ConsumerDirect/images/latest-offers.jpg"/>';
			            reviewTabDisplay.html(reviewTab);
			            offersTabDisplay.html(offersTab);
	                    $('#tabs_719589fx').show();
	                    });
	                    
	                    //more info button on the review page
	                    $('#reviewsMoreInfo_719589fx').click(function(){
	                      $('#reviewDisplay_719589fx').hide();
                          $('#aboutUs_719589fx').hide();
			              $('#prams_719589fx').hide();
			              $('#pushchairs_719589fx').hide();
			              $('#carSeats_719589fx').hide();
			              $('#highChairs_719589fx').hide();
			              $('#maclaren_719589fx').hide();
			              $('#maxiCosi_719589fx').hide();
	                 	  $('#aboutUs_719589fx').fadeIn('normal');
	                      $('#tabs_719589fx').hide();
	                      //$('#moreInfo_719589fx').show();
	                      $('#aboutUsWrapper_719589fx').show();
	                      $('#moreInfoContent_719589fx').fadeIn('normal', function(){$('#aboutUsTabs_719589fx').show();}); 
	                    });


                                //function to display the reviews page  
                                function displayReview(reviewIndex){
			                     // load the image 
			                    var displayReviewImage = $('#reviewImage_719589fx', '#reviewProduct_719589fx');
			                    var reviewImage = JSONObject.products[reviewIndex].productSmallImg;
			                     //load the product name
			                    var displayProductName = $('#reviewProductName_719589fx', '#reviewProduct_719589fx');
			                    var reviewName = '';
			                    reviewName = JSONObject.products[reviewIndex].productName;
			                     //load the product price
			                    var displayProductPrice = $('#reviewPrice_719589fx', '#reviewProduct_719589fx');
			                    var productPrice = '<span class="reviewPriceStyle">Price:</span><br>';
			                    productPrice += '&pound;' + JSONObject.products[reviewIndex].productPrice;
			                     //load the buy button	                    
			                    buildBuyButton(JSONObject.products[reviewIndex].productId, JSONObject.products[reviewIndex].cleanName);
			                    //load review stars
			                    var displayStarsRating = $('#starsRating_719589fx');			                   
			                    var starsRating = '<img id="reviewStarsImg_719589fx"  src="' + JSONObject.products[reviewIndex].reviewStarsImg + '"/>';
			                    //starsRating += JSONObject.products[reviewIndex].averageReviewText;
			                    var averageReviewDisplay = $('#productRating_719589fx');
			                    var averageReview = JSONObject.products[reviewIndex].averageReviewText;
			                    averageReviewDisplay.html(averageReview);
			                    
			                    var displayNameAndDate = $('#nameLoc_719589fx' , '#reviewText_719589fx');
			                    var nameAndDate = 'By ' + JSONObject.products[reviewIndex].reviewerName + ' from ' + JSONObject.products[reviewIndex].reviewerLocation + '<br>';
			                    //display the comments
			                    var displayWriteUp = $('#writeUp_719589fx');
			                    var writeUp = JSONObject.products[reviewIndex].reviewComment;
			                    //display the link
			                    var displayReviewsLink = $('#reviewsLink_719589fx');
			                    var reviewsLink = '<a class="reviewsALink_719589fx" target="_blank" href="' + JSONObject.products[reviewIndex].allReviews + '">More reviews of this product ></a>';
		
			                    displayReviewsLink.html(reviewsLink);
			                    displayWriteUp.html(writeUp);
			                    displayNameAndDate.html(nameAndDate);
			                    displayProductPrice.html(productPrice);
			                    displayStarsRating.html(starsRating);
			                    displayProductName.html(reviewName);
		                        displayReviewImage.html(reviewImage);  		              
		                           }                             
			     });
