var last_op;
var prev_cursor={u:-1,v:-1};
var last_seen_language="";
var stats_url="/processInput";
function log_stats(){
var _1=last_op;
if(_1&&_1.lang!="english"){
var _2=Math.floor(Math.random()*100000000);
if(_1.text&&_1.text!=" "){
$.get(stats_url,{"action":_1.type,"lang":_1.lang,"word":_1.text,"rand":_2});
}
if(_1.original_text){
$.get(stats_url,{"action":_1.type,"lang":_1.lang,"word":_1.current_text,"prevWord":_1.original_text,"rand":_2});
}
}
}
function addq(_3){
log_stats();
last_op=_3;
}
function replace_last_inserted_node(_4){
last_op=_4;
}
function get_last_inserted_node(){
if(last_op){
return last_op;
}
return null;
}
function set_cursor(_5,_6){
_5.u=_6.u;
_5.v=_6.v;
}
function update_prev_cursor(_7,_8,_9,_a){
if(_9==0){
_7.v+=_8-1;
}else{
_7.u=_9;
_7.v=_a-1;
}
}
function are_cursors_equal(c1,c2){
return (c1.u==c2.u&&c1.v==c2.v)?true:false;
}
function init_prev_cursor(){
prev_cursor.u=-1;
prev_cursor.v=-1;
}
function get_time(){
return new Date();
}
function is_substring(s1,s2){
var _f=s2.substring(0,s2.length-1);
return (s1==_f)?true:false;
}
function processAddFrag(_10,_11){
var _12;
var _13=_11.initial.length;
for(var i=0;i<_13;i++){
var f=_11.initial[i];
last_seen_language=_11.initial[i].attr.lang;
var _16=f.is_QDFXlit?f.english:f.text;
_12={type:"addWord",text:_16,lang:f.attr.lang,time:get_time()};
addq(_12);
}
var _17=_11.lines.length;
for(var i=0;i<_17;i++){
var _18=_11.lines[i];
var _19=_18.items.length;
for(var j=0;j<_19;j++){
last_seen_language=_18.items[j].attr.lang;
var _1b=_18.items[j];
var _16=_1b.is_QDFXlit?_1b.english:_1b.text;
_12={type:"addWord",text:_16,lang:_1b.attr.lang,time:get_time()};
addq(_12);
}
}
var _1c=_17==0?0:_11.lines[_17-1].items.length;
set_cursor(prev_cursor,_10);
update_prev_cursor(prev_cursor,_13,_17,_1c);
}
function processChangeXlit(_1d,_1e,_1f){
var _20;
var _21=get_last_inserted_node();
if(_21==null){
_20={type:"editWord",original_text:_1e,current_text:_1e,lang:last_seen_language,time:get_time()};
addq(_20);
}else{
if((are_cursors_equal(prev_cursor,_1d))&&(_21.type=="addWord")&&is_substring(_21.text,_1e)){
_20={type:"addWord",text:_1e,lang:_21.lang,time:get_time()};
replace_last_inserted_node(_20);
}else{
if((are_cursors_equal(prev_cursor,_1d))&&(_21.type=="addWord")&&is_substring(_1e,_21.text)){
_20={type:"editWord",original_text:_21.text,current_text:_1e,lang:_21.lang,time:get_time()};
addq(_20);
}else{
if((are_cursors_equal(prev_cursor,_1d))&&(_21.type=="editWord")){
_20={type:"editWord",original_text:_21.original_text,current_text:_1e,lang:_21.lang,time:get_time()};
replace_last_inserted_node(_20);
}else{
if(!are_cursors_equal(prev_cursor,_1d)){
_20={type:"editWord",original_text:_1f,current_text:_1e,lang:last_seen_language,time:get_time()};
addq(_20);
}
}
}
}
}
set_cursor(prev_cursor,_1d);
}
function processDelFrag(_22,_23){
var _24;
var _25=_23.initial.length;
var _26=_23.lines.length;
if((_25==1)&&(_26==0)){
var f=_23.initial[0];
var _28=f.is_QDFXlit?f.english:f.text;
var _29=get_last_inserted_node();
if(_29==null){
_24={type:"deleteWord",text:_28,lang:f.attr.lang,time:get_time()};
addq(_24);
}else{
if((are_cursors_equal(prev_cursor,_22))&&(_29.current_text==_28)&&(_29.type=="editWord")){
_24={type:"deleteWord",text:_29.original_text,lang:f.attr.lang,time:get_time()};
replace_last_inserted_node(_24);
}else{
if((are_cursors_equal(prev_cursor,_22))&&(_29.text==_28)&&(_29.type=="addWord")){
_24={type:"deleteWord",text:_29.text,lang:f.attr.lang,time:get_time()};
addq(_24);
}else{
if(!are_cursors_equal(prev_cursor,_22)){
_24={type:"deleteWord",text:_28,lang:f.attr.lang,time:get_time()};
addq(_24);
}
}
}
}
}else{
for(var i=0;i<_25;i++){
var f=_23.initial[i];
var _28=f.is_QDFXlit?f.english:f.text;
_24={type:"deleteWord",text:_28,lang:f.attr.lang,time:get_time()};
addq(_24);
}
for(var i=0;i<_23.lines.length;i++){
var _2b=_23.lines[i];
var _2c=_2b.items.length;
for(var j=0;j<_2c;j++){
var _2e=_2b.items[j];
var _28=_2e.is_QDFXlit?_2e.english:_2e.text;
_24={type:"deleteWord",text:_28,lang:_2e.attr.lang,time:get_time()};
addq(_24);
}
}
}
init_prev_cursor();
}

