isDOM = (document.getElementById ? true : false);
isIE4 = ((document.all && !isDOM) ? true : false);
isNS4 = (document.layers ? true : false);


// pridat stranku do Oblibenych
function Pridat_K_Oblibenym (strUrl,strNazev){
	if (!isNS4)
		window.external.AddFavorite(strUrl,strNazev);
	else
		alert('Bohužel Váš prohlížeč nepodporuje tuto funkci, přidejte si tuto stránku k oblíbeným ručně prosím.');
}


// nastavit stranku jako homepage
function Nastavit_Jako_Domovskou_Stranku (obj,strUrl){
	if (!isNS4) {
		obj.style.behavior='url(#default#homepage)';
		obj.setHomePage(strUrl);
	} else {
		alert('Bohužel Váš prohlížeč nepodporuje tuto funkci, nastavte si tuto stránku jako domovskou ručně prosím.');
	}
}


// kontrola poctu znaku
function CheckLength(length) {
	if (document.form.Text.value.length >= length) {
		alert('Dosáhl jste maximálního počtu znaků.');
		return false;                         
	}
}


// spravny format emailu
function CheckEmail(a) {
	var strEmail = eval("document." + a + ".email.value");
	var intLength = strEmail.length
	
	if	(
		intLength < 6 || 
		
		strEmail.indexOf('@') < 1 || (intLength - strEmail.lastIndexOf('@')) < 5 ||
		strEmail.indexOf('.') < 1 || (intLength - strEmail.lastIndexOf('.')) < 3 
		)
		
		{
		eval("document." + a + ".email.focus()");
		return false;
		}
	return true;
}


// validace anonymniho mailinglistu - identifikace
var button = 0;
function difButtons(val) {
    button = val;
}
function Validate_Mailinglist_Form(a) {
	if (	(isNaN(eval('document.' + a + '.identifikace.value')) || eval('document.' + a + '.identifikace.value.length') != 7) && (button == 1)	) {
		alert ("V poli identifikace musí být vyplněna platná hodnota!"); 
		return false;
	} else {
		return true;
	}
}


// validace anonymniho mailinglistu
function Validate_Anonymni_Mailing_List(a){

	var msgError0 = "Nesprávně vyplněný registrační formulář! \nMusí být vyplněna položka E-mail."
	var pole_email = "document.anonymni_mailing_list.email.value"

	if ( eval(pole_email) == "" ) {
		alert(msgError0);
		return false;
	} else {
		return(CheckEmail("anonymni_mailing_list"));
	}
}


// validace uzivatelskeho profilu
function Validate_Profil_Form() {
	var msgError = "Nesprávně vyplněný registrační formulář! \nMusí být vyplněna pole Uživatel: i Heslo:"
	var pole_uzivatel = "document.uzivatelsky_profil.uzivatel.value"
	var pole_heslo = "document.uzivatelsky_profil.heslo.value"
	var pole_registrace = "document.uzivatelsky_profil.registrovany_pristup"
	
	if ( (eval(pole_uzivatel) == "" || eval(pole_heslo) == "")) {
		alert(msgError); 
		return false;
	}
}


// puvodni hodnoty
function Reset_Form(){
	if (confirm('Chcete smazat údaje ve formuláři ?')) {
		return true;
	} else {
		return false;
	}
}


// otevrit okno
var windowHandle = null;
function otevritOkno(url,okno,params) {
    windowHandle = window.open(url,okno,params);
}


// prace s vrstvami
 var visibleVar="null";

	if (navigator.appName == "Netscape") {
		layerStyleRef="layer.";
		layerRef="document.layers";
		styleSwitch="";
		visibleVar="show";
	}else{
		layerStyleRef="layer.style.";
		layerRef="document.all";
		styleSwitch=".style";
		visibleVar="visible";
 }

 function showLayer(layerName){
	eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="visible"');
 }

 function hideLayer(layerName){
	eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="hidden"');
 }

 function Switch(layerName){
	if (eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility == visibleVar')){
		hideLayer(layerName);
	}else{
		showLayer(layerName);
	}
}


