/*
    Soubor:               function.js
    Autor:                Jiri Licka
    Modifikovano:         5.5.2006, 13:15
    
    Obsah:
    ----------------------------------------------------------------------------
      1.  chceckMail          kontrola mailu
      2.  prepniObr           do urcene oblasti na str. vlozi dany obrazek
      3.  ShowDialog          predani hodnoty z kalendare do formu
      4.  
    
*/

// 1. Kontrola mailu
// -----------------------------------------------------------------------------
  function checkMail(mail){
    var vysledek = true;
    regMail = new RegExp("^[^@]+@[^.]+\..+$");

    //Kontrola spravnosti obou e-mailu (nejsou-li prazdne)
    if (mail != ""){
      if (window.RegExp){
        if (!regMail.test(mail)){
          vysledek = false;
          alert("Vámi zadaná e-mailová adresa je v nesprávném formátu!");
        }
      }
    }
    return vysledek;
  }
  
// 2. Prepinani obrazku
// -----------------------------------------------------------------------------
function prepniObr(id,photo){
  var foto = "<img src='"+photo+"' alt='Foto nenalezeno!'>";
  document.getElementById(id).innerHTML = foto;
  //document.getElementById('innerText').innerHTML = '';
}

//3.  Funkce pro predani hodnoty z kalendare
// -----------------------------------------------------------------------------
function ShowDialog(theInput,form) {
    theField = eval( "document."+form+"." + theInput );
    theField.value = "";
    dialogWindow=window.open("Calendar/calendar.htm","MyDialog","dependent=yes, menubar=no, status=no, location=no, resizable=no, width=230, height=220, toolbar=no, screenX=100, screeny=100" );
}

//4. Skryje okno s kalendarem
// -----------------------------------------------------------------------------
function HideDialog() {
    if( dialogWindow != null ) {
    if (typeof(dialogWindow.document) == "object")
        dialogWindow.close()
    }
}

// -----------------------------------------------------------------------------
function Transfer( theValue ) {
    if( theField != null ) theField.value = theValue;
}


// -----------------------------------------------------------------------------
 function paste_strinL(form,el,startTag, endTag,priznak) {
       var myField=document.forms[form].elements[el];
    //IE support
    if (document.selection) {
        myField.focus();
        sel = document.selection.createRange();
        if(priznak!=1) sel.text = startTag+sel.text+endTag;
        else sel.text = "<a href='"+sel.text+"'>"+sel.text+endTag;
        myField.focus();
    }
    //MOZILLA/NETSCAPE support
    else if (myField.selectionStart || myField.selectionStart == '0') {
        var startPos = myField.selectionStart;
        var endPos = myField.selectionEnd;
        if(priznak!=1) myField.value = myField.value.substring(0, startPos)
                      + startTag
                      + myField.value.substring(startPos, endPos)
                      + endTag
                      + myField.value.substring(endPos, myField.value.length);
        else myField.value = "<a href='"+myField.value.substring(startPos, endPos)+"'>"+myField.value.substring(startPos, endPos)+endTag;
        myField.focus();
        myField.selectionStart = startPos + startTag.length;
        myField.selectionEnd = endPos + startTag.length;
    } else {
        myField.value += myValue;
        myField.focus();
    }
}


