// JavaScript Document
function openWin(url, id, style)
{
	newWin = window.open(url, id, style);
	newWin.focus();
	return newWin;
}

function winBlank(anch)
{
	anch.target = "blank";
	openWin(anch.href, "blank", "");
}

function prenumverb(num, form1, form2, form3)
{
	if (num == 1)
		return "je 1 " + form1;
	else
	if ((num > 1) && (num < 5))
		return "jsou " + num + " " + form2;
	else
	if (num >= 5)
		return "je " + num + " " + form3;
}

function invalid(element, type, accept, required, minlength, title)
{
	var error = "";
	if (type == "textbox")
	{
		checkStr = "";
		regExp = "";
		allowed = "";
		if (!element.value)
			element.value = "";
		switch (accept)
		{
		case "cztext":
			checkStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzŠŚŤŽŹšśťžźŁĄŞŻłąşĽľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőöřůúűüýţ0123456789-.-_,:;?! ";
			allowed = " (povolena pouze písmena, číslice a interpunkční znaménka)"
			break;
		case "num":
			checkStr = "0123456789- ";
			allowed = " (povoleny pouze číslice, pomlčky a prázdné mezery)";
			break;
		case "date":
			checkStr = "0123456789";
			allowed = " (povoleny pouze číslice)";
			break;
		case "alphanum":
			checkStr = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789- /";
			allowed = " (povoleny pouze znaky anglické abecedy, číslice, pomlčky a prázdné mezery)";
			break;
		case "phone":
			checkStr = "+/0123456789 ";
			allowed = " (povoleny pouze znaky definující telefonní číslo v mezinárodním formátu)";
			break;
		case "email":
			regExp = "^([a-zA-Z0-9]+[\._]?[a-zA-Z0-9]*)+@[a-zA-Z0-9\.\-]+$";
			regExp2 = "^.{3,}@.{5,}$";
			break;
		case "emailleftpart":
			regExp = "^([a-zA-Z0-9]+[\._]?[a-zA-Z0-9]*)+";
			regExp2 = "^[^@]{3,}$";
			break;
		}
		if (checkStr.length > 0)
		{
			for (i = 0; i < element.value.length; i++)
			{
				ch = element.value.charAt(i);
				for (j = 0; j < checkStr.length; j++)
				{
					if (ch == checkStr.charAt(j))
						break;
				}
				if (j == checkStr.length)
				{
					error += "Položka \"" + title + "\" je chybně vyplněna !" + allowed + "\r\n";
					break;
				}
			}
		}
		if ((required) && (element.value.length == 0))
			error += "Položka \"" + title + "\" musí být vyplněna !";
		else
		if ((minlength) && (element.value.length > 0))
		{
			if (element.value.length < minlength)
				error += "Minimální délka položky \"" + title + "\" " + prenumverb(minlength, "znak", "znaky", "znaků") + " !";
		}
		if ((regExp.length > 0) && (element.value.length > 0))
		{
			if ((accept == "email") || (accept == "emailleftpart"))
				if (!(element.value.search(regExp) == 0))
					error += "Položka \"" + title + "\" nemá platný formát e-mailu !";
				else
				if (regExp2.length > 0)
				{
					if (!(element.value.search(regExp2) == 0))
						error += "Položka \"" + title + "\" nemá platný formát e-mailu !";
				}
		}
	}
	
	if ((type == "listbox") && (required))
	{
		var selection = false;
		for (i = 0; i < element.length; i++)
			if ((element.options[i].selected) && (element.options[i].value.length > 0))
				selection = true;
		if (!selection)
			error += "U položky \"" + title + "\" není vybrána žádná volba !";
	}
	
	if ((type == "check") && (required))
	{
		var check = false;
		for (i = 0; i < element.length; i++)
			if ((element[i].checked) && (element[i].value.length > 0))
				check = true;
		if (!check)
			error += "U položky \"" + title + "\" není vybrána žádná volba !";
	}
	
	if (error.length > 0)
		return error;
	else
		return false;
}
