﻿var current_fb_form;
var current_article_div;
var current_title_div;
var current_word;
var current_img_elm;
var current_dict;
var current_ddno_table;
var current_ddno_cell;
var current_homonym_id;
var current_polysem_id;
var current_original_text_input;
var open_fb_forms = new Array();

function positionGeneralArticleFeedbackForm(imgElm, article_div_id, form_id, id, word, wordclass, dict, keep_open, explain_style) 
{
	isLTEtoIE6 = /msie|MSIE 6/.test(navigator.userAgent) || /msie|MSIE 5/.test(navigator.userAgent);
	isIE7 = /msie|MSIE 7/.test(navigator.userAgent);
	
	current_word = word;
	current_img_elm = imgElm;
	current_dict = dict;
	
	/* Fetching element-refs */ 
	current_article_div = document.getElementById(article_div_id);
	current_title_div = current_article_div.previousSibling;
	current_fb_form = document.getElementById(form_id);
	current_original_text_input = current_fb_form.original_article_text;
	
	if(imgElm == '')
	{
		for(i=0; i<current_title_div.childNodes.length; i++)
		{
			if(title_div_ref.childNodes[i].className == 'article_fb_icon')
			{
				imgElm = title_div_ref.childNodes[i];
			}
		}
	}
	
	/* Form elements */
	article_fb_textarea = current_fb_form.article_fb_article;
	article_fb_comments = current_fb_form.article_fb_comments;
	contact_me_chk = current_fb_form.contact_me;
	contact_mail_input_ref = current_fb_form.user_mail;
	input_content = document.getElementById('fb_input_content_'+dict+'_'+id); // DIV
	close_tag = document.getElementById('article_fb_form_close_'+dict+'_'+id); // SPAN
	contact_mail_div = document.getElementById('article_fb_contact_info_'+dict+'_'+id); // DIV
	
	/* Enabling textareas */
	article_fb_textarea.disabled = false;
	article_fb_comments.disabled = false;

	/* Position and dimension form */
	var img_scrollLeft = imgElm.offsetLeft;
	var img_scrollTop = imgElm.offsetTop;
	var img_width = (imgElm.offsetWidth) ? imgElm.offsetWidth : imgElm.clientWidth;
	
	var title_div_width = (current_title_div.offsetWidth) ? current_title_div.offsetWidth : current_title_div.clientWidth;
	var title_div_height = (current_title_div.offsetHeight) ? current_title_div.offsetHeight : current_title_div.clientHeight;
	
	var fb_form_width = title_div_width - img_width - 24;
	current_fb_form.style.width = fb_form_width + 'px';
	current_fb_form.style.zIndex = 3;
	
	var form_postLeft = img_scrollLeft - fb_form_width - img_width - 12 + 'px';
	var form_posTop = img_scrollTop + 16 + 2 + 'px';
	
	if(isIE7)
	{
		form_posTop = img_scrollTop + 16 + 2 + document.getElementById('searchInnerWrap').clientHeight + 65 + 'px';
		form_postLeft = (document.body.clientWidth - document.getElementById('content').clientWidth) / 2 + ((document.getElementById('content').clientWidth - imgElm.offsetParent.clientWidth)/2) + 10 + 'px';
	} else if (isLTEtoIE6)
	{
		form_posTop = img_scrollTop + 16 + 2 + document.getElementById('searchInnerWrap').clientHeight + 65 + 'px';
		form_postLeft = (document.body.clientWidth - document.getElementById('content').clientWidth) / 2 + ((document.getElementById('content').clientWidth - imgElm.offsetParent.clientWidth)/2) + 'px';
	}
	
	current_fb_form.style.left = form_postLeft;
	current_fb_form.style.top = form_posTop;

	/* Henter artikelindhold */
	if (dict == 'rode' || dict == 'rodd' || dict == 'roee' || dict == 'roed')
	{
		transformRegnskabArticleToPlainText();
	} else if(dict != 'ddno' && dict != 'rode' && dict != 'rodd' && dict != 'roee' && dict != 'roed') {
		transformRegularArticleToPlainText();
	}
	
	if(explain_style == undefined || explain_style == null || explain_style == '')
		explain_style = 'block';
		
	$(current_fb_form).find('.explain.comment').html('Evt. yderligere kommentarer:');
	
	//	alert(article_fb_textarea.value.length);
	if(article_fb_textarea.value.length > 3000)
	{
		article_fb_textarea.style.display = 'none';
		explain_style = 'none';
		$(current_fb_form).find('.explain.comment').html('Kommentar:');
	}
	
	/* Binding events */
	close_tag.onclick = function() { close_tag.parentNode.parentNode.style.display = 'none' };//current_fb_form.style.display = 'none'; };
	contact_me_chk.onclick = function() { contact_mail_div.style.display = (contact_mail_div.style.display == '' || contact_mail_div.style.display == 'none') ? 'block' : 'none'; };

	/* Toggle form-elements */
	if(contact_me_chk.checked)
	{
		contact_mail_div.style.display = 'block';
	}
	
	if(explain_style == 'block')
		document.getElementById('article_fb_status_text_'+dict+'_'+id).style.display = 'none';
	else
		document.getElementById('article_fb_status_text_'+dict+'_'+id).style.display = 'block';
	
	document.getElementById('article_fb_status_text_'+dict+'_'+id).nextSibling.style.display = explain_style;

	if(current_fb_form.style.display == '' || current_fb_form.style.display == 'none' || keep_open == true) {
		if(open_fb_forms.length > 0)
		{
			for(i=0; i<open_fb_forms.length; i++)
			{
				open_fb_forms[i].style.display = 'none';
			}
		}
		
		current_fb_form.style.display = 'block';
		open_fb_forms.push(current_fb_form);
	} else {
		current_fb_form.style.display = 'none';
		open_fb_forms.splice(current_fb_form);
	}
}

