jQuery(document).ready(function($) {
	
	var APP = APP || {};
	
	APP.init = function() {
		APP.utility.hello();
	};
	
	APP.config = {
		version : '1.0.0'
	};
	
	APP.utility = {
		
		log : function(l) {
		  if (window && window.console && window.console.log) {
		    window.console.log(arguments.length == 1 ? l : arguments);
		  }
		},
		
		hello : function() {
			APP.utility.log('hello from jquery.application ' + APP.config.version + ' : jQuery ' + $().jquery);
		}
		
	};
	
	APP.foo = {
		
		myfoo : function() {
			//code
		}
		
	};
	
	APP.init();
	
	// BELLO ONLY ----------------------------------------------------------------------------

		var $activeThumbnail = $('div.active-product-thumbs ul li img');
		var $activeProductImage = $('div.wrapper.chosen img');
		var $activeProductOverlay = $('div.wrapper.chosen a');
		var $activeProductColour = $('div.product-info ul li.finish-name');
		var $productThumb = $('div.active-product-thumbs ul li');
				
		// this var used in product zoom
		var $zoomImage = $('div.product-zoom img');
		

	// fade thumbnails on hover
		$activeThumbnail.hover(function() {
			$activeThumbnail.stop().fadeTo(300, 0.3);
			$(this).stop().fadeTo(300, 1);
			}, function() {
			$activeThumbnail.stop().fadeTo(300, 1);
		});
		

	// swap hero image, update hero image colour name, update colour name in list & add to prettyPhoto
		$activeThumbnail.click(function() {
			var newImageSrcThumb = $(this).attr('src');
			var newImageSrcZoom = newImageSrcThumb.replace("t.jpg", "z.jpg");
			var newImageColour = $(this).attr('title');
			var newImageTitle = $activeProductImage.attr('alt');
			
			$activeProductImage.attr('src', newImageSrcZoom);
			$activeProductOverlay.attr({'href': newImageSrcZoom, 'title': newImageTitle + ', ' + newImageColour})
			$activeProductColour.html('<strong>Colour</strong>' + newImageColour);
			$zoomImage.attr('src', newImageSrcZoom);
				$productThumb.each(function(index) {
					var testOne = $activeProductImage.attr('src');
					var testTwo = testOne.replace("z.jpg", "t.jpg");
					if ($(this).find('img').attr('src') == testTwo) $(this).find('a').attr('rel', '');
					else $(this).find('a').attr('rel', 'prettyPhoto[gallery1]');
				});
			loadPrettyPhoto();
		});
		
		// call tipTip
		$(function(){
		$('.tooltip').tipTip({defaultPosition: "top", edgeOffset: 10});
		});
		
// call prettyPhoto
	loadPrettyPhoto = function() {
		$("a[rel^='prettyPhoto']").prettyPhoto({animation_speed:'normal',theme:'light_square',slideshow:3000, autoplay_slideshow: false,opacity: 0.8});
	};
	
	loadPrettyPhoto();
		
	

	
	
	// PREVIOUS----------------------------------------------------------------------------

	// variables

	$.config = {
		column : 0,
		columnOpen : false,
		twoOpen : false,
		threeOpen : false,
		fourOpen : false,
		productZoom : false,
		scrollMax : $(document).height() - 400
	}

	// home slider
	
	$columnOne = $('div.column.c1.static');
	$columnTwo = $('div.column.c2.dynamic');
	$columnThree = $('div.column.c3.dynamic');
	$columnFour = $('div.column.c4.dynamic');
	var columnTwoPass = $('p.c2Pass').html();
	
	
	$columnTwo.bind('click', function(event) {
		if ((!$.config.columnOpen)) {
			$(this).css({
		    left: '0',
		    width: '1000'
		  });
			$text = $(this).find('span').css('left', -235);
			$(this).find('img').css('left', 0);
			$(this).css({left: 0, width: 1000}).append('<div class="mask l"></div><div class="mask r"></div>').show();
			$mask = $(this).find('div.mask').show().animate({ width: 0 }, 500, function() {
				$text.show().animate({left: 0}, { duration: 400, easing: 'easeOutQuint'});
				$('p#close').fadeIn(400);
			});
			//$(this).find('img').css('cursor', 'default');
			$(this).find('img').wrapAll("<a href=" + columnTwoPass + "></a>");
			$columnThree.hide();
			$columnFour.hide();
			$.config.columnOpen = true;
			$.config.twoOpen = true;
			return false;
		};
	});
	
	
$columnThree.bind('click', function(event) {
		var columnThreePass = $('p.c3Pass').html();
		if ((!$.config.columnOpen)) {
			$(this).css({
		    left: '0',
		    width: '1000'
		  });
			$text = $(this).find('span').css('left', -235);
			$(this).find('img').css('left', 0);
			$(this).css({left: 0, width: 1000}).append('<div class="mask l"></div><div class="mask r"></div>').show();
			$mask = $(this).find('div.mask').show().animate({ width: 0 }, 500, function() {
				$text.show().animate({left: 0}, { duration: 400, easing: 'easeOutQuint'});
				$('p#close').fadeIn(400);
			});
			//$(this).find('img').css('cursor', 'default');
			$(this).find('img').wrapAll("<a href=" + columnThreePass + "></a>");
			$columnTwo.hide();
			$columnFour.hide();
			$.config.columnOpen = true;
			$.config.threeOpen = true;
			return false;
		};
	});
	
	$columnFour.bind('click', function(event) {
		var columnFourPass = $('p.c4Pass').html();
		if ((!$.config.columnOpen)) {
			$(this).css({
		    left: '0',
		    width: '1000'
		  });
			$text = $(this).find('span').css('left', -235);
			$(this).find('img').css('left', 0);
			$(this).css({left: 0, width: 1000}).append('<div class="mask l"></div><div class="mask r"></div>').show();
			$mask = $(this).find('div.mask').show().animate({ width: 0 }, 500, function() {
				$text.show().animate({left: 0}, { duration: 400, easing: 'easeOutQuint'});
				$('p#close').fadeIn(400);
			});
			//$(this).find('img').css('cursor', 'default');
			$(this).find('img').wrapAll("<a href=" + columnFourPass + "></a>");
			$columnTwo.hide();
			$columnThree.hide();
			$.config.columnOpen = true;
			$.config.fourOpen = true;
			return false;
		};
	});
	
	$('p#close').hover(function() {
		$(this).css('color', '#000');
	}, function() {
		$(this).css('color', '#999');
	});
	  
	
	$('p#close').click(function(event) {
		if (($.config.twoOpen)) {
			$(this).hide();
			$columnTwo.find('img').unwrap();
			$columnTwo.find('span').hide();
			$columnTwo.css('left', 255);
			$columnTwo.css('width', 235);
			$columnTwo.find('img').css('left', -255);
			$columnTwo.fadeIn(1200);
			$columnThree.css('left', 510);
			$columnThree.css('width', 235);
			$columnThree.find('img').css('left', -510);
			$columnThree.fadeIn(1200);
			$columnFour.css('left', 765);
			$columnFour.css('width', 235);
			$columnFour.find('img').css('left', -765);
			$columnFour.fadeIn(1200);
			$columnTwo.find('img').css('cursor', 'pointer');
			$.config.twoOpen = false;
			$.config.columnOpen = false;
		} else {
			if (($.config.threeOpen)) {
				$(this).hide();
				$columnThree.find('img').unwrap();
				$columnThree.find('span').hide();
				$columnThree.css('left', 510);
				$columnThree.css('width', 235);
				$columnThree.find('img').css('left', -510);
				$columnThree.fadeIn(1200);
				$columnTwo.css('left', 255);
				$columnTwo.css('width', 235);
				$columnTwo.find('img').css('left', -255);
				$columnTwo.fadeIn(1200);
				$columnFour.css('left', 765);
				$columnFour.css('width', 235);
				$columnFour.find('img').css('left', -765);
				$columnFour.fadeIn(1200);
				$columnThree.find('img').css('cursor', 'pointer');
				$.config.threeOpen = false;
				$.config.columnOpen = false;
			} else {
				if (($.config.fourOpen)) {
					$(this).hide();
					$columnFour.find('img').unwrap();
					$columnFour.find('span').hide();
					$columnFour.css('left', 765);
					$columnFour.css('width', 235);
					$columnFour.find('img').css('left', -765);
					$columnFour.fadeIn(1200);
					$columnThree.css('left', 510);
					$columnThree.css('width', 235);
					$columnThree.find('img').css('left', -510);
					$columnThree.fadeIn(1200);
					$columnTwo.css('left', 255);
					$columnTwo.css('width', 235);
					$columnTwo.find('img').css('left', -255);
					$columnTwo.fadeIn(1200);
					$columnFour.find('img').css('cursor', 'pointer');
					$.config.fourOpen = false;
					$.config.columnOpen = false;
				};
			}
		};
	});
	

	
	
	

	
	

	// furntiure megalist

	//$furnitureBtn = $('ul.navigation.primary li.furniture');
	$furnitureBtn = $('ul#menu-primary li.furniture');
	//$furnitureMegalist = $('ul.navigation.primary ul.megalist');
	$furnitureMegalist = $('ul#menu-primary ul.sub-menu');
	$furnitureBtn.hover(function() {
		$(this).addClass('active');
		$furnitureMegalist.hide().stop().fadeTo(300, 1);
	}, function() {
		$(this).removeClass('active');
		$furnitureMegalist.stop().fadeTo(200, 0, function() {
			$(this).hide();
		});
	});

	// lozenge

	$('a.lozenge span').hide().fadeIn(500);
	$lozengeLifestyles = $('ul.lozenge').hide().fadeIn(500);
	$lozengeLifestyles.find('li a').hover(function() {
		$lozengeLifestyles.addClass('active');
	}, function() {
		$lozengeLifestyles.removeClass('active');
	});

// product zoom ----------------------------------------------------------------------------

	if ($('div.products').hasClass('java')) {

		$products = $('div.products');
		$product = $products.find('div.product');

		$zoomInfo = $('div.product-info');
		$zoomPreview = $zoomInfo.find('div.wrapper');
		$zoomOverlay = $zoomInfo.find('a.overlay');
		$zoomBox = $('div.product-zoom');
		$zoomPic = $zoomBox.find('img');
		$header = $('div#header');
		$footer = $('div#footer');
		

		$zoomPreview.hover(function() {
			$.config.productZoom = true;
			if($.browser.msie){
				$header.css('zIndex', -10);
				$zoomOverlay.show();
				$zoomPicSrc = $zoomOverlay.attr('href');
				$zoomBox.find('img').attr('src', $zoomPicSrc);
				$zoomBox.css('top', $(window).scrollTop() - 133 + 'px').show();
			} else {
				$zoomPicSrc = $zoomOverlay.attr('href');
				$zoomOverlay.stop().fadeTo(500, 1);
				$zoomBox.find('img').attr('src', $zoomPicSrc);
				$zoomBox.css('top', $(window).scrollTop() - 133 + 'px').stop().fadeTo(300, 1);
			}			
		}, function() {
			$.config.productZoom = false;
			if($.browser.msie){
				$zoomOverlay.hide();
				$zoomBox.hide();
				$header.css('zIndex', 10);
			} else {
				$zoomOverlay.stop().fadeTo(500, 0);
				$zoomBox.stop().fadeTo(300, 0, function() {
					$(this).hide();
				});
			}
			
		});

		$(document).bind('mousemove', function(e) {
			if ($.config.productZoom == true) {
				xpos = e.pageX - $zoomPreview.offset().left;
				ypos = e.pageY - $zoomPreview.offset().top;
				picX = (xpos * -4) + 244;
				picY = (ypos * -4) + 244;
				ovlX = (xpos - 62) + 'px';
				ovlY = (ypos - 62) + 'px';
				if ($.browser.msie) {
					$zoomPic.css({ left: picX, top: picY });
				} else {
					$zoomPic.stop().animate({ left: picX, top: picY }, {duration : 400, easing : 'easeOutQuad'});
				};
				$zoomOverlay.css({ left: ovlX, top: ovlY });
			};
		});

	};

	// range switcher - 404 page

	$column404 = $('div.columns.page.lost div.column.c3');
	$rangeLists = $column404.find('div');
	$rangeSwitcher = $column404.find('ul#range_switcher li');

	$rangeLists.hide().eq(0).show();

	$rangeSwitcher.click(function() {
		$rangeSwitcher.removeClass('active');
		$(this).addClass('active');
		var range = $rangeSwitcher.index($(this));
		$rangeLists.hide();
		$rangeLists.eq(range - 1).fadeIn(500);
		return false;
	});
	
	// filter
	
	$('ul.filter li').hover(function() {
		$(this).find('> ul').show();
	}, function() {
		$(this).find('> ul').hide();
	});
	
	// lightbox
	
	$('a.lightbox').lightBox();
	
	// copy jpg to clipboard
	
	function copyJpg(imgID) {
		var ctrlRange = document.body.createControlRange();
		ctrlRange.add(document.all(imgID));
		ctrlRange.execCommand("Copy");
	};
	
	
	//homepage range name hover
	
	$column2Range = $('div.column.c2.dynamic');
	$column3Range = $('div.column.c3.dynamic');
	$column4Range = $('div.column.c4.dynamic');

	$column2Range.bind('mouseenter', function(event) {
		if (!$.config.columnOpen) {
			$(this).find('h3').css('display', 'block');
		};
	});
	
	$column2Range.bind('mouseleave', function(event) {
	  $(this).find('h3').css('display', 'none');
	});
	
	$column2Range.click(function() {
		$(this).find('h3').css('display', 'none');
	});
	
	$column3Range.bind('mouseenter', function(event) {
		if (!$.config.columnOpen) {
			$(this).find('h3').css('display', 'block');
		};
	});
	
	$column3Range.bind('mouseleave', function(event) {
	  $(this).find('h3').css('display', 'none');
	});
	
	$column3Range.click(function() {
		$(this).find('h3').css('display', 'none');
	});
	
	$column4Range.bind('mouseenter', function(event) {
		if (!$.config.columnOpen) {
			$(this).find('h3').css('display', 'block');
		};
	});
	
	$column4Range.bind('mouseleave', function(event) {
	  $(this).find('h3').css('display', 'none');
	});
	
	$column4Range.click(function() {
		$(this).find('h3').css('display', 'none');
	});
	
	
	
	

});
	
	



	
	




