
/* --- sprawdza czy dane numeryczne --- */
function isNumeric(string) {
        if (string.search(/^[0-9.]*$/) != -1) return true;
        else return false;
}


/* --- sprawdza poprawnośc województwa --- */
function domeny_kod_pocztowy(kod)
{
	if (kod.length == 0) return 0;
	else if (kod.length < 6) return -1;
	else
	{
		if (kod.indexOf('-') != 2) return -1;
		if (!isNumeric(kod.substr(0, 2)) || kod.substr(0, 2).indexOf('.') > -1) return -1;
		if (!isNumeric(kod.substr(3)) || kod.substr(3).indexOf('.') > -1) return -1;
		return 1;
	}
}


/* --- sprawdza poprawnośc telefonu --- */
function domeny_telefon(kod)
{
	if (kod.length == 0) return 0;
	else if (kod.length < 3) return -1;
	else
	{
		if (kod.indexOf('+') == -1) return -1;
		if (kod.indexOf('.') == -1) return -1;
		if (!(kod.indexOf('.') == 2 || kod.indexOf('.') == 3 || kod.indexOf('.') == 4)) return -1;
		if (!isNumeric(kod.substr(1))) return -1;

		return 1;
	}
}

/* --- sprawdza poprawnośc e-mail --- */
function domeny_email(kod)
{
	if (kod.length == 0) return 0;
	else if (kod.length < 7) return -1;
	else
	{
		if (kod.indexOf('@') == -1) return -1;
		if (kod.indexOf('.') == -1) return -1;
		if (kod.indexOf('.') <= kod.indexOf('@')) return -1;
		return 1;
	}
}


/* --- sprawdza poprawnośc nip --- */
function domeny_nip(kod)
{
	var k0 = -1;
	var k1 = -1;
	var k2 = -1;

	if (kod.length == 0) return 0;
	else if (kod.length != 13) return -1;
	else
	{
		k0 = kod.indexOf('-');
		k1 = kod.indexOf('-', (k0 + 1));
		k2 = kod.indexOf('-', (k1 + 1));

		if (k0 != 3 || k1 == -1 || k2 == -1 || k2 > 10) return -1;
		if (!isNumeric(kod.substr(0, 3)) || kod.substr(0, 3).indexOf('.') > -1) return -1;
		if (!isNumeric(kod.substr((k0 + 1), (k1 - k0 - 1))) || kod.substr((k0 + 1), (k1 - k0 - 1)).indexOf('.') > -1) return -1;
		if (!isNumeric(kod.substr((k1 + 1), (k2 - k1 - 1))) || kod.substr((k1 + 1), (k2 - k1 - 1)).indexOf('.') > -1) return -1;
		if (!isNumeric(kod.substr((k2 + 1))) || kod.substr((k2 + 1)).indexOf('.') > -1) return -1;

		return 1;
	}
}


/* --- sprawdza poprawnośc regon --- */
function domeny_regon(kod)
{
	if (kod.length == 0) return 0;
	else if (kod.length != 9) return -1;
	else
	{
		if (kod.indexOf('.') > -1) return -1;
		if (!isNumeric(kod)) return -1;
		return 1;
	}
}


/* --- sprawdza poprawnośc pesel --- */
function domeny_pesel(kod)
{
	if (kod.length == 0) return 0;
	else if (kod.length != 11) return -1;
	else
	{
		if (kod.indexOf('.') > -1) return -1;
		if (!isNumeric(kod)) return -1;
		return 1;
	}
}