function positionDDNOArticleFeedbackForm(imgElm, dict, polysem_id, homonym_id, word, keep_open, explain_style) 
{
	isLTEtoIE6 = /msie|MSIE 6/.test(navigator.userAgent);
	isIE7 = /msie|MSIE 7/.test(navigator.userAgent);
	
	if(imgElm == '')
		imgElm = fb_form_ref.previousSibling;
		
	current_word = word;
	current_img_elm = imgElm;
	current_dict = dict;
	current_homonym_id = homonym_id;
	current_polysem_id = polysem_id;

	var elm_suffix = '_ddno_'+polysem_id+'_'+homonym_id;
	
	/* Artikel-elementer */
	article_div_id = (homonym_id == 0) ? 'article_ddno_'+homonym_id : 'article_ddno_'+(homonym_id-1);
	current_article_div = document.getElementById(article_div_id);
	current_title_div = current_article_div.previousSibling;
	
	current_ddno_table = imgElm.parentNode.parentNode.parentNode.parentNode;
	current_ddno_cell = imgElm.parentNode;
	
	/* Form elements */
	var form_id = 'article_fb_form'+elm_suffix;
	current_fb_form = (current_fb_form != undefined) ? current_fb_form : document.getElementById(form_id);
	current_original_text_input = current_fb_form.original_article_text;

	article_fb_textarea_ref = current_fb_form.article_fb_article;
	article_fb_comments_ref = current_fb_form.article_fb_comments;
	contact_me_chk_ref = current_fb_form.contact_me;
	contact_mail_input_ref = current_fb_form.user_mail;
	input_content_ref = document.getElementById('fb_input_content'+elm_suffix); // DIV
	close_tag_ref = document.getElementById('article_fb_form_close'+elm_suffix); // SPAN
	contact_mail_div_ref = document.getElementById('article_fb_contact_info'+elm_suffix); // DIV
	
	article_fb_textarea_ref.disabled = false;
	article_fb_comments_ref.disabled = false;

	transformDDNOArticleToPlainText();
	
	/* Position and dimension form */
	var img_scrollLeft = imgElm.offsetLeft;
	var img_scrollTop = imgElm.offsetTop;
	var img_width = (imgElm.offsetWidth) ? imgElm.offsetWidth : imgElm.clientWidth;
	
	var table_width = (current_ddno_table.offsetWidth) ? current_ddno_table.offsetWidth : current_ddno_table.clientWidth;
	var table_height = (current_ddno_table.offsetHeight) ? current_ddno_table.offsetHeight : current_ddno_table.clientHeight;
	
	var fb_form_width = table_width - img_width - 24;
	current_fb_form.style.width = fb_form_width + 'px';
	current_fb_form.style.zIndex = 3;
	
	var form_postLeft = img_scrollLeft + current_ddno_table.offsetLeft + current_ddno_cell.offsetLeft - fb_form_width - img_width + 'px';
	var form_posTop = img_scrollTop + current_ddno_table.offsetTop + current_ddno_cell.offsetTop + 16 + 2 + 'px';

	if(isIE7)
	{
		form_posTop = img_scrollTop + 16 + 2 + document.getElementById('searchInnerWrap').clientHeight + 100 + 'px';
		form_postLeft = (document.body.clientWidth - document.getElementById('content').clientWidth) / 2 + ((document.getElementById('content').clientWidth - imgElm.offsetParent.clientWidth)/2) - 10 + 'px';
	} else if (isLTEtoIE6)
	{
		form_posTop = img_scrollTop + 16 + 2 + document.getElementById('searchInnerWrap').clientHeight + 100 + 'px';
		form_postLeft = (document.body.clientWidth - document.getElementById('content').clientWidth) / 2 + ((document.getElementById('content').clientWidth - imgElm.offsetParent.clientWidth)/2) - 20 + 'px';
	}
	
	current_fb_form.style.left = form_postLeft;
	current_fb_form.style.top = form_posTop;

	/* Binding events */
	close_tag_ref.onclick = function() { 
		current_fb_form.style.display = 'none'; 
	};
	contact_me_chk_ref.onclick = function() { 
		contact_mail_div_ref.style.display = (contact_mail_div_ref.style.display == '' || contact_mail_div_ref.style.display == 'none') ? 'block' : 'none'; 
	};

	/* Toggle form-elements */
	if(contact_me_chk_ref.checked)
		contact_mail_div_ref.style.display = 'block';

	if(explain_style == undefined || explain_style == null || explain_style == '')
		explain_style = 'block';
		
	$(current_fb_form).find('.explain.comment').html('Evt. yderligere kommentarer:');
	
	//	alert(article_fb_textarea.value.length);
	if(article_fb_textarea_ref.value.length > 3000)
	{
		article_fb_textarea_ref.style.display = 'none';
		explain_style = 'none';
		$(current_fb_form).find('.explain.comment').html('Kommentar:');
	}

	if(explain_style == 'block')
		document.getElementById('article_fb_status_text'+elm_suffix).style.display = 'none';
	else
		document.getElementById('article_fb_status_text'+elm_suffix).style.display = 'block';
	
	document.getElementById('article_fb_status_text'+elm_suffix).nextSibling.style.display = explain_style;

	if(current_fb_form.style.display == '' || current_fb_form.style.display == 'none' || keep_open == true) {
		if(open_fb_forms.length > 0)
		{
			for(i=0; i<open_fb_forms.length; i++)
			{
				open_fb_forms[i].style.display = 'none';
			}
		}
		
		current_fb_form.style.display = 'block';
		open_fb_forms.push(current_fb_form);
	} else {
		current_fb_form.style.display = 'none';
		open_fb_forms.splice(current_fb_form);
	}
}

