function ControlVal( element, ealert, etype, evalue )
{
  	var etest = false;
	
	// type of num //
	if( etype == "numeric" )
	{
		if( element.value > evalue ) etest = true;
	}
	else if( etype == "text" )
	{
		if( element.value.length > evalue ) etest = true;
	}
	else if( etype == "email" )
	{
		re = new RegExp("^([a-zA-Z0-9]{1})+[a-zA-Z0-9_\.\-]+[@]{1}([^.][a-zA-Z0-9_\.\-]+[.])+[a-z]{2,7}$");
		etest = re.test( element.value );
	}
	else if( etype == "phone" )
	{
		if( element.value > 10000000 ) 
		{
			if( element.value.length > 8 ) etest = true;
		}
	}
	else if( etype == "date" )
	{
		if( ( ealert = IsDate( element ) ) == true ) etest = true;
	}
	else
	{
		etest = true;
	}
	
	
	if( etest == false )
	{
		if( ealert != "" )
		{
			alert( ealert );
		}

		element.focus();
	}
	
	return etest;
}



function IsDate( vstup ) 
{
	var text ;
	var index ;
	var tecka ;
	var den ;
	var mesic ;
	var rok ;
	var ch ;
	
	text = "" ;
	den = "" ;
	mesic = "" ;
	rok = "" ;
	tecka = 0 ;
	
	for( index = 0; index < vstup.value.length; index++ ) 
	{ 
		ch = vstup.value.charAt(index); 
		if( ch != "0" && ch != "1" && ch != "2" && ch != "3" && ch != "4" && ch != "5" && ch != "6" && ch != "7" && ch != "8" && ch != "9" && ch != ".") 
		{
			text="Pole Datum zadávejte ve tvaru DD.MM.RRRR (DD=den, MM=měsíc, RRRR=rok).\r"
		} 
		
		if( ( ch == "0" || ch == "1" || ch == "2" || ch == "3" || ch == "4" || ch == "5" || ch == "6" || ch == "7" || ch == "8" || ch == "9" ) && ( text == "" ) ) 
		{ 
			if (tecka == 0) 
			{ 
				den = den + ch;
			} 
			
			if( tecka == 1 ) 
			{
				mesic=mesic + ch;
			} 
			
			if( tecka == 2 )
			{
				rok=rok + ch;
			} 
		} 
		
		if( ch == "." && text == "" ) 
		{ 
			if (tecka == 1) tecka=2;
			if (tecka == 0) tecka=1;
		} 
	} 
	
	if( ( den<1 || den >31 ) && ( text == "" ) ) text = text + "Pocet dní v uvedeném měsíci nemůže být menší jak 1 a větší jak 31.\r";
	
	if( ( mesic<1 || mesic>12 ) && (text == "" ) ) text = text + "Pocet měsíců nemůže být menší než 1 a větší než 12.\r";
	
	if(rok < 1990 && tecka == 2 && text == "" && rok != "") text = text + "Rok nemůže být menší jak 1990.\r";
	
	if( ( tecka == 2 && rok == "" ) || ( tecka > 2 ) ) text = text+ "Datum zadávajte ve formátu DD.MM.RRRR (DD=den, MM=měsíc, RRRR=rok)\r";
	
	// unor //
	if( mesic == 2 )
	{ 
		if( rok != "" ) 
		{ 
			if (rok % 4 == 0)
			{ 
				if( den > 29 ) text=text + "V únoru roku " + rok + " je maximálně 29 dní.\r"; 
			} 
			else 
			{ 
				if( den > 28 ) text=text + "V únoru roku " + rok + " je maximálně 28 dní.\r";
			} 
		} 
		else 
		{ 
			if( den > 29 ) text = text + "Vo únoru je maximálně 29 dní.\r"
		} 
	} 
	
	if( ( mesic == 4 || mesic == 6 || mesic == 9 || mesic == 11 ) && ( den > 30 ) ) 
	{
		text = text + "Počet dní v uvedeném měsíci nemůže být menší než 1 a větší než 30.\r"	} 
	
	if( text != "" ) 
	{ 
		alert(text); 
		return false;
	} 
	else 
	{ 
		return true;
	} 
}


var day, month, year;

function controlIntervalDate( dateFrom, dateTo, ealert )
{
	if( ealert == "" ) ealert = "Interval datumů od - do, nebo jeden z datumů je chybný.";
	if( ealert == null ) ealert = "Interval datumů od - do, nebo jeden z datumů je chybný.";
	
	if( IsDate( dateFrom ) == true )
	{
		if( IsDate( dateTo ) == true )
		{
			var dayFrom, dayTo;
			var monthFrom, monthTo;
			var yearFrom, yearTo;
			
			
			// rozdelime datumy
			if( parseDate( dateFrom.value ) == true )
			{
				dayFrom = day;
				monthFrom = month;
				yearFrom = year;
				
				if( parseDate( dateTo.value ) == true )
				{
					dayTo = day;
					monthTo = month;
					yearTo = year;
					
					if( ( yearFrom * 1 ) < ( yearTo * 1 ) )
					{
						return true
					}
					else if( ( yearFrom * 1 ) == ( yearTo * 1 ) )
					{
						if( ( monthFrom * 1 ) < ( monthTo * 1 ) )
						{
							
							return true
						}
						else if( ( monthFrom * 1 ) == ( monthTo * 1 ) )
						{
							if( ( dayFrom * 1 ) < ( dayTo * 1 ) ) return true
						}
					}
				}
			}
		}
	}
	
	alert( ealert );
	return false;
}

function parseDate( dt )
{
	var txt = dt;
	
	if( txt != "" )
	{
	if( txt.indexOf( "." ) > 0 )
	{
		var result = txt.split( ".", 3 );
		if( result[0] > 0 )
		{
			day = result[0];
			
			if( result[1] > 0 )
			{
				month = result[1];
				
				if( result[2] > 0 )
				{
					year = result[2];
					return true;
				}
			}
		}
	}
	}

	day = "0";
	month = "0";
	year = "0";
	
	return false;
}