if (typeof hero_banners != 'object')
	var hero_banners = [];

if (typeof special_offer_banners != 'object')
	var special_offer_banners = [];

// Fix jCarousel crash for IE7 using circular wrapping.
var wrap_mode = $('html').hasClass('ie7') ? 'both' : 'circular';

//
// Hero Banners
//
$.each(hero_banners, function(k, v){
	swf = false;
	var html = '<a href="'+v.link+'" title="' + v.title + '"><img src="' + v.src + '" alt="' + v.title + '" width="713" height="300" /></a>';

	var i = v.src.lastIndexOf('.');
	if (i > -1 && v.src.slice(i + 1).toLowerCase() == 'swf') {
		swf = 'hero-banner-'+k;

		html =	'<object id="'+swf+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,16,0" width="713" height="300">'+
				'<param name="movie" value="'+v.src+'">'+
				'<param name="quality" value="high">'+
				'<param name="play" value="false">'+
				'<param name="loop" value="false">'+
				'<embed name="hero-banner-'+k+'" swliveconnect=true" src="'+v.src+'" width="713px" height="300px" play="false" loop="false" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash">'+
				'</embed>'+
				'</object>';
	}

	html = '<li data-swf="' + swf + '" data-key="' + k + '" data-duration="' + v.duration + '">' + html + '</li>'
	$(html).appendTo('#hero-banners');

	var html = '<a href="#" class="hero-banner-select" title="'+v.title+'" data-key="' + k + '"><img src="/images/slider-bullet1.png" width="9" height="8" /></a>';
	$('#hero-banners-next').before(html);
});

$(function() {
	function init(carousel) {
		$('#hero-banner-controls #hero-banners-next').bind('click', function(){
			carousel.next();
			return false;
		});

		$('#hero-banner-controls #hero-banners-prev').bind('click', function(){
			carousel.prev();
			return false;
		});

		$('#hero-banner-controls .hero-banner-select').bind('click', function(){
			if (!$(this).hasClass('selected')) {
				var j = $('#hero-banners').data('jcarousel');
				var k = $(this).data('key') + 1;

				var m = Math.floor(j.first / j.options.size);
				if (j.first % j.options.size == 0)
					m--;

				var i = (m * j.options.size) + k;

				carousel.scroll(i);
			}

			return false;
		});
	}

	$('#hero-banners').jcarousel({
		size: hero_banners.length,
		scroll: 1,
		wrap: wrap_mode,
		buttonNextHTML: null,
		buttonPrevHTML: null,
		initCallback: init,
		itemFirstInCallback: {
			onBeforeAnimation: function(carousel, target, index, state, callback){
				var data = $(target).data();

				carousel.startAuto(data.duration);

				var i = data.key;

				var imgs = $('#hero-banner-controls a.hero-banner-select:not(:eq('+i+')) img');
				imgs.each(function(k, v) {
					$(this)
						.attr('src', '/images/slider-bullet1.png')
						.parent()
							.removeClass('selected');
				});

				if (i > -1) {
					var img = $('#hero-banner-controls a.hero-banner-select:eq('+i+') img');
					if (img.length > 0) {
						img
							.attr('src', '/images/slider-bullet2.png')
							.parent()
								.addClass('selected');
					}
				}
			},
			onAfterAnimation: function(carousel, target, index, state, callback){
				var swf = $(target).data('swf');

				if (swf) {
					var swfs = document.getElementsByName(swf);

					if (swfs.length > 0) {
						try { swfs[swfs.length - 1].Play(); }
						catch (err)
						{
							try { $(swfs[swfs.length - 1]).closest('object')[0].Play(); }
							catch (err) { }
						}
					}
				}
			}
		},
		itemFirstOutCallback: {
			onAfterAnimation: function(carousel, target, index, state, callback) {
				var swf = $(target).data('swf');

				if (swf) {
					var swfs = document.getElementsByName(swf);

					if (swfs.length > 0) {
						try { swfs[swfs.length - 1].Rewind(); }
						catch (err)
						{
							try { $(swfs[swfs.length - 1]).closest('object')[0].Rewind(); }
							catch (err) { }
						}
					}
				}
			}
		}
	});
});

//
// Special Offer Banners
//
$.each(special_offer_banners, function(k, v){
	var swf = false;
	var html = '<a href="'+v.link+'"><img src="' + v.src + '" alt="' + v.title + '" width="191" height="85" /></a>';

	var i = v.src.lastIndexOf('.');
	if (i > -1 && v.src.slice(i + 1).toLowerCase() == 'swf') {
		swf = 'special-offer-banner-'+k;

		html =	'<object id="'+swf+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,16,0" width="191" height="85">'+
				'<param name="movie" value="'+v.src+'">'+
				'<param name="quality" value="high">'+
				'<param name="play" value="false">'+
				'<param name="loop" value="false">'+
				'<embed name="special-offer-banner-'+k+'" swliveconnect=true" src="'+v.src+'" width="191px" height="85px" play="false" loop="false" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash">'+
				'</embed>'+
				'</object>';
	}

	html = '<li data-swf="' + swf + '" data-key="' + k + '" data-duration="' + v.duration + '">' + html + '</li>'
	$(html).appendTo('#special-offer-banners')
});

$(function() {
	function init(carousel) {
		$('#special-offer-banners-next').bind('click', function(){
			carousel.next();
			return false;
		});

		$('#special-offer-banners-prev').bind('click', function(){
			carousel.prev();
			return false;
		});
	}

	$('#special-offer-banners').jcarousel({
		size: special_offer_banners.length,
		scroll: 1,
		wrap: wrap_mode,
		buttonNextHTML: null,
		buttonPrevHTML: null,
		initCallback: init,
		itemFirstInCallback: {
			onBeforeAnimation: function(carousel, target, index, state, callback){
				var data = $(target).data();
				carousel.startAuto(data.duration);
			},
			onAfterAnimation: function(carousel, target, index, state, callback){
				var swf = $(target).data('swf');

				if (swf) {
					var swfs = document.getElementsByName(swf);

					if (swfs.length > 0) {
						try { swfs[swfs.length - 1].Play(); }
						catch (err)
						{
							try { $(swfs[swfs.length - 1]).closest('object')[0].Play(); }
							catch (err) { }
						}
					}
				}
			}
		},
		itemFirstOutCallback: {
			onAfterAnimation: function(carousel, target, index, state, callback) {
				var swf = $(target).data('swf');

				if (swf) {
					var swfs = document.getElementsByName(swf);

					if (swfs.length > 0) {
						try { swfs[swfs.length - 1].Rewind(); }
						catch (err)
						{
							try { $(swfs[swfs.length - 1]).closest('object')[0].Rewind(); }
							catch (err) { }
						}
					}
				}
			}
		}
	});
});
