

	fairy = this.fairy || {};
	
	fairy.productsMenuCenterDOWN = function() {
		
		runMenu = function() {
			$('.products-menu .pic img').each(function(){
				var picImgHeight = $(this).height();
				var picDiv = $('.products-menu .pic').height();
				var margin = picDiv - picImgHeight;
				$(this).css({marginTop: margin}).fadeIn();
			})
		}
		
		if($.browser.msie && parseInt($.browser.version, 10) <= 7){
			$('.products-menu').hide();
			$('.products-menu').fadeIn();
		}
		
		if($.browser.msie) {
			runMenu();
		}
		
		$('.products-menu .pic img').load(function(){
			runMenu();
		})
		
	};
	
	
	fairy.commonTabs = function() {
	
		$('.content-tab .wrap-tabs > div').not(':first').hide();
		$('.menu li:first').addClass('activeFirst');
		$('.content-tab').addClass('item-0');
		
		$('.menu li').bind('click', function(){
				var indexLiElement = $(this).index();
				$('.content-tab .wrap-tabs > div').hide().eq(indexLiElement).fadeIn();
				
				if (indexLiElement == $(this).parent().find('li:first').index()) {
					$(this).removeClass('hide activeFirst').addClass('activeFirst');
					$('.content-tab').removeClass('item-0 item-1 item-2 item-3 item-4').addClass('item-0');
				} else if (indexLiElement == $(this).parent().find('li:last').index()) {
					$(this).removeClass('hide activeLast').addClass('activeLast');
					$('.content-tab').removeClass('item-0 item-1 item-2 item-3 item-4').addClass('item-4');
				} else {
					$(this).removeClass('hide activeFirst activeLast').addClass('active');
					$('.content-tab').removeClass('item-0 item-1 item-2 item-3 item-4').addClass('item-'+indexLiElement);					
				}
				
				$('.menu li').not(this).removeClass('active activeFirst').addClass('hide');
				$('.menu li').not(this).removeClass('active activeLast').addClass('hide');
				
			return false;
		});
		
	};

	
	

	fairy.laundryTipsTabs = function() {
		
		$('.content-tab.laundry-tips-tabs .wrap-tabs > div').not(':first').hide();
		$('.menu li:first').addClass('activeFirst');
		
		$('.menu li').bind('click', function(){
			var indexLiElement = $(this).index();
			
			$('.content-tab.laundry-tips-tabs .wrap-tabs > div').hide().eq(indexLiElement).fadeIn();
			
			if (indexLiElement == $(this).parent().find('li:first').index()) {
				$(this).removeClass('hide activeFirst').addClass('activeFirst');
				$(this).parent().find('li:last').removeClass('lastItemMenuLaundryTips');
			} else if (indexLiElement == $(this).parent().find('li:last').index()) {
				
				if(!$('.content-tab.laundry-tips-tabs .wrap-tabs > div').eq(indexLiElement).find('h3').hasClass('ui-state-active')){
					$(this).addClass('lastItemMenuLaundryTips');
				} else  {
					$(this).addClass('active');
				}
				
				var $tabPadding = $('.common-problems .laundry-tips-tabs');
				$tabPadding.addClass('ie6 ie7 ff');		
				
			} else {
				$(this).removeClass('hide activeFirst').addClass('active');	
				$(this).parent().find('li:last').removeClass('lastItemMenuLaundryTips');
			}
			$('.menu li').not(this).removeClass('active activeFirst').addClass('hide');
			return false;
		});
		
		
		$('.tab-3 h3').bind('click',function(){
			var $tabPadding = $('.common-problems .laundry-tips-tabs');
			var $menuItem = $('.second-size li:last');
			
			if ($(this).hasClass('ui-state-active')) {
				$menuItem.addClass('lastItemMenuLaundryTips');
				$tabPadding.addClass('ie6 ie7 ff');
			} else {
				$menuItem.removeClass('lastItemMenuLaundryTips').addClass('active');
				$tabPadding.removeClass('ie6 ie7 ff');
			}
		})

		
	};	
	

	
	fairy.dosingGuide = function() {
		var $productType = $('.dosing-guide .product-type .product'),
			$capacity = $('.dosing-guide .capacity .size');
			
			var contentArr = [
			         'Note: for very heavy soiling add 50ml. For hand washing 10L = 50ml',
			         'Note: for very heavy soiling add 2 liquitabs',
			         'Note: for very heavy soiling add 70ml. For hand washing 5L = 20ml',
			         'Note: handwashing is not possible with tablets',
			         ''
			 ];
			         
			
			productsArray = [
				[ //Liquid
					[['50ml','75ml','125ml'],['50ml','75ml','125ml'],['75ml','100ml','150ml'], contentArr[0]],
					[['50ml','75ml','125ml'],['50ml','75ml','125ml'],['75ml','100ml','150ml'], contentArr[0]],
					[['75ml','125ml','150ml'],['75ml','125ml','150ml'],['100ml','150ml','175ml'], contentArr[0]]
				],
				[ //Liquitabs
					[['1 liquitab','1 liquitab','1 liquitab'],['1 liquitab','1 liquitab','1 liquitab'],['1 liquitab','1 liquitab','2 liquitabs'], contentArr[1]],
					[['1 liquitab','1 liquitab','1 liquitab'],['1 liquitab','1 liquitab','1 liquitab'],['1 liquitab','1 liquitab','2 liquitabs'], contentArr[1]],
					[['2 liquitabs','2 liquitabs','2 liquitabs'],['2 liquitabs','2 liquitabs','2 liquitabs'],['2 liquitabs','2 liquitabs','2 liquitabs'], contentArr[1]]
				],
				[ //Powder
					[['70ml','95ml','160ml'],['70ml','130ml','195ml'],['70ml','165ml','230ml'], contentArr[2]],
					[['70ml','95ml','160ml'],['70ml','130ml','195ml'],['70ml','165ml','230ml'], contentArr[2]],
					[['110ml','135ml','200ml'],['110ml','170ml','235ml'],['110ml','205ml','270ml'], contentArr[2]]
				],
				[ //Tablet
					[['1 tablet','1 tablet','1 tablet'],['1 tablet','1 tablet','1 tablet'],['1 tablet','1 tablet','1 tablet'], contentArr[3]],
					[['1 tablets','1 tablets','2 tablets'],['1 tablets','2 tablets','3 tablets'],['1 tablets','3 tablets','3 tablets'], contentArr[3]],
					[['2 tablets','2 tablets','3 tablets'],['2 tablets','3 tablets','3 tablets'],['2 tablets','3 tablets','3 tablets'], contentArr[3]]
				],
				[ //Gel
					[['37ml','37ml','46ml'],['37ml','37ml','46ml'],['46ml','46ml','46ml'], contentArr[4]],
					[['37ml','37ml','46ml'],['37ml','37ml','46ml'],['46ml','46ml','46ml'], contentArr[4]],
					[['37ml','37ml','46ml'],['37ml','37ml','46ml'],['46ml','46ml','46ml'], contentArr[4]]
				]
			];
			
		// get checked element

		var a = $productType.find(':radio:checked').val() || 0,
			b = $capacity.find(':radio:checked').val() || 0;
			
			a && a--;
			b && b--;
		
		// dynamic text
		var $pName = $('.dosing-guide .select-result .pName');
		var $pSize = $('.dosing-guide .select-result .pSize');
		var productLabelText = $productType.find(':radio:checked').parent().parent().find('label').html();
		var capacityLabelText = $capacity.find(':radio:checked').parent().parent().find('label').html();
			
		$pName.text(productLabelText);	
		$pSize.text(capacityLabelText);	
	
		
		// fill products table 
		var selectedProductsArray = productsArray[a][b];
		
		(function __fillTable(_a){
			if(typeof _a === 'object' && typeof _a.length !== 'undefined'){
				var $table = $('.product-table .table-list table tbody');
				
				for(var i = 0; i < _a.length; ++i){
					for(var j = 1; j <= 3; ++j){
						var cell = $table.find('tr').eq(i).find('td').eq(j);
						cell.text(_a[i][j-1]);
						Cufon.replace(cell);
						delete cell;
					}
				}
				$('.product-table .note').html(_a[3]);	
			}	
		})(selectedProductsArray);

	};
	
	
	fairy.accordion = function() {
		jQuery(".accordion").accordion({
			collapsible: true,
			active: 0,
			autoHeight: false,
			change: function() {	
				if($.browser.msie && parseInt($.browser.version, 10) <= 7){
					$('.common-problems .content-tab .bgBottom').hide().delay(1000).show();
				}
				$('.accordion h3').each(function(){
					if($(this).hasClass('ui-state-active')) {
						$(this).find('.up').delay(200).fadeIn();
					} else if(!$(this).hasClass('ui-state-active')) {
						$(this).find('.up').hide();
					}
				});
			}
		});

		$('.accordion h3').eq(0).find('.up').show();
		
	};
	
	
	fairy.radioPlugin = function() {
		$('input[type="radio"]').ezMark({
			radioCls: 'normal-radio' ,
			selectedCls: 'active-radio'
		});
	}
	
	
	fairy.cufonCommon = function() {
		
		Cufon.replace([
		'.products-menu a',
		'a.content-arrow',
		'.sidebar ul a',
		'.cF',
		'.home .links a',
		'.header ul li a'], {
			hover: {color: '#464646'},
			letterSpacing: '-1px',
			fontFamily: 'gothamMedium'
		});
		
		
		Cufon.replace(['h2',
		'.soil-level',
		'.table-list th',
		'.table-list td'], {
			letterSpacing: '-1px',
			fontFamily: 'gothamMedium'
		});		
		
		if($.browser.msie && parseInt($.browser.version, 10) <= 7){
			$('.products-menu').hide();
			$('.products-menu').show();
		}
	}
	
	
	
	
	
