function LoginFocus(event)
{
	var target;
	if(event.target)
		target = event.target;
	else if(event.srcElement)
		target = event.srcElement;
	
	if(!target)
		return;
		
	if(target.value == "username")
		target.value = "";
}

function LoginBlur(event)
{
	var target;	
	
	if(event.target)
		target = event.target;
	else if(event.srcElement)
		target = event.srcElement;
	
	if(!target)
		return;
	
	if(target.value == "")
		target.value = "username";
}


function DropItemNameBlur(id)
{
	var oldname = document.getElementById("item-name" + id);
	if(oldname.value == "")
		return;
	oldname.onblur = function() { return; };
	id++;
	
	var div = document.getElementById("drops");
	
	var parentdiv = document.createElement("div");
	parentdiv.id = "drop" + id;
	parentdiv.name = "drop" + id;
	parentdiv.className = "drop";
	parentdiv.onclick = function() { DropItemFocus(id); };

	var nameinput = document.createElement("input");
	nameinput.type = "text";
	nameinput.maxlength = 128;
	nameinput.name = "item-name" + id;
	nameinput.id = "item-name" + id;
	nameinput.onblur = function() { DropItemNameBlur(id); };
	nameinput.onfocus = function() { DropItemFocus(id); };
	nameinput.className = "item-name";
	
	var receiverinput = document.createElement("input");
	receiverinput.type = "text";
	receiverinput.maxlength = 128;
	receiverinput.name = "item-receiver" + id;
	receiverinput.id = "item-receiver" + id;
	receiverinput.onfocus = function() { DropItemFocus(id); };
	receiverinput.className = "item-receiver";
	
	var dkpinput = document.createElement("input");
	dkpinput.type = "text";
	dkpinput.maxlength = 128;
	dkpinput.name = "item-dkp" + id;
	dkpinput.id = "item-dkp" + id;
	dkpinput.onfocus = function() { DropItemFocus(id); };
	dkpinput.className = "item-dkp";

	var remove = document.createElement("input");
	remove.type = "button";
	remove.onclick = function() { DropItemRemove(id-1); };
	remove.value = "Remove";
	remove.id = "item-remove" + (id-1);

	var oldparentdiv = document.getElementById("drop" + (id-1));
	oldparentdiv.appendChild(remove);
	
	div.appendChild(parentdiv);	
	parentdiv.appendChild(nameinput);
	parentdiv.appendChild(document.createTextNode(" "));
	parentdiv.appendChild(receiverinput);
	parentdiv.appendChild(document.createTextNode(" "));
	parentdiv.appendChild(dkpinput);
	parentdiv.appendChild(document.createTextNode(" "));
	
	CreatePresentPlayersSelector(id-1);

	var itemcount = document.getElementById("item-count");
	itemcount.value = id;
}

function DropItemRemove(id)
{
	var div = document.getElementById("drops");
	var dropdiv = document.getElementById("drop"+id);
	
	div.removeChild(dropdiv);
}

var oldSelectedId = -1;
function DropItemFocus(id)
{	
	if(oldSelectedId == id)
		return;
		
	var dropdiv = document.getElementById("drop"+id);
	dropdiv.className = "drop selected-drop";
	
	var presentdiv = document.getElementById("present-players"+id);
	if(presentdiv)
		presentdiv.style.display = "inline";
	
	var oldSelectedPresentDiv = document.getElementById("present-players"+oldSelectedId);
	if(oldSelectedPresentDiv)
	
		oldSelectedPresentDiv.style.display = "none";
	
	var oldSelectedDropDiv = document.getElementById("drop"+oldSelectedId);
	if(oldSelectedDropDiv)
		oldSelectedDropDiv.className= "drop";
	
	oldSelectedId = id;
}

function SelectItemMove(from, to)
{
	var frome = document.getElementById(from);
	var toe = document.getElementById(to);
	
	var selected = new Array();
	for(var i = 0; i < frome.options.length; i++)
	{
		if(frome.options[i].selected)
			selected.push(frome.options[i]);
	}
	
	for(var i = 0; i < selected.length; i++)
	{
		frome.removeChild(selected[i]);
		toe.appendChild(selected[i]);
	}
	
	if(selected.length > 0)
	{
		frome.selectedIndex = -1;
		toe.selectedIndex = -1;
	}
}

function SelectExcluded()
{
	var counte = document.getElementById("item-count");
	var count = parseInt(counte.value);

	for(var i = 0; i <= count; i++)
	{
		var select = document.getElementById("drop-excluded" + i);
		if(select)
		{
			for(var j = 0; j < select.options.length; j++)
				select.options[j].selected = true;
		}
	}
}


