//============================================================================================================================
function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}
//============================================================================================================================
function CheckLogin(f,minimum)
{
        if(trim(f.value)!='')
        {
                if(String(f.value).length < minimum) return -2;
                else return true;
        }
        return -1;
}
//============================================================================================================================
function CheskPasword(f_pas,f_rep,minimum)
{
        if(trim(f_pas.value)!='')
        {
                
        
                if(String(f_pas.value).length > minimum)
                {
                        if(f_pas.value!=f_rep.value) return -3;
                        else return true;
                }
                else return -2;
        }
        return -1;
}
//============================================================================================================================
function CheckEmptyText(f)
{
        if(trim(f.value)=='') return false;
        else return true;
}
//============================================================================================================================
function CheckNip(f)
{
        if(trim(f.value)!='')
        {
                var nip = '';
                var wzor = /[0-9]/;
                for(var i=0; i<String(f.value).length; i++) nip+=f.value.charAt(i);
                if(nip.length == 10)
                {
                        var suma = 0;
                        var wagi = new Array(6,5,7,2,3,4,5,6,7);
                        var warunek = false;
                        var last = parseInt(nip.charAt(9));
                        for(var i=0; i<nip.length-1; i++)
                        {
                                suma += wagi[i]*parseInt(nip.charAt(i));
                                if(last!=parseInt(nip.charAt(i))) warunek = true;
                        }
                        var modulo = suma%11;
                        if(modulo==10) modulo = 0;
                        if((modulo==last) && warunek) return true;
                        else return -3;
                }
                else return -2;
        }
        return -1;
}
//============================================================================================================================
function CheckKod(f)
{
        if(trim(f.value)!='')
        {
                var wzor = /^[0-9]{2}-[0-9]{3}$/;
                if(wzor.test(f.value)) return true;
                else return -2;
        }
        else return -1;
}

//============================================================================================================================
function CheckTelefon(f,minimum)
{
        var wzor = /[0-9]/;
        if(trim(f.value)!='')
        {
                if(!wzor.test(f.value)) return -2;
                else return true;
        }
        else return -1;
}
//============================================================================================================================
function CheckEmail(f)
{
        if(trim(f.value)!='')
        {
                var wzor = /^[0-9a-zA-Z.-_]+\@[0-9a-zA-Z.-_]+\.[0-9a-zA-Z.-_]{2,3}$/;
                if(wzor.test(f.value)) return true;
                else return -2;
        }
        else return -1;
}
//============================================================================================================================

/*


	DO DLUMACZENIA


*/




