var strCommentFieldVal = 'When the recipient is not at home, please leave the package at one of the neighbours or at a dry place. No signature required.';

function debug(msg) {
	if (window.console && window.console.log) window.console.log(msg);
};

jQuery.noConflict();

cycleOpts = {
	
}

superfishOpts = {
	pathClass: 'active',
	pathLevels: 2
}

tieredSlideOpts = {
	lazyLoad: false,
	skinClassName: 'blossom',
	slideHeight: 330,
	titleText: 'Featured products',
	slideWidthOffset: -10,
	pause: 7000
}

jQuery('document').ready(function() {
	/*	site wide */	
	//marketing messages
	jQuery('#m-messages ul').cycle(cycleOpts);
	
	/*	home page */
	//homepage category browser
	if (jQuery('.category-browser').length > 0) {
		jQuery('.category-browser ul').tieredSlide(tieredSlideOpts);
	}
		 
	//png
	jQuery(document).pngFix();

	/*	category pages */
	//handle the hover
	jQuery('.category-list .module ul.products li:not(.category-list .module ul.products li.detail-panel)').hover(function() {
		jQuery(this).addClass('over');			
	}, function() {
		jQuery(this).removeClass('over');
	});
		
	//is there a target panel?
	var usingHover = jQuery('.category-list .module ul.products li.detail-panel').length > 0;
	
	if (usingHover) {
		//suppress the big images
		jQuery(".category-list .module ul.products li div.hidden-details img").each(function() {
			jQuery(this).attr("orig", jQuery(this).attr('src'));
			jQuery(this).attr("src", '');
		});
		
		//find some elements 
		var targetImageDiv = jQuery('.category-list .module ul.products li.detail-panel div.image');
		var targetNameHeading = jQuery('.category-list .module ul.products li.detail-panel div.details h4');
		var targetPriceDiv = jQuery('.category-list .module ul.products li.detail-panel div.details div.price');
		var targetReadMoreDiv = jQuery('.category-list .module ul.products li.detail-panel div.details div.read-more-link');
		var targetButtonsDiv = jQuery('.category-list .module ul.products li.detail-panel div.details div.buttons');
		
		jQuery('.category-list .module ul.products li:not(.category-list .module ul.products li.detail-panel)').click(function(e) {
			//find some elements
			var imgPath = jQuery(this).find('.hidden-details img').attr('orig');
			var imgAlt = jQuery(this).find('.hidden-details img').attr('alt');
			var imgWidth = jQuery(this).find('.hidden-details img').attr('width');
			var strName	= jQuery(this).find('.hidden-details h4').html();
			var htmlPrice = jQuery(this).find('.hidden-details span.price').html();
			var htmlReadMore = jQuery(this).find('.hidden-details span.read-more-link').html();
			var htmlButtons =  jQuery(this).find('.hidden-details div.buttons').html();
			
			//load in the image
			jQuery(targetImageDiv).addClass('loading').find('img').remove();
			
			var img = new Image;
			
			jQuery(img).hide(); 
			
			jQuery(img).load(function() {
				jQuery(this).appendTo(targetImageDiv).fadeIn();
				jQuery(this).wrap('<a href="' + jQuery(htmlReadMore).attr('href') + '"></a>');
				jQuery(targetImageDiv).removeClass('loading');
			}).attr({
				src: imgPath,
				alt: imgAlt,
				title: imgAlt
				//width: imgWidth
			}); 
			
			//change the price
			jQuery(targetNameHeading).html(strName);
			jQuery(targetPriceDiv).html(htmlPrice);
			jQuery(targetReadMoreDiv).html(htmlReadMore);
			jQuery(targetButtonsDiv).html(htmlButtons);
			jQuery(targetButtonsDiv).pngFix();
			e.stopPropagation();
			return false;
		});
		
		jQuery('.category-list .module ul.products li').eq(Math.floor(Math.random() * (jQuery('.category-list .module ul.products li').length-1))+1).click();
	}
	
	jQuery('.products.with-detail li .detail .read-more-link, .products.with-detail li .detail .buttons').hide();
	
	jQuery('.products.with-detail li').hover(function() {
		jQuery(this).find('.detail .read-more-link, .detail .buttons').fadeIn();
	}, function() {
		jQuery(this).find('.detail .read-more-link, .detail .buttons').fadeOut('fast');
	});
	
	//correct price decimals
	/*
	jQuery('.price-box .price').each(function() {
		jQuery(this).html(jQuery(this).html().charAt(0) + Math.round(jQuery(this).html().substr(1, 10)*100)/100);
	});
	*/
	//deal with tabs
	var tabContainers = jQuery('div#tabs > div');

	jQuery('div#tabs ul.nav a').click(function () {
		tabContainers.hide().filter(this.hash).fadeIn('normal');
		jQuery('div#tabs ul.nav a').removeClass('selected');
		jQuery(this).addClass('selected');
        
		return false;
	}).filter(':first').click();

	// Show marketing messages on load
	jQuery('#m-messages').show();

	// Show hidden address labels in checkout
//	jQuery('#findAddrBtnDiv2 button').click(function() {
//		jQuery('#shipping-address-label').css('display','block');
//	});

	// Checkout progress bar hiding
	jQuery('#checkout-progress-block').hide();

	//Scroll to active stage
	jQuery('ol#checkoutSteps button').click(function() {
		jQuery.scrollTo('ol#checkoutSteps li.active', 400);
		
		if (false) {
			if (jQuery('#delivery_comment').val() == '') {
				jQuery('#delivery_comment').val(strCommentFieldVal);
			}
		}
	});
	
	//Checkout - delivery comments
	jQuery(window).scroll(function() {
		if (jQuery('#p_method_checkmo').length > 0) {
			jQuery('#delivery_comment').val(strCommentFieldVal);
		}
	});
	
	//Checkout - occasion field activity
	jQuery('#biebersdorfCustomerOrderCommentFeed').live('change', function() {
		var val = jQuery(this).val();
		var newVal;
		
		if (parseInt(val) == 0) {
			newVal = '';
			jQuery('#biebersdorfCustomerOrderCommentLine').hide();
		} else if (val == 'other') {
			newVal = '';
			jQuery('#biebersdorfCustomerOrderCommentLine').show();
			jQuery('#biebersdorfCustomerOrderComment').focus();	
		} else {
			newVal = val;
			jQuery('#biebersdorfCustomerOrderCommentLine').hide();
		}
		
		jQuery('#biebersdorfCustomerOrderComment').val(newVal);
	});
});
