/* Set to false if you don't want the error messages */ var err = true; /* Set to true if you want modal javascript dialogues instead of DOM messages */ var modal = false; /* The type of container to create for the error message */ var errContainer = 'div'; var errorbgcolor = '#FF9999'; var validbgcolor = '#ffffff'; var theForm = getFormId(); /* Browser detect, need's a little work */ var ie; if (navigator.appVersion.indexOf("MSIE")!=-1) { ie = true; } else { ie = false; } function getFormId() { var totalforms = 0; var frms = document.getElementsByTagName('form'); for (var i=0; i 1) { alert('Too many forms to validate!'); } else { return document.getElementById(formtovalidate); } } function getElementId(type) { var frm = getFormId(); var total = 0; var el = frm.elements; for (var i=0; i"); return str1; } function showContactTimer () { var fieldArea = getFormId(); var msg = 'Sending Email...Loading...'; displayStatusmsg(fieldArea,msg,'none'); sentTimer = setTimeout("hideContactTimer()",6000); } function hideContactTimer () { var status = grabPosXML("status"); var fieldArea = getFormId(); var inputs = fieldArea.getElementsByTagName('input'); var inputsLen = inputs.length; var tAreas = fieldArea.getElementsByTagName('textarea'); var tAreasLen = tAreas.length; var msg = ''; if ( status == 'NOTOK' ) { msg = grabPosXML("confirmation"); displayStatusmsg(fieldArea,msg,'errorMessage'); } else if ( status == 'OK' ) { msg = 'Thanks for your message, we\\\\\\\'ll get back to you as soon as possible!' displayStatusmsg(fieldArea,msg,'OK'); resetForm(); } else { displayStatusmsg(fieldArea,'Timeout error, please try again','errorMessage'); } } function hidemessage() { msg = 'Thank you! Your message has been sent.' displayStatusmsg(getFormId(),msg,'OK'); } function showmessage() { var fieldArea = getFormId(); var name = unCleanString(grabPosXML("name")); var email = unCleanString(grabPosXML("email")); var subject = unCleanString(grabPosXML("regarding")); var message = unCleanString(grabPosXML("message")); var msg = '

From: '+name+' ('+email+')


Subject: '+subject+'


Message:

'+message+'

Hide'; displayStatusmsg(fieldArea,msg,'none'); } function ajaxFunction(){ var ajaxRequest; // The variable that makes Ajax possible! try{ // Opera 8.0+, Firefox, Safari ajaxRequest = new XMLHttpRequest(); } catch (e){ // Internet Explorer Browsers try{ ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try{ ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e){ // Something went wrong alert("Your browser broke!"); return false; } } } return ajaxRequest; } var pos; // variable for posting information function loadXMLPosDoc(url,posData) { // branch for native XMLHttpRequest object pos = ajaxFunction(); if (pos) { pos.onreadystatechange = processPosChange; pos.open("POST", url, true); pos.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); pos.send(posData); } } function grabPosXML(tagName) { if (pos.responseXML.documentElement.getElementsByTagName(tagName)[0].childNodes[0]) { var resp = pos.responseXML.documentElement.getElementsByTagName(tagName)[0].childNodes[0].nodeValue; return resp; } else { displayStatusmsg(getFormId(),'Error submitting form, please try again.','errorMessage'); return false; } } function processPosChange() { // page loaded "complete" if (pos.readyState == 4) { // page is "OK" if (pos.status == 200) { if ( grabPosXML("status") == 'NOTOK' ) { displayStatusmsg(getFormId(),'There were problems Sending Email. Please check back in a couple minutes','errorMessage'); } } } } function addEvent(elm, evType, fn, useCapture) { if (ie) { /* var r = elm.attachEvent('on' + evType, fn); EventCache.add(elm, evType, fn); return r; */ elm.attachEvent('on' + evType, fn, false); } else { elm.addEventListener(evType, fn, useCapture); } } function getEventSrc(e) { if (!e) e = window.event; if (e.originalTarget) return e.originalTarget; else if (e.srcElement) return e.srcElement; } var EventCache = function(){ var listEvents = []; return { listEvents : listEvents, add : function(node, sEventName, fHandler, bCapture){ listEvents.push(arguments); }, flush : function(){ var i, item; for(i = listEvents.length - 1; i >= 0; i = i - 1){ item = listEvents[i]; if(item[0].removeEventListener){ item[0].removeEventListener(item[1], item[2], item[3]); }; /* From this point on we need the event names to be prefixed with 'on" */ if(item[1].substring(0, 2) != "on"){ item[1] = "on" + item[1]; }; if(item[0].detachEvent){ item[0].detachEvent(item[1], item[2]); }; item[0][item[1]] = null; }; } }; }(); /* Add onLoad events to start the whole thing */ function ajaxContact() { var frmEl = getFormId(); addEvent(frmEl, 'submit', validateFields, false); addEvent(frmEl, 'reset', resetForm, false); frmEl.onsubmit = function() { return false; } } if (ie) { window.attachEvent("onload", addBlursandHighlights, false); window.attachEvent("onload", attachConditions, false); } else { window.addEventListener("load", addBlursandHighlights, false); window.addEventListener("load", attachConditions, false); } /*addEvent(window, 'load',ajaxContact, false); addEvent(window,'unload',EventCache.flush, false);*/