var print_words = new Array();
print_words[0] = ['Propune modificare', 'modification'];
print_words[1] = ['Propune modificarea traducerii', ''];
print_words[2] = ['Propune ştergere', 'sterger'];
print_words[3] = ['Propune ştergerea traducerii', ''];
print_words[4] = ['Mulţumim, traducerea a fost înregistrată cu succes şi va apărea pe site după revizuire.', ''];
print_words[5] = ['Multumim, propunerea de ştergere a fost înregistrată cu succes şi va fi valabilă pe site după revizuire.', ''];
print_words[6] = ['Propune o revizuire a traducerii (inclusiv modificarea accentelor/diacriticelor)', ''];
print_words[7] = ['Propune o traducere nouă', ''];
print_words[8] = ['Franceză', ''];
print_words[9] = ['Română', ''];
print_words[10] = ['Trimite', ''];
print_words[11] = ['Anulează', ''];
print_words[12] = ['Motivul ştergerii', ''];
print_words[13] = ['dublură', ''];
print_words[14] = ['conţinut indecent', ''];
print_words[15] = ['traducere greşită', ''];
print_words[16] = ['altele', ''];
print_words[17] = ['Alte menţiuni: (opţional)', ''];
print_words[18] = ['Apasă CTRL-D (Firefox & Netscape) sau CTRL-T (Opera) pentru a reţine pagina', ''];
print_words[19] = ['Dicţionar francez român', ''];
print_words[20] = ['- este necesar să completaţi toate câmpurile.\n', ''];
print_words[21] = ['- adresele de e-mail trebuiesc completate corect.\n', ''];
print_words[22] = [' trebuie sa contina un numar.\n', ''];
print_words[23] = [' trebuie să conţină un număr între ', ''];
print_words[24] = [' şi ', ''];
print_words[25] = ['.\n', ''];
print_words[26] = ["Introduceti adresa de email", ''];


function addslashes(str) {
	str=str.replace(/\\/g,'\\\\');
	str=str.replace(/\'/g,'\\\'');
	str=str.replace(/\"/g,'\\"');
	str=str.replace(/\0/g,'\\0');
	return str;
}
function stripslashes(str) {
	str=str.replace(/\\'/g,'\'');
	str=str.replace(/\\"/g,'"');
	str=str.replace(/\\0/g,'\0');
	str=str.replace(/\\\\/g,'\\');
	return str;
}

function bookmark(title, url)
{
	title = print_words[19][lang] + title;
	
	if(url=="") 
		url = SITE_URL;
	
	if ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4)) {
		window.external.AddFavorite(url, title);
	} else {
		alert(print_words[18][lang]);
	}
}

function check_newsletter_form() {
	if(document.getElementById('email').value=='' || document.getElementById('email').value==null || document.getElementById('email').value.indexOf(".")<2  || document.getElementById('email').value.indexOf("@")<0) {
		alert(print_words[26][lang]);
		document.getElementById('email').focus();
		return false;
	}	
	return true;
}

var focused = true;
var search_focused = false;

function transform_text(keyword) {
	$(document).ready(function() {		
		$('table#table_def tr').each(function() {
											  
			$(this).children("td.td_cont").dblclick(function() {
				var this_text = "";

				if($(this).children("div.hidden").html()==null)
					this_text = $(this).parents("tr").find('div.hidden_lng_2').html();
				else
					this_text = $(this).children('div.hidden_lng_1').html();
				
				window.location= SITE_URL+"?c="+this_text;
			});
		});
    });
}



var $_GET = {};
document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function () {
    function decode(s) {
        return decodeURIComponent(s).replace(/\+/g, " ");
    }

    $_GET[decode(arguments[1])] = decode(arguments[2]);
});
transform_text($_GET["c"]);