function CheckUser(o,min_log,min_pas,admin,update,lang)
{
        
		if(lang=='pl')
		{
			var kom = 'Uwaga formularz posiada błędy!\n\n';
		}
		else if(lang=='en')
		{
			var kom = 'Attention: there are errors in the form!\n\n';
		}
		else if(lang=='ru')
		{
			var kom = 'Внимание, формуляр содержит ошибки!\n\n';
		}
		else if(lang=='hun')
		{
			var kom = 'Figyelem! A kérdőív hibákat tartalmaz.\n\n';	
		}
						
		
		
        var war = true;
		
		
        
        if(admin)
        {
                var login = CheckLogin(o.user_login,min_log);

                if(login==-1)
                {
                       
					   	if(lang=='pl')
						{
                        	kom += ' - pole \"login\" nie może być puste\n';
						}
						else if(lang=='en')
						{
							kom += ' - Field \"login\" may not be empty \n';
						}
						else if(lang=='ru')
						{
							kom += ' - Поле \"Логин\" не может остаться пустым\n';
						}
						else if(lang=='hun')
						{
							kom += ' - Az \"Név\" mező nem maradhat üres\n';	
						}
						
						war = false;
                        

                }
                else if(login==-2)
                {
        
                        if(min_log==1)
						{
							if(lang=='pl')
							{
								kom += ' - pole \"login\" musi posiadać co najmniej '+min_log+' znak\n';
							}
							else if(lang=='en')
							{
								kom += ' - Field \"login\" musi posiadać co najmniej '+min_log+' znak\n';
							}
							else if(lang=='ru')
							{
								kom += ' - Поле \"Логин\" должен содержать '+min_log+' знаков\n';
							}
							else if(lang=='hun')
							{
								kom += ' - Az \"Név\" muszály, hogy '+min_log+' jelet\n';
							}	
						}
                        else if(min_log>1 && min_log<4)
						{
							if(lang=='pl')
							{
								 kom += ' - pole \"login\" musi posiadać co najmniej '+min_log+' znaki\n';
							}
							else if(lang=='en')
							{
								 kom += ' - Field \"login\" musi posiadać co najmniej '+min_log+' znaki\n';
							}
							else if(lang=='ru')
							{
								 kom += ' - Поле \"Логин\" должен содержать '+min_log+' знаки\n';
							}
							else if(lang=='hun')
							{
								 kom += ' - Az \"Név\" muszály, hogy '+min_log+' jeleket\n';
							}	
						}
                       	else if(min_log>4)
                        {
							if(lang=='pl')
							{
								 kom += ' - pole \"login\" musi posiadać co najmniej '+min_log+' znaki\n';
							}
							else if(lang=='en')
							{
								 kom += ' - Field \"login\" musi posiadać co najmniej '+min_log+' znaki\n';
							}
							else if(lang=='ru')
							{
								 kom += ' - Поле \"Логин\" должен содержать '+min_log+' знаки\n';
							}
							else if(lang=='hun')
							{
								 kom += ' - Az \"Név\" muszály, hogy '+min_log+' jeleket\n';
							}	
						}
						
                        war = false;
                }
        }
        
        
        //if(admin)
        {

                var pass = CheskPasword(o.user_haslo,o.user_haslo_p,min_pas);

                if(pass==-1)
                {
                        if(update)
                        {
                                
								if(lang=='pl')
								{
									 kom += ' - pole \"hasło\" nie może być puste\n';
								}
								else if(lang=='en')
								{
									 kom += ' - Field \"password\" may not be empty \n';
								}
								else if(lang=='ru')
								{
									 kom += ' - Поле \"Пароль\" не может остаться пустым\n';
								}
								else if(lang=='hun')
								{
									 kom += ' - Az \"Jelszó\" mező nem maradhat üres\n';
								}	
								
                                war = false;
                        }
                }
                else if(pass==-2)
                {
                        if(min_pas==1)
						{
								if(lang=='pl')
								{
									 kom += ' - pole \"hasło\" musi posiadać co najmniej '+min_pas+' znak\n';
								}
								else if(lang=='en')
								{
									 kom += ' - Field \"password\" musi posiadać co najmniej '+min_pas+' znak\n';
								}
								else if(lang=='ru')
								{
									 kom += ' - Поле \"Пароль\" должен содержать '+min_pas+' знак\n';
								}
								else if(lang=='hun')
								{
									 kom += ' - Az \"Jelszó\" muszály, hogy '+min_pas+' jelet\n';
								}	
						}
                        else if(min_pas>1 && min_pas<4)
						{
								if(lang=='pl')
								{
									 kom += ' - pole \"hasło\" musi posiadać co najmniej '+min_pas+' znaki\n';
								}
								else if(lang=='en')
								{
									 kom += ' - Field \"password\" musi posiadać co najmniej '+min_pas+' znaki\n';
								}
								else if(lang=='ru')
								{
									 kom += ' - Поле \"Пароль\" должен содержать '+min_pas+' знаки\n';
								}
								else if(lang=='hun')
								{
									 kom += ' - Az \"Jelszó\" muszály, hogy '+min_pas+' jeleket\n';
								}	
						}
						else if(min_pas>4)
                        {
								if(lang=='pl')
								{
									 kom += ' - pole \"hasło\" musi posiadać co najmniej '+min_pas+' znaki\n';
								}
								else if(lang=='en')
								{
									 kom += ' - Field \"password\" musi posiadać co najmniej '+min_pas+' znaki\n';
								}
								else if(lang=='ru')
								{
									 kom += ' - Поле \"Пароль\" должен содержать '+min_pas+' знаки\n';
								}
								else if(lang=='hun')
								{
									 kom += ' - Az \"Jelszó\" muszály, hogy '+min_pas+' jeleket\n';
								}		
						}
						
                        war = false;
                }
                else if(pass==-3)
                {
                        if(lang=='pl')
						{
							 kom += ' - błędnie powtórzone hasło\n';
						}
						else if(lang=='en')
						{
							 kom += ' - Incorrectly repeated password \n';
						}
						else if(lang=='ru')
						{
							 kom += ' - Ошибочно повторенный пароль\n';
						}
						else if(lang=='hun')
						{
							 kom += ' - Helytelenül ismételt jelszó\n';
						}		
						
						war = false;
                }


        }
        
        if(!CheckEmptyText(o.user_firma))
        {
                 
				if(lang=='pl')
				{
					 kom += ' - pole \"nazwa firmy\" nie może być puste\n';
				}
				else if(lang=='en')
				{
					 kom += ' - Field \"Company name\" may not be empty \n';
				}
				else if(lang=='ru')
				{
					 kom += ' - Поле \"тфяцф ашкьн\" не может остаться пустымn';
				}
				else if(lang=='hun')
				{
					 kom += ' - Az \"A cég neve\" mező nem maradhat üres\n';
				}		
				 
				 
                 war = false;
        }
        
        
        var nip = CheckNip(o.user_nip);
        
        if(nip==-1)
        {
                if(lang=='pl')
				{
					 kom += ' - pole \"NIP\" nie może być puste\n';
				}
				else if(lang=='en')
				{
					 kom += ' - Field \"NIP\" may not be empty \n';
				}
				else if(lang=='ru')
				{
					 kom += ' - Поле \"ИНН\" не может остаться пустым\n';
				}
				else if(lang=='hun')
				{
					 kom += ' - Az \"Adó szám\" mező nem maradhat üres\n';
				}	
				
				
                war = false;
        }
        else if(nip==-2)
        {
				if(lang=='pl')
				{
					 kom += ' - pole \"NIP\" musi posiadać 10 znaków\n';
				}
				else if(lang=='en')
				{
					 kom += ' - Field \"NIP\" must have 10 digits \n';
				}
				else if(lang=='ru')
				{
					 kom += ' - Поле \"ИНН\" ”ИНН” должно содержать 10 знаков\n';
				}
				else if(lang=='hun')
				{
					 kom += ' - Az \"Adó szám\" mező 10 jelből kell hogy álljon\n';
				}	
               
               war = false;
        }
        else if(nip==-3)
        {

              	 if(lang=='pl')
				{
					  kom += ' - pole \"NIP\" ma błędną wartość\n';
				}
				else if(lang=='en')
				{
					  kom += ' - Field \"NIP\" has incorrect value\n';
				}
				else if(lang=='ru')
				{
					  kom += ' - Поле \"ИНН\" ”ИНН” имеет ошибочное значение\n';
				}
				else if(lang=='hun')
				{
					  kom += ' - Az \"Adó szám\" mező hibás értékü\n';
				}	
			   
			  
               war = false;
        }
        
        if(!CheckEmptyText(o.user_adres))
        {
                 //kom += ' - pole \"adres\" nie może być puste\n';
                 //war = false;
        }
        
        var kod = CheckKod(o.user_kod);
        
        if(kod==-1)
        {
                //kom += ' - pole \"kod pocztowy\" nie może być puste\n';
                //war = false;
        }
        else if(kod==-2)
        {

				 if(lang=='pl')
				{
					  kom += ' - pole \"kod pocztowy\" ma błędny format [xx-xxx]\n';
				}
				else if(lang=='en')
				{
					  kom += ' - Field \"Post office code\" has incorrect format [xx-xxx]\n';
				}
				else if(lang=='ru')
				{
					  kom += ' - Поле \"Почтовый индекс\" имеет ошибочный формат [xx-xxx]\n';
				}
				else if(lang=='hun')
				{
					 kom += ' - Az \"Irányító szám\" mező hibás formátumu [xx-xxx]\n';
				}	

               
               war = false;
        }
        
        
        if(!CheckEmptyText(o.user_miasto))
        {
                 //kom += ' - pole \"miasto\" nie może być puste\n';
                 //war = false;
        }
        
        var email = CheckEmail(o.user_mail);
        
        if(email==-1)
        {
                
				if(lang=='pl')
				{
					  kom += ' - pole \"email\" nie może być puste\n';
				}
				else if(lang=='en')
				{
					  kom += ' - Field \"email\" may not be empty \n';
				}
				else if(lang=='ru')
				{
					  kom += ' - Поле \"email\" не может остаться пустым\n';
				}
				else if(lang=='hun')
				{
					 kom += ' - Az \"email\" mező nem maradhat üres\n';
				}	
				
				
                war = false;
        }
        else if(email==-2)
        {

				if(lang=='pl')
				{
					  kom += ' - pole \"email\" ma błędny format\n';
				}
				else if(lang=='en')
				{
					  kom += ' - Field \"email\" has incorrect format\n';
				}
				else if(lang=='ru')
				{
					  kom += ' - Поле \"email\" имеет ошибочный формат\n';
				}
				else if(lang=='hun')
				{
					 kom += ' - Az \"email\" mező hibás formátumu\n';
				}	

               
               war = false;
        }

       
        
        var tel = CheckTelefon(o.user_telefon);
        
        if(tel == -1)
        {
                
				if(lang=='pl')
				{
					  kom += ' - pole \"telefon\" nie może być puste\n';
				}
				else if(lang=='en')
				{
					  kom += ' - Field \"Telephone\" may not be empty \n';
				}
				else if(lang=='ru')
				{
					  kom += ' - Поле \"Телефон\" не может остаться пустым\n';
				}
				else if(lang=='hun')
				{
					 kom += ' - Az \"telefon\" mező nem maradhat üres\n';
				}	

				
				
                war = false;
        }
        else if(tel==-2)
        {

                if(lang=='pl')
				{
					  kom += ' - pole \"telefon\" posiada niedozwolone znaki\n';
				}
				else if(lang=='en')
				{
					  kom += ' - Field \"Telephone\" posiada niedozwolone znaki\n';
				}
				else if(lang=='ru')
				{
					  kom += ' - Поле \"Телефон\" содержит запрещенные знаки\n';
				}
				else if(lang=='hun')
				{
					 kom += ' - Az \"telefon\" helytelen jeleket tartalmaz\n';
				}	
			   
				war = false;
        }
        
        if(!CheckEmptyText(o.user_osoba_kontaktowa))
        {
                 
				if(lang=='pl')
				{
					  kom += ' - pole \"osoba kontaktowa\" nie może być puste\n';
				}
				else if(lang=='en')
				{
					  kom += ' - Field \"Contact person\" may not be empty \n';
				}
				else if(lang=='ru')
				{
					  kom += ' - Поле \"Контактное лицо\" не может остаться пустым\n';
				}
				else if(lang=='hun')
				{
					 kom += ' - Az \"Kapcsolatfenntartó személy\" mező nem maradhat üres\n';
				}	
				 
				 
                 war = false;
        }
        
        
        
        if(war) o.submit();
        else alert(kom);
       
}



