You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
162 lines
5.5 KiB
162 lines
5.5 KiB
9 years ago
|
/*Limit symbols*/
|
||
|
(function($){$.fn.extend({limit:function(limit,element){var interval,f;var self=$(this);$(this).focus(function(){interval=window.setInterval(substring,100)});$(this).blur(function(){clearInterval(interval);substring()});substringFunction="function substring(){ var val = $(self).val();var length = val.length;if(length > limit){$(self).val($(self).val().substring(0,limit));}";if(typeof element!='undefined')substringFunction+="if($(element).html() != limit-length){$(element).html((limit-length<=0)?'0':limit-length);}";substringFunction+="}";eval(substringFunction);substring()}})})(jQuery);
|
||
|
|
||
|
function getCaptha(){
|
||
|
now = new Date();
|
||
|
$('#captcha img').attr('src', aveabspath+'inc/captcha.php?cd=' + now);
|
||
|
};
|
||
|
|
||
|
function cAction(obj,action){
|
||
|
var cid = $(obj).parents('.mod_comment_box').attr('id');
|
||
|
if (action=='answer'){
|
||
|
$('#parent_id').val(cid);
|
||
|
$('#mod_comment_new').insertAfter('#'+cid);
|
||
|
return;
|
||
|
}
|
||
|
if (UGROUP==1){
|
||
|
$.get(aveabspath+'index.php',{
|
||
|
module: 'comment',
|
||
|
action: action,
|
||
|
docid: DOC_ID,
|
||
|
Id: cid
|
||
|
},function(){
|
||
|
if (action=='delete'){
|
||
|
$(obj).parents('.mod_comment_comment').eq(0).remove();
|
||
|
}
|
||
|
if (action=='open'){
|
||
|
$(obj).unbind('click')
|
||
|
.click(function(){cAction(obj,'close');})
|
||
|
.html(COMMENT_SITE_CLOSE);
|
||
|
}
|
||
|
if (action=='close'){
|
||
|
$(obj).unbind('click')
|
||
|
.click(function(){cAction(obj,'open');})
|
||
|
.html(COMMENT_SITE_OPEN);
|
||
|
}
|
||
|
if (action=='unlock'){
|
||
|
$(obj).unbind('click')
|
||
|
.click(function(){cAction(obj,'lock');})
|
||
|
.attr('title',COMMENT_LOCK_LINK)
|
||
|
.find('img').attr('src',aveabspath+'modules/comment/templates/images/lock.gif');
|
||
|
}
|
||
|
if (action=='lock'){
|
||
|
$(obj).unbind('click')
|
||
|
.click(function(){cAction(obj,'unlock');})
|
||
|
.attr('title',COMMENT_UNLOCK_LINK)
|
||
|
.find('img').attr('src',aveabspath+'modules/comment/templates/images/unlock.gif');
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
};
|
||
|
|
||
|
function validate(formData,jqForm,options){
|
||
|
$('.alert').remove();
|
||
|
var form = jqForm[0];
|
||
|
if (!form.comment_author_name.value){
|
||
|
alert(COMMENT_ERROR_AUTHOR);
|
||
|
$(form.comment_author_name).focus();
|
||
|
return false;
|
||
|
}
|
||
|
if (!form.comment_author_email.value){
|
||
|
alert(COMMENT_ERROR_EMAIL);
|
||
|
$(form.comment_author_email).focus();
|
||
|
return false;
|
||
|
}
|
||
|
if (!form.comment_text.value){
|
||
|
alert(COMMENT_ERROR_TEXT);
|
||
|
$(form.comment_text).focus();
|
||
|
return false;
|
||
|
}
|
||
|
if (IS_IM && !form.securecode.value){
|
||
|
alert(COMMENT_ERROR_CAPTCHA);
|
||
|
$(form.securecode).focus();
|
||
|
return false;
|
||
|
}
|
||
|
return true;
|
||
|
};
|
||
|
|
||
|
function setClickable(){
|
||
|
$('.editable_text').click(function(){
|
||
|
var cid = $(this).parents('.mod_comment_box').attr('id');
|
||
|
var revert = $(this).html();
|
||
|
var textarea = '<p><textarea rows="7" id="ta_'+cid+'" class="editable">'+revert+'</textarea></p>';
|
||
|
var charsLeft = '<p>'+COMMENT_CHARS_LEFT+' <span class="charsLeft" id="charsLeft_'+cid+'"></span></p>';
|
||
|
var buttonSave = '<input type="button" value="'+COMMENT_BUTTON_EDIT+'" class="button saveButton" /> ';
|
||
|
var buttonReset = '<input type="button" value="'+COMMENT_BUTTON_CANCEL+'" class="button cancelButton" />';
|
||
|
$(this).after('<div class="box"><div class="block" id="forms"><fieldset><legend>'+COMMENT_EDIT_TITLE
|
||
|
+'</legend>'+textarea+buttonSave+buttonReset+charsLeft+'</fieldset></div></div>').remove();
|
||
|
$('.saveButton').click(function(){saveChanges(this,false,cid);});
|
||
|
$('.cancelButton').click(function(){saveChanges(this,revert,cid);});
|
||
|
$('#ta_'+cid).limit(MAX_CHARS,'#charsLeft_'+cid);
|
||
|
})
|
||
|
/*.addClass('tooltip')*/
|
||
|
.attr('title',COMMENT_EDIT_LINK)
|
||
|
.mouseover(function(){$(this).addClass('editable');})
|
||
|
.mouseout(function(){$(this).removeClass('editable');});
|
||
|
$('#in_message').limit(MAX_CHARS,'#charsLeft_new');
|
||
|
$('.mod_comment_answer').click(function(){cAction(this,'answer');});
|
||
|
if (UGROUP == 1){
|
||
|
$('.mod_comment_delete').click(function(){cAction(this,'delete');});
|
||
|
$('.mod_comment_lock').click(function(){cAction(this,'lock');});
|
||
|
$('.mod_comment_unlock').click(function(){cAction(this,'unlock');});
|
||
|
}
|
||
|
};
|
||
|
|
||
|
function saveChanges(obj,cancel,cid){
|
||
|
if (!cancel){
|
||
|
var t = $(obj).parent().children().children().val();
|
||
|
$.post(aveabspath+'index.php',{
|
||
|
module: 'comment',
|
||
|
action: 'edit',
|
||
|
Id: cid,
|
||
|
text: t
|
||
|
},
|
||
|
function(txt){
|
||
|
$(obj).parent().parent().parent().after('<div class="mod_comment_text editable_text">'+txt+'</div>').remove();
|
||
|
var now = new Date();
|
||
|
var date = now.toLocaleFormat(COMMENT_DATE_TIME_FORMAT);
|
||
|
$('#'+cid).find('.mod_comment_changed').html(' ('+COMMENT_TEXT_CHANGED+' '+date+')');
|
||
|
setClickable();
|
||
|
});
|
||
|
}
|
||
|
else {
|
||
|
$(obj).parent().parent().parent().after('<div class="mod_comment_text editable_text">'+cancel+'</div>').remove();
|
||
|
setClickable();
|
||
|
}
|
||
|
};
|
||
|
|
||
|
function displayNewComment(data){
|
||
|
if (data=='wrong_securecode'){
|
||
|
$('#captcha').after('<div class="alert alert-error">'+COMMENT_WRONG_CODE+'</div>');
|
||
|
$('#securecode').focus();
|
||
|
}
|
||
|
else {
|
||
|
$('#end'+$('#parent_id').val()).before(data);
|
||
|
$('#parent_id').val('');
|
||
|
$('#mod_comment_new').insertAfter('#end').resetForm();
|
||
|
setClickable();
|
||
|
}
|
||
|
getCaptha();
|
||
|
};
|
||
|
|
||
|
$(document).ready(function(){
|
||
|
$('#captcha img').click(function(){getCaptha();});
|
||
|
setClickable();
|
||
|
$('#mod_comment_new form').submit(function(){
|
||
|
$(this).ajaxSubmit({
|
||
|
url: aveabspath+'index.php?ajax=1',
|
||
|
beforeSubmit: validate,
|
||
|
success: displayNewComment,
|
||
|
timeout: 3000
|
||
|
});
|
||
|
return false;
|
||
|
});
|
||
|
$('#buttonReset').click(function(){
|
||
|
$('#parent_id').val('');
|
||
|
$('#mod_comment_new').insertAfter('#end').resetForm();
|
||
|
});
|
||
|
if (UGROUP==1){
|
||
|
$('#mod_comment_open').click(function(){cAction(this,'open');});
|
||
|
$('#mod_comment_close').click(function(){cAction(this,'close');});
|
||
|
}
|
||
|
});
|