IBSYS.using("widgets");IBSYS.widgets.ezMailForm={init:function(el,config){var forms=el.getElementsByTagName("form"),yue=YAHOO.util.Event,emailInput=forms[0].elements["email"];yue.addListener(forms,"submit",function(e){var connect=YAHOO.util.Connect,form=yue.getTarget(e),elWarning;emailInput.value=emailInput.value.replace(/^\s\s*/,"").replace(/\s\s*$/,"");if(emailInput.value.match(/^(?:[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/)){if(form.elements["dlist"]){connect.setForm(form);connect.asyncRequest("POST","/esi/services/array/Proxy.esi?page=services/subscribe_noconf",{success:this.onSuccess,failure:this.onFailure,argument:[form]});yue.stopEvent(e);}}else{if(!this.elWarning){elWarning=document.createElement("div");elWarning.className="validationError";this.elWarning=elWarning;emailInput.parentNode.insertBefore(elWarning,emailInput);}this.elWarning.innerHTML="Please enter a valid address.";yue.stopEvent(e);}},this,true);yue.addListener(emailInput,"focus",function(){if(emailInput.value==config.emailPrompt){emailInput.value="";}});yue.addListener(emailInput,"blur",function(){if(emailInput.value==""&&config.emailPrompt){emailInput.value=config.emailPrompt;}});},onSuccess:function(r){var form=r.argument[0],par=form.parentNode,div=document.createElement("div"),m;div.style.padding="5px";par.insertBefore(div,form);par.removeChild(form);m=r.responseText.match(/(?:<br\s*\/?>\s*){2}(<blockquote[\s\S]*)(?:<br\s*\/?>\s*){3}/);if(m){div.innerHTML=m[1];}else{div.innerHTML="There was a problem submitting your information. An unexpected response was received.";}},onFailure:function(r){var form=r.argument[0],div=document.createElement("div");div.style.padding="5px";div.innerHTML="There was a problem submitting your information. The request failed.";form.parentNode.insertBefore(div,form);}};