// -----------------------------------------------------------------------------
  function prepocti(co,kam,form){
    var d1,d2,d3,d4;
    var h1,h2,h3,h4;
    d1=d2=d3=d4=0;
    h1=h2=h3=h4=0;
    
    if(document.forms[form].elements['d1'].value != '' && !isNaN(document.forms[form].elements['d1'].value)) d1 = parseInt(document.forms[form].elements['d1'].value);
    if(document.forms[form].elements['d2'].value != '' && !isNaN(document.forms[form].elements['d2'].value)) d2 = parseInt(document.forms[form].elements['d2'].value);   
    if(document.forms[form].elements['d3'].value != '' && !isNaN(document.forms[form].elements['d3'].value)) d3 = parseInt(document.forms[form].elements['d3'].value);   
    if(document.forms[form].elements['d4'].value != '' && !isNaN(document.forms[form].elements['d4'].value)) d4 = parseInt(document.forms[form].elements['d4'].value);   

    if(document.forms[form].elements['h1'].value != '' && !isNaN(document.forms[form].elements['h1'].value)) h1 = parseInt(document.forms[form].elements['h1'].value);
    if(document.forms[form].elements['h2'].value != '' && !isNaN(document.forms[form].elements['h2'].value)) h2 = parseInt(document.forms[form].elements['h2'].value);   
    if(document.forms[form].elements['h3'].value != '' && !isNaN(document.forms[form].elements['h3'].value)) h3 = parseInt(document.forms[form].elements['h3'].value);   
    if(document.forms[form].elements['h4'].value != '' && !isNaN(document.forms[form].elements['h4'].value)) h4 = parseInt(document.forms[form].elements['h4'].value);   

    document.forms[form].elements['d1'].value = d1;
    document.forms[form].elements['d2'].value = d2;
    document.forms[form].elements['d3'].value = d3;
    document.forms[form].elements['d4'].value = d4;
    document.forms[form].elements['h1'].value = h1;
    document.forms[form].elements['h2'].value = h2;
    document.forms[form].elements['h3'].value = h3;
    document.forms[form].elements['h4'].value = h4;

    document.forms[form].elements['dv'].value = d1+d2+d3+d4;
    document.forms[form].elements['hv'].value = h1+h2+h3+h4;
  }

// Zabarveni radku pri prejeti mysi
// -----------------------------------------------------------------------------
function setPointer(theRow, thePointerColor)
{
    if (thePointerColor == '' || typeof(theRow.style) == 'undefined') {
        return false;
    }
    if (typeof(document.getElementsByTagName) != 'undefined') {
        var theCells = theRow.getElementsByTagName('td');
    }
    else if (typeof(theRow.cells) != 'undefined') {
        var theCells = theRow.cells;
    }
    else {
        return false;
    }

    var rowCellsCnt  = theCells.length;
    for (var c = 0; c < rowCellsCnt; c++) {
        theCells[c].style.backgroundColor = thePointerColor;
    }

    return true;
} // end of the 'setPointer()' function

//1.  Funkce pri vyberu polozky v SELECTu nastavi cookie na danou hodnotu
// -----------------------------------------------------------------------------
function nastavCookie(formular,pole){
    var n = document.forms[formular].elements[pole].length;
    var i = document.forms[formular].elements[pole].selectedIndex;
    var s = document.forms[formular].elements[pole].options[i].value;

    if(pole=='sezona'){
      document.cookie = "cookieSezona="+s;
    }
    if(pole=='utkani'){
      document.cookie = "cookieUtkani="+s;
    }
    if(pole=='aktivni'){
      document.cookie = "cookieAktivni="+s;
    }

    self.location.reload();
  }

function nastavCookiePulnoc(){
    var datum = new Date();
    var razitko = new Date();
       
    //razitko.setTime(Date.UTC(datum.getFullYear(), datum.getMonth(), datum.getDate(), 21, 59, 59));
    razitko.setTime(Date.UTC(datum.getFullYear(), datum.getMonth(), datum.getDate(), datum.getHours()-1, datum.getMinutes(), datum.getSeconds()));             
    document.cookie = 'cookieKonec='+razitko+'; expires='+razitko.toGMTString();
}

function setTimedCookie(obj, cookieName, days){
    var i = obj.selectedIndex;
    var s = obj.options[i].value;
    var D = new Date();    
    D.setTime(D.getTime()+86400000*days)

    document.cookie = escape(cookieName)+"="+escape(s)+
            ((days == null)?"":(";expires="+D.toGMTString()));
    self.location.reload();
  }

// -----------------------------------------------------------------------------
function zobrazBin(idBinu,idRozbal){
  var bin = document.getElementById(idBinu);
  var rozbal =  document.getElementById(idRozbal);
  if(bin.style.display == 'none'){
    bin.style.display = 'block';
    rozbal.innerHTML = '(-)';
  }
  else if(bin.style.display == 'block'){
    bin.style.display = 'none';
    rozbal.innerHTML = '(+)';
  }  
}

