//-------------------------------------------------------------------------------------------------

function suma_cyfr( ii ) {
//  alert( (ii % 10) + Math.floor(ii/10) );
  return  (ii % 10) + Math.floor(ii/10);
}

function asciiCodeOf(znak) {
var A   = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    return  A.indexOf(znak);
} //fun codeOf()

function verifyNumber() {		// copyright R.J.żyłła 2000-2006 
//  alert( verifyNumber.arguments[0] );
var  rodzajNum =verifyNumber.arguments[0];
var  tempStr   =verifyNumber.arguments[1];

  if (rodzajNum != 7)
	if (rodzajNum!=-1)
	     { return verifyPESEL( rodzajNum,tempStr ); }
	else { 
		//document.forms[0].wynik.value = 'Niewybrany rodzaj numeru. Brak danych' 
		alert('Niewybrany rodzaj numeru. Brak danych');
	}
  if (rodzajNum == 7) {  // alert('verifyIBAN');
	return verifyIBAN( tempStr );}
  return false;
}

function  DatawPeselu( tempStr ) {
var  century = new Array (1900,2000,2100,2200,1800);
var     dwm  = new Array (0,31,28,31,30,31,30,31,31,30,31,30,31,0);
	data = tempStr.substring(0,6);
        dd   = parseInt(data.substring(4,6),10);  // od do
        cc   = parseInt(data.substring(2,4),10);
        bb   = parseInt(data.substring(0,2),10);
        mm   = cc % 20;    
	rr   = century[Math.floor(cc/20)] + bb;
	if(((rr%4==0)&&(rr%100!=0))||(rr%400==0)) dwm[2]=29;
        temp = '';
        if ( mm<1 || mm>12 || dd<1 || dd>dwm[mm] )
           temp = '   błędna data: '+dd+'.'+mm+'.'+rr;
	return temp;
}

function trzyLitery( tempStr ) {
var litery = true;
    for(i=0;i<2;i++) {
	znak = tempStr.charAt(i); 	//  alert( znak );
	litery = litery && ((znak >='A') && (znak <='Z'));
    }
    return litery; // 3 litery na poczatku
} // fun trzyLitery

