// 10 : add training word
// 11 : get next traning word
// 12 : check word
// 13 : translate maschine
// 14 : quickdict
var on_list_click = 0;
var mode;
function get_dict()
{
	if (document.cookie)
	{
		//alert(document.cookie);
		dict_cookie = Lesen('ovdp');
		//alert(dict_cookie);
		if (dict_cookie != '')
		{
			document.getElementById('lstdict').value = dict_cookie;
		}
	}
}

function set_dict()
{
	var dict = document.getElementById('lstdict').value;

	var ex = new Date();
	ex = new Date(ex.getTime() +1000*60*60*24*365);
	document.cookie = 'ovdp='+dict+'; expires='+ex.toGMTString()+';'; 
}

function change_dict()
{
	var dict = document.getElementById('word_dict').value;
	window.location = 'word.php?dict='+dict;
}

function set_word_dict(dict)
{
	document.getElementById('word_dict').value = dict;
}

String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };
function Lesen(n)
{
	a = document.cookie;
 	res = '';
 	while(a != '')
 	{
  		cookiename = a.substring(0,a.search('='));
  		cookiename = cookiename.trim();
  		cookiewert = a.substring(a.search('=')+1,a.search(';'));

  		if (n == cookiename)
  		{
  			res = cookiewert;
  		}

  		i = a.search(';')+1;
  		if(i == 0){i = a.length}
  		a = a.substring(i,a.length);
 	}
 	return(res)
}

/////////////////////////////////AJAX FUNCTIONS/////////////////////////////////////////
/////////////////////////////////AJAX FUNCTIONS/////////////////////////////////////////
/////////////////////////////////AJAX FUNCTIONS/////////////////////////////////////////

function get_sound(word,dict)
{
	mode = 4;
	var sUrl = 'get.php?mode=sound&dict='+dict+'&word='+word+'&tt='+new Date().getTime();
	var trans_sound = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback, null); 
	document.getElementById('indicator').innerHTML= '<img src="./images/indicator.gif" height="17" border="0">';
}

function get_suggest(word,dict)
{
	mode = 5;
	word = encodeURI(word);
	var sUrl = 'get.php?mode=suggest&dict='+dict+'&word='+word+'&tt='+new Date().getTime();
	var trans_su = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback, null); 
	document.getElementById('indicator').innerHTML= '<img src="./images/indicator.gif" height="17" border="0">';
}

function get_count() //count the number of words in a dictionary.
{
	mode = 6;
	
	var dict = document.getElementById('lstdict').value;
	var sUrl = 'get.php?mode=count&dict='+dict+'&tt='+new Date().getTime();
	var trans_count = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback, null); 
	document.getElementById('indicator').innerHTML= '<img src="./images/indicator.gif" height="17" border="0">';
}

function get_meaning(word,dict) //get meaning of a word
{
	document.getElementById('meaning').style.visibility='visible';
	document.getElementById('meaning').style.position='static';

	document.getElementById('new').style.visibility='hidden';
	document.getElementById('new').style.position='absolute';

	mode = 2;
	if ((word == '') && (dict == ''))
	{
		var word = document.getElementById('word').value;
		var dict = document.getElementById('lstdict').value
		if (on_list_click == 0)
		{
			var svalue = word + '|' + dict;
 			var Neu = new Option(word);
 			document.getElementById('lstrecentwords').options[document.getElementById('lstrecentwords').length] = Neu;
 			Neu.value = svalue;
 		}
 		on_list_click = 0;
		word = encodeURI(word);
 		//var ilength = document.getElementById('lstrecentwords').options.length;
 		///ilength++;
 		//alert(ilength);
 		//document.getElementById('lstrecentwords').options.length = ilength;
 		//document.getElementById('lstrecentwords').options[ilength].value= svalue;
 		//document.getElementById('lstrecentwords').options[ilength].text= svalue;
	}
	else
	{
		document.getElementById('word').value = word;
		document.getElementById('lstdict').value = dict;
	}
	if (word != '')
	{
		var sUrl = 'get.php?mode=meaning&dict='+dict+'&word='+word+'&tt='+new Date().getTime();
		var trans_meaning = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback, null); 
		document.getElementById('indicator').innerHTML= '<img src="./images/indicator.gif" height="17" border="0">';
	}
	else
	{
		alert('Enter word first');
	}
	//alert(word);
	//alert(dict);
}

