var activemessage = 0;
var replymessagebox = 0;
var googlepin = 0;

function addTag(objekt)
{
	var selTagliste = document.getElementById("tagliste").value;
	if(selTagliste != '')
	{
		selTagliste = selTagliste + ', ' + objekt.innerHTML;
	}
	else
	{
		selTagliste = objekt.innerHTML;
	}
	document.getElementById("tagliste").value = selTagliste;
	
	var seltags = document.getElementById("seltags");
	var menge = seltags.childNodes.length;
	var knoten = '';
	for (i=0; i<menge; i++)
	{
		vistag = seltags.childNodes[i].innerHTML
		seltag = objekt.innerHTML;
		if (vistag == seltag)
		{
			tag = seltags.childNodes[i];
			new Effect.Appear(tag);
		}
	}
}

function removeTag(objekt)
{
	var selTagliste = document.getElementById("tagliste").value;
	var replacetext = ", " + objekt.innerHTML;
	selTagliste = selTagliste.replace(new RegExp(replacetext,"g"), '');
	replacetext = objekt.innerHTML + ", ";
	selTagliste = selTagliste.replace(new RegExp(replacetext,"g"), '');	
	replacetext = objekt.innerHTML;
	selTagliste = selTagliste.replace(new RegExp(replacetext,"g"), '');	

	document.getElementById("tagliste").value = selTagliste;
	
	avtags = document.getElementById("avtags");
	menge = avtags.childNodes.length;
	var knoten = '';
	for (i=0; i<menge; i++)
	{
		vistag = avtags.childNodes[i].innerHTML
		avtag = objekt.innerHTML;
		if (vistag == avtag)
		{
			tag = avtags.childNodes[i];
			new Effect.Appear(tag);
		}
	}
}

function reply(recipientid, recipientname, subject) {
	
	$('recipient').update(recipientname);
	$('recipientid').value = recipientid;
	$('recipientsubject').value = subject;
	
	if(replymessagebox == 0) {
		replymessagebox = 1;
		new Effect.Appear('messagebox', {duration: .3} );
	}
	
}

function toggleMessage(message)
{	
	if(activemessage != 0)
	{
		if(message == activemessage)
		{
			closeMessage(activemessage);
		}
		else
		{
			closeMessage(activemessage);
			openMessage(message);
		}
	}
	else
	{
		openMessage(message);
	}
}

function closeMessage(message)
{		
	new Effect.toggle(activemessage, 'blind', {duration: .3} );
	activemessage = 0;
}

function openMessage(message)
{
	new Effect.toggle(message, 'blind', {duration: .3} );
	activemessage = message;
}

function addNewTag(url)
{	
	tag = document.getElementById("taginput").value;
	document.getElementById("taginput").value = "";
	new Ajax.Updater('tagrequest',url+'addtag/?tag='+tag, 
					{
						asynchronous:true, 
						evalScripts:true, 
						onComplete:function(request) {
							showNewTag(request);
						}, 						
						requestHeaders:['X-Update','tagrequest']
					});
}

function showNewTag(request)
{
	var oldtags = document.getElementById("avtags");
	var newtags = document.getElementById("alltags");
	var seltags = document.getElementById("seltags");
	var anzahl = document.getElementById("avtags").childNodes.length;
	var found = 0;
	
	for (i = 0; i<anzahl; i++)
	{
		if(newtags.childNodes[i].innerHTML != oldtags.childNodes[i].innerHTML)
		{
			// ausgewaehlte
			var newtagsel = document.createElement("span");
			seltags.insertBefore(newtagsel, seltags.childNodes[i]);
			newtagsel.innerHTML = newtags.childNodes[i].innerHTML;
			
			var klick = document.createAttribute("onClick");
			klick.nodeValue = "removeTag(this);new Effect.Fade(this);";
			newtagsel.setAttributeNode(klick);
			
			var dstyle = document.createAttribute("style");
			dstyle.nodeValue = "display:none;";
			newtagsel.setAttributeNode(dstyle);			
			
			// moegliche			
			var newtagav = document.createElement("span");
			oldtags.insertBefore(newtagav, oldtags.childNodes[i]);
			newtagav.innerHTML = newtags.childNodes[i].innerHTML;
			
			var klick = document.createAttribute("onClick");
			klick.nodeValue = "addTag(this);new Effect.Fade(this);";
			newtagav.setAttributeNode(klick);	
			
			var dstyle = document.createAttribute("style");
			dstyle.nodeValue = "display:none;";
			newtagav.setAttributeNode(dstyle);						
			
			found = 1;
		}
	}
	if(found == 0)
	{
			// ausgewaehlte
			var newtagsel = document.createElement("span");
			seltags.insertBefore(newtagsel, seltags.childNodes[i]);
			newtagsel.innerHTML = newtags.childNodes[i].innerHTML;
			
			var klick = document.createAttribute("onClick");
			klick.nodeValue = "removeTag(this);new Effect.Fade(this);";
			newtagsel.setAttributeNode(klick);
			
			var dstyle = document.createAttribute("style");
			dstyle.nodeValue = "display:none;";
			newtagsel.setAttributeNode(dstyle);	
			
			// moegliche			
			var newtagav = document.createElement("span");
			oldtags.insertBefore(newtagav, oldtags.childNodes[i]);
			newtagav.innerHTML = newtags.childNodes[i].innerHTML;
			
			var klick = document.createAttribute("onClick");
			klick.nodeValue = "addTag(this);new Effect.Fade(this);";
			newtagav.setAttributeNode(klick);	
			
			var dstyle = document.createAttribute("style");
			dstyle.nodeValue = "display:none;";
			newtagav.setAttributeNode(dstyle);	
	}
	addTag(newtagav);	
	document.getElementById("tagrequest").innerHTML = "";
}
