// Funkce provadi kontrolu, zda se hodnota sklada z pozadovanych znaku **/
function checkValue(aValue, strValidChars){
   var strChar;
   var blnResult = true;

   for (i = 0; i < aValue.length && blnResult == true; i++)
      {
      strChar = aValue.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
}

// Funkce vraci, zda se jedna o INTEGER
function isInteger(aValue){
    return checkValue(aValue, "0123456789-");
}

// Funkce vraci, zda se jedna o FLOAT
function isFloat(aValue){
    return checkValue(aValue, "0123456789-.,");
}

// Funkce vraci, zda se jedna o casovy udaj hh:mm:ss
function isTime(aValue){
 var values;
 var hour;
 var min;
 var result = false;

 values = aValue.split(":");
 if (values.length = 2){
  hour = values[0];
  min = values[1];
  if (hour >= 0 && hour <= 24){ 
   if (min >= 0 && min <= 59) result = true;
  }
 }
 return result;
}

// Funkce vraci, zda se jedna o datumovou hodnotu dd.mm.rrrr
function isDate(aValue){
 var values;
 var day;
 var month;
 var year;
 var result = false;

 if (aValue.length <= 10){
	 values = aValue.split(".");
	 if (values.length = 3){
	  day = values[0];
	  month = values[1];
	  year = values[2];
	  if (month >= 1 && month <= 12){ 
	   if (day >= 1 && day <= 31) {
	    if (! ((month==4 || month==6 || month==9 || month==11) && day==31)) result = true;
	   }
	  }
	  if (result && month == 2){
	   var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
	   if (day>29 || (day==29 && !isleap)) result = false;
	  }
	 }
 }
 return result;
}

// Funkce vraci, zda se jedna o datum-cas dd.mm.rrr hh:mm:ss
function isDateTime(aValue){
 var values = aValue.split(" ");
 return (values.length == 2 && isDate(values[0]) && isTime(values[1]));
}

// Funkce vraci, zda se jedna o emailovou adresu
function isEmail(aValue){
 var posZ = aValue.indexOf("@");
 var posT = aValue.indexOf("."); 
 var ret = false;
 
 if (posZ > -1 && posT > -1){
	ret = true;
 }
 return ret;
}

// Funkce provadi kontrolu fieldu STRING
function checkString(aMin, aMax, aField){
 var result = false;
 var value = aField.value;

 if (value=="" || value==" ") alert("Není zadána hodnota !!!");
 else if (value.length < aMin || value.length > aMax) alert("Hodnota musí být v rozmezí od " + aMin + " do " + aMax + " znaků !!!");
  else result = true;
 
 if (! result) aField.focus();

 return result;
}

// Funkce provadi kontrolu fieldu INTEGER
function checkInteger(aMin, aMax, aField){
 var result = false;
 var value = aField.value;

 if (value=="" || value==" ") alert("Není zadána hodnota !!!");
 else if (! isInteger(value)) alert("Hodnota není číselná !!!");
  else if (value < aMin || value > aMax) alert("Hodnota musí být v rozmezí od " + aMin + " do " + aMax + " !!!");
   else result = true;
 
 if (! result) aField.focus();

 return result;
}

// Funkce provadi kontrolu fieldu FLOAT
function checkFloat(aMin, aMax, aField){
 var result = false;
 var value = aField.value;

 if (! isFloat(value)) alert("Hodnota není číselná !!!");
 else if (value < aMin || value > aMax) alert("Hodnota musí být v rozmezí od " + aMin + " do " + aMax + " !!!");
  else result = true;
 
 if (! result) aField.focus();

 return result;
}

// Funkce pro kontorlu fieldu DATETIME
function checkDateTime(aField){
 var result = false;
 var value = aField.value;

 if (! isDateTime(value)) alert("Hodnota není datumová nebo není ve formátu dd.mm.rrrr hh:mm !!!");
 else result = true;
 
 if (! result) aField.focus();

 return result;
}

// Funkce pro kontrolu fieldu DATE
function checkDate(aField){
 var result = false;
 var value = aField.value;

 if (! isDate(value)) alert("Hodnota není datumová nebo není ve formátu dd.mm.rrrr !!!");
 else result = true;
 
 if (! result) aField.focus();

 return result;
}

// Funkce pro kontrolu fieldu TIME
function checkTime(aField){
 var result = false;
 var value = aField.value;

 if (! isTime(value)) alert("Hodnota není časová nebo není ve formátu hh:mm !!!");
 else result = true;
 
 if (! result) aField.focus();

 return result;
}

// Funkce pro kontrolu emailu
function checkEmail(aField){
 var result = false;
 var value = aField.value;

 if (! isEmail(value)) alert("patný formát emailu. Zkontrolujte a zadejte znovu !!!");
 else result = true;
 
 if (! result) aField.focus();

 return result;
}

// Funkce prevede retezec dd.mm.yyyy na cislo int
function cDateToInt(aString){
	var values;
	var datum;
	values = aString.split(".");
	if (values[0].length<2) values[0]="0"+values[0];
	if (values[1].length<2) values[1]="0"+values[1];	
	return parseInt(values[2]+values[1]+values[0]);
}

// Funkce prevede retzec dd.mm.yyyy na datumovou promenou
function strToDate(aString){
	var values;
	var datum;
	values = aString.split(".");
	datum = new Date(parseInt(values[2]), parseInt(values[1]), parseInt(values[0]), 0, 0, 0);
	return datum;
//	return Date.UTC(values[2], values[1], values[0], "0", "0", "0");
}

// Funkce pro kontrolu rodneho cisla
function checkRodneCislo(aField){
 var result = false;
 var value = aField.value;

 if (! checkValue(value, "0123456789")) alert("Hodnota není platné rodné číslo !!!");
 else result = true;
 
 if (! result) aField.focus();

 return result;
}

function openWindow(aURL, aCaption, aTarget, aExtra){
	var win;
	win = window.open(aURL, aTarget, aExtra);
	win.setCaption = aCaption;
	return false;
}

function writeFlash(url, width, height)
{
	document.write("<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" */ codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\" /*width=\"" + width + "\" height=\"" + height + "\" align=\"middle\" VIEWASTEXT><param name=\"movie\" value=\"" + url + "\"><param name=\"quality\" value=\"high\"><EMBED src=\"" + url + "\" /*width=\"" + width + "\" height=\"" + height + "\"*/ align=\"middle\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\"></EMBED></object>");
}

function openDetail(url){

	return false;
}