/* Alphason JS */

var hovr_a = [];
var hovr_b = [];
var box;
var popxhov = false;
var popyhov = false;
var dbox;
var cInstance = null;
var cppos;
var searchtext = "Search";
var curr_slider = 1;
var max_sliders = 4;

function trigger (carousel, state) {
	var frame = carousel.first;

	// This fixes a bug in circular wrap
	if (frame>carousel.options.size) {
		frame = 1;
		carousel.scroll(frame);
	}

	$('.jcarousel-control a img').attr('src','img/bullet.png');
	$('.jcarousel-control a[rel='+frame+'] img').attr('src','img/bullet-sel.png');

	//var frame = jQuery.jcarousel.intval(jQuery(this).attr('rel'));
				$('#scroll-bg').removeClass('slider'+curr_slider);
				//alert('frame is '+frame);
				curr_slider = frame;
				$('#scroll-bg').addClass('slider'+frame);
}

function mycarousel_initCallback(carousel) {
    jQuery('.jcarousel-control a').bind('click', function() {
        carousel.scroll(jQuery.jcarousel.intval(jQuery(this).attr('rel')));
				$('.jcarousel-control a img').attr('src','img/bullet.png');
				jQuery('img',this).attr('src','img/bullet-sel.png');

				var frame = jQuery.jcarousel.intval(jQuery(this).attr('rel'));
				$('#scroll-bg').removeClass('slider'+curr_slider);
				
				$('#scroll-bg').removeClass('slider'+curr_slider);
				$('#scroll-bg').fadeTo('fast', 0.1, function()
				{
					
					$('#scroll-bg').addClass('slider'+frame);
				}).delay(100).fadeTo('fast', 1);
				
				curr_slider = frame;
				
        return false;
    });
};

var hspos;
var lightstat = false;
var popout = false;

function poptime() {
	if (popout) {
			$('.float-menu').slideUp();
		}
}

jQuery.fn.exists = function(){return jQuery(this).length>0;}

