$.widget('ui.ajaxsearch', {
	options: {
		container: '.search-container-results'
	},
	_create: function() {
		var obj = this;
		var container = this.options.container;
		
		$(container).find('ul li').live('click', function() {
			var url = $(this).find('.s-name a').attr('href');
			window.location = url;
		});
			
		$(container).find('ul li').live('mouseover mouseout', function(event) {
			if (event.type == 'mouseover') {
				$(this).addClass('hover');
			} else {
				$(this).removeClass('hover');
			}
		});
		
		this.element.find('form').submit(function() {
			if($(this).find('.search-bar').val() != $(this).find('.search-bar').attr('title')){
				$(this).find('.search-preloader').show();
				var formdata = $(this).serialize();
				obj.searching(formdata, container);
			}
			return false;
		});
		
		this.element.find('form .search-bar').keyup(function() {
			if($(this).val().length > 0 && $(this).val() != 'SEARCH'){
				$(this).parents('form').find('.search-preloader').show();
				var formdata = $(this).parents('form').serialize();
				obj.searching(formdata, container, $(this).val().length);
			}else{
				obj.closesearch(container, '.mainoverlay');
			}
		});
		
		$('.mainoverlay').click(function() {
			obj.closesearch(container, this);
		});
	},
	
	searching: function(formdata, container, itemlength) {
		$.ajax({
			type: 'POST',
			url: '/search/ajax',
			data: formdata,
			success: function(data) {
				var json = $.parseJSON(data);
				if(json['confirm'] == 'success'){
					$(container).fadeIn(300);
					$('.search form .search-preloader').hide();
					$('.mainoverlay').show();
					var html = '';
					for(var i in json['results']){
						html += '<li>';
							if(json['results'][i]['order_nr'] == 1){
								html += '<div class="s-image '+i+'"><a href="'+json['results'][i]['link']+'/'+json['results'][i]['pseo']+'"><img alt="" src="/misc/products/'+json['images']+'/'+json['results'][i]['url']+'" /></a></div>';
							}else{
								html += '<div class="s-image '+i+'"><a href="'+json['results'][i]['link']+'/'+json['results'][i]['pseo']+'/'+json['results'][i]['seo']+'"><img alt="" src="/misc/products/'+json['images']+'/'+json['results'][i]['url']+'" /></a></div>';
							}
							html += '<div class="s-container" rel="'+json['results'][i]['order_nr']+'">';
								if(json['results'][i]['order_nr'] == 1){
									html += '<div class="s-name"><a href="'+json['results'][i]['link']+'/'+json['results'][i]['pseo']+'">'+json['results'][i]['name']+'</a></div>';
								}else{
									html += '<div class="s-name"><a href="'+json['results'][i]['link']+'/'+json['results'][i]['pseo']+'/'+json['results'][i]['seo']+'">'+json['results'][i]['name']+'</a></div>';
								}
								if(json['results'][i]['sale_price'] > 0){
									if(json['results'][i]['percent'] != '0'){
										html += '<div class="s-sale-item">&pound;'+json['results'][i]['sale_price']+' (SAVE '+json['results'][i]['percent']+'%)</div>';
									}else{
										html += '<div class="s-price">&pound;'+json['results'][i]['sale_price']+'</div>';
									}
									
									html += '<div class="s-was">(was &pound;'+json['results'][i]['price']+')</div>';
								}else{
									html += '<div class="s-price">&pound;'+json['results'][i]['price']+'</div>';
								}
							html += '</div>';
						html += '</li>';
					}
					
					$(container).find('ul').html(html);
					
				}
				
			}
			
		});
		
		if(itemlength == 0){
			obj.closesearch(container, '.mainoverlay');
		}
	},
	
	closesearch: function(container, overlay) {
		$(container).fadeOut(200, function(){
			$(this).find('ul').html('');
		});
		$(overlay).hide();
	}
	
});

	
	$.widget('ui.productScroller', {

		_create: function() {
			var obj = this;
			var parent = this.element;
			var items = this.element.find('li');
			var itemWidth = items.width();
			this.element.find('ul').css('width', (items.length*itemWidth));
			parent.find('.item-content').attr('rel', '0');
			
			parent.find('.prev-arrow').click(function(){
				obj.scrollLeft(parent.find('.item-content'), itemWidth);
			});
			parent.find('.next-arrow').click(function(){
				obj.scrollRight(parent.find('.item-content'), itemWidth);
			});
		},
		
		scrollLeft: function(el, width){
			var parent = this.element;
			var mleft = parseInt(el.css('margin-left'));
			var itMoved = parseInt(el.attr('rel'));
			var citems = parseInt(el.parent().width()/width);
			itMoved -= citems;
			
			if(mleft < 0 && !el.hasClass('scrolling')){
				parent.find('.next-arrow').removeClass('hidden');
				el.addClass('scrolling');
				mleft += el.parent().width();
				el.animate({'margin-left': mleft+'px'},500,'linear',function(){
					el.removeClass('scrolling');
				});
				
				el.attr('rel', parseInt(itMoved));
				if(mleft == 0){
					parent.find('.prev-arrow').addClass('hidden');
				}
				
			}
		},
		
		scrollRight: function(el, width){
			var parent = this.element;
			var count = el.find('.item').length;
			var mleft = parseInt(el.css('margin-left'));
			//items  moved
			var itMoved = parseInt(el.attr('rel'));
			var citems = parseInt(el.parent().width()/width);
			//increase the "items moved" count
			itMoved += citems;
			var max = (count-citems)*width*-1;
			
			if(mleft > max && !el.hasClass('scrolling') && itMoved < count){
				parent.find('.prev-arrow').removeClass('hidden');
				el.addClass('scrolling');
				mleft -= el.parent().width();
				el.animate({'margin-left': mleft+'px'},500,'linear',function(){
					el.removeClass('scrolling');
				});
				el.attr('rel', parseInt(itMoved));
				if((itMoved*2) > count || (itMoved*2) == count){
					parent.find('.next-arrow').addClass('hidden');
				}
				
			}
			
		}
		
	});
	
	$.widget('ui.basketpageaction', {
		options: {
			itemcont: '.product-item',
			url: '/basket/manage',
			price: '.row-prod .price',
			totalprice: '.row-prod .total-price',
			productamount: '.row-prod .amount',
			quantity: '.row-prod .quantity',
			itemadd: '.row-prod .add',
			itemsubtract: '.row-prod .subtract'
		},
		_create: function() {
			var obj = this;
			var itemcont = this.options.itemcont;
			var url = this.options.url;
			var price = this.options.price;
			var totalprice = this.options.totalprice;
			var quantity = this.options.quantity;
			var productamount = this.options.productamount;
			var itemadd = this.options.itemadd;
			var itemsubtract = this.options.itemsubtract;
			var increaseid;
			var decreaseid;
			var $subelement = $('.subtotal-update');
			var $totalelement = $('.total-update');
			var $basketitem = $('.baskettotal-update');
			
			this.element.find(itemadd).live('click', function() {
				var $button = $(this);
				var quntityinc = 0;
				increaseid = $(this).attr('rel').split(',');
				quntityinc = parseInt($(this).parents(itemcont).find(quantity).html());
				$('.basket-container .amount-overlay').show();
				
				
				$.ajax({
					type: 'POST',
					url: url,
					data: $.param({ calltype: 'checkquantity', colorid: increaseid, quantity: (quntityinc+1) }),
					success: function(data) {
						var json = $.parseJSON(data);
						var increase = quntityinc+1;
						
						if(json['conf'] == 'true' && increase != 0){
							$button.parents(itemcont).find(quantity).html(increase);
							$button.parents(itemcont).find(totalprice).html('&pound;'+json['itotal']);
							obj.update(json, itemcont, totalprice);
							obj.animatebackcont($subelement, $totalelement, $basketitem);
							$button.parents(itemcont).find(itemsubtract).removeClass('disabled');
						}else{
							if(json['stock'] < quntityinc && json['stock'] != 0){
								$button.parents(itemcont).find(quantity).html(json['stock']);
								$button.parents(itemcont).find(totalprice).html('&pound;'+json['itotal']);
								obj.update(json, itemcont, totalprice);
								obj.animatebackcont($subelement, $totalelement, $basketitem);
							}
							tooltip($button);
						}
						if(json['stock'] == quntityinc){
							$button.addClass('disabled');
						}
						$('.basket-container .amount-overlay').hide();
					}
					
				});
				
			});
			
			this.element.find(itemsubtract).live('click', function() {
				var buttonadd = $(this);
				var quntitydec = 0;
				decreaseid = $(this).attr('rel').split(',');
				quntitydec = parseInt($(this).parents(itemcont).find(quantity).html());
				$('.basket-container .amount-overlay').show();
				
				$.ajax({
					type: 'POST',
					url: url,
					data: $.param({ calltype: 'checkquantity', colorid: decreaseid, quantity: (quntitydec-1) }),
					success: function(data) {
						var json = $.parseJSON(data);
						var decrease = quntitydec-1;
						
						if(decrease == 1){
							$(buttonadd).addClass('disabled');
						}
						
						if(json['conf'] == 'true' && decrease != 0){
							$(buttonadd).parents(itemcont).find(quantity).html(decrease);
							$(buttonadd).parents(itemcont).find(totalprice).html('&pound;'+json['itotal']);
							obj.update(json, itemcont, totalprice);
							obj.animatebackcont($subelement, $totalelement, $basketitem);
							$(buttonadd).parents(itemcont).find(itemadd).removeClass('disabled');
						}else{
							if(json['stock'] < quntitydec && json['stock'] != 0){
								$(buttonadd).parents(itemcont).find(quantity).html(json['stock']);
								$(buttonadd).parents(itemcont).find(totalprice).html('&pound;'+json['itotal']);
								obj.update(json, itemcont, totalprice);
								obj.animatebackcont($subelement, $totalelement, $basketitem);
							}
						}
						$('.basket-container .amount-overlay').hide();
					}
					
				});
				
			});
			
			this.element.find('.products .remove-item').live('click', function(event) {
				var $currentbutton = $(this);
				var $product = $currentbutton.closest('.product-item');
				var delid = $(this).attr('rel').split(',');
		 
				event.preventDefault();
				$('.removing-product').css('top', $product.position().top + 'px').fadeIn(200,function() {
					$.ajax({
						type: 'POST',
						url: '/basket/removeproduct',
						data: $.param({ calltype: 'removeproduct', colourid: delid }),
						success: function(data) {
							var json = $.parseJSON(data);
							if(json['itemcount'] == 0){
								var htmlelement = "<div style=\"display:none;\" class=\"no-items\"><div class=\"no-items-text\">There were no items in your shopping basket</div><div class=\"no-items-continue\"><a href=\"/\" title=\"Continue Shopping\">Continue Shopping</a></div></div>";
								$('.basket-container').fadeOut(400, function(){
									$('.basket-container').after(htmlelement);
									$('.basket-container').remove();
									$('.no-items').fadeIn();
									$('.header .checkout-button').removeClass('witems');
								});
								
							}
							obj.update(json);
							
							obj.animatebackcont($subelement, $totalelement, $basketitem);
								
							$product.stop(true).slideUp(400);
							$('.removing-product').slideUp();
							
							
						}
					});
				});
			});
			
		},
		
		animatebackcont: function($subelement, $totalelement, $basketitem){
			$subelement.css('backgroundColor', '').stop().animate({ 'backgroundColor': '#bde8ff' }, 1000, function() {
				$subelement.css('backgroundColor', '#bde8ff').animate({ 'backgroundColor': '#ffffff' }, 1000);
			});
			$totalelement.css('backgroundColor', '').stop(true).animate({ 'backgroundColor': '#bde8ff' }, 1000, function() {
				$totalelement.animate({ 'backgroundColor': '#' + 'ffffff' }, 1000);
			});
			$basketitem.css('backgroundColor', '').stop(true).animate({ 'backgroundColor': '#bde8ff' }, 1000, function() {
				$basketitem.animate({ 'backgroundColor': '#' + 'F7F7F7' }, 1000);
			});
		},
		
		update: function(json, itemcont, totalprice){
			if(parseInt(json['discount']) > 0 && $('#delivery-total .discount-row').is(':hidden')){
				$('#delivery-total .discount-row').slideDown();
			}else if(parseInt(json['discount']) == 0){
				$('#delivery-total .discount-row').hide();
			}
			
			$('.shopping-bag a span').html('('+json['itemcount']+')');
			$('.contains-items').html(json['itemcount']);
			$('.mini-cart .small-basket-total').html(json['total']);
			$('#delivery-total .total-row span').html(json['total']);
			$('.subtotal-container .stotal span').html(json['subtotal']);
			$('#delivery-total').find('.delivery-price a#'+json['did']).html('&pound;'+json['delamount']);
			$('.deliv-summary .del-item-price strong').html('&pound;'+json['delamount']);
			$('#delivery-total .discount-row').find('.right-cell span').html(json['discount']);
			$('.shopping-bag-cont .basket-total-amount').html(json['subtotal']);
			$('.deliv-summary .del-item-desc span').html(json['summary']['delivery']);
			
			if(json['discount'].length > 0){
				$('.deliv-summary .del-item-desc span').html(json['promotion']['delDesc']);
			}else{
				$('.deliv-summary .del-item-desc span').html(json['summary']['delivery']);
			}
		}
		
	});
	
	$.widget('ui.deliveryupdate', {
		options: {
			delselect: '.delivery-type',
			delinput: 'input',
			url: '/basket?ajax',
			deliveryprice: '.deliv-summary .del-item-price strong',
			deliverydesc: '.deliv-summary .del-item-desc span'
		},
		_create: function() {
			var obj = this;
			var delselect = this.options.delselect;
			var delinput = this.options.delinput;
			var deliveryprice = this.options.deliveryprice;
			var deliverydesc = this.options.deliverydesc;
			var url = this.options.url;
			var $elements = $('.total-update');
			var $basketitem = $('.baskettotal-update');
			
			this.element.find(delselect).click(function() {
				
				if(!$(this).hasClass('active')){
					obj.element.find('.delivery-type').removeClass('active');
					$(this).addClass('active');
					$(this).find(delinput).attr('checked', true);
					var delid = $(this).find(delinput).val();
					
					$.ajax({
						type: 'POST',
						url: url,
						data: $.param({ calltype: 'delivery', delid: delid }),
						success: function(data) {
							var json = $.parseJSON(data);
							
							if(json['summary']['discount_delivery'].length > 0){
								if(json['summary']['discount_delivery'].length > 26){
									var str = json['summary']['discount_delivery'];
									obj.element.find(deliverydesc).html(str.substring(0,26)+'...');
								}else{
									obj.element.find(deliverydesc).html(json['summary']['discount_delivery']);
								}
							}else{
								if(json['summary']['delivery'].length > 26){
									var str = json['summary']['delivery'];
									obj.element.find(deliverydesc).html(str.substring(0,26)+'...');
								}else{
									obj.element.find(deliverydesc).html(json['summary']['delivery']);
								}
							}
							obj.element.find(deliveryprice).html('&pound;'+json['summary']['delivery_amount']);
							
							obj.update(json);
							obj.animateback($elements, $basketitem);
						}
						
					});
				}
			});
		},
		
		animateback: function($elements, $basketitem){
			$elements.css('backgroundColor', '').stop(true).animate({ 'backgroundColor': '#bde8ff' }, 1000, function() {
				$(this).animate({ 'backgroundColor': '#' + 'fff' }, 1000);
			});
			$basketitem.css('backgroundColor', '').stop(true).animate({ 'backgroundColor': '#bde8ff' }, 1000, function() {
				$(this).animate({ 'backgroundColor': '#' + 'F7F7F7' }, 1000);
			});
		},
		
		update: function(json){
			$('.mini-cart .small-basket-total').html(json['summary']['total']);
			$('#delivery-total .total-row span').html(json['summary']['total']);
			$('#delivery-total').find('.delivery-price a#'+json['summary']['delivery_id']).html('&pound;'+json['summary']['delivery_amount']);
		}
		
	});
	
	$.widget('ui.archiveaddress', {
		options: {
			addersscont: '.address-block li',
			archive: '.archive-address',
			removing: '.removing'
		},
		_create: function() {
			var obj = this;
			var addersscont = this.options.addersscont;
			var archive = this.options.archive;
			var removing = this.options.removing;
			var url = this.options.url;
			
			this.element.find(archive).click(function() {
				var addressid = $(this).attr('rel');
				var button = $(this)
				$(button).parents(addersscont).find(removing).fadeIn();
				
				$.ajax({
					type: 'POST',
					url: url,
					data: $.param({ archive: addressid }),
					success: function(data) {
						if(data == 'success'){
							$(button).parents(addersscont).find(removing).delay(400).animate({opacity: 1}, 400, function(){
								$(button).parents(addersscont).remove();
							});
						}else{
							$(button).parents(addersscont).find(removing).hide();
						}
					}
					
				});
			});
		}
		
	});
	
	
	$.widget('ui.sliderwidget', {
		_create: function() {
			var obj = this;
			var parent = this.element;
			var container = this.options.container;
			var itemcount = this.options.itemcount;
			var handler = this.options.handler;
			var handlercont = this.element.find(handler).parent();
			var item = this.options.item;
			var itemWidth = $(container).find(item).width();
			var items = $(container).find(item).length;
			var handle_width = $(handlercont).width();
			
			if(items > itemcount){
				var handle_width = Math.round( handle_width / (100 / (100 - (((items - itemcount) / items)*100))) );
				$(handler).css('width',handle_width+'px');
			}else{
				$(handler).css('width',handle_width+'px');
			}
			
			var scrollarea = $(handlercont).width()-obj.element.find(handler).width();
			
			items = (items*itemWidth);
			
			$(container).css('width', items);
			
			var multiplier = (items-$(obj.element).width())/scrollarea;
			
			parent.find('.scroll-container').click(function(event){
				var original_pos = $(handler).offset();
				var target_pos = event.pageX;
				var left_side = original_pos.left;
				var right_side = original_pos.left + parseInt($(handler).css('width'));
				
				if(target_pos < left_side){
					var handleleft = parseInt( $(handler).css('left') ) - Math.round((left_side - target_pos)) + 'px';
					
					$(handler).stop(true,true).animate({ 'left': handleleft }, {
						duration: 600,
						step: function(){
							var pos = $(handler).position();
							var positionleft = (-1*multiplier)*(pos.left);
							$(container).css('margin-left', positionleft);
						}
					});
					
				}else if(target_pos > right_side){
					var handleleft = parseInt( $(handler).css('left') ) - Math.round((right_side - target_pos)) + 'px';
					
					$(handler).stop(true,true).animate({ 'left': handleleft }, {
						duration: 600,
						step: function(){
							var pos = $(handler).position();
							var positionleft = (-1*multiplier)*(pos.left);
							$(container).css('margin-left', positionleft);
						}
					});
				}
				
			});
			
			parent.find('.prev').click(function(){
				var handleleft = Math.max(0, parseInt( $(handler).css('left') ) - 30) + 'px';
				if(!$(handler).hasClass('animated')){
					$(handler).addClass('animated');
					$(handler).stop(true,true).animate({ 'left': handleleft }, {
						duration: 600,
						step: function(){
							var pos = $(handler).position();
							var positionleft = (-1*multiplier)*(pos.left);
							$(container).css('margin-left', positionleft);
						},
						complete: function(){
							$(this).removeClass('animated');
						}
					});
				}
			});
			
			parent.find('.next').click(function(){
				var handleleft = Math.min(scrollarea, parseInt( $(handler).css('left') ) + 30) + 'px';
				
				if(!$(handler).hasClass('animated')){
					$(handler).addClass('animated').stop(true,true).animate({ 'left': handleleft }, {
						duration: 600,
						step: function(){
							var pos = $(handler).position();
							var positionleft = (-1*multiplier)*(pos.left);
							$(container).css('margin-left', positionleft);
						},
						complete: function(){
							$(this).removeClass('animated');
						}
					});
				}
			});
			
			$(document).keydown(function(event){
				if (event.keyCode == '37') {
					parent.find('.prev').click();
				}
				if (event.keyCode == '39') {
					parent.find('.next').click();
				}
			});
			
			var result = (items-$(obj.element).width())/scrollarea;
			this.element.find(handler).draggable({
				containment: handlercont,
				scroll: false,
				drag: function(event, ui) {
					var pos = $(obj.element).find(handler).position();
					
					var positionleft = (-1*result)*(pos.left);
					$(container).css('margin-left', positionleft);
				}
			});
			
		}
		
	});
	
	$.widget('ui.productAction', {
	options: {
		addtobasket: '.add-to-basket',
		itemquntity: '.item-count span',
		countcont: '.item-count',
		itemadd: '.add',
		subtract: '.subtract',
		quntity: 'span',
		amount: '.item-price'
	},
	_create: function() {
		var obj = this;
		var parent = this.element;
		var addtobasket = this.options.addtobasket;
		var itemquntity = this.options.itemquntity;
		this.countcont = this.element.find(this.options.countcont);
		this.itemadd = this.options.itemadd;
		this.url = this.options.url;
		this.subtract = this.options.subtract;
		this.quntity = this.options.quntity;
		this.amount = this.options.amount;
		var selectCont = $('.size-selection');
		var colourCont = $('.size-selection');
		
		$('.size-selection').find('.stock-selection a').click(function(){
			if(!$(this).parent().hasClass('selected') && !$(this).parent().hasClass('out-of-stock')){
				$('.size-selection').find('.selected').removeClass('selected');
				$(this).parent().addClass('selected');
				parent.find('.add-to-basket').attr('rel', $(this).attr('rel'));
				parent.find('.item-count .subtract').attr('rel', $(this).attr('rel'));
				parent.find('.item-count .add').attr('rel', $(this).attr('rel'));
				obj.validate('false');
				$(obj.countcont).find(obj.quntity).html('1');
				$(obj.countcont).find(obj.subtract).addClass('disabled');
				$(obj.countcont).find(obj.itemadd).removeClass('disabled');
				
				var sizeName = $('.size-selection').find('.selected a').html();
				var cName = obj.element.find('.item').attr('title');
				if(sizeName != null){
					obj.element.find('.basket-actions .item').html(cName+', '+sizeName);
				}else{
					obj.element.find('.basket-actions .item').html(cName);
				}
			}else if($(this).parent().hasClass('out-of-stock')){
				stockTooltip($(this));
			}
		});
		
		this.element.find(addtobasket).live('click', function() {
			var $button = $(this);
			var selection = selectCont.find('.selected');
			var colours = colourCont.find('.stock-selection');
			
			if(!$(this).hasClass('disabled') && selection.length > 0 && colours.length > 1){
				obj.validate('false');
				obj.addToBasket($button, itemquntity);
			}else if(!$(this).hasClass('disabled') && selectCont.length == 0 && colourCont.length == 0 && selection.length == 0 && colours.length == 0 && parseInt($(itemquntity).html()) > 0){
				//if there is no colours and sizes
				obj.validate('false');
				obj.addToBasket($button, itemquntity);
			}else{
				if(!$(this).hasClass('disabled') && colours.length == 1){
					obj.validate('false');
					obj.addToBasket($button, itemquntity);
				}else{
					obj.validate('true');
				}
			}
		});
		
		this.element.find(obj.itemadd).click(function() {
			$button = $(this);
			var selection = $('.size-selection').find('.selected');
			var colours = $('.size-selection').find('.stock-selection');
			
			if(selection.length > 0 && colours.length > 1){
				obj.validate('false');
				obj.addQuantity($button);
			}else if(selectCont.length == 0 && colourCont.length == 0 && selection.length == 0 && colours.length == 0 && parseInt($(itemquntity).html()) > 0){
				//if there is no colours and sizes
				obj.validate('false');
				obj.addQuantity($button);
			}else{
				if(colours.length == 1){
					obj.validate('false');
					obj.addQuantity($button);
				}else{
					obj.validate('true');
				}
			}
		});
		
		this.element.find(obj.subtract).click(function() {
			$button = $(this);
			var selection = $('.size-selection').find('.selected');
			var colours = $('.size-selection').find('.stock-selection');
			
			if(selection.length > 0 && colours.length > 1){
				obj.validate('false');
				obj.subtractQuantity($button);
			}else if(!$(this).hasClass('disabled') && selectCont.length == 0 && colourCont.length == 0 && selection.length == 0 && colours.length == 0 && parseInt($(itemquntity).html()) > 0){
				//if there is no colours and sizes
				obj.validate('false');
				obj.subtractQuantity($button);
			}else{
				if(colours.length == 1){
					obj.validate('false');
					obj.subtractQuantity($button);
				}else if(!$(this).hasClass('disabled')){
					obj.validate('true');
				}
			}
		});
	},
	
	addQuantity: function($button) {
		var obj = this;
			
		if(!$button.hasClass('processing')){
			$button.addClass('processing');
			var elementid = $button.attr('rel').split(',');
			var quntityvar = parseInt($(obj.countcont).find(obj.quntity).html());
			
			$.ajax({
				type: 'POST',
				url: obj.url,
				data: $.param({ calltype: 'checkquantity', colorid: elementid, quantity: (quntityvar+1) }),
				success: function(data) {
					var json = $.parseJSON(data);
					var increase = quntityvar+1;
					
					if(json[1] == 'true'){
						$(obj.countcont).find(obj.quntity).html(increase);
						$button.parents(obj.countcont).find(obj.subtract).removeClass('disabled');		
						var price = increase * $('.item-price').attr('rel');
						price = price.toFixed(2);
						$('.item-price').html('&pound;'+price);
					}else{
						if(json != null && json[0] < quntityvar && json[0] != 0){
							$(obj.countcont).find(obj.quntity).html(json[0]);
						}
						tooltip($(obj.itemadd));
					}
					if(json[0] == quntityvar+1){
						$button.parents(obj.countcont).find(obj.itemadd).addClass('disabled');
					}
					$button.removeClass('processing');
				}
				
			});
		}
	},
		
	subtractQuantity: function($button) {
		var obj = this;
		
		if(!$button.hasClass('processing') && !$button.hasClass('disabled')){
			$button.addClass('processing');
			var elementid = $button.attr('rel').split(',');
			var quntityvar = parseInt($(obj.countcont).find(obj.quntity).html());
			
			$.ajax({
				type: 'POST',
				url: obj.url,
				data: $.param({ calltype: 'checkquantity', colorid: elementid, quantity: (quntityvar-1) }),
				success: function(data) {
					var json = $.parseJSON(data);
					var decrease = quntityvar-1;
					
					if(decrease == 1){$button.parents(obj.countcont).find(obj.subtract).addClass('disabled');}
					
					if(json[1] == 'true' && decrease != 0){
						$(obj.countcont).find(obj.quntity).html(decrease);
						$button.parents(obj.countcont).find(obj.itemadd).removeClass('disabled');
						var price = decrease * $('.item-price').attr('rel');
						price = price.toFixed(2);
						$('.item-price').html('&pound;'+price);
					}else{
						if(json[1] < quntityvar && json[1] != 0){
							$(obj.countcont).find(obj.quntity).html(json[1]);
						}
					}
					$button.removeClass('processing');
				}
				
			});
		}
	},
	
	addToBasket: function($button, itemquntity){
		var obj = this;
		
		$button.parent().addClass('processing');
		var elementid = $button.attr('rel').split(',');
		if(obj.element.find(itemquntity).html()){
			var quntity = parseInt(obj.element.find(itemquntity).html());
		}else{
			var quntity = 1;
		}
		
		$.ajax({
			type: 'POST',
			url: '/basket/addproducts',
			data: $.param({ colorid: elementid[0], coloursize: elementid[1], quantity: quntity }),
			success: function(data) {
				$('.overlay').show();
				var json = $.parseJSON(data);
				var $popup = $('.window-popup');
				$popup.hide();
				$popup.find('.continue-shopping-btn').unbind('click').click(function(){
					if(!$.browser.msie){
						$popup.stop(true,true).fadeOut();
					}else{
						$popup.hide();
					}
					$('.overlay').hide();
				});

				//$button.animate({ marginTop: 0 }, { duration: 500 });
				$button.fadeIn(400);
				var sizeName = $('.size-selection').find('.selected a').html();
				
				$popup.find('.name strong').html(json['group'] + " - ");
				
				if(sizeName != null){
					$popup.find('.name span').html(json['name']+', '+sizeName);
				}else{
					$popup.find('.name span').html(json['name']);
				}
				
				$popup.css('left', ($button.offset().left - Math.round($button.width() / 2)) + 'px').css('top', ($button.offset().top - $popup.height()) + 'px');
				if(!$.browser.msie){
					$popup.stop(true,true).fadeIn(600,function(){
						$('.overlay').unbind().bind('click',function(){
							$(this).hide();
							$popup.hide();
						});
						$button.parent().removeClass('processing');
						if(json['conf'] == 'success'){
							$('.account-links .bag-title span').html('('+json['items']+')');
							$('.shopping-bag-cont .basket-total-amount').html(json['subtotal']);
							$('.header .checkout-button').addClass('witems');
						}
						
					});
				}else{
					$popup.show();
					$('.overlay').unbind().bind('click',function(){
						$(this).hide();
						$popup.hide();
					});
					$button.parent().removeClass('processing');
					if(json['conf'] == 'success'){
						$('.shopping-bag a span').html(json['items']);
						$('.shopping-bag-cont .basket-total-amount').html(json['subtotal']);
						$('.header .checkout-button').addClass('witems');
					}
				}
			
			}
			
		});
	},
	
	validate: function(validated){
		var error1 = $('.size-picker-error1');
		var error2 = $('.size-picker-error2');
		
		if(validated == 'true'){
			var size = $('.size-selection');
			var addbasket = $('.basket-actions .right');
			
			var sizeOffset = $(size).position();
			var addbasketOffset = $(addbasket).position();
			if(sizeOffset != null){
				$(error1).css('left', (sizeOffset.left-(error1.width()+25)));
				$(error1).css('top', (sizeOffset.top-((error1.height()/2)-5)));
				$(error1).show();
			}
			if(addbasketOffset != null){
				$(error2).css('left', (addbasketOffset.left));
				$(error2).css('top', (addbasketOffset.top+addbasket.height()+10));
				$(error2).show();
			}
		}else{
			$(error1).hide();
			$(error2).hide();
		}
	}
	
});
	
	function tooltip($button) {
		var $popup;
		var description;
	   
		$popup = $('.helper-info');
		$popup.css('left', ($button.offset().left-9) + 'px').css('top', ($button.offset().top - $popup.height()) + 'px').fadeIn();
	   
		description = $button.attr('title');
		if (!description) description = "Sorry, this product is not available for the quantity you selected.";
		$popup.find('.desc').html(description);
	}
	
	function stockTooltip($button) {
		var $popup;
		var description;
	   
		$popup = $('.helper-info');
		$popup.css('left', $button.offset().left + 'px').css('top', ($button.offset().top - $popup.height()) + 'px').fadeIn();
	   
		description = $button.attr('title');
		if (!description) description = "Sorry, this size is currently out of stock.";
		$popup.find('.desc').html(description);
	}
	
	$.widget('ui.popup', {
		options: {
			closebutton: '.close-button a, .overlay, #overlay, #login-overlay'
		},
		_create: function() {
			var obj = this;
			var closebutton = this.options.closebutton;
			var parent = this.element;
			var popup = parent.attr('rel');
			
			parent.click(function(){
				if($(this).parent().hasClass('delivery-info')){
					var seo = 'delivery-info-rates';
					$.ajax({
						type: 'POST',
						url: '/page/request',
						data: $.param({ seo: seo }),
						success: function(data) {
							//$(popup).find('.delivery-content').html(data);
						}
					});
				}
				
				if(popup == '.popup-pwd-retrieve'){
					$(popup).find('.valmsg').hide();
					$(popup).find('.pwd-content').show();
					$(popup).find('input[name="emailreset"]').val('');
					$(popup).find('.close-button').hide();
				}
				if(popup == '.popup-login'){
					$(popup).find('.error-msg').hide();
				}
			
				$(popup).find('form').removeClass('validated');
				$(popup).find('form .validation-msg').remove();
				$(popup).find('.content').css("left", ( $(window).width() - $(popup).find('.content').outerWidth() ) / 2 + "px");
				
				var visiblepops = $('.popup:visible').length;
				$(popup).center();
				if(visiblepops > 0){
					if(!$.browser.msie){
						$('.popup:visible').fadeOut(function(){
							$(popup).fadeIn();
						});
					}else{
						$('.popup:visible').hide();
						$(popup).show();
					}
				}else{
					if(!$.browser.msie){
						$(popup).fadeIn();
					}else{
						$(popup).show();
					}
				}
			});
			
			$(popup).find('.close-button a, .overlay, #overlay, .cancel, #login-overlay').click(function(){
				$(popup).fadeOut();
			});
			
		}
		
	});
	
	
	$.widget('ui.validation', {
		options: {
			validate: '',
			valtype: 'outline' //outline, inline
		},
		_create: function() {
			var obj = this;
			var parent = this.element;
			var items = parent.find('.validate');
			var validated = 0;
			var validate = this.options.validate;
			var valtype = this.options.valtype;
			
			items.blur(function(){
				validated = 0;
				validated = obj.validate($(this));
			});
			parent.submit(function(){
				validated = 0;
				items.each(function(){
					if($(this).is(':visible')){
						validated += obj.validate($(this));
					}
				});
				if(validated != 0){
					parent.removeClass('validated');
					return false;
				}else{
					parent.addClass('validated');
					return true;
				}
			});
			
		},
		
		_init: function(){
			var obj = this;
			var validate = this.options.validate;
			var items = this.element.find('.validate');
			var validated = 0;
			var valtype = this.options.valtype;
			
			if(validate == 'validate'){
				validated = 0;
				items.each(function(){
					validated += obj.validate($(this));
				});
				if(validated != 0){
					this.element.removeClass('validated');
				}else{
					this.element.addClass('validated');
				}
			}
		},
		
		validate: function(el){
			var content = el.val();
			var emailregex = /^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$/;
			var creditregex = /^[0-9\-\ ]+$/;
			var cvvregex = /^([0-9]{3,4})$/;
			var passregex = /^([A-Za-z0-9]+)$/;
			var passlength = /^([A-Za-z0-9]{6,25})$/;
			var errors = 0;
			var error_msg = '';
			var valtype = this.options.valtype;
			
			if(el.hasClass('vldemail')){
				if(el.hasClass('vldrequired') || el.val().length > 0){
					if(el.val() != el.attr('title') || el.attr('title') == ''){
						if(content.search(emailregex) == -1){
							errors+=1;
							error_msg += '<li class="entry">A valid email is required</li>';
						}
					}
				}
			}
			if(el.hasClass('vldcredit')){
				if(el.hasClass('vldrequired') || el.val().length > 0){
					if(content.search(creditregex) == -1){
						errors+=1;
						error_msg += '<li class="entry">A valid credit card number is required</li>';
					}
				}
			}
			if(el.hasClass('vldcvv')){
				if(el.hasClass('vldrequired') || el.val().length > 0){
					if(content.search(cvvregex) == -1){
						errors+=1;
						error_msg += '<li class="entry">A valid CSV code is required</li>';
					}
				}
			}
		
			if(el.hasClass('vldpass')){
				if(el.hasClass('vldrequired') || el.val().length > 0){
					if(content.search(passregex) == -1){
						errors+=1;
						error_msg += '<li class="entry">A valid Password is required</li>';
					}
				}
			}
			if(el.hasClass('vldpasslength')){
				if(el.hasClass('vldrequired') && el.val().length > 0){
					if(content.search(passlength) == -1){
						errors+=1;
						error_msg += '<li class="entry">A minimum of 6 characters long</li>';
					}
				}
			}
			if(el.hasClass('vldrequired')){
				if(content.length == 0 || el.val() == el.attr('title')){
					errors+=1;
					error_msg += '<li class="entry">This field is required</li>';
				}
			}
			
			el.next('.validation-msg').remove();
			if(errors > 0){
				el.addClass('error');
				
				if(valtype == 'outline'){
					el.after('<div class="validation-msg"><ul class="list">'+ error_msg +'</ul><div class="validation-bottom"></div></div>');
					el.next('.validation-msg').show();
					el.next('.validation-msg').mouseleave(function(){
						if(!$.browser.msie){
							$(this).fadeOut(function(){
								$(this).remove();
							});
						}else{
							$(this).remove();
						}
					});
				}
			
				return 1;
			}else{
				el.removeClass('error');
				return 0;
			}
			
		}
		
	});
	
	$.widget('ui.customeraddress', {
		options: {
			popupcont: '.new-address',
			actionedit: '.action-links .edit',
			actionnew: '.action-links .add-new-address a',
			addressupdate: '.address-list',
			addressselect: '.address-selector'
		},
		_create: function() {
			var obj = this;
			var parent = this.element;
			var actionedit = this.options.actionedit;
			var addressupdate = this.options.addressupdate;
			var popupcont = this.options.popupcont;
			var addressselect = this.options.addressselect;
			var actionnew = this.options.actionnew;
			var $button;
			
			/**
			 * edit Returning customer address
			 */
			this.element.find(actionedit).live('click', function() {
				$button = $(this);
				var editid = $button.attr('rel');
				
				$.ajax({
					type: 'POST',
					url: '/account/address',
					data: $.param({ addressid: editid, newaddress: 'get' }),
					success: function(data) {
						var json = $.parseJSON(data);
						
						$(popupcont).find('form input[name="first-name"]').val(json['first_name']);
						$(popupcont).find('form input[name="last-name"]').val(json['last_name']);
						$(popupcont).find('form input[name="address1"]').val(json['address1']);
						$(popupcont).find('form input[name="address2"]').val(json['address2']);
						$(popupcont).find('form input[name="city"]').val(json['city']);
						$(popupcont).find('form input[name="country-state"]').val(json['county']);
						$(popupcont).find('form input[name="postcode"]').val(json['postcode']);
						$(popupcont).find('form input[name="phonenumber"]').val(json['home_no']);
						$(popupcont).find('form select[name="country"]').val(json['country']);
						
						$(popupcont).find('form input[name="newaddress"]').val('update');
						$(popupcont).find('form input[name="itemid"]').val(editid);
						$(popupcont).find('form .continue').removeClass('continue').addClass('save');
						$(popupcont).center();
						$(popupcont).show();
						
						$(popupcont).find('form ul .save').unbind().bind('click',function(){
							var formdata = $(this).closest('form').serialize();
							$(this).closest('form').validation({validate: 'validate'});
							
							if($(this).closest('form').hasClass('validated')){
								$.ajax({
									type: 'POST',
									url: '/account/address',
									data: formdata,
									success: function(data) {
										json = $.parseJSON(data);
										$('.billing-address .address-selector option[value="'+json['id']+'"]').text(json['title']);
										$('.delivery-address .address-selector option[value="'+json['id']+'"]').text(json['title']);
										
										if($('.billing-address .action-links .edit').attr('rel') == $('.delivery-address .action-links .edit').attr('rel')){
											$('.billing-address .address-selector').change();
											$('.delivery-address .address-selector').change();
										}else{
											$button.closest('.action-links').parent().find('.address-selector').change();
										}
										$(popupcont).fadeOut(function(){
											$(this).find('form').removeClass('validated');
										});
									}
								});
							}
						});
						$(popupcont).find('.cancel, .overlay').click(function(){
							$(popupcont).fadeOut(function(){
								$(this).find('form').removeClass('validated');
								$(this).find('form .validation-msg').remove();
							});
						});
					}
					
				});
				
			});
			
			/**
			 * new Returning customer address
			 */
			this.element.find(actionnew).live('click', function() {
				$button = $(this);
				
				$(popupcont).find('form input').val('');
				$(popupcont).find('form textarea').val('');
				$(popupcont).find('form input[name="newaddress"]').val('new');
				$(popupcont).find('form input[name="itemid"]').val('0');
				$(popupcont).find('form input[name="itemid"]').val('');
				$(popupcont).find('form .save').removeClass('save').addClass('continue');
				$(popupcont).center();
				$(popupcont).show();
				$(popupcont).find('.cancel, .overlay').click(function(){
					$(popupcont).fadeOut(function(){
						$(this).find('form').removeClass('validated');
						$(this).find('form .validation-msg').remove();
					});
				});
				
				$(popupcont).find('form ul .continue').unbind().bind('click',function(){
					var type = $button.closest('.action-links').parents('.address-block').attr('title');
					$(this).closest('form').find('input[name="type"]').val(type);
					$(this).closest('form').validation({validate: 'validate'});
					
					if($(this).closest('form').hasClass('validated')){
						var formdata = $(this).closest('form').serialize();
						$.ajax({
							type: 'POST',
							url: '/account/address',
							data: formdata,
							success: function(data) {
								json = $.parseJSON(data);
								
								var option = '<option value="'+json['id']+'">'+json['title']+'</option>';
								$button.closest('.regist-addr').find('.address-selector').append(option);
								$button.closest('.action-links').parent().find('.address-selector').val(json['id']);
								$button.closest('.action-links').parent().find('.address-selector').change();
								$(popupcont).fadeOut(function(){
									$(this).find('form').removeClass('validated');
								});
							}
						});
					}
				});				
			});
			
			this.element.find(addressselect).live('change', function() {
				var selector = $(this);
				var addressid = $(this).val();
				var type = $(this).parents('.address-block').attr('title');
				
				$.ajax({
					type: 'POST',
					url: '/account/address',
					data: $.param({ addressid: addressid, newaddress: 'get', type: type }),
					success: function(data) {
						var json = $.parseJSON(data);
						var html = '<li id="'+addressid+'"><strong>'+json['first_name']+' '+json['last_name']+'</strong></li><li>'+json['address1']+'</li><li>'+json['address2'];
						if(json['address2'].length > 0){
							html += ', ';
						}
						html += json['city']+'</li><li>'+json['county']+', '+json['postcode']+'</li><li>'+json['country']+'</li><li><strong>Phone:</strong> '+json['home_no']+'</li>';						
						selector.next(addressupdate).html(html);
						selector.parent().find(actionedit).attr('rel',addressid);
					}
				});
			});
			
		}
		
	});
	
	$.widget('ui.helperValue', {
		_init: function() {
			var obj = this;
			var parent = this.element;
			
			parent.val(parent.attr('title'));
			parent.focus(function(){
				if($(this).val() == $(this).attr('title')){ $(this).val(''); }
			});
			parent.blur(function(){
				if($(this).val() == ''){ $(this).val($(this).attr('title')); }
			});
			
		}
		
	});
	
	$.widget('ui.csvtooltip', {
		_create: function() {
			var obj = this;
			var parent = this.element;
			var tooltip = this.element.attr('rel');
			
			parent.click(function(){
				var offset = $(this).offset();
				$(tooltip).css('left',offset.left+30);
				$(tooltip).css('top',offset.top-230);
				if(!$.browser.msie){
					$(tooltip).stop(true,true).fadeIn('normal',function(){
						$(this).css('opacity','1');
					});
				}else{
					$(tooltip).stop(true,true).show();
					$(this).css('opacity','1');
				}
			});
			
			$(tooltip).mouseover(function(){
				$(this).stop(true,true).show();
			});
			$(tooltip).mouseout(function(){
				if(!$.browser.msie){
					$(this).delay(800).fadeOut(1000);
				}else{
					$(this).hide();
				}
			});
			$(tooltip).find('.close').click(function(){
				$(tooltip).hide();
			});
			
		}
		
	});
	
	function setCookie(c_name,value,expiredays)
	{
		var exdate=new Date();
		exdate.setDate(exdate.getDate()+expiredays);
		document.cookie=c_name+ "=" +escape(value)+
		((expiredays==null) ? "" : ";expires="+exdate.toUTCString());
	}
	
	function getCookie(c_name)
	{
		if (document.cookie.length>0)
		  {
		  c_start=document.cookie.indexOf(c_name + "=");
		  if (c_start!=-1)
			{
			c_start=c_start + c_name.length+1;
			c_end=document.cookie.indexOf(";",c_start);
			if (c_end==-1) c_end=document.cookie.length;
			return unescape(document.cookie.substring(c_start,c_end));
			}
		  }
		return "";
	}
	
	$.widget('ui.ajaxform', {
		options: {
			reqclass: '',
			type: 'POST'
		},
		
		_create: function() {
			var obj = this;
			var parent = this.element;
			var reqclass = this.options.reqclass;
			
			parent.submit(function(){
				if(reqclass.length > 0){
					if(parent.hasClass(reqclass)){
						obj.sendout();
					}
				}else{
					obj.sendout();
				}
				return false;
			});
		},
		
		sendout: function(){
			var formdata = this.element.serialize();
			var callback = this.options.change;
			var type = this.options.type;
			var address = this.options.address;
			
			$.ajax({
				type: type,
				url: address,
				data: formdata,
				success: function(data) {
					if ($.isFunction(callback)) callback(data); 
				}
			});
		}
		
	});
	
	$.widget('ui.promohelper', {
		options: {
			firsthelper: '.promo-first-helper-popup',
			secondhelper: '.promo-second-helper-popup',
			thirdhelper: '.promo-third-helper-popup',
			overlay: '.promo-helper-overlay'
		},
		
		_create: function() {
			var obj = this;
			var firsthelper = this.options.firsthelper;
			var secondhelper = this.options.secondhelper;
			var thirdhelper = this.options.thirdhelper;
			var overlay = this.options.overlay;
			
			this.element.find('.need-some-help a').click(function() {
				var button = $(this);
				var firstwidth = obj.element.find('.promo-code-cont .promotionalcode').width();
				var secondwidth = $(secondhelper).height();
				var thirdwidth = $(thirdhelper).width();
				var thirdcontheight = obj.element.find('.mini-cart .checkout-button').height();
				
				$(firsthelper).css('left', (obj.element.find('.promo-code-cont .promotionalcode').offset().left+(firstwidth/2)) + 'px').css('top', (obj.element.find('.promo-code-cont .promotionalcode').offset().top - $(firsthelper).height()) + 'px').fadeIn();
				$(secondhelper).css('left', obj.element.find('.delivery-row').offset().left + 'px').css('top', (obj.element.find('.delivery-row').offset().top + (secondwidth/6)) + 'px').fadeIn();
				$(thirdhelper).css('left', (obj.element.find('.mini-cart .checkout-button').offset().left - (thirdwidth/4)) + 'px').css('top', (obj.element.find('.mini-cart .checkout-button').offset().top + (thirdcontheight/2)) + 'px').fadeIn();
				
				$(overlay).fadeIn();
			});
			
			$(overlay).click(function() {
				obj.hidehelper(firsthelper, secondhelper, thirdhelper, this);
			});
		},
		
		hidehelper: function(firsthelper, secondhelper, thirdhelper, overlay){
			$(firsthelper).hide();
			$(secondhelper).hide();
			$(thirdhelper).hide();
			$(overlay).fadeOut();
		}
		
	});
	
	
	$.widget('ui.promocode', {
		options: {
			submitbutton: '.promo-code-cont form .submit-promotion',
			promocont: '.input-code',
			promocode: '.promotionalcode'
		},
		
		_create: function() {
			var obj = this;
			var submitbutton = this.options.submitbutton;
			var promoinput = this.options.promocont;
			var promoval = this.options.promocode;
			var url = this.options.url;
			var $subelement = $('.subtotal-update');
			var $totalelement = $('.total-update');
			var $basketitem = $('.baskettotal-update');
			
			$('.promo-code-cont').find('form').submit(function(){
				$(submitbutton).click();
				return false;
			});
			
			$(submitbutton).click(function() {
				if(!$(this).hasClass('submiting')){
					$(this).addClass('submiting');
					var clickcont = $(this);
					var promocont = $(clickcont).parents('form').find(promoinput);
					var promocode = $(clickcont).parents('form').find(promoval).val();
					var promotitle = $(clickcont).parents('form').find(promoval).attr('title');
					
					if(promocode.length > 1 && promocode != promotitle){
						$('.promo-validation-proc .promo-conde-invalid').hide();
						$('.promo-validation-proc').show();
						$('.promo-validation-proc .overlay').show();
						$('.promo-validation-proc .promo-loader img').show();
						$.ajax({
							type: 'POST',
							url: url,
							data: $.param({ promocode: promocode }),
							success: function(data) {
								var json = $.parseJSON(data);
								
								switch(json['status']){
									case 'fail':
										$('.promo-validation-proc .promo-conde-invalid').show();
										$('.promo-validation-proc .promo-close a').show();
										$('.promo-validation-proc .promo-loader img').fadeOut();
										$('.promo-validation-proc .promo-valid-text').addClass('promo-valid-error');
										$('.promo-validation-proc .promo-valid-text').html('Promotion doesn\'t exist');
										if(!$(promocont).hasClass('wrong-promotion')){
											$(promocont).addClass('wrong-promotion');
										}
										break;
									case 'success':
										$('#delivery-total .discount-row').find('.right-cell span').html(json['discount']);
										if(json['summary']['discount_code'].length > 1){
											$('#delivery-total .discount-row').find('.cell span').html('('+json['summary']['discount_code']+')');
										}else{
											$('#delivery-total .discount-row').find('.cell span').html('');
										}
										obj.update(json);
										obj.animatebackcont($subelement, $totalelement, $basketitem);
										$(clickcont).parents('form').find(promoval).val(promotitle);
										$(promocont).removeClass('wrong-promotion');
										$(promocont).addClass('verified-promotion');
										
										$('.promo-validation-proc .promo-loader img').fadeOut(600, function(){
											obj.closeValidation();
										});
										break;
								}
								
								$(clickcont).removeClass('submiting');
							}
						
						});
					}else{
						$(promocont).addClass('wrong-promotion');
						$(clickcont).removeClass('submiting');
					}
				}
			});
			
			$('.promo-validation-proc .promo-close a').live('click', function(){
				obj.closeValidation();
			});
		},
		
		closeValidation: function(){
			$('.promo-validation-proc .overlay').hide();
			$('.promo-validation-proc').fadeOut(function(){
				$('.promo-validation-proc .promo-valid-text').html('Checking Promotion...');
			});
			$('.promo-validation-proc .promo-close a').hide();
			$('.promo-validation-proc .promo-valid-text').removeClass('promo-valid-error');
			
		},
		
		update: function(json){
			if(parseInt(json['discount']) > 0 && $('#delivery-total .discount-row').is(':hidden')){
				$('#delivery-total .discount-row').slideDown();
			}else if(parseInt(json['discount']) == 0){
				$('#delivery-total .discount-row').hide();
			}
			$('.shopping-bag a span').html(json['itemcount']);
			$('.contains-items').html(json['itemcount']);
			$('.mini-cart .small-basket-total').html(json['total']);
			$('#delivery-total .total-row span').html(json['total']);
			$('.subtotal-container .stotal span').html(json['subtotal']);
			$('#delivery-total').find('.delivery-price a#'+json['did']).html('&pound;'+json['delamount']);
			$('.deliv-summary .del-item-price strong').html('&pound;'+json['delamount']);
			$('#delivery-total .discount-row').find('.right-cell span').html(json['discount']);
			if(json['discount'].length > 0){
				$('.deliv-summary .del-item-desc span').html(json['promotion']['delDesc']);
			}else{
				$('.deliv-summary .del-item-desc span').html(json['summary']['delivery']);
			}
		},
		
		animatebackcont: function($subelement, $totalelement, $basketitem){
			$subelement.css('backgroundColor', '').stop().animate({ 'backgroundColor': '#bde8ff' }, 1000, function() {
				$subelement.css('backgroundColor', '#bde8ff').animate({ 'backgroundColor': '#ffffff' }, 1000);
			});
			$totalelement.css('backgroundColor', '').stop(true).animate({ 'backgroundColor': '#bde8ff' }, 1000, function() {
				$totalelement.animate({ 'backgroundColor': '#' + 'fff' }, 1000);
			});
			$basketitem.css('backgroundColor', '').stop(true).animate({ 'backgroundColor': '#bde8ff' }, 1000, function() {
				$basketitem.animate({ 'backgroundColor': '#' + 'F7F7F7' }, 1000);
			});
		}
		
	});
	
	$.widget('ui.feedbackSlider', {

		_create: function() {
			var obj = this;
			var parent = this.element;
			
			parent.find('.feedback-handle').click(function(){
				var button = $(this);
				if(!button.hasClass('working')){
					button.addClass('working');
					
					if(parent.css('right') == '0px'){
						parent.animate({right : '-=320'}, 1000, function(){
							button.removeClass('working');
						});
					}else{
						parent.animate({right : '+=320'}, 1000, function(){
							button.removeClass('working');
						});
					}
				}
			});
			
			parent.find('.feedback-form textarea').keydown(function(){
				$(this).removeClass('error');
				var string = $(this).val();
				if(string.length > 500){
					var newStr = string.substring(0, string.length-1);
					$(this).val(newStr);
				}
			});

			parent.find('.close-button').click(function(){
				var button = parent.find('.feedback-handle');
				if(!button.hasClass('working')){
					button.addClass('working');
					
					parent.animate({right : '-=320'}, 1000, function(){	
						$('.feedback-slider .feedback-thankyou').hide();
						$('.feedback-slider .feedback-form').show();
						button.removeClass('working');
					});
				}
			});

			parent.find('.more-feedback').click(function(){
				$('.feedback-slider .feedback-thankyou').hide();
				$('.feedback-slider .feedback-form').fadeIn();
			});

		}
		
	});
	
	$.widget('ui.recentlyViewed', {
		_create: function() {
			var obj = this;
			var parent = this.element;
			var container = parent.find('.box');
			
			container.find('.item').live('mouseenter mouseleave', function(event) {
				if (event.type == 'mouseenter') {
					if(!$.browser.msie){
						$(this).find('.pr-desc-cont').show();
						$(this).find('.pr-desc-cont .pr-desc-overlay').stop(false, true).fadeIn();
						$(this).find('.pr-desc-cont .descr-cont').stop(false, true).fadeIn();
					}else{
						$(this).find('.pr-desc-cont').show();
						$(this).find('.pr-desc-cont .descr-cont').show();
						$(this).find('.pr-desc-cont .pr-desc-overlay').show();
					}
				} else {
					$(this).find('.pr-desc-cont').hide();
					$(this).find('.pr-desc-cont .descr-cont').hide();
					$(this).find('.pr-desc-cont .pr-desc-overlay').hide();
				}
			});
			
			container.find('.item .pr-desc-cont').live('click', function(){
				window.location = $(this).find('.recent-link').attr('href');
			});
			
			container.find('.item .remove-cont a').live('click', function(){
				var element = $(this).closest('.item');
				var id = $(this).attr('rel');
				$.ajax({
					type: 'POST',
					url: '/products/unset-recent-item',
					data: $.param({ remove: id }),
					success: function(data) {
						if(data == 'ok'){
							element.fadeTo(200, 0, function(){
								element.animate({width:0}, 400, function(){
									element.remove();
								});
							});
						}
					}
				
				});
				
			});
		}
		
	});
	
	$.widget('ui.homePageRotator', {
		options: {
			image: '.image'
		},
		_create: function() {
			var obj = this;
			var parent = this.element;
			var image = this.options.image;
			
			var images = parent.find(image);
			var counter = 0;

			$(images).hide();
			$(images[0]).show();
			
			if(images.length > 1){
				var refreshIntervalId = setInterval(function() {
					$(images[counter]).stop(true,true).fadeOut('slow');
					
					counter++;
					if (counter == images.length) {
						counter = 0;
					}
					$(images[counter]).stop(true,true).fadeIn(1000);
					
				}, 5000);
				
				images.mouseenter(function(){
					clearInterval(refreshIntervalId);
				});
				images.mouseleave(function(){
					refreshIntervalId = setInterval(function() {
						$(images[counter]).stop(true,true).fadeOut('slow');
						
						counter++;
						if (counter == images.length) {
							counter = 0;
						}
						$(images[counter]).stop(true,true).fadeIn(1000);
						
					}, 5000);
				});
			}
		}
		
	});
	
	$.widget('ui.dropDownList', {
		_create: function() {
			var obj = this;
			var parent = this.element;
			
			parent.find('.select-header').click(function(){
				if(parent.find('.size-selection-list').is(':visible')){
					parent.find('.size-selection-list').stop(true, true).slideUp();
				}else{
					parent.find('.size-selection-list').stop(true, true).slideDown();
				}
			});
			
			parent.find('.size-selection-list a').click(function(){
				if(!$(this).parent().hasClass('out-of-stock')){
					$(this).closest('.size-selection-dropdown').find('.select-header').html($(this).html());
					$('.helper-info').hide();
					$(this).closest('.size-selection-dropdown').find('.size-selection-list').stop(true, true).slideUp();
				}
			});
			
			$('body').click(function(event){
				if($(event.target).closest('.size-selection-dropdown').length == 0){
					parent.find('.size-selection-list').stop(true, true).slideUp();
				}
			});
		}
		
	});
	
