// zaokrouhleni
function Round(num,prec){
  var nasobic=Math.pow(10,prec);
  num=Math.round(nasobic*num)/nasobic;
  return num;
}


// validace
function ValidAlert(text){
  alert(text);
}

function ValidIfEmpty(id,text){
  if(id.value==''){
    if(text)ValidAlert(text);
    else ValidAlert('Položka -'+id.name+'- je povinný údaj! Doplňte jej prosím!');
    id.focus();
    return false;
  }else return true;
}

function ValidDate(id,text){
  if(id.value!=''){
    id.value = id.value.replace(/,/gi,"."); // interpretace carky jako tecky
    pole = id.value.split(".");
    den=new Number(pole[0]);
    mesic=new Number(pole[1]);
    rok=new Number(pole[2]);
    dalsi=pole[3];
    ret=false;
    chyba='';
    mesice=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
    if(!isNaN(den) && !isNaN(mesic) && !isNaN(rok) && !dalsi){ // jsou to vsechno cisla.. a nic vic
      if(rok>=1970){
        if(!(rok%4))mesice[2-1]=29;
  // jeste je nejaka podminka u prestupneho roku  ... if(!(rok%400))mesice[2-1]=28;
        if(mesic>=1 && mesic<=12){
          if(den<=mesice[mesic-1] && den>=1)ret=true;
          else chyba=den+'. den není v '+mesic+'. měsíci';
        }else chyba='číslo měsíce je mimo 1-12';
      }else chyba='spatny rok';
    }
    if(!ret){
      if(text)ValidAlert(text);
      else ValidAlert('Zadaná položka -'+id.name+'- není ve formátu datumu! Opravte ji!\n'+chyba);
      id.focus();
      id.select();
    }
    return ret;
  }else return true;
}

function ValidTimeout(id,text){
  id.value = id.value.replace(/,/gi,":"); // interpretace carky jako dvojtecky
  pole = id.value.split(":");
//  alert(pole.length);
  hodina=new Number(pole[0]);
  minuta=new Number(pole[1]);
  sekunda=new Number(pole[2]);
  if(id.value==""){ hodina=0; minuta=0; sekunda=0;}
  dalsi=pole[3];
  ret=false;
  chyba='';
  if(!isNaN(hodina) && !isNaN(minuta) && !isNaN(sekunda) && !dalsi){ // jsou to vsechno cisla.. a nic vic
    if(hodina>=0){
      if(minuta>=0 && minuta<=59){
        if(sekunda>=0 && sekunda<=59){
          ret=true;
        }else chyba='údaj sekund je špatně';
      }else chyba='údaj minut je špatně';
    }else chyba='záporný počet hodin';
  }
  if(!ret){
    if(text)ValidAlert(text);
    else ValidAlert('Zadaná položka -'+id.name+'- není ve formátu času (hh:mm:ss)! Opravte ji!\n'+chyba);
    id.focus();
    id.select();
  }
  return ret;
}

function ValidInteger(id,text){
  re = new RegExp('^([\+\-]?[0-9]+)?\$');
  if(!re.test(id.value)){
    if(text)ValidAlert(text);
    else ValidAlert('Zadaná položka není celé číslo! Opravte prosím!');
    id.focus();
    id.select();
    return false;
  }else return true;
}

function ValidFloat(id,text){
  id.value = id.value.replace(/,/gi,"."); // interpretace carky jako tecky
  re = new RegExp('^[\+\-]?[0-9]+([\.][0-9]+)?\$');
  if(!re.test(id.value)){
    if(text)ValidAlert(text);
    else ValidAlert('Zadaná položka není reálné číslo! Opravte prosím!');
    id.focus();
    id.select();
    return false;
  }else return true;
}

function ValidEmail(id,text){
  re = new RegExp('^([^@]+@[^\.]+[\.](.)+)?\$');
  if(!re.test(id.value)){
    if(text)ValidAlert(text);
    else ValidAlert('Zadaná email adresa -'+id.value+'- není ve správném formátu\nelektronické adresy! Opravte ji prosím!');
    id.focus();
    id.select();
    return false;
  }else return true;
}

function ValidPSC(id,text){
  re = new RegExp('^[0-9]{5}\$');
  if(!re.test(id.value)){
    if(text)ValidAlert(text);
    else ValidAlert('Zadaná email adresa -'+id.value+'- není ve správném formátu\nelektronické adresy! Opravte ji prosím!');
    id.focus();
    id.select();
    return false;
  }else return true;
}

function ValidRegExpr(id,rexpr,text){
  re = new RegExp(rexpr);
  if(!re.test(id.value)){
    if(text)ValidAlert(text);
    else ValidAlert('Zadaná položka není ve správném formátu! Opravte ji prosím!');
    id.focus();
    id.select();
    return false;
  }else return true;
}


// overeni zmen ve formulari...
var formsubmited=false;
function formchangetest(form){
  var elem=form.elements;
  var zmena=false; var zmenaobj=""; var name="";
  for(i=0; i<elem.length; i++){
    name=elem(i).nodeName;
    if(name!='FIELDSET' && name!='BUTTON'){
      if(name!='SELECT'){
        if(elem(i).type!='checkbox'){
          if(elem(i).value!=elem(i).defaultValue){
            zmena=true; zmenaobj=elem(i).name;
          }
        }else{
          if(elem(i).checked!=elem(i).defaultChecked){
            zmena=true; zmenaobj=elem(i).name;
          }
        }
      }else{
        var opts=elem(i).options;
        for(j=0; j<opts.length; j++){
          if(opts(j).selected!=opts(j).defaultSelected){
            zmena=true; zmenaobj=elem(i).name;
          }
        }
      }
    }
  }
  return zmena;
}
