
//adevarat daca c este  (A .. Z, a..z); pentru versiunea i18n
function isLetter (c)
{
  return ( ((c >= "a") && (c <= "z")) || ((c >= "A") && (c <= "Z")) );
}

function padleft(val, num,ch)
{
	while(val.length<num)
	{
		val=ch+val;
	}
	return val;
//	var re = new RegExp(".{" + num + "}$");
//    var pad = "";
//	do 
//	{
//      pad += ch;
//    }
//	while (pad.length < num);
//    return String(re.exec(pad + val));
 }

function trim(stringToTrim)
{
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function IsCNPValid(cnp)
{
	if (cnp.Length < 13)
	{
		return false;
	}
	var suma = Number(cnp.charAt(0)) * 2 +
		Number(cnp.charAt(1)) * 7 +
		Number(cnp.charAt(2)) * 9 +
		Number(cnp.charAt(3)) * 1 +
		Number(cnp.charAt(4)) * 4 +
		Number(cnp.charAt(5)) * 6 +
		Number(cnp.charAt(6)) * 3 +
		Number(cnp.charAt(7)) * 5 +
		Number(cnp.charAt(8)) * 8 +
		Number(cnp.charAt(9)) * 2 +
		Number(cnp.charAt(10)) * 7 +
		Number(cnp.charAt(11)) * 9;
	var rest = suma % 11;
	var valid = false;
    if ((rest < 10) && (rest == Number(cnp.charAt(12))) || (rest == 10) && (cnp.charAt(12) == '1'))
    {
		valid = true;
    }
	return valid;
}

function IsIBANValid(IBAN)
{
	var iban=IBAN.split(" ").join("");
	var mIban="";
	var mIbanSec="";
	var cifraControl;
	var rest;
	if (iban=="-")
	{
		return true;
	}
	if (iban.length!=24)
	{
		return false;
	}
	cifraControl=iban.substring(2,4);

	if (isNaN(cifraControl))
	{
		return false;                
	}

	iban=iban.substring(4,24)+iban.substring(0,2)+"00";
	
	var tempCh="";
	for (i=0;i<24;i++)
	{
		tempCh=iban.charAt(i);
		if (isLetter(tempCh))
		{
			mIban=mIban+trim(String(tempCh.charCodeAt(0)-55));
		}
		else
		{
			mIban=mIban+iban.charAt(i);
		}
	}
	mIbanSec=mIban;
	rest="";
	for (i=0;i<=6;i++)
	{
		if (mIban.length>i*5)
		{
			if (mIban.substring(i*5).length>=5)
			{
				mIbanSec=rest+mIban.substring(i*5,i*5+5);
			}
			else
			{
				mIbanSec=rest+mIban.substring(i*5);
			}
			rest=trim(String(Number(mIbanSec)%97));
		}
	}

	if (padleft(trim(String(98-Number(rest))),2,'0')!=cifraControl)
	{
		return false;
	}
	else
	{
		return true;
	}
}

function IsCFValid(cf)
{
	if (cf=="-")
	{
		return true;
	}
	temp=trim(cf.toUpperCase().replace("R",""));
	temp=trim(temp.toUpperCase().replace("O",""));
	if (isNaN(temp))
	{
		return false;
	}
	var a="7532175320";
	var suma=0;
	var rest=0;
	var s1="";
	var s2="";
	if ((temp.length<2) || (temp.length>9))
	{
		return false;
	}
	temp=padleft(temp,10,"0");
	var msg="";
	for (var i=0;i<10;i++)
	{
		s1=temp.charAt(i);
		s2=a.charAt(i);
		suma+=Number(s1)*Number(s2);
		//document.write(s1+"="+s2+"="+suma+"<br>");
	}
	rest=(suma*10)%11;
	if (rest==10)
	{
		rest=0;
	}
	if(Number(temp.charAt(9))!=rest)
	{
		return false;
	}
	else
	{
		return true;
	}
}
//:)>-

function checkscript_jur()
{
// try
// {
	if(document.frmmail.test_form.value!='')
	{
		alert('Aceasta este o verificare anti spam. Daca sunteti un utilizator uman atunci acest mesaj este o eroare. Va rog sa ne contactati telefonic.');
		return false;
	}

	if(!IsCFValid(document.frmmail.codf.value) && !IsCNPValid(document.frmmail.codf.value))
		{
			alert('Introduceti codul fiscal !');
			document.frmmail.codf.focus();
			//event.returnValue=false;
			return false;
		}
	
	if(!IsIBANValid(document.frmmail.cont.value))
		{
			alert('Contul bancar este incorect !');
			document.frmmail.cont.focus();
			//event.returnValue=false;
			return false;
		}

	if((trim(document.frmmail.nume_firma.value)).length===0)
		{
			alert('Introduceti numele firmei !');
			document.frmmail.nume_firma.focus();
			//event.returnValue=false;
			return false;
		}

	if((trim(document.frmmail.codf.value)).length===0)
		{
			alert('Introduceti codul fiscal !');
			document.frmmail.codf.focus();
			//event.returnValue=false;
			return false;
		}

	if((trim(document.frmmail.regc.value)).length===0)
		{
			alert('Introduceti numarul la care este inregistrata firma la registrul comertului !');
			document.frmmail.regc.focus();
			//event.returnValue=false;
			return false;
		}

	if((trim(document.frmmail.numer.value)).length===0)
		{
			alert('Introduceti numele reprezentantului !');
			document.frmmail.numer.focus();
			//event.returnValue=false;
			return false;
		}

	if((trim(document.frmmail.functie_rep.value)).length===0)
		{
			alert('Introduceti functia reprezentantului !');
			document.frmmail.functie_rep.focus();
			//event.returnValue=false;
			return false;
		}
	
	if((trim(document.frmmail.numec.value)).length===0)
		{
			alert('Introduceti numele persoanei de contact !');
			document.frmmail.numec.focus();
			//event.returnValue=false;
			return false;
		}
		
	if((trim(document.frmmail.prenumec.value)).length===0)
		{
			alert('Introduceti prenumele persoanei de contact !');
			document.frmmail.prenumec.focus();
			//event.returnValue=false;
			return false;
		}

	if((trim(document.frmmail.biSerie.value)).length===0 || (trim(document.frmmail.biNumar.value)).length===0)
		{
			alert('Completati seria si numarul B.I. !');
			document.frmmail.biSerie.focus();
			//event.returnValue=false;
			return false;
		}
	if((trim(document.frmmail.localitate.value)).length===0)
		{
			alert('Adresa incompleta ! Introduceti localitatea !');
			document.frmmail.localitate.focus();
			//event.returnValue=false;
			return false;
		}
	if((trim(document.frmmail.strada.value)).length===0)
		{
			alert('Adresa incompleta ! Introduceti strada !');
			document.frmmail.strada.focus();
			//event.returnValue=false;
			return false;
		}
	if(document.frmmail.judetul.selectedIndex=="")
		{
			alert('Adresa incompleta ! Alegeti judetul !');
			document.frmmail.judetul.focus();
			//event.returnValue=false;
			return false;
		}
///testarea codului postal
	if ((!document.frmmail.codpostal.value) || (trim(document.frmmail.codpostal.value)).length!=6 )
	{
		alert('Adresa incompleta ! Introduceti un cod postal valid !');
		document.frmmail.codpostal.focus();
		//event.returnValue=false;
		return false;

	}
	else
	{	
		for (var i=0;i<document.frmmail.codpostal.value.length;i++)
		{
		var sir=document.frmmail.codpostal.value.substring(i,i+1);
		if (sir <"0" || "9"<sir)
			{	
				alert('Adresa incompleta ! Introduceti un cod postal valid !');
				document.frmmail.codpostal.value="";
				document.frmmail.codpostal.focus();
				//event.returnValue=false;
				return false;
			}
		}
	}
///testarea codului postal

	if(!document.frmmail.cont.value)
		{
			alert('Introduceti contul bancar !');
			document.frmmail.cont.focus();
			//event.returnValue=false;
			return false;
		}

	if(!document.frmmail.nume_banca.value)
		{
			alert('Introduceti banca !');
			document.frmmail.nume_banca.focus();
			//event.returnValue=false;
			return false;
		}


///testarea adresei de email dupa eliminarea spatiilor
	var s=document.frmmail.email.value;
	//remove leading spaces
	while (s.substring(0,1) == ' ')
	  {
	    s = s.substring(1,s.length);
	  }
	// Remove trailing spaces
	 while (s.substring(s.length-1,s.length) == ' ')
	  {
	    s = s.substring(0,s.length-1);
	  }
	document.frmmail.email.value=s;
//sfarsit eliminare spatii

	if (document.frmmail.email.value)
	{	
		if (document.frmmail.email.value.search(/^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$/) == -1)
		{
			alert("Introduceti o adresa valida de email sau lasati campul gol in cazul in care nu aveti adresa de mail!!!");
			document.frmmail.email.focus();
			//event.returnValue=false;
			return false;
		}
	}
	if ((document.frmmail.telefon1.value == 0) && (document.frmmail.telefon2.value == 0))
	{
		alert("Trebuie sa ne furnizati cel putin un numar de telefon !!!");
		document.frmmail.telefon1.focus();
		//event.returnValue=false;
		return false;
	}
	nr_c=document.frmmail.nr_c.value;
	nr_cs=document.frmmail.nr_cs.value;
	nr_b=document.frmmail.nr_b.value;
	nr_bs=document.frmmail.nr_bs.value;
	nr_ps=document.frmmail.nr_ps.value;
	if ( (nr_c==0) && (nr_cs==0) && (nr_b==0) && (nr_bs==0) && (nr_ps==0))
	{	alert("Trebuie sa cumparati cel putin un abonament  !!!");
		document.frmmail.nr_c.focus();
		//event.returnValue=false;
		return false;
	}
// }
// catch(err)
// {
//  txt="A aparut o eroare.\n\n";
//  txt+="Eroare aparuta: " + err.description;
//  alert(txt);
//  return false;
// }
// return true;
}

  //------------------------------------------//


function checkscript_fiz()
{
  //errText='';
  //try
  //{

	if(document.frmmail.test_form.value!='')
	{
		alert('Aceasta este o verificare anti spam. Daca sunteti un utilizator uman atunci acest mesaj este o eroare. Va rog sa ne contactati telefonic.');
		return false;
	}

	if((trim(document.frmmail.numec.value)).length===0)
		{
			alert('Nu ati completat numele !');
			document.frmmail.numec.focus();
			////event.returnValue=false;
			return false;
		}
	if((trim(document.frmmail.prenumec.value)).length===0)
	{
		alert('Nu ati completat prenumele !');
		document.frmmail.prenumec.focus();
		////event.returnValue=false;
		return false;
	}

	if((trim(document.frmmail.biSerie.value)).length===0 || (trim(document.frmmail.biNumar.value)).length===0)
		{
			alert('Completati seria si numarul B.I. !');
			document.frmmail.biSerie.focus();
			////event.returnValue=false;
			return false;
		}
	if((trim(document.frmmail.localitate.value)).length===0)
		{
			alert('Adresa incompleta ! Introduceti localitatea !');
			document.frmmail.localitate.focus();
			////event.returnValue=false;
			return false;
		}
	if((trim(document.frmmail.strada.value)).length===0)
		{
			alert('Adresa incompleta ! Introduceti strada !');
			document.frmmail.strada.focus();
			////event.returnValue=false;
			return false;
		}
	if(document.frmmail.judetul.selectedIndex=="")
		{
			alert('Adresa incompleta ! Alegeti judetul !');
			document.frmmail.judetul.focus();
			////event.returnValue=false;
			return false;
		}
///testarea codului postal
	if ((!document.frmmail.codpostal.value)  || (trim(document.frmmail.codpostal.value)).length!=6)
	{
		alert('Adresa incompleta ! Introduceti un cod postal valid !');
		document.frmmail.codpostal.focus();
		//event.returnValue=false;
		return false;

	}
	else
	{	
		for (var i=0;i<document.frmmail.codpostal.value.length;i++)
		{
		var sir=document.frmmail.codpostal.value.substring(i,i+1);
		if (sir <"0" || "9"<sir)
			{	
				alert('Adresa incompleta ! Introduceti un cod postal valid !');
				//document.frmmail.codpostal.value="";
				document.frmmail.codpostal.focus();
				//event.returnValue=false;
				return false;
			}
		}
	}
///testarea codului postal


///testarea adresei de email dupa eliminarea spatiilor
	var s=document.frmmail.email.value;
	//remove leading spaces
	while (s.substring(0,1) == ' ')
	  {
	    s = s.substring(1,s.length);
	  }
	// Remove trailing spaces
	 while (s.substring(s.length-1,s.length) == ' ')
	  {
	    s = s.substring(0,s.length-1);
	  }
	document.frmmail.email.value=s;
//sfarsit eliminare spatii

	if (document.frmmail.email.value)
	{	
		if (document.frmmail.email.value.search(/^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$/) == -1)
		{
			alert("Introduceti o adresa valida de email sau lasati campul gol in cazul in care nu aveti adresa de mail!!!");
			document.frmmail.email.focus();
			//event.returnValue=false;
			return false;
		}
	}
	if ((document.frmmail.telefon1.value== 0) && (document.frmmail.telefon2.value== 0))
	{
		alert("Trebuie sa ne furnizati cel putin un numar de telefon !!!");
		document.frmmail.telefon1.focus();
		//event.returnValue=false;
		return false;
	}
	nr_c=document.frmmail.nr_c.value;
	nr_cs=document.frmmail.nr_cs.value;
	nr_b=document.frmmail.nr_b.value;
	nr_bs=document.frmmail.nr_bs.value;
	nr_ps=document.frmmail.nr_ps.value;
	if ( (nr_c==0) && (nr_cs==0) && (nr_b==0) && (nr_bs==0)&& (nr_ps==0))
	{	
		alert("Trebuie sa cumparati cel putin un abonament  !!!");
		document.frmmail.nr_c.focus();
		//event.returnValue=false;
		return false;
	}
//  }
//  catch(err)
//  {
//	  return false;
//	errText="A aparut o eroare.\n\n";
//	errText+="Eroare aparuta: " + err.description;
//  }
//  if (errText=='')
//  {
//	  return true;
//  }
//  else
//  {
//	  alert(errText);
//	  return false;
//  }
}