$(function() {

	$('#add_product_form').submit(function() {
		var errors = false;
		$('.dropdown').each(function() {
			if ($(this).val() == '#') {
				errors = true;
			}
		});

		if (!errors) {
			return true;
		} else {
			alert("Please choose your product options");
			return false;
		}

	});

	 $('a.fancy').fancybox();

	$('.pop').hover(function() {
		var popper = $(this).attr('rel');
		var tleft = $(this).offset().left - 10;
		var ttop = $(this).offset().top + 18;

		if (popper == "conference") {
			tleft += 20;
		}
		if (popper == "buy") {
			tleft -= 30;
		}

		// Slide up any others first
		$('.float-menu').slideUp();

		$('#'+popper).css('left', tleft);
		$('#'+popper).css('top', ttop);
		$('#'+popper).slideDown();
		popout = false;
	}, function() {
		popout = true;
		setTimeout(poptime, 1000);
	});

	$('.float-menu').hover(function() {
		popout = false;
	}, function() {
		popout = true;
		setTimeout(poptime, 1000);
	});

	// Search box
	if ($('#search').val() == "") {
		$('#search').val(searchtext);
	}

	$('#search').focus(function() {
		if ($('#search').val() == searchtext) {
			$('#search').val('');
		}
	});

	$('#search').blur(function() {
		if ($('#search').val() == "") {
			$('#search').val(searchtext);
		}
	});
	// -- Search box

	$('.fullspec a').click(function() {
		$('.hidden-specs').slideToggle('slow');
	});

	if ($('.hidscroll').exists()) {
		hspos = $('.hidscroll').offset().left;
		$('.hidscroll').offset({left:hspos-2000});
	}

	$('a[rel=lighton]').click(function () {
		if (!lightstat) {
			$('.light-switch').removeClass('light-sel');
			$(this).addClass('light-sel');
			var ifn = $('#primary-img').attr('src').replace(/\.jpg/, '') + '-light.jpg';
			$('#primary-img').attr('src', ifn);
			lightstat = true;
		}
		return false;
	});

	$('a[rel=lightoff]').click(function () {
		if (lightstat) {
			$('.light-switch').removeClass('light-sel');
			$(this).addClass('light-sel');
			var ifn = $('#primary-img').attr('src').replace(/\-light\.jpg/, '') + '.jpg';
			$('#primary-img').attr('src', ifn);
			lightstat = false;
		}
		return false;
	});

	var t;
	var dhov;
	$('.sub-mimg').hover(function() {
		$('#dkbox').show();
		dhov = true;
		//t = setTimeout(function() { $('#dkbox').hide(); dhov = false; } ,1000);
	});
	$('.sub-mimg').mousemove(function() {
		clearTimeout(t);
		dhov = true;
		$('#dkbox').show();
		//t = setTimeout(function() { $('#dkbox').hide(); dhov = false; } ,1000);
	});
	$('*').not('.sub-mimg').hover(function() {
		if (dhov) {
			//t = setTimeout(function() { $('#dkbox').hide(); dhov = false; } ,1000);
			$('#dkbox').hide(); dhov = false;
		}
	});

	$("#home-scroll").jcarousel({
        scroll: 1,
				auto: 5,
				wrap: 'circular',
        initCallback: mycarousel_initCallback,
				itemLoadCallback: trigger,
        buttonNextHTML: null,
        buttonPrevHTML: null
    });

		$("#news-box").jcarousel({
        scroll: 1,
        initCallback: mycarousel_initCallback_news,
        buttonNextHTML: null,
        buttonPrevHTML: null
    });

		$("#feat-box").jcarousel({
        scroll: 1,
        initCallback: mycarousel_initCallback_feat,
        buttonNextHTML: null,
        buttonPrevHTML: null
    });

		$("#pop-feat-box").jcarousel({
        scroll: 1,
        initCallback: mycarousel_initCallback_pop,
        buttonNextHTML: null,
        buttonPrevHTML: null
    });

		$("#feat-box2").jcarousel({
        scroll: 1,
        initCallback: mycarousel_initCallback_feat2,
        buttonNextHTML: null,
        buttonPrevHTML: null
    });

		$("#prod-thumbs").jcarousel({
        scroll: 1,
        initCallback: mycarousel_initCallback_thumb,
        buttonNextHTML: null,
        buttonPrevHTML: null
    });

	/* tabs */
		$('#home-tabs ul li a').click(function() {
			var tab = $(this).attr('rel');

			$('.tab').offset({left:hspos-2000});

			$('.tab').hide();
			$('#home-tabs ul li').removeClass('act-tab');

			$('#tab-'+tab).show();
			$($(this)).parent().addClass('act-tab');

			var cpos = $('#tab-'+tab).offset().left + 2000;
			$('#tab-'+tab).offset({left:hspos});

			return false;
		});

		if ($('#prod-cat-pop').exists()) {
			cppos = $('#prod-cat-pop').offset().left;
			$('#prod-cat-pop').offset({left:hspos-2000,top:-2000});
		}

		var phov;
		$('a[rel=catpop]').click(function() {
			var lft = $('#main-inner').offset().left;
			var tp = $(this).offset().top - 23;
			$('#prod-cat-pop').offset({left:(cppos+lft)+1,top:tp});
			$('#dkbox2').show();
			phov = true;

			return false;
		});
		$('a[rel=catpopout]').click(function(e) {
			$('#dkbox2').hide();
			$('#prod-cat-pop').offset({left:(cppos-2000)});
			phov = false;
			e.preventDefault();
			return false;
		});

		$('#dkbox2').click(function() {
			if (phov) {
				$('#dkbox2').hide();
				$('#prod-cat-pop').offset({left:(cppos-2000)});
				phov = false;
			}
			
		});


		$('.prod-tabs a').click(function() {
			var tab = $(this).attr('rel');

			$('.ptab').hide();
			$('.prod-tabs a').removeClass('p-act-tab');

			$('#ptab-'+tab).show();
			$(this).addClass('p-act-tab');

			return false;
		});

		/* menu */
		$('#top-nav ul li').hover(
		function () {

			$('.nav-pop').hide();
			$('#top-nav ul li a.sub').removeClass('hov-link');
			// This next bit is necessary due to cufon retaining colours even after
		// the class has been removed.
		Cufon.replace('#top-nav ul li', {
					textShadow: 'none',
					hover: {
						color: '#ffffff',
						textShadow: 'none'
						}
				});
			box = $('a.sub',this).attr('rel');
			var mpos = $('#top-nav').offset().left + 214;
			var mpost = $('#top-nav').offset().top + 40;

			$('#'+box).show();
			$('#'+box).offset({left:0}); // fixes jumpiness with FF
			$('#'+box).offset({left:mpos,top:mpost});

			$('a.sub',this).addClass('hov-link');

			//var bh = $(document).height();
			//$('#dkbox').height(bh);
			//$('#dkbox').show();
			hovr_a[box] = true;
		},
		function () {
			hovr_a[box] = false;
			setTimeout("check_hover()",300);
		}
	);

	$('.nav-pop').hover(
		function() {
			dbox = $(this).attr('id');
			hovr_b[dbox] = true;
		},
		function() {
			hovr_b[dbox] = false;
			setTimeout("check_hover()",300);
		}
	);

		$.localScroll();


});

/* Cufon fonts */
Cufon.replace('#home-scroll h1');
Cufon.replace('.news-item h2', {
	hover: '#333'
});
Cufon.replace('.red-header h2');
Cufon.replace('.footer');
Cufon.replace('.article-body h2');
Cufon.replace('#artists-body .fright h3');

Cufon.replace('.sponsors-header h2');

Cufon.replace('.product-listing h2', {
	hover: '#333'
});
Cufon.replace('.product-listing p');
