
//<!--@labelfile dgu_labels.txt -->

//

// Function:	listKeyword
// Parameters:	thg_id		thing for later actions
//				filter		filter out own keywords
// Returns:		list with keywords and calls function writeAddKeywordForm
// Description:	List all keywords by xmlhttpdrequest
//				The own keywords of the thg_id 
//				can be filtered out (optional)
//
function listKeyword (thg_id, thg_uri, filter)
{
	filter = (filter) ? true : false;

	var parms = {
		'thg_id':thg_id,
		'filter':filter
	}
	var opt = {
		'thg_id':thg_id,
		'thg_uri':thg_uri
	}
	anymeta_rest ('anymeta.metadata.listKeyword', parms, writeAddKeywordForm, opt)
}

// Function:	writeAddKeywordForm
// Parameters:	succes			was the xmlhttprequest succesfull
//				responseXML		output of xmlhttprequest 
//				opt				optiobal paramaters
// Returns:		
// Description:	creates form to add an keyword to an thing
//
function writeAddKeywordForm (success, responseXML, opt)
{
	if (success)
	{
		var dv	   = new getObj('fhid_addkeyword');
		var tp	   = responseXML.getElementsByTagName('type');

		var thg_id  = (opt['thg_id'] != null)  ? opt['thg_id']  : null;
		var thg_uri = (opt['thg_uri'] != null) ? opt['thg_uri'] : null;
	
		if (tp && thg_id) 
		{
			c = '';
			c += '<div class="frm">';
			c += '<h3>extra trefwoord</h3>';
			c += '<div class="frm_content">';
			c += '<p>';
			c += '<div id="wait_add_keyword" style="display: none"> <h4>Even wachten ...</h4> </div>';
			c += '<div id="ok_add_keyword" style="display: none"> <h4>Trefwoord(en) is (zijn) toegevoegd</h4><p style="margin-top: 5px;">';
			if (thg_uri)
			{
			c += '<a href="'+thg_uri+'">Bekijk het resultaat</a>';
			}
			c += '</p></div>';
			c += '<div id="err_add_keyword"  style="display: none"> <h4>Er is iets misgegaan. Neem contact op met de system administrator</h4> </div>';
			c += '</p>';
			c += '<div id="frm_add_keyword">';
		//
						//
			c += '<form id="f_add_keyword" onsubmit="return anymeta_rest_onsubmit(\'f_add_keyword\',\'-ok_add_keyword,-err_add_keyword,wait_add_keyword\',\'-frm_add_keyword,-wait_add_keyword,ok_add_keyword\',\'-wait_add_keyword,err_add_keyword\')" action="#">'; // ,null,null,anymeta_rest_show_searchresult_add_keyword
			c += '<input type="hidden" name="method" value="anymeta.metadata.addKeyword">';
			c += '<input type="hidden" name="thing_id" value="'+thg_id+'">'; 
			c += '<p>';

			for (var i=0;i<tp.length;i++) 
			{
				tp_id  = tp[i].getElementsByTagName('thg_id')[0].firstChild.nodeValue;
				tp_ttl = tp[i].getElementsByTagName('title')[0].firstChild.nodeValue;

				c += '<label for="" class="title">';
				c += tp_ttl + ' <br/> ';
				c += '</label>';
				c += '<table width="100%"><tr><td valign="top" width="50%">';
				items = tp[i].getElementsByTagName('keyword')[0].getElementsByTagName("item");
				if (items.length > 0)
				{
					l = Math.round(items.length / 2);

					c += '<table>';
					for (var j=0;j<l;j++) 
					{
						kw_id  = items[j].getElementsByTagName('thg_id')[0].firstChild.nodeValue;
						kw_ttl = items[j].getElementsByTagName('title')[0].firstChild.nodeValue;

						c += '<tr><td valign="top"><input type="checkbox" id="kw'+tp_id+'_'+kw_id+'" name="keyword[]" value="'+kw_id+'" class="checkbox" \/><\/td><td><label for="kw'+tp_id+'_'+kw_id+'" class="cr">'+kw_ttl+'<\/label><\/td><\/tr>';
					}
					c += '<tr><td style="width:20px">&nbsp;<\/td><td style="width:100%">&nbsp;<\/td><\/tr><\/table>';
					c += '</td><td valign="top" width="50%">';
					c += '<table>';
					for (var j=l;j<items.length;j++) 
					{
						kw_id  = items[j].getElementsByTagName('thg_id')[0].firstChild.nodeValue;
						kw_ttl = items[j].getElementsByTagName('title')[0].firstChild.nodeValue;

						c += '<tr><td valign="top"><input type="checkbox" id="kw'+tp_id+'_'+kw_id+'" name="keyword[]" value="'+kw_id+'" class="checkbox" \/><\/td><td><label for="kw'+tp_id+'_'+kw_id+'" class="cr">'+kw_ttl+'<\/label><\/td><\/tr>';
					}
					c += '<tr><td style="width:20px">&nbsp;<\/td><td style="width:100%">&nbsp;<\/td><\/tr><\/table>';
				}
				else
				{
					c += 'Geen trefwoorden gevonden';
				}
				c += '</td></tr></table>';
			}
			c += '</p>';
			c += '<p>';
			c += '<input type="submit" value="Voeg trefwoord toe" class="submit" />';
			c += '<input type="reset" value="annuleer" onclick="hideObjAll(\'fhid\',\'\',true);" class="submit" />';
			c += '</p>';
			c += '</form>';
			c += '</div>';
		}
		dv.obj.innerHTML = c;
		showObj('fhid_addkeyword');
	}
}