function get_quickdict_meaning(word,dict) //get meaning of a word for quickdict
{
	document.getElementById('meaning').style.visibility='visible';
	document.getElementById('meaning').style.position='static';

	mode = 14;
	if ((word == '') && (dict == ''))
	{
		var dict = document.getElementById('lstdict').value
		var word = encodeURI(document.getElementById('word').value);
	}
	else
	{
		document.getElementById('word').value = word;
		document.getElementById('lstdict').value = dict;
	}
	var ex = new Date();
	ex = new Date(ex.getTime() +1000*60*60*24*365);
	document.cookie = 'ovdp='+dict+'; expires='+ex.toGMTString()+';'; 
	if (word != '')
	{
		var sUrl = 'get.php?mode=quickdict&dict='+dict+'&word='+word+'&tt='+new Date().getTime();
		var trans_meaning = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback, null); 
		document.getElementById('indicator').innerHTML= '<img src="./images/indicator.gif" height="17" border="0">';
	}
	else
	{
		alert('Enter word first');
	}
	//alert(word);
	//alert(dict);
}

function get_quick_meaning(word,dict)
{
	document.getElementById('word').value = word;
	document.getElementById('lstdict').value = dict;
	//alert(mode);
	if (mode == 2)
		get_meaning('','');
	else
		get_quickdict_meaning('','');
	
}

function get_recent_word_meaning()
{
	var s = document.getElementById('lstrecentwords').selectedIndex;
	var svalue = document.getElementById('lstrecentwords').options[s].value;
	avalue = svalue.split("|");
	on_list_click=1;
	get_quick_meaning(avalue[0],avalue[1]);
}

function get_change_form()
{
	document.getElementById('new').style.visibility='hidden';
	document.getElementById('new').style.position='absolute';
	mode = 3;
	//alert(dict_count);
	//var word = escape(document.getElementById('word').value);
	var word = encodeURI(document.getElementById('word').value);
	var dict = document.getElementById('lstdict').value;
	if (word != '')
	{
		var sUrl = 'get.php?mode=change&dict='+dict+'&word='+word+'&tt='+new Date().getTime();
		YAHOO.util.Connect.asyncRequest('GET', sUrl, callback, null); 
		document.getElementById('indicator').innerHTML= '<img src="./images/indicator.gif" height="17" border="0">';
		document.getElementById('meaning').innerHTML= '<p align="center"><img src="./images/load.gif" id="wait" border="0"></p>';
	}
	else 
	{
		alert('Enter word first');
	}
};

function get_new_word(word)
{
	document.getElementById('meaning').style.visibility='hidden';
	document.getElementById('meaning').style.position='absolute';

	document.getElementById('change').style.visibility='hidden';
	document.getElementById('change').style.position='absolute';

	document.getElementById('new').style.visibility='visible';
	document.getElementById('new').style.position='static';
	document.new_form.dict_hidden.value = document.getElementById('lstdict').value;
	document.new_form.word_hidden.value = word;
};

function set_training_word()
{
	mode = 10;
	
	var user_id = document.getElementById('user').value;
	var word = encodeURI(document.getElementById('word').value);
	var dict = document.getElementById('lstdict').value;
	var sUrl = 'get.php?mode=training&user='+user_id+'&dict='+dict+'&word='+word+'&tt='+new Date().getTime();
	if (word != '')
	{
		var trans_training = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback, null); 
		document.getElementById('indicator').innerHTML= '<img src="./images/indicator.gif" height="17" border="0">';
	}
	else
	{
		alert("Enter word first!");
	}
};

function get_next_training_word()
{
	mode = 11;

	var user = document.getElementById('user').value;
	var word = document.getElementById('word').value;
	var current_word = document.getElementById('current_word').value;
	var current_box = document.getElementById('current_box').value;
	var next_word = encodeURI(document.getElementById('next_word').value);
	var next_word_dict = document.getElementById('next_word_dict').value;
	var next_word_box = document.getElementById('next_word_box').value;
	if (current_word != '')
	{
		if (current_word == word)
		{
			//alert('Right');
			var result_text = "<span class='word_title'>"+current_word+"</span>&nbsp;<img src='./images/right.jpg' border='0'>";
			var sUrl = 'get.php?mode=nextword&answer=right&current_box='+current_box+'&current_word='+encodeURI(current_word)+'&user='+user+'&box='+next_word_box+'&dict='+next_word_dict+'&word='+next_word+'&tt='+new Date().getTime();
			if (current_box < 5)
			{
				var current_next_box = parseInt(current_box)+1;
				var current_box_control = document.getElementById('box_'+current_box);
				var current_next_box_control = document.getElementById('box_'+current_next_box);
				current_box_control.value = parseInt(current_box_control.value) - 1;
				current_next_box_control.value = parseInt(current_next_box_control.value) + 1;
			}
		}
		else 
		{
			//alert('Wrong');
			var result_text = "<span class='word_title'>"+current_word+"</span>&nbsp;<img src='./images/wrong.jpg' border='0'>";
			var sUrl = 'get.php?mode=nextword&answer=wrong&current_box='+current_box+'&current_word='+encodeURI(current_word)+'&user='+user+'&box='+next_word_box+'&dict='+next_word_dict+'&word='+next_word+'&tt='+new Date().getTime();
			if (current_box > 1)
			{
				var current_next_box = parseInt(current_box)-1;
				var current_box_control = document.getElementById('box_'+current_box);
				var current_next_box_control = document.getElementById('box_'+current_next_box);
				current_box_control.value = parseInt(current_box_control.value) - 1;
				current_next_box_control.value = parseInt(current_next_box_control.value) + 1;
			}
		}
		document.getElementById('result').innerHTML=result_text;
		var trans_training = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback, null); 
		document.getElementById('indicator').innerHTML= '<img src="./images/indicator.gif" height="17" border="0">';
	}
	else
	{
		var sUrl = 'get.php?mode=nextword&answer=&current_box='+current_box+'&current_word='+encodeURI(current_word)+'&user='+user+'&box='+next_word_box+'&dict='+next_word_dict+'&word='+next_word+'&tt='+new Date().getTime();
		var trans_training = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback, null); 
		document.getElementById('indicator').innerHTML= '<img src="./images/indicator.gif" height="17" border="0">';
	}
}

