function znakiWalidacja(pkreska, pspacja, psrednik, pcyfry, plitery, papostrof, e)
{
  var key;
  if(window.event)
  {
	// for IE, e.keyCode or window.event.keyCode can be used
       key = e.keyCode;
  }
  else
	  if(e.which)
  	  {
	 	// netscape
		key = e.which;
	  }

  kreska = false;
  spacja = false;
  srednik = false;
  cyfry = false;
  literaD = false;
  literaM = false
  polZnakM = false;
  polZnakD = false;
  enter = false;
  apostrof = false;
  backspace = false;

  if ( key == 8 )
  		backspace = true;

  if ( key == 13 )
       enter = true

  if (pkreska)
  {
    if ( key == 45 )
         kreska = true;
  }

  if (pspacja)
  {
    if ( key == 32 )
         spacja = true;
  }

  if (psrednik)
  {
   if ( key == 59 )
        srednik = true;
  }

  if (papostrof)
  {
   if ( key == 39 )
       apostrof = true;
  }

  if (pcyfry)
  {
    if ( (key >= 48) && (key <= 57) )
      cyfry = true;
  }

  if (plitery)
  {
	  if ( (key == 261) || (key == 380) || (key == 378) ||
	       (key == 263) || (key == 324) || (key == 347) ||
	       (key == 322) || (key == 281) || (key == 243) )
	    polZnakM = true;
	  if ( (key == 260) || (key == 379) || (key == 377) ||
	       (key == 262) || (key == 323) || (key == 346) ||
	       (key == 321) || (key == 280) || (key == 211) )
	    polZnakD = true;
	  if ( (key >= 65) && (key <= 90) )
	    literaD = true;
  	  if ( (key >= 97) && (key <= 122) )
 	    literaM = true;
  }

if ( (!kreska) && (!spacja) && (!srednik) && (!cyfry) && (!literaD) && (!literaM) && (!polZnakM) && (!polZnakD) && (!enter) && (!apostrof) && (!backspace))
 {
	 if(window.event)
	 	e.returnValue=false;
     if(e.which)
		e.preventDefault(true);
 }
}

function slownikSwiadcz(pform, pkod, pnazwa)
{
var params = '';
var plik = '';
var fnazwa = '';
fnazwa = document.forms[pform].elements[pnazwa].value;
params = 'frm='+pform+
         '&kodPole='+pkod+
         '&nazwaPole='+pnazwa+
         '&num=1'+
         '&wartosc='+strToNum(fnazwa);
  plik = 'swiadczSzukaj.do?x=0&'+params;
  mod=window.open(plik,"mod","toolbar=0, location=0, directories=0, status=1, menubar=0, scrollbars=1, resizable=1, copyhistory=0, fullscreen=0, width=800, height=580");
  mod.window.moveTo(0,0);
}

function kolejkiSzukajHelp()
{
var params = '';
var plik = '';
var fnazwa = '';
fnazwa = document.forms[pform].elements[pnazwa].value;
params = 'frm='+pform+
         '&kodPole='+pkod+
         '&nazwaPole='+pnazwa+
         '&num=1'+
         '&wartosc='+strToNum(fnazwa);
  plik = 'swiadczSzukaj.do?x=0&'+params;
  mod=window.open(plik,"mod","toolbar=0, location=0, directories=0, status=1, menubar=0, scrollbars=1, resizable=1, copyhistory=0, fullscreen=0, width=800, height=580");
  mod.window.moveTo(0,0);
}



