    var menuCount;
    var menuItemsCount = new Array();
    var moveSpeed = 50; 
      

    
    function initWelcome()
    {
      menuCount = 5;
      menuItemsCount = new Array(); 
      menuItemsCount[0] = 4;
      menuItemsCount[1] = 2;         
      menuItemsCount[2] = 2;    
      menuItemsCount[3] = 3;
      menuItemsCount[4] = 2;        
      moveSpeed = 50;
      init();
    }  
    
    function initJazyky()
    {
      menuCount = 6;
      menuItemsCount = new Array(); 
      menuItemsCount[0] = 0;
      menuItemsCount[1] = 0;         
      menuItemsCount[2] = 3;    
      menuItemsCount[3] = 0; 
      menuItemsCount[4] = 0;
      menuItemsCount[5] = 0;            
      moveSpeed = 30;
      init();
    }     
    
     function init()
     { 
      hTemp = new Array();
      showPhase = new Array();
      menu_item_element = new Array();
      hMax = new Array();    
      stepPx = new Array();
      area_element = new Array();    
      menu_element = new Array();
          
      for(i=0;i<menuCount;i++)
      {
          hTemp[i] = 0;
          showPhase[i] = 1;    
          hMax[i] = 0;
          for(j=0;j<menuItemsCount[i];j++)
          {
            menu_item_element[i,j] = document.getElementById('element'+i+'_'+j);
            menu_item_element[i,j].onmouseover = myStopBubble;
            hMax[i] = hMax[i] + myParseInt(menu_item_element[i,j].style.height);
            //menu_item_element[i,j].onclick = openPage;
          }
          stepPx[i] = parseInt(hMax[i]/25);
          menu_element[i] = document.getElementById('menu'+i);
          area_element[i] = document.getElementById('area'+i); 
          area_element[i].onmouseover = showMenu;
      }
  
      document.onmouseover = hideMenu;
    }
    
    
    function showMenu(e)
    {
      var areaEl = getTargetElement(e);
      var menuEl;
      var h;
      for(i=0;i<menuCount;i++)
      {
        if (areaEl.id.replace('area','menu') == 'menu'+i)
        {
            menuEl = document.getElementById('menu'+i);
            if (menuEl)
            {
                h = myParseInt(menuEl.style.height);
                if (h == 0)
                {
                    hTemp[i] = 0;
                    setTimeout("showMenuStepUp(" + i + ")",parseInt(moveSpeed/menuItemsCount[i]));
                    showPhase[i] = 0;
                    myStopBubble(e);                
                }
            }
        }
      }
      
    }        

    function getTargetElement(e) {
    	var targ;
    	if (!e) var e = window.event;
    	if (e.target) targ = e.target;
    	else if (e.srcElement) targ = e.srcElement;
    	if (targ.nodeType == 3) // defeat Safari bug
    		targ = targ.parentNode;
    	return targ
    }

    
    
    function hideMenu()
    {
      for(i=0;i<menuCount;i++)
      {
         menuEl = document.getElementById('menu'+i);
         if(menuEl)
         {
             var h = myParseInt(menuEl.style.height);
             //setTimeout("showMenuStepDown(" + i + ")",30); 
             if (h == hMax[i])
             {
                setTimeout("showMenuStepDown('" + i + "')",parseInt(moveSpeed/menuItemsCount[i])); 
             }
         }
      }
    }    
    
    
    function showMenuStepDown(menuNr)
    {
        var tmp;
        var xhMax = hMax[menuNr]
        var xstepPx = stepPx[menuNr];
        var xhTemp =  hTemp[menuNr];       

        if (xhTemp == xhMax)
        {
            hideElements(menuNr);
        }

        if (xhTemp > 0)
        {
          tmp = xhTemp - xstepPx;
          xhTemp = (tmp < 0 ? 0 : tmp);
          hTemp[menuNr] = xhTemp;
          menu_element[menuNr].style.height = xhTemp;
          menu_element[menuNr].style.top = xhMax - xhTemp;
          setTimeout("showMenuStepDown(" + menuNr + ")",parseInt(moveSpeed/menuItemsCount[i]));             
        }
    }    
    
    function openPage(e)
    {
      var i,j;
      elementClicked = getTargetElement(e);
      s = elementClicked.id.replace('element','').split('_');
      i = parseInt(s[0]); 
      j = parseInt(s[1]);
      if (menu_item_elementUrl[i,j])
      {
          alert(i);
          alert(j);
          alert(menu_item_elementUrl[i,j]);
          document.location.href=menu_item_elementUrl[i,j];
      }
    }

   
    function hideMenuSlowly(m)
    {
      m.style.height = 0;
      m.style.top = 0;
    }    
    
    function showMenuStepUp(menuNr)
    {
        var h = myParseInt(menu_element[menuNr].style.height);
        var t = myParseInt(menu_element[menuNr].style.top);
        var tmp;
        var xhTemp = h;
        var xhMax = hMax[menuNr]
        var xstepPx = stepPx[menuNr];
        if (xhTemp < xhMax)
        {
          tmp = xhTemp + xstepPx;
          xhTemp = (tmp > xhMax ? xhMax : tmp);
          hTemp[menuNr] = xhTemp;
          menu_element[menuNr].style.height = xhTemp;
          menu_element[menuNr].style.top = xhMax - xhTemp;
          setTimeout("showMenuStepUp(" + menuNr + ")",parseInt(moveSpeed/menuItemsCount[i]));          
        }
        else
        {
            showElements(menuNr);
        }          
    }
   
    function myParseInt(s)
    {
        return parseInt(s.substring(0,s.indexOf('p')));
    }   

    function myStopBubble(e)
    {
       if (!e) var e = window.event;
       e.cancelBubble = true;
       if (e.stopPropagation) e.stopPropagation();
    }  

    function showElements(menuNr)
    {
        var n = menuItemsCount[menuNr];
        for(j=0;j<n;j++)
        {
          document.getElementById('element'+ menuNr + '_'+ j).style.display = '';
        }         
    }
    
    function hideElements(menuNr)
    {
        var n = menuItemsCount[menuNr];
        for(j=0;j<n;j++)
        {
          document.getElementById('element'+ menuNr + '_'+ j).style.display = 'none';
        }         
    } 
    
