function verifyForm(form,method) {
disableButton(form,'formsubmit','Sending Email...');
disableButton(form,'formreset');
disableButton(form,'formcancel');
var valid = true;
var reason = "";
if (method == 'ajax') { jx.load('/contact/php/mail.php?p=*L2NvbnRhY3Qv&'+getPostVars(form),function (data) { processResult(form,data); },'json','post'); }
return valid;
}
function getPostVars (form) {
var returnval = '';
var elems = form.elements;
var elemslen = elems.length;
for (var i = 0; i < elemslen; i++) {
elem = elems[i];
returnval = elem.name + '=' + elem.value + '&';
}
return returnval.substring(0,returnval.length - 1);
}
function processResult(form,code) {
switch (code) {
case '200':
disableButton(form,'formsubmit','Email Sent');
disableButton(form,'formreset');
enableButton(form,'formcancel','Go Back');
resetError();
break;
case '801':
case '802':
enableButton(form,'formsubmit','Retry Email');
enableButton(form,'formreset');
enableButton(form,'formcancel');
formError(form,'Your entry into "Human Test" did not match the picture.');
fetchCaptcha(form,getElementsByClassName(form,'captcha')[0]);
break;
case '1000':
formError(form,'One or more required fields is empty.');
enableButton(form,'formsubmit','Retry Email');
enableButton(form,'formreset');
enableButton(form,'formcancel');
fetchCaptcha(form,getElementsByClassName(form,'captcha')[0]);
break;
case '1001':
formError(form,'The "Your Name" field was left empty.');
enableButton(form,'formsubmit','Retry Email');
enableButton(form,'formreset');
enableButton(form,'formcancel');
fetchCaptcha(form,getElementsByClassName(form,'captcha')[0]);
break;
case '1002':
formError(form,'The "Your Email" field was left empty.');
enableButton(form,'formsubmit','Retry Email');
enableButton(form,'formreset');
enableButton(form,'formcancel');
fetchCaptcha(form,getElementsByClassName(form,'captcha')[0]);
break;
case '1003':
formError(form,'The "Email Again" field was left empty.');
enableButton(form,'formsubmit','Retry Email');
enableButton(form,'formreset');
enableButton(form,'formcancel');
fetchCaptcha(form,getElementsByClassName(form,'captcha')[0]);
break;
case '1004':
formError(form,'The "Subject" field was left empty.');
enableButton(form,'formsubmit','Retry Email');
enableButton(form,'formreset');
enableButton(form,'formcancel');
fetchCaptcha(form,getElementsByClassName(form,'captcha')[0]);
break;
case '1005':
formError(form,'The "Message" field was left empty.');
enableButton(form,'formsubmit','Retry Email');
enableButton(form,'formreset');
enableButton(form,'formcancel');
fetchCaptcha(form,getElementsByClassName(form,'captcha')[0]);
break;
case '1006':
formError(form,'The "Your Email" and "Email Again" fields did not match.');
enableButton(form,'formsubmit','Retry Email');
enableButton(form,'formreset');
enableButton(form,'formcancel');
fetchCaptcha(form,getElementsByClassName(form,'captcha')[0]);
break;
case '501':
default:
enableButton(form,'formsubmit','Retry Email');
enableButton(form,'formreset');
enableButton(form,'formcancel');
formError(form,'We experienced a problem sending your email.
Error Code: '+code);
fetchCaptcha(form,getElementsByClassName(form,'captcha')[0]);
}
}
function formError(form,str) {
var statobj = getElementsByClassName(form,'formstatus')[0];
statobj.innerHTML = "Your email could not be sent because the following errors.
"+str+"
Please correct the errors and try again.
";
statobj.style.display = 'block';
}
function resetError(form) {
var statobj = getElementsByClassName(form,'formstatus')[0];
statobj.innerHTML = " "
statobj.style.display = 'none';
}
function disableButton(form,button,str) {
form[button].disabled = 'disabled';
if (!checkClassName(form[button],'disabledbutton')) { addClassName(form[button],'disabledbutton'); }
if (str) { form[button].value = str; }
}
function enableButton(form,button,str) {
form[button].disabled = '';
if (checkClassName(form[button],'disabledbutton')) { remClassName(form[button],'disabledbutton'); }
if (str) { form[button].value = str; }
}
setupForm();
function setupForm () {
var forms = document.forms;
var formslen = forms.length;
for (var i = 0; i < formslen; i++) {
var curform = forms[i];
curform.formreset.onclick = function () { resetError(curform); }
captchaimg = getElementsByClassName(curform,'captcha')[0];
if (captchaimg) { fetchCaptcha(curform,captchaimg); }
var frames = curform.getElementsByTagName('iframe');
var frameslen = frames.length;
for (var m = 0; m < frameslen; m++) {
var curframe = frames[m];
if (checkClassName(curframe,'formtarget')) {
curframe.onload = function(){
var result = parent[this.name].document.body.innerHTML;
processResult(curform,result);
}
}
}
var elems = curform.elements;
var elemslen = elems.length;
for (var j = 0; j < elemslen; j++) {
var curelem = elems[j];
if (curelem.tagName == 'INPUT' && checkClassName(curelem,'button')) {
curelem.onmouseover = function(){
addClassName(this,'activebutton');
}
curelem.onmouseout = function(){
remClassName(this,'activebutton');
}
curelem.onmouseup = function() {
remClassName(this,'activebutton');
}
}
else if (curelem.tagName == 'INPUT' || curelem.tagName == 'TEXTAREA' || curelem.tagName == 'SELECT') {
curelem.onfocus = function(){
addClassName(this,'active');
}
curelem.onblur = function(){
remClassName(this,'active');
}
}
}
}
}
function fetchCaptcha (formobj,captcha) {
jx.load('/contact/php/mail.php?p=*L2NvbnRhY3Qv&nk=1',function (data) {
formobj.cm.value = null;
formobj.ck.value = data[0];
formobj.ct.value = data[1];
captcha.src = "/contact/php/mail.php?p=*L2NvbnRhY3Qv&ci="+data[2];
},'json','get');
}