function send_modif(action) {
	switch(action) {
		case 'edit':
			$.post(SITE_URL+'ajax_handle.php', {
				action: action,
				dic_id_original: $('input#dic_word_id').val(),
				dic_lng_1: $('input#dic_from').val(),
				dic_lng_2: $('input#dic_to').val()
			}, function() {
				//alert('Your data has been saved: ' + $('#dic_from').val());
				$("div#dic_response_message").html(print_words[4][lang]);
				$("div#dic_response").slideDown('normal');
			});
		break;
		
		case 'delete':
			$.post(SITE_URL+'ajax_handle.php', {
				action: action,
				dic_id_original: $('input#dic_word_id').val(),
				dic_comment: $('textarea#dic_comment').val(),
				dic_motiv: $('select#dic_motiv').val()
			}, function() {
				//alert('Your data has been saved: ' + $('#dic_from').val());
				$("div#dic_response_message").html(print_words[5][lang]);
				$("div#dic_response").slideDown('normal');
			});
		break;
	}
	
	hide_containers();
	return false;
}

var the_bubble = "<div id=\"bubbleInfo\" class=\"bubbleInfo\">"+
                
                    "<div id=\"trigger\" class=\"link_dia_cont\">"+    
                        "<a href=\"javascript:;\" onclick=\"ins_el('ă')\">ă</a>"+
                        "<a href=\"javascript:;\" onclick=\"ins_el('î')\">î</a>"+
                        "<a href=\"javascript:;\" onclick=\"ins_el('â')\">â</a>"+
                        "<a href=\"javascript:;\" onclick=\"ins_el('ş')\">ş</a>"+
                        "<a href=\"javascript:;\" onclick=\"ins_el('ţ')\">ţ</a>"+
                        "<a href=\"javascript:;\">...</a>"+
                    "</div>"+
                   
                    "<div id=\"popup\" class=\"popup\">"+
                       "<span class=\"link_dia_cont\">"+
                            "<a href=\"javascript:;\" onclick=\"ins_el('à')\">à</a>"+
                            "<a href=\"javascript:;\" onclick=\"ins_el('á')\">á</a>"+
                            "<a href=\"javascript:;\" onclick=\"ins_el('è')\">è</a>"+
                            "<a href=\"javascript:;\" onclick=\"ins_el('é')\">é</a>"+
                            "<a href=\"javascript:;\" onclick=\"ins_el('ì')\">ì</a>"+
                            "<a href=\"javascript:;\" onclick=\"ins_el('í')\">í</a>"+
                            "<a href=\"javascript:;\" onclick=\"ins_el('ò')\">ò</a>"+
                            "<a href=\"javascript:;\" onclick=\"ins_el('ó')\">ó</a>"+
                            "<a href=\"javascript:;\" onclick=\"ins_el('ù')\">ù</a>"+
                            "<a href=\"javascript:;\" onclick=\"ins_el('ú')\">ú</a>"+
                        "</span>"+
                        "<div style=\"clear:both\"></div>"+
                    "</div>"+
                    
                "</div>";

function cont_tabs_content() {
	return 	"<div id='container_modif_menu'>"+
				"<a href='javascript:;' class='a_modif_active tab_edit' title='"+print_words[1][lang]+"'>"+print_words[0][lang]+"</a> &nbsp; "+
				"<a href='javascript:;' class='tab_del' title='"+print_words[3][lang]+"'>"+print_words[2][lang]+"</a>"+
			"</div><br />"+
			"<div class='container_edit'>edit</div>"+
			"<div class='container_delete'>delete</div>";
}