function verifyPESEL() {		// copyright R.J.żyłła 2000-2007 
//  alert( verifyPESEL.arguments[0] );
var  rodzajNum =verifyPESEL.arguments[0];
var  tempStr   =verifyPESEL.arguments[1];

var  nazwy = new Array ('PESEL','REGON','NIP','BANK','ISBN','CCARD',
			'IACS','IBAN','DowOsob','NrLekarza','IMEI');
// alert( nazwy[ rodzajNum ] );

var  dlug  = new Array  ( 11, 9,10, 8,10,16,12,28, 9, 7,15 );
var  mody  = new Array  ( 10,11,11,10,11,10,10,97,10,11,10 );
var  wagi  = new Array 
	     (  new Array( 1,3,7,9,1, 3,7,9,1,3, 0,0,0,0,0,0),	/* PESEL */
		new Array( 8,9,2,3,4, 5,6,7,0,0, 0,0,0,0,0,0),	/* REGON */
		new Array( 6,5,7,2,3, 4,5,6,7,0, 0,0,0,0,0,0),	/*  NIP  */
		new Array( 7,1,3,9,7,11,3,0,0,0, 0,0,0,0,0,0),	/* BANK  */
		new Array(10,9,8,7,6, 5,4,3,2,0, 0,0,0,0,0,0),	/* ISBN  */
		new Array( 2,1,2,1,2, 1,2,1,2,1, 2,1,2,1,2,1),	/* CCARD */
		new Array( 3,1,3,1,3, 1,3,1,3,1, 3,0,0,0,0,0),	/* IACS  */
		new Array( 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,0),	/* blank */
		new Array( 7,3,1,0,7, 3,1,7,3,1, 0,0,0,0,0,0),	/* DowOso*/
		new Array( 0,1,2,3,4, 5,6,0,0,0, 0,0,0,0,0,0),	/* NrPrWZ*/
		new Array( 1,2,1,2,1, 2,1,2,1,2, 1,2,1,2,1,2) );  /* IMEI  */

   /* NIP    6 5 7 2 3 4 5 6 7 MOD 11 plus ostatnia cyfra */
   /* REGON  8 9 2 3 4 5 6 7   MOD 11 plus ostatnia cyfra */
   /* BANKI  7 1 3 9 7 11 3    MOD 10 plus ostatnia cyfra */
   /* ISBN  10 9 8 7 6 5 4 3 2 MOD 11 */
   /* NPWZ   0 1 2 3 4 5 6     MOD 11 ck na poz. 1 */

var  cyfry = new Array  (0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0 );

  if (tempStr != '') { 			// zamiana znaków na liczby
	comment = ' ';			//  alert( tempStr );
	if (rodzajNum == 8) {
		tempStr = compactNonAlfa(tempStr);
		if (!trzyLitery( tempStr )) comment = ' formalnie, ale brak trzech liter' }
	  else	tempStr = compactString(tempStr);
	// alert( tempStr )

  	if (rodzajNum == 5) { // wydluz spacjami
	    tempStr = "0000000000" + tempStr;  L = tempStr.length;
	    tempStr = tempStr.substring(L-16,L); // L = tempStr.length; 
		//    alert('L='+L + ' ['+tempStr+']' );
	}

	L = tempStr.length;
	for ( i=0; i<L; i++ ) {
	    znak = tempStr.charAt(i); 	//  alert( znak );
	    if (rodzajNum == 8) {
		if ((znak >='A') && (znak <='Z')) {
		    znak = asciiCodeOf(znak) % 10; 
		    // tempStr = tempStr.substring(0,i) + ca +tempStr.substring(i+1,tempStr.length);
		} // if
	    }

	    if (znak == 'X') cyfry[i]= 10
	  	else 	cyfry[i] = parseInt(znak);
	}  
	// alert( 'L= '+L+'  dlug[tabl]='+dlug[rodzajNum] );
	// alert('nr rodz numeru= '+ rodzajNum );
	if ((L == dlug[rodzajNum]) || (rodzajNum == 5)){
	  suma = 0;
	  if (rodzajNum == 5)	// CCard
		for (i=0; i<L-1; i++) {
		    suma = suma + suma_cyfr(wagi[rodzajNum][i]*cyfry[i]);
					// alert( suma );
		}
	  else  for (i=0; i<L-1; i++) {
		    suma = suma + (wagi[rodzajNum][i]*cyfry[i]);
		// alert( wagi[rodzajNum][i]+'*'+cyfry[i]+' suma='+suma );
		}
	  if (rodzajNum == 8 || rodzajNum == 9) // dodaj iloczyn ostatniej
	  	suma = suma + (wagi[rodzajNum][L-1]*cyfry[L-1]);
	// alert( wagi[rodzajNum][i]+'*'+cyfry[i]+' suma='+suma );
	  if (rodzajNum == 10) { // IMEI
	  	suma = 0;
		for (i=0; i<L-1; i++) {
		    suma = suma + suma_cyfr(wagi[rodzajNum][i]*cyfry[i]);
			//		 alert( 'Suma IMEI = ' + suma );
		}
	  }
	  suma = suma % mody[rodzajNum];
	  if (rodzajNum == 0)  suma = (10-suma) % 10; // PESEL 
	  if (rodzajNum == 1)  suma =     suma  % 10; // REGON 
	  if (rodzajNum == 2)  suma =     suma;       // NIP 
	  
	  if (rodzajNum == 4)  suma = (11-suma) % 11; // ISBN  
	  if (rodzajNum == 5)  suma = (10-suma) % 10; // CCARD 
	  if (rodzajNum == 6)  suma = (10-suma) % 10; // IACS 
	  if (rodzajNum ==10)  suma = (10-suma) % 10; // IMEI
	  wynikB = ( suma == cyfry[L-1] );
	  if (rodzajNum == 8)
		wynikB = ( suma % 10 == cyfry[3] );
	  if (rodzajNum == 9) {
		wynikB = ( suma % 11 == cyfry[0] );
				//	 alert('obl.cyfr='+suma+'   cyfra='+cyfry[0]);
	  }
	  //if (rodzajNum == 0) comment = DatawPeselu( tempStr );
	  if (rodzajNum == 0){ 
	  	//comment = DatawPeselu( tempStr );
	  	//alert(tempStr + (wynikB ? ' =Dobry': ' = Zły ') + comment);
		/*if(wynikB ==  false){
			alert('Podany numer PESEL: ' + tempStr  +' jest nieprawidlowy');
			return false;
		} */
		return wynikB;
	  	//f.pesel.value = ' ';
	  }

	  if (rodzajNum == 1) { // REGON
	    num = cyfry[0]*10 + cyfry[1];
	    if ((num != 0) && (num % 2 ==0 ) || (num>97)) comment = ' i błędny kod woj.';
	  }

	  if (rodzajNum == 2) // NIP
	    if (cyfry[0]==0 || cyfry[2]==0) comment = ' i błędny kod Urzędu';

	  //document.forms[0].wynik.value = tempStr + (wynikB ? ' =Dobry': ' = Zły ') + comment;
	  //alert(tempStr + (wynikB ? ' =Dobry': ' = Zły ') + comment);
	  //document.forms[0].dane.value = ' ';
	  return wynikB;
	} 
	  else {
		wynikB = false;
		//document.forms[0].wynik.value = tempStr + (L<dlug[rodzajNum]? ' zbyt mało': ' za dużo') + ' cyfr';
		// alert(tempStr + (L<dlug[rodzajNum]? ' zbyt mało': ' za dużo') + ' cyfr');
		// document.forms[0].dane.value = '';
		
		if ((L == dlug[rodzajNum]-1) && (rodzajNum == 10)) {
	  	    alert( 'dla numeru IMEI obliczyć cyfrę kontroln± ?');
		    suma = 0;
		    for (i=0; i<L; i++) {
			suma = suma + suma_cyfr(wagi[rodzajNum][i]*cyfry[i]);
			 // alert( 'Suma IMEI = ' + suma );
		    }	//alert( 'Suma IMEI = ' + suma );
		    CK = (10 - suma % 10) % 10;
		    //document.forms[0].wynik.value = tempStr + '   ' + CK + '   ck obliczone';
			alert(tempStr + '   ' + CK + '   ck obliczone');
		    document.forms[0].dane.value = ' ';
		}
	}
    }
     else 
    {	
		//document.forms[0].wynik.value = ' brak danych';
		alert(' brak danych');
	// document.forms[0].dane.value = '';  // alert( tempStr );
    }
  document.forms[0].dane.focus();
  return false;
} // fun verifyPESEL


