jQuery(document).ready(function( $ ) {
function isEmpty(str) {
return (!str || 0 === str.length);
}
function sendNotice(noticeClass, message) {
$('#output').html('
');
}
function requestRender(json) {
var jsonBibtex = JSON.stringify(json);
$('[name=bibtex_json]').val(jsonBibtex);
var data = {
'action' : 'academizer_ajax_render_bibtex',
'bibtex' : jsonBibtex,
'paper_url' : $('[name=paper_url]').val(),
'pub_url' : $('[name=pub_url]').val(),
};
jQuery.post(academizer.ajax_url, data, function(response) {
response = JSON.parse(response);
if (response.result > 0) {
sendNotice('notice-info', 'Bibtex type: ' + json[0].entryType + '');
$('#output').append(response.message);
}
else
sendNotice('notice-error', response.message);
});
}
var $ = jQuery.noConflict();
var bibtex = $('[name=bibtex]');
var bibtexJSON = $('[name=bibtex_json]') ;
var jsonText = bibtexJSON.val();
bibtex.on('change', function() {
try {
var json = bibtexParse.toJSON(bibtex.val());
if (json.length == 0) {
sendNotice('notice-error', 'No Bibtex entered.');
return;
}
}
catch(e)
{
sendNotice('notice-error', 'Bibtex is invalid.');
}
requestRender(json);
});
if (!isEmpty(jsonText)) {
try {
var json = JSON.parse(jsonText);
var bibtexRef = bibtexParse.toBibtex(json, false).replace("\n\n","");
bibtex.text(bibtexRef);
}
catch (e)
{
sendNotice('notice-error', 'Bibtex is invalid.');
}
bibtex.trigger('change');
}
});