jQuery.fn.globalcenter = function () {
	var popup = this;
	if ($.browser.msie){
		popup.css('left','0px');
		popup.css('top','0px');
	}
	
	popup.find('.content').css("margin-left", "0");
	popup.find('.content').css("margin-top", "0");
	popup.css({ position: "absolute", visibility: "hidden", display: "block" });
	popup.find('.content').css("left", ( $(window).width() - popup.find('.content').width() ) / 2 + "px");
	popup.find('.content').css("top", ( $(window).height() - popup.find('.content').height() ) / 2 + "px");
	
	popup.css({ position: "", visibility: "", display: "" });
	
    return this;
}

jQuery.fn.center = function () {
	var popup = this;
	if ($.browser.msie){
		popup.css('left','0px');
		popup.css('top','0px');
	}
	
	popup.find('.content').css("margin-left", "0");
	popup.find('.content').css("margin-top", "0");
	popup.css({ position: "absolute", visibility: "hidden", display: "block" });
	popup.find('.content').css("left", ( $(window).width() - popup.find('.content').width() ) / 2 + "px");
	popup.find('.content').css("top", ( $(window).height() - popup.find('.content').height() ) / 2 + "px");
	
	popup.css({ position: "", visibility: "", display: "" });
	
    return this;
}

	
$().ready(function() {

	//$('.press-inner .product').basketaction();
	
	$('.product-box').productScroller();
	$('.gallery-container .thumbnails').productScroller();
	$('.great-with .thumbnails').productScroller();
	$('.recently-viewd-container .box').productScroller();
	$('.recently-viewd-container').recentlyViewed();
	
	$('.color-select .c-select').click(function() {
		if($('.color-select .select-colour-list').is(':hidden')){
			$('#coloroverlay').show();
			$('.color-select .select-colour-list').slideDown(400);
		}else{
			$('#coloroverlay').hide();
			$('.color-select .select-colour-list').slideUp(400);
		}
	});
	$('#coloroverlay').live('click', function() {
		$(this).hide();
		$('.color-select .select-colour-list').slideUp(400);
	});
	
	$('.navigation-list li').live('mouseover mouseout', function(event) {
		if (event.type == 'mouseover') {
			$(this).addClass('hover');
		} else {
			$(this).removeClass('hover');
		}
	});
	$('.left-container .collections h2').click(function(){
		if($(this).parent('.collections').find('ul').is(':visible')){
			$(this).parent('.collections').find('ul').stop(true, true).slideUp();
		}else{
			$(this).parent('.collections').find('ul:first').stop(true, true).slideDown();
		}
	});
	$('.color-select .select-colour-list li').hover(
		function() { $(this).addClass('hover'); },
		function() { $(this).removeClass('hover'); }
	);
	$('.past-orders .tbl-po li').hover(
		function() { $(this).addClass('hover'); },
		function() { $(this).removeClass('hover'); }
	);
	
	$(".tab-container").tabs();
	
	$('.basket-container').basketpageaction();
	$('#delivery-total').deliveryupdate();
	
	$('.co-address-box .ship-to .radio').live('click', function() {
		switch($(this).val()){
			case 'billing':
				$('.co-address-box .deliv-addr').hide();
				$('.co-address-box .bill-addr .action').show();
				break;
			case 'other':
				$('.co-address-box .deliv-addr').show();
				$('.co-address-box .bill-addr .action').hide();
				break;
		}
	});
	
	$('.popup-register .close-button a').click(function() {
		$button = $(this);
		$button.parents('.popup-register').find('.register-popup').fadeOut(300);
		$button.parents('.popup-register').find('#overlay').fadeOut(600, function(){
			$button.parents('.popup-register').hide();
		});
		
	});
	
	$('.payment-page .submit-secure-payment').click(function() {
		$('.payment-form').validation({validate : 'validate'});
		if($('.payment-form').hasClass('validated')){
			$('.popup-processing').globalcenter();
			$('.content-container .header-image').css('visibility', 'hidden');
			$('.content-container .checkout-nav-cont').css('visibility', 'hidden');
			$('.content-container .payment-page').css('visibility', 'hidden');
			//$('.processing-wrapper').show();
			$('.popup-processing').show();
		}
	});
	
	$('.account-right-side .address-list').archiveaddress({ url: '/account/address-book/archive' });
	
	$('.navigation .search').ajaxsearch();
	
	$('.secured .content a').click(function(){
		$.ajax({
			type: 'POST',
			url: '/page/request',
			data: 'seo=privacy-security',
			success: function(data) {
				my_window= window.open("", "mywindow1","status=1,width=900,height=650,scrollbars=yes");
				my_window.document.write('<html><head><style>a{color:#FB64B1;}</style></head><body>'+data+'</body></html>');
				my_window.document.getElementsByTagName('body')[0].style.fontFamily = 'Arial';
				my_window.document.getElementsByTagName('body')[0].style.fontSize = '12px';
			}
		});
		return false;
	});

	var $cart = $('#mini-cart');
	if ($cart.length > 0) {
	  $cart.data('limit', $cart.position().top);

	  if (!($.browser.msie && $.browser.version < 7)) $cart.css('position', 'fixed');
	  
	  $(window).scroll(function() {
		 var $offset;
		 var $scroll;

		 $offset = $cart.data('limit');
		 $offset = 151;
		 
		 $scroll = $(window).scrollTop();
		 if ($cart.css('position') == 'fixed') {
			$cart.css('top', Math.max(15, (-$scroll + $offset)) + 'px');
		 }
		 else {
			$cart.css('margin-top', Math.max(15, ($scroll - $offset)) + 'px');
		 }
	  }).trigger('scroll');
	}
	
	var $signup_form = $('.confirmation-page .one-third');
	if ($signup_form.length > 0) {
		$signup_form.data('limit', $signup_form.offset().top);

		if (!($.browser.msie && $.browser.version < 7)) $signup_form.css('position', 'fixed');
	  
		$(window).scroll(function() {
			var $offset;
			var $scroll;
			$offset = 163;
			$scroll = $(window).scrollTop();
			if ($signup_form.css('position') == 'fixed') {
				$signup_form.css('top', Math.max(15, (-$scroll + $offset)) + 'px');
			}else {
				$signup_form.css('margin-top', Math.max(15, ($scroll - $offset)) + 'px');
			}
		}).trigger('scroll');
	}
	
	var $payment_page = $('.payment-page .one-third');
	if ($payment_page.length > 0) {
		$payment_page.data('limit', $payment_page.offset().top);

		if (!($.browser.msie && $.browser.version < 7)) $payment_page.css('position', 'fixed');
	  
		$(window).scroll(function() {
			var $offset;
			var $scroll;

			$offset = $payment_page.data('limit');
			if($('.payment-fail').height() != null){
				$offset = 149+($('.payment-fail').height()+30);
			}else{
				$offset = 149;
			}
		 
			$scroll = $(window).scrollTop();
			if ($payment_page.css('position') == 'fixed') {
				$payment_page.css('top', Math.max(15, (-$scroll + $offset)) + 'px');
			}else {
				$payment_page.css('margin-top', Math.max(15, ($scroll - $offset)) + 'px');
			}
		}).trigger('scroll');
	}

	$('.payment-form .csv-example').csvtooltip();
	
	$('.content .return-cust-add').customeraddress();
	$('.new-address-popup form').validation();
	$('.return-cust form').validation();
	$('.new-cust form').validation();
	$('.payment-page .payment-form').validation();
	$('.contact-form form').validation();
	$('.email-signup-style-page form').validation();
	$('.contact-form form').ajaxform({address:'/page/email', reqclass:'validated', change: function(data){
		if(data == 'success'){
			$('.contact-form form input[type="text"]').val('');
			$('.contact-form form textarea').val('');
			if(!$.browser.msie){
				$('.popup-thankyou-contact').fadeIn().delay(2000).fadeOut();
				$('.popup-thankyou-contact').find('.close-button a, .overlay').click(function(){
					$('.popup-thankyou-contact').fadeOut();
				});
			}else{
				$('.popup-thankyou-contact').show().delay(2000).hide();	
				$('.popup-thankyou-contact').find('.close-button a, .overlay').click(function(){
					$('.popup-thankyou-contact').hide();
				});		
			}
		}
	}});
	
	$('.popup-button').popup();
	//$('.free-downloads-style-page').downloadpopup();
	$('.request-pass').popup({ closebutton: '.retrieve-btn .cancel'});
	$('.email-basket').validation();
	$('.email-basket .send').click(function(){
		$('.email-basket').submit();
	});
	
	
	$('.cat-product-container').sliderwidget({ container: '.category-scroller', item: '.item', handler: '.scroll-handler', itemcount: 4 });
	$('.prod-container .product').productAction({ countcont: '.item-count', additem: '.add', subtract: '.subtract', quntity: 'span', amount: '.item-price', url: '/products/manage' });
	
	$('.helper-info').mouseover(function() {
		$(this).unbind('mouseover');
		$('.helper-popup, .helper-info').delay(500).fadeOut(function() { $(this).hide(); });
  	});
	
	$('.helper-info').mouseover(function() {
		$(this).unbind('mouseover');
		$('.helper-popup2, .helper-info').delay(500).fadeOut(function() { $(this).hide(); });
  	});

   $('.helper-popup .close, .helper-popup .cancel, .helper-info .close').click(function(event) {
		event.preventDefault();
		$('.helper-info').fadeOut(function() { $(this).hide(); });
   });
   
	$('.communicate .mailing-list .form-field-container input').helperValue();
	$('.search .search-bar').helperValue();
	$('.discount-signup-form .discount-signup-input input').helperValue();
	$('.basket-container .promo-code-cont .promotionalcode').helperValue();
	$('.communicate .mailing-list form').validation({ valtype : 'inline' });
	$('.discount-signup-form form').validation({ valtype : 'inline' });
	$('.co-details-box form').validation();
	$('.co-address-box form').validation();
	$('.new-acc-form form').validation();
	$('.login-form form').validation();
	$('.email-signup-style-page .left .signup-form').validation();
	$('.email-signup-style-page .left .signup-form').ajaxform({ address:'/email-signup/sendemail', reqclass:'validated', change: function(data){
		if(data == 'success'){
			window.location = "/email-signup/thank-you";
		}else{
			$('.email-signup-style-page .signup-list input[name="email"]').after('<div class="validation-msg" style="display: block;"><ul class="list"><li class="entry">This email has already been used!</li></ul><div class="validation-bottom"></div></div>');
		}
	}});
	
	$('.content .left .signup-form').ajaxform({address:'/email-signup/sendemail', reqclass:'validated', change: function(data){
		console.log(data);
		if(data == 'success'){
			window.location = "/email-signup/thank-you";
		}else{
			$('.content .left .signup-form input[name="email"]').addClass('error').val('This email has already been registered!');
		}
	}});
	
	$('.communicate .mailing-list form').ajaxform({address:'/email-signup/sendemail', reqclass:'validated', change: function(data){
		console.log(data);
		if(data == 'success'){
			window.location = "/email-signup/thank-you";
		}else{
			$('.communicate .mailing-list form input[name="search"]').addClass('error').val('This email has already been registered!');
		}
	}});
	
	$('.discount-signup-form form').ajaxform({address:'/email-signup/sendemail', reqclass:'validated', change: function(data){
		console.log(data);
		if(data == 'success'){
			window.location = "/email-signup/thank-you";
		}else{
			$('.discount-signup-form form input[name="search"]').addClass('error').val('This email has already been registered!');
		}
	}});
   
	$('.login-form form').submit(function(){
		
		if($(this).hasClass('validated')){
			var formdata = $(this).serialize();
			var form = $(this);
			
			$.ajax({
				type: 'POST',
				url: '/account/userlogin',
				data: formdata,
				success: function(data) {
					switch(data){
						case 'success':
							window.location = "/account";
							break;
						case 'basket':
							var html = "<a title=\"My Account\" href=\"/account\">My Account</a><a href=\"/account/logout\" class=\"logout-link\">&nbsp;(Logout)</a>";
							$('.customer-nav').find('.account-section').html(html);
							$('.basket-container .promo-code').fadeOut(200, function(){
								$('.basket-container .promo-code-cont').fadeIn();
							});
							$(form).parents('.popup-login').fadeOut(400);
							break;
						case 'custom-hand-bag':
							window.location.reload();
							break;
						case 'false':
							$('.popup-login').find('.error-msg').stop(true,true).fadeIn();
							break;
					}
				}
			
			});
		
			return false;
		}
	});
	
	$('.new-acc-form form .sign-me-up').click(function(){
		$('.new-acc-form form').submit();
	});
    $('.new-acc-form form').submit(function(){
		if($(this).hasClass('validated')){
			var formdata = $(this).serialize();
			var email = $(this).find('input[name="email"]').val();
			var pass = $(this).find('input[name="pass1"]').val();
			
			$.ajax({
				type: 'POST',
				url: '/account/userregister',
				data: formdata,
				success: function(data) {
					if(data == 'success'){
						window.location = "/account"
					}else{
						$('.new-acc-popup .popup-error-message').remove();
						$('.new-acc-form').before('<div class="popup-error-message">This email has already been used to register an account or your passwords do not match. Please check and try again.</div>');
						$('.new-acc-popup .popup-error-message').fadeIn(3000, function(){
							$(this).delay(2000).fadeOut(3000,function(){
								$(this).remove();
							});
						});
					}
				}
			
			});
		
			return false;
		}
	});
	
	$('.pwd-retrieve-popup .retrieve-submit').click(function() {
		var formcont = $(this).parents('form');
		var formdata = $(formcont).serialize();
		
		formcont.validation({validate: 'validate'});
		
		if(formcont.hasClass('validated')){
			$.ajax({
				type: 'POST',
				url: '/reset/email',
				data: formdata,
				success: function(data) {
					$('.pwd-retrieve-popup .valmsg:hidden').slideDown();
					$('.pwd-retrieve-popup .pwd-content').stop(true,true).fadeOut(function(){
						$('.pwd-retrieve-popup .close-button').fadeIn();
					});
				}
			
			});
		}
	});
	$('.pwd-retrieve-popup form').submit(function() {
		$('.pwd-retrieve-popup .retrieve-submit').click();
		return false;
	});
	
	$('.confirmation-page .checkout-register-form .create-acc-btn a').click(function() {
		var validform = $(this);
		$(validform).parents('.checkout-register-form').validation({validate : 'validate'});
		if($(validform).parents('.checkout-register-form').hasClass('validated')){
			var formdata = $(validform).parents('.checkout-register-form').serialize();
			
			$.ajax({
				type: 'POST',
				url: '/account/order-account-create',
				data: formdata,
				success: function(data) {
					var json = $.parseJSON(data);
					switch(json[0]){
						case 'success':
							$('.confirmation-page .register-left').fadeOut(400, function() {
								var html = "<div class=\"created-acc-success\"><h1 class=\"account-success\" title=\"Account Created Successfully\">Account Created Successfully</h1></div><div class=\"info\">We have sent you an email confirming your account details. You can also manage  your account using the link below.</div>";
								$('.confirmation-page .register-left').html(html);

								var link = $(validform).parents('.checkout-register-form').find('.create-acc-btn');
								link.html('<a title="My Account" href="/account">My Account</a>');
								link.addClass('link-home');
								link.removeClass('create-acc-btn');
							});
							$('.confirmation-page .register-left').fadeIn(400);
							
							break;
						case 'fail1':
							alert('Sorry your Passwords don\'t match');
							break;
						case 'fail2':
							alert('Password has to be at least 6 characters long');
							break;
						case 'fail3':
							alert('Account already exists');
							break;
					}
				}
				
			});
		}
	});
	
	$('.large-splash').homePageRotator();
	
	
	$('.basket-container').promocode({ submitbutton: '.promo-code-cont form .submit-promotion', promocont: '.input-code', promocode: '.promotionalcode', url: '/basket/promocode' });
	
	$('.basket-container').promohelper();
	
	$('.size-selection .size-select-action').change(function(){
		var itemdet = $(this).val();
		var maincont = $('.prod-container .basket-actions');
		var itemprice = $(maincont).find('.item-price').attr('rel');
		$(maincont).find('.add-to-basket').attr('rel', itemdet);
		$(maincont).find('.item-count .subtract').attr('rel', $(this).val());
		$(maincont).find('.item-count .subtract').addClass('disabled');
		$(maincont).find('.item-count .add').attr('rel', $(this).val());
		$(maincont).find('.item-count .add').removeClass('disabled');
		$(maincont).find('.item-count span').html('1');
		
		$(maincont).find('.item-price').html('&pound;'+itemprice);
	});
	
	$('.feedback-slider').feedbackSlider();
	$('.feedback-slider .feedback-list textarea').helperValue();
	$('.feedback-slider .feedback-form').validation({valtype: 'inline'});
	$('.feedback-slider .feedback-form').ajaxform({address:'/feedback/send', reqclass:'validated', change: function(data){
		if(data == 'success'){
			$('.feedback-slider .feedback-form').hide();
			$('.feedback-slider .feedback-form input:checkbox').removeAttr('checked');
			$('.feedback-slider .feedback-form textarea').val($('.feedback-slider .feedback-form textarea').attr('title'));
			$('.feedback-slider .feedback-thankyou').fadeIn();
		}
	}});
	
	$('.search .search-bar').attr('autocomplete', 'off');

	$('.validate-form').validation();
	
	$('.product-scroller').productScroller();
	
	$('.color-select-cont .colour-list').change(function(){
		window.location = $(this).val();
	});
	
	$('.select-color-text .sizng-chart').click(function(){
		var size = $(this).parent().find('.sizng-chart-content').attr('rel');
		var container = $('.sizing-chart-box .middle-sizing-header');
		container.html('<img src="'+size+'" />');
	});
	
	$('.sizing-chart-box .close-chart').click(function(){
		$('.sizing-chart-box .overlay').click();
	});

	$('.prod-container .actions .enlarge').click(function(){
		$('#zoom-gallery .viewer .image img').click();
	});
	
	$('.size-selection-dropdown').dropDownList();
	
});

