/* otevreni noveho okna */
function winopen(name, file, width, height, scrollbars, top, left)
{
	win=window.open(file, name, 'toolbar=no,location=no,scrollbars='+scrollbars+',directories=no,status=no,resizable=no,copyhistory=no,width='+width+',height='+height+',top='+top+',left='+left);
	win.focus();
}

/* pouze cisla */
function onlycisla()
{
	with (event) if(keyCode!==13 && keyCode!==46 && keyCode!==45 &&  keyCode!==44 && (keyCode<48 || keyCode>57)) returnValue=false;
}

/* pouze castka */
function onlycastka()
{
	with (event) if(keyCode!==13 && keyCode!==44 && keyCode!==46 && (keyCode<48 || keyCode>57)) returnValue=false;
}


/* pouze znaky pro soubor */
function onlyfile()
{
	with (event) if((keyCode<65 || keyCode>90) && (keyCode<97 || keyCode>122) && (keyCode<48 || keyCode>57) && keyCode!==95 && keyCode!==45 && keyCode!==46) returnValue=false;
}

/* prevede cislo na 2 desetinna mista (kvuli castkam) */
function castka(no)
{
	no=parseFloat(no);
	return no.toFixed(2);
}

/* kontrola data */
function checkdatum(datum)
{
	date=new Date();
	if(datum.length<1)
	{
		den=date.getDate();
		if(den<10) den='0'+den;
		mesic=date.getMonth()+1;
		if(mesic<10) mesic='0'+mesic;
		rok=date.getFullYear();
		return den+'. '+mesic+'. '+rok;
	}
	else if((datum.indexOf(',')>=0) || (datum.indexOf('.')>=0))
	{
 		if(datum.indexOf(',')>=0) date2=datum.split(',');
  		else if(datum.indexOf('.')>=0) date2=datum.split('.');
  		date2[0]=parseFloat(date2[0]);
   		date2[1]=parseFloat(date2[1]);
    	date2[2]=parseFloat(date2[2]);
	    if(!date2[1]) date2[1]=parseInt(date.getMonth());
	    if(!date2[2]) date2[2]=parseInt(date.getFullYear());
	    if(date2[0]>31) date2[0]=31;
	    if(date2[0]<1) date2[0]=1;
	    if(date2[1]>12) date2[1]=12;
	    if(date2[1]<1) date2[1]=1;
	    if(date2[2]<2000) date2[2]=date2[2]+2000;
	    if(date2[0]<10) date2[0]='0'+date2[0];
		if(date2[1]<10) date2[1]='0'+date2[1];
	    return date2[0]+'. '+date2[1]+'. '+date2[2];
	}
	else
	{
		mesic=parseInt(date.getMonth())+1;
		if(mesic<10) mesic='0'+mesic;
		rok=parseInt(date.getFullYear());
		if(datum<10) datum='0'+datum;
		return datum+'. '+mesic+'. '+rok;

	}
}


/* kontrola castky */
function checkcastka(str)
{
	if(str.length==0) return '0.00';
	else if(str.indexOf(',')<0 && str.indexOf('.')<0) return str+'.00';
	else
	{
		if(str.indexOf(',')>=0) str=str.split(',');
		else if(str.indexOf('.')>=0) str=str.split('.');
		str[0]=parseInt(str[0]);
		desetiny=parseInt(str[1].substring(0,1));
		setiny=parseInt(str[1].substring(1,2));
		if(isNaN(desetiny)) desetiny=0;
		if(isNaN(setiny)) setiny=0;
		return (str[0]+'.'+desetiny+setiny);
	}
}

/* kontrola castky 2 - pro cenovou kalkulaci */
function checkcastka2(str)
{
	str=Math.round(100*str)/100;
	return str;
}

/* kontrola cisla */
function checkcislo(str)
{
	if(str.length==0) return '0';
	else if(str.indexOf(',')<0 && str.indexOf('.')<0) return str;
	else
	{
		if(str.indexOf(',')>=0) str=str.split(',');
		else if(str.indexOf('.')>=0) str=str.split('.');
		str[0]=parseInt(str[0]);
		desetiny=parseInt(str[1]);
		if(isNaN(desetiny)) desetiny=0;
		return(str[0]+'.'+desetiny);
	}
}