function form_add_edit(word_id, lng_1, lng_2) {
	var message = "<h3>"+print_words[6][lang]+":</h3>";

	if(word_id=="") {
		message = "<h3>"+print_words[7][lang]+":</h3>";
	}
	
	return "<div class='def_def_edit'>"+
				"<div class='container_modif'>"+		
					message+
					"<form class='form_add_edit' name='form_add_edit'>"+
						"<input type='hidden' id='dic_word_id' name='dic_word_id' value='"+word_id+"' />"+
						
						"<div style='float:left;width:410px'>"+
							"<br /><label for='dic_from' class='float_left'>"+print_words[8][lang]+":</label> <input class='add_edit float_left' type='text' id='dic_from' name='dic_from' value=\""+lng_1+"\" /> "+												
							"<br class='clear' />"+
							"<label for='dic_to' class='float_left'>"+print_words[9][lang]+":</label> <input class='add_edit float_left' type='text' id='dic_to' name='dic_to' value=\""+lng_2+"\" /> "+												
							"<br class='clear' />"+
						"</div>"+
						
						"<div style='float:left;width:130px; margin-top:17px'>"+
						
							"<!--<select id='dic_gender_1' class='float_left' style='width:40px; margin-right:3px; '>"+
									"<option value='0'>-</option>"+
									"<option value='1'>m</option>"+
									"<option value='2'>f</option>"+
									"<option value='3'>n</option>"+
								"</select> -->"+						
							"<div id='bubbleInfo_from' class='bubbleInfo'>"+                
								"<div id='trigger_from' class='link_dia_cont'>"+								 
									"<a href=\"javascript:;\" onclick=\"ins_el('à', '1')\">à</a>"+
									"<a href=\"javascript:;\" onclick=\"ins_el('ä', '1')\">ä</a>"+
									"<a href=\"javascript:;\" onclick=\"ins_el('æ', '1')\">æ</a>"+
									"<a href=\"javascript:;\" onclick=\"ins_el('ç', '1')\">ç</a>"+
									"<a href=\"javascript:;\" onclick=\"ins_el('é', '1')\">é</a>"+
									"<a href='javascript:;'>...</a>"+  
								"</div>"+						  
								"<div style='clear:both'></div>"+
								"<div id='popup_from' class='popup'>"+
								   "<span class='link_dia_cont'>"+
										"<a href=\"javascript:;\" onclick=\"ins_el('à', '1')\">à</a>"+
			                            "<a href=\"javascript:;\" onclick=\"ins_el('ä', '1')\">ä</a>"+
            			                "<a href=\"javascript:;\" onclick=\"ins_el('æ', '1')\">æ</a>"+
			                            "<a href=\"javascript:;\" onclick=\"ins_el('ç', '1')\">ç</a>"+
            			                "<a href=\"javascript:;\" onclick=\"ins_el('é', '1')\">é</a>"+										
										"<a href=\"javascript:;\" onclick=\"ins_el('è', '1')\">è</a>"+
										"<a href=\"javascript:;\" onclick=\"ins_el('ê', '1')\">ê</a>"+
										"<a href=\"javascript:;\" onclick=\"ins_el('ë', '1')\">ë</a>"+
										"<a href=\"javascript:;\" onclick=\"ins_el('î', '1')\">î</a>"+
										"<a href=\"javascript:;\" onclick=\"ins_el('ï', '1')\">ï</a>"+
										"<a href=\"javascript:;\" onclick=\"ins_el('ô', '1')\">ô</a>"+
										"<a href=\"javascript:;\" onclick=\"ins_el('œ', '1')\">œ</a>"+
										"<a href=\"javascript:;\" onclick=\"ins_el('ù', '1')\">ù</a>"+
										"<a href=\"javascript:;\" onclick=\"ins_el('û', '1')\">û</a>"+
										"<a href=\"javascript:;\" onclick=\"ins_el('ü', '1')\">ü</a>"+
										
										"<a href=\"javascript:;\" onclick=\"ins_el('À', '1')\">À</a>"+
										"<a href=\"javascript:;\" onclick=\"ins_el('Â', '1')\">Â</a>"+
										"<a href=\"javascript:;\" onclick=\"ins_el('Æ', '1')\">Æ</a>"+
										"<a href=\"javascript:;\" onclick=\"ins_el('Ç', '1')\">Ç</a>"+
										"<a href=\"javascript:;\" onclick=\"ins_el('È', '1')\">È</a>"+
										"<a href=\"javascript:;\" onclick=\"ins_el('É', '1')\">É</a>"+
										"<a href=\"javascript:;\" onclick=\"ins_el('Ê', '1')\">Ê</a>"+
										"<a href=\"javascript:;\" onclick=\"ins_el('Ë', '1')\">Ë</a>"+
										"<a href=\"javascript:;\" onclick=\"ins_el('Î', '1')\">Î</a>"+
										"<a href=\"javascript:;\" onclick=\"ins_el('Ï', '1')\">Ï</a>"+
										"<a href=\"javascript:;\" onclick=\"ins_el('Ô', '1')\">Ô</a>"+
										"<a href=\"javascript:;\" onclick=\"ins_el('Œ', '1')\">Œ</a>"+
										"<a href=\"javascript:;\" onclick=\"ins_el('Ù', '1')\">Ù</a>"+
										"<a href=\"javascript:;\" onclick=\"ins_el('Û', '1')\">Û</a>"+
										"<a href=\"javascript:;\" onclick=\"ins_el('Ü', '1')\">Ü</a>"+	
										"<a href='javascript:;' onclick='ins_el(\"()\", \"1\")'>()</a>"+
										"<a href='javascript:;' onclick='ins_el(\"[]\", \"1\")'>[]</a>"+
										"<a href='javascript:;' onclick='ins_el(\" ®\", \"1\")'>®</a>"+
										"<a href='javascript:;' onclick='ins_el(\" ™\", \"1\")'>™</a>"+
										"<a href='javascript:;' onclick='ins_el(\"[fig.]\", \"1\")'>[fig.]</a>"+
										"<a href='javascript:;' onclick='ins_el(\"[arh.]\", \"1\")'>[arh.]</a>"+
										"<a href='javascript:;' onclick='ins_el(\"[reg.]\", \"1\")'>[reg.]</a>"+
										"<a href='javascript:;' onclick='ins_el(\"[poet.]\", \"1\")'>[poet.]</a>"+
										"<a href='javascript:;' onclick='ins_el(\"[col.]\", \"2\")'>[col.]</a>"+
									"</span>"+
									"<div style='clear:both'></div>"+
								"</div>"+
							"</div>"+
							"<br class='clear' />"+
							
							"<!--<select id='dic_gender_2' class='float_left' style='width:40px; margin-right:3px; '>"+
									"<option value='0'>-</option>"+
									"<option value='1'>m</option>"+
									"<option value='2'>f</option>"+
									"<option value='3'>n</option>"+
								"</select> -->"+	
							"<div id='bubbleInfo_to' class='bubbleInfo' style='margin-top:5px'>"+
								"<div id='trigger_to' class='link_dia_cont'>"+          
										"<a href='javascript:;' onclick='ins_el(\"ă\", \"2\")'>ă</a>"+
										"<a href='javascript:;' onclick='ins_el(\"î\", \"2\")'>î</a>"+  
										"<a href='javascript:;' onclick='ins_el(\"â\", \"2\")'>â</a>"+  
										"<a href='javascript:;' onclick='ins_el(\"ş\", \"2\")'>ş</a>"+  
										"<a href='javascript:;' onclick='ins_el(\"ţ\", \"2\")'>ţ</a>"+
									"<a href='javascript:;'>...</a>"+  
								"</div>"+						  
								"<div style='clear:both'></div>"+
								"<div id='popup_to' class='popup'>"+
								   "<span class='link_dia_cont'>"+									
										"<a href='javascript:;' onclick='ins_el(\"Ă\", \"2\")'>Ă</a>"+
										"<a href='javascript:;' onclick='ins_el(\"Î\", \"2\")'>Î</a>"+  
										"<a href='javascript:;' onclick='ins_el(\"Ş\", \"2\")'>Ş</a>"+  
										"<a href='javascript:;' onclick='ins_el(\"Ţ\", \"2\")'>Ţ</a>"+  
										"<a href='javascript:;' onclick='ins_el(\"()\", \"2\")'>()</a>"+
										"<a href='javascript:;' onclick='ins_el(\"[]\", \"2\")'>[]</a>"+
										"<a href='javascript:;' onclick='ins_el(\" ®\", \"2\")'>®</a>"+
										"<a href='javascript:;' onclick='ins_el(\" ™\", \"2\")'>™</a>"+
										"<a href='javascript:;' onclick='ins_el(\"[fig.]\", \"2\")'>[fig.]</a>"+
										"<a href='javascript:;' onclick='ins_el(\"[arh.]\", \"2\")'>[arh.]</a>"+
										"<a href='javascript:;' onclick='ins_el(\"[reg.]\", \"2\")'>[reg.]</a>"+
										"<a href='javascript:;' onclick='ins_el(\"[poet.]\", \"2\")'>[poet.]</a>"+
										"<a href='javascript:;' onclick='ins_el(\"[col.]\", \"2\")'>[col.]</a>"+
									"</span>"+
									"<div style='clear:both'></div>"+
								"</div>"+
							"</div>"+
						
						"</div>"+
						"<br class='clear' />"+
						
						"<!--<label for='dic_class' class='float_left'>(Opţional):</label>"+ 
							"<select id='dic_class' style='width:150px;'>"+
								"<option value=''>Tipul</option>"+
								"<option value='phrase'>Frază (expresie)</option>"+
								"<option value='noun'>substantiv (subst.)</option>"+
								"<option value='verb'>verb (vb.)</option>"+
								"<option value='adjective'>adjectiv (adj.)</option>"+
								"<option value='adverb'>adverb (adv.)</option>"+
								"<option value='pronoun'>pronume (pron.)</option>"+
								"<option value='prefix'>prefix (pref.)</option>"+
								"<option value='article'>articol (art.)</option>"+
								"<option vaule='conjunction'>conjuncţie (conj.)</option>"+
								"<option value='preposition'>prepoziţie (prep.)</option>"+
								"<option value='interjection'>interjecţie (interj.)</option>"+
							"</select> &nbsp; "+
						"<input type='checkbox' id='dic_number' /> <label for='dic_number'>Plural</label>"+						
						"<br class='clear' /><br />"+		
						"<label for='dic_comment' class='float_left'>Comentariu: (Opţional)</label> <textarea class='float_left' id='dic_comment'></textarea><br class='clear' /><br />-->"+
						"<br /><input type='button' onclick='javascript:send_modif(\"edit\")' value='"+print_words[10][lang]+"'> "+
						"<input type='button' onclick='javascript:hide_containers();' value='"+print_words[11][lang]+"'>"+
					"</form>"+
				"</div>"+
			"</div>";
}

