/* műszaknaptá naptár funkciók - MZ */
getElementsByName = function(name){ 
	var out = []; 
	function getElementsByNameDelegate(elem, eName, results){ 
		if(elem.name && elem.name == eName) results.push(elem); 
			for(var i=0; i<elem.childNodes.length;i++){
				getElementsByNameDelegate(elem.childNodes[i], eName, results); 
			}
		} 
		getElementsByNameDelegate(document, name, out); 
		return out; 
	}
	
function setStyles(element, styles){
	for(var s in styles) {
		element.style[s] = styles[s];
	}
}
	
function checkCalDay(element){
	var color = '#8599e3';
	switch(element.classList[1]){
		case 'vasarnap': color="#6cc3cb"; break; 
		case 'szombat': color="#bee6e9"; break; 
	}
	setStyles(element, { backgroundColor: color });
	
	var kod=$('muszak_kod').value;
	element.firstElementChild.value=kod;
	element.lastElementChild.innerHTML=kod;
}
	
function resetCalDay(element){
	var color = '';
	switch(element.classList[1]){
		case 'vasarnap': color="#009c4f"; break; 
		case 'szombat': color="#d3ebd6"; break; 
	}
	setStyles(element, { backgroundColor: color });
	element.firstElementChild.value='';
	element.lastElementChild.innerHTML='';
}

function checkYear(){
	if($('aktev').checked){
		for(i=1;i<13;i++){
			$('ho'+i).checked=true;
		}
	}else{
		for(i=1;i<13;i++){
			$('ho'+i).checked=false;
		}
	}
}

function checkAllDays(){
	if($('alldays').checked){
		$('weekdays').checked=true;
		$('weekends').checked=true;
	}else{
		$('weekdays').checked=false;
		$('weekends').checked=false;
	}
	checkWeekDays();
	checkWeekEnds();
}

function checkWeekDays(){
	var napok=new Array('h', 'k', 's', 'c', 'p');
	var weekdays=Combine(napok);
	if($('weekdays').checked){
		//calendar
		for(i=1;i<weekdays.length;i++){
		//	alert(weekdays[i]);
			checkCalDay(weekdays[i]);
		}
		//checkbox
		for(j=0;j<napok.length;j++){
			$(napok[j]).checked=true;
		}
	}else{
		//calendar
		for(i=1;i<weekdays.length;i++){
			resetCalDay(weekdays[i]);
		}
		//checkbox
		for(j=0;j<napok.length;j++){
			$(napok[j]).checked=false;
		}
	}
}
	
function checkWeekEnds(){
	var napok=new Array('sz', 'v');
	var weekends=Combine(napok);
	if($('weekends').checked){
		//alert(weekends);
		//calendar
		for(i=1;i<weekends.length;i++){
			checkCalDay(weekends[i]);
		}
		//checkbox
		for(j=0;j<napok.length;j++){
			$(napok[j]).checked=true;
		}
	}else{
		//calendar
		for(i=1;i<weekends.length;i++){
			resetCalDay(weekends[i]);
		}
		//checkbox
		for(j=0;j<napok.length;j++){
			$(napok[j]).checked=false;
		}
	}
}
	
function checkDay(day){
	var days=Combine(day);
	//alert(days);
	if($(day).checked){
		for(i=0;i<days.length;i++){
			checkCalDay(days[i]);
		}
	}else{
		for(i=0;i<days.length;i++){
			resetCalDay(days[i]);
		}
	}		
}

function checkOneDay(day){
	if(day.firstElementChild.value==''){
		checkCalDay(day);
	}else{
		resetCalDay(day);
	}
}

function checkMonth(){
	var hon=new Array();
	for(h=1;h<=12;h++){
		if ($('ho'+h).checked==true){
			hon.push(h);
		}
	}
	return hon;
}
		
function Combine(t){
	var ary=[];
	var honapok = checkMonth();
	//alert(honapok);
	if(Prototype.Browser.IE){ //így kívülről nem hívható, viszont nem kell a ciklusban iterációnként figyelni a böngit
		function getReachElement(){
			var x=getElementsByName(honapok[h]+t[i]);//saját IE függvény
			return x;
		}
	}else{
		function getReachElement(){
			var x=document.getElementsByName(honapok[h]+t[i]);
			return x;
		}
	}
	for(i=0;i<t.length;i++){
		for(h=0;h<=honapok.length;h++){
			var x=getReachElement(honapok[h]+t[i]);//saját IE függvény
			for (var zxc0=0;zxc0<x.length;zxc0++){
				ary.push(x[zxc0]);
			}
		}
	}
	return ary;
}

function getCheckedDay(){ //egész évben
	var napok=new Array('h', 'k', 's', 'c', 'p', 'sz', 'v');
	var cdays=Combine(napok);
	//alert(cdays.length);
	for(i=1;i<cdays.length;i++){
		if(cdays[i].firstElementChild.value!=""){
		//szűkítás a bejelöltekre
		checkCalDay(cdays[i]);
		}
	}
}