// validace formulare na zakladni hledani
function Validate_Hledani(frm) {
	sStr = frm["q"].value
	sStr = sStr.replace(/[%']/, " ");
	frm["q"].value = sStr;
	if (sStr.length < 2) {
		alert("Hledaný výraz musí mít alespoň 2 znaky.")
		return false;
	}
}


// validace formulare na rozsirene hledani
function Validate_Hledani_Form() {
	strErrorMsg = 'Formulář je vyplněn špatně:\n\n';
	bFocus = false;
	bError = false;
	strEmpty_Fields = '';
	intEmpty_Fields = 0;
	if (document.search.q.value == '') {
		if (intEmpty_Fields > 0) {
			strEmpty_Fields = strEmpty_Fields + '';
		}
		strEmpty_Fields = strEmpty_Fields + 'Nebyl zadán žádný dotaz.\n';
		bFocus = true;
		intEmpty_Fields = ++intEmpty_Fields;
	}
	
	if (document.search.q.value.length < 2) {
		if (intEmpty_Fields > 0) {
			strEmpty_Fields = strEmpty_Fields + '';
		}
		strEmpty_Fields = strEmpty_Fields + 'Hledaný výraz musí mít alespoň 2 znaky.\n';
		bFocus = true;
		intEmpty_Fields = ++intEmpty_Fields;
	}
	
	// kontrola zda vybran zdroj
	var intChecked = 0
	for (var i=0; i<document.search.pr.length; i++) {
		if (document.search.pr[i].checked)
		  intChecked++;
	}
	
	if (intChecked == 0) {
		strEmpty_Fields = strEmpty_Fields + 'Nebyl vybrán žádný zdroj.\n';
		intEmpty_Fields = ++intEmpty_Fields;
	}
	
	// kontrola zda jsou vybrane kanaly
	intChecked = 0
	if (document.search.ka.length == undefined) {
		if (document.search.ka.checked) {
			intChecked = 1
		}
	} else {
		for (var i=0; i<document.search.ka.length; i++) {
			if (document.search.ka[i].checked)
			intChecked++;
		}
	}
	if (intChecked == 0) {
		strEmpty_Fields = strEmpty_Fields + 'Nebyl vybrán žádný kanál.\n';
		intEmpty_Fields = ++intEmpty_Fields;
	}

	if (intEmpty_Fields > 0) {
		bError = true;
		if (intEmpty_Fields == 1) {
			strErrorMsg = strErrorMsg + strEmpty_Fields;
			if (bFocus == true) {
				document.search.q.focus();
			}
		} else {
			strErrorMsg = strErrorMsg + strEmpty_Fields;
		}
	}
	
	// zda se neprekryva datum
	if (document.search.tr[1].checked) {	
		var selDenOd = parseInt(document.search.dod.value);
		var selMesicOd = parseInt(document.search.mod.value);
		var selRokOd = parseInt(document.search.rod.value);
		var selDenDo = parseInt(document.search.ddo.value);
		var selMesicDo = parseInt(document.search.mdo.value);
		var selRokDo = parseInt(document.search.rdo.value);
		if (selRokOd >= selRokDo){
			if (selRokOd == selRokDo){
				if (selMesicOd > selMesicDo){
					bError = true;
					strErrorMsg = strErrorMsg + 'Počáteční datum je starší než datum koncové.\n';
				} else {
					if (selMesicOd == selMesicDo){
						if (selDenOd > selDenDo){
							bError = true;
							strErrorMsg = strErrorMsg + 'Počáteční datum je starší než datum koncové.\n';
						}
					}
				}
			} else {
				bError = true;
				strErrorMsg = strErrorMsg + 'Počáteční datum je starší než datum koncové.\n';
			}
		}
	}	
		
	if (!(bError)) {
		return true;
	} else {
		alert(strErrorMsg);
		return false;
	}
}


// kontrola datumu : OD
function Check_Date_Od () {
  // zaskrtni prislusnou variantu Casoveho obdobi
  eval("document.search.tr[1].checked=true");

  var errMsg = 'Zadal(a) jste neexistující počáteční datum. Den byl upraven na nejbližší platné datum.\nZkontrolujte, jestli je v pořádku.';
  // zjisteni vybraneho mesice
  var i = 0;
  while (!document.search.mod.options[i].selected) {
    i++;
  }
  var selMesic = i + 1;
  if (selMesic != 2) {
    // neni to Unor, prestupny rok me nezajima
    // nezajima me ani rok obecne, ale pouze jestli ma mesic 30 nebo 31 dnu
    // pokud ma 31, je jedno, jaky den je vybran, pokud ma jen 30 a vybrany den je 31
    // je potreba den nastavit na 30
    if ((selMesic == 4) || (selMesic == 6) || (selMesic == 9) || (selMesic == 11)) {
      // zjistuju, jaky je vybran den
      i = 0;
      while (!document.search.dod.options[i].selected) {
        i++;
      }
      // nastavim den na 30 (pozor indexy maji o jednicku mensi hodnoty)
      if (i == 30) {
        document.search.dod.options[29].selected = true;
        alert (errMsg);
      }
    }
  }
  else {
    // je to Unor, zjistuju vybrany den
    // je-li prestupny nastavim den na 29 jinak 28
    i = 0;
    while (!document.search.dod.options[i].selected) {
      i++;
    }
    var selDen  = i + 1;
    // pokud je vetsi nez 28, zjistuju rok a jestli je prestupny
    if (selDen > 28) {
      var selRok = document.search.rod.value;
      // vlastni testovani prestupnosti roku
      // pravidlo: prestupny je rok, jehoz letopocet je delitelny 4, ale ne delitelny 100, s vyjimkou delitelnych 400
      if (((selRok % 4 == 0) && (selRok % 100 != 0)) || (selRok % 400 == 0)) {
        if (selDen > 29) {
          document.search.dod.options[28].selected = true;
          alert (errMsg);
        }
      }
      else {
        document.search.dod.options[27].selected = true;
        alert (errMsg);
      }
    }
  }
}


// kontrola datumu : DO
function Check_Date_Do () {
  // zaskrtni prislusnou variantu Casoveho obdobi
  eval("document.search.tr[1].checked=true");
  
  var errMsg = 'Zadal(a) jste neexistující koncové datum. Den byl upraven na nejbližší platné datum.\nZkontrolujte, jestli je v pořádku.';
  // zjisteni vybraneho mesice
  var i = 0;
  while (!document.search.mdo.options[i].selected) {
    i++;
  }
  var selMesic = i + 1;
  if (selMesic != 2) {
    // neni to Unor, prestupny rok me nezajima
    // nezajima me ani rok obecne, ale pouze jestli ma mesic 30 nebo 31 dnu
    // pokud ma 31, je jedno, jaky den je vybran, pokud ma jen 30 a vybrany den je 31
    // je potreba den nastavit na 30
    if ((selMesic == 4) || (selMesic == 6) || (selMesic == 9) || (selMesic == 11)) {
      // zjistuju, jaky je vybran den
      i = 0;
      while (!document.search.ddo.options[i].selected) {
        i++;
      }
      // nastavim den na 30 (pozor indexy maji o jednicku mensi hodnoty)
      if (i == 30) {
        document.search.ddo.options[29].selected = true;
        alert (errMsg);
      }
    }
  }
  else {
    // je to Unor, zjistuju vybrany den
    // je-li prestupny nastavim den na 29 jinak 28
    i = 0;
    while (!document.search.ddo.options[i].selected) {
      i++;
    }
    var selDen  = i + 1;
    // pokud je vetsi nez 28, zjistuju rok a jestli je prestupny
    if (selDen > 28) {
      var selRok = document.search.rdo.value;
      // vlastni testovani prestupnosti roku
      // pravidlo: prestupny je rok, jehoz letopocet je delitelny 4, ale ne delitelny 100, s vyjimkou delitelnych 400
      if (((selRok % 4 == 0) && (selRok % 100 != 0)) || (selRok % 400 == 0)) {
        if (selDen > 29) {
          document.search.ddo.options[28].selected = true;
          alert (errMsg);
        }
      }
      else {
        document.search.ddo.options[27].selected = true;
        alert (errMsg);
      }
    }
  }
}


// rotate : navstivte take  
var parReloadInterval = 4; //in secconds, 0=no reload
var parCurrent = 0;
var parIntervalID = null;

// var parCount=  must be declared in page

function parTimeInterval(direct)
  {
  var last,objTable;
  if(parCount<=0) return;

  last=parCurrent;
  if(direct==0) 
    {
    parCurrent++;
    if(parCurrent>=parCount) parCurrent=0;
    }
  if(direct==(-1)) 
    {
    parCurrent -= 1;
    if(parIntervalID!=null) window.clearInterval(parIntervalID);
    if(parCurrent<0) parCurrent=parCount-1;
    }
  if(direct==1) 
    {
    parCurrent += 1;
    if(parIntervalID!=null) window.clearInterval(parIntervalID);
    if(parCurrent>=parCount) parCurrent=0;
    }
   
   
	if (isDOM) {
		objTable = document.getElementById("parTable");
	}

	if (isIE4) {
		objTable = document.all("parTable");
	}

	if (isNS4) {
		objTable = document.layers("parTable");
	}
 

  if(objTable==null) return;
  if(last < objTable.rows.length)
    {
    objTable.rows[last].style.display='none';      
    }
  if(parCurrent < objTable.rows.length)
    {
    objTable.rows[parCurrent].style.display='inline';
    }
  }
  
function parOnLoad()
  {
  if(parCount > 0) parCurrent = Math.floor(Math.random()*(parCount-1));
  if(parReloadInterval>0) parIntervalID = window.setInterval('parTimeInterval(0);',1000*parReloadInterval,'JavaScript');    
  parTimeInterval(0);
  }
  
function parWindowed(page_id,category_id)  
  {
  top.window.open('pub/pubFullView.asp?pubNewsID=' + page_id + '&pubNewsID=' + page_id + '&forNewsID=' + page_id + '&PubTreeID=' + category_id);  
  }


// diskuze
function chkFormular(akce) {
	if ( document.form.Subject.value=="" ) {
		alert( "Prosím vyplňte pole Předmět!" );
		document.form.Subject.focus();
		return false;
	}

	if ( document.form.Text.value=="" ) {
		alert( "Prosím vyplňte pole Příspěvek!" );
		document.form.Text.focus();
		return false;
	}

	if ( document.form.AuthorName.value=="" ) {
		alert( "Prosím vyplňte pole Jméno!" );
		document.form.AuthorName.focus();
		return false;
	}
	
	if (akce == "reply") {
		if ( document.form.email_notify.checked == true ) {
			if ( document.form.AuthorEmail.value=="" ) {
				alert( "Chcete-li zaslat informaci o odpovědi na Váš příspěvek, napište do pole E-Mail svoji emailovou adresu!" );
				document.form.AuthorEmail.focus();
				return false;
			}
		}
	}
	
	if ( document.form.Text.value.length >= 500 ) {
		intPopisekLength = document.form.Text.value.length - 500;
		strErrorMsg = strErrorMsg + 'Pole Příspěvek obsahuje o ' + intPopisekLength + ' znaků více než je povolený limit. Limit je 500 znaků.\n';
	}
}
