function zmiana_akcji(nowa_akcja, id_form)
{
	// nowa_akcja - wartośc, którą przypiszemy do zmiennej 'akcja'. id_form - identyfikator ID formularza 
	var form = document.getElementById(id_form);

	form.akcja.value=nowa_akcja;
}

function chg_action(nowa_akcja, id_form)
{
	// nowa_akcja - wartośc, którą przypiszemy do zmiennej 'action'. id_form - identyfikator ID formularza 
	var form = document.getElementById(id_form);

	form.action.value=nowa_akcja;
}

function wybor(login,pole)
{


	var fldout = opener.document.getElementById(pole);
	fldout.value = login;
	window.close();
	return;
}

function chgcolor(id)
{
	// na poczatek elementowi div o kolorze wyróznionym przywracamy kolor standardowy.
	// poniewaz nie wiem ktory ma, tworze tablice wszystkich elementów i na poczatek resetuje wszystkim kolor
	var divtab = document.getElementsByTagName("div");
	var lidiv = divtab.length;
	for(i=0; i < lidiv; i++){
		if(divtab[i].className != "naglowek"){
			divtab[i].style.backgroundColor = "#EEFFEE";
		}
	}

	// klikniętemu elementowi nadaję kolor wyrózniony:
	var el = document.getElementById(id);
	el.style.backgroundColor="#B0E0E6";
	aktywny=el;
} 

function licz_godz_oddo(fldname)
{
	// funkcja reaguje na zmianę jednego z pól w edycji aktywności: lgodz,lmin,godzod,godzdo i liczy godzod i godzdo tak,
	// aby zgadzały się z sumą lgodz+lmin

	var lg  = document.getElementById("lgodz");
	var lm  = document.getElementById("lmin");
	var godzod = document.getElementById("god");
	var godzdo = document.getElementById("gdo");

	if(!lg.value)
		lg.value = 0;
	if(!lm.value)
		lm.value = 0;
	if(!godzod.value)
		godzod.value = "00:00";
	if(!godzdo.value)
		godzdo.value = "00:00";

	// zamiana przecinka na kropkę w godzinach:
	lg.value = lg.value.replace(",",".");

	// zamieniamy godziny i minuty na sume minut:
	min_z_g = Math.round(lg.value * 60 + 1 * lm.value);	// minuty z godzin i minut
	min_z_czo =	godzod.value.substr(0,2)*60 + 1*godzod.value.substr(3,2);	// minuty z godzod
	min_z_czd =	godzdo.value.substr(0,2)*60 + 1*godzdo.value.substr(3,2);	// minuty z godzdo
	var sg_do = String("");
	var sm_do = String("");
	var sg_od = String("");
	var sm_od = String("");

	if(fldname == "godzod")	// obliczamy godzdo
	{
		min_z_czd = min_z_czo + min_z_g;
		g_do = Math.floor(min_z_czd / 60);
		sg_do = String(g_do);
		if(g_do < 10)
			sg_do = "0" + sg_do;
		m_do =  min_z_czd % 60;
		sm_do = String(m_do);
		if(m_do < 10)
			sm_do = "0" + sm_do;
		godzdo.value = sg_do + ":" + sm_do;
	}
	else					// obliczamy godzod
	{
		min_z_czo = min_z_czd - min_z_g;
		g_od = Math.floor(min_z_czo / 60);
		sg_od = String(g_od);
		if(g_od < 10)
			sg_od = "0" + sg_od;
		m_od =  min_z_czo % 60;
		sm_od = String(m_od);
		if(m_od < 10)
			sm_od = "0" + sm_od;
		godzod.value = sg_od + ":" + sm_od
	}

	//alert("zmiana w "+fldname+". "+godzdo.value);
}

