var fxA, fxB, fxC, thl, loading;
function thumbsLoaded() {
	if (this.src.search(/tn_blank\.gif/i)==-1) thl--;
	if (thl==0) {
		// after all thumbs are loaded, reappear
		new Fx.Style('helmetthumbs', 'opacity').start(1);
		loading--;
	}
}
function changeHelmet(sku) {
	if (typeof helmets=='undefined' || sku==csku || loading>0) return false;
	csku = sku;
	cpic = 0;
	loading = 2;
	// fade out thumbs and replace
	new Fx.Style('helmetthumbs', 'opacity', {
		onComplete: function() {
			// load new thumbs
			var max = helmets[csku].images.length;
			thl = max;
			$('thmA').onload = thumbsLoaded;
			$('thmB').onload = thumbsLoaded;
			$('thmC').onload = thumbsLoaded;
			$('thmD').onload = thumbsLoaded;
			$('thmA').src = (max>=1) ? 'images/helmets/tn_' + helmets[csku].images[0] : 'images/helmets/tn_blank.gif';
			$('thmB').src = (max>=2) ? 'images/helmets/tn_' + helmets[csku].images[1] : 'images/helmets/tn_blank.gif';
			$('thmC').src = (max>=3) ? 'images/helmets/tn_' + helmets[csku].images[2] : 'images/helmets/tn_blank.gif';
			$('thmD').src = (max>=4) ? 'images/helmets/tn_' + helmets[csku].images[3] : 'images/helmets/tn_blank.gif';
		}
	}).start(1, 0);
	if (fxC) {
		new Fx.Style('mainhelmetimgB', 'opacity', {
			onComplete: function() {
				// after fade, load new main image in back
				$('helmetSKU').innerHTML = csku;
				$('helmetName').innerHTML = helmets[csku].name;
				$('imgB').onload = function() {
					new Fx.Style('mainhelmetimgB', 'opacity', {
						onComplete: function() {
							$('imgB').onload = Class.empty;
							loading--;
						}
					}).start(0,1);
				}
				$('imgB').src = 'images/helmets/' + helmets[csku].images[0];
			}
		}).start(1,0);
	} else {
		new Fx.Style('mainhelmetimgA', 'opacity', {
			onComplete: function() {
				// after fade, load new main image in back
				$('helmetSKU').innerHTML = csku;
				$('helmetName').innerHTML = helmets[csku].name;
				$('imgA').onload = function() {
					new Fx.Style('mainhelmetimgA', 'opacity', {
						onComplete: function() {
							$('imgA').onload = Class.empty;
							loading--;
						}
					}).start(0,1);
				}
				$('imgA').src = 'images/helmets/' + helmets[csku].images[0];
			}
		}).start(1,0);
	}
	$('helmetSKU').innerHTML = csku;
	$('helmetName').innerHTML = 'Loading...';
	return false;
}

var cpic = 0;
function nextpic() {
	var t = cpic + 1;
	return chgpic(t);
}
function prevpic() {
	var t = cpic - 1;
	return chgpic(t);
}
function chgpic(i) {
	if (typeof helmets=='undefined'
		|| loading>0 
		|| i > (helmets[csku].images.length - 1)
		|| i < 0
		|| cpic==i
		) return false;
	cpic = i;
	loading = 1;
	
	if (fxC) {
		// fade out current
		fxB.start(0);
		// load new and fade in when loaded
		$('imgA').onload = function() {
			fxA.addEvent('onComplete', fxAload);
			fxA.start(1);
			$('imgA').onload = Class.empty;
		}
		$('imgA').src = 'images/helmets/' + helmets[csku].images[i];
	} else {
		fxA.start(0);
		$('imgB').onload = function() {
			fxB.addEvent('onComplete', fxBload);
			fxB.start(1);
			$('imgB').onload = Class.empty;
		}
		$('imgB').src = 'images/helmets/' + helmets[csku].images[i];
	}
	fxC = !fxC;
	return false;
}
function fxAload() {
	$('imgB').src = 'images/loading.gif';
	loading--;
	fxA.removeEvent('onComplete', fxAload);
}
function fxBload() {
	$('imgA').src = 'images/loading.gif';
	loading--;
	fxB.removeEvent('onComplete', fxBload);
}

function loadfx() {
	fxA = new Fx.Style('mainhelmetimgA', 'opacity').set(1);
	fxB = new Fx.Style('mainhelmetimgB', 'opacity').set(0);
	fxC = false;
}