var last_pairs_timeout = 1000;
var window_active = true;
var redirect = false;

$(document).ready(function(){
  $("#send_word").click(send_word);
  $("#next_word").click(next_word);
  $("#send_word_form").submit(send_word);
  $("#word_answ").focus();
  last_pairs_init();
	$(window).focus(function(ev) {window_active = true; });
	$(window).blur(function(ev) { window_active = false;});
	$("#outer").mouseover(function() { window_active = true; });
	$("#outer").mouseout(function() { window_active = false; });
	$("#word_answ").keyup(word_ctrl_enter);
});

function word_ctrl_enter(e) {
	if ((e.keyCode == 13) && (e.ctrlKey)) {
		send_word();
	}
	return true;
}

var last_pair_timer;
function last_pairs_init() {
	setTimeout(update_pairs, last_pairs_timeout);
}

function update_pairs() {
	if (!window_active) {
		last_pairs_init();
		return false;
	}
	if (last_pairs.length > 0) {
		var new_pair = $("#last_pair").clone();
		new_pair.attr("id", "");
		new_pair.attr("class", "pair");
		var spans = new_pair.find("span.d");
		var pair_data = last_pairs.shift();
		for(var i in pair_data) {
			if ((spans[i]) && (pair_data[i])) {
				$((spans[i])).text(pair_data[i]);
			}
		}
		$("#last_pairs_list").prepend(new_pair);
		if ($.browser.msie) {
			new_pair.show();
		} else {
			new_pair.slideDown(100);
		}
		var lis = $("#last_pairs_list").find("li.pair");
		if (lis.length > 15) {
			$((lis[lis.length - 1])).remove();
		}
		last_pairs_init();
	} else {
		$.ajax({
  		type: "GET",
  		url: "/pair/all?n=all",
  		dataType: "script",
  		success: function() {
				last_pairs_init();
  		},
  		error: function() {
				setTimeout(update_pairs, last_pairs_timeout * 100);
  		}
		});
	}
}

var form_blocked = false;
function block_form() {
	form_blocked = true;
	$("#next_word").attr("class", "block qwst qwst_gray");
	$("#send_word").attr("class", "block qwst qwst_gray");
}

var word_form_focus = true;
function unblock_form() {
	form_blocked = false;
	$("#next_word").attr("class", "block qwst");
	$("#send_word").attr("class", "block qwst");
	if (word_form_focus) {
		$("#word_answ").focus();
	}
}

var next_word_disabled = false;

function next_word() {
	if (form_blocked) {
		return false;
	}
	if (next_word_disabled) {
		return false;
	}
 	block_form();
  $.ajax({
  	type: "GET",
  	url: "/word?" + Math.random(),
  	dataType: "script",
  	data: {
	 		fn: $("#send_word_fn").attr("value") ? $("#send_word_fn").attr("value") : ''
	 	},
  	success: function(data, status) {
 			unblock_form();
		  help_unblock();
  	},
  	error: function() {
 			unblock_form();
		  show_help_by_id("word_next_error");
		  help_unblock();
  	}
	});
	return false;
}

function show_next_word(id_word, word_name) {
	if (word_name) {
		$(".next_word").text(word_name);
		show_help_by_id("type_word");
	}
	if (id_word) {
		$("#id_word").attr("value", id_word);
	}
//  if (redirect) {
//    document.location.href = '/list/' + redirect;
//  }
}

function show_new_pair(word_name, word_uri, users_cnt) {
  if (redirect) {
    document.location.href = '/list/' + redirect;
  }

  $("#nothing_write").hide();
	$(".new_word").text(word_name);
	var w1 = $($(".next_word")[0]).text();
	if ($("#my_pair").length > 0) {
		var new_pair = $("#my_pair").clone();
		new_pair.attr("id", "");
		new_pair.find("span.word1").text(w1);
		new_pair.find("span.word1").parent().attr("href", "/list/" + w1);
		new_pair.find("span.word2").html(word_name);
		new_pair.find("span.word2").parent().attr("href", "/list/" + word_uri);
		$("<span></span> <span>&nbsp;</span>").insertAfter($("#my_pair"));
		new_pair.attr("class", "inpair pair" + users_cnt);
		new_pair.insertAfter($("#my_pair"));
		show_help_by_id("word_is_send");
		new_pair.fadeIn('slow');
	}
	$("#word_answ").attr("value", "");
	if (word_form_focus) {
		$("#word_answ").focus();
	}

	var word1 = w1;
	var word2 = word_name;
	var user  = $("#its_me").text();
	if (last_pairs) {
  	last_pairs.unshift([word1, word2, user, 1]);
  }
	unblock_form();
}

function send_word() {
	if (form_blocked) {
		return false;
	}
	var answ = $.trim($("#word_answ").attr("value"));
	if (!answ) {
	  next_word();
		return false;
	}
	$(".new_word").html(answ);
  show_help_by_id("word_send");
  block_form();
  $.ajax({
  	type: "GET",
  	url: "/word/" + $("#id_word").attr("value"),
  	timeout: 30000,
  	data: {
  		a: answ,
   		fn: $("#send_word_fn").attr("value") ? $("#send_word_fn").attr("value") : ''
  	},
//  	user_data: new_pair,
  	dataType: "script",
  	success: function(data, status) {
		  //show_help_by_id("word_is_send");
		  //$("#nothing_write").hide();
			// show in left
  		//show_next_word(data);
  		//new_pair.find("span.count").text(last_word_users_cnt);
  		//var stl = last_word_users_cnt;
  		//if (stl > 5) {
//  			stl = 5;
  		//}
  		//new_pair.attr("class", new_pair.attr("class") + " pair" + stl);
  		//$("<span> </span>").insertAfter(new_pair);
			//new_pair.fadeIn('slow');
			//show_new_pair_left(new_pair);
		  //unblock_form();
		  //$("#word_answ").attr("value", "");
		  //$("#word_answ").focus();
  	},
  	error: function() {
		  unblock_form();
		  show_help_by_id("word_send_error");
		  //$("#word_answ").focus();
  	}
	});
  //$("#send_word").click(send_word);
  return false;
}

function show_new_pair_left(new_pair) {
	var word1 = new_pair.find("span.word1").text();
	var word2 = new_pair.find("span.word2").text();
	var user  = $("a.its_me").text();
  var words_cnt = last_word_users_cnt;
  last_pairs.push([word1, word2, user, words_cnt]);
}



