//-----------------------------------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);