function transformRegularArticleToPlainText()
{
	var article = current_article_div;
	var title = current_title_div;
	var word = current_word;
	var img_elm = current_img_elm;
	var dict = current_dict;
	var form = current_fb_form;
	var article_textarea = current_fb_form.article_fb_article;
	
	var examples_div;

	for(i=0; i<article.childNodes.length; i++)
	{
		node = article.childNodes[i];
		if(node.nodeName == 'DIV')
		{
			if(node.className == 'examples')
				examples_div = node;
		}
	}
	
	var article_text = '';
	
	/* Titel-info */
	article_text += word;
	
	for(i=0; i<title.childNodes.length; i++)
	{
		node = title.childNodes[i];
		
		if(node.className == 'wordclass' || node.className == 'inflection')
		{
			article_text += " ";
			article_text += node.innerHTML.htmlentitydecode();
		} else if (node.nodeName == 'SUB')
		{
			article_text += " ";
			article_text += node.innerHTML.htmlentitydecode();
		} else if (node.className == 'gramComment')
		{
			article_text += "\n  ";
			article_text += node.innerHTML.htmlentitydecode();
		}
	}
	
	article_text += "\n\n";
	
	if(examples_div != undefined && examples_div != null)
	{
		article_text += "  Oversættelser".toUpperCase();
		article_text += "\n";
		
		example_list = examples_div.childNodes[2].childNodes[0];
		/* Gennemløber eksempler */
		article_text += traverseExamplesList(example_list);
	}

	article_textarea.value = article_text;
	current_original_text_input.value = article_text;
	return false;
}

function traverseExamplesList(example_list)
{
	text = '';
	
	for(i=0; i<example_list.childNodes.length; i++)
	{
		node = example_list.childNodes[i];

		if(node.className == 'articleHover')
		{
			for(j=0; j<node.childNodes.length; j++)
			{
				sub_node = node.childNodes[j];
				class_name = sub_node.className;
				
				text += (j == 0) ? "  * " : "";
								
				if(class_name == 'example' 
					|| class_name == 'explanation' 
					|| class_name == 'inflection' 
					|| class_name == 'wordclass'
					|| class_name == 'combination' 
					|| class_name == 'gramComment' 
					|| class_name == 'category')
				{
					text += sub_node.innerHTML.trim().htmlentitydecode();
					text += " ";
					
				} else if (sub_node.nodeName == 'INPUT' && sub_node.id.search(/^copybox/) > -1)
				{
					text += sub_node.value.trim().htmlentitydecode();
					text += " ";
				} else if (sub_node.nodeName == 'SUB' || sub_node.nodeName == 'SUP')
				{
					text += sub_node.innerHTML.trim().htmlentitydecode();
					text += " ";
				}
			}
			
			text += "\n";
		}
	}
	
	return text;
}

function transformDDNOArticleToPlainText()
{
	article = current_article_div;
	title = current_title_div;
	word = current_word;
	img_elm = current_img_elm;
	dict = current_dict;
	form = current_fb_form;
	article_textarea = current_fb_form.article_fb_article;
	
	table = current_ddno_table;
	cell = current_ddno_cell;
	
	var article_text = '';
	
	/* Titel-info */
	article_text += word;
	
	for(i=0; i<title.childNodes.length; i++)
	{
		node = title.childNodes[i];
		
		if(node.nodeName == 'SPAN')
		{
			node_title = node.getAttribute('title');
			
			if(node_title == 'wordclass')
			{
				for(j=0; j<node.childNodes.length; j++)
				{
					if(node.childNodes[j].nodeName == 'SUP')
					{
						article_text += " ";
						article_text += node.childNodes[j].innerHTML.htmlentitydecode();
					} else if(node.childNodes[j].nodeName == 'SUB')
					{
						article_text += " ";
						article_text += node.childNodes[j].innerHTML.htmlentitydecode();
					} else if(node.childNodes[j].nodeName == 'SPAN')
					{
						article_text += " ";
						article_text += node.childNodes[j].innerHTML.htmlentitydecode();
					}
				}
			}
			
			if(node_title == 'kendeord' 
				|| node_title == 'bestemt ental' 
				|| node_title == 'ubestemt flertal' 
				|| node_title == 'bestemt flertal'
				|| node_title == 'nutid'
				|| node_title == 'datid'
				|| node_title == 'før nutid'
				|| node_title == 'intetkøn'
				|| node_title == 'flertal'
				|| node_title == '2. grad'
				|| node_title == '3. grad'
			)
			{
				article_text += node.innerHTML.htmlentitydecode();
			}
		} else if(node.nodeName == '#text')
		{
			article_text += node.nodeValue.htmlentitydecode();
		}
	}
	
	article_text += "\n\n";
	
	if(cell != undefined && cell != null)
	{
		article_text += traverseDDNOArticle(cell);
	}
	
	article_textarea.value = article_text;
	current_original_text_input.value = article_text;
	return false;
}

