/**
 * The custom JavaScript used for the added functionality.
 *
 * @author Dan Hensby <dan@betterbrief.co.uk>
 * @author Josh Holloway <josh@betterbrief.co.uk>
 * @version 1.1
 * @copyright 2010 Better Brief LLP
 * 
 */

//Load jQuery
google.load("jquery", "1.4");

// effectively 'on document ready'
google.setOnLoadCallback(function() {
	
	(function($) {
		
		//search text
		var $searchBox = $('#SearchForm_SearchForm_Search');
		if (!$searchBox.val()) {
			$searchBox.val('Search');
		}
		$searchBox.focus(function() {
			if ($searchBox.val() == 'Search') {
				$searchBox.val('');
			}
		}).blur(function() {
			if (!$searchBox.val()) {
				$searchBox.val('Search');
			}
		}).closest('form').submit(function() {
			if ($searchBox.val() == 'Search') {
				return false;
			}
		});
		
		//browse dropdowns
		$('select.jsselect').change(function(){
			var $this = $(this);
			if ($this.val() != 0) {
				window.location = $this.val();
			}
		});
		
		//tabs
		var $tabs = $('ul.tabs');
		if ($tabs.length) {
			$.getScript('/mysite/javascript/jquery.tools.min.js',function() {
				$tabs.tabs("div.panes > div");
			});
		}
		
		//carosel
		var $slider = $('div.featuredProducts');
		if ($slider.length) {
			$.getScript('/mysite/javascript/jquery.tools.min.js',function() {
				$slider.before('<a href="javascript:;" class="prev browse left"></a>').after('<a href="javascript:;" class="next browse right"></a>').scrollable();
			});
		}
		
		//zoomer
		var $zoomArea = $('#ZoomArea');
		if ($zoomArea.length) {
			var $ReferenceName = $('#ReferenceName');
			var zoomDim = $zoomArea.width();
			$zoomImage = $zoomArea.children('img');
			$.getScript('/mysite/javascript/ddpowerzoomer.js',function() {
				$zoomImage.addpowerzoom({magnifiersize:[260, 260]});
			});
			
			//image gallery
			var $images = $('div.moreImages a,div.referencesImages a');
			if ($images.length) {
				$images.click(function() {
					var $this = $(this);
					if ($this.attr('href') != $zoomImage.attr('src').replace('http://' + document.domain + '/','')){
						var caption = $this.children('img').attr('alt');
						$ReferenceName.fadeOut(null,function() {
							$ReferenceName.text(caption).fadeIn();
						});
						$zoomImage.fadeOut(null,function() {
							if (!$this.data('image')) {
								var img = new Image();
								img.src = $this.attr('href');
								$img = $(img);
								$img.load(function() {
									if (img.width >= img.height) {
										var ratio = img.height / img.width;
										var newWidth = zoomDim;
										var newHeight = ratio * zoomDim;
									}
									else {
										var ratio = img.width / img.height;
										var newHeight = zoomDim;
										var newWidth = ratio * zoomDim;
									}
									$zoomImage.attr({
										src: img.src,
										height: newHeight,
										width: newWidth
									}).fadeIn();
								});
								$this.data('image',$img);
							}
							else {
								$this.data('image').load();
							}
						});
					}
					return false;
				});
			}
			
		}
		
		if ($('#StockistHolder').length) {
			var $actionButton = $('#Form_Form_action_doFiltering');
			var $filterDropdown = $('#Form_Form_country');
			var $form = $('#Form_Form');
			var $Stockists = $('#Stockists');
			$actionButton.hide();
			$filterDropdown.change(function() {
				$.ajax({
					data: $form.serialize(),
					error: function(XMLHttpRequest, textStatus, errorThrown) {
					},
					success: function(data) {
						$Stockists.html(data);
						$tabs = $('ul.tabs');
						$.getScript('/mysite/javascript/jquery.tools.min.js',function() {
							$tabs.tabs("div.panes > div");
						});
					},
					type: $form.attr('method'),
					url: $form.attr('action') + '?ajax'
				});
			});
		}
		
	})(jQuery);
	
});