function CreatePresentPlayersSelector(id)
{
	var parent = document.createElement("div");
	parent.className = "present-players";
	parent.id = "present-players" + id;

	var selectparent1 = document.createElement("div");
	selectparent1.className = "select-parent";
	
	var selectparent2 = document.createElement("div");
	selectparent2.className = "select-parent";
	
	var select1 = document.createElement("select");
	setTimeout("document.getElementById(\"drop-present" + id + "\").multiple = \"multiple\";", 0);
	select1.id = "drop-present" + id;
	if(attendees.length == 0)
	{
		var optgrp = document.createElement("optgroup");
		optgrp.label = "No attendees...";
		select1.appendChild(optgrp);
	}
	for(var i = 0; i < attendees.length; i++)
	{
		if(attendees[i][1] < 0)
			continue;
		var opt = document.createElement("option");
		opt.appendChild(document.createTextNode(attendees[i]));
		opt.value = attendees[i];
		select1.appendChild(opt);
	}

	var select2 = document.createElement("select");
	setTimeout("document.getElementById(\"drop-excluded" + id + "\").multiple = \"multiple\";", 0);
	select2.id = "drop-excluded" + id;
	select2.name = "drop-excluded" + id + "[]";
	
	var clearer = document.createElement("div");
	clearer.className = "clearer";

	var button1 = document.createElement("input");
	button1.type = "button";
	button1.value = "<<";
	button1.onclick = function() { SelectItemMove("drop-excluded" + id, "drop-present" + id); };
	
	var button2 = document.createElement("input");
	button2.type = "button";
	button2.value = ">>";
	button2.onclick = function() { SelectItemMove("drop-present" + id, "drop-excluded" + id); };
	
	var drop = document.getElementById("drop" + (id));
	
	drop.appendChild(parent);
	parent.appendChild(selectparent1);
	parent.appendChild(selectparent2);
		
	selectparent1.appendChild(document.createTextNode("Present"));
	selectparent1.appendChild(document.createElement("br"));
	selectparent1.appendChild(select1);
	selectparent2.appendChild(document.createTextNode("Excluded"));
	selectparent2.appendChild(document.createElement("br"));
	selectparent2.appendChild(select2);

	parent.appendChild(clearer);
	parent.appendChild(button1);
	parent.appendChild(document.createTextNode(" "));
	parent.appendChild(button2);
}

var MouseOverColor;
var HighlightColor;
function SummaryRowIn(row)
{
	var inner = row.getElementsByTagName("div");
	for(var i = 0; i < inner.length; i++)
	{
		if(inner[i].style.backgroundColor == "")
			inner[i].style.backgroundColor = "#ae9369";
		if(!MouseOverColor) MouseOverColor = inner[i].style.backgroundColor;
	}
}

function SummaryRowOut(row)
{
	var inner = row.getElementsByTagName("div");
	for(var i = 0; i < inner.length; i++)
	{
		if(inner[i].style.backgroundColor == MouseOverColor)
			inner[i].style.backgroundColor = "";
	}
}

function PlayersFilterKeyPress(string, e, prefix)
{
	
	var keycode;
	if (window.event)
		keycode = window.event.keyCode;
	else if(e)
		keycode = e.which;
	else
		return;
		
	var rowsh = new Array();
	
	if(!string || string.length == 0)
	{
		var j = 0;
		var row;
		while(row = document.getElementById(prefix + j))
		{
			var inner = row.getElementsByTagName("div");
			for(var x = 0; x < inner.length; x++)
				inner[x].style.backgroundColor = "";
			rowsh[j] = false;
			j++;
		}
	}
		
	var names = string.split(",");
	
	for(var i = 0; i < names.length; i++)
	{
		var name = names[i].replace(" ", "").toLowerCase();
		if(name.length == 0)
			continue;
		var j = 0;
		var row;
		
		while(row = document.getElementById(prefix + j))
		{
			var cname = row.childNodes[0].childNodes[0].innerHTML.toLowerCase();
			var inner = row.getElementsByTagName("div");
			if(rowsh[j])
			{
				j++;
				continue;
			}
			if(cname.indexOf(name) == 0)
			{
				for(var x = 0; x < inner.length; x++)
				{
					inner[x].style.backgroundColor = "#E7BA73";
					if(!HighlightColor) HighlightColor = inner[x].style.backgroundColor;
				}
				rowsh[j] = true;
			}
			else
			{
				for(var x = 0; x < inner.length; x++)
					inner[x].style.backgroundColor = "";
				rowsh[j] = false;
			}
			j++;
		}
	}
}