/*********************************************************************/
/* testy */

function reset_formulare()
{
    var tq = document.getElementById("qc").value;  //total questions
    var a;  //answer
    var anbr;
    var color_default = "#000000";  
    var tmpE;  
        
    for (var qnbr=1; qnbr <= tq; qnbr++)
    {
        anbr = 1;    
        while (document.getElementById("o" + qnbr + "_" + anbr))
        {
            a = document.getElementById("o" + qnbr + "_" + anbr);
            a.checked = false;
            tmpE = a.parentNode.parentNode.childNodes[1];
            if (tmpE)
                tmpE.style.color = color_default;
            tmpE = a.parentNode.parentNode.childNodes[3];
            if (tmpE)
                tmpE.style.color = color_default;                
            
            anbr++;            
        }    
    }  
    document.getElementById("vysledek").style.display = "none";
    document.getElementById("znovu").style.display = "none";
}

function vyhodnotit()
{
    var tq = document.getElementById("qc").value;  //total questions
    var q;  //question
    var a;  //answer
    var anbr;
    var tdone = 0;  //total done
    var tok   = 0;    //total ok
    var is_ok = 0;
    var color_ok = "#00C000";
    var color_bad = "#C00000";
    var anbr_checked;  //number of checked answer
    var msg=  "";
    var tmpE;
    
    //check if all is answered
    for (var qnbr=1; qnbr <= tq; qnbr++)
    {
        anbr = 1;    
        while (document.getElementById("o" + qnbr + "_" + anbr))
        {
            a = document.getElementById("o" + qnbr + "_" + anbr);
            if (a.checked)
            {
                tdone++;
            }        
            anbr++;            
        }    
    }   

    switch(tq - tdone)
    {
    case 0:
      msg = "";
      break;    
    case 1:
      msg = "otázka";
      break;
    case 2:
      msg = "otázky";
      break;
    case 3:
      msg = "otázky";
      break;
    case 4:
      msg = "otázky";
      break;            
    default:
      msg = "otázek";
    }
    if (msg != "")
    {
        alert("Zbývá odpovědět " + (tq - tdone) + " " + msg);
        return;
    }


    //evaluation    
    tdone = 0;

    for (var qnbr=1; qnbr <= tq; qnbr++)
    {
        anbr = 1;
        is_ok = 0;
                
        while (document.getElementById("o" + qnbr + "_" + anbr))
        {
          a = document.getElementById("o" + qnbr + "_" + anbr);
          if (a.checked)
          {
              anbr_checked = anbr;        
              tdone++;

              if (a.value == "dobre")
              {
                  tok++;
                  is_ok = 1;
                  tmpE = a.parentNode.parentNode.childNodes[1];
                  if (tmpE)
                      tmpE.style.color = color_ok;
                  tmpE = a.parentNode.parentNode.childNodes[3];
                  if (tmpE)
                      tmpE.style.color = color_ok;
              }
          }
          anbr++;
        }
        if (is_ok == 0)
        {
            //IE
            tmpE = document.getElementById("o" + qnbr + "_" + anbr_checked).parentNode.parentNode.childNodes[1];
            if (tmpE)
                tmpE.style.color = color_bad;
            //others
            tmpE = document.getElementById("o" + qnbr + "_" + anbr_checked).
            parentNode.parentNode.childNodes[3];
            if (tmpE)
                tmpE.style.color = color_bad;
        }        
    } 
    
    document.getElementById("znovu").style.display = "";
    //show result
    
    msg = "Vaše skóre je: " + tok + " správně ze " + tq + " otázek";
    document.getElementById("vysledek").innerHTML = msg;
    document.getElementById("vysledek").style.display = "";
       
}
/********************************************************/

