//-----------------------------------INVIA MAIL AD UN AMICO ------------------------------------------------------ function hideMailForm() { $('mailwrap').style.display='none'; } function showMailForm(link) { $('mailwrap').style.display=''; var divName = 'mailwrap'; var pageName = '/electaweb/nose/servizi/mail/send_mail.jsp'; var sParams = 'm_link='+link+'&m_action=show'; var myAjax = new Ajax.Updater(divName, pageName, {parameters: sParams,evalScripts:true}); } function showMailFormTo(table,to,desc) { $('mailwrap').style.display=''; var divName = 'mailwrap'; var pageName = '/electaweb/nose/servizi/mail/send_mail.jsp'; var sParams = 'm_table='+table+'&m_idTo='+to+'&m_descTo='+desc+'&m_action=show'; var myAjax = new Ajax.Updater(divName, pageName, {parameters: sParams,evalScripts:true}); } function checkFieldMailForm(){ var to=$('mto'); var from=$('mfrom'); var cc=$('mcc'); var mail_form=$('mail_form'); //id della tabella e della riga in cui cercare l'indirizzo mail var table_mail=Form.Element.getValue('m_table'); var id_mail=Form.Element.getValue('m_idTo'); var querystring=""; var error=new Array(); to.value=StripSpaces(to.value); from.value=StripSpaces(from.value); cc.value=StripSpaces(cc.value); if (from.value) { if (!is_valid_email(from.value)) { error=error.concat("Email of sender not valid."); } } else error=error.concat("Email of sender required. "); if (to.value) { to_array=to.value.split(","); for(k=0; k < to_array.length ; k++) { if (!is_valid_email(to_array[k])) { checkTable = parseInt(table_mail); if(isNaN(checkTable) || checkTable == 0) error=error.concat(to_array[k]+" Address not valid. "); else querystring="&mtable="+table_mail+"&midmail="+id_mail; } } } else error=error.concat("Destination address required. "); if (cc.value) { cc_array=cc.value.split(","); for(k=0; k < cc_array.length ; k++) { if (!is_valid_email(cc_array[k])) { error=error.concat(cc_array[k]+" CC not valid. "); } } } if (error.length > 0) { var html=""; for(j=0; j < error.length; j++) { html+=error[j]+"
"; } $('mailerrors').innerHTML=html; return false; } var mlink=Form.Element.getValue('mlinkbody'); mlink=""+mlink+""; var half=$('mmsg').innerHTML; var divName = 'mailerrors'; var pageName = '/invia-mail'; var sParams = Form.serialize(mail_form,true)+"&mmessage="+half+"&mlinkbody="+mlink+querystring; var myAjax = new Ajax.Updater(divName, pageName, {parameters: sParams,evalScripts:true,onComplete: function(resp) { if (resp.responseText.indexOf('your message has been send') != -1) { $(divName).innerHTML='Message sent correctly. '; Form.reset(mail_form); Form.disable(mail_form); } else $(divName).innerHTML='Sorry. Unable to deliver message. '; }}); } function is_valid_email(email) { if (email.search(/^[^@]{1,64}@[^@]{1,255}$/) != 0) { return false; } email_array = email.split('@'); local_array = email_array[0].split("."); for (i = 0; i < local_array.length; i++) { if (local_array[i].search("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$")!=0) { return false; } } if (email_array[1].search("^\[?[0-9\.]+\]?$")!=0) { domain_array = email_array[1].split("."); if (domain_array.length < 2) { return false; // Not enough parts to domain } for (i = 0; i < domain_array.length; i++) { if (domain_array[i].search("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$") != 0) { return false; } } } return true; } function StripSpaces(s) { while((s.indexOf(' ',0) == 0) && (s.length > 1)) { s = s.substring(1,s.length); } while((s.lastIndexOf(' ') == (s.length - 1) && (s.length > 1))) { s = s.substring(0,(s.length - 1)); } if((s.indexOf(' ',0) == 0) && (s.length == 1)) s = ''; return s; } var myGlobalHandlers = { onCreate: function(){ Element.show('systemWorking'); }, onComplete: function() { if(Ajax.activeRequestCount == 0){ Element.hide('systemWorking'); } } }; Ajax.Responders.register(myGlobalHandlers);