/* kontrola dph */
function checkdph(sazba)
{
	sazba=parseFloat(sazba);
	if(sazba==0) return 0;
	else if (sazba>0 && sazba<19) return 5;
	else return 19;
}


/* kontrola adresy */
function checkadresa(zkratka, pole, formular)
{
	if(zkratka.length<1) return '';
	else
	{
		delkazkratky=parseInt(zkratka.length);
		if(delkazkratky==5) return zkratka;
		else
		{
			winopen('find_adresa', 'najdiadresu.php?form='+formular+'&field='+pole+'&zkratka='+zkratka, 640, 480, 'yes', 20, 20)
			return zkratka;
		}
	}
}


/* kontrola skl. c. */
function checksklc(sklc, sklc_delka, form, field, typ)
{
	if(sklc.length<1) return('99999999');
	else
	{
		if(sklc_delka>0)
		{
			sklcdelka=parseInt(sklc.length);
			if(sklcdelka==sklc_delka) return sklc;
			else
			{
				winopen('find_sklc', 'najdisklc.php?form='+form+'&field='+field+'&sklc='+sklc, 640, 480, 'yes', 20, 20)
				return sklc;
			}
		}
		else
		{
			if(typ==0) return sklc;
			else
			{
				winopen('find_sklc', 'najdisklc.php?form='+form+'&field='+field+'&sklc='+sklc, 640, 480, 'yes', 20, 20)
				return sklc;
			}
		}
	}
	return sklc;
}

/* kalendar - konverze data z inputu do date formatu pro kalendar */
function cdatumconvert(datum)
{
	date=new Date();
	output=new Date();
	if(datum.length<1)
	{
		den=date.getDate();
		mesic=date.getMonth()-1;
		rok=date.getFullYear();
		output.setDate(den);
		output.setMonth(mesic);
		output.setFullYear(rok);
		return output;
	}
	else if((datum.indexOf(',')>=0) || (datum.indexOf('.')>=0))
	{
 		if(datum.indexOf(',')>=0) date2=datum.split(',');
  		else if(datum.indexOf('.')>=0) date2=datum.split('.');
  		date2[0]=parseFloat(date2[0]);
   		date2[1]=parseFloat(date2[1]);
    	date2[2]=parseFloat(date2[2]);
	    if(!date2[1]) date2[1]=parseInt(date.getMonth());
	    if(!date2[2]) date2[2]=parseInt(date.getFullYear());
	    if(date2[0]>31) date2[0]=31;
	    if(date2[0]<1) date2[0]=1;
	    if(date2[1]>12) date2[1]=12;
	    if(date2[1]<1) date2[1]=1;
	    if(date2[2]<2000) date2[2]=date2[2]+2000;
		output.setDate(date2[0]);
		output.setMonth(date2[1]-1);
		output.setFullYear(date2[2]);
		return output;	    
	}
	else
	{
		mesic=parseInt(date.getMonth()-1);
		rok=parseInt(date.getFullYear());
		output.setDate(datum);
		output.setMonth(mesic);
		output.setFullYear(rok);
		return output;
	}
}

/* kalendar - vytvoreni kalendare */
function csetcalendar(form, name, date)
{
	cDay=date.getDate();
	cMonth=date.getMonth();
	cYear=date.getFullYear();
	
	/* ulozi datum, ktery je v inputu */
	eval('var dateset=cdatumconvert(document.'+form+'.'+name+'.value);');
	cDay2=dateset.getDate();
	cMonth2=dateset.getMonth();
	cYear2=dateset.getFullYear();
	date.setDate(1);
	firstDay=date.getDay();
	for(i=0;i<42;i++)
	{
		eval('document.getElementById(\''+form+'_'+name+'_b'+i+'\').value=\' - \'');
		eval('document.getElementById(\''+form+'_'+name+'_b'+i+'\').className=\'dny2\'');
	}
	if((firstDay-2)<-1)
	{
		firstDay+=7;
	}
	dayspermonth=cgetdayspermonth(cMonth,cYear);
	for(i=1;i<dayspermonth+1;i++)
	{
		if(i==cDay2 && cMonth==cMonth2 && cYear==cYear2)
		{
			eval('document.getElementById(\''+form+'_'+name+'_b'+(i+firstDay-2)+'\').className=\'dny2t\'');
		}
		i1=(i<10?'0'+i:i);
		eval('document.getElementById(\''+form+'_'+name+'_b'+(i+firstDay-2)+'\').value=\''+i1+'\'');
	}
	eval('document.getElementById(\''+form+'_'+name+'_mesic\').selectedIndex=cMonth;');
	eval('document.getElementById(\''+form+'_'+name+'_rok\').value=cYear;');
}

