// Web software by DavidRegier.com
testEmail="david"+"@DavidRegier"+".com";function initForm(){var Form=document.AspForm;Form.SubmitButton.disabled=false;if(qStr&&qStr.getVal("to")=="david")top.document.title="TESTING: Mail shall be sent to "+testEmail;document.getElementById("LogInLink").parentNode.className="off";Form.Name.focus();}
function clearField(Field){if(Field.value==Field.defaultValue)Field.value="";}
function checkField(Field){if(!Field.value)Field.value=Field.defaultValue;}
SubmitRequest=null;function setPostRequest(){SubmitRequest=getAjaxRequest();if(!SubmitRequest)showNoAjaxMsg();}
function validateForm(Form){if(!SubmitRequest){showNoAjaxMsg();return false;}
var supressValidation=(qStr&&qStr.getVal("validate")=="no");var validate=!supressValidation;Form.SubmitButton.disabled=true;var Missing=null;var missingInfo="";if(qStr&&qStr.getVal("to")=="david")Form.Test_Email.value=testEmail;else
Form.Test_Email.value="";var Name=Form.Name;Name.value=Name.value.trim();if(Name.value==""){if(!Missing)Missing=Name;missingInfo+="<li>Your Name</li>";}
var Sender_Email=Form.Sender_Email;if(Sender_Email.value==""){if(!Missing)Missing=Sender_Email;missingInfo+="<li>Your E-Mail Address</li>";}
var Message=Form.Message;if(Message.value=="Your Message"){if(!Missing)Missing=Message;missingInfo+="<li>Your Message</li>";}
if(validate&&missingInfo){var htm="We're sorry, you failed to provide the following information:<ol>"+missingInfo+"</ol>Please provide the missing information & try again...<div align='center' style='margin:6px 0px 0px 0px;'><input type='button' value='OK' id='DW_OK' class='DwOk' onClick='DW.removeWin();' title='Close message' /></div><input type='hidden' id='EvalOnClose' value='document.getElementById(\""+Missing.id+"\").focus();' />";DW.createWindow(["Missing Information",htm],[0,450,0],null,null,10,[4,0,0],null,1);document.getElementById("DW_OK").focus();Form.SubmitButton.disabled=false;return false;}
else{if(validate){var goodEmail=verifyEmail(Form,Form.Sender_Email);if(!goodEmail)return false;}
if(Form.Primary_Tel.value==Form.Primary_Tel.defaultValue)Form.Primary_Tel.value="";if(Form.Other_Tel.value==Form.Other_Tel.defaultValue)Form.Other_Tel.value="";if(Form.Message.value=="Your Message")Form.Message.value="";var gmtOffSetHi=10;var Now=new Date();var gmtOffSetClient=Now.getTimezoneOffset()/60;var timeDiff=gmtOffSetHi-gmtOffSetClient;var plural=(Math.abs(timeDiff)==1)?"":"s"
var theSign=(timeDiff>0)?"+":"";var forTime=theSign+timeDiff+" hour"+plural;Form.Sent.value=Now.toLocaleString()+" (client's time)";Form.Time_Difference.value=forTime;if(validate){var htm="Please double check your e-mail address for accuracy:<ul><li>Click OK if &ldquo;"+Sender_Email.value+"&rdquo; is correct and the form will be submitted.</li><li>Click Cancel if you need to correct it.</li></ul>This is important because if you make a typo in your e-mail address we may be unable to contact you.<div align='center' style='margin:6px 0px 0px 0px;'><input type='button' value='OK' id='DW_OK' class='DwOkCancel' onClick='submitForm();' title='E-mail is accurate \u2022 Form will be sent' /> &nbsp; <input type='button' value='Cancel' class='DwOkCancel' onClick='DW.removeWin();' title='E-mail needs correction' /></div><input type='hidden' id='EvalOnClose' value='document.getElementById(\"Sender_Email\").focus(); document.getElementById( \"SubmitButton\" ).disabled = false;' />";DW.createWindow(["Confirm E-Mail Address",htm],[0,400,0],null,null,10,[4,0,0],null,1);document.getElementById("DW_OK").focus();}
else
submitForm();return false;}}
function verifyEmail(Form,Email){Email.value=Email.value.replace(/\s/g, "" );
var emailRE=/^[\w\.-]*[^\.-]@[\w\.-]+\.[a-zA-Z]{2,}$/;EmailArr=Email.value.split(",");for(i in EmailArr){if( !emailRE.test(EmailArr[i])){var htm="We're sorry but &ldquo;"+EmailArr[i]+"&rdquo; is an invalid e-mail address. Some examples of valid e-mail addresses are:<ul><li>Joe@Hotmail.com</li><li>sally_smith@aol.com</li><li>jim.clark@co.la.ca.us</li><li>Ron@KentLighting.net</li></ul>Valid e-mails contain 1 &ldquo;@&rdquo; character & end with .com .net .us .ca etc.<div align='center' style='margin:6px 0px 0px 0px;'><input type='button' value='OK' id='DW_OK' class='DwOk' onClick='DW.removeWin();' title='Close message' /></div><input type='hidden' id='EvalOnClose' value='document.getElementById(\""+Email.id+"\").focus();' />";DW.createWindow(["Invalid E-Mail Address",htm],[0,500,0],null,null,10,[4,0,0],null,1);document.getElementById("DW_OK").focus();Form.SubmitButton.disabled=false;return false;}}
return true;}
function submitForm(){DW.removeWin();var Form=document.AspForm;var SubmitButton=document.getElementById("SubmitButton");var AjaxLoading=document.getElementById("AjaxLoading");AjaxLoading.style.visibility="visible";SubmitButton.disabled=true;SubmitRequest.onreadystatechange=function(){try{if(SubmitRequest.readyState==4){if(SubmitRequest.status==200){var responseText=SubmitRequest.responseText;if( /<span id='ServerError'>/.test(responseText)){var errMsg=responseText.replace(/\r/g, "" ).replace(/\n/g, "" );
errMsg=errMsg.replace(/^.*<span id='ServerError'>/, "" );
errMsg=errMsg.replace(/<\/span>.*$/, "" );
errMsg=errMsg.replace(/ class='aspConsoleOuter'/, "" );
errMsg=errMsg.replace(/ class='aspConsoleInner'/, "" );
errMsg+="<div align='center' style='margin:6px 0px 0px 0px;'><input type='button' value='OK' class='DwOk' onClick='DW.removeWin();' title='Close message' /></div><input type='hidden' id='EvalOnClose' value='document.getElementById(\"Sender_Email\").focus();' />";DW.createWindow(["Error",errMsg],[0,600,0],null,null,10,[4,0,0]);}
else{var nSection=1;var AjaxSection=document.getElementById("AjaxSection1");while(AjaxSection){AjaxSection.style.display="none";nSection++;AjaxSection=document.getElementById("AjaxSection"+nSection);}
var AjaxSuccess=document.getElementById("AjaxSuccess");AjaxSuccess.className="on";var firstName=Form.Name.value.split(" ")[0];document.getElementById("FirstName").innerHTML=firstName;}}
else
alert("Form post error, please try again...\n\nRequest.status expected: 200\nRequest.status returned: "+SubmitRequest.status);SubmitButton.disabled=false;AjaxLoading.style.visibility="hidden";}}
catch(Err){var eMsg="AJAX exception at submitForm\n\n";for(var i in Err)eMsg+=i+": "+Err[i]+"\n";try{alert(eMsg);} catch(Err){}}}
var requestBody=getRequestBody(Form);SubmitRequest.open("post",Form.action,true);SubmitRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");SubmitRequest.send(requestBody);}
function getRequestBody(Form){function encodeNameAndValue(theName,theValue){var output=encodeURIComponent(theName);output+="=";output+=encodeURIComponent(theValue);return output;}
var NameVals=new Array();for(var i=0;i<Form.elements.length;i++){var Field=Form.elements[i];switch(Field.type){case "button":case "submit":case "reset":break;case "checkbox":case "radio":if(!Field.checked)break;case "text":case "hidden":case "password":NameVals.push(encodeNameAndValue(Field.name,Field.value));break;case "textarea":var val=Field.value.replace(/\r/g, "" ).replace(/\n/g, "\r\n" );
NameVals.push(encodeNameAndValue(Field.name,val));break;case "select-one":NameVals.push(encodeNameAndValue(Field.name,Field.options[Field.selectedIndex].value));break;case "select-multiple":break;default:NameVals.push(encodeNameAndValue(Field.name,Field.value));}}
return NameVals.join("&");}
function showNoAjaxMsg(){var htm="We're sorry, it appears that your web browser is not AJAX enabled. This means you will be unable to submit this form. With that in mind, please send e-mail to <a href='mailto:"+DB.Contact.Email+"?subject="+escape("Web Site Inquiry (no ajax)")+"'>"+DB.Contact.Email+"</a> instead of submitting the form.";DW.createWindow(["Problem Detected",htm],[0,400,0],null,null,10,[4,0,0],null,1);}