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
/*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');}); |
|
} |
|
}); |