function form_delete(word_id) {
	return "<div class='def_def_edit'>"+			
				"<div class='container_modif'>"+
					"<h3>Propune ştergerea traducerii:</h3>"+	
					"<form class='form_add_edit'>"+
						"<input type='hidden' id='dic_word_id' name='dic_word_id' value='"+word_id+"' />"+
						"<label for='dic_motiv' class='float_left'>"+print_words[12][lang]+":</label>"+
						"<select id='dic_motiv'><option value='1'>"+print_words[13][lang]+"</option><option value='2'>"+print_words[14][lang]+"</option><option value='3'>"+print_words[15][lang]+"</option><option value='0'>"+print_words[16][lang]+"</option></select><br class='clear' />"+
						"<br class='clear' />"+
						"<label for='dic_comment' class='float_left'>"+print_words[17][lang]+"</label><textarea id='dic_comment'></textarea><br class='clear' /><br />"+
						"<input type='button' onclick='javascript:send_modif(\"delete\")' value='"+print_words[10][lang]+"'> "+
						"<input type='button' onclick='javascript:hide_containers();' value='"+print_words[11][lang]+"'>"+
					"</form>"+
				"</div>"+
			"</div>"
}

function hide_containers() {
	$('div.container_tabs:visible').slideUp('normal', function() { $(this).html(""); } );
	$('div#container_propune:visible').slideUp('normal', function() { $(this).html(""); } );
}


