// JavaScript Document
/// funkcja walidująca formularze
function validacja_form(cel,typ,ilosc)
{
	if($(cel))
	{ 
		var wartosc = $(cel).value;
		wartosc = wartosc.strip();
		wartosc = wartosc.stripScripts();
		wartosc = wartosc.stripTags();
		wartosc = wartosc.replace(/ /g, "");
		
		if(wartosc == '')
		{
			$(cel).className="walidacja_false";
			return false;
		}
		else
		{
			if(typ=='liczba')
			{
				var war = parseFloat(wartosc);
				if(isNaN(war) || war == '')
				{
					$(cel).className="walidacja_false";
					return false;	
				}
				else
				{
					$(cel).className="walidacja_true";
					return true;	
				}
			}
			
			/// sprawdzanie wartosci minimalnej
			if(typ=='min')
			{
				var war = parseFloat(wartosc);
				if((!isNaN(war) && war != '') && war >= ilosc)
				{
					$(cel).className="walidacja_true";
					return true;	
				}
				else
				{
					$(cel).className="walidacja_false";
					return false;					
				}
			}
			if(typ=='max')
			{
				var war = parseFloat(wartosc);
				if((!isNaN(war) && war != '') && war <= ilosc)
				{
					$(cel).className="walidacja_true";
					return true;
				}
				else
				{
					$(cel).className="walidacja_false";
					return false;					
				}
			}
			
			if(typ=='przedzial')
			{
				var war = parseFloat(wartosc);
				var przedzial = ilosc.split(',');	
				przedzial[0] = parseInt(przedzial[0]);
				przedzial[1] = parseInt(przedzial[1]);
								
				if(isNaN(war) || war == '')
				{
					$(cel).className="walidacja_false";
					return false;	
				}
				else
				{
					if(war >= przedzial[0] && war <= przedzial[1] )
					{
						$(cel).className="walidacja_true";
						return true;;	
					}
					else
					{
						$(cel).className="walidacja_false";
						return false
					}
				}
			}
			else if(typ=='email')
			{
				if(wartosc.indexOf('@')>-1 && wartosc.indexOf('.')>-1)
				{
					$(cel).className="walidacja_true";
					return true;		
				}
				else
				{
					$(cel).className="walidacja_false";
					return false;
				}				
			}
			else if(typ=='nip')
			{
				var nipnodash = "";
				
				wartosc = String(wartosc);
				
				var dl = wartosc.length;
				
				for (licz=0; licz<dl; licz++) 
				{
				  // if (is_numeric(wartosc[licz]) == true) nipnodash=nipnodash+wartosc[licz];
				   if (is_numeric(wartosc.charAt(licz)) == true) nipnodash=nipnodash+wartosc[licz];					
				}
				
				if (nipnodash.length != 10)
				{
					$(cel).className="walidacja_false";
					return false;						
				}
				
				if (nipnodash.length == 10)
				{
					var wagi = new Array ("6","5","7","2","3","4","5","6","7");
					var wynik = new Array(9);
					var suma = 0;
					for (licz=0; licz<9; licz++) wynik[licz]=nipnodash[licz]*wagi[licz];
					for (licz=0; licz<9; licz++) suma+=wynik[licz];
					suma=suma%11;
					
					if(suma == nipnodash[9]) 
					{
						$(cel).className="walidacja_true";
						return true;					
					}
					else
					{
						$(cel).className="walidacja_false";
						return false;			
					}
				}				
			}
			else if(typ=='pesel')
			{
				var nie = new Array('~','`','!','@','#','$','%','^','&','(',')','=','+','|','\\','"',"'",':',';',',','<','>','?','/');
					
				for(i=0;nie.length>=i;i++)
				{
					if(wartosc.indexOf(nie[i])>-1)
					{
						$(cel).className="walidacja_false";
						return false;
						break;
					}
				}
					
				var factor = new Array(1,3,7,9,1,3,7,9,1,3);
				var s = 0;
			
				for (i=0;i<=9;i++)
					{s += wartosc.charAt(i)*factor[i];}
			
				var eleven = (10-s%10)%10;		
				if(eleven==wartosc.charAt(10))
				{
					$(cel).className="walidacja_true";	
					return true;
				}
				else
				{
					$(cel).className="walidacja_false";
					return false;			
				}	
			}
			else if(typ=='tekst_niedozwolone')
			{
				if(ilosc == '')
					{var nie = new Array('~','`','!','@','#','$','%','^','&','(',')','=','+','|','\\','"',"'",':',';','<','>','?','/');}
				else
					{var nie = ilosc.split(',');}
			
				var val = true;
				for(i=0;nie.length>=i;i++)
				{
					if(wartosc.indexOf(nie[i])>-1)
					{
						$(cel).className="walidacja_false";
						val = false;
						break;
					}
				}
				
				$(cel).className="walidacja_"+val;
				return val;
			}
			else if(typ=='tekst_dugosc')
			{
				if(wartosc.length < ilosc)
				{
					$(cel).className="walidacja_false";
					return false;	
				}
				else
				{
					$(cel).className="walidacja_true";
					return true;
				}
			}
			else if(typ=='option')
			{
				if(wartosc == '' || wartosc == 'wybierz')
				{
					$(cel).className="walidacja_false";
					return false;	
				}
				else
				{
					$(cel).className="walidacja_true";
					return true;
				}
			}
			else if(typ=='option_multiple')
			{
				ilosc = parseInt(ilosc);
				var wybrane = 0;
				for (var i = 0; i < $(cel).options.length; i++) 
				{
					if($(cel).options[ i ].selected)
						{wybrane ++;}
				}
				
				if(ilosc == '' || isNaN(ilosc))
					{ilosc = 1;}
					
				if(wybrane >= ilosc)
				{
					$(cel).className="walidacja_true";
					return true;	
				}
				else
				{
					$(cel).className="walidacja_false";
					return false;
				}
			}
			else if(typ=='data')
			{
				var dzi = wartosc.split('-');
				dzi[0] = parseInt(dzi[0]);
				dzi[1] = parseInt(dzi[1]);
				dzi[2] = parseInt(dzi[2]);
				
				if(dzi[2] > 1960 && dzi[2] <= 2050 && dzi[1] >= 0 && dzi[1] <= 12 && dzi[0] >= 0 && dzi[0] <= 31)
				{
					$(cel).className="walidacja_true";
					return true;	
				}
				else
				{
					$(cel).className="walidacja_false";
					return false;
				}
			}
			else if(typ=='data_wieksza')
			{
				var dzi = wartosc.split('-');
				var dzi2 = $(ilosc).value.split('-');
				
				var timestamp_1 = parseInt(dzi[2]+""+dzi[1]+""+dzi[0]);				
				var timestamp_2 = parseInt(dzi2[2]+""+dzi2[1]+""+dzi2[0]);
				
				if(timestamp_1 > timestamp_2 )
				{
					$(cel).className="walidacja_true";
					return true;	
				}
				else
				{
					$(cel).className="walidacja_false";
					return false;
				}				
			}
			else if(typ=='data_mniejsza')
			{
				var dzi = wartosc.split('-');
				var dzi2 = $(ilosc).value.split('-');
				
				var timestamp_1 = parseInt(dzi[2]+""+dzi[1]+""+dzi[0]);				
				var timestamp_2 = parseInt(dzi2[2]+""+dzi2[1]+""+dzi2[0]);
				
				
				if(timestamp_1 < timestamp_2 )
				{
					$(cel).className="walidacja_true";
					return true;	
				}
				else
				{
					$(cel).className="walidacja_false";
					return false;
				}				
			}
			else if(typ=='data_rowna')
			{
				var dzi = wartosc.split('-');
				var dzi2 = $(ilosc).value.split('-');
				
				var timestamp_1 = parseInt(dzi[2]+""+dzi[1]+""+dzi[0]);				
				var timestamp_2 = parseInt(dzi2[2]+""+dzi2[1]+""+dzi2[0]);
				
				
				if(timestamp_1 == timestamp_2 )
				{
					$(cel).className="walidacja_true";
					return true;	
				}
				else
				{
					$(cel).className="walidacja_false";
					return false;
				}				
			}
			else if(typ=='kod_pocztowy')
			{
				if(wartosc.indexOf('-') > 0)
				{
					var kpsi = new Array;
					var kps = wartosc.split('-');
					kpsi[0] = parseInt(kps[0]);
					kpsi[1] = parseInt(kps[1]);
					
					if(isNaN(kpsi[0]) || isNaN(kpsi[1]))
					{
						$(cel).className="walidacja_false";
						return false;
					}
					else if(String(kps[0]).length < 2  || (String(kps[1]).length != 3) )
					{
						$(cel).className="walidacja_false";
						return false;
					}
					else
					{
						$(cel).className="walidacja_true";
						return true;	
					}
				}
				else
				{
					$(cel).className="walidacja_false";
					return false;
				}				
			}
			else if(typ=='checked')
			{
				if($(cel).checked == true)
				{	return true; }
				else
				{	return false;}
				
			}
			else
			{
				$(cel).className="walidacja_true";
				return true;
			}
			
		}
	}
	else
	{ alert('Brak pola '+cel+'');}
}
function fko_wyslij()
{
	var blad = false;
	
	var dane = $('fko_form').getElementsBySelector('[fkh="fko"]')
	dane.each(function(element) 
	{ 
			if(element.lang != '')
			{
				var ide = element.id.replace(/td_/g, "");	
				if(!validacja_form(ide,element.lang,''))
				{
					blad = true;
					
					var pole = $('td_'+ide).innerHTML;
					pole = pole.replace(/:/g, "");
					pole = pole.replace(/\*/g, "");
					$('span_'+ide).innerHTML = "<br> - pole '"+pole+"' nie zostało wypełnione, lub zostało wypełnione błędnie.";	
					
				}
				else
				{
					$('span_'+ide).innerHTML = "";					
				}				
			}
    		
 	 });
	
	if(!blad)
	{
		
		$('fko_operacja').value = 'wyslij_fom';
		$('fko_form').method = 'post';
		$('fko_form').action = document.location;
		$('fko_form').submit();
	}
	
}