String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}

var activeMsg = -2;

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['d_register_form'];

	var fEmail = myForm.f_email;	
	var fPass = myForm.f_pass;
	var fRepass = myForm.f_repass;

	var fCountyId = myForm.f_county;
	var fCityId = myForm.f_city;

	var fPublicUser = myForm.f_public;
    var fUserName = myForm.f_user;


    // 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;
    }

    // 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;
	}

	// judet
	if (validateSelect(fCountyId,"Nu ai selectat judetul!") == false) {
		fCountyId.focus();
		return false;
	}

	// localitate
	if (validateSelect(fCityId,"Nu ai selectat localitatea!") == false) {
		fCityId.focus();
		return false;
	}


	// public user - write nickname
	if (fPublicUser.checked == true) {
		// nickname
		if (validateRequired(fUserName,"Nu ai completat nickname!") == false) {
			fUserName.focus();
			return false;
		}
		if (fUserName.value.length < 4) {
			alert('Nickname-ul trebuie sa contina minim 4 caractere!');
			fUserName.focus();
			return false;
		}
	}

	return true;
}

function changeNickVisibility() {
	var publicUser = document.forms['d_register_form'].f_public;
	var fNick = document.forms['d_register_form'].f_user;
	var myDiv = document.getElementById('p_nick_id');
	myDiv.style.display = 'block';

	if (publicUser.checked == true){
		myDiv.style.display = 'block';
	}
	else {
		myDiv.style.display = 'none';
		fNick.value = '';
	}
}

function validateContact() {
    var myForm = document.forms['d_contact_form'];

	var fEmail = myForm.f_email;	
	var fName = myForm.f_name;
	var fSubject = myForm.f_subject;

    // name
    if (validateRequired(fName,"Nu ai completat numele!") == false) {
	    fName.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;
    }

    // subiect
    if (validateRequired(fSubject,"Nu ai completat subiectul!") == false) {
	    fSubject.focus();
	    return false;
    }

}

function displayMsgDetails(msgId) {
	var detailsArea, activeArea;
	elementId = 'msg_div_' + msgId;
	detailsArea = document.getElementById(elementId);

	if (activeMsg != -1) {
		elementId = 'msg_div_' + activeMsg;		
		activeArea = document.getElementById(elementId);

		if (activeArea != null){
			activeArea.style.display = 'none';
		}
	}

	if (detailsArea != null){
		if (activeMsg != msgId) {
			detailsArea.style.display = 'block';
			activeMsg = msgId;
		}
		else {
			activeMsg = -1;
		}
	}
	else {
		activeMsg = -1;
	}
}