/* kalendar - zmena kalendare */
function cchangecalendar(form, name, den, mesic, rok)
{
	if(den<1)
	{
		den=cgetdayspermonth(mesic-1, rok);
		mesic=mesic-1;
	}
	if(den>cgetdayspermonth(mesic, rok))
	{
		den=1;
		mesic=mesic+1;
	}
	if(mesic<1)
	{
		den=1;
		mesic=12;
		rok=rok-1;
	}
	if(mesic>12)
	{
		den=1;
		mesic=1;
		rok=rok+1;		
	}
	if(rok<1901)
	{
		den=1;
		mesic=1;
		rok=2099;
	}
	if(rok>2099)
	{
		den=31;
		mesic=12;
		rok=2099;
	}
	csetcalendar(form, name, new Date(rok, mesic, den));
}

/* kalendar - funkce zpet pro button << */
function cprev(form, name)
{
	/* nacteni dat */
	eval('var mesic=parseInt(document.getElementById(\''+form+'_'+name+'_mesic\').selectedIndex);');
	eval('var rok=parseInt(document.getElementById(\''+form+'_'+name+'_rok\').value);');
	mesic=mesic-1;
	if(mesic<0)
	{
		mesic=11;
		rok=rok-1;
		if(rok<1901)
		{
			mesic=0;
			rok=1901;
		}
	}
	eval('document.getElementById(\''+form+'_'+name+'_mesic\').selectedIndex='+mesic+';');
	eval('document.getElementById(\''+form+'_'+name+'_rok\').value='+rok+';');
	cchangecalendar(form, name, 1, mesic, rok)
}

/* kalendar - funkce vpred pro button << */
function cnext(form, name)
{
	/* nacteni dat */
	eval('var mesic=parseInt(document.getElementById(\''+form+'_'+name+'_mesic\').selectedIndex);');
	eval('var rok=parseInt(document.getElementById(\''+form+'_'+name+'_rok\').value);');
	mesic=mesic+1;
	if(mesic>11)
	{
		mesic=0;
		rok=rok+1;
		if(rok>2099)
		{
			mesic=11;
			rok=2099;
		}
	}
	eval('document.getElementById(\''+form+'_'+name+'_mesic\').selectedIndex='+mesic+';');
	eval('document.getElementById(\''+form+'_'+name+'_rok\').value='+rok+';');
	cchangecalendar(form, name, 1, mesic, rok)
}

/* kalendar - zjisteni poctu dnu v mesici */
function cgetdayspermonth(mesic, rok)
{
	daysArray=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	days=daysArray[mesic];
	if(mesic==1)
	{
		if((rok%4)==0)
		{
			if(((rok%100)==0)&&(rok%400)!= 0) days=28;
			else days=29;
		}
	}
	return days;
}

/* kalendar - prenos datumu do inputu */
function cshowdate(form, name, temp)
{
	if(temp.indexOf('-')>=0)
	{
		return;
	}
	else
	{
		cDay=temp;
		mesic='';
		if((cMonth+1)<10) mesic='0'+(cMonth+1);
		else mesic=cMonth+1;
		strA=cDay + ". " + mesic + ". " + cYear;
		eval('document.'+form+'.'+name+'.value=strA;');
		eval('document.'+form+'.'+name+'.focus();');
		eval('document.'+form+'.'+name+'.select();');
		eval('document.getElementById(\''+form+'_'+name+'_kalendar\').style.display=\'none\';');
	}
}