function anymeta_rest_show_searchresult ( success, data, opt )
{
	anymeta_rest_showhide('-frm_invite_user,-wait_invite_user');

	//items = data.getElementsByTagName("item");

	var c = '';
//
	c +='<div class="list_header">';
	c +='	leden';
	c +='	| + <a href="javascript:hideObj(\'list_members\',true); showObj(\'fhid_membership\',true)">bewerk</a> ';
	c +='	| + <b>Nodig iemand uit</b>';
	c +='</div>';
	c +='<div class="frm">';
	c +='<h3>Nodig iemand uit</h3>';
	c +='<div class="frm_content">';
	c +='<p>';
	c +='<div id="wait_invite" style="display: none"> <h4>moment ﾅ</h4> </div>';
	c +='<div id="ok_invite"   style="display: none"> ';
	c += '<h4>De uitnodiging is verzonden</h4> ';
	c += '<p style="margin-top: 3px"><a href="javascript:hideObj(\'list_members\',true); writeInviteUserForm(\'fhid_search_user\','+opt+')">Iemand anders uitnodigen?</a></p>';
	c += '<p>of <a href="javascript:hideObjAll(\'fhid\',\'\',true);showObj(\'list_members\')">afsluiten</a></p>';
	c +='</div>';
	c +='<div id="err_invite"  style="display: none"> <h4>Er is iets misgegaan. Probeer opnieuw of neem contact op met de system administrator</h4> </div>';
	c +='</p>';
//
	c +='<form id="f_invite" onsubmit="return invite_validate(\'f_invite\',\'Gebruik een bestaand emailadres en schrijf een bericht.\');" action="#">';
	c +='<input type="hidden" name="method" value="anymeta.messages.send">';
	c +='<input type="hidden" name="kind" value="message">';
	c +='<input type="hidden" name="text" value="Hierbij nodig ik je uit voor de tafel" />';
	c += '<input type="hidden" name="msg_id_ref" value="'+opt+'" />';
	c +='<p>';
	if (data && data.getElementsByTagName("item").length > 0)
	{
	c +='<select name="user_id">';
		for (i=0;i<data.getElementsByTagName("item").length;i++)
		{
	c += '<option value="'+data.getElementsByTagName("item").item(i).getAttribute('email')+'">'+data.getElementsByTagName("item").item(i).getAttribute('realname')+'</option>';
		}
	c +='</select>';
	}
	else
	{
	c +='Niets gevonden<br />';
	c += '<a href="javascript:hideObj(\'list_members\',true); writeInviteUserForm(\'fhid_search_user\')">Opnieuw zoeken</a>';
	}
	c +='</p>';
	c +='<p>';
	if (data && data.getElementsByTagName("item").length > 0)
	{
	c +='<input type="submit" value="Nodig uit" class="submit" />';
	}
	c +='<input type="reset" value="annuleer" onclick="hideObjAll(\'fhid\',\'\',true);showObj(\'list_members\')" class="submit" />';
//	if (data.getElementsByTagName("item").length > 0)
//	{
//	c += '<br /><br /><a href="javascript:hideObj(\'list_members\',true); writeInviteUserForm(\'fhid_search_user\')">Iemand anders uitnodigen?</a>';
//	}
	c +='</p>';
	c +='</form>';
	c +='</div>';
	c +='</div>';

	var x = new getObj('fhid_search_user');
	x.style.display = 'block';
	x.obj.innerHTML = c;

}