function slownikPersonelu(pform, pilkr, pwpsl, pnazw, pimie, pnpwz, pcomm)
{
	var params = '';
	var plik = '';
	var fnpwz = '';

	fnpwz = document.forms[pform].elements[pnpwz].value;
	params = 'frm='+pform+
			'&ilkrPole='+pilkr+
			'&wpslPole='+pwpsl+
			'&nazwPole='+pnazw+
			'&imiePole='+pimie+
			'&npwzPole='+pnpwz+
			'&commPole='+pcomm+
			'&kryterium=0'+
			'&editvar='+fnpwz;
	plik = 'personelSzukaj.do?x=0&'+params;
	mod=window.open(plik,"mod","toolbar=0, location=0, directories=0, status=1, menubar=0, scrollbars=1, resizable=1, copyhistory=0, fullscreen=0, width=740, height=350");
	mod.window.moveTo(100,50);
}

function dodajPersonel(pform, pilkr, pwpsl, pnazw, pimie, pnpwz, pcomm)
{
	var params = '';
	var plik = '';

	params = 'frm='+pform+
			'&ilkrPole='+pilkr+
			'&wpslPole='+pwpsl+
			'&nazwPole='+pnazw+
			'&imiePole='+pimie+
			'&npwzPole='+pnpwz+
			'&commPole='+pcomm;
	plik = 'personelDodaj.do?x=0&'+params;
	mod=window.open(plik,"mod","toolbar=0, location=0, directories=0, status=1, menubar=0, scrollbars=1, resizable=1, copyhistory=0, fullscreen=0, width=650, height=220");
	mod.window.moveTo(180,50);
}

function personelSzukajWalidacja(e)
{
     wg = document.forms['szukaj'].elements['kryterium'].value;
     if (wg == 0)
     {
		document.forms['szukaj'].elements['editvar'].maxLength = 20;
		znakiWalidacja(true, true, true, true, true, true, e);
     }
     else if (wg == 1)
     {
		document.forms['szukaj'].elements['editvar'].maxLength = 11;
		znakiWalidacja(false, false, false, true, false, false, e);
     }
     else if (wg == 2)
     {
		document.forms['szukaj'].elements['editvar'].maxLength = 51;
		znakiWalidacja(true, false, true, false, true, false, e);
	}
}

function slownikICD(pform, pkcds, pncds, pslow, pczy_submit)
{
	var params = '';
	var plik = '';
	var fkcds = '';

	fkcds = document.forms[pform].elements[pkcds].value;
	params = 'frm='+pform+
			'&kcdsPole='+pkcds+
			'&ncdsPole='+pncds+
			'&slow='+pslow+
			'&czy_submit='+pczy_submit+
			'&editvar='+fkcds;
	plik = 'ICDSzukaj.do?x=0&'+params;
	mod=window.open(plik,"mod","toolbar=0, location=0, directories=0, status=1, menubar=0, scrollbars=1, resizable=1, copyhistory=0, fullscreen=0, width=740, height=350");
	mod.window.moveTo(100,50);
}

function ICDSzukajWalidacja(e)
{
	document.forms['szukaj'].elements['editvar'].maxLength = 8;
	znakiWalidacja(true, true, true, true, true, true, e);
}

function rachunkiSzukajWalidacja(e)
{
	document.forms['szukaj'].elements['nrRachunku'].maxLength = 15;
	znakiWalidacja(true, true, true, true, true, true, e);
}

function przypiszAkcje(forma, akcja)
{
    document.forms[forma].action = akcja;
}

function wykonajAkcje(forma, akcja)
{
    przypiszAkcje(forma, akcja);
    document.forms[forma].submit();
}

function czyscEditVar()
{
 	document.forms['szukaj'].elements['editvar'].value = "";
}

function czyscNazw()
{
 	document.forms['szukaj'].elements['nazw'].value = "";
}

function czyPrzestepny(Year)
{
    przestepny = 0;
    if ( ((Year % 4) == 0) && ( ((Year % 100) != 0) || ((Year % 400) == 0) ) )
    {
      przestepny = 1;
    }
    return przestepny;
}

function trim(lancuch)
{
    while (lancuch.charAt(0) == " ")
	    lancuch = lancuch.substring(1,lancuch.length);
    while (lancuch.charAt(lancuch.length-1) == " ")
	    lancuch = lancuch.substring(0,lancuch.length-1);
    return lancuch;
}

