
function ukryj_pokaz(a,b) {
	document.getElementById('kalendarz'+a).className='hide';
	document.getElementById('kalendarz'+b).className='show';
}

function addHandler(gdzie,rodzaj,funkcja) {
  if (gdzie.addEventListener)
	 gdzie.addEventListener(rodzaj, funkcja, false); // FF, Opera
  else if (gdzie.attachEvent)
	 gdzie.attachEvent("on"+rodzaj, funkcja);  // IE
}
  

function Load() {
	var i,t;
	if (document.getElementById) {
		document.getElementById("szukaj").onclick=function(){this.form.submit();return false;};
		
		var as=document.getElementsByTagName('a');
		for(i=0;i<as.length;i++) 
			if (as[i].getAttribute('rel')=='external')
				as[i].target='_blank';
	}
}

addHandler(window,'load',Load);


function trim(s) {
	return s.replace(/^s+|s+$/g,'');
}



function fm_ext_godzina(ctl) {
	var minuta=document.getElementById('fm_ext_minuta');
	if (ctl.selectedIndex==0)
		minuta.style.visibility="hidden";
	else
		minuta.style.visibility="visible";
	ctl.options[0].text='brak';
}


function fm_skopiuj() {
	var dz=document.getElementById('data_zakonczenia');
	var dr=document.getElementById('data_rozpoczecia');
	dz=dz.parentNode.getElementsByTagName('select');
	dr=dr.parentNode.getElementsByTagName('select');
	for (var i=0; i<3; i++) {
		dz[i].selectedIndex = dr[i].selectedIndex;
	}
	dz.value=dr.value;
}


var submitted=false;

function fm_submit(forma,url) {

	if (submitted) 
		return false;
	
	var fieldz=forma.getElementsByTagName('div');
	var i;
	var tmp;
	var ok=1;
	var first=null;
	var errorMsgs=['',
		'To pole nie może być puste',
		'Nieprawidłowa data',
		'Data zakończenia wcześniejsza niż data rozpoczęcia',
		'Data zakończenia znajduje się w przeszłości',
		'Wybierz kategorię'];
	var Date1=null;
	
	for(i=0;i<fieldz.length;i++) {
		var field=fieldz[i];
		if (field.className.indexOf('fm_field')==-1)
			continue;
			
		tmp=field.getElementsByTagName('select');
		if (tmp.length==0)
			tmp=field.getElementsByTagName('textarea');
		if (tmp.length==0)
			tmp=field.getElementsByTagName('input');
		if (tmp.length==0)
			continue;
		var input=tmp[0];
		
		var errorSpan=null;
		tmp=field.getElementsByTagName('span');
		if (tmp.length > 0) 
			if (tmp[0].className=='fm_errmsg') 
				errorSpan=tmp[0];
		
		var errorSpanType=0;
		var newErrorType=0;

		if (errorSpan) {
			tmp=errorSpan.innerHTML;
			for (var j=1;j<errorMsgs.length;j++) {
				if (tmp.indexOf(errorMsgs[j]) > -1) {
					errorSpanType=j;
					break;
				}
			}
			if (errorSpanType==0) {
				errorSpanType=-1;
				newErrorType=-1;
			}
		}
		
		if (field.className.indexOf('fm_godzina')>-1) {
			var selectz=field.getElementsByTagName('select');
			var godzina=selectz[0].options[selectz[0].selectedIndex].value;
			var minuta=selectz[1].options[selectz[1].selectedIndex].text;
			var hid=field.getElementsByTagName('input');
			hid[0].value=godzina+'.'+minuta;
		}
		else if  (field.className.indexOf('fm_data')>-1) {
			var dni_w_miesiacach = [0,31,28,31,30,31,30,31,31,30,31,30,31];
			var selectz=field.getElementsByTagName('select');
			var dzien=selectz[0].options[selectz[0].selectedIndex].text;
			var miesiac=selectz[1].options[selectz[1].selectedIndex].value;
			var rok=selectz[2].options[selectz[2].selectedIndex].text;
			var hid=field.getElementsByTagName('input');
			hid[0].value=rok+'-'+miesiac+'-'+dzien;
			
			if (dzien > dni_w_miesiacach[miesiac] && (miesiac!=2 || dzien!=29 || rok%4>0)) {
				ok=0;
				newErrorType=2;
			}
			else {
				var Date2=new Date(rok,miesiac,dzien);
				if (!Date1) {
					Date1=new Date();
					Date1.setTime(Date2.getTime());
				}
				else {
					if (Date2.getTime() < new Date().getTime()) {
						newErrorType=4;
						ok=0;
					}
					if (Date1.getTime() > Date2.getTime()) {
						newErrorType=3;
						ok=0;
					}
				}
			}
			
		}
		else if  (input && input.id=='kategoria') {
			if (input.selectedIndex==0) {
				ok=0;
				if (!first)
				first=input;
				newErrorType=5;
			}
			else {
				if (errorSpanType==5) {
					newErrorType=0;
				}
			}
		}
		
		else {
			if (field.className.indexOf('fm_wymagane')>-1) {
				if (trim(input.value)=='') {
					ok=0;
					if (!first)
					first=input;
					newErrorType=1;
				}
				else {
					if (errorSpanType==1) {
						newErrorType=0;
					}
				}
			}
		}
		
		if (errorSpanType != newErrorType) {
			if (!errorSpan) {
				errorSpan=document.createElement('span');
				errorSpan.className='fm_errmsg';
				field.insertBefore(errorSpan,input);
				if (field.className.indexOf(' fm_error')==-1)
					field.className+=' fm_error';
			}
			if (newErrorType > 0) {
				errorSpan.innerHTML = errorMsgs[newErrorType];
				if (!first)
					first=input;
				
			}
			else if (newErrorType==0) {
				field.removeChild(errorSpan);
				field.className=field.className.replace(/ fm_error/,'');
			}
			
		}
	}
		
	if (ok==1) {
		forma.action=url;
		submitted=true;
		forma.submit();
	}
	else {
		if (first)
			first.focus();
	}
	return false;
}


function errorForm() {
	var ef=document.getElementById('errorform');
	var el=document.getElementById('errorlink');
	ef.className='show';
	el.className='hide';		
	return false;
}

function sf(f,url) {
	if (!submitted) {
		f.action=url;
		submitted=true;
		f.submit();
	}
	return false;
}