function compactNonAlfa() {

var inpstr= compactNonAlfa.arguments[0];	// document.forms[0].dane.value;
var inpstl= inpstr.length;  			// document.forms[0].dane.length;
//	alert('compactNonAlfa = '+inpstr);
    for(i=0;i<inpstr.length;i++) {
	znak = inpstr.charAt(i);
	znak = znak.toUpperCase(); 	// malym znakom pozwalamy sie zmienic na wielkie
		    // alert('inpStr='+inpstr.substring(0,i) +'?'+ inpstr.substring(i+1,inpstr.length));
	if (!( ( znak>='0' && znak<='9' ) || ( znak >='A' && znak<='Z' ) ) ) {
	  inpstr = inpstr.substring(0,i) + inpstr.substring(i+1,inpstr.length);
	  i = i-1; 
	}
    }
//   alert('inpstr=' + inpstr.toUpperCase() );
   return inpstr.toUpperCase();
} // fun compactNonAlfa


function  verifyIBAN() {		// copyright R.J.żyłła 2003-2006 

var  tempStr = verifyIBAN.arguments[0];  //  alert( verifyIBAN.arguments[0] );

  if (tempStr != '') {
	// krok 0  pozostaw cyfry i litery A-Z a-z, zamien na UpperCase
	//	   jesli na pocz. brak PL to tam wpisz
	tempStr = compactNonAlfa(tempStr);	//  alert( tempStr );
	if ((tempStr.charAt(0)<='9') && (tempStr.charAt(1)<='9'))
	   tempStr = 'PL' + tempStr;
	kopia   = tempStr;

	// krok 1  przesun 4 pierwsze znaki na koniec
	tempStr = tempStr.substring(4,tempStr.length) + tempStr.substring(0,4);

	// krok 2  zamien litery na cyfry 

	for(var i=0;i<tempStr.length;i++) { // alert( i );
	    znak = tempStr.charAt(i);
		    // alert('tempStr='+tempStr.substring(0,i) +'?'+ tempStr.substring(i+1,tempStr.length));
	    if ((znak >='A') && (znak <='Z')) {
		ca = asciiCodeOf(znak); 
		tempStr = tempStr.substring(0,i) + ca +tempStr.substring(i+1,tempStr.length);
	    } // if
	}// for

	// krok 3 podziel modulo 97; dana testowa BE62 5100 0754 7061 powinno wyjsc 1
	mod = 0; L = tempStr.length;
	for(var i=0;i<L;i=i+6) {
	// alert('mod=' + ''+mod+tempStr.substring( i, i+6) );
	// Uwaga: Netscape i IExpolorerze w parseInt traktuje 011 jako zapis oktalny
	//	  wiec lepiej wymusic traktowanie dziesietne
	    mod = parseInt(''+mod+tempStr.substring( i, i+6),10 ) % 97;

	}
	// krok 4
	//document.forms[0].wynik.value = kopia + ((mod==1)?' =Dobry':' = Zły ');
	alert(kopia + ((mod==1)?' =Dobry':' = Zły '));
    }
     else 
    {	
		//document.forms[0].wynik.value = ' brak danych';
		alert(' brak danych');
    }
  document.forms[0].dane.focus();
  return false;
} // fun verifyIBAN

function formInit() {
  document.forms[0].dane.value='';
  document.forms[0].dane.focus();
}


function compactString() {		// analyze input string
var inpstr= compactString.arguments[0];	// document.forms[0].dane.value;
var inpstl= inpstr.length;  		// document.forms[0].dane.length;
					// keyboard=true;
    for(i=0;i<inpstr.length;i++) {
	znak = inpstr.charAt(i);
		    // alert('inpStr='+inpstr.substring(0,i) +'?'+ inpstr.substring(i+1,inpstr.length));
	if ((znak<'0' || znak>'9') && (znak !='X') && (znak !='x')) {
	  inpstr = inpstr.substring(0,i) + inpstr.substring(i+1,inpstr.length);
	  i = i-1;
	}
		    //  alert('inpStr='+inpstr);
    }
    return inpstr;
}

//-------------------------------------------------------------------------------------------------


String.prototype.trim = function() {
	a = this.replace(/^\s+/, '');
	return a.replace(/\s+$/, '');
};

String.prototype.trim2 = function() { 	
	return this.replace(/\s+/g,'')
}



