String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}

function validateRequired(field,alerttxt) {
	with (field) {
		if (value == null || value.trim() == "") {
			alert(alerttxt);
			return false;
		}
		else {
			return true;
		}
	}
}

function validateSelect(field,alerttxt) {
	with (field) {
		if (value == null || value == 0) {
			alert(alerttxt);
			return false;
		}
		else {
			return true;
		}
	}
}

function validateRadio(btn) {
    var cnt = -1;
    for (var i=btn.length-1; i > -1; i--) {
        if (btn[i].checked) 
			{cnt = i; i = -1;}
    }
    if (cnt > -1) 
		return btn[cnt].value;
    else 
		return null;
}

function validateEmail(field,alerttxt) {
	with (field) {
		apos=value.indexOf("@")
		dotpos=value.lastIndexOf(".")
		if (apos<1||dotpos-apos<2) {
		  alert(alerttxt);
		  return false;
		}
		else {
			return true;
		}
	}
}

function validateRegistration() {
    var myForm = document.forms['new_member'];
    
	var fName = myForm.f_name;
	var fSurName = myForm.f_surname;
	var fEmail = myForm.f_email;
	var fAddress = myForm.f_address;
	var fJob = myForm.f_job;
	var fSex = myForm.f_sex;
	var fEducation = myForm.f_education;
	var fDay = myForm.f_d_day;
	var fMonth = myForm.f_d_month;
	var fYear = myForm.f_d_year;

	var fPass = myForm.f_pass;
	var fRepass = myForm.f_repass;

	var fTC = myForm.f_tc;

    // nume
    if (validateRequired(fName,"Nu ai completat numele!") == false) {
	    fName.focus();
	    return false;
    }

    // prenume
    if (validateRequired(fSurName,"Nu ai completat prenumele!") == false) {
	    fSurName.focus();
	    return false;
    }

    // email
    if (validateRequired(fEmail,"Nu ai completat adresa ta email!") == false) {
	    fEmail.focus();
	    return false;
    }
    if (validateEmail(fEmail,"Adresa de email introdusa este incorecta!") == false) {
	    fEmail.focus();
	    return false;
    }

    // adresa
    if (validateRequired(fAddress,"Nu ai completat adresa!") == false) {
	    fAddress.focus();
	    return false;
    }

    // ocupatie
    if (validateRequired(fJob,"Nu ai completat ocupatie!") == false) {
	    fJob.focus();
	    return false;
    }

	// sex
	if (validateRadio(fSex) == null) {
	    alert("Nu ai completat sex !");
	    return false;
	}

	// educatie
	if (validateSelect(fEducation,"Nu ai selectat nivelul de educatie!") == false) {
		fEducation.focus();
		return false;
	}

	// zi nastere
	if (validateSelect(fDay,"Nu ai selectat ziua de nastere!") == false) {
		fDay.focus();
		return false;
	}

	// luna nastere
	if (validateSelect(fMonth,"Nu ai selectat luna de nastere!") == false) {
		fMonth.focus();
		return false;
	}

	// an nastere
	if (validateSelect(fYear,"Nu ai selectat anul de nastere!") == false) {
		fYear.focus();
		return false;
	}

    // parola
    if (validateRequired(fPass,"Nu ai completat parola!") == false) {
	    fPass.focus();
	    return false;
    }
	if (fPass.value.length < 4) {
		alert('Parola trebuie sa contina minim 4 caractere!');
	    fPass.focus();
	    return false;
	}

    // reintroducere parola
    if (validateRequired(fRepass,"Reintrodu parola!") == false) {
	    fRepass.focus();
	    return false;
    }

	// validare parola reintordusa
	if (fPass.value != fRepass.value){
	    alert("Parola reintrodusa este diferita de parola initiala!");
		fRepass.focus();
	    return false;
	}

	// validare termeni si conditii
	if (!fTC.checked) {
	    alert("Nu ai acceptat regulamentul de participare!");
		return false;
	}

	return true;
}


