(function($) {
	
	// If the page loads on the media tab, hide the side nav. (only for products)
	$(document).ready(function() {
		var regexS = /#(.*)/g;
		var regex = new RegExp( regexS );
		tab = regex.exec( window.location.href );
		if (jQuery.isArray( tab ) && tab[0] == '#media' && $('body.products').length > 0 ) {
			$('aside.side_bar').css({'display':'none'});
		}
		
		// Parts quote request form button events
		$('#add-part-btn').click(function() {
			var msgElem = $('#selected-parts-msg');
			var partNumber = $('#add-part-number').val();
			
			if (partNumber != '') {
				$('#selected-parts-list').show();
				var partQty = $('#add-part-qty').val();
				partQty = (partQty == '' || partQty < 1) ? 1 : partQty;
				msgElem.stop(true, true).fadeOut();
				if (partsList.indexOf(partNumber) === -1) {
					$('<tr><td></td><td><input type="text" /></td><td><a href="#" class="remove-part-btn">X</a></td></tr>')
						.find('td:first')
							.html(partNumber + '<input type="hidden" name="part[' + partNumber + '][number]" value="' + partNumber + '"')
						.end()
						.find('input[type="text"]')
							.attr({
								name: 'part[' + partNumber + '][qty]',
								value: partQty
							})
						.end()
						.appendTo($('#selected-parts-list tbody'));
					$('#add-part-number, #add-part-qty').attr('value', '');
					partsList.push(partNumber);
				} else {
					msgElem.html('Part "' + partNumber + '" is already in your list.').stop(true, true).fadeIn();
				}
			} else {
				msgElem.html('You must enter a part number.').stop(true, true).fadeIn();
			}
			return false;
		});
		
		$('.remove-part-btn').live('click', function() {
			partRow = $(this).closest('tr');
			partNumber = partRow.find('input[type="hidden"]').val();
			partIdx = partsList.indexOf(partNumber);
			partsList.splice(partIdx, 1);
			
			partRow.remove();
			return false;
		});
		
	});
	
	$(window).load(function() {
		$('#gallery-widget ul a').click(function() {
			var mediaThumb = $(this).attr('data-thumb-id');
			$('#product_tabs a[href="#media"]').click();
			$('.media #photo_gallery .thumbnail:eq(' + mediaThumb + ') a').click();
			return false;
		});
	});
	
	/**
	 * Axis41 Tabs
	 * Simple tabs for your everyday needs. Requires jQuery History for hashing.
	 * TODO Check if jquery.history methods are avaialble and don't use them if not.
	 */
	$.fn.tabs41 = function(opts) {
		var conf = {
				activeClass: 'active'
			};
			if (opts) { $.extend(conf, opts); }
			
			return this.each(function() {
				var contentsSelector = '';
				var tabs = this;
				$('a', this).each(function() {
					var link = '.' + $(this).attr('href').replace(/^.*#/, '');
					contentsSelector += link + ', ';
				}).click(function(e) {
					$(contentsSelector).hide();
					var url = $(this).attr('href').replace(/^.*#/, '');
					$('.' + url).show();
					$(this).parent().siblings().andSelf().removeClass(conf.activeClass).end().end().addClass(conf.activeClass);
					if ($.history != undefined) {
						$.history.load(url);
					}
				    $(tabs).trigger('tabClicked', [e.currentTarget]);
					return false;
				});
				$(contentsSelector).hide();
				if ($.history != undefined) {
					$.history.init(function(hash) {
						if (hash != '') {
							$('a[href="#' + hash + '"]', tabs).click();
						} else {
							$('a', tabs).first().parent().addClass(conf.activeClass);
							$(contentsSelector).first().show();
							// $('a:first', tabs).click();
						}
					});
				} else {
					$('a', tabs).first().parent().addClass(conf.activeClass);
					$(contentsSelector).first().show();
				}
			});
	};	
	
})(jQuery);


function getParameterByName(name)
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );

  if( results == null )
    return "";
  else
    return decodeURIComponent(results[1].replace(/\+/g, " "));
}