function initActions() {
	$('#b_add, #b_add_2').click(function() {
		
		var checkElement = $('div#container_propune');		
		
   		if(checkElement.is(':visible')) {
   			checkElement.slideUp('normal');
			return false;
  		}
 		if(!checkElement.is(':visible')) {	
 			$('div.container_tabs:visible').slideUp('normal', function() { $(this).html("") });
			/*$('div.def_def .container_delete:visible').slideUp('normal', function() { $(this).html("") });*/
			$("div#dic_response").slideUp('normal');
			checkElement.html(form_add_edit("", "", ""));
			checkElement.slideDown('normal', function(){check_focus()});
			return false;
		}
	});
	
	
	$('a.b_edit').click(function() {

		var word_id = $(this).parents("tr").find('div.hidden_id').html();
		var lng_1 = $(this).parents("tr").find('div.hidden_lng_1').html();
		var lng_2 = $(this).parents("tr").find('div.hidden_lng_2').html();		
				
		var cont_tabs = $(this).parents("tr").next().find("div.container_tabs");
		
		if(cont_tabs.is(':visible')) {
			cont_tabs.slideUp('normal', function() { 
				$(this).html("");
			});
			return false;
  		}
		
 		if(!cont_tabs.is(':visible')) {		
 			//$('div.def_def .container_edit:visible').slideUp('normal', function() { $(this).html("") });
			
			$("div#dic_response").slideUp('normal');
			$('div#container_propune:visible').slideUp('normal');
			
			
			$('div.container_tabs:visible').slideUp('normal', function() { 
				$(this).html("");
				//checkElement.slideDown('fast', function(){check_focus()});
			});
			
			
			cont_tabs.html(cont_tabs_content());			
			cont_tabs.children('div.container_edit').html(form_add_edit(word_id, lng_1, lng_2));
			cont_tabs.slideDown('normal', function(){check_focus(); prepare_tabs()});
			
			return false;
	 	}
	});

	
}