// Kontrola vyplneni povinnych udaju
// -----------------------------------------------------------------------------

  function checkChat(form){
    var str = '';
    var vysledek = true;
    var chyba = 0;
    var polePovinnych = new Array();
    var poleHlasek = new Array("Zobraz jméno","Příspěvek","Kontrolní text");
    
    polePovinnych[0] = document.forms[form].elements['napsal'];
    polePovinnych[1] = document.forms[form].elements['prispevek'];
    polePovinnych[2] = document.forms[form].elements['obrvalue'];
    
    for(var i=0; i < polePovinnych.length; i++){
      if(polePovinnych[i].value == ''){
        if(chyba == 0) chyba = i+1;
        str += poleHlasek[i]+"\n";
        polePovinnych[i].style.borderColor="#ffcc1b";
      }
      else polePovinnych[i].style.borderColor="#ffffff";
    }

    if(str != ""){
      vysledek = false;
      alert("Následující údaje jsou povinné:\n\n"+str);
    }

    for(i=0;i<polePovinnych.length;i++){
      if(chyba == i+1) polePovinnych[i].focus();
    }

    return vysledek;
  }

  // Kontrola vkladani uzivatele
// -----------------------------------------------------------------------------
	function kontrolaUzivatele(pracovnik,hs) {
		var vysledek = true;
		var strerr = "";
		var chyba = 0;
		var typy = 'typ[]';
		var zaskrtnut = false;
		
		var select1 = document.forms['pracovnik'].elements[typy];

		if (pracovnik.jmeno.value==""){ strerr += "Jméno\n"; chyba =  1;}
		if (pracovnik.prijmeni.value==""){ strerr += "Příjmení\n"; if(chyba == 0) chyba =2;}
		if (pracovnik.login.value==""){ strerr += "Login\n"; if(chyba == 0) chyba =3;}
		if (hs == 0 && pracovnik.heslo.value==""){ strerr += "Heslo\n"; if(chyba == 0) chyba =4;}
    
    if(select1.length != undefined){    
      for(var j=0;j<select1.length;j++){
        if(select1[j].checked == true){
      		zaskrtnut = true;
          break;
        }
      }
    }
    else{
      if(select1.checked == true) zaskrtnut = true;
    }
    
    if(!zaskrtnut) { strerr += "Oprávnění\n"; if(chyba == 0) chyba =5;}
				
 		if ("" != strerr) {
   		vysledek = false;
      alert("Níže uvedená pole je nutno vyplnit:\n\n" + strerr);
      if(chyba == 1) {document.pracovnik.jmeno.focus(); document.pracovnik.jmeno.select();}
      if(chyba == 2) {document.pracovnik.prijmeni.focus(); document.pracovnik.prijmeni.select();}
      if(chyba == 3) {document.pracovnik.login.focus(); document.pracovnik.login.select();}
      if(chyba == 4) {document.pracovnik.heslo.focus(); document.pracovnik.heslo.select();}
      //if(chyba == 5) {select1.focus();}
    	}

		return vysledek;
	}

// -----------------------------------------------------------------------------
function kontrolaCheck(the_form,the_box)
{
    var elts      = document.forms[the_form].elements[the_box];
    var elts_cnt  = elts.length;
    var oznac     = false;

    if(elts_cnt != undefined){
      for (var i = 0; i < elts_cnt; i++) {
          if(elts[i].checked == true) oznac=true;
      } // end for
    }
    else{
      if(elts.checked == true) oznac = true;
    }
    
    if(oznac == false) alert("\nOznačte alespoň jedno zaškrtávací políčko(a)!\n\n");
    else if(the_box == 'smazat[]') oznac = confirm('Opravdu chcete smazat označené údaje?');
    return oznac;
}

