// Common kalk. functions

// Convert to uppercase the input
function InpUpper(in_obj) 
{
	in_obj.value=in_obj.value.toUpperCase();
}

// Check if the value is number
function szam_check(txt, szam)
{
  for (var i=0; i<szam.length; i++)
  {
    if ((szam.charCodeAt(i)>57) || (szam.charCodeAt(i)<48))
    {
  	  alert( txt+": Érvénytelen karakter "+(i+1)+". pozíción: '"+szam.charAt(i)+"'");
   	  return false;	
	  }
  }
  return true;
}

// Check minimum length
function isbad_length(txt, objitem, minlen)
{
	if( objitem.value=="" ) { alert( txt + " nincs megadva." ); objitem.focus(); return true; }	
	if( objitem.value.length < minlen ) { alert( txt + " túl rövid (min. " + minlen + " karakter)." ); objitem.focus(); return true; }	
	return false;
}

// Phone can be empty, but if not, it must be valid...
function isbad_phone(txt, objitem )
{
	if( objitem.value=="" ) return false;
	if( isbad_length(txt, objitem, 6 ) ) return true;

	var valid_chars="0123456789-/() ";
	var i=0;
	var isbad=false;
	while( !isbad && i<objitem.value.length ) isbad=( valid_chars.indexOf( objitem.value.charAt(i++) )<0 ); 
	if( isbad ) 
	{
		alert( txt + " rosszul van megadva, érvénytelen karakter: '" + objitem.value.charAt(i-1) + "'" );
		objitem.focus();
	}
	return isbad;
}

// Check if value is in the range
function isbad_range(txt, objitem, lovalid, hivalid)
{
	if( objitem.value=="" ) { alert( txt + " nincs megadva." ); objitem.focus(); return true; }
	if(szam_check(txt, objitem.value) == false) { objitem.focus(); return true; }	
	
  if (((objitem.value*1)<lovalid) || ((objitem.value*1)>hivalid))
  {
    alert(txt + " helytelenül van megadva.");
    objitem.focus();
    return true; 
  }
	return false;	
}

// Date is valid?
function CheckDateValid( ayear, amonth, aday)
{
  var cdate=new Date()
  var isok=true;
  var nyear=0;
  var nmonth=0;
  var nday=0;
  
  if( ayear<1900 || ayear>(cdate.getFullYear())  || amonth<1 || amonth>12 || aday<1 || aday>31 )
	{
		return false;
	}
			
	try
  {
  	cdate.setFullYear(ayear,amonth-1,aday);
  }
	catch(err)
  {
  	isok=false;
  }

  if( isok ) 
  {
  	nyear=cdate.getFullYear();
  	nmonth=cdate.getMonth()+1;
  	nday=cdate.getDate();	
		isok=(nyear==ayear && nmonth==amonth && nday==aday);
	}
  return isok;  
}