function bhd_valid(idform)
{
	retVal = true;
	var forma = document.getElementById(idform);
	var msg = "";

	if(forma.product.value == ""){
		msg += "Brak produktu\n";
		retVal = false;
	}

/*	if(forma.version.value ==''){
		msg += "Nieokreślona wersja produktu\n";
		retVal = false;
	}

	if(forma.component.value == ''){
		msg += "Wybierz z listy moduł\n";
		retVal = false;
	}
*/
	if(forma.short_desc.value == '') {
		msg += "Zgłoszenie musi mieć nagłówek (tytuł)";
		retVal = false;
	}

	if(msg.length > 0){
		msg = "Błędnie wypełniony formularz:\n"+msg;
		alert(msg);
	}


	return retVal;
}


function kategoria_chg(kategoria)
{
	biz = new Image();
	biz.src = "rys/biz_act.jpg";
	bizout  = new Image();
	bizout.src = "rys/biz.jpg";
	tech = new Image();
	tech.src = "rys/tech_act.jpg";
	techout = new Image();
	techout.src = "rys/tech.jpg";

	var lewy = document.getElementById('lewy');
	var prawy = document.getElementById('prawy');
	var kateg_var = document.getElementById('kategoria_id');

	if(kategoria == 2)
	{
		//document.images[2].src = biz.src;
		//document.images[3].src = techout.src;
		lewy.src = biz.src;
		prawy.src = techout.src;
		kateg_var.value=2;
	} else {
		//document.images[2].src = bizout.src;
		//document.images[3].src = tech.src;
		lewy.src = bizout.src;
		prawy.src = tech.src;
		kateg_var.value=0;

	}

}

function chg_problem_clas(idresol,klasid)
{
	var resolution = document.getElementById(idresol);
	var klasa_prob = document.getElementById(klasid);

	klasa_prob.options.length = 0;
	if(resolution.value == 'FIXED' || resolution.value == 'WONTFIX' ||resolution.value == 'LATER' ||
		resolution.value=='REMIND'){
		klasa_prob.options[0] = new Option('','');
		klasa_prob.options[1] = new Option('aktualizacja/upgrade','6');
		klasa_prob.options[2] = new Option('infrastruktura','8');
		klasa_prob.options[2] = new Option('help desk','5');
		klasa_prob.options[3] = new Option('Inny','4');
		klasa_prob.options[4] = new Option('produkcja','1');
		klasa_prob.options[5] = new Option('serwis','3');
		klasa_prob.options[6] = new Option('usługi','2');
		klasa_prob.options[7] = new Option('wydajność','7');
	} else if(resolution.value == 'INVALID') {
		klasa_prob.options[0] = new Option('','');
		klasa_prob.options[1] = new Option('help desk','5');
		klasa_prob.options[2] = new Option('klient','9');
	} else if(resolution.value == 'DUPLICATE' || resolution.value == 'WORKSFORME'){
		klasa_prob.options[0] = new Option('','');
		klasa_prob.options[1] = new Option('klient','9'); 
	}


}

function winopen(adresUrl)
{
	var okno;
	okno = window.open(adresUrl,'v','');
	okno.focus();
}


function czy_etat(sel,etat_opis, etat_inp)
{
	var selval = document.getElementById(sel).value;
	var etatop = document.getElementById(etat_opis);
	var etatin = document.getElementById(etat_inp);
	if(selval == 2){
		etatop.style.display = 'inline';
		etatin.style.display = 'inline';
	} else {
		etatop.style.display = 'none';
		etatin.style.display = 'none';
	}
}

function chg_visio(wspolprac,partner_info)
{
	var wspolpracVal = document.getElementById(wspolprac).value;
	var infoSpan = document.getElementById(partner_info);
	if(wspolpracVal == 1){
		infoSpan.style.visibility='visible';
	} else {
		infoSpan.style.visibility='hidden';
	}

}

function zamknij_odswiez()
{
	var zgloszenie = window.opener;
	window.close();
	zgloszenie.focus();
	zgloszenie.location.reload();
}

