﻿function init() {

//	home = document.getElementById("home");
//	email = document.getElementById("email");
//	response = document.getElementById("response");
//	demo = document.getElementById("demo");
//	val = document.getElementById("validation");
//	wmp = document.getElementById("wmp");

	naveWave = document.getElementById("naveWave");

	frame = 0;

	flashLightFrame = 0;

	emailSent = 0;
	valid = 1;
	fadeLevel = 100;

	activeNav = "home";
	inactiveNav = "";

	waveAnimationFirst(); 
}

function goHome() {
	if (activeNav != "home") {

		inactiveNav = activeNav;
		activeNav = "home";
		waveAnimation();
		//Playa.doStop();
	}
}

function goEmail() {
	if (activeNav != "email") {
//        home.style.visibility = "hidden";
//        demo.style.visibility = "hidden";
//        if (emailSent == 0) {
//            email.style.visibility = "visible";
//            response.style.visibility = "hidden";
//        } else {
//            email.style.visibility = "hidden";
//            response.style.visibility = "visible";
//        }
		inactiveNav = activeNav;
		activeNav = "email";
		waveAnimation();
		//Playa.doStop();
	}
}

function goDemo() {
	if (activeNav != "demo") {
//        home.style.visibility = "hidden";
//        demo.style.visibility = "visible";
//        email.style.visibility = "hidden";
//        response.style.visibility = "hidden";
		inactiveNav = activeNav;
		activeNav = "demo";
		waveAnimation();
		//Playa.doStop();
	}
}

function sendMail() {
	var from = document.getElementById("from").value;
	var subject = document.getElementById("subject").value;
	var message = document.getElementById("message").value;
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var messageText = "Please ";

	if (!filter.test(from))
	{
		messageText = messageText + "provide a valid email address "
		valid = 0;
	}
	if (message == "")
	{
		if (valid == 0)
		{
			messageText = messageText + "and ";
		}
		messageText = messageText + "enter a message ";
		valid = 0;
	}
	if (valid == 1)
	{
		WebService.sendEmail(from, subject, message, mailsent, mailNotSent);
	} else
	{
		document.getElementById("validation").innerHTML = messageText;
	}
}


function mailsent(result) {
	document.getElementById("response").innerHTML = result;
	emailSent = 1;
	document.getElementById("home").style.visibility = "hidden";
	document.getElementById("demo").style.visibility = "hidden";
	document.getElementById("email").style.visibility = "hidden";
	document.getElementById("response").style.visibility = "visible";
}

function mailNotSent() {
	emailSent = 0;
	alert("Your email was not sent. Please try again later.");
}

function keypress() {
	if (valid == 0)
	{
		valid = 1;
		fadeOut();
	}
}

function fadeOut() {
	document.getElementById("validation").style.opacity = fadeLevel / 10;
	document.getElementById("validation").style.filter = 'alpha(opacity=' + fadeLevel + ')';
	if (fadeLevel > 1)
	{
		fadeLevel = fadeLevel - 5;
		setTimeout("fadeOut()", 100);
	} else
	{
		document.getElementById("validation").innerHTML = "";
		document.getElementById("validation").style.opacity = 1;
		document.getElementById("validation").style.filter = 'alpha(opacity=100)';
		fadeLevel = 100;
	}
}

function waveAnimationFirst() {
	//So the home will get underlined when the page loads 
	frame++;
	if (frame < 20) {
		document.getElementById("navWave" + frame).className = "homeWaveOn";
		if (frame > 1) document.getElementById("navWave" + (frame - 1)).className = "homeWaveOff";
		setTimeout("waveAnimationFirst()", 75);
	} else {
		frame--;
	}
}

function waveAnimation() {
	frame++;
	//Add the line under the active nav
	if (frame < 20) {
		document.getElementById("navWave" + frame).className = activeNav + "WaveOn";
		if (frame > 1) document.getElementById("navWave" + (frame - 1)).className = activeNav + "WaveOff";
		if (frame < 19) setTimeout("waveAnimation()", 75);
	} 
	//Take the line off the last active
	if (frame > 19 & frame < 24) {
		document.getElementById("navWave" + frame).className = inactiveNav + "WaveOn";
		document.getElementById("navWave" + (frame - 1)).className = inactiveNav + "WaveOff";
		setTimeout("waveAnimation()",50);
	}
	//Hide frame 23 on the inactive nav and show the first frame of the active nav
	if (frame == 24) {
		document.getElementById("navWave" + (frame - 1)).className = inactiveNav + "WaveOff";
		document.getElementById("navWave1").className = activeNav + "WaveOn";
		frame = 0;
		waveAnimation();
	}
	if (frame == 10) flashLight();
}

function flashLight() {
	document.getElementById("home").style.visibility = "hidden";
	document.getElementById("demo").style.visibility = "hidden";
	document.getElementById("email").style.visibility = "hidden";
	document.getElementById("response").style.visibility = "hidden";

	if (flashLightFrame == 0) {
		document.getElementById("flash").style.visibility = "visible";
		setTimeout("flashLight()",50);
		flashLightFrame = 1;
	} else {
		if (activeNav == "home") {
			document.getElementById("home").style.visibility = "visible";
			document.getElementById("demo").style.visibility = "hidden";
			document.getElementById("email").style.visibility = "hidden";
			document.getElementById("response").style.visibility = "hidden";
		}
		if (activeNav == "demo") {
			document.getElementById("home").style.visibility = "hidden";
			document.getElementById("demo").style.visibility = "visible";
			document.getElementById("email").style.visibility = "hidden";
			document.getElementById("response").style.visibility = "hidden";
		}
		if (activeNav == "email") {
			document.getElementById("home").style.visibility = "hidden";
			document.getElementById("demo").style.visibility = "hidden";
			if (emailSent == 0) {
				document.getElementById("email").style.visibility = "visible";
				document.getElementById("response").style.visibility = "hidden";
			} else {
				document.getElementById("email").style.visibility = "hidden";
				document.getElementById("response").style.visibility = "visible";
			}
		}

		document.getElementById("flash").style.visibility = "hidden";
		flashLightFrame = 0;
	}
}