function get_delete_training_word()
{
	var current_word = encodeURI(document.getElementById('current_word').value);
	var current_dict = document.getElementById('current_dict').value;
	var current_box = encodeURI(document.getElementById('current_box').value);

	mode = 12;
	var sUrl = 'get.php?mode=deleteword&current_dict='+current_dict+'&current_word='+current_word+'&tt='+new Date().getTime();
	var trans_delete = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback, null); 
	document.getElementById('indicator').innerHTML= '<img src="./images/indicator.gif" height="17" border="0">';
}

function get_translation()
{
	//var text = document.getElementById('text').value;
	mode = 13;
	var formObject = document.getElementById('textform'); 
	YAHOO.util.Connect.setForm(formObject, false); 
	//var sUrl = 'get.php?mode=translate&text='+text+'&tt='+new Date().getTime();
	//var trans_translate = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback); 
	var sUrl = 'get.php?mode=translate&tt='+new Date().getTime();
	var trans_translate = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback); 
	document.getElementById('indicator').innerHTML= '<img src="./images/indicator.gif" height="17" border="0">';
	document.getElementById('text').disabled = true;
	document.getElementById('btnTranslate').disabled = true;
}
/////////////////////////////////END OF AJAX FUNCTIONS////////////////////////////////////
/////////////////////////////////END OF AJAX FUNCTIONS////////////////////////////////////
/////////////////////////////////END OF AJAX FUNCTIONS////////////////////////////////////

var handleSuccess = function(o){
	var text = o.responseText;
	if(o.responseText !== undefined){
		switch (mode)
		{
			case 2 :
	    		document.getElementById('meaning').innerHTML=text;
				document.getElementById('change').style.visibility = 'hidden';
				document.getElementById('change').style.position='absolute';
				document.getElementById('new').style.visibility='hidden';
				document.getElementById('new').style.position='absolute';
				//document.getElementById('rd_suggestion').style.visibility = 'hidden';	
				
 				break;
	        case 3 : // change_word
				document.getElementById('meaning').innerHTML= '';
				document.getElementById('change').style.visibility = 'visible';
				document.getElementById('change').style.position = 'static';
    	    	document.getElementById('change').innerHTML=text;
    	    	break;
    	    case 4 :
    	    	document.getElementById('sound').innerHTML=text;
				break;
			case 5 :
	    		document.getElementById('meaning').innerHTML=text;
				break;
			case 6 :
	    		document.getElementById('count').innerHTML=text;
				break;
			case 10 :
				alert(text);
				break;
			case 11 :
				document.getElementById('meaning').innerHTML=text;
				document.getElementById('word').value="";
				if (text == "Finish")
				{
					document.getElementById('start').disabled=false;
				}
				break;
			case 12 :
				if (text == "OK")
				{
					alert("Word was deleted");
				}
				else
				{
					alert("Error!");
				}
				break;
			case 13 :
				document.getElementById('textresult').value=text;
				document.getElementById('text').disabled = false;
				document.getElementById('btnTranslate').disabled = false;
				break;
			case 14 :
	    		document.getElementById('meaning').innerHTML=text;
 				break;
		}
	}
	document.getElementById('indicator').innerHTML= '';
}
var handleFailure = function(o){
	alert('Sorry, server is not available right now!. Please try again later. Thank you!');
}

var callback =
{
  success:handleSuccess,
  failure: handleFailure
};

function confirm_action(url)
{
	var answer = confirm('Bạn có thực sự muốn thực hiện hành động này?');

	if (answer == true)
	{
		window.location = url;
	}
}
