/*login*/
function check_login(form)
{
	if (form.username.value == "" || form.username.value.length < 6){
		alert("Trebuie sa introduceti utilizatorul !\n(minim 6 caractere)");
		form.username.focus();
		form.username.select();
		return false;
	}
	if (form.parola.value == "" || form.parola.value.length < 6){
		alert("Trebuie sa introduceti parola !\n(minim 6 caractere)");
		form.parola.focus();
		form.parola.select();
		return false;
	}
	return true;
}

/*textarea*/
function textareaCounter(field, maxlimit) {
	// text width//
	var fieldWidth =  parseInt(field.offsetWidth);
	var charcnt = field.value.length;        

	// trim the extra text
	if (charcnt > maxlimit) { 
		field.value = field.value.substring(0, maxlimit);
	}
}

/*bucuresti*/
function bucuresti(form)
{
	if(form.judet.options[form.judet.selectedIndex].value == 1) {
		form.oras.value = "Bucuresti";
	}
}

/*buy*/
function check_payFinal(form)
{
	if (form.modal.checked) {
		alert("Alegerea unei modalitati de plata este obligatorie !");
		form.modal.focus();
		return false;
	}

	if (!form.acord.checked) {
		alert("Citirea si acceptarea termenilor si conditiilor de utilizare\neste obligatorie pentru finalizarea comenzii !");
		form.acord.focus();
		return false;
	}
}

function check_quant(camp, stock)
{	
	var qm = camp.value;
	var qmPat = /^[1-9][0-9]?$/;
	var qmArray = qm.match(qmPat);
	if (qmArray == null) {
		alert("Numarul articolelor trebuie completat corect !\n(maxim 99)");
		camp.focus();
		camp.select();
		return false;
	}
			
	if(parseInt(camp.value) < 1){
		alert("Cantitatea trebuie sa fie un numar mai mare decat 0 !");
		camp.focus();
		camp.select();
		return false;
	}

	if(parseInt(camp.value) > stock){
		alert("Pentru acest articol, stocul este limitat la " + stock + " bucati !");
		camp.focus();
		camp.select();
		return false;
	}
}

function check_quantAll(form)
{	
	var valori = document.getElementsByName("myCart[]");
	var stocuri = document.getElementsByName("myStock[]");

	for (var i = 0; i < valori.length; i++) {
		var qm = valori[i].value;
		var qmPat = /^\d{1,2}$/;
		var qmArray = qm.match(qmPat);
		if (qmArray == null) {
			alert("Numarul articolelor trebuie completat corect !\n(maxim 99)");
			valori[i].focus();
			valori[i].select();
			return false;
		}
				
		if(parseInt(valori[i].value) < 1){
			alert("Cantitatea trebuie sa fie un numar mai mare decat 0 !");
			valori[i].focus();
			valori[i].select();
			return false;
		}

		if(parseInt(valori[i].value) > parseInt(stocuri[i].value)){
			if(stocuri[i].value == 0) alert("Pentru acest articol, stocul este epuizat !\nStergeti articolul din cos !");
			else alert("Pentru acest articol, stocul este limitat la " + stocuri[i].value + " bucati !");
			valori[i].focus();
			valori[i].select();
			return false;
		}
	}
}

/*stoc*/
function check_chpret(form)
{
	var valori = document.getElementsByName("upret[]");

	for (var i = 0; i < valori.length; i++) {

		if(valori[i].value == "0" || valori[i].value == "0.0" || valori[i].value == "0.00") {
			alert("Valoarea pentru campul "+(i+1)+" trebuie sa fie mai mare decat 0 !");
			valori[i].focus();
			valori[i].select();
			return false;
		}

		var tn = valori[i].value;
		var tnPat = /^(0|([1-9](\d{1,2})?))(\.(\d{1,2}))?$/;
		var tnArray = tn.match(tnPat);
		if (tnArray == null) {
			alert("Valoarea pentru campul "+(i+1)+" trebuie completata corect !\n(maxim 999.99)");
			valori[i].focus();
			valori[i].select();
			return false;
		}
	}
}

