function validateRU(){ // hide tip if set! if($("submit").prototip) $("submit").prototip.remove(); $('submit').disable(); var form = $('contactfrm'); // min req is a name and a form of contact var errs = ""; var firstErrEl = ""; $('name').className = 'ok'; if($('name').value==''){ errs += "Please enter your contact name"; $('name').className = 'err'; if(firstErrEl == "") firstErrEl = $('name'); } $('telephone').className = 'ok'; $('address').className = 'ok'; $('email').className = 'ok'; if($('telephone').value=='' && $('address').value=='' && $('email').value==''){ if(errs != "") errs += "\n"; errs += "Please provide a contact method"; $('address').className = 'err'; if(firstErrEl == "") firstErrEl = $('address'); $('email').className = 'err'; if(firstErrEl == "") firstErrEl = $('email'); $('telephone').className = 'err'; if(firstErrEl == "") firstErrEl = $('telephone'); } if($('email').value!='' && !isEMailAddr($('email').value)){ if(errs != "") errs += "\n"; errs += "Email address incorrectly formatted"; $('email').className = 'err'; if(firstErrEl == "") firstErrEl = $('email'); } if(errs!=""){ //alert("Errors prevented your submission:\n"+errs); $('submit').enable(); firstErrEl.focus(); var element = $("submit"); errs = errs.replace("\n", "
"); element.tip = new Tip(element, errs, { showOn: 'click', hideOn: false, hideAfter: Tips.options.defaultTimeout, hook:{target: 'rightMiddle', tip: 'leftMiddle', mouse: false}, stem: 'leftMiddle', style: 'protored', title: 'Errors prevented your submission:', target: firstErrEl}); $("submit").prototip.show(); $("submit").tip.wrapper.shake({duration: 0.5, distance: 2}); return false; } else { // hide tip if set! if($("submit").prototip) $("submit").prototip.hide(); } protectForm(); form.request({ onComplete: function(transport){ $('submit').enable(); var response = transport.responseText; var foo = response.split(": "); var code = foo[0]; var time = foo[1]; var element = $("submit"); switch(code){ case "e": // relay error code element.tip = new Tip(element, 'Your request could not be sent - error reference: %e'.replace('%e',time), { showOn: 'click', hideOn: { element: 'closeButton', event: 'click'}, closeButton: true, hook:{target: 'rightMiddle', tip: 'leftMiddle', mouse: false}, stem: 'leftMiddle', style: 'protogrey', title: 'ERROR'}); $("submit").prototip.show(); $("submit").tip.wrapper.shake({duration: 0.5, distance: 2}); break; case "ok": // relay success element.tip = new Tip(element, 'Thank you for your Request, in future you will now receive Hepco Newsletters.', { showOn: 'click', hideOn: { element: 'closeButton', event: 'click'}, closeButton: true, fixed: 'true', style: 'protoblue', offset: { x: -93, y: -40 }, title: 'Sent'}); $("submit").prototip.show(); new Effect.ShakeVertical($("submit").tip.wrapper, { queue: 'end'}); break; } } }); } function isEMailAddr(str) { var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/; if (!str.match(re)) { return false; } else { return true; } }