/**
 * Otwiera okno i wy?wietla w nim podan? stron?
 */
//------------------------------------------------------------------------------------------------- 
function OpenModalWindow(URL,windowName) 
{
  var result;
  
  lvProps = 'height=500,width=720,status=no,menubar=no,toolbar=no,resizable=yes,scrollbars=yes';
  lvWin = window.open(URL,windowName,lvProps);
  if (parseInt(navigator.appVersion) >= 4) lvWin.focus();
  //openWindow(self, URL, windowName, {width:720,height:500}, true, void 0, result);
}
//-------------------------------------------------------------------------------------------------
function OpenWindowEx(pmUrl,pmName,pmParams) 
{
  win = window.open(pmUrl,pmName,pmParams);
  if (parseInt(navigator.appVersion) >= 4) win.focus(); 
}
//-------------------------------------------------------------------------------------------------
function OpenWindowMax(pmUrl,pmName) 
{
  if (OpenWindowMax.arguments.length == 3)
    lvHeight = OpenWindowMax.arguments[2] * screen.height;
  else
    lvHeight = 0.75 * screen.height;
  
  lvWidth = 0.95 * screen.width;
  //lvHeight = 0.75 * screen.height;
  lvLeft = (screen.width - lvWidth) / 2;
  lvTop = 10;
  lvProps = 'height=' + lvHeight + ',width=' + lvWidth + ',top=' + lvTop +',left=' + lvLeft + ',status=yes,menubar=yes,toolbar=yes,resizable=yes,scrollbars=yes';
  lvWin = window.open(pmUrl,pmName,lvProps);
  if (parseInt(navigator.appVersion) >= 4) lvWin.focus();
}
//-------------------------------------------------------------------------------------------------
function OpenMainWindow(pmUrl,pmName) 
{
  lvWidth = screen.width;
  lvHeight = screen.height;
  lvProps = 'height=' + lvHeight + ',width=' + lvWidth + ',top=0,left=0,status=yes,menubar=yes,toolbar=yes,resizable=yes,scrollbars=yes';
  lvWin = window.open(pmUrl,pmName,lvProps);
  if (parseInt(navigator.appVersion) >= 4) lvWin.focus();
}
//-------------------------------------------------------------------------------------------------
function OpenWindowPrint(pmUrl,pmName) 
{
  lvWidth = 0.95 * screen.width;
  lvHeight = 0.75 * screen.height;
  lvLeft = (screen.width - lvWidth) / 2;
  lvTop = 10;
  lvProps = 'height=' + lvHeight + ',width=' + lvWidth + ',top=' + lvTop +',left=' + lvLeft + ',status=yes,menubar=yes,toolbar=yes,resizable=yes,scrollbars=yes';
  lvWin = window.open(pmUrl,pmName,lvProps);
  if (parseInt(navigator.appVersion) >= 4) lvWin.focus();
  lvWin.print();
}
//-------------------------------------------------------------------------------------------------
function OpenWindowWskazowkiTestu(pmUrl) 
{
  lvWidth = 791;
  lvHeight = 385;
  lvLeft = (screen.width - lvWidth) / 2;
  lvTop = (screen.height - lvHeight) / 2;
  lvProps = 'height=' + lvHeight + ',width=' + lvWidth + ',top=' + lvTop +',left=' + lvLeft + ',status=no,menubar=no,toolbar=no,resizable=no,scrollbars=yes';
  lvWin = window.open(pmUrl,'_blank',lvProps);
  if (parseInt(navigator.appVersion) >= 4) lvWin.focus();
}
//-------------------------------------------------------------------------------------------------
function OpenWindowDict(pmUrl) 
{
  lvWidth = 0.60 * screen.width;
  lvHeight = 0.50 * screen.height;
  lvLeft = (screen.width - lvWidth) / 2;
  lvTop = (screen.height - lvHeight) / 2;
  lvProps = 'height=' + lvHeight + ',width=' + lvWidth + ',top=' + lvTop +',left=' + lvLeft + ',status=no,menubar=no,toolbar=no,resizable=yes,scrollbars=yes';
  lvWin = window.open(pmUrl,'_blank',lvProps);
  if (parseInt(navigator.appVersion) >= 4) lvWin.focus();
}
//-------------------------------------------------------------------------------------------------
function OpenWindowModul4(pmURL) 
{
  lvWidth = 800;
  lvHeight = 575;
  lvLeft = (screen.width - lvWidth) / 2;
  lvTop = (screen.height - lvHeight) / 2;
  lvProps = 'height=' + lvHeight + ',width=' + lvWidth + ',top=' + lvTop +',left=' + lvLeft + ',status=no,menubar=no,toolbar=no,resizable=no,scrollbars=no';
  lvWin = window.open(pmURL,'_Modul4',lvProps);
  if (parseInt(navigator.appVersion) >= 4) lvWin.focus();
}
//-------------------------------------------------------------------------------------------------
function OpenWindowHint(pmURL) 
{
  lvWidth = 400;
  lvHeight = 230;
  lvLeft = (screen.width - lvWidth) / 2;
  lvTop = (screen.height - lvHeight) / 2;
  lvProps = 'height=' + lvHeight + ',width=' + lvWidth + ',top=' + lvTop +',left=' + lvLeft + ',status=no,menubar=no,toolbar=no,resizable=no,scrollbars=no';
  lvWin = window.open(pmURL,'Hint',lvProps);
  if (parseInt(navigator.appVersion) >= 4) lvWin.focus();
}
//-------------------------------------------------------------------------------------------------
function OpenWindowModul4Hint1(pmURL) 
{
  lvWidth = 500;
  lvHeight = 150;
  lvLeft = (screen.width - lvWidth) / 2;
  lvTop = (screen.height - lvHeight) / 2;
  lvProps = 'height=' + lvHeight + ',width=' + lvWidth + ',top=' + lvTop +',left=' + lvLeft + ',status=no,menubar=no,toolbar=no,resizable=no,scrollbars=no';
  lvWin = window.open(pmURL,'_Modul4_Hint',lvProps);
  if (parseInt(navigator.appVersion) >= 4) lvWin.focus();
}
//-------------------------------------------------------------------------------------------------
function selectDateOperator(form, combo, fieldName)
{
  if (combo.value=='ISN') 
  { 
    form.elements[fieldName + 'V'].readOnly=true; 
    form.elements[fieldName + 'V'].value=''; 
    form.elements[fieldName + 'V'].className='selekcja_data_szara';
    form.elements[fieldName + 'T'].readOnly=true; 
    form.elements[fieldName + 'T'].value=''; 
    form.elements[fieldName + 'T'].className='selekcja_data_szara';
  } 
  else if (combo.value=='BOU') 
  {
  	form.elements[fieldName + 'V'].readOnly=false; 
    form.elements[fieldName + 'V'].className='selekcja_data_normalna';
    form.elements[fieldName + 'T'].readOnly=false; 
    form.elements[fieldName + 'T'].className='selekcja_data_normalna';
  }
  else
  { 
  	form.elements[fieldName + 'V'].readOnly=false; 
    form.elements[fieldName + 'V'].className='selekcja_data_normalna';
    form.elements[fieldName + 'T'].value=''; 
    form.elements[fieldName + 'T'].readOnly=true; 
    form.elements[fieldName + 'T'].className='selekcja_data_szara';
  }
}
//-------------------------------------------------------------------------------------------------
function selectOperator(form, combo, fieldName)
{
  if (combo.value=='ISN') 
  { 
    form.elements[fieldName + 'V'].readOnly=true; 
    form.elements[fieldName + 'V'].value=''; 
    form.elements[fieldName + 'V'].className='selekcja_tekst_szary';
  } 
  else
  { 
  	form.elements[fieldName + 'V'].readOnly=false; 
    form.elements[fieldName + 'V'].className='selekcja_tekst_normalny';
  }
}

