﻿function my_popup_move(event,text,name)
{
	var x = document.getElementById(name);

	x.innerHTML = text;
	x.style.left = 10+event.clientX+"pX";
	x.style.top = -10+event.clientY+"px";
	x.style.visibility = 'visible';
}

function my_popup_out(name)
{
	var x = document.getElementById(name);

	x.style.visibility = 'hidden';
}

function olkReClick(trgBoxName, srcBoxName)
{
	var src = document.getElementById(srcBoxName);
	var trg = document.getElementById(trgBoxName);
	
	/* have to be reversed because the event is generated before state change */
	if(src.checked == true)
	{
		trg.checked = false;
	}
	else
	{
		trg.checked = true;
	}
}

function setHiddenInput(name, data)
{
	var hiddenIDInput = document.getElementById(name);
	hiddenIDInput.value = data;
}

function createTableFromArray(srcData,date,elementId)
{
	var htmlData;
	var dayInfo = null;
	var target = document.getElementById(elementId);
	var ident=["Lent&auml;j&auml;t","Mesut","Oppilaat","Kelpparit"];	

	htmlData="<table>";
	for(var dateIdx in srcData)
	{
		if(date == dateIdx)
		{
			var dayInfo = srcData[dateIdx];
			break;
		}
	}
	if(dayInfo != null)
	{
		var year = date.substring(0,4);
		var month = date.substring(5,7);
		var day = date.substring(8,10);
		htmlData +="<tr><th id=\"title\" colspan=\"4\">"+day+"."+month+"."+year+"</th></tr>";
		htmlData +="<tr><th>Luokka</th><th>Nimi</th><th colspan=\"2\">Info</th></tr>";
		identIdx = 0;
		for(var obj in dayInfo)
		{
			var persons = dayInfo[obj];
			var firstLine = true;
			
			var size = 0;
			for(var entry in persons)
			{
				size++;
			}
			
			for(var entry in persons)
			{
				var row = persons[entry];
				var empty = true;
				htmlData += "<tr>";
				if(firstLine == true)
				{
					firstLine = false;
					htmlData += "<td id=\"first\" rowspan=\""
					htmlData += size;
					htmlData += "\">";
					htmlData += ident[identIdx];
					htmlData += "</td>";
				}
				var count =0;
				for(var idx in row)
				{
					dataPoint = row[idx]
					if(row[3] != null)
					{
						htmlData += "<td onmouseover=\"my_popup_move(event,\'"+row[3]+"\',\'calTableHint\')\" onmouseout=\"my_popup_out(\'calTableHint\')\" id=\"next\">";
					}
					else
					{
						htmlData += "<td id=\"next\">";
					}
					htmlData += dataPoint;
					htmlData += "</td>";
					empty = false;
					count++;
					if(count == 2)
						break;
				}
				if(empty)
				{
					htmlData += "<td>-</td><td>-</td><td></td></tr>";
				}
				else
				{
					if(row[2] != null)
					{
						htmlData += "<td id=\"next\"><a id=\"deletebutton\" href=\"javascript:confirmDelete("+row[2]+")\"><span class=\"alt\">X</span></a></td>";
					}
					else
					{
						htmlData += "<td id=\"next\"></td>";
					}
					htmlData += "</tr>";
				}
			}
			identIdx ++;
		}
	}
	else
	{
		var year = date.substring(0,4);
		var month = date.substring(5,7);
		var day = date.substring(8,10);
		htmlData +="<tr><th id=\"title\" colspan=\"4\">"+day+"."+month+"."+year+"</th></tr>";
		htmlData +="<tr><th>Luokka</th><th>Nimi</th><th colspan=\"2\">Info</th></tr>";
		htmlData += "<tr><td id=\"first\">"+ident[0]+"</td>";
		htmlData += "<td>-</td><td>-</td><td></td></tr>";
		htmlData += "<tr><td id=\"first\">"+ident[1]+"</td>";
		htmlData += "<td>-</td><td>-</td><td></td></tr>";
		htmlData += "<tr><td id=\"first\">"+ident[2]+"</td>";
		htmlData += "<td>-</td><td>-</td><td></td></tr>";
		htmlData += "<tr><td id=\"first\">"+ident[3]+"</td>";
		htmlData += "<td>-</td><td>-</td><td></td></tr>";
	}
	
	htmlData += "</table>";
	
	target.innerHTML = htmlData;
}

function togglevisibility(divname,srcData,date,elementId)
{
	var data_ary = [srcData,date,elementId];
	var state = animatedcollapse.divstate(divname);
	
	if(state != "none")
	{
		animatedcollapse.toggle(divname,data_ary);
	}
	else
	{
		createTableFromArray(srcData,date,elementId);
	}
	animatedcollapse.toggle(divname,null);
}

function confirmDelete(id)
{
	if(confirm("Haluatko varmasti poistaa valinnan?"))
	{
		window.location = "new.php?p=tk&id="+id+"&cmd=del";
	}
	else
	{
		window.location = "new.php?p=tk&id="+id;
	}
} 

function checkName(name)
{
	var myRegxp = /^([a-zA-Z0-9 äöåÄÖÅ_-]+)$/;
	if(myRegxp.test(name)==false)
	{
		return false;
	}
	return true;
}

function findIdx(item, arr)
{
// find index position of {item}
// in Array {arr} - return -1, if
// item not found
	var idx;
	var last = arr.length;
	for (var i = 0; i < last; i++)
	{
		idx = (item == arr[i])?i:-1;
		// quit on first "found"
		if (-1 != idx) break;
	}
	return idx;
}


function checkForValidInput(inpID,arr,emailID)
{
	var x = document.getElementById(inpID);
	var em = document.getElementById(emailID);
	if(checkName(x.value) == false)
	{
		alert('Tunnus : ' + x.value + '\non virheellinen!\nSallitut merkit ovat : a-z, A-Z, 0-9, _, -, ');
		return false;
	}
	if(findIdx(x.value, arr) != -1)
	{
		alert('Tunnus : ' + x.value + ' on jo olemassa!');
		return false;
	}
	if(em.value == '')
	{
		alert('Määrittele käyttäjälle sähköpostiosoite!');
		return false;
	}
	return true;
}

/* EOF */