function testuj(f){
	
	var prefix = new Array('696','517','668','608','609','503','692','513','518','512','665','697','604','506','888','666','504','693','887','663','694','509','883','600','690','885','515','605','519','607','507','510','511','603','695','881','889','505','514','516','691','667','884','501','606','500','698','602','880','699','661','882','662','886','660','601','508','502','78','79','797','664','799','789','50','798','795','669','788','796','783','786','787','785','51','781','794','780','782','784','790','791','792','793','72','720','721','722','723','724','725','726','727','728','729');
	
	if (!document.getElementById('zgloszenie').checked) { 
		alert("Prosimy zaznaczyć pole wyboru podręczników Wydawnictwa Pedagogicznego OPERON"); 
		document.getElementById('ch_zgloszenie').style.color = '#ff0000';
		return false; 
	}else{
		document.getElementById('ch_zgloszenie').style.color = '#000000';
	}

	
	var imie_n = document.getElementById('imie_input').value.trim();
	if(imie_n.length<1) { 
		alert("Prosimy podać imię nauczyciela");
		f.imie_input.focus();
		document.getElementById('td_imie').style.color = '#ff0000';
		return false; 
	}else{
		var reg = /^[a-zA-ZąćęłńóśżźĄĆĘŁŃÓŚŻŹ]{2,255}$/;
		var reg2 = /(.)\1{2,}/;
		if(imie_n.length==1){
			alert("Podane imię jest zbyt krótkie");
			f.imie_input.focus();
			document.getElementById('td_imie').style.color = '#ff0000';
			return false;
		}else if(!imie_n.match(reg)){ 
			alert("Niepoprawne znaki w imieniu nauczyciela. \nW przypadku imion dwuczłonowych prosimy o wpisanie tylko pierwszego członu imienia. \n[Dozwolone znaki to: litery]");
			f.imie_input.focus();
			document.getElementById('td_imie').style.color = '#ff0000';
			return false;
		}else if(imie_n.toLowerCase().match(reg2)){			
			alert("Nieprawidłowy ciąg powtórzonych znaków w imieniu");
			f.imie_input.focus();
			document.getElementById('td_imie').style.color = '#ff0000';
			return false;
		}
		document.getElementById('imie_input').value = imie_n.trim2();
		document.getElementById('td_imie').style.color = '#000000';
	}
	
	
	
	var nazwisko_n = document.getElementById('nazwisko').value.trim();
	if(nazwisko_n.length<1) { 
		alert("Prosimy podać nazwisko nauczyciela");
		f.nazwisko.focus();
		document.getElementById('td_nazwisko').style.color = '#ff0000';
		return false; 
	}else{
		//var reg1 = /^[ \t]+|[ \t]+$/;				
		var reg = /^(d'|O'|von |van der |de la )?[a-zA-ZąćęłńóśżźĄĆĘŁŃÓŚŻŹ]{2,255}((-)[a-zA-ZąćęłńóśżźĄĆĘŁŃÓŚŻŹ]{2,255})?$/;
		var reg2 = /(.)\1{2,}/;
		if(nazwisko_n.length==1){
			alert("Podane nazwisko jest zbyt krótkie");
			f.nazwisko.focus();
			document.getElementById('td_nazwisko').style.color = '#ff0000';
			return false;
		}else if(!nazwisko_n.match(reg)){ 
			alert("Niepoprawnie podane nazwisko nauczyciela. \n[Dozwolone znaki to: litery, znak myślnika, apostrof] \n[Dopuszczalne są nazwiska dwuczłonowe (oddzielone pojedynczym myślnikiem)]");
			f.nazwisko.focus();
			document.getElementById('td_nazwisko').style.color = '#ff0000';
			return false;
		}else if(nazwisko_n.toLowerCase().match(reg2)){			
			alert("Nieprawidłowy ciąg powtórzonych znaków w nazwisku");
			f.nazwisko.focus();
			document.getElementById('td_nazwisko').style.color = '#ff0000';
			return false;
		}				
		document.getElementById('nazwisko').value = nazwisko_n.trim2();
		document.getElementById('td_nazwisko').style.color = '#000000';
	}

		
	
	if(f.pesel.value.length<1) { 
		alert("Prosimy podać numer PESEL"); 		
		f.pesel.focus();
		document.getElementById('td_pesel').style.color = '#ff0000';
		return false; 
	}
	if(!f.pesel.value.match(/^[0-9]{11}$/)){
		alert("Niepoprawny numer PESEL");
		f.pesel.focus();
		document.getElementById('td_pesel').style.color = '#ff0000';
		return false; 
	}else if(!verifyNumber( 0, f.pesel.value )){		
		alert("Podany numer PESEL: "+f.pesel.value+" jest nieprawidłowy"); 
		f.pesel.focus();
		document.getElementById('td_pesel').style.color = '#ff0000';
		return false;
	}else{
		document.getElementById('td_pesel').style.color = '#000000';
	}
	
	
	
	
	var email = document.getElementById('email');
	if(email.value.length<1) { 	
		//wpisanie emaila nie jest obowiazkowe		
		alert("Prosimy podać adres e-mail"); 
		f.email.focus();
		document.getElementById('td_email').style.color = '#ff0000';
		return false;
	}else if(email){
        if (email.value.length<1) { 
			alert("Prosimy podać adres e-mail");
			f.email.focus();
			document.getElementById('td_email').style.color = '#ff0000';
			return false; 
		}
        if (!email.value.match(/^[0-9a-z_.-]+@([0-9a-z-]+\.)+[a-z]{2,6}$/)) {
			alert("Podany adres e-mail: "+email.value+" jest nieprawidłowy"); 
            f.email.focus();
			document.getElementById('td_email').style.color = '#ff0000';
            return false;
        }
		document.getElementById('td_email').style.color = '#000000';
    }else{
		document.getElementById('td_email').style.color = '#000000';
	}
	
	
	var tel_dom = document.getElementById('tel_dom').value;
	var tel_kom = document.getElementById('tel_kom').value;
	
	if(tel_kom.length<1 && tel_dom.length<1){
		alert("Prosimy podać podać przynajmniej jeden telefon kontaktowy do nauczyciela");
		f.tel_dom.focus();
		document.getElementById('td_tel_dom').style.color = '#ff0000';
		document.getElementById('td_tel_kom').style.color = '#ff0000';
		return false;
	}else{
		document.getElementById('td_tel_dom').style.color = '#000000';
		document.getElementById('td_tel_kom').style.color = '#000000';
	}

	var tel_dom = document.getElementById('tel_dom').value;
	var jest_prefix_kom2 = 0;
	if(tel_dom.length){			
		var reg1 = /^(?!0)[0-9]{9}$/;
		var reg2 = /^(0){9}$/;
		if(!tel_dom.match(reg1)){ 
			alert("Niepoprawny nr telefonu domowego. \n[Numer musi się składać z 9 cyfr, bez zera na początku, bez spacji]");
			document.getElementById('tel_dom').value = tel_dom.trim2();
			f.tel_dom.focus();
			document.getElementById('td_tel_dom').style.color = '#ff0000';
			return false;
		}
		if (tel_dom.match(reg2)){
			alert("Niepoprawny nr telefonu domowego. \n[Numer nie może się składać z samych zer]");
			f.tel_dom.focus();
			document.getElementById('td_tel_dom').style.color = '#ff0000';
			return false;
		}
		for(i=0;i<prefix.length;i++){
			if((new RegExp('^('+parseInt(prefix[i])+')','')).test(tel_dom)) jest_prefix_kom2 = 1;
		}
		if(jest_prefix_kom2){
			alert("Niepoprawny nr telefonu domowego. \n[Prosimy podać numer telefonii stacjonarnej]");
			f.tel_dom.focus();
			document.getElementById('td_tel_dom').style.color = '#ff0000';
			return false;
		}
		document.getElementById('td_tel_dom').style.color = '#000000';
	}else{
		//alert('ok')
		//wpisanie telefonu jest obowiazkowe 
		//alert("Prosimy podać telefon do szkoły"); 
		//return false; 
	}
	
	
	
	
	var jest_prefix = 0;
	if(tel_kom.length) {		
		for(i=0;i<prefix.length;i++){
			if((new RegExp('^('+parseInt(prefix[i])+')','')).test(tel_kom)) jest_prefix = 1;
		}
		
		var reg1 = /^[0-9]{9}$/;
		if(!tel_kom.match(reg1)){ 
			alert("Niepoprawny nr. telefonu komórkowego. \n[Numer musi się składać z 9 cyfr, bez zera na początku, bez spacji]");
			document.getElementById('tel_kom').value = tel_kom.trim2();
			f.tel_kom.focus();
			document.getElementById('td_tel_kom').style.color = '#ff0000';
			return false;
		}
		var reg2 = /^(0){9}$/;
		if(tel_kom.match(reg2)){ 
			alert("Niepoprawny nr. telefonu komórkowego. \n[Numer nie może się składać z samych zer]");
			f.tel_kom.focus();
			document.getElementById('td_tel_kom').style.color = '#ff0000';
			return false;
		}
		if(!jest_prefix){ 
			alert("Niepoprawny nr. telefonu komórkowego. \n[Prosimy podać numer telefonii komórkowej]");
			f.tel_kom.focus();
			document.getElementById('td_tel_kom').style.color = '#ff0000';
			return false;
		}
		document.getElementById('td_tel_kom').style.color = '#000000';
	}else{
		//wpisanie telefonu nie jest obowiazkowe 
		//alert("Prosimy podać telefon do komórkowego"); 
		//return false; 
	}
	
	
	
	



	var imie_d = document.getElementById('imie_d_input').value.trim();
	if(imie_d.length<1) { 
		alert("Prosimy podać imię dyrektora szkoły");
		f.imie_d_input.focus();
		document.getElementById('td_imie_d').style.color = '#ff0000';
		return false; 
	}else{
		var reg = /^[a-zA-ZąćęłńóśżźĄĆĘŁŃÓŚŻŹ]{2,255}$/;
		var reg2 = /(.)\1{2,}/;
		if(imie_d.length==1){
			alert("Podane imię dyrektora szkoły jest zbyt krótkie");
			f.imie_d_input.focus();
			document.getElementById('td_imie_d').style.color = '#ff0000';
			return false;
		}else if(!imie_d.match(reg)){ 
			alert("Niepoprawne znaki w imieniu dyrektora szkoły. \nW przypadku imion dwuczłonowych prosimy o wpisanie tylko pierwszego członu imienia. \n[Dozwolone znaki to: litery]");
			f.imie_d_input.focus();
			document.getElementById('td_imie_d').style.color = '#ff0000';
			return false;
		}else if(imie_d.toLowerCase().match(reg2)){			
			alert("Nieprawidłowy ciąg powtórzonych znaków w imieniu dyrektora szkoły");
			f.imie_d_input.focus();
			document.getElementById('td_imie_d').style.color = '#ff0000';
			return false;
		}
		document.getElementById('imie_d_input').value = imie_d.trim2();
		document.getElementById('td_imie_d').style.color = '#000000';
	}
	
	
	
	var nazwisko_d = document.getElementById('nazwisko_d').value.trim();
	if(nazwisko_d.length<1) { 
		alert("Prosimy podać nazwisko dyrektora szkoły");
		f.nazwisko_d.focus();
		document.getElementById('td_nazwisko_d').style.color = '#ff0000';
		return false; 
	}else{
		//var reg1 = /^[ \t]+|[ \t]+$/;				
		var reg = /^(d'|O'|von |van der |de la )?[a-zA-ZąćęłńóśżźĄĆĘŁŃÓŚŻŹ]{2,255}((-)[a-zA-ZąćęłńóśżźĄĆĘŁŃÓŚŻŹ]{2,255})?$/;
		var reg2 = /(.)\1{2,}/;
		if(nazwisko_d.length==1){
			alert("Podane nazwisko dyrektora szkoły jest zbyt krótkie");
			f.nazwisko_d.focus();
			document.getElementById('td_nazwisko_d').style.color = '#ff0000';
			return false;
		}else if(!nazwisko_d.match(reg)){ 
			alert("Niepoprawnie podane nazwisko dyrektora szkoły. \n[Dozwolone znaki to: litery, znak myślnika, apostrof] \n[Dopuszczalne są nazwiska dwuczłonowe (oddzielone pojedynczym myślnikiem)]");
			f.nazwisko_d.focus();
			document.getElementById('td_nazwisko_d').style.color = '#ff0000';
			return false;
		}else if(nazwisko_d.toLowerCase().match(reg2)){			
			alert("Nieprawidłowy ciąg powtórzonych znaków w nazwisku dyrektora szkoły");
			f.nazwisko_d.focus();
			document.getElementById('td_nazwisko_d').style.color = '#ff0000';
			return false;
		}				
		document.getElementById('nazwisko_d').value = nazwisko_d.trim2();
		document.getElementById('td_nazwisko_d').style.color = '#000000';
	}


	
	var nazwa_szkoly = document.getElementById('nazwa_szkoly_input').value.trim();
	if(nazwa_szkoly.length) { 	
		var reg = /^[0-9a-zA-ZąćęłńóśżźĄĆĘŁŃÓŚŻŹ -]{2,255}$/;
		if(!nazwa_szkoly.match(reg)){ 
			alert("Niepoprawne znaki w nazwie szkoły. \n[Dozwolone znaki to: cyfry, litery, znak spacji, znak myślnika]");
			f.nazwa_szkoly_input.focus();
			document.getElementById('td_nazwa_szkoly').style.color = '#ff0000';
			return false;
		}
		document.getElementById('td_nazwa_szkoly').style.color = '#000000';
	}else{
		alert("Prosimy podać nazwę szkoły");
		f.nazwa_szkoly_input.focus();
		document.getElementById('td_nazwa_szkoly').style.color = '#ff0000';
		return false; 
	}
	
	
	var szkola_dodatkowe = document.getElementById('szkola_dodatkowe').value.trim();
	var reg = /^[0-9a-zA-ZąćęłńóśżźĄĆĘŁŃÓŚŻŹ \/]{1,255}$/;
	var reg1 = /( )\1{1,}/;
	var reg2 = /(\/)\1{1,}/;
	var reg3 = /^(\/)/;
	var reg4 = /(\/)$/;
	var reg5 = /(.)\1{2,}/;
	if(szkola_dodatkowe.length) { 		
		if((szkola_dodatkowe.length==1)&&(szkola_dodatkowe.match(/^[a-zA-ZąćęłńóśżźĄĆĘŁŃÓŚŻŹ-]$/))){
			alert("Podane nazwa w polu 'Patron/nr szkoły' jest zbyt krótka");
			f.szkola_dodatkowe.focus();
			document.getElementById('td_szkola_dodatkowe').style.color = '#ff0000';
			return false;
		}else if(szkola_dodatkowe.match(reg1)||szkola_dodatkowe.match(reg2)||szkola_dodatkowe.match(reg3)||szkola_dodatkowe.match(reg4)){ 
			alert("Niepoprawne znaki w polu 'Patron/nr szkoły'. \n[Dozwolone znaki to: litery bez polskich znaków, cyfry, pojedynczy znak ukośnika '/', pojedynczy znak spacji]");
			f.szkola_dodatkowe.focus();
			document.getElementById('td_szkola_dodatkowe').style.color = '#ff0000';
			return false;
		}else if(!szkola_dodatkowe.match(reg)){ 
			alert("Niepoprawne znaki w polu 'Patron/nr szkoły'. \n[Dozwolone znaki to: litery bez polskich znaków, cyfry, pojedynczy znak ukośnika '/', pojedynczy znak spacji]");
			f.szkola_dodatkowe.focus();
			document.getElementById('td_szkola_dodatkowe').style.color = '#ff0000';
			return false;
		}else if(szkola_dodatkowe.toLowerCase().match(reg5)){			
			alert("Nieprawidłowy ciąg powtórzonych znaków w polu 'Patron/nr szkoły'");
			f.szkola_dodatkowe.focus();
			document.getElementById('td_szkola_dodatkowe').style.color = '#ff0000';
			return false;
		}
			document.getElementById('szkola_dodatkowe').value = szkola_dodatkowe.toLowerCase();
			document.getElementById('td_szkola_dodatkowe').style.color = '#000000';	
	}
	
	
	
	var miejscowosc = document.getElementById('miejscowosc_input').value.trim();
	if(miejscowosc.length<1) { 
		alert("Prosimy podać nazwę miejscowości"); 
		f.miejscowosc_input.focus();
		document.getElementById('td_miejscowosc').style.color = '#ff0000';
		return false; 
	}else{		
		var reg = /^[a-zA-ZąćęłńóśżźĄĆĘŁŃÓŚŻŹ]{2,255}([ -][a-zA-ZąćęłńóśżźĄĆĘŁŃÓŚŻŹ]{2,255})?$/;
		var reg2 = /(.)\1{2,}/;
		if(miejscowosc.length==1){
			alert("Podane nazwa miejscowości jest zbyt krótka");
			f.miejscowosc_input.focus();
			document.getElementById('td_miejscowosc').style.color = '#ff0000';
			return false;
		}else if(!miejscowosc.match(reg)){ 
			alert("Niepoprawna nazwa miejscowości. \n[Dozwolone znaki to: litery, znak spacji, znak myślnika] \n[Dopuszczalne są nazwy dwuczłonowe (oddzielone pojedynczą spacją lub myślnikiem)]");
			f.miejscowosc_input.focus();
			document.getElementById('td_miejscowosc').style.color = '#ff0000';
			return false;
		}else if(miejscowosc.toLowerCase().match(reg2)){			
			alert("Nieprawidłowy ciąg powtórzonych znaków w nazwie miejscowości");
			f.miejscowosc_input.focus();
			document.getElementById('td_miejscowosc').style.color = '#ff0000';
			return false;
		}				
		//document.getElementById('miejscowosc_input').value = nazwisko_n.trim2();
		document.getElementById('td_miejscowosc').style.color = '#000000';
	}
	
		
	var ulica = document.getElementById('ulica_input').value.trim();
	var reg = /^[a-zA-ZąćęłńóśżźĄĆĘŁŃÓŚŻŹ]{2,255}([ -][a-zA-ZąćęłńóśżźĄĆĘŁŃÓŚŻŹ]{2,255})?$/;
	var reg1 = /( )\1{2,}/;
	var reg2 = /(.)\1{2,}/;
	if(ulica.length){
		if(!ulica.match(reg)){ 
			//alert("Niepoprawne znaki w nazwie ulicy. \n[Dozwolone znaki to: litery, cyfry, znak spacji, znak myślnika]");
			alert("Niepoprawna nazwa ulicy. \n[Dozwolone znaki to: litery, znak spacji, znak myślnika] \n[Dopuszczalne są nazwy dwuczłonowe (oddzielone pojedynczą spacją lub myślnikiem)]");
			f.ulica_input.focus();
			document.getElementById('td_ulica').style.color = '#ff0000';
			return false;
		}else if(ulica.match(reg1)){
			alert("Nieprawidłowy ciąg powtórzonych znaków w nazwie ulicy");
			f.ulica_input.focus();
			document.getElementById('td_ulica').style.color = '#ff0000';
			return false;
		}else if(ulica.toLowerCase().match(reg2)){			
			alert("Nieprawidłowy ciąg powtórzonych znaków w nazwie ulicy");
			f.ulica_input.focus();
			document.getElementById('td_ulica').style.color = '#ff0000';
			return false;
		}else{
			document.getElementById('td_ulica').style.color = '#000000';
		}
	}

	
	
	var nr_bud = document.getElementById('nr_bud').value.trim();
	var reg = /^[0-9a-zA-Z \/]{1,255}$/;
	var reg1 = /( )\1{1,}/;
	var reg2 = /(\/)\1{1,}/;
	var reg3 = /^(\/)/;
	var reg4 = /(\/)$/;
	var reg5 = /(.)\1{2,}/;
	if(nr_bud.length<1) { 
		alert("Prosimy podać numer budynku"); 
		f.nr_bud.focus();
		document.getElementById('td_nr_bud').style.color = '#ff0000';
		return false; 
	}else{
		if(!nr_bud.match(reg)){ 
			alert("Niepoprawne znaki w numerze budynku. \n[Dozwolone znaki to: litery bez polskich znaków, cyfry, pojedynczy znak ukośnika '/', pojedynczy znak spacji]");
			f.nr_bud.focus();
			document.getElementById('td_nr_bud').style.color = '#ff0000';
			return false;
		}else if(nr_bud.match(reg1)||nr_bud.match(reg2)||nr_bud.match(reg3)||nr_bud.match(reg4)){ 
			alert("Niepoprawne znaki w numerze budynku. \n[Dozwolone znaki to: litery bez polskich znaków, cyfry, pojedynczy znak ukośnika '/', pojedynczy znak spacji]");
			f.nr_bud.focus();
			document.getElementById('td_nr_bud').style.color = '#ff0000';
			return false;
		}else if(nr_bud.toLowerCase().match(reg5)){			
			alert("Nieprawidłowy ciąg powtórzonych znaków w numerze budynku");
			f.nr_bud.focus();
			document.getElementById('td_nr_bud').style.color = '#ff0000';
			return false;
		}
			document.getElementById('nr_bud').value = nr_bud.toLowerCase();
			document.getElementById('td_nr_bud').style.color = '#000000';	
	}



	
	var kod = document.getElementById('kod_input').value.trim();
	var reg1 = /^[0-9]{2}(-)[0-9]{3}$/
	var reg2 = /^(0){2}(-)(0){3}$/
	if(kod.length<1) { 
		alert("Prosimy podać kod pocztowy");
		f.kod_input.focus();
		document.getElementById('td_kod').style.color = '#ff0000';
		return false; 
	}
	if (!kod.match(reg1)) { 
		alert("Niepoprawny kod pocztowy \n[Kod pocztowy należy podać w formacie: 12-345]"); 
		f.kod_input.focus();
		document.getElementById('td_kod').style.color = '#ff0000';
		return false; 
	}
	if (kod.match(reg2)){
		alert("Niepoprawny kod pocztowy. \n[Kod pocztowy nie może się składać z samych zer]");
		f.kod_input.focus();
		document.getElementById('td_kod').style.color = '#ff0000';
		return false;
	}	
	document.getElementById('td_kod').style.color = '#000000';
	
	
	var dzielnica = document.getElementById('dzielnica_input').value.trim();
	var reg = /^[a-zA-ZąćęłńóśżźĄĆĘŁŃÓŚŻŹ]{2,255}([ -][a-zA-ZąćęłńóśżźĄĆĘŁŃÓŚŻŹ]{2,255})?$/;
	var reg2 = /(.)\1{2,}/;
	if(dzielnica.length){
		if(dzielnica.length==1){
			alert("Podane nazwa w polu 'Dzielnica/wieś' jest zbyt krótka");
			f.dzielnica_input.focus();
			document.getElementById('td_dzielnica').style.color = '#ff0000';
			return false;
		}else if(!dzielnica.match(reg)){ 
			alert("Niepoprawna nazwa w polu 'Dzielnica/wieś'. \n[Dozwolone znaki to: litery, znak spacji, znak myślnika] \n[Dopuszczalne są nazwy dwuczłonowe (oddzielone pojedynczą spacją lub myślnikiem)]");
			f.dzielnica_input.focus();
			document.getElementById('td_dzielnica').style.color = '#ff0000';
			return false;
		}else if(dzielnica.toLowerCase().match(reg2)){			
			alert("Nieprawidłowy ciąg powtórzonych znaków w polu 'Dzielnica/wieś'");
			f.dzielnica_input.focus();
			document.getElementById('td_dzielnica').style.color = '#ff0000';
			return false;
		}
		document.getElementById('td_dzielnica').style.color = '#000000';
	}

/*
	var reg = /^[a-zA-ZąćęłńóśżźĄĆĘŁŃÓŚŻŹ -]{0,255}$/;
	if(!dzielnica.match(reg)){ 
		alert("Niepoprawne znaki w polu 'Dzielnica/wieś'. \n[Dozwolone znaki to: litery, znak spacji, znak myślnika]");
		f.dzielnica_input.focus();
		document.getElementById('td_dzielnica').style.color = '#ff0000';
		return false;
	}else{
		document.getElementById('td_dzielnica').style.color = '#000000';
	}
*/	


	
	var telefon = document.getElementById('telefon').value.trim();
	var jest_prefix_kom1 = 0;
	if(telefon.length<1) {	
		//wpisanie telefonu jest obowiazkowe 
		alert("Prosimy podać telefon do szkoły"); 
		f.telefon.focus();
		document.getElementById('td_telefon').style.color = '#ff0000';
		return false; 
	}else{ 		
		var reg1 = /^(?!0)[0-9]{9}$/;
		var reg2 = /^(0){9}$/;
		if(!telefon.match(reg1)){ 
			alert("Niepoprawny nr telefonu do szkoły. \n[Numer musi się składać z 9 cyfr, bez zera na początku, bez spacji]");
			document.getElementById('telefon').value = telefon.trim2();
			f.telefon.focus();
			document.getElementById('td_telefon').style.color = '#ff0000';
			return false;
		}
		if (telefon.match(reg2)){
			alert("Niepoprawny nr telefonu do szkoły. \n[Numer nie może się składać z samych zer]");
			f.telefon.focus();
			document.getElementById('td_telefon').style.color = '#ff0000';
			return false;
		}
		for(i=0;i<prefix.length;i++){
			if((new RegExp('^('+parseInt(prefix[i])+')','')).test(telefon)) jest_prefix_kom1 = 1;
		}
		if(jest_prefix_kom1){
			alert("Niepoprawny nr telefonu do szkoły. \n[Prosimy podać numer telefonii stacjonarnej]");
			f.telefon.focus();
			document.getElementById('td_telefon').style.color = '#ff0000';
			return false;
		}
		document.getElementById('td_telefon').style.color = '#000000';
	}
	
	
	if (!document.getElementById('przetwarzanie').checked) { 
		alert("Konieczne jest wyrażenie zgody na przetwarzanie danych osobowych w celach marketingowych przez Wydawnictwo Pedagogiczne OPERON"); 
		document.getElementById('ch_przetwarzanie').style.color = '#ff0000';
		f.przetwarzanie.focus();
		document.getElementById('ch_przetwarzanie').style.color = '#ff0000';
		return false; 
	}else{
		document.getElementById('ch_przetwarzanie').style.color = '#000000';
	}

	return true;
}