function traverseDDNOArticle(cell)
{
	article_text = '';
	polysem_id = current_polysem_id;

	line_prefix = "";
	
	if(polysem_id > 0)
	{
		article_text += polysem_id+".  ";
		line_prefix = "     ";
	}
	
	for(i=0; i<cell.childNodes.length; i++)
	{
		node = cell.childNodes[i];
		node_name = node.nodeName;
		class_name = (node.className != undefined) ? node.className : '';
		node_id = (node.id != undefined) ? node.id : '';
		
		/* BETYDNING OG BRUG */
		if(node_id != '' && node_id.search(/^betydning/) > -1)
		{
			article_text += "Betydning og brug".toUpperCase();
			article_text += "\n";
			article_text += line_prefix;
			article_text += node.innerHTML.htmlentitydecode();
			article_text += "\n\n";
		}
		
		/* LÆSE TEKST-NODES */
		if(node.nodeName == '#text')
		{
			if(node.nodeValue.trim().length > 0)
			{
				article_text += line_prefix;
				article_text += node.nodeValue.trim().htmlentitydecode();
				article_text += "\n\n";
			}
		}

		/* SYNONYMER */
		if(node_id != '' && node_id.search(/^synonym/) > -1)
		{
			if(article_text.search(/ {1}?$/) < 0)
				article_text += line_prefix;
				
			article_text += "Synonymer".toUpperCase();
			article_text += "\n";
			
			for(j=0; j<node.childNodes.length; j++)
			{
				if(node.childNodes[j].nodeName == 'A')
				{
					article_text += line_prefix;
					article_text += node.childNodes[j].innerHTML.htmlentitydecode();
					article_text += "\n";
				}
			}
			
			article_text += "\n";
		}

		/* KOLLOKATIONER */
		if(node_id != '' && node_id.search(/^kollokation/) > -1)
		{
			article_text += line_prefix;
			article_text += "kollokationer".toUpperCase();
			article_text += "\n";
			
			for(j=0; j<node.childNodes.length; j++)
			{
				if(node.childNodes[j].nodeName == '#text')
				{
					article_text += line_prefix;
					article_text += node.childNodes[j].nodeValue.trim().htmlentitydecode();
					article_text += "\n";
				}
			}
			
			article_text += "\n";
		}
		
		/* EKSEMPLER */
		if(node_id != '' && node_id.search(/^eksempel/) > -1)
		{
			article_text += line_prefix;
			article_text += "Eksempler".toUpperCase();
			article_text += "\n";

			for(j=0; j<node.childNodes.length; j++)
			{
				if(node.childNodes[j].nodeName == '#text')
				{
					article_text += line_prefix;
					article_text += node.childNodes[j].nodeValue.trim().htmlentitydecode();
					article_text += "\n";
				} else if (node.childNodes[j].nodeName == 'DIV')
				{
					article_text += line_prefix;
					article_text += node.childNodes[j].innerHTML.trim().htmlentitydecode();
					article_text += "\n";
				}
			}
					
			article_text += "\n";
		}
		
		/* IDIOMER */
		if(node_id != '' && node_id.search(/^idiom/) > -1)
		{
			article_text += line_prefix;
			article_text += "idiomer".toUpperCase();
			article_text += "\n";
			
			for(j=0; j<node.childNodes.length; j++)
			{
				if(node.childNodes[j].nodeName == '#text')
				{
					article_text += line_prefix;
					article_text += node.childNodes[j].nodeValue.trim().htmlentitydecode();
					article_text += "\n";
				} else if (node.childNodes[j].nodeName == 'DIV')
				{
					article_text += line_prefix;
					article_text += node.childNodes[j].innerHTML.trim().htmlentitydecode();
					article_text += "\n";
				}
			}
			
			article_text += "\n";
		}
		
		/* ORDSPROG O.L. */
		if(node_id != '' && node_id.search(/^sentens/) > -1)
		{
			article_text += line_prefix;
			article_text += "ORDSPROG o.L.".toUpperCase();
			article_text += "\n";
			
			for(j=0; j<node.childNodes.length; j++)
			{
				if(node.childNodes[j].nodeName == '#text')
				{
					article_text += line_prefix;
					article_text += node.childNodes[j].nodeValue.trim().htmlentitydecode();
					article_text += "\n";
				}
			}
			
			article_text += "\n";
		}
		
		/* ORDDANNELSER */
		if(node_id != '' && node_id.search(/^orddannelse/) > -1)
		{
			article_text += line_prefix;
			article_text += "Orddannelser".toUpperCase();
			article_text += "\n";
			
			for(j=0; j<node.childNodes.length; j++)
			{
				if (node.childNodes[j].nodeName == 'A')
				{
					article_text += line_prefix;
					article_text += node.childNodes[j].innerHTML.trim().htmlentitydecode();
					article_text += "\n";
				}
			}
			
			article_text += "\n";
		}
		
		/* SE OGSÅ */
		if(node_id != '' && node_id.search(/^lexhenv/) > -1)
		{
			article_text += line_prefix;
			article_text += "SE OGSÅ".toUpperCase();
			article_text += "\n";
			
			for(j=0; j<node.childNodes.length; j++)
			{
				if (node.childNodes[j].nodeName == 'A')
				{
					article_text += line_prefix;

					for(k=0; k<node.childNodes[j].childNodes.length; k++)
					{
						child_node_name = node.childNodes[j].childNodes[k].nodeName;
						
						if(child_node_name == '#text')
						{
							article_text += node.childNodes[j].childNodes[k].nodeValue.trim().htmlentitydecode();
						} else if(child_node_name == 'SUP')
						{
							article_text += " ";
							article_text += node.childNodes[j].childNodes[k].innerHTML.trim().htmlentitydecode();
						} else if(child_node_name == 'SUB')
						{
							article_text += " ";
							article_text += node.childNodes[j].childNodes[k].innerHTML.trim().htmlentitydecode();
						}
					}
					article_text += "\n";
				}
			}
			
			article_text += "\n";
		}
	}
	
	return article_text;
}