// -----------------------------------------------------------------------------
  function checkReg(form){
    var str = '';
    var vysledek = true;
    var chyba = 0;
    var polePovinnych = new Array();
    var poleHlasek = new Array("Jméno","Příjmení","Login","Heslo","Email", "Kontrolní text");
    
    polePovinnych[0] = document.forms[form].elements['jmeno'];
    polePovinnych[1] = document.forms[form].elements['prijmeni'];
    polePovinnych[2] = document.forms[form].elements['login'];
    polePovinnych[3] = document.forms[form].elements['heslo'];
    polePovinnych[4] = document.forms[form].elements['email'];
    polePovinnych[5] = document.forms[form].elements['obrvalue'];
    
    for(var i=0; i < polePovinnych.length; i++){
      if(polePovinnych[i].value == ''){
        if(chyba == 0) chyba = i+1;
        str += poleHlasek[i]+"\n";
        polePovinnych[i].style.borderColor="#ffcc1b";
      }
      else polePovinnych[i].style.borderColor="#ffffff";
    }

    if(str != ""){
      vysledek = false;
      alert("Následující údaje jsou povinné:\n\n"+str);
    }

    for(i=0;i<polePovinnych.length;i++){
      if(chyba == i+1) polePovinnych[i].focus();
    }
    
    if(chyba == 0){
      vysledek = checkMail(polePovinnych[4].value);
      if(!vysledek){
        polePovinnych[4].style.borderColor="#ffcc1b";
        polePovinnych[4].focus();
      }
      if(polePovinnych[5].value != document.getElementById("over").value){
      	vysledek = false;
        polePovinnych[5].style.borderColor="#ffcc1b";
        polePovinnych[5].focus();
        alert("Kontrolní text nebyl zadán správně!");
      }
    }
    
    return vysledek;
  }

  function platnostLicence(form,switch1,switch2){
    var elt1 = document.forms[form].elements[switch1];
    var elt2 = document.forms[form].elements[switch2];
    
    if(elt1.checked == true){
      elt2.value = "";
    }
     
  }

  function checkSingle(formular,pole,popis){
    var chyba = 0;
    var vysledek = true;
    var str = "";

    if(document.forms[formular].elements[pole].value == ""){
      str = popis+"\n";
      if(chyba==0) chyba = 1;
    }

    if(str!=""){
      vysledek = false;
      alert("Vyplňte následující pole:\n\n"+str);
    }
    if(chyba == 1) document.forms[formular].elements[pole].focus();

    return vysledek;
  }
function jeCislo(obj) {
	regCislo = new RegExp("^[0-9]+$");

	if (window.RegExp) {
		if (!regCislo.test(obj)) {
			return false;
		} else {
			return true;
		}
	}
}

function addAttachment(id,form,pole,popis) {
	var element = document.getElementById(id);
	var popis = document.getElementById('popis_attachment');
	var pocet = document.forms[form].elements[pole].value;
	var ok = jeCislo(pocet);

	if(ok) {
		popis.innerHTML = "";
		element.innerHTML = '';
		if(pocet != '' && pocet > 0) {
			for(var i = 0; i < pocet; i++) {
				var newDIV = document.createElement("div");
				var newText = document.createTextNode(" *");
				element.appendChild(newDIV);
				var newInput = document.createElement("input");
				newInput.setAttribute("name", "n_soubor[]");
				newInput.setAttribute("type", "file");
				newInput.setAttribute("size", "40");
				newDIV.appendChild(newInput);
				newDIV.appendChild(newText);
			}
			popis.innerHTML="<label for='n_soubor[]'>Příložit soubor</label>";
			var pocetPriloh = document.createElement("input");
			pocetPriloh.setAttribute("type", "hidden");
			pocetPriloh.setAttribute("name", "pocet_priloh");
			pocetPriloh.setAttribute("value", pocet);
			newDIV.appendChild(pocetPriloh);
		} else {
			popis.innerHTML="";
			element.innerHTML = '';
		}
	} else {
		popis.innerHTML="";
		element.innerHTML = '';
	}
}

function getResult(elt){
	var form 		= 'formular';
	var odehrano 	= document.forms[form].elements['odehrano'];
	var vyher		= document.forms[form].elements['vyher'];		
	var proher		= document.forms[form].elements['proher'];
	var bodu		= document.forms[form].elements['bodu'];
	
	odehrano.value = (!isNaN(odehrano.value) && odehrano.value != '') ? odehrano.value : '0';
	vyher.value = (!isNaN(vyher.value) && vyher.value != '') ? vyher.value : '0';
	proher.value = (!isNaN(proher.value) && proher.value != '') ? proher.value : '0';
	bodu.value = (!isNaN(bodu.value) && bodu.value != '') ? bodu.value : '0';
	
	if(isNaN(elt.value)){		
		elt.value = '';
		elt.focus();		
	} else {
		odehrano.value = eval(parseInt(vyher.value) + parseInt(proher.value));
		proher.value = eval(odehrano.value - vyher.value);
		vyher.value = eval(odehrano.value - proher.value);
		bodu.value = (eval(2*vyher.value) + parseInt(proher.value));
	}
	//}
}