function tworzTablice()
{
    for ( i = 0; i < tworzTablice.arguments.length; i++ )
      this[i] = tworzTablice.arguments[i];
}

function czyDataOK(pData)
{
    var tmpData = '';
    var rr = 0;
    var mm = 0;
    var dd = 0;
    var wynik = 0;
    var dl =0;
    var days = new tworzTablice(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    tmpData = trim(pData);
    dl = tmpData.length;

    if (dl == 0) return 0;

    if (dl == 10)
    {
	tmpData = tmpData.substring(0, 4) + tmpData.substring(5, 7) + tmpData.substring(8, 10);
	if ( !isNaN(tmpData) )
	{
	    rr = parseInt(tmpData.substring(0, 4), 10);
	    mm = parseInt(tmpData.substring(4, 6), 10);
	    dd = parseInt(tmpData.substring(6, 8), 10);
	    if ( ! ( (mm < 1) || (mm > 12) ) )
	    {
			if (dd > days[mm-1])
			{
			    if ( (mm == 2) && (czyPrzestepny(rr)) && (dd == 29) )
			    {
					wynik = 0;
			    }
			    else
			    {
					wynik = 4;
			    }
			}
			else
			{
				wynik = 0;
			}
	    }
	    else
	    {
			wynik = 3;
	    }
	}
	else
		wynik = 2;
    }
    else
    	wynik = 1;

	if ((rr <= 0) || (dd <= 0))
		return 5;

    return wynik;
}

function dateFormat(fld, dateSep, e)
{
	var sep = 0;
	var key = '';
	var i = j = 0;
	var len = len2 = 0;
	var strCheck = '0123456789';
	var aux = aux2 = '';
	var whichCode = (window.Event) ? e.which : e.keyCode;

	if ((whichCode == 13) || (whichCode == 8) || (whichCode == 0)) //enter, backspace, delete
		return true;

	key = String.fromCharCode(whichCode);
	if (strCheck.indexOf(key) == -1)
		return false;

	len = fld.value.length;
	aux = '';
	for(; i < len; i++)
		if ( strCheck.indexOf(fld.value.charAt(i))!=-1)
			aux += fld.value.charAt(i);

    if (aux.length >= 8)
       return false;

	aux += key;
	len = aux.length;

	if (len == 0)
		fld.value = '';
    aux2 = '';
    for (i = 0; i < len; i++)
    {
        aux2 += aux.charAt(i);
        if ( (i == 3) || (i == 5) )
        {
           aux2 += dateSep;
        }
    }
    fld.value = aux2;
	return false;
}

function osobySzukajWalidacja(e)
{
     wg = document.forms['szukaj'].elements['kryterium'].value;
     if (wg == 0)
     {
       document.forms['szukaj'].elements['editvar'].maxLength = 11;
       znakiWalidacja(false, false, false, true, false, false, e);
     }
     else if (wg == 1)
     {
       document.forms['szukaj'].elements['editvar'].maxLength = 51;
       znakiWalidacja(true, false, true, false, true, false, e);
     }
}

function turnusyGieldaWalidacja(e)
{
	document.forms['gielda'].elements['formLsof'].maxLength = 10;
	znakiWalidacja(false, false, false, true, false, false, e);
}

function strToNum(value) {
  var numOut = "";
  var strIn = escape(value);

  for(var i = 0; i < strIn.length; i++) {
		numOut += strIn.charCodeAt(i) - 23;
  }
  return numOut;
}

function numToStr(value) {
  var numOut = value;
  var numIn;
  var strOut = "";

  for(var i = 0; i < numOut.length; i += 2) {
	numIn = parseInt(numOut.substr(i,[2])) + 23;
	numIn = unescape('%' + numIn.toString(16));
	strOut += numIn;
  }
  return unescape(strOut);
}