/* --- sprawdza formularz danych --- */
function domeny_zamow(formularz)
{
	var blad = 0;
	var pole = '';
	var nazwa = '';
	var txtd = '';

	if (!formularz.nazwa.value) blad = 1;
	else if (!formularz.ulica_msc.value) blad = 2;
	else if (!formularz.nr_domu.value) blad = 3;
	else if (!formularz.poczta.value) blad = 4;
	else if ((formularz.kraj.options[formularz.kraj.selectedIndex].value.indexOf('pl') > -1) && (domeny_kod_pocztowy(formularz.kod_pocztowy.value) < 1)) blad = 5;
	else if ((formularz.kraj.options[formularz.kraj.selectedIndex].value.indexOf('pl') == -1) && !formularz.kod_pocztowy.value) blad = 6;
	else if ((formularz.kraj.options[formularz.kraj.selectedIndex].value.indexOf('pl') > -1) && (formularz.wojewodztwo.selectedIndex == 0)) blad = 7;
	else if ((formularz.kraj.options[formularz.kraj.selectedIndex].value.indexOf('pl') == -1) && (formularz.wojewodztwo.selectedIndex != 0)) blad = 8;
	else if (domeny_telefon(formularz.telefon.value) < 1) blad = 9;
	else if (domeny_email(formularz.email.value) < 1) blad = 10;
	else if (!formularz.firma[0].checked && !formularz.firma[1].checked) blad = 11;
	else if (formularz.firma[0].checked && domeny_nip(formularz.nip.value) < 1) blad = 12;
	else if (formularz.firma[1].checked && domeny_nip(formularz.nip.value) != 0) blad = 13;
	else if (formularz.firma[0].checked && domeny_regon(formularz.nr_regon.value) < 1) blad = 14;
	else if (formularz.firma[1].checked && domeny_regon(formularz.nr_regon.value) != 0) blad = 15;
	else if (formularz.firma[1].checked && domeny_pesel(formularz.pesel.value) < 1) blad = 16;
	else if (formularz.firma[0].checked && domeny_pesel(formularz.pesel.value) != 0) blad = 17;

	switch (blad)
	{
		case 1: nazwa = 'Zamawiający'; pole = 'nazwa'; break;
		case 2: nazwa = 'Ulica, miejscowość'; pole = 'ulica_msc'; break;
		case 3: nazwa = 'Nr domu'; pole = 'nr_domu'; break;
		case 4: nazwa = 'Poczta'; pole = 'poczta'; break;
		case 5: nazwa = 'Kod pocztowy'; pole = 'kod_pocztowy'; break;
		case 6: nazwa = 'Kod pocztowy'; pole = 'kod_pocztowy'; break;
		case 7: nazwa = 'Wojewodztwo'; pole = 'wojewodztwo'; break;
		case 8: nazwa = 'Wojewodztwo'; pole = 'wojewodztwo'; break;
		case 9: nazwa = 'Telefon'; pole = 'telefon'; break;
		case 10: nazwa = 'E-Mail'; pole = 'email'; break;
		case 11: nazwa = 'Forma prawna'; pole = 'firma'; break;
		case 12: nazwa = 'NIP'; pole = 'nip'; break;
		case 13: nazwa = 'NIP'; pole = 'nip'; break;
		case 14: nazwa = 'REGON'; pole = 'nr_regon'; break;
		case 15: nazwa = 'REGON'; pole = 'nr_regon'; break;
		case 16: nazwa = 'PESEL'; pole = 'pesel'; break;
		case 17: nazwa = 'PESEL'; pole = 'pesel'; break;
	}

	if (blad > 0)
	{
		if (blad == 5) txtd = "\nJeśli wybrałeś kraj Polska pole Kod pocztowy musi być wypełnione (format: nn-nnn).";
		else if (blad == 6) txtd = "\nWpisz poprawny kod pocztowy dla Twojego kraju.";

		else if (blad == 7) txtd = "\nJeśli wybrałeś kraj Polska musisz wybrać województwo.";
		else if (blad == 8) txtd = "\nJeśli wybrałeś kraj inny niż Polska pole Województwo musi pozostać puste.";

		else if (blad == 9) txtd = "\nFormat nr telefonu: +nnn.N ... N.";

		else if (blad == 12) txtd = "\nJeśli wybrałeś formę prawną: firma, to pole NIP musi być wypełnione (format: nnn-nnn-nn-nn lub nnn-nn-nn-nnn).";
		else if (blad == 13) txtd = "\nJeśli wybrałeś formę prawną inną niż firma, to pole NIP pozostaw puste.";

		else if (blad == 14) txtd = "\nJeśli wybrałeś formę prawną: firma, to pole REGON musi być wypełnione (format: nnnnnnnnn).";
		else if (blad == 15) txtd = "\nJeśli wybrałeś formę prawną inną niż firma, to pole REGON pozostaw puste.";

		else if (blad == 16) txtd = "\nJeśli wybrałeś formę prawną inną niż firma, to pole PESEL musi być wypełnione (format: nnnnnnnnnnn).";
		else if (blad == 17) txtd = "\nJeśli wybrałeś formę prawną: firma, to pole PESEL pozostaw puste.";

		alert('Pole ' + nazwa + ' zawiera niepoprawne dane.'+txtd);
		if (blad != 11) eval('formularz.'+pole+'.focus()');
	}

	if (blad == 0)
	{
		formularz.zamow_domene.value = 1;
		return true;
	}
	else return false;
}


/* sprawdza czy poprawna nazwa domeny */
function domeny_sprawdz_nazwa(nazwa)
{
   var dn = Array(9);
   dn[0] = '.com.pl';
   dn[1] = '.net.pl';
   dn[2] = '.org.pl';
   dn[3] = '.pl';
   dn[4] = '.com';
   dn[5] = '.net';
   dn[6] = '.org';
   dn[7] = '.info',
   dn[8] = '.biz';

   var dnc = Array(9);
   dnc[0] = 91.50;
   dnc[1] = 91.50;
   dnc[2] = 91.50;
   dnc[3] = 122;
   dnc[4] = 61;
   dnc[5] = 61;
   dnc[6] = 61;
   dnc[7] = 146.40;
   dnc[8] = 146.40;

   for (var i = 0; i < dn.length; i++)
   {
      var roz = nazwa.length - dn[i].length;
      if (nazwa.length > 3 && (roz == nazwa.indexOf(dn[i])) && nazwa.indexOf(dn[i]) != -1) return dnc[i];
   }

   return -1;
}


function domeny_oplac(formularz)
{
	var blad = 0;
	var pole = null;
	var nazwa = null;

	if (!formularz.domena.value || domeny_sprawdz_nazwa(formularz.domena.value) == -1) blad = 1;

	switch (blad)
	{
		case 1: nazwa = 'Domena'; pole = 'domena'; break;
	}

	if (!blad)
	{
		formularz.mtransfer.value = 136;
		return true;
	}
	else
	{
		formularz.mtransfer.value = 0;
		alert('Pole '+nazwa+' zawiera niepoprawne dane. Popraw lub uzupełnij je w celu przesłania formularza.');
		eval('formularz.'+pole+'.focus()');
		return false;
	}
}


function domeny_cena()
{
   var formularz = document.domeny_oplata;
   var cena = 0;

   var dnc = formularz.domena.value?domeny_sprawdz_nazwa(formularz.domena.value):-1;
   var okres = formularz.okres.options[formularz.okres.selectedIndex].value?formularz.okres.options[formularz.okres.selectedIndex].value:0;

   if (dnc != -1 && okres != 0) cena = dnc * okres;

   if (cena != 0)
   {
      var txt_cena = new Number(cena);
      formularz.cena.value = txt_cena.toFixed(2);
   }
   else formularz.cena.value = '';
}



