// ORBEL.com
// Scripts: Finger Stock Gaskets

// URL Hash
function startHash(){
	var hash = window.location.href.slice(window.location.href.indexOf('#') + 1);
	if (hash != ''){
		$('#slider a').filter('#' + hash).trigger('click');
	}
}

// Image Preview
function imagePreview(targets){
	// Mouse Hover
	targets.hover(function(e){
		this.caption = this.title;
		this.title = '';
		var offset = $(this).offset();
		var offsetX = 570 - (parseInt($(this).width() / 2));
		var offsetY = 30;
		$('body').append('<p id="preview"><span>ORBEL Part Number</span>'+ this.caption +'<br /><img src='+ this.href +' alt="'+ this.caption +'" /></p>');
		$('#preview').css('top',(offset.top + offsetY) + 'px').css('left',(offset.left - offsetX) + 'px').show();
    // Mouse Out
	}, function(){
		this.title = this.caption;
		$('#preview').remove();
    });
	// Mouse On
	targets.mousemove(function(e){
		var offset = $(this).offset();
		$('#preview').css('top',(offset.top + offsetY) + 'px').css('left',(offset.left - offsetX) + 'px');
	});
	// Mouse Click
	targets.click(function(){ return false; });
};

$(document).ready(function(){
	// Initial Setup
	$('#slider').mopSlider({'w':660,'h':160,'sldW':620,'btnW':180,'type':'fsg'});
	$('#slider a:first').addClass('selected');
	$('#data div:first').addClass('selected').nextAll().hide();
	$('#current div.details:first').addClass('selected').nextAll().hide();
	$('#current div.mask').hide();
	
	// Slider Items
	$('#slider a').click(function(){
		var $this = $(this);
		var partID = $(this).attr('id');

		// Check Link State
		if ($this.hasClass('selected') || $('div.loading').length > 0){
			return false;
		} else {
			var durationPause = 200;
			var durationIn = $('#data div.selected').height() + 400;
			var durationOut = $('#data div#' + partID).height() + 600;
			
			if (durationIn > 2500){durationIn = 2500}
			else if (durationOut > 2500){durationOut = 2500}
			
			// Slider Links
			$('#slider a.selected').removeClass('selected');
			$this.addClass('selected');
			
			// Slider Tables
			$('#data div').filter('#' + partID).addClass('loading').siblings('div.selected').slideUp(durationIn,function(){
				$('#data div.selected').removeClass('selected').hide()
				.siblings('div.loading').addClass('selected').animate({opacity:1},durationPause).slideDown(durationOut).fadeInFix(1,'linear',function(){
					$('#data div.loading').removeClass('loading');
				 })
			});
			
			// Current Title & Images
			$('#current div').filter('#' + partID).addClass('loading').end()
			.filter('div.selected, div.loading').find('div.mask').fadeInFix(durationIn,'jswing',function(){
				$('#current div.loading').show()
				.siblings('div.selected').removeClass('selected').hide()
				.siblings('div.loading').addClass('selected').removeClass('loading')
				.find('div.mask').fadeOut(durationOut,'jswing');
			});
			
			// Set Preview Targets
			if (partID == 'emi-contact-rings-female'){
				var targets = $('#data').find('#emi-contact-rings-female table tbody td a.preview');
				imagePreview(targets);
				return false;
			} else if (partID == 'emi-contact-rings-male'){
				var targets = $('#data').find('#emi-contact-rings-male table tbody td a.preview');
				imagePreview(targets);
				return false;
			} else {
				return false;
			}
		}
	});
	
	startHash();
});
