// WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
// Javascript file for project: SD Module (JS)
// Project URL: any URL / projects
// Module: «Comment Form» - модуль формирующий формы для постинга комментариев
// Author: Zerohold
// Site author script: www.sd-company.su
// Date create: July 2011 year
// Date last change: December 2011 year
// WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
function sdo_comment_form()
// Выполняет: Добавление комментариев
{
this.obj_name='sd_comment_form';
this.div_control_id='sd_comment_form';// div контенйнер, куда производится вывод информации
this.url_sender='/';// ссылка на страницу, которая обслуживает запросы данного скрипта
this.url_page=document.location.href;// ссылка к которой будет относиться коментарий, по умолчанию текущий url (href) берется
this.loginza=0;// 1 - включена идентификация через loginza
this.input_site=0;// 1 - дать возможность вводить сайт
this.name_set='';// имя установленное принудительно
this.email_set='';// email установленный принудительно
this.site_set='';// сайт установленный принудительно
this.image_set='';// изображение /аватарка установленная принудительно
this.email_required=1;// 1 - обязательно к заполнеиню, 0 - не обязательно
this.user_name={};
this.user_name.default_='Имя пользователя';
this.user_email={};
this.user_email.default_='Email пользователя';
this.user_comment={};
this.user_comment.default_='Здесь пишут комментарий';
// параметры кнопки открытия формы для комментариев
this.button_form_add_float='inherit';// выравнивание у кнопки
this.button_form_add_visible=1// показывать кнопку добавления коментирования
this.button_form_add_caption='Добавить комментарий';
// параметры кнопки при отправке комментария на сервер
this.button_comment_add_float='inherit';// выравнивание у кнопки
// _____________________________________________________________________________
this.start=function()
// Выполняет: запуск объекта в работу
{
this.css_add();// добавляем классы/стили
if (this.button_form_add_visible==1)
{ var r='';
  r+='<div class="sd_'+this.button_comment_add_float+'">';
  r+='<span class="sd_button"><span onclick="'+this.obj_name+'.comment_add();">'+this.button_form_add_caption+'</span></span>';
  r+='</div>';
  $('#'+this.div_control_id).html(r);
}
}// /start
// _____________________________________________________________________________
this.comment_add=function()
// Выполняет: создание формы для ввода комментария
{
var r='';
if (this.loginza==1)
{ r+='<script src="http://loginza.ru/js/widget.js"></script>';
  r+='<div class="sd_comment_form_loginza"><span>Также Вы можете войти используя: </span>';
  var ur='https://loginza.ru/api/widget?token_url='+this.url_page+'&provider=';
  r+='<a href="'+ur+'google"><img src="http://loginza.ru/img/providers/google.png" alt="Google" title="Google Accounts"></a> ';
  r+='<a href="'+ur+'twitter"><img src="http://loginza.ru/img/providers/twitter.png" alt="Twitter" title="Twitter"></a> ';
  r+='<a href="'+ur+'facebook"><img src="http://loginza.ru/img/providers/facebook.png" alt="Facebook" title="Facebook"></a> ';
  r+='<a href="'+ur+'vkontakte"><img src="http://loginza.ru/img/providers/vkontakte.png" alt="Вконтакте" title="Вконтакте"></a> ';
  r+='</div>';
}
r+='<div class="sd_comment_form_user">';
if (this.image_set!='')
{ r+='<div class="sd_comment_form_avatar"><img src="'+this.image_set+'" alt="'+this.name_set+'" title="'+this.name_set+'" /></div>';
}
if (this.name_set=='')
{ r+='<input type="text" class="sd_comment_form_input" name="name_" value="'+this.user_name.default_+'" onfocus="sdf_helper_input_in(this,'+this.obj_name+'.user_name);" onblur="sdf_helper_input_out(this,'+this.obj_name+'.user_name);" />';
}
else 
{ r+='<div class="sd_comment_form_name_set">'+this.name_set+'</div>';
}
if (this.email_set=='')
{ r+='<input type="text" class="sd_comment_form_input" name="email" value="'+this.user_email.default_+'" onfocus="sdf_helper_input_in(this,'+this.obj_name+'.user_email);" onblur="sdf_helper_input_out(this,'+this.obj_name+'.user_email);" /></div>';
}
else
{ r+='<div class="sd_comment_form_email_set">'+this.email_set+'</div>';
}
r+='<div class="sd_clear"></div>';
r+='</div>';// /sd_comment_form_user
r+='<div class="sd_comment_form_comment"><textarea name="comment_" onfocus="sdf_helper_input_in(this,'+this.obj_name+'.user_comment);" onblur="sdf_helper_input_out(this,'+this.obj_name+'.user_comment);">'+this.user_comment.default_+'</textarea></div>';
r+='<div class="sd_'+this.button_comment_add_float+'">';
r+='<span class="sd_button"><span onclick="'+this.obj_name+'.comment_add_ok();">Добавить</span></span>';
r+='</div>';
$('#sd_comment_form').html(r);
}// /comment_add
// _____________________________________________________________________________
this.comment_add_ok=function()
// Выполняет: отправлет данные из формы коментирования на сервер
{
// определяем имя
var name_='';
if (this.name_set=='') { name_=$('input[name="name_"]').val(); } else { name_=this.name_set; }
if ((name_=='')||(name_==this.user_name.default_)) { sdf_alert('Укажите обязательно свое имя'); sdf_focus('name_'); return; }
// определяем email
var email='';
if (this.email_set=='') { email=$('input[name="email"]').val(); } else { email=this.email_set; }
if (this.email_required==1)
{ if ((email=='')||(email==this.user_email.default_)) { sdf_alert('Укажите обязательно свой email'); sdf_focus('email'); return; }
  if (sdf_email_check(email)==0) { sdf_alert('Не верно указан Email'); sdf_focus('email'); return; }
}
else
{ if (email==this.user_email.default_) { email=''; }
}
// определяем комментарий
var comment_=$('textarea[name="comment_"]').val();
if ((comment_=='')&&(this.user_comment.default_)) { sdf_alert('А Хде коменты то? Коменты то Хде?'); sdf_focus('comment_'); return; }
var title_=$('h1:eq(0)').html();
var p={};// p=params
p.mode='comment_add';
p.url=this.url_page;
p.title=title_;
p.name_=name_;
p.email=email;
p.image=this.image_set;
p.comment_=comment_;
var i=sdf_ajax(this.url_sender,p);

if (i.data.correct==1)
{ // sdf_alert('Ваш комментарий отправлен на рассмотрение присяжных заседателей');
   sdf_goto(this.url_page);
}
}// /comment_add_ok
// _____________________________________________________________________________
this.css_add=function()
// Выполняет: добавление необходимых классов/стилей для работы формы
{
// формируем необходимые стили для работы
var form_shadow='';
if (this.shadow_size>0)
{ form_shadow='box-shadow:0px 0px '+this.shadow_size+'px '+this.shadow_color+';';
}
var s='';// s=style
s+='<style>'+"\n";
s+='.sd_comment_form_loginza { height:20px; line-height:20px; font-family:tahoma; font-size:12px; }'+"\n";
s+='.sd_comment_form_loginza, .sd_comment_form_loginza span, .sd_comment_form_loginza img { vertical-align:middle; }'+"\n";
s+='.sd_comment_form_input { border:1px solid #CCC; margin-right:5px; margin-bottom:5px; padding:3px; width:188px; color:#111; font-family:arial; font-size:12px; }'+"\n";
s+='.sd_comment_form_comment, .sd_comment_form_comment textarea { margin-left:auto; margin-right:auto; width:409px; }'+"\n";
s+='.sd_comment_form_comment textarea { border:1px solid #CCC; margin-bottom:5px; padding:3px; height:90px; color:#111; font-family:arial; font-size:12px; }'+"\n";
s+='.sd_comment_form_avatar { width:40px; height:32px; text-align:center; vertical-align:top; float:left; }'+"\n";
s+='.sd_comment_form_avatar img { width:32px; height:32px; }'+"\n";
s+='.sd_comment_form_name_set { padding-left:40px; color:#000; font-family:verdana; font-size:12px; font-weight:bold; text-align:justify; }'+"\n";
s+='.sd_comment_form_email_set { padding-left:40px; color:#666; font-family:arial; font-size:10px; font-weight:normal; text-align:justify; }'+"\n";
s+='</style>'+"\n";
$('head').append(s);
return;
}// /css_add
}// /sdo_comment_form