function check_chstoc(form)
{
	var qm = form.cgstoc.value;
	var qmPat = /^\d{1,3}$/;
	var qmArray = qm.match(qmPat);
	if (qmArray == null) {
		alert("Stocul trebuie sa fie un numar !\n(maxim 999)");
		form.cgstoc.focus();
		form.cgstoc.select();
		return false;
	}
}

/*client add*/
function check_clAdd(form)
{
	if(form.nume.value == "" || form.nume.value.length < 3) {
		alert("Numele Dvs. trebuie completat !\n(minim 3 caractere)");
		form.nume.focus();
		form.nume.select();
		return false;
	}

	if(form.pnume.value == "" || form.pnume.value.length < 3) {
		alert("Prenumele Dvs. trebuie completat !\n(minim 3 caractere)");
		form.pnume.focus();
		form.pnume.select();
		return false;
	}

	if(form.judet.options[form.judet.selectedIndex].value == 0) {
		alert("Judetul trebuie selectat !");
		form.judet.focus();
		return false;
	}

	if(form.judet.options[form.judet.selectedIndex].value == 1 && form.oras.value.toLowerCase() != "bucuresti") {
		alert("In cazul alegerii Bucurestiului, atat judetul cat si orasul trebuie completate cu Bucuresti !");
		form.oras.focus();
		form.oras.select();
		return false;
	}

	if(form.sector.value != "") {
		var se = form.sector.value;
		var sePat = /^[123456]$/;
		var seArray = se.match(sePat);
		if (seArray == null) {
			alert("Sectorul trebuie completat corect !\n(o cifra de la 1 la 6)");
			form.sector.focus();
			form.sector.select();
			return false;
		}
	}

	if(form.oras.value == "" || form.oras.value.length < 2) {
		alert("Orasul trebuie completat !");
		form.oras.focus();
		form.oras.select();
		return false;
	}

	if(form.codpost.value != "") {
		var cp = form.codpost.value;
		var cpPat = /^\d{6}$/;
		var cpArray = cp.match(cpPat);
		if (cpArray == null) {
			alert("Codul postal trebuie completat !\n(6 cifre)");
			form.codpost.focus();
			form.codpost.select();
			return false;
		}
	}

	if(form.str.value == "" || form.str.value.length < 3) {
		alert("Strada trebuie completata corect !\n(minim 3 caractere)");
		form.str.focus();
		form.str.select();
		return false;
	}

	if(form.nr.value == "") {
		alert("Numarul strazii trebuie completat corect !\n(minim 1 caracter)");
		form.nr.focus();
		form.nr.select();
		return false;
	}

	if(form.et.value != "") {
		var ep = form.et.value;
		var epPat = /^[1-9][0-9]?$/;
		var epArray = ep.match(epPat);
		if (epArray == null) {
			alert("Etajul trebuie completat corect!\n(1 sau 2 cifre)");
			form.et.focus();
			form.et.select();
			return false;
		}
	}

	var cnp = form.cnp.value;
	var cnpPat = /^([1-9]\d{12})$/;
	var cnpArray = cnp.match(cnpPat);
	if (cnpArray == null) {
		alert("CNP-ul persoanei trebuie completat corect !\n(format din 13 cifre)");
		form.cnp.focus();
		form.cnp.select();
		return false;
	}

	var bu = form.bul.value;
	var buPat = /^([a-zA-Z]{2}\d{6})$/;
	var buArray = bu.match(buPat);
	if (buArray == null) {
		alert("Seria si numarul de BI/CI trebuie completate corect !\n(format XH123456)");
		form.bul.focus();
		form.bul.select();
		return false;
	}

	if(form.sec.value == "" || form.sec.value.length < 2) {
		alert("Sectia emitenta a actului de identitate trebuie completata !\n(minim 2 caractere)");
		form.sec.focus();
		form.sec.select();
		return false;
	}

	if(form.telf.value != "" && form.telm.value == "") {
		var tf = form.telf.value;
		var tfPat = /^\d{10}$/;
		var tfArray = tf.match(tfPat);
		if (tfArray == null) {
			alert("Campul pentru telefonul fix trebuie sa fie un numar !\n(10 cifre)");
			form.telf.focus();
			form.telf.select();
			return false;
		}
	}

	if(form.telf.value == "" && form.telm.value != "") {
		var tm = form.telm.value;
		var tmPat = /^\d{10}$/;
		var tmArray = tm.match(tmPat);
		if (tmArray == null) {
			alert("Campul pentru telefonul mobil trebuie sa fie un numar !\n(10 cifre)");
			form.telm.focus();
			form.telm.select();
			return false;
		}
	}

	if((form.telf.value != "" && form.telm.value != "") || (form.telf.value == "" && form.telm.value == "")) {
		var tf = form.telf.value;
		var tfPat = /^\d{10}$/;
		var tfArray = tf.match(tfPat);
		if (tfArray == null) {
			alert("Campul pentru telefonul fix trebuie sa fie un numar !\n(10 cifre)");
			form.telf.focus();
			form.telf.select();
			return false;
		}
		
		var tm = form.telm.value;
		var tmPat = /^\d{10}$/;
		var tmArray = tm.match(tmPat);
		if (tmArray == null) {
			alert("Campul pentru telefonul mobil trebuie sa fie un numar !\n(10 cifre)");
			form.telm.focus();
			form.telm.select();
			return false;
		}
	}

	if(form.email.value == "") {
		alert("Adresa de e-mail trebuie completata !");
		form.email.focus();
		form.email.select();
		return false;
	}

	if(form.email.value != "") {
		var filter=/^(\w+(?:\.\w+)*)@((?:\w+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
		if(!filter.test(form.email.value)) {
			alert("Adresa de e-mail este invalida !");
			form.email.focus();
			form.email.select();
			return false;
		}
	}

	if(form.firma.value != "" || form.cf.value != "" || form.nreg.value != "" || form.banca.value != "" || form.iban.value != ""){
		if(form.firma.value == "" || form.firma.value.length < 5) {
			alert("Numele firmei trebuie completat !\n(minim 5 caractere)");
			form.firma.focus();
			form.firma.select();
			return false;
		}

		var bu = form.cf.value;
		var buPat = /^([Rr][Oo])?\d{5,8}$/;
		var buArray = bu.match(buPat);
		if (buArray == null) {
			alert("Codul unic de inregistrare al firmei trebuie completat !\nminim 5 cifre\nprecedate de RO pentru firmele platitoare de TVA");
			form.cf.focus();
			form.cf.select();
			return false;
		}

		if(form.nreg.value == "" || form.nreg.value.length < 10) {
			alert("Nr. ord. reg. comertului trebuie completat !\n(minim 10 caractere)");
			form.nreg.focus();
			form.nreg.select();
			return false;
		}

		var nu = form.nreg.value;
		var nuPat = /^J\d{2}\/\d{1,5}\/\d{4}$/;
		var nuArray = nu.match(nuPat);
		if (nuArray == null) {
			alert("Nr. ord. reg. comertului trebuie completat !\n(minim 10 caractere)");
			form.nreg.focus();
			form.nreg.select();
			return false;
		}

		if(form.banca.value == "" || form.banca.value.length < 7) {
			alert("Numele bancii trebuie completat !\n(minim 7 caractere)");
			form.banca.focus();
			form.banca.select();
			return false;
		}

		var iba = form.iban.value;
		var ibaPat = /^[Rr][Oo]\d{2}[a-zA-Z]{4}[0-9a-zA-Z]{16}$/;
		var ibaArray = iba.match(ibaPat);
		if (ibaArray == null) {
			alert("Codul IBAN trebuie completat corect !\n(format ROxxxxxxxxxxxxxxxxxxxxxx - 24 caractere)");
			form.iban.focus();
			form.iban.select();
			return false;
		}
	}
	/*
	if(form.totals.value == "0" || form.totals.value == "0.0" || form.totals.value == "0.00") {
		alert("Valoarea totala a comenzii trebuie completata corect !\n(maxim 9999.99)");
		form.totals.focus();
		form.totals.select();
		return false;
	}

	var tn = form.totals.value;
	var tnPat = /^(0|([1-9](\d{1,3})?))(\.(\d{1,2}))?$/;
	var tnArray = tn.match(tnPat);
	if (tnArray == null) {
		alert("Valoarea totala a comenzii trebuie completata corect !\n(maxim 9999.99)");
		form.totals.focus();
		form.totals.select();
		return false;
	}
	*/
}

/*rose add*/
function check_roseAdd(form)
{
	if(form.roseID.value == "" || form.roseID.value.length > 3) {
		alert("Codul trandafirului trebuie completat !\n(maxim 3 caractere)");
		form.roseID.focus();
		form.roseID.select();
		return false;
	}

	var iba = form.roseID.value;
		var ibaPat = /^[0-9a-zA-Z]{3}$/;
		var ibaArray = iba.match(ibaPat);
		if (ibaArray == null) {
			alert("Codul trandafirului contine doar litere si cifre !");
			form.roseID.focus();
			form.roseID.select();
			return false;
		}

	if(form.name.value == "" || form.name.value.length < 3) {
		alert("Denumirea trandafirului trebuie completata !\n(minim 3 caractere)");
		form.name.focus();
		form.name.select();
		return false;
	}

	if(form.autor.value == "" || form.autor.value.length < 3) {
		alert("Numele autorului trebuie completat !\n(minim 3 caractere)");
		form.autor.focus();
		form.autor.select();
		return false;
	}

	if(form.clasa.options[form.clasa.selectedIndex].value == 9) {
		alert("Clasa trebuie selectata !");
		form.clasa.focus();
		return false;
	}

	if(form.elita.options[form.elita.selectedIndex].value == 9) {
		alert("Elita trebuie selectata !");
		form.elita.focus();
		return false;
	}

	if(form.pret.options[form.pret.selectedIndex].value == 9) {
		alert("Categoria de pret trebuie selectata !");
		form.pret.focus();
		return false;
	}

	if(form.tufah.value == "" || form.tufah.value.length < 2) {
		alert("Inaltimea tufei trebuie completata !\n(minim 3 caractere)");
		form.tufah.focus();
		form.tufah.select();
		return false;
	}

	if(form.tufad.value == "" || form.tufad.value.length < 2) {
		alert("Diametrul tufei trebuie completata !\n(minim 3 caractere)");
		form.tufad.focus();
		form.tufad.select();
		return false;
	}

	if(form.tufades.value == "" || form.tufades.value.length < 2) {
		alert("Desimea plantarii trebuie completata !\n(minim 3 caractere)");
		form.tufades.focus();
		form.tufades.select();
		return false;
	}

	if(form.flowerD.value == "" || form.flowerD.value.length < 2) {
		alert("Diametrul florii trebuie completat !\n(minim 3 caractere)");
		form.flowerD.focus();
		form.flowerD.select();
		return false;
	}

	if(form.flowerF1.options[form.flowerF1.selectedIndex].value == 9) {
		alert("Forma trebuie selectata !");
		form.flowerF1.focus();
		return false;
	}

	if(form.flowerF2.options[form.flowerF2.selectedIndex].value == 9) {
		alert("Forma speciala trebuie selectata !");
		form.flowerF2.focus();
		return false;
	}

	if(form.parfume.options[form.parfume.selectedIndex].value == 9) {
		alert("Parfumul trebuie selectat !");
		form.parfume.focus();
		return false;
	}

	if(form.foliaj.options[form.foliaj.selectedIndex].value == 9) {
		alert("Foliajul trebuie selectat !");
		form.foliaj.focus();
		return false;
	}

	if(form.ger.options[form.ger.selectedIndex].value == 9) {
		alert("Gerul trebuie selectat !");
		form.ger.focus();
		return false;
	}

	if(form.patare.options[form.patare.selectedIndex].value == 9) {
		alert("Patarea trebuie selectata !");
		form.patare.focus();
		return false;
	}

	if(form.fainare.options[form.fainare.selectedIndex].value == 9) {
		alert("Fainarea trebuie selectata !");
		form.fainare.focus();
		return false;
	}
}

/*comanda pay*/
function check_pay(form, sumacmd, valpart) {
	//var valori = form.elements('myInputs1[]');
	//var ramburs = form.elements('myInputs2[]');
	var valori = document.getElementsByName("myInputs1[]");
	var ramburs = document.getElementsByName("myInputs2[]");
	var tot = 0;

	for (var i = 0; i < valori.length; i++) {
		tot += parseFloat(valori[i].value);

		if(valori[i].value == "0" || valori[i].value == "0.0" || valori[i].value == "0.00") {
			alert("Valoarea pentru campul "+(i+1)+" trebuie sa fie mai mare decat 0 !\n");
			valori[i].focus();
			valori[i].select();
			return false;
		}

		var tn = valori[i].value;
		var tnPat = /^(0|([1-9](\d{1,3})?))(\.(\d{1,2}))?$/;
		var tnArray = tn.match(tnPat);
		if (tnArray == null) {
			alert("Valoarea pentru campul "+(i+1)+" trebuie completata corect !\n(maxim 9999.99)");
			valori[i].focus();
			valori[i].select();
			return false;
		}

		if(ramburs[i].value == "0" || ramburs[i].value == "0.0" || ramburs[i].value == "0.00") {
			alert("Ramburs pentru campul "+(i+1)+" trebuie completata corect !\n(maxim 9999.99)");
			ramburs[i].focus();
			ramburs[i].select();
			return false;
		}

		var tn = ramburs[i].value;
		var tnPat = /^(0|([1-9](\d{1,3})?))(\.(\d{1,2}))?$/;
		var tnArray = tn.match(tnPat);
		if (tnArray == null) {
			alert("Ramburs pentru campul "+(i+1)+" trebuie completata corect !\n(maxim 9999.99)");
			ramburs[i].focus();
			ramburs[i].select();
			return false;
		}

		if(parseFloat(valori[i].value) > parseFloat(ramburs[i].value)) {
			alert("Valoarea trebuie sa fie mai mica decat ramburs la randul "+(i+1)+" !");
			valori[i].focus();
			valori[i].select();
			return false;
		}
	}

	var tt = parseFloat(tot) + parseFloat(valpart);
	if(parseFloat(sumacmd) < tt) {
		alert("Valoarea comenzii de "+sumacmd+" este mai mica decat suma valorilor "+tt+"!\nEle trebuie sa fie egale !");
		return false;
	}
}

/*centralizator excel*/
function check_excel1(form) {
	if(form.cmd1Search.value != '') {
		if(isNaN(form.cmd1Search.value)) {
			alert("Campul 1 trebuie sa fie un numar !")
			form.cmd1Search.focus();
			form.cmd1Search.select();
			return false;
		}

		if(form.cmd1Search.value < 1) {
			alert("Campul 1 trebuie sa fie un numar pozitiv mai mare dacat 1 !")
			form.cmd1Search.focus();
			form.cmd1Search.select();
			return false;
		}
	}

	if(form.cmd2Search.value != '') {
		if(isNaN(form.cmd2Search.value)) {
			alert("Campul 2 trebuie sa fie un numar !")
			form.cmd1Search.focus();
			form.cmd1Search.select();
			return false;
		}

		if(form.cmd2Search.value < 1) {
			alert("Campul 2 trebuie sa fie un numar pozitiv mai mare dacat 1 !")
			form.cmd2Search.focus();
			form.cmd2Search.select();
			return false;
		}
	}

	if(form.cmd1Search.value != "" && form.cmd2Search.value != "" && Number(form.cmd1Search.value) >= Number(form.cmd2Search.value)) {
		alert("Limitele intervalului sunt incorecte !")
		form.cmd2Search.focus();
		form.cmd2Search.select();
		return false;
	}
}

function check_excel2(form) {
	var myDate = new Date();
	var mynow1  = (myDate.getMonth()+1)+"/"+myDate.getDate()+"/"+myDate.getFullYear();
	var mynow  = Date.parse(mynow1);

	if(form.dat1Search.value != "") {
		var dd1 = form.dat1Search.value;
		var dd1a = dd1.substring(3,5) +"/"+ dd1.substring(0,2) +"/"+ dd1.substring(6,10);
		var data1 = Date.parse(dd1a);

		if( data1 > mynow) {
			alert("Cautarea nu se poate face pentru viitor !");
			form.dat1Search.focus();
			return false;
		}

		if(form.dat2Search.value != "") {
			var dd2 = form.dat2Search.value;
			var dd2a = dd2.substring(3,5) +"/"+ dd2.substring(0,2) +"/"+ dd2.substring(6,10);
			var data2 = Date.parse(dd2a);

			if( data1 > data2) {
				alert("Data a doua nu poate fi anterioara primei date !");
				form.dat1Search.focus();
				return false;
			}
		}
	}
}

/*comanda label*/
function check_labels(form) {
	var ck = new Array();
	var nr = -1;
	var foundCount = 0;
	for(i=0; i<document.getElementsByTagName("input").length; i++) {
		if(document.getElementsByTagName("input")[i].type == "checkbox") {
			//alert(document.getElementsByTagName("input")[i].checked)
			nr++;
			ck[nr] = document.getElementsByTagName("input")[i];
			if(ck[nr].checked == true) foundCount++;
			//if(document.getElementsByTagName("input")[i].checked == true) foundCount++;
		}
	}

	if (foundCount == 0){
		alert("Alegeti minim o eticheta pentru generare !");
		return false;
	}

	var valori = document.getElementsByName("labelNr[]");
	
	for (var i = 0; i < valori.length; i++) {
		if((valori[i].value == "" || valori[i].value == "0") && ck[i].checked) {
			alert("Valoarea pentru campul "+(i+1)+" trebuie sa fie o cifra intre 1 si 9 !");
			valori[i].focus();
			valori[i].select();
			return false;
		}

		var tn = valori[i].value;
		var tnPat = /^[1-9]?$/;
		var tnArray = tn.match(tnPat);
		if (tnArray == null && ck[i].checked) {
			alert("Valoarea pentru campul "+(i+1)+" trebuie sa fie o cifra intre 1 si 9 !");
			valori[i].focus();
			valori[i].select();
			return false;
		}
	}
}

/*factura noua*/
function confirmNewFactura(page, cmdID, from) {
	var confirmNew = confirm("Doriti o factura pentru comanda " + cmdID + " ?");
	if (confirmNew) self.location.href = page + "?act=newFct&cmd=" + cmdID + "&from=" + from;
}

/*delete comanda*/
function confirmDelComanda(page, cmdID, from) {
	var confirmDel = confirm("Doriti sa anulati aceasta comanda ?");
	if (confirmDel) {
		var confirmDel2 = confirm("Sigur doriti sa anulati ?");
		if (confirmDel2) self.location.href = page + "?act=cmdDel&cmd=" + cmdID + "&from=" + from;
	}
}

/*delete transport*/
function confirmDelTransport(page, cmdID, from) {
	var confirmDel = confirm("Doriti sa anulati valoarea transportului\npentru aceasta comanda ?");
	if (confirmDel) {
		var confirmDel2 = confirm("Sigur doriti sa anulati ?");
		if (confirmDel2) self.location.href = page + "?act=transDel&cmd=" + cmdID + "&from=" + from;
	}
}

/*row color*/
function mouseState(id, state, color) {
	myrow = document.getElementById('rowid' + id);
	switch (state) {
		case 1:  //mouseOver
			myrow.style.backgroundColor = color;
			break;
		case 2: //mouseDown
			break;
		case 3: //mouseUp
			break;
		default: //mouseOut
			myrow.style.backgroundColor = color;
	}
}

function mouseState2Col(id, state, color) {
	myrow = document.getElementById('rowid' + id);
	switch (state) {
		case 1:  //mouseOver
			myrow.style.backgroundColor = color;
			break;
		case 2: //mouseDown
			break;
		case 3: //mouseUp
			break;
		default: //mouseOut
			myrow.style.backgroundColor = color;
	}
}

/*show-hide fieldset*/
function showhidefield(nr) {
	if(document.getElementById('hideablearea'+nr).style.display=='none') {document.getElementById('hideablearea'+nr).style.display='block';}
	else {document.getElementById('hideablearea'+nr).style.display='none';}

}