function transformRegnskabArticleToPlainText()
{
	article = current_article_div;
	title = current_title_div;
	img_elm = current_img_elm;
	dict = current_dict;
	form = current_fb_form;
	article_textarea = current_fb_form.article_fb_article;
	cells = new Array();
	//cells.push(article.childNodes[0].childNodes[1].childNodes[0].childNodes[1]);
	
	tbody = (article.childNodes[0].childNodes[1] != undefined) ? article.childNodes[0].childNodes[1] : article.childNodes[0].childNodes[0];
	
	for(r=0; r<tbody.childNodes.length; r++)
	{
		table_row = tbody.childNodes[r];
		
		if(table_row.nodeName == 'TR')
		{
			for(c=0; c<table_row.childNodes.length; c++)
			{
				cell_node = table_row.childNodes[c];
				if(cell_node.nodeName == 'TD' && cell_node.innerHTML.trim().length > 1)
				{
					cells.push(cell_node);
				}
			}
		}
	}

	line_prefix = "";
	
	article_text = '';
	
	/* TITLE */
	for(i=0; i<title.childNodes.length; i++)
	{
		node = title.childNodes[i];
		node_title = (node.nodeName != '#text') ? node.getAttribute('title') : '';
		
		if(node.className == 'roLemma')
		{
			article_text += node.innerHTML.trim().htmlentitydecode();
		}
		
		if(node.className == 'roHomonymId')
		{
			for(j=0; j<node.childNodes.length; j++)
			{
				if(node.childNodes[j].nodeName == 'SUP' || node.childNodes[j].className == 'roWordClass')
				{
					article_text += " ";
					article_text += node.childNodes[j].innerHTML.trim().htmlentitydecode();
				}
			}
		}
		
		if(node_title == 'kendeord' 
			|| node_title == 'bestemt ental' 
			|| node_title == 'ubestemt flertal' 
			|| node_title == 'bestemt flertal'
			|| node_title == 'nutid'
			|| node_title == 'datid'
			|| node_title == 'før nutid'
			|| node_title == 'intetkøn'
			|| node_title == 'flertal'
			|| node_title == '2. grad'
			|| node_title == '3. grad'
			|| node.className == 'roWordClass'
		)
		{
			article_text += node.innerHTML.htmlentitydecode();
		}
		
		if(node.nodeName == '#text')
		{
			article_text += node.nodeValue.htmlentitydecode();
		}
	}
	
	article_text += "\n";
	
	/* ARTICLE */
	for(i=0; i<cells.length; i++)
	{
		if(cells[i].className == '' && cells[i].childNodes[0].className != 'roSeparator')
		{
			article_text += traverseSingleRegnskabArticle(cells[i]);
		} else
		{
			article_text += traverseMultipleRegnskabArticle(cells[i]);
		}
	}
	
	article_textarea.value = article_text;
	current_original_text_input.value = article_text;
	return false;
}

function traverseMultipleRegnskabArticle(cell)
{
	add_article_text = '';
	line_prefix = "";
	
	if(cell.childNodes.length > 0)
	{
		/* POLYSEM ID'er */
		if(cell.className == 'roPolysemeId')
		{
			add_article_text += "\n";
			add_article_text += cell.childNodes[1].innerHTML + " ";
		}
		
		if (cell.className == 'roDefinition')
		{
			add_article_text += line_prefix + "Definition".toUpperCase() + "\n";
			
			if(cell.childNodes[2] != undefined && cell.childNodes[2].id.search(/^def/) > -1)
			{
				if(cell.childNodes[2].nodeName == 'DIV')
				{
					add_article_text += cell.childNodes[2].innerHTML + "\n";
				}
			} else if (cell.childNodes[1] != undefined && cell.childNodes[1].id.search(/^def/) > -1)
			{
				if(cell.childNodes[1].nodeName == 'DIV')
				{
					add_article_text += cell.childNodes[1].innerHTML + "\n";
				}
			}
		}
	}
	
	return add_article_text;
}