function KontrolaCisla(e)  //ASCII hodnoty cisel = (48..57), Enter = 13
	{if (e.keyCode != 13)
		{if ((e.keyCode < 48) || (e.keyCode > 57)) 
			e.returnValue = false;}
	}	
		
function stopEnter()
{if (event.keyCode==13)
	event.returnValue = false;
}			
		
function checkemail(el){
//var str=document.validation.emailcheck.value
var str=el.value;
if (str.length>0){
var filter=/^.+@.+\..{2,3}$/
if (filter.test(str))
testresults=true
else{
alert("Prosím zadejte platnou Emailovou adresu!")
el.focus();
testresults=false
}
return (testresults)
}
}		 
	
		 
function KontrolaPozadovanych(f) 
			{
            var strError = "";
            var efirst = 100;
            for (var intLoop = 0; intLoop<f.elements.length; intLoop++)
            {
               if ((null!=f.elements[intLoop].getAttribute("required"))&&(f.elements[intLoop].style.display=='')){
			   		 
                  if ((f.elements[intLoop].value)=='')
                     {                 
                     strError += "  " + f.elements[intLoop].title + "\n";
                     if (efirst == 100)
                     	efirst = intLoop;
                     }
				    }	 
            if ("" != strError) {
               alert("Zbývá vyplnit:\n" + strError);
               f.elements[efirst].focus();
               return false;}
            }
         }			  

function checktime(el){
//var str=document.validation.emailcheck.value
var str=el.value;
if (str.length>0){
	var filter=/^([01]?[0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])$/;
	if (filter.test(str))
	testresults=true;
	else{
	alert("Prosím zadejte korektní čas!");
	el.focus();
	testresults=false;
	}
	return (testresults);
}
else
	return true;
}

/**
 * DHTML date validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */
// Declaring valid date character, minimum year and maximum year
var dtCh= ".";
var minYear=1900;
var maxYear=2004;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strDay=dtStr.substring(0,pos1)
	var strMonth=dtStr.substring(pos1+1,pos2)
	//var strMonth=dtStr.substring(0,pos1)
	//var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		alert("Formát data je: dd.mm.yyyy")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		alert("Zadejte platný měsíc")
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Zadejte platný den")
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		
		alert("Zadejte prosím 4 ciferné číslo roku mezi "+minYear+" a "+maxYear)
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Zadejte platné datum")
		return false
	}
return true
}

function JeDatum(el){
if (el.value.length>0){
	if (isDate(el.value)==false){
		el.focus()
		return false
	}
    return true
}
else
	return true
}

