var sOKMessage = "Thank you! We have received your message and will contact you shortly."; //General function GetSupportForm() { for (var i = 0; i < document.forms.length; i++) { if (document.forms[i].name.substring(0, 8) == 'support_') return document.forms[i]; } } function GetSupportFormName() { for (var i = 0; i < document.forms.length; i++) { if (document.forms[i].name.substring(0, 8) == 'support_') return document.forms[i].name.substring(8); } } function GetElementByTagNameAndId(Tag, Id) { var dOurForm = GetSupportForm(); var Elements = dOurForm.getElementsByTagName(Tag); var ElementsLen = Elements.length; for (i = 0; i < ElementsLen; i++) { if (Elements[i].getAttribute('Id') == Id) { return Elements[i]; } } } function Submit(SendTech) { if (SendTech == 'php') { return SubmitPHP(); } else if (SendTech == 'ajax') { SubmitAJAX(); } } //PHP function JSValidateFields() { var dOurForm = GetSupportForm(); if (dOurForm.cname.value == "") { alert('Please fill name field'); dOurForm.cname.focus(); return false; } var email = dOurForm.email.value; emailTest = "^[_\\.0-9a-z-]+@([0-9a-z][0-9a-z_-]+\\.)+[a-z]{2,4}$"; var regex = new RegExp(emailTest); if (!regex.test(email) || !(email.length > 0)) { alert('Please enter correct email address'); dOurForm.email.focus(); return false; } /* if (dOurForm.subject.value == "") { alert('Please fill subject field'); dOurForm.subject.focus(); return false; } if (dOurForm.message.value == "") { alert('Please fill message field'); dOurForm.message.focus(); return false; } */ return true; } function SubmitPHP() { var dOurForm = GetSupportForm(); if (JSValidateFields()) dOurForm.submit(); } //Ajax var Ajax; function GetAJAXObject() { var ajax=null; try { ajax=new XMLHttpRequest(); } catch (e) {} if(!ajax) try { ajax=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {} if(!ajax) try { ajax=new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} return ajax; } function grabPosXML (tagName) { if (Ajax) if (Ajax.responseXML) if (Ajax.responseXML.documentElement) if (Ajax.responseXML.documentElement.getElementsByTagName(tagName)[0]) if (Ajax.responseXML.documentElement.getElementsByTagName(tagName)[0].childNodes[0]) return Ajax.responseXML.documentElement.getElementsByTagName(tagName)[0].childNodes[0].nodeValue; } function SubmitAJAX() { Ajax = GetAJAXObject(); if (!Ajax) return false; var dOurForm = GetSupportForm(); var URL = dOurForm.action; var success = document.getElementById(GetSupportFormName() + '_statusBar'); var posName = dOurForm.cname; var posEmail = dOurForm.email; var posSubject = dOurForm.subject; var posMessage = dOurForm.message; var posCaptcha = dOurForm.captcha; showContactTimer(); success.style.display = 'none'; // convert (&, +, =) to string equivs. Needed so URL encoded POST won't choke. var str1 = posName.value; str1 = str1.replace(/&/g,"**am**"); str1 = str1.replace(/=/g,"**eq**"); str1 = str1.replace(/\+/g,"**pl**"); var str2 = posEmail.value; str2 = str2.replace(/&/g,"**am**"); str2 = str2.replace(/=/g,"**eq**"); str2 = str2.replace(/\+/g,"**pl**"); var str3 = posSubject.value; str3 = str3.replace(/&/g,"**am**"); str3 = str3.replace(/=/g,"**eq**"); str3 = str3.replace(/\+/g,"**pl**"); var str4 = posMessage.value; str4 = str4.replace(/&/g,"**am**"); str4 = str4.replace(/=/g,"**eq**"); str4 = str4.replace(/\+/g,"**pl**"); if (posCaptcha) { var str5 = posCaptcha.value; str5 = str5.replace(/&/g,"**am**"); str5 = str5.replace(/=/g,"**eq**"); str5 = str5.replace(/\+/g,"**pl**"); } var SendData = "posName="+str1+"&posEmail="+str2+"&posSubject="+str3+"&posMessage="+str4+"&posCaptcha="+str5; Ajax.open("POST", URL); Ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); Ajax.onreadystatechange = HandleAJAXResponse; Ajax.send(SendData); } function HandleAJAXResponse() { // page loaded "complete" if (Ajax.readyState == 4) { // page is "OK" if (Ajax.status == 200) { hideContactTimer(grabPosXML("status"), grabPosXML("errors")); } } } function showContactTimer () { var loader = document.getElementById(GetSupportFormName() + '_loadBar'); var dOurForm = GetSupportForm(); var MainTable = GetElementByTagNameAndId('table', GetSupportFormName() + '_main_table'); var InfoTable = GetElementByTagNameAndId('table', GetSupportFormName() + '_info_table'); var LoadBarTable = GetElementByTagNameAndId('table', GetSupportFormName() + '_loadBar_table'); InfoTable.width = MainTable.clientWidth; LoadBarTable.width = MainTable.clientWidth; loader.style.display = 'block'; //sentTimer = setTimeout("hideContactTimer()",1000); } function hideContactTimer (posStatus, posErrors) { function ClearFields() { var dOurForm = GetSupportForm(); var inputs = dOurForm.getElementsByTagName('input'); var inputsLen = inputs.length; var tAreas = dOurForm.getElementsByTagName('textarea'); var tAreasLen = tAreas.length; for ( i=0;i'; ClearFields(); } else if (posStatus == 'NOTOK') { loader.style.display = "none"; status.style.display = "block"; status.innerHTML = 'There were problems Sending Email. Please check back in a couple minutes!'; } else if (posStatus == 'ERRORS') { loader.style.display = "none"; status.style.display = "block"; status.innerHTML = 'Following errors were found:'; status.innerHTML += '
' + posErrors + '
'; } else if (posStatus == 'CAPTCHAERROR') { document.images.imgCaptcha.src = document.images.imgCaptcha.src; loader.style.display = "none"; status.style.display = "block"; status.innerHTML = 'Following errors were found:'; status.innerHTML += '
' + posErrors + '
'; } }