function check_focus() {
	
	$('input[type="text"], textarea, select').focus(function() {
		focused = true;
	});	
	
	$('input[type="text"], textarea, select').blur(function() {
		focused = false;
	});
	
	$('input#input_text').focus(function() {
		search_focused = true;
	});
	
	$('input#input_text').blur(function() {
		search_focused = false;
	});
	
	bubble("_to");
	bubble("_from");
	
}

function prepare_tabs() {
		
	$('.tab_edit').click(function() {

		var cont_edit =  $(this).parents("div.container_tabs").children('div.container_edit');
		var cont_del =  $(this).parents("div.container_tabs").children('div.container_delete');		
		
		var lng_1 = $(this).parents("tr").prev().find('div.hidden_lng_1').html();
		var lng_2 = $(this).parents("tr").prev().find('div.hidden_lng_2').html();
		var word_id = $(this).parents("tr").prev().find('div.hidden_id').html();
		
 		if(!cont_edit.is(':visible')) {		
			
			$(this).addClass("a_modif_active");
			$(this).siblings('.tab_del').removeClass("a_modif_active");
			
			cont_del.fadeOut('fast', function() { 
				$(this).html("");
				//checkElement.html("");
				cont_edit.html(form_add_edit(word_id, lng_1, lng_2));
				cont_edit.fadeIn('fast', function(){ check_focus(); } );
			});						
	 				
	 	}
		
		return false;
	});
	
	$('.tab_del').click(function() {
		
		var cont_edit = $(this).parents("div.container_tabs").children('div.container_edit');
		var cont_del = $(this).parents("div.container_tabs").children('div.container_delete');		
		var word_id = $(this).parents("tr").prev().find('div.hidden_id').html();	
		
 		if(!cont_del.is(':visible')) {	
			
			$(this).addClass("a_modif_active");
			$(this).siblings('.tab_edit').removeClass("a_modif_active");
			
			cont_edit.fadeOut('fast', function() { 
				$(this).html("");
				//cont_del.html("");
				cont_del.html(form_delete(word_id));			
				cont_del.fadeIn('fast', function(){check_focus()}); 
			});
			
	 	}
		
		return false;
		
	});
	
}

$(document).ready(function() {
	
	$('a#dic_response_close_btn').click(function() {
		$("div#dic_response").slideUp('normal');
		return false;
	});
	
	$("input#input_text").focus(function() {
		$(this).addClass("search_box_sel");
	});
	
	$("input#input_text").blur(function() {
		$(this).removeClass("search_box_sel");
	});
	
	
	initActions();
	
	$("input#input_text").select();
	$("input#input_text").focus();
	
	var isCtrl = false; 
	$(document).keyup(function(e){ if(e.which == 17) isCtrl=false; });
	
	check_focus();
	$(document).keydown(function(event){
		if(event.which == 17) isCtrl=true;
								 
		if(!focused && (event.which>64 && event.which<91) && !isCtrl) { 
			//alert(event.which);
			$("input#input_text").focus();
			if(search_focused) {				
				$("input#input_text").select();
				$("input#input_text").focus();
			}
		}
	});
	
	
	
	$("table#table_def tr.tr_def").hover(
		function() {			
			$(this).addClass("tr_hover");
		}, 
		function() {
			$(this).removeClass("tr_hover");
		}
	);
	
	//var cont_tabs = $(this).parents("div.def_def").children('div.container_tabs');
	
	$("table#table_def tr.tr_def td.td_cont").click(		
		function() {
			var tr = $(this).parents("tr.tr_def");
			

			
			if(!tr.hasClass("tr_selected"))
				tr.addClass("tr_selected");
			else
				tr.removeClass("tr_selected");
		}
		/*
		function() {
			alert("ouch!");
			var def_def = $(this).parents("div.def_def");
			if(!def_def.hasClass("def_def_selected"))
				def_def.addClass("def_def_selected");			
			else
				def_def.removeClass("def_def_selected");
		}
		*/
	);
});


