function checkValid(id, msg, regula) {
	var prefix = "* ";
	var suffix = "\n";


	switch(regula) {
		case 'required':
						if (document.getElementById(id).value=="")
							return prefix+msg+suffix;
						break;
		case 'select':
						if (document.getElementById(id).options[document.getElementById(id).selectedIndex].value=="")
							return prefix+msg+suffix;
						break;
		case 'numeric':
						var validch = "0123456789.";
						var isNumber=true;
						var ch;
						var val = document.getElementById(id).value;

						for (i=0; i<val.length && isNumber == true; i++) {
							ch = val.charAt(i);
							if (validch.indexOf(ch) == -1)
								return prefix+msg+suffix;
						}
						break;
		case 'email':
						var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
						if (!filter.test(document.getElementById(id).value.replace(new RegExp("[\\s]+$", "g"), "")))
							return prefix+msg+suffix;
						break;
		case 'integer':
						var filter=/^\d{0,9}$/;
						if (!filter.test(document.getElementById(id).value))
							return prefix+msg+suffix;
						break;
	}
	return "";
}


function checkLength(id, min, max, msg) {

	var prefix = "* ";
	var suffix = "\n";

	if (document.getElementById(id).value.length < min || document.getElementById(id).value.length > max )
	return prefix+msg+suffix
	else
	return ''

}

function checkIdentical(id1, id2, msg) {

	var prefix = "* ";
	var suffix = "\n";

	if (document.getElementById(id1).value != document.getElementById(id2).value)
	return prefix+msg+suffix
	else
	return ''

}


function verificaFormular(which) {
	msg_alert = "Va rugam corectati erorile si incercati din nou:\n";
	msg_alert += "______________________________________________________\n";
	msg_alert += "\n";
	switch(which) {
		case "login":
					msg = "";
					msg += checkValid("user", "Trebuie sa specificati o adresa de e-mail.", "required");
					msg += checkValid("user", "Trebuie sa specificati o adresa de e-mail corecta.", "email");
					msg += checkValid("password", "Trebuie sa specificati o parola.", "required");
					msg += checkLength("password", 5, 16, "Trebuie sa specificati o parola cu o lungime intre 5 si 16 caractere!");
					break;
		case "register":
					msg = "";
					msg += checkValid("new_user", "Trebuie sa specificati noua adresa de e-mail.", "required");
					msg += checkValid("new_user", "Trebuie sa specificati o adresa de e-mail corecta.", "email");
					msg += checkLength("new_name", 4, 50, "Trebuie sa introduceti numele real asociat contului!");
					msg += checkValid("new_password", "Trebuie sa specificati parola noua.", "required");
					msg += checkLength("new_password", 5, 16, "Trebuie sa specificati o parola cu o lungime intre 5 si 16 caractere!");
					msg += checkValid("new_confirmation", "Trebuie sa confirmati parola noua.", "required");
					msg += checkLength("new_confirmation", 5, 16, "Trebuie sa specificati o parola cu o lungime intre 5 si 16 caractere!");
					msg += checkIdentical("new_confirmation","new_password", "Parolele nu sunt identice.");
					break;
		case "modifica_parola":
					msg = "";
					msg += checkValid("old_password", "Trebuie sa specificati parola actuala.", "required");
					msg += checkValid("password", "Trebuie sa specificati parola noua.", "required");
					msg += checkLength("password", 5, 16, "Trebuie sa specificati o parola cu o lungime intre 5 si 16 caractere!");
					msg += checkValid("confirmation", "Trebuie sa confirmati parola noua.", "required");
					msg += checkIdentical("password","confirmation", "Parolele nu sunt identice.");
					break;
		case "modifica_email":
					msg = "";
					msg += checkValid("email_address", "Trebuie sa specificati noua adresa de e-mail.", "required");
					msg += checkValid("email_address", "Trebuie sa specificati o adresa de e-mail corecta.", "email");
					msg += checkValid("confirmation_email_address", "Trebuie sa confirmati noua adresa de e-mail.", "email");
					msg += checkIdentical("email_address","confirmation_email_address", "Adresele de e-mail furnizate nu sunt identice.");
					break;
		case "modifica_detalii":
					msg = "";
					msg += checkValid("name", "Trebuie sa specificati numele dvs.", "required");
					msg += checkValid("mobile", "Trebuie sa specificati telefonul dvs", "required");
					msg += checkValid("cnp", "Trebuie sa specificati CNP-ul dvs", "required");
					msg += checkValid("cnp", "Trebuie sa specificati CNP-ul dvs", "numeric");
					msg += checkValid("street_address", "Trebuie sa specificati adresa dvs.", "required");
					msg += checkValid("city", "Trebuie sa specificati orasul dvs", "required");
					msg += checkValid("judet", "Trebuie sa specificati judetul dvs.", "select");
					break;
		case "modifica_firma":
					msg = "";
					msg += checkValid("company_name", "Trebuie sa specificati numele firmei", "required");
					msg += checkValid("prefcode", "Trebuie sa specificati codul fiscal", "select");
					msg += checkValid("code", "Trebuie sa specificati codul fiscal", "required");
					msg += checkValid("code", "Trebuie sa specificati codul fiscal", "numeric");
					msg += checkValid("banca", "Trebuie sa specificati banca", "required");
					msg += checkValid("IBAN", "Trebuie sa specificati contul bancii", "required");
					msg += checkValid("J", "Trebuie sa specificati numarul de la registru comertului", "select");
					msg += checkValid("J1", "Trebuie sa specificati numarul de la registru comertului", "select");
					msg += checkValid("J2", "Trebuie sa specificati numarul de la registru comertului", "required");
					msg += checkValid("J2", "Trebuie sa specificati numarul de la registru comertului", "numeric");
					msg += checkValid("J3", "Trebuie sa specificati numarul de la registru comertului", "select");
					msg += checkValid("address", "Trebuie sa specificati adresa dvs.", "required");
					msg += checkValid("oras", "Trebuie sa specificati orasul dvs", "required");
					msg += checkValid("district", "Trebuie sa specificati judetul dvs.", "select");
					msg += checkValid("tel_contact", "Trebuie sa specificati un telefon de contact", "required");
					break;
		case "finish":
					msg = "";
					msg += checkRadio("finish","cumparator", "Trebuie sa specificati un cumparator");
					msg += checkRadio("finish","modalitate_plata", "Trebuie sa specificati o modalitate de plata");
					msg += checkValid("adresa_livrare", "Trebuie sa specificati adresa de livrare", "required");
					msg += checkValid("serie_buletin", "Trebuie sa specificati seria de cartii de identitate","required");
					msg += checkValid("numar_buletin", "Trebuie sa specificati numarul cartii de identitate","numeric");
					msg += checkLength("numar_buletin", 6, 6, "Numarul cartii de identitate trebuie sa aiba 6 cifre");
					break;
		}
	if (msg != "") {
		alert(msg_alert+msg);
		return false;
	}
	return true;
}

function checkRadio(form_name,radio_name,msg)
{

	var radio_choice = false;
	var prefix = "* ";
	var suffix = "\n";
	radio_obj = eval('document.'+form_name+'.'+radio_name);

	if (radio_obj.checked) {
		radio_choice = true;
	} else {
		for (counter = 0; counter < radio_obj.length; counter++)
		{

			if (radio_obj[counter].checked) {
				radio_choice = true;
				break;
			}
		}
	}

	if (!radio_choice) {
		return prefix+msg+suffix;
	}
	    return '';
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}
