    function setAllCheckboxesByName(elementName, check)
    {
        var nodeList = document.getElementsByName(elementName);
        for (var i = 0; i < nodeList.length; i++) {
            var node = nodeList[i];
            node.checked = check;
        }
    }

    function testTextAndSelect(newName,oldNames)
    {
		var newNameInput   = document.getElementById(newName);
		var oldNamesSelect = document.getElementById(oldNames);
		
		if ((oldNamesSelect.length == 0) && (newNameInput.value.length == 0))
		{
			var msg = "Nejsou k dispozici žádné existující hodnoty,\n";
			msg += "vyplňte prosím nový název.";
			alert(msg);
			return false;
		}
		else
		{
			return true;
		}
    }

	function clearDateTime(textBoxNamePrefix)
	{
		var arr = new Array("Hour","Minute","Day","Month","Year");

		for (key in arr)
		{
			var tempId = textBoxNamePrefix + arr[key];
			var textbox = document.getElementById(tempId);
			textbox.value = '';
		}
	}

	function setActualDateTime(textBoxNamePrefix)
	{
		var actDate = new Date();
	
		var arr = new Array("Hour","Minute","Day","Month","Year");

		for (key in arr)
		{
			var tempId = textBoxNamePrefix + arr[key];
			var textbox = document.getElementById(tempId);
			
			switch (arr[key])
			{
				case "Year":
					textbox.value = actDate.getFullYear();
					break;
				case "Month":
					textbox.value = actDate.getMonth() + 1;
					break;
				case "Day":
					textbox.value = actDate.getDate();
					break;
				case "Minute":
					textbox.value = actDate.getMinutes();
					break;
				case "Hour":
					textbox.value = actDate.getHours();
					break;
			}
		}
	}

	function setRadioById(radioId)
	{
		var tempRadio = document.getElementById(radioId);
		tempRadio.checked = true;
	}
	


	function checkSelectedAndExecute(actionName, selectName)
	{
		var htmlSelect = document.getElementById(selectName);
		
		if (htmlSelect.selectedIndex != -1)
		{
			runAction('Bindings', actionName + '(' + htmlSelect.options[htmlSelect.selectedIndex].value + ')');
		}
		else
		{
			alert('Nelze pokračovat. Nebyla vybrána žádná hodnota.');
		}
	}
	

	function selectFilter_backupHtmlSelect(htmlSelect, backupArr)
	{
		backupArr.length = 0;
		
		for (var i = 0; i < htmlSelect.length; i++)
		{
			var htmlOption = htmlSelect.options[i];
			backupArr[htmlOption.value] = new Array(htmlOption.text,htmlOption.text.toUpperCase());
		}
	}
	
	function selectFilter_copyValidItems(filterString,backupArr,htmlSelect)
	{
		htmlSelect.length = 0;
		filterString = filterString.toUpperCase();
		
		for (key in backupArr)
		{
			var name = backupArr[key];
			
			
			if ( (filterString.length == 0) || (name[1].indexOf(filterString) == 0) )
				htmlSelect.options.add(new Option(name[0], key));
		}		
	}
	
	function selectFilter_selectFilterChanged(filterTextBox, backupArr) 
	{
		var baseName = filterTextBox.name.split('_')[0];
		
		if (baseName.length > 1) 
		{
			var htmlSelect = document.getElementById(baseName);

			if ( (backupArr[0] == 'empty') && (htmlSelect.length > 0) )
			{
				selectFilter_backupHtmlSelect(htmlSelect, backupArr);
			}
			
			selectFilter_copyValidItems(filterTextBox.value,backupArr,htmlSelect)			
		} else {
			alert('Error while trying to apply select filter settings.')
		}
		
	}


	function plans_swapValuesById(firstId, secondId)
	{
		var firstEl  = document.getElementById(firstId);
		var secondEl = document.getElementById(secondId);
		
		var tempValue = firstEl.value;
		firstEl.value = secondEl.value;
		secondEl.value = tempValue;
	}

	function plans_swapValues(counter,direction)
	{
		var target = 0;
		if (direction == 'up')
		{
			target = counter - 1;
		}
		else if (direction == 'down')
		{
			target = counter + 1;
		}
		plans_swapValuesById('id_caption_' + counter, 'id_caption_' + target );
		plans_swapValuesById('id_description_' + counter, 'id_description_' + target);
	}

    function copyIntoPlan(planID)
    {
        var msg = parseInt(document.myForm.sourcePlanID.value);
        
        if (isNaN(msg))
        {
            alert('Číslo plánu musí být číselná hodnota.');
        }
        else
        {            
            if (msg <= 0)
            {
                alert('Číslo plánu musí být větší než nula.');
            }
            else
            {
                if (msg == planID)
                {
                    alert('Nelze kopírovat plán sám na sebe.');
                }
                else
                {
                    if (confirm('Opravdu chcete nahradit obsah tohoto\n plánu kopií obsahu plánu číslo \"'+msg+'\" ?'))
                    {
                        runAction('Plans','copyIntoPlan('+planID+','+msg+')')
                    }
                }
            }
        }
    }


	function uploadPlanFile(planID)
	{
		viewFile('uploadPlanFile.php?planID='+planID,'_blank',450,120,50,50);
	}


	function setNoDate(topicID)
	{
		var elDay   = document.getElementById("doneDay_"+topicID);
		var elMonth = document.getElementById("doneMonth_"+topicID);;
		var elYear  = document.getElementById("doneYear_"+topicID);;
		
		elDay.value = '';
		elMonth.value = '';
		elYear.value = '';		
		
		return false;
	}
	
	function setActualDate(topicID)
	{
		var elDay   = document.getElementById("doneDay_"+topicID);
		var elMonth = document.getElementById("doneMonth_"+topicID);;
		var elYear  = document.getElementById("doneYear_"+topicID);;
		
		var actDate = new Date();
		
		elDay.value   = actDate.getDate();
		elMonth.value = actDate.getMonth()+1;
		elYear.value  = (actDate.getYear() > 1000) ? actDate.getYear() : actDate.getYear() + 1900;
		
		return false;
	}
	
	
    function runActionAndPrint(action,methodName)
    {
		viewFile("main.php?print=1&actionEvent="+action+"&actionEventMethod="+methodName, "printWindow" , 700, 600, 50, 50)		
    }

    function runAction(action,methodName)
    {
        document.myForm.actionEvent.value       = action;
        document.myForm.actionEventMethod.value = methodName;
        document.myForm.method                  = 'POST';
        document.myForm.submit();
    }
    
    function runLogout()
    {
        if (confirm('Opravdu odhlásit ze systému ?')){
            window.open('logout.php','_self');
        }
    }
    
	function viewFile(filePath,pageName,width,height,xIndent,yIndent)
	{
		var screenX = (typeof(xIndent) != "undefined") ? xIndent : 100;
		var screenY = (typeof(yIndent) != "undefined") ? yIndent : 100;		

        var options = "scrollbars=yes,screenX="+screenX+",screenY="+screenY+",menubar=no,personalbar=no,resizable=yes,width="+width+",height="+height;
        var hr = window.open(filePath,pageName,options);
            hr.focus();
	}
	
	function showExamDetail(examID,enableDelete)
	{
		viewFile("showExamDetail.php?examID="+examID+"&enableDelete="+((enableDelete) ? "1" : "0"), "examDetail" , 300, 500, 200, 200)
	}

	function showStoredTest(pupilId,testId)
	{
		viewFile("showStoredTest.php?pupilId="+pupilId+"&testId="+testId, "testDetail" , 550, 500, 100, 100)
	  return false;	
	}
	
	function decoma(strValue)
	{
		re = /,/g;
		return strValue.replace(re,'.');
	}

	function selectAllOptions(selectBox)
	{
		for (var i = 0; i < selectBox.length; i++) {
			selectBox.options[i].selected = true;
		}
	}

	function unselectAllOptions(selectBox)
	{
		for (var i = 0; i < selectBox.length; i++) {
			selectBox.options[i].selected = false;
		}
	}
	
	function selectOptionByValue(value, selectBox)
	{
		for (var i = 0; i < selectBox.length; i++) {
			if (selectBox.options[i].value == value) {
				selectBox.options[i].selected = true;
				return true;
			}
		}
		return false;
	}

