// JavaScript Document
// email.js
// copyright (c) 2007 Sounion Designs
// all rights reserved
//
function SymError()
{
//	alert ("error processing the document");
	document.forms[1].elements[5].value = "error processing the document";
  return true;
}

window.onerror = SymError;
//window.onload = make_dummy_box();
// Using Math.round() will give you a non-uniform distribution!
// Returns a random number between min and max
// Returns a random number between 0 (inclusive) and 1 (exclusive)
/*
function getRandom()
{
  return Math.random();
}
function getRandomArbitary(min, max)
{
  return Math.random() * (max - min) + min;
}
*/
// Returns a random integer between min and max
function getRandomInt(min, max)
{
  return Math.floor(Math.random() * (max - min + 1)) + min;
}
/*	EventUtil.addEventHandler (window, "load", function () {
		var oForm = document.forms[0];
			EventUtil.addEventHandler (oForm, "click", handleEvent);
			} );
		function handleEvent () {
			var oEvent = EventUtil.getEvent();
		}
*/
		function handleFormReset ()
		{
		// if empty, then it has not yet been initialized so put in the defaults, otherwise leave in what is already there
			document.forms[1].elements[1].value = "enter_yourEmailAddress@yourWebserver";
			input_0 = document.forms[0].elements[0].value; // hidden sRand //////
			input_1_3 = document.forms[1].elements[3].value;  //random
			document.forms[1].reset();
			document.forms[0].elements[0].value = input_0; // hidden sRand //////
			document.forms[1].elements[3].value = input_1_3; // random
			return;
		}
				function handleSubmit ()
				{
					if (validate_all()) {
						document.forms[2].elements[0].value = document.forms[1].elements[0].value;  // name
						document.forms[2].elements[1].value = document.forms[1].elements[1].value;  // email
						document.forms[2].elements[2].value = document.forms[1].elements[2].value;  // message
//						alert ("SUBMIT form 0!")
//						document.forms[0].submit();
//						alert ("SUBMIT form 1!")
						document.forms[2].submit();
						document.forms[1].elements[2].value = "Thank you!  Your message is ready to be sent."; // message
						document.forms[1].elements[5].value = "email is ready ...";

					}
					else {
					// write a line in case the user has pop up boxes turned off
// don't delete what they already wrote:
//						document.forms[1].elements[2].value = "entry error, NO submission occurred, please try again"; // message
//						alert ("entry error, NO submission occurred, please try again");
						document.forms[1].elements[5].value = "entry error, please try again"; // errorMsg
					}
					document.forms[1].elements[4].value = "xxxxxx"; // clear entry for random
					return;
				}
				function validate_all (){
					var bEmail = validate();
					var bRand = validate_rand_temp()
					if (!bRand)  // let email error slide
					{
						input_0 = document.forms[0].elements[0].value; // hidden sRand
						input_1_0 = document.forms[1].elements[0].value;  // name
						input_1_1 = document.forms[1].elements[1].value;  //email
						input_1_2 = document.forms[1].elements[2].value;  //message
						input_1_3 = document.forms[1].elements[3].value;  //random
						document.forms[0].reset();
						document.forms[0].elements[0].value = input_0; // hidden sRand
						document.forms[1].elements[4].value = input_1_3; // random
						document.forms[1].elements[1].value = input_1_0;  // name
						if (bEmail)  
							document.forms[1].elements[1].value = input_1_1; // email
						document.forms[1].elements[2].value = input_1_2; // message
			// focus back on first error, either email addr or validate
						if (!bEmail)			
							document.forms[1].elements[1].focus();
						else document.forms[1].elements[4].focus();
					} 
					if (!bRand)
					{
						return false;
						}
					else {
					document.forms[1].action = "mailto:robert@croutierdesigns";
					document.forms[2].action = "mailto:robert@croutierdesigns.com";
//					document.forms[1].action ="mailto:\&#99;\&#111;\&#110;\&#116;\&#97;\&#99;\&#116;\&#64;\&#100;\&#114;\&#98;\&#97;\&#114;\&#98;\&#97;\&#114;\&#97;\&#110;\&#101;\&#119;\&#108;\&#111;\&#110;\&#46;\&#99;\&#111;\&#109;";
//					document.forms[1].action ="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#99;&#111;&#110;&#116;&#97;&#99;&#116;&#64;&#100;&#114;&#98;&#97;&#114;&#98;&#97;&#114;&#97;&#110;&#101;&#119;&#108;&#111;&#110;&#46;&#99;&#111;&#109;";
//					alert (document.forms[1].action + " = action ENCODED");
//					document.forms[1].action ="mailto:" +
//"&#99;&#111;&#110;&#116;&#97;&#99;&#116;&#64;&#100;&#114;&#98;&#97;&#114;&#98;&#97;&#114;&#97;&#110;&#101;&#119;&#108;&#111;&#110;&#46;&#99;&#111;&#109;";
//					alert (document.forms[1].action + " = action ENCODED again");
//					alert ("just set action");
					return true;
					}
				}
				function make_dummy_box() {
					document.forms[0].elements[0].value = getRandomInt(123456, 999999); //  in php "123456";
					document.forms[1].elements[0].focus();
					setup_compare();
					return;
				}
				function setup_compare() {
					document.forms[1].elements[3].value = document.forms[0].elements[0].value;
					document.forms[1].elements[3].disabled = true;
					document.forms[1].elements[5].disabled = true;  // disable error message bar
					return;
				}
				function validate_rand_temp() {
					var sRand = (document.forms[0].elements[0].value).toString();
					var sRandEntry = (document.forms[1].elements[4].value).toString();
					if (sRand.length == sRandEntry.length)
					{
						if (sRand == sRandEntry)
							{
								return true;
							}
							else 
							{
							return false;
							}
					}
					else {
						return false;  // for whatever else
					}
				}
				
                function isValidEmail(sText) {
                    var reEmail = /^(?:\w+\.?)*\w+@(?:\w+\.)+\w+$/;  // reg expression
                    return reEmail.test(sText);
                }

                
                function validate() {
						var oInput1 = document.getElementById("email");
						if (isValidEmail(oInput1.value)) {
							return true;
						} else {
							document.forms[1].elements[1].focus();
						document.forms[1].elements[5].value = "email address is unconventional or Invalid ... please double check it";
//							alert("email address is unconventional or Invalid ... please double check it");
						}
					return false;
                }
                function getValidation(sInput, sRand) {
/*                    stub
*/
					if (strlen (sInput) == strlen (sRand))
					{if (srtcmp(sInput, sRand))
						return true;
						else return false;
					}
					else return false;
                }
                function isValidUser(sText) {
/*                    var reEmail = /^(?:\w+\.?)*\w+@(?:\w+\.)+\w+$/;
                    return reEmail.test(sText);
*/
//					alert("isValidUser");
					return true;
                }

				function validateUser() {
                    var oInput1 = document.getElementById("noSpam");
                    if (isValidUser(oInput1.value)) {
//                        alert("Valid, validateUser");
                    } else {
//				document.forms[0].elements[1].focus();
//                        alert("entry does not match; please try again");
                    }

                }
// NOT USING this function now because what gets reset depends on tests and it is simpler to do it inline
				function form_reset(iElement) {
				input_1 = document.forms[0].elements[0].value; // hidden sRand
				input_2 = document.forms[0].elements[1].value;  // name
				input_3 = document.forms[0].elements[2].value;  //email
				input_4 = document.forms[0].elements[3].value;  //message
				input_5 = document.forms[0].elements[5].value;  //message
				document.forms[0].reset();
//				reset_form();  // flag the error and reset  //  or flag error and set focus back to document.forms[0].elements[4].focus();
	//  could save stuff before resetting then reverse it and refresh
				alert ("form reset ...");
				document.forms[0].elements[0].value = input_0;
				document.forms[0].elements[1].value = input_1;
				document.forms[0].elements[2].value = input_2;
				document.forms[0].elements[3].value = input_3;
				document.forms[0].elements[5].value = input_5;
	// focus back on first error, either email addr or validate			
				document.forms[0].elements[iElement].focus();
				}
//
// email.js document end
//