function traverseSingleRegnskabArticle(cell)
{
	add_article_text = '';
	line_prefix = "";

	for(i=0; i<cell.childNodes.length; i++)
	{
		node = cell.childNodes[i];
		node_title = (node.nodeName != '#text' && node.getAttribute('title') != null) ? node.getAttribute('title') : '';
		node_name = (node.nodeName != undefined) ? node.nodeName : '';
		class_name = (node.className != undefined) ? node.className : '';
		node_id = (node.id != undefined) ? node.id : '';
	
		/* DEFINITION */
		if(node_id != '' && node_id.search(/^def/) > -1)
		{
			add_article_text += line_prefix + "Definition".toUpperCase();
			add_article_text += "\n";
			add_article_text += line_prefix;
			added_text = '';
			
			for(j=0; j<node.childNodes.length; j++)
			{
				if(node.childNodes[j].nodeName == '#text')
				{
					added_text += node.childNodes[j].nodeValue.htmlentitydecode();
				} else if (node.childNodes[j].className == 'roHighlightWord')
				{
					added_text += node.childNodes[j].innerHTML.htmlentitydecode();
				}
			}
			
			add_article_text += added_text;
			add_article_text += "\n";
		}
		
		if(node_name == 'SPAN')
		{
			if(class_name == 'roTranslationTitle')
			{
				add_article_text += line_prefix;
				add_article_text += node.innerHTML.htmlentitydecode();
			}
			
			if(node_title == 'kendeord' 
				|| node_title == 'bestemt ental' 
				|| node_title == 'ubestemt flertal' 
				|| node_title == 'bestemt flertal'
				|| node_title == 'nutid'
				|| node_title == 'datid'
				|| node_title == 'før nutid'
				|| node_title == 'intetkøn'
				|| node_title == 'flertal'
				|| node_title == '2. grad'
				|| node_title == '3. grad'
				|| node_title == 'bøjninger'
				|| node.className == 'roHomonymId'
			)
			{
				for(j=0; j<node.childNodes.length; j++)
				{
					if(node.childNodes[j].className == 'roFlexion' || node.childNodes[j].className == 'roWordClass' || node.childNodes[j].className == 'roLangcode')
					{
						add_article_text += node.childNodes[j].innerHTML;
					} else if (node.childNodes[j].nodeName == '#text')
					{
						add_article_text += node.childNodes[j].nodeValue.htmlentitydecode();
					} else if(node.childNodes[j].nodeName == 'SUP')
					{
						add_article_text += node.childNodes[j].innerHTML;
					}
				}
			}
		}
		
		if(node.nodeName == '#text')
		{
			add_article_text += node.nodeValue.htmlentitydecode();
		}
		
		/* POLYSEMANCHORS */
		if(node.className == 'roPolysemeAnchor')
		{
			add_article_text += node.innerHTML.htmlentitydecode()+ " ";
		}

		/* SYNONYMER */
		if(node_title != '' && node_title.search(/^synonymer/) > -1)
		{
			add_article_text += line_prefix;
			add_article_text += "Synonymer".toUpperCase();
			add_article_text += "\n";
			
			for(j=0; j<node.childNodes.length; j++)
			{
				if(node.childNodes[j].nodeName == '#text')
				{
					add_article_text += line_prefix;
					add_article_text += node.childNodes[j].nodeValue.trim().htmlentitydecode();
				} else if(node.childNodes[j].nodeName == 'BR')
				{
					add_article_text += "\n";
				}
			}
			
			add_article_text += "\n";
		}
		
		/* ALTERNATIV SYNONYMER */
		if(node_name != '' && node_name == 'TABLE')
		{
			alt_cell = node.childNodes[1].childNodes[0].childNodes[1];
			str_length = alt_cell.innerHTML.trim().length;
			/*
			add_article_text += line_prefix;
			add_article_text += "Synonymer".toUpperCase();
			add_article_text += "\n";
			*/
			if(str_length > 0)
			{
				for(j=0; j<alt_cell.childNodes.length; j++)
				{
					if(alt_cell.childNodes[j].nodeName == 'DIV')
					{
						for(k=0; k<alt_cell.childNodes[j].childNodes.length; k++)
						{
							if(alt_cell.childNodes[j].childNodes[k].nodeName == 'A')
							{
								add_article_text += "\n\n" + line_prefix;
								add_article_text += alt_cell.childNodes[j].childNodes[k].innerHTML.trim().htmlentitydecode().toUpperCase();
								add_article_text += "\n";
							} else if (alt_cell.childNodes[j].childNodes[k].nodeName == '#text')
							{
								add_article_text += line_prefix;
								add_article_text += alt_cell.childNodes[j].childNodes[k].nodeValue.trim().htmlentitydecode();
							} else if(alt_cell.childNodes[j].childNodes[k].nodeName == 'BR')
							{
								add_article_text += "\n";
							}
						}
					}
				}
			}
		}
		
		/* KOLLOKATIONER */
		if(node_title != '' && node_title.search(/^kollokation/) > -1 || node_title.search(/^collocations/) > -1)
		{
			add_article_text += "\n";
			add_article_text += line_prefix;
			add_article_text += "kollokationer".toUpperCase();
			add_article_text += "\n";
			
			for(j=0; j<node.childNodes.length; j++)
			{
				if(node.childNodes[j].nodeName == 'DIV')
				{
					added_text = '';

					for(k=0; k<node.childNodes[j].childNodes.length; k++)
					{
						if(node.childNodes[j].childNodes[k].className == 'roHighlightWord')
						{
							added_text += node.childNodes[j].childNodes[k].innerHTML.htmlentitydecode();
						}
						
						if(node.childNodes[j].childNodes[k].nodeName == '#text')
						{
							added_text += node.childNodes[j].childNodes[k].nodeValue.htmlentitydecode();
						}
					}

					add_article_text += line_prefix + added_text + "\n";
				}
			}
			
			add_article_text += "\n";
		}
		
		/* EKSEMPLER */
		if(node_title != '' && node_title.search(/^eksempler/) > -1)
		{
			add_article_text += line_prefix;
			add_article_text += "Eksempler".toUpperCase();
			add_article_text += "\n";
			
			for(j=0; j<node.childNodes.length; j++)
			{
				if(node.childNodes[j].nodeName == 'DIV')
				{
					added_text = '';

					for(k=0; k<node.childNodes[j].childNodes.length; k++)
					{
						if(node.childNodes[j].childNodes[k].className == 'roHighlightWord')
						{
							added_text += node.childNodes[j].childNodes[k].innerHTML.htmlentitydecode();
						}
						
						if(node.childNodes[j].childNodes[k].nodeName == '#text')
						{
							added_text += node.childNodes[j].childNodes[k].nodeValue.htmlentitydecode();
						}
					}

					add_article_text += line_prefix + added_text + "\n";
				}
			}
			
			add_article_text += "\n";
		}
		
		/* IDIOMER */
		/*
		if(node_id != '' && node_id.search(/^idiom/) > -1)
		{
			add_article_text += line_prefix;
			add_article_text += "idiomer".toUpperCase();
			add_article_text += "\n";
			
			for(j=0; j<node.childNodes.length; j++)
			{
				if(node.childNodes[j].nodeName == '#text')
				{
					add_article_text += line_prefix;
					add_article_text += node.childNodes[j].nodeValue.trim().htmlentitydecode();
					add_article_text += "\n";
				} else if (node.childNodes[j].nodeName == 'DIV')
				{
					add_article_text += line_prefix;
					add_article_text += node.childNodes[j].innerHTML.trim().htmlentitydecode();
					add_article_text += "\n";
				}
			}
			
			add_article_text += "\n";
		}
		*/
		/* ORDSPROG O.L. */
		/*
		if(node_id != '' && node_id.search(/^sentens/) > -1)
		{
			add_article_text += line_prefix;
			add_article_text += "ORDSPROG o.L.".toUpperCase();
			add_article_text += "\n";
			
			for(j=0; j<node.childNodes.length; j++)
			{
				if(node.childNodes[j].nodeName == '#text')
				{
					add_article_text += line_prefix;
					add_article_text += node.childNodes[j].nodeValue.trim().htmlentitydecode();
					add_article_text += "\n";
				}
			}
			
			add_article_text += "\n";
		}
		*/
		/* ORDDANNELSER */
		/*
		if(node_id != '' && node_id.search(/^orddannelse/) > -1)
		{
			add_article_text += line_prefix;
			add_article_text += "Orddannelser".toUpperCase();
			add_article_text += "\n";
			
			for(j=0; j<node.childNodes.length; j++)
			{
				if (node.childNodes[j].nodeName == 'A')
				{
					add_article_text += line_prefix;
					add_article_text += node.childNodes[j].innerHTML.trim().htmlentitydecode();
					add_article_text += "\n";
				}
			}
			
			add_article_text += "\n";
		}
		*/
		/* SE OGSÅ */
		if(node_title != '' && node_title.search(/^se også/) > -1 || node_title.search(/^see also/) > -1)
		{
			add_article_text += line_prefix;
			add_article_text += "SE OGSÅ:".toUpperCase();
			add_article_text += "\n";
			
			for(j=0; j<node.childNodes.length; j++)
			{
				if (node.childNodes[j].nodeName == 'A')
				{
					add_article_text += line_prefix;

					for(k=0; k<node.childNodes[j].childNodes.length; k++)
					{
						child_node_name = node.childNodes[j].childNodes[k].nodeName;
						
						if(child_node_name == '#text')
						{
							add_article_text += node.childNodes[j].childNodes[k].nodeValue.trim().htmlentitydecode();
						} else if(child_node_name == 'SUP')
						{
							add_article_text += " ";
							add_article_text += node.childNodes[j].childNodes[k].innerHTML.trim().htmlentitydecode();
						} else if(child_node_name == 'SUB')
						{
							add_article_text += " ";
							add_article_text += node.childNodes[j].childNodes[k].innerHTML.trim().htmlentitydecode();
						}
					}
					add_article_text += "\n";
				}
			}
			
			add_article_text += "\n";
		}
		
		if(node_title != '' && node_title.search(/^kilder/) > -1)
		{
			add_article_text += line_prefix;
			add_article_text += "Kilder".toUpperCase();
			add_article_text += "\n";
			
			for(j=0; j<node.childNodes.length; j++)
			{
				if (node.childNodes[j].nodeName == '#text')
				{
					add_article_text += line_prefix;
					add_article_text += node.childNodes[j].nodeValue.trim().htmlentitydecode();
				}
			}
		}
	}
	
	return add_article_text;
}

