// callback - функция с аргументами (error, result), где result - объект с полями
// success (булево) и message (строка, опционально)
// Если происходит ошибка запроса, то error будет задано, а result - нет.
// В случае успешного запроса - наоборот (см. "node-style callback")
functioncheckEmailOnServer(email,callback){
// Проверяем на сервере
$.ajax({
url:'//eterfund.ru/api/email/svcCheckEmail.php',
type:'GET',
data:{
email:email
},
error:function(){
callback(newError('Ошибка связи с сервером'),null);
},
success:function(responseRawBody){
try{
varresponseJson=JSON.parse(responseRawBody);
if(responseJson.status===false){
callback(null,{
message:responseJson.error,
success:false
});
}else{
callback(null,{
hash:responseJson.hash,
success:true
});
}
}catch(error){
callback(error,null);
}
}
});
}
functioncloseNotice(){
if(noticeShow===true){
clearTimeout(noticeTimer);
emailNotice.animate({marginTop:'-=51px'},300);
noticeShow=false;
}
}
functiongetEMail(){
varemail=emailInput.val();
try{
email=email.trim();
}catch(e){
//
}catch(error){
// Trim недоступен в текущем браузере. Вернём как есть.
// TODO: исправить?
}
returnemail;
}
functioncloseNotice(){
if(noticeShow===true){
clearTimeout(noticeTimer);
emailNotice.animate({marginTop:'-=51px'},300);
noticeShow=false;
functiongetErrorMessage(error){
vardefaultMessage='Введённый вами адрес недоступен. Пожалуйста, укажите корректный e-mail.';
return{
'dns_records_not_found':'Проверьте e-mail, такой домен не обнаружен.',
'typed_domain':'Обнаружена опечатка в домене. Проверьте внимательно указанный вами e-mail.',
'wrong_email_format':'Что-то не так в написании адреса. Возможно, указаны лишние точки или пробелы.<br>Адрес должен иметь вид: <b>имя_пользователя@имя_домена</b> (например <b>somebody@example.com</b>)',
'check':'Идёт проверка адреса e-mail, это может занять несколько секунд.',
'empty':'Адрес email пустой. Необходимо ввести корректный адрес email.'
noticeText='Проверьте e-mail, такой домен не обнаружен.';
break;
case'typed_domain':
noticeText='Обнаружена опечатка в домене. Проверьте внимательно указанный вами e-mail.';
break;
case'wrong_email_format':
noticeText='Что-то не так в написании адреса. Возможно, указаны лишние точки или пробелы.<br>Адрес должен иметь вид: <b>имя_пользователя@имя_домена</b> (например <b>somebody@example.com</b>)';
break;
// FIXME
case'check':
noticeText='Идёт проверка адреса e-mail, это может занять несколько секунд.';
default:
// FIXME
noticeText='Введённый вами адрес недоступен. Пожалуйста, укажите корректный e-mail.';