/*
 * McGowan - show "quickview" images when hovering over product image.  HTML content must already be provided
 * in page.  (.product-col .product-item) is selector for finding images. .product-item and quickview rel
 * attributes must match
 */

function initProductQuickViews() {
	
	var quickViewButtonFade = 200;
	var quickViewFadeIn = 300;
	var qv = $('#container .quick-view-wrapper').hide();
	var qvContent = qv.find('.quick-view-content').hide();

	// set display/hide hover effects.  Don't fade on IE6/7/8 because of PNG24 problems
	var noFade = $.browser.msie;	

	var hideQuickView = function() {
		qv.hide();		
	}

	// make sure it's hidden and bind the click to close
	$('.quick-view-close').click(function() {
		hideQuickView();
	});

	// close quickview on escape key
	$(document).keyup(function(e) {
		if (e.keyCode == 27 && qv.is(':visible')) {
			hideQuickView();
		}
	});


	// bind hover states for product images if product has a rel attribute (product code) AND a respective quick-view-content entry
	$('.product-col .product-item').each(function() {
		var item = $(this); // product <ul>
		var itemId = item.attr("rel");
		var itemContent = (qvContent.filter('[rel="'+itemId+'"]'))[0];
		itemContent = itemContent != null? $(itemContent) : null;
		if (itemId == null || itemId == '' || itemContent == null) {
			return; // skip this one, it doesn't meet our requirements
		}
				
		var itemImage = $(item.children('.product-img')[0]); // image wrapper <li>
		var hoverImage = $('<div class="overlay-init-wrapper"><a href="javascript:void(0)" class="reg-btn"><span>Quick View</span></a></div>');
		var button = hoverImage.children('.reg-btn');
		button.click(function() {
    			var MCDscrollTop;
    			if(typeof(window.pageYOffset)=='number') {
       				MCDscrollTop=window.pageYOffset;
    			}
    				else {
       			MCDscrollTop=document.documentElement.scrollTop;
   				 }
    			$('.quick-view-content').each(function() {
    				var mdlCd = $(this).attr("rel");
    				if(mdlCd == itemId){
    					
    					var referenceId = $(this).attr("refId");
    					var url = $(this).attr("url");
    					//add social info
    					addSocialInfo(referenceId, url);
    				}
    			});
			// hide all product overlay content and show the one we're after
			qvContent.hide();
			qvContent.filter('[rel='+itemId+']').show();
			qv.each(function() {
				var wrap = $(this);
				if(wrap.find('[rel='+itemId+']').attr('rel') != undefined) {
					var marginLeft = -(wrap.outerWidth()/2) + 'px';
					var marginTop = -150 + 'px';
					wrap.hide().css({'margin-left': marginLeft, 'margin-top':marginTop,'position': 'absolute', 'top':'50%','left':'50%'});
					wrap.fadeIn(quickViewFadeIn);
				}
			});
		});
		
		itemImage.find('div').remove();
		itemImage.append(hoverImage.hide());
		/*
		if(itemImage.find('div').hasClass('overlay-init-wrapper') == false) {
			itemImage.append(hoverImage.hide());
		}
		*/
		
		var fadeWrapper = itemImage.children('.overlay-init-wrapper');
		
		itemImage.mouseover(function() {
			if (noFade) {
				fadeWrapper.show();
			} else {
				fadeWrapper.fadeIn(quickViewButtonFade);
			}
		}).mouseleave(function() {
			if (noFade) {
				fadeWrapper.hide();
			} else {
				fadeWrapper.fadeOut(quickViewButtonFade);
			}
		});
	});
	
}


function addSocialInfo(referenceId, url){
	$("#fbook_" + referenceId).html('<fb:like layout="button_count" show_faces="true"  href='+url+'></fb:like>');
	$("#tweet_" + referenceId).html('<iframe allowtransparency="true" frameborder="0" scrolling="no"' + 
			' src="http://platform.twitter.com/widgets/tweet_button.html?url=' + url + '" style="width:110px; height:50px;"></iframe>');
	(function() {
		var e = document.createElement('script'); e.async = true;
		e.src = document.location.protocol +
		'//connect.facebook.net/en_US/all.js';
		document.getElementById('fb-root').appendChild(e);
	}()); 
	
}



$(document).ready(function() {
	initProductQuickViews();	
});