function submitArticleFbform(word, wordclass, dict, homonym_id, polysem_id, input_suffix, article_div_id, id) {
	word_classes = new Object();
	word_classes["ADJ"] = "adjektiv";
	word_classes["ADV"] = "adverbium";
	word_classes["ART"] = "artikel";
	word_classes["KON"] = "konjunktion";
	word_classes["NUM"] = "numerale";
	word_classes["PRON"] = "pronomen";
	word_classes["PRÆ"] = "præposition";
	word_classes["SUB"] = "substantiv";
	word_classes["s"] = "substantiv";
	word_classes["VB"] = "verbum";
	word_classes["v"] = "verbum";
	word_classes["INT"] = "interjektion";
	word_classes["PROP"] = "proprium";
	word_classes["PART"] = "partikel";
	word_classes["FORKT"] = "forkortelse";
	
	/* Fetching element-refs */
	article_fb_textarea_ref = document.getElementById('article_fb_article'+input_suffix);
	article_fb_original_text_ref = document.getElementById('article_original_text'+input_suffix);
	article_fb_comments_ref = document.getElementById('article_fb_comments'+input_suffix);
	contact_me_chk_ref = document.getElementById('article_fb_contact_me'+input_suffix);
	contact_mail_input_ref = document.getElementById('article_fb_user_mail'+input_suffix);
	
	/* Creating vars for ajax-submit */ 
	current_url = encodeURIComponent(window.location.href);
	var wants_info = (contact_me_chk_ref.checked) ? 1 : 0;
	//wants_info = encodeURIComponent(wants_info);
	var comments = encodeURIComponent(article_fb_comments_ref.value.trim());
	var article = encodeURIComponent(article_fb_textarea_ref.value.trim());
	var orig_article = encodeURIComponent(current_original_text_input.value.trim());
	var wordclass = (word_classes[wordclass] != undefined) ? encodeURIComponent(word_classes[wordclass]) : encodeURIComponent(wordclass);
	
	var article_trimmed = article.trim();
	article_length = article.length;
	var mail_trimmed = contact_mail_input_ref.value.trim();
	//mail_length = mail_trimmed.length;
	is_mail = (mail_trimmed.match(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i) != null) ? 1 : 0;
	
	// Hvis brugeren har indtastet minimum 10 tegn
	if(article_length >= 10) {
		// Hvis bugeren ikke har markeret tjekboksen
		if(!wants_info) {
			if(!confirm('Vil du fortsætte, selvom redaktionen ikke kan se din e-mail-adresse?')) { // Brugeren har fortrudt at der ikke blev valgt at vi skulle kontakte ham
				return false;
			}
		} else {
			if(!is_mail) {
				alert('Den indtastede e-mailadresse er ikke gyldig. (Format: xxx@yyy.zz)');
				return false;
			}
		}
		
		httpObject = getHTTPObject();

		if(current_original_text_input.value.length > 2000)
		{
			send_data_url_vars = 'word='+encodeURIComponent(word)+'&wordclass='+wordclass+'&contact_me='+encodeURIComponent(wants_info)+'&current_url='+current_url+'&mail='+encodeURIComponent(mail_trimmed)+'&comments='+comments+'&dict='+encodeURIComponent(dict)+'&homonym_id='+encodeURIComponent(homonym_id)+'&polysem_id='+encodeURIComponent(polysem_id);
		} else
		{
			send_data_url_vars = 'word='+encodeURIComponent(word)+'&wordclass='+wordclass+'&contact_me='+encodeURIComponent(wants_info)+'&current_url='+current_url+'&mail='+encodeURIComponent(mail_trimmed)+'&article='+article+'&orig_article='+orig_article+'&comments='+comments+'&dict='+encodeURIComponent(dict)+'&homonym_id='+encodeURIComponent(homonym_id)+'&polysem_id='+encodeURIComponent(polysem_id);
		}
		
		url = '/feedback/handle_article_feedback.php?'+send_data_url_vars;
		
		if (httpObject != null) {
			httpObject.open("GET", url, true);
			httpObject.send(null);
			
			httpObject.onreadystatechange = function() {
				if(httpObject.readyState == 4){
					response = httpObject.responseText;

					if(response != 0) 
					{
						article_fb_textarea_ref.value = '';
						article_fb_textarea_ref.disabled = true;
						article_fb_comments_ref.value = '';
						article_fb_comments_ref.disabled = true;
						
//						if(response.indexOf('Request-URI Too Large') > -1)
//						{
//							response = 'Systemet understøtter pt. ikke så store tekster. Der arbejdes på sagen.';
//						}
						
						document.getElementById('article_fb_status_text'+input_suffix).innerHTML = response;
						document.getElementById('article_fb_status_text'+input_suffix).style.display = 'block';
						
						document.getElementById('article_fb_status_text'+input_suffix).nextSibling.style.display = 'none';
						
						if(dict != 'ddno')
						{
							form_id = current_fb_form.id;
							positionGeneralArticleFeedbackForm('', article_div_id, form_id, id, word, wordclass, dict, true, 'none');
						} else 
						{
							positionDDNOArticleFeedbackForm('', dict, polysem_id, homonym_id, word, true, 'none');
						}
					} else 
					{
//						alert(response);
					}

					return false;
				}
			};
		}
		
	} else { // hvis brugeren har indtastet en for kort feedback
		alert('Din besked skal være på minimum 10 tegn!');
		return false;
	}
	
	return false;
}
