var slider={element:null, timer:0, begin:null, end:null, duration:null},fader={element:null, timer:0, begin:null, end:null, duration:null}, animTimer, errorTimer, fadeTimer, currentSlide=0;

function selectBanners() {
	var banner1, banner2, banner3;
	banner1 = (Math.floor(Math.random()*30)+1);
	document.getElementById('photo1').src='images/random/'+banner1+'.jpg';
	do { banner2 = (Math.floor(Math.random()*30)+1); } while(banner2==banner1);
	document.getElementById('photo2').src='images/random/'+banner2+'.jpg';
	do { banner3 = (Math.floor(Math.random()*30)+1); } while(banner3==banner1||banner3==banner2);
	document.getElementById('photo3').src='images/random/'+banner3+'.jpg';
	return;
}

function showSlide(id) {
	clearInterval(animTimer);
	scrollTo(id);
	return;
}

function scrollTo(id) {
	slider.element = document.getElementById('slider');
	slider.begin = currentSlide * -100;
	slider.end = -100 * id;
	slider.timer=0;
	slider.duration = 30;
	animTimer = setInterval('doMove('+id+')',15);
	return;
}

function doMove(id) {
	slider.element.style.left=sineInOut(slider.timer,slider.begin,slider.end-slider.begin,slider.duration)+'%';
	slider.timer++;
	if(slider.timer==slider.duration) {
		slider.element.style.left=slider.end+'%';
		currentSlide = id;
		clearInterval(animTimer);
	}
	return;
}

function completePage(page) {
	for(i=(page*7)-6;i<=(page*7);i++) {
		if(thisWord = document.getElementById('word'+i).value) document.getElementById('blank'+i).innerHTML = thisWord;
		else {
			clearTimeout(errorTimer);
			document.getElementById('error' + page).setAttribute('style','opacity:0.9;filter: alpha(opacity=90);');
			document.getElementById('error' + page).style.display='block';
			errorTimer = setTimeout('fadeError('+page+')',1000);
			return false;
		}
	}
	if(page==2) {
		document.getElementById('blank2_reprise').innerHTML = document.getElementById('word2').value;
		document.getElementById('blank6_reprise').innerHTML = document.getElementById('word6').value;
		document.getElementById('blank11_reprise').innerHTML = document.getElementById('word11').value;
	}
	return true;
}

function reset() {
	for(i=1;i<=14;i++) document.getElementById('word'+i).value = '';
	selectBanners();
	return;
}

function fadeError(id) {
	fader.element = document.getElementById('error'+id);
	fader.begin = 0.9;
	fader.end = 0;
	fader.timer=0;
	fader.duration = 40;
	fadeTimer = setInterval('doFade()',15);
	return;
}

function doFade() {
	opacity = sineIn(fader.timer,fader.begin,fader.end-fader.begin,fader.duration);
	fader.element.setAttribute('style','opacity:' + opacity + ';filter: alpha(opacity='+(opacity*100)+');');
	fader.timer++;
	if(fader.timer==fader.duration) {
		fader.element.setAttribute('style','opacity:'+fader.end+';filter: alpha(opacity='+(fader.end*100)+');');
		fader.element.style.display='none';
		clearInterval(fadeTimer);
	}
	return;
}

function sineIn(t, b, c, d) {
	return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
}

function sineInOut(t, b, c, d){
	return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
}