function insert_at_cursor(addtext, fe) { //http://aktuell.de.selfhtml.org/artikel/javascript/bbcode/
	fe.focus();
	if (typeof document.selection != 'undefined') { //IE, Opera
		var range = document.selection.createRange();
		var rangetext = range.text;
		range.text = addtext;
		if (navigator.appName!="Opera") {
			range = document.selection.createRange();
			if (rangetext.length != 0) range.move('character', 1);
			if (addtext==' ()' || addtext==' []' || addtext==' {}' || addtext==' <>') range.move('character', -1);
			range.select();
		}
	}
	else if (typeof fe.selectionStart != 'undefined') { //Gecko-based
		var start = fe.selectionStart;
		var end = fe.selectionEnd;
		var selectedtext = fe.value.substring(start, end);
		fe.value = fe.value.substr(0, start) + addtext + fe.value.substr(end);
		if (addtext==' ()' || addtext==' []' || addtext==' {}' || addtext==' <>') start--;
		fe.selectionStart = start+addtext.length;
		fe.selectionEnd = start+addtext.length;
	}
	else { //others
		fe.value = fe.value + addtext;
	}
}


function ins_el(tagstr, type) {
	switch(type) {
		case '1':
			myelem = document.getElementById("dic_from");
		break;
		
		case '2':
			myelem = document.getElementById("dic_to");
		break;
		
		default:
			myelem = document.getElementById("input_text");
		break;
	}
	
	//insert at beginning (if tag is followed by space)	
	if (tagstr.substr(tagstr.length-1)==" ") {
		if (myelem.value.substr(0,tagstr.length)==tagstr) myelem.value = myelem.value.substr(tagstr.length);
		else myelem.value = tagstr + myelem.value;
	}
	//insert at cursor position
	else {
		if (tagstr.length>1) { tagstr = " " + tagstr; tagstr = tagstr.replace(/  /, " "); }
		if (myelem.value.indexOf(tagstr)!=-1 && tagstr.length>1) myelem.value = myelem.value.replace(tagstr,"");
		else insert_at_cursor(tagstr, myelem);
	}
	myelem.focus();
}


function bubble(trigger_id) {
		 
	var bubbleInfo = $('#bubbleInfo'+trigger_id);
	
	var distance = 5;
	var time = 250;
	var hideDelay = 500;
	
	var hideDelayTimer = null;
	
	var beingShown = false;
	var shown = false;
	var trigger = $('#trigger'+trigger_id, bubbleInfo);
	var info = $('#popup'+trigger_id, bubbleInfo).css('opacity', 0);
	
	
	$([trigger.get(0), info.get(0)]).mouseover(function () {
		if (hideDelayTimer) clearTimeout(hideDelayTimer);
		if (beingShown || shown) {
			// don't trigger the animation again
			return;
		} else {
			// reset position of info box
			beingShown = true;
						
			if(trigger_id=="") {			
				info.css({
					top: -45,
					left: -50,
					display: 'block'
				}).animate({
					top: '-=' + distance + 'px',
					opacity: 1
				}, time, 'swing', function() {
					beingShown = false;
					shown = true;
				});
			}
			else {
				info.css({
					top: -20,
					left: 110,
					display: 'block'
				}).animate({
					left: '+=' + distance + 'px',
					opacity: 1
				}, time, 'swing', function() {
					beingShown = false;
					shown = true;
				});
			}
	}
	
		return false;
	}).mouseout(function () {
		if (hideDelayTimer) clearTimeout(hideDelayTimer);
		hideDelayTimer = setTimeout(function () {
			hideDelayTimer = null;
			if(trigger_id=="") {
				info.animate({
					top: '-=' + distance + 'px',
					opacity: 0
				}, time, 'swing', function () {
					shown = false;
					info.css('display', 'none');
				});
			}
			else {
				info.animate({
					left: '+=' + distance + 'px',
					opacity: 0
				}, time, 'swing', function () {
					shown = false;
					info.css('display', 'none');
				});
			}
		}, hideDelay);
	
		return false;
	});

}


$(document).ready(function() {
	//bubble("");	
	$('#the_bubble_container').html(the_bubble);
	bubble("");
});