function zamknij()
{
	var zgloszenie = window.opener;
	window.close();
	zgloszenie.focus();
	//zgloszenie.location.reload();
}

function edit_bp(tabela,ident,nazwapola,wartosc,typ,dlug,tryb,opispola)
{
	var pole = document.getElementById(nazwapola+ident);
	wartosc = spec_chars_esc(pole.innerHTML);
	//wartosc = spec_chars_esc(wartosc);
	var skryptlnk = 'ed_bp.php?tab='+tabela+'&id='+ident+'&fname='+nazwapola+'&val='+wartosc+'&typ='+typ+'&len='+dlug+'&tryb='+tryb+'&opispola='+opispola;
	var wbp = window.open(skryptlnk,'w','toolbar=no,menubar=no,location=no,personalbar=no,scrollbars=no,directories=no,status=no,resizable=yes,width=600,height=250, top=50, left=50');
	wbp.focus();

}

function spec_chars_esc(tekst)
{
//	alert("spec_chars:"+tekst);
	tekst = tekst.replace(/#/g,'%23');
	tekst = tekst.replace(/\+/g,"%2B");
	tekst = tekst.replace(/\n/g,"%0A");
	tekst = tekst.replace(/\'/g,"%27");
	tekst = tekst.replace(/\"/g,"%22");
	tekst = tekst.replace(/\&/g,"%26");
	tekst = tekst.replace(/\\/g,"%5C");
	tekst = tekst.replace(/\<br\>/g,"\%0A");
	tekst = tekst.replace(/\<BR\>/g,"\%0A");
//	tekst = tekst.replace(/^&nbsp;/,"");
	//return escape(tekst);
	return tekst;
}

function spec_chars_unesc(tekst)
{
	//tekst = tekst.replace(re,'\\\'');
	if(!tekst || tekst == ' ')
		tekst = '&nbsp;';
	else {
		tekst = tekst.replace(/\%2B/g,"+");
		tekst = tekst.replace(/\%23/g,"#");
		tekst = tekst.replace(/\%0A/g,"\n");
		tekst = tekst.replace(/\%22/g,'"');
		tekst = tekst.replace(/\%27/g,"\'");
		tekst = tekst.replace(/\%26/g,"\@");
		tekst = tekst.replace(/\%5C/g,"\\\\");
		tekst = tekst.replace(/\\/g,"\\\\");
		tekst = tekst.replace(/\'/g,'\\\'');

		//tekst = unescape(tekst);
	}
	//alert("blada dupa");
	//alert("unesc:"+tekst+".");
	return tekst; 
}

function modlink()
{
	var tab_a = $('a');
	alert("name="+tab_a[3].name);
	alert("tekst="+tab_a[3].text);
}

function modInput(idSlowSel,idFld)
{
	var slowSel = document.getElementById(idSlowSel);
	var slowVal = slowSel.options[slowSel.selectedIndex].value;
	var fld     = document.getElementById(idFld);

	fld.value=slowVal;
}

function pokaz_opis(bug_id)
{
	var skryptlnk = 'pokaz_opis.php?bug_id='+bug_id;
	var pow = window.open(skryptlnk,'w','toolbar=no,menubar=no,location=no,personalbar=no,scrollbars=yes,directories=no,status=no,resizable=yes,width=600,height=600, top=80, left=80');
	pow.focus();
}
   
function bp_hlp()
{
	alert("Aby edytowac zawartośc komórki, nalezy kliknąć w zawarty\n"+
			"w niej napis lub w obszar pola, w którym wskaźnik przybiera\n"+
			"postać wskazujacej 'rączki'\n "+
			"W przypadku aktywnych nagłówków tabeli należy wykonać dwuklik");
} 

function pageleft(idlicz,nrstr,lstron)
{
	var strona = nrstr - 1;
	if(strona == 0)
		strona = 1;
	str = document.getElementById(idlicz);
	str.value=strona;
}

function pageright(idlicz,nrstr,lstron)
{
	var strona = nrstr + 1;
	if(strona > lstron)
		strona = lstron;
	str = document.getElementById(idlicz);
	str.value=strona;
}

function switchvisi(el_id,class_id)
{
	var el = document.getElementById(el_id);
	if(el.style.visibility == 'hidden'){
		el.style.visibility='visible';
	} else {
		el.style.visibility='hidden';
	}
	// zmiana widoczności elementów klasy class_id:
	var class_visi = $("."+class_id).css("display");
	if(class_visi == 'none')
		$('.'+class_id).css('display','inline');
	else
		$('.'+class_id).css('display','none');

}

function switchdisp(class_id,selectid)
{
	// zmiana widoczności elementów klasy class_id:
	var statussel = document.getElementById(selectid);
	var status = statussel.options[statussel.selectedIndex].value;
//	var class_visi = $("."+class_id).css("display");
	if(status !=  'ZAKONCZONE')
		$('.'+class_id).css('display','inline');
	else
		$('.'+class_id).css('display','none');

}

function check_all(chk_id,class_id)
{
	// no i jak to obsluzyc za pomocą jquery?
	var czyczek = document.getElementById(chk_id);
	if(czyczek.checked == true){
		//alert('zaznacz wszystkie checkboxy');
		$('.'+class_id).attr('checked',true);
	} else {
		//alert('odznacz wszystko');
		$('.'+class_id).attr('checked',false);
	}
}

function zmien_kod_OS(id_waznosc,id_rodzaj,id_kod_bledu)
{
//	var waznosc = f.waznosc.options[f.waznosc.selectedIndex].value;			
//	var rodzaj  = f.bug_severity.options[f.bug_severity.selectedIndex].value;
	var waznoscSel = document.getElementById(id_waznosc);
	var waznosc    = waznoscSel.options[waznoscSel.selectedIndex].value;
	var rodzajSel = document.getElementById(id_rodzaj);
	var rodzaj    = rodzajSel.options[rodzajSel.selectedIndex].value;
	var kod_bledu = document.getElementById(id_kod_bledu);
	var i;

	if(rodzaj == 'błąd'){
		waznoscSel.options.length = 0;
		waznoscSel.options[0] = new Option('blokujący','blokujący');
		waznoscSel.options[1] = new Option('krytyczny','krytyczny');
		waznoscSel.options[2] = new Option('ważny','ważny');
		waznoscSel.options[3] = new Option('normalny','normalny');
		waznoscSel.options[4] = new Option('mało ważny','mało ważny');
		waznoscSel.options[5] = new Option('trywialny','trywialny');
		for(i = 0; i < 6; i++)
			if(waznoscSel.options[i].value == waznosc){
				waznoscSel.selectedIndex = i;
				break;
			}
	} else {
		waznoscSel.options.length = 0;
		waznoscSel.options[0] = new Option('normalny','normalny');
		waznosc = 'normalny';
	}

	switch(waznosc){
		case "blokujący":
		case "krytyczny":
			kod_bledu.value = "OS krytyczny - 1";
			break;
		case "ważny" :
		case "mało ważny" :
		case "trywialny" :
			kod_bledu.value = "OS normalny - 2";
			break;
		case "normalny" :
			if(rodzaj == 'błąd')
				kod_bledu.value = "OS normalny - 2";
			else if(rodzaj == 'upgrade' || rodzaj == 'aktualizacja' || rodzaj == 'audyt')
				kod_bledu.value = "usługa dodatkowa OS";
			else if(rodzaj == 'rozszerzenie' || rodzaj == 'zamówienie' || rodzaj == 'zamówienie wew.' || rodzaj == 'wydajność' || rodzaj == 'uwagi')
				kod_bledu.value = "nie dotyczy umów OS";
			break;
		default :
			kod_bledu.value = "nie dotyczy umów OS";
			break;
	}

}