function writeInviteUserForm(o, opt)
{
//
	var c= '';
	c += '<div class="list_header">';
	c += '	leden';
	c += '	| + <a href="javascript:hideObj(\'list_members\',true); showObj(\'fhid_membership\',true)">bewerk</a> ';
	c += '	| + <b>Nodig iemand uit</b>';
	c += '</div>';
	c += '<div class="frm">';
	c += '<h3>Nodig iemand uit</h3>';
	c += '<div class="frm_content">';
	c += '<p>';
	c += '<div id="wait_invite_user" style="display: none"> <h4>moment ﾅ</h4> </div>';
	c += '<div id="err_invite_user"  style="display: none"> <h4>Er is iets misgegaan. Probeer opnieuw of neem contact op met de system administrator</h4> </div>';
	c += '</p>';
	c += '<div id="frm_search_user">';
	c += '<p>Zoek een user in het systeem</p>';
	c += '<form id="f_invite_user" onsubmit="return anymeta_rest_onsubmit(\'f_invite_user\',\'-err_invite_user,wait_invite_user\',null,null,anymeta_rest_show_searchresult,\''+opt+'\')" action="#">';
	c += '<input type="hidden" name="method" value="anymeta.search.textmatch">';
	c += '<input type="hidden" name="user" value="true">';
	c += '<p>';
	c += '<input type="text" name="q_mm">';
	c += '</p>';
	c += '<p>';
	c += '<input type="submit" value="Zoek" class="submit" />';
	c += '<input type="reset" value="annuleer" onclick="hideObjAll(\'fhid\',\'\',true);showObj(\'list_members\',true);" class="submit"  class="date" />';
	c += '</p>';
	c += '</form>';
	c += '</div>';
	c += '</div>';
	
	c += '</div>';
//

	if (o)
	{
		var x = new getObj(o);
		x.style.display = 'block';
		x.obj.innerHTML = c;
	}
	else if (document.getElementById('fhid_search_user'))
	{
		var x = new getObj('fhid_invite');
		x.style.display = 'block';
		x.obj.innerHTML = c;
	}
	else
	{
		alert("Er is geen div met id=fhid_invite")
	}
}

function invite_validate(form,alrt)
{
	var f = document.getElementById(form);
	if (!f) 
	{
		f = document.forms[form];
	}
	if (alrt == null || isSizeSmaller(alrt, 1))
	{
		alrt = "Please, give a title and and a message.";
	}
	var msg		 = "";
	var itsValue = "";
	var isValid  = true;
	// Check title
	ttl = getvalue(f.elements["user_id"]);
	if (isSizeSmaller(ttl, 1))
	{	
		isValid = false;
		f.elements["user_id"].focus();
	}
	else if(!isEmailAddress(ttl))
	{
		isValid = false;
		f.elements["user_id"].focus();
	}

	// Check text
	txt = getvalue(f.elements["text"]);
	if (isSizeSmaller(txt, 1))
	{	
		isValid = false;
		f.elements["text"].focus();
	}

	if (!isValid) 
	{
		alert(alrt);
		return false;
	}
	else
	{
		return anymeta_rest_onsubmit('f_invite','-ok_invite,-err_invite,wait_invite','-frm_invite,-wait_invite,ok_invite,ready_invite,-f_invite','-wait_invite,err_invite');
	}
}

function writeInviteForm(o)
{

//
	var c = '';
	c += '<div class="frm">';
	c += '<h3>Uitnodiging</h3>';
	c += '<div class="frm_content">';
	c += '<p>';
	c += '<div id="wait_invite" style="display: none"> <h4>moment ﾅ</h4> </div>';
	c += '<div id="ok_invite"   style="display: none"> <h4>De uitnodiging is verzonden</h4> </div>';
	c += '<div id="err_invite"  style="display: none"> <h4>Er is iets misgegaan. Probeer opnieuw of neem contact op met de system administrator</h4> </div>';
	c += '</p>';
	c += '<div id="frm_invite">';
	c += '<p>Nodig iemand uit die nog geen lid is van de community.</p>';
	c += '<p class="help"></p>';
	c += '<form id="f_invite" onsubmit="return invite_validate(\'f_invite\',\'Gebruik een bestaand emailadres en schrijf een bericht.\');" action="#">';
	c += '<input type="hidden" name="method" value="anymeta.messages.send">';
	c += '<input type="hidden" name="subject" value="invite">';
	c += '<input type="hidden" name="kind" value="notify">';
	c += '<p>';
	c += '<h4>e-mail adres </h4>';
	c += '<input type="text" name="user_id" value="">';
	c += '</p>';
	c += '<p>';
	c += '<h4>Bericht </h4>';
	c += '<textarea name="text" rows="15">Hierbij nodig ik je uit om ...</textarea>';
	c += '</p>';
	c += '<p>';
	c += '<input type="submit" value="verstuur bericht" class="submit" />';
	c += '<input type="reset" value="annuleer" onclick="hideObjAll(\'fhid\',\'\',true)" class="submit" />';
	c += '</p>';
	c += '</form>';
	c += '</div>';
	c += '</div>';
	c += '</div>';
//

	if (o)
	{
		var x = new getObj(o);
	}
	else if (document.getElementById('fhid_invite'))
	{
		var x = new getObj('fhid_invite');
		x.style.display = 'block';
		x.obj.innerHTML = c;
	}
	else
	{
		alert("Er is geen div met id=fhid_invite")
	}
/*
	else if (document.getElementById('context'))
	{
		var elem = document.createElement("DIV");
		elem.setAttribute ("id", "fhid_invite");
		var context  = new getObj('context');
		context.obj.insertAdjacentElement("AfterBegin",elem);
		elem.innerHTML = cc;
	}
*/
}


//