function validateAcco(form)
{ 
  
	if (isNotEmpty(form.name))
	if (validateCategory(form.category))
	if (validateLandRegion(form.land, form.region))
	if (isEmail(form.email,"deutsch"))
	if (isURL(form.www))
	if (isPrice(form.price))
		return true;
	return false;
}

function isURL(elem)
{
	if (!isNotEmpty(elem)) return true;
    var str = elem.value;
    var re = new RegExp("^[A-Za-z]+://[A-Za-z0-9-]+\.[A-Za-z0-9]+");
    if (!str.match(re)) 
    {
      alert("Website Addresse ist nicht korrekt.\nBitte koriegieren Sie.");
      elem.focus();
      elem.select();
      return false;
    } 
    else 
    {
        return true;
    }
}

function validateLandRegion(land,region)
{
	if (land.value == '---')
	{
    	alert("Bitte wählen Sie das Land.");
        return false;
	}
	else
	if (land.value == 'Wien')
	{
        return true;
	}
	else	if (region.value == '---')
	{
    	alert("Bitte wählen Sie die Region.");
        return false;
	}
    return true;
}

function validateCategory(elem)
{
	
	if (elem.value == '---')
	{
    	alert("Bitte wählen Sie die Kategorie.");
        return false;
	}
    return true;
}


function clientValidate(form)
{ 
  
  //check if required fields are not empty
  if (isNotEmpty(form.login)) {
   if (isAlphanumeric(form.login, 'deutsch')) {
    if (isNotEmpty(form.password)) {
     if (isPassword(form.password, 'deutsch')) {
      if (isNotEmpty(form.passwordrepeat)) {
       if (isNotEmpty(form.email)) {
	    if (isNotEmpty(form.emailrepeat)) {
	     if (isNotEmpty(form.companyorowner)) {
	      if (isEqual(form.passwordrepeat, form.password)) {
	       if (isEmail(form.email), 'deutsch') {
	        if (isEqual(form.emailrepeat, form.email))
	         return true;
	     								}
	    							}	    	
								}
							}
						}
					}
				}
			}
		}
	}
					
	return false;
}

function validateEditUser(form)
{
  if (isNotEmptyPL(form.login)) {
   if (isAlphanumeric(form.login, 'polski')) {
    if (isNotEmptyPL(form.password)) {
     if (isPassword(form.password, 'polski')) {
      if (isNotEmptyPL(form.companyorowner)) {
       if (isNotEmptyPL(form.email)) {
        if (isEmail(form.email, 'polski')) {        
         
          return true;
         
        }
       }
      }
     }
    }
   }
  }
 return false;
}

function validateEmailChange(form)
{
	if (isEmail(form.email,'deutsch'))
		if (isEqual(form.emailrepeat,form.email))
			return true;
	return false;
}

function validatePasswordChange(form)
{
	if (isPassword(form.newpassword,'deutsch'))
		if (isEqual(form.newpasswordrepeat,form.newpassword))
			return true;
	return false;
}


function isEmail(elem, language)
{
	if (!isNotEmpty(elem)) return true;
    var str = elem.value;
    var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
    if (!str.match(re)) 
    {
      if(language=='deutsch')
        alert("E-Mail-Adresse ist nicht korrekt.\nBitte koriegieren Sie.");
      else
        alert("Nieprawidłowy adres email.\nProszę poprawić.");
      
      elem.focus();
      elem.select();
      return false;
    } 
    else 
    {
        return true;
    }
}

function isAlphanumeric(elem, language)
{
	var str = elem.value;
	var re = /^[a-zA-Z0-9_]{5,15}$/;
	if (!str.match(re)) 
    {
    	if(language=='deutsch')
    		alert("Mitgliedsname ist nicht korrekt, mann muss 5 bis 15 Zeichnen anwenden.\nNur Buchstaben, Ziffern und die Unterstreichung sind erlaubt.\nBitte koriegieren Sie.");
    	else
    		alert("Login musi zawierać od 5 do 15 znaków.\nJedynie litery, cyfry oraz znak podkreślania są dozwolone.\nProszę poprawić pole");
    	
    	elem.focus();
     	elem.select();
        return false;
    } 
    else 
    {
        return true;
    }
}
function isPassword(elem, language)
{
	var str = elem.value;
	var re = /^[^'"]{5,15}$/;
	if (!str.match(re)) 
    {
    	if(language=='deutsch')
    		alert("Passwort ist nicht korrekt, mann muss 5 bis 15 Zeichnen anwenden.\nDer Apostroph und das Anführungszeichen sind nicht erlaubt.\nBitte koriegieren Sie.");
    	else
    		alert("Hasło musi zawierać od 5 do 15 znaków.\nApostrof oraz cudzysłów są niedozwolone.\nProszę poprawić pole");
    	
    	elem.focus();
     	elem.select();
        return false;
    } 
    else 
    {
        return true;
    }
}

function isNotEmpty(elem) {
    var str = elem.value;
    
    if(str == null || str.length == 0) 
    {
     switch(elem.name)
     {
     	case "login":
        	alert("Mitgliedsname kann nicht leer sein.\nBitte füllen Sie dieses Feld aus.");        	
        break;
        
        case "password":
        	alert("Passwort kann nicht leer sein.\nBitte füllen Sie dieses Feld aus.");
        break;
        
        case "passwordrepeat":
        	alert("Wiederholen Sie bitte Password.");
        break;
        
        case "email":
        	alert("Email kann nicht leer sein.\nBitte füllen Sie dieses Feld aus.");
        break;
        
        case "emailrepeat":
        	alert("Wiederholen Sie bitte E-Mail Adresse.");
        break;
        
        case "companyorowner":
        	alert("Schreiben Sie bitte Ihren Geschäftsname oder Ihren persönliche Daten.");
        break;       

        case "name":
        	alert("Bitte wählen Sie den Name.");
        break;
     }  
     elem.focus();
     elem.select();
     return false;
    } 
    else 
    {
        return true;
    }
}

function isEqual(repeated, original)
{
	if (repeated.value != original.value)
	{
		switch(original.name)
		{
			case "email":
				alert("E-Mail-Adresse ist nicht gleich.\nKorrigieren Sie bitte.");
			break;
			case "password":
				alert("Passwort ist nicht gleich.\nKorrigieren Sie bitte.");
			break;
			case "adminpassword":
				alert("Uwaga! Hasła nie są jednakowe!");
			break;
		}
		return false;
	}
	
	return true;	
}
function isPrice(elem)
{
	var str = elem.value;
	var re = /^[0-9]{1,3}$/;
	if (!str.match(re)) 
    {
    	alert("Der Preis soll Ganzzahl sein. Bitte korrigieren Sie.");
    	elem.focus();
     	elem.select();
        return false;
    } 
    else 
    {
        return true;
    }
}

function isNotEmptyPL(elem) {
    var str = elem.value;
    
    if(str == null || str.length == 0) 
    {
     switch(elem.name)
     {
     	case "login":
        	alert("Login nie może być pusty.\nProszę poprawić to pole.");        	
        break;
        
        case "password":
        	alert("Hasło nie może być puste.\nProszę poprawić to pole."); 
        break;
               
        case "email":
        	alert("Email nie może być pusty.\nProszę poprawić to pole.");
        break;

        case "companyorowner":
        	alert("Proszę podać imię i nazwisko właściciela lub nazwę firmy.");
        break;       
     }  
     elem.focus();
     elem.select();
     return false;
    } 
    else 
    {
        return true;
    }
}