function getSelectedRadio(buttonGroup) 
{ 
  if (buttonGroup[0]) 
  { 
    for (var i=0; i<buttonGroup.length; i++) 
    {
	  if (buttonGroup[i].checked) 
		return i;
	}
  } 
  else 
  {
    if (buttonGroup.checked) 
     return 0; 
  } 
  return -1; 
}

function getSelectedRadioValue(buttonGroup) 
{
  var i = getSelectedRadio(buttonGroup);
  
  if (i == -1) 
  {
	return "";
  } 
  else 
  {
	if (buttonGroup[i]) 
	{ 
	  return buttonGroup[i].value;
	} 
	else 
	{ 
	  return buttonGroup.value; 
	} 
  }
}

/*function setDateReadOnly(Id, readOnly)
{
	if (readOnly == true)
		eval( Id + "=true");
	else
		eval(Id + "=false");
}*/

function changeComaToDot(field)
{
	var lvKwota = field.value;
	
	lvKwota = lvKwota.replace(',','.');			
	field.value = lvKwota;
}

function setRequired(id, required)
{
  if (required)
    document.getElementById(id + "_label").className = 'etykieta_pola_wymaganego';
  else
    document.getElementById(id + "_label").className = 'etykieta';
}  

function check(checkbox, property, positiveValue, negativeValue)
{
  if (checkbox.checked)
    document.forms[0].elements[property].value=positiveValue;
  else document.forms[0].elements[property].value=negativeValue;
}

	function parseInteger (pmLiczba)
	{
		var lvIndeks = 0;
		for (i = 0; i < pmLiczba.length; i++)
		{
			if (pmLiczba.length == 2 && pmLiczba.charAt(i) == "0" && pmLiczba.charAt(i+1) == "0")
				return 0;
				
			if (pmLiczba.charAt(i) != "0") break;
			if (pmLiczba.charAt(i) == "0") lvIndeks++;
		}
		return parseInt(pmLiczba.substr(lvIndeks, pmLiczba.length - lvIndeks));
	}

	function ustawDateUr (pmElement)
	{
    	var lvWiek = new Array(1900, 1900, 2000, 2000, 2100, 2100, 2200, 2200, 1800, 1800);
    	var lvRoznica = new Array (0, 0, 20, 20, 40, 40, 60, 60, 80, 80);
    	var lvPESEL = document.getElementById("Pesel" + pmElement).value;
    	if (lvPESEL != null && lvPESEL.length >= 6)
    	{
    		//okre?lenie indeksu dla tablicy z wiekiem oraz ró?nic?: pozycja 3 
    		var lvIndeks = parseInt(lvPESEL.substr(2,1));
    		//okre?lenie miesi?ca urodzenia: pozycja 3-4 - róznica 
	    	var lvMiesiac = parseInteger(lvPESEL.substr(2,2)) - lvRoznica[lvIndeks];
	    	//okre?lenie roku urodzenia: wiek + pozycja 1-2
	    	var lvRok = lvWiek[lvIndeks] + parseInteger(lvPESEL.substr(0,2));
	    	//okre?lenie dnia urodzenia: pozycja 5-6
	    	var lvDzien = parseInteger(lvPESEL.substr(4,2));
	  		//ustawienie daty urodzenia  	
	    	if (lvMiesiac < 10) lvMiesiac = "0" + lvMiesiac;
	    	if (lvDzien < 10) lvDzien = "0" + lvDzien;
	    	document.getElementById("DataUr" + pmElement).value = lvDzien + "-" + lvMiesiac + "-" + lvRok;
	    }
	}
	
	function ustawPlec (pmElement)
	{
    	var lvPESEL = document.getElementById("Pesel" + pmElement).value;
    	if (lvPESEL != null && lvPESEL.length >= 10)
    	{
    	 	//okre?lenie p?ci: pozycja 10
    		var lvInfoPlec = parseInt(lvPESEL.substr(9,1));
    		if ((lvInfoPlec % 2) != 0)     		
    			document.getElementById("Plec" + pmElement).value = "M";
    		else
    			document.getElementById("Plec" + pmElement).value = "K";    		
    	}
	}

	function replaceElement(pmId, pmElement, pmChar)
	{
		lvValue = document.getElementById(pmId).value;

		lvFirst = lvValue.substring(0, pmElement);
		lvSecond = lvValue.substring(pmElement + 1, lvValue.length);	
		lvValue = lvFirst.concat(pmChar, lvSecond);

		return lvValue;
	}
	
	function parseStringToDate(pmDateString)
	{
		var lvDateSplit = pmDateString.split("-");
		if (lvDateSplit != null && lvDateSplit.length == 3)
		{
			var lvDate = new Date(lvDateSplit[2], lvDateSplit[1] - 1, lvDateSplit[0]); //miesiace sa tu liczone od zera

			if (lvDate.valueOf() + "" == "NaN")  return "";
			return lvDate;
			
		}
			
		return "";
	}
  
  
  	// Zamienia wszystkie wyst?pienia src w str na dest
	function replaceAll(str, src, dest)
	{
	  var srchNdx = 0;  
	  var newStr = "";  
	  while (str.indexOf(src,srchNdx) != -1) 
	  {
	    newStr += str.substring(srchNdx,str.indexOf(src,srchNdx));
	    newStr += dest;
	    srchNdx = (str.indexOf(src,srchNdx) + src.length);     
	  }
	  newStr += str.substring(srchNdx,str.length); 	      

	  return newStr;
	}



   //koduje stringa tak aby zamienic wszystkie znaki specjalne na "kody procentowe"
   //string moze nastepnie byc przeslany requestem np. do servletu
	function urlEncode(str)
	{
	  str = replaceAll(str, '%', '%25'); 
	  
	  str = replaceAll(str, ' ', '%20');
	  str = replaceAll(str, '!', '%21');
	  str = replaceAll(str, '"', '%22');
 	  str = replaceAll(str, '#', '%23');	  
	  str = replaceAll(str, '$', '%24');
	  
	  str = replaceAll(str, '&', '%26');
	  str = replaceAll(str, '\'', '%27');
 	  str = replaceAll(str, '(', '%28');	  
	  str = replaceAll(str, ')', '%29');
	  str = replaceAll(str, '*', '%2A');
	  str = replaceAll(str, '+', '%2B');
	  str = replaceAll(str, ',', '%2C');
 	  str = replaceAll(str, '-', '%2D');	  
	  str = replaceAll(str, '.', '%2E');
	  str = replaceAll(str, '/', '%2F');
	  str = replaceAll(str, ':', '%3A');
	  str = replaceAll(str, ';', '%3B');
 	  str = replaceAll(str, '<', '%3C');	  
	  str = replaceAll(str, '=', '%3D');
	  str = replaceAll(str, '>', '%3E');
	  str = replaceAll(str, '?', '%3F');
	  str = replaceAll(str, '@', '%40');

	  str = replaceAll(str, '[', '%5B');
	  str = replaceAll(str, '\\', '%5C');
	  str = replaceAll(str, ']', '%5D');
	  str = replaceAll(str, '^', '%5E');
	  str = replaceAll(str, '_', '%5F');
	  str = replaceAll(str, '`', '%60');
	  
  	  str = replaceAll(str, '{', '%7B');
  	  str = replaceAll(str, '|', '%7C');
  	  str = replaceAll(str, '}', '%7D');
	  str = replaceAll(str, '~', '%7E');
	  	 
      str = replaceAll(str, "\r", "%0D");
      str = replaceAll(str, "\n", "%0A");	 

	  return str; 	  	  	  
	}
	
	/* funkcja ustawia klas? CSS dla elementu (tylko wtedy je?li kontrolka nie jest aktualnie po b??dzie walidacji) */
	function setClassName(pmElementName, pmClassName)
	{
	  if (document.getElementById(pmElementName).className != 'WalidacjaTwarda')
	    document.getElementById(pmElementName).className = pmClassName;
	}
	
	
	function DochZalacz (pmElement)
  {
   if (document.getElementById("CzyDochZalacz").checked == false)
   {
     document.getElementById("DochRoczRodz").disabled=true;
     document.getElementById("dochUzysk").disabled=false;
   }
   else
   {
     document.getElementById("dochUzysk").disabled=true;
     document.getElementById("DochRoczRodz").disabled=false;
   }
  
  }    