 function verEditR() {
 	var inpname = new Array('first_name', 'last_name', 'telephone', 'agency', 'address');
 	var errname = new Array('err_fname', 'err_lname', 'err_tel', 'err_agency', 'err_address');
 	var len = inpname.length;
 	var santi = true;
 	for (var a = 0; a < len; a++)
 	{
 		var comp = 0;
 		if (verlength(document.getElementById(inpname[a]).value,errname[a],comp) == false) {
 			santi = false;
 		}
 	}
 	return santi;
 }
 
function getLength(id)
	{ // This functions shows that you can interact directly with the editor area
	  // DOM. In this way you have the freedom to do anything you want with it.

	  // Get the editor instance that we want to interact with.
	  var oEditor = FCKeditorAPI.GetInstance(id) ;

	  // Get the Editor Area DOM (Document object).
	  var oDOM = oEditor.EditorDocument ;
	  var iLength ;

	  // The are two diffent ways to get the text (without HTML markups).
	  // It is browser specific.
	  if ( document.all ) // If Internet Explorer.
		{ iLength = oDOM.body.innerText.length ; }
	  else                // If Gecko.
		{ var r = oDOM.createRange() ; r.selectNodeContents( oDOM.body ) ; iLength = r.toString().length ; }
	 return iLength;
}

function GetContents(id)
 	{
 	        // Get the editor instance that we want to interact with.
 	        var oEditor = FCKeditorAPI.GetInstance(id) ;

 	        // Get the editor contents in XHTML.
 	        return oEditor.GetXHTML( true )  ;             // "true" means you want it formatted.
 	}

function validate_category(f)
{
	szError = "";
	/*if(f.comp_id.value == 0)
	   szError += "Selectati competitia!\n";*/
	if(f.new_category.value.length <= 0)
	   szError += "Introduceti numele categoriei!\n";

    if(szError.length > 0){
    	alert(szError);
    	return false;
    }

    return true;

}

function validate_jury(f)
{
	szError = "";
	if(f.name.value.length <= 0)
	   szError += "Introduceti numele!\n";
	/*if(f.email.value.length <= 0)
	   szError += "Introduceti adresa de email!\n";
	if(f.password.value.length < 6)
	   szError += "Introduceti parola! Parola nu poate avea mai putin de 6 caractere!\n";*/

    if(szError.length > 0){
    	alert(szError);
    	return false;
    }

    return true;
    //alert(emailCheck(f.email.value));
}

function validate_article(f)
{
	szError = "";
	if(f.publications_id_fk.value== 0)
	   szError += "Alegerti publicatia!\n";
	if(f.title.value.length <= 0)
	   szError += "Introduceti titlul!\n";

	an = f.date.value.slice(0,4);
	luna = f.date.value.slice(5,7);
	zi = f.date.value.slice(8,10);
	if((f.date.value.length != 10)||(f.date.value.slice(4,5)!='-')||(f.date.value.slice(7,8)!='-'))
	   szError += "Introduceti data ca in exemplu!\n";
	if ((luna<1)||(luna>12))
		szError += "Luna intre 1-12!\n";
	if ((zi<1)||(zi>31))
		szError += "Ziua intre 1-31!\n";

	len=getLength('text');
	if (len==0)
		szError += "Introduceti textul!\n";

    if(szError.length > 0){
    	alert(szError);
    	return false;
    }

    return true;
}


function validate_section(f)
{
   szError = "";
   if(f.is_final.value == 0){
      if(f.comp_id.value == 0){
      	szError += "Selectati competitia!\n";
      	alert(szError);
      	return false;
      }

      return true;
   }
   if(f.comp_id.value == 0)
     szError += "Selectati competitia!\n";
   if(f.cat_id.value == 0)
      szError += "Selectati categoria!\n";
   if(f.sect_name.value.length <= 0)
      szError += "Introduceti numele sectiunii!\n";

   if(szError.length > 0){
   	  alert(szError);
   	  return false;
   }
   return true;
}

function validate_sectionA(f)
{
   szError = "";
   if(document.getElementById('existent_sections')){
   	 sel = document.getElementById('existent_sections');
   	 sent = false;
   	 for (i = 0; i < sel.length; i++){
   	 	if(sel.options[i].selected){
   	 		sent = true;
   	 		break;
   	 	}
   	 }
   	 if(sent == false && f.new_field.value.length <= 0){
   	 	szError += "Introduceti numele sau selectati o sectiune!\n";
   	 }
   }
   else{
   	if(f.new_section.value.length <= 0){
   		szError += "Introduceti numele sectiunii!\n";
   	}
   }
   if(szError.length > 0){
   	alert(szError);
   	return false;
   }
   sendRequest();
   return false;
}

function validate_categoryA(f)
{
   szError = "";
   if(document.getElementById('existent_sections')){
   	 sel = document.getElementById('existent_sections');
   	 sent = false;
   	 for (i = 0; i < sel.length; i++){
   	 	if(sel.options[i].selected){
   	 		sent = true;
   	 		break;
   	 	}
   	 }
   	 if(sent == false && f.new_field.value.length <= 0){
   	 	szError += "Introduceti numele sau selectati o sectiune!\n";
   	 }
   }
   else{
   	if(f.new_category.value.length <= 0){
   		szError += "Introduceti numele categoriei!\n";
   	}
   }
   if(szError.length > 0){
   	alert(szError);
   	return false;
   }
   sendRequest();
   return false;
}

function passlength(parola) {
	var nrchar = parola.length;
	if (nrchar < 6) {
		document.getElementById('err3').style.visibility = 'visible';
		return false;
	} else {
		document.getElementById('err3').style.visibility = 'hidden';
		return true;
	}
}

function checkpass(parola2) {
 	var parola1 = document.getElementById('parola_noua').value;
 	if (parola1 != parola2)
	{
		document.getElementById('err4').style.visibility = 'visible';
 		return false;
 	} else {
 		document.getElementById('err4').style.visibility = 'hidden';
 		return true;
 	}
}

function validate_news(f)
{
	szError = "";
	if(f.title.value.length <= 0)
	   szError += "Introduceti titlul!\n";

	an = f.date.value.slice(0,4);
	luna = f.date.value.slice(5,7);
	zi = f.date.value.slice(8,10);
	if((f.date.value.length != 10)||(f.date.value.slice(4,5)!='-')||(f.date.value.slice(7,8)!='-'))
	   szError += "Introduceti data ca in exemplu!\n";
	if ((luna<1)||(luna>12))
		szError += "Luna intre 01-12!\n";
	if ((zi<1)||(zi>31))
		szError += "Ziua intre 01-31!\n";

	len=getLength('text');
	if (len==0)
		szError += "Introduceti textul!\n";

    if(szError.length > 0){
    	alert(szError);
    	return false;
    }

    return true;
}

function validate_forgot(f)
{
	szError='';
   if(f.email.value.length <= 0)
      szError = "Please insert e-mail address!\n";

   if(szError.length > 0){
   	  alert(szError);
   	  return false;
   }
  
   if(!emailCheck(f.email.value)){
   	alert('Incorrect e-mail address!');
   	 return false;
   }
   return true;
}

function sendE(f)
{
	if (!emailCheck(f.email.value))
	{
		alert('Datele nu sunt corecte! \n Verificati mesajele de eroare!');
 		return false;
	} else {
		alert('Mesajul a fost trimis!');
		return true;
	}
}

function emailCheck (emailStr) 
{
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {
		//alert("E-mail  incorect (verifica te rog @ si .s)")
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	if (user.match(userPat)==null) {
		//alert("Id-ul de email este invalid!")
		return false
	}
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		// this is an IP address
		  for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				//alert("Adresa IP de destinatie este invalida!")
			return false
			}
		}
		return true
	}
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		//alert("Numele domeniului de mail este invalid!")
		return false
	}
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 ||
		domArr[domArr.length-1].length>3) {
	   //alert("Adresa de email se termina in numele domeniului (3 litere) sau indicativul tarii (2 litere)")
	   return false
	}
	if (len<2) {
	   //var errStr="Adresa de e-mail este incompleta!"
	  // alert(errStr)
	   return false
	}
	return true;
}

function verlength(text,eror_name,comp) {
 	if (text.length <= comp) {
 		document.getElementById(eror_name).style.display = 'inline';
 		return false;
 	} else {
 		document.getElementById(eror_name).style.display = 'none';
 		return true;
 	}
 }

function versubmit() {
 	var inpname = new Array('username', 'password' , 'first_name', 'last_name', 'telephone', 'agency', 'address');
 	var errname = new Array('err_username', 'err_password', 'err_fname', 'err_lname', 'err_tel', 'err_agency', 'err_address');
 	var len = inpname.length;
 	var santi = true;
 	for (var a = 0; a < len; a++)
 	{
 		if (inpname[a] == 'password') {
 			var comp = 5;
 		} else {
 			var comp = 0;
 		}
 		if (verlength(document.getElementById(inpname[a]).value,errname[a],comp) == false) {
 			santi = false;
 		}
 	}

 	var pass2 = document.getElementById('password_conf').value;
 	if (confirmpass(pass2,'err_passcon') == false) {
 		santi = false;
 	}
 	var emailStr = document.getElementById('emailx').value;
 	if (emailCheck2(emailStr,'err_email') == false) {
 		santi = false;
 	}
 	return santi;
 }
 
 function confirmpass(pass2,error_name) {
 	pass1 = document.formular.password.value;
 	if (pass1 == pass2) {
 		document.getElementById(error_name).style.display = 'none';
 		return true;
 	} else {
 		document.getElementById(error_name).style.display = 'inline';
 		return false;
 	}
 }
 
 function opselect(val,eror_name,def) {
 	if (val != def) {
 		document.getElementById(eror_name).style.display = 'none';
 		return true;
 	} else {
 		document.getElementById(eror_name).style.display = 'inline';
 		return false;
 	}
 }
 
 function check_newsletter(element) {
 	if(!emailCheck(element.email.value)){
 		alert("The email address is not valid");
 		return false;
 	} else {
 		return true;
 	}
 }
 

function ver_password()
{
	var err='';
	if(document.getElementById('parola_noua').value.length<6)err+="The new password must have at least 6 characters. \n";
	if(document.getElementById('parola_noua').value!=document.getElementById('confirmare_pass').value)err+="Invalid confirmation password!";
	if(err){alert(err);return false;}
	else return true;
}

function emailCheck2(emailStr,err_name) {
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {
		//alert("Adresa de email incorecta (verificati @ si .'s)")
		document.getElementById(err_name).style.display = 'inline';
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	if (user.match(userPat)==null) {
		//alert("The username doesn't seem to be valid.")
		document.getElementById(err_name).style.display = 'inline';
		return false
	}
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		// this is an IP address
		  for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				//alert("Adresa IP de destinatie este invalida!")
				document.getElementById(err_name).style.display = 'inline';
			return false
			}
		}
		document.getElementById(err_name).style.display = 'none';
		return true
	}
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		//alert("Numele domeniului nu este valid.")
		document.getElementById(err_name).style.display = 'inline';
		return false
	}
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 ||
		domArr[domArr.length-1].length>3) {
	   //alert("Adresa de email se termina in numele domeniului (3 litere) sau indicativul tarii (2 litere)")
	   document.getElementById(err_name).style.display = 'inline';
	   return false
	}
	if (len<2) {
	   var errStr="Acestei adrese ii lipseste numele gazdei!"
	   //alert(errStr)
	   document.getElementById(err_name).style.display = 'inline';
	   return false
	}
	document.getElementById(err_name).style.display = 'none';
	return true;
 }
 
var save_draft;
function createDraft(param)
{
	save_draft=param;
}
function validate_artwork_step1(f)
{
	for(i=0;i<f.section_id.length;i++)
	if (f.section_id[i].checked)
	{
		return true;
	}
	alert("Please choose a section!");
	return false;
}
function validate_artwork_step2(f)
{

	if(save_draft==1)
		{
			f.draftt.value=1;
			//verific doare numele
			for(i=0;i<f.length;i++){
				if ((f.elements[i].name.indexOf("Nume lucrare~")!=-1)||(f.elements[i].name.indexOf("Entry name~")!=-1))
				{
					if (f.elements[i].value.length==0)
					{
						alert ('Please insert the name of your work!');
						return false;
					}
				}
			}
		}
	else
		{
		//setez ca nedraft
		f.draftt.value=0;

		//tre sa fie completate toate campurile
		fields='';

		for(i=0;i<f.length;i++){
			
			if(f.elements[i].type == 'file') {
				// 'zip', 'rar', 'sit', 'gzip', 'tar', 'gz', 'pkzip', 'doc'
				if( (f.elements[i].value.indexOf("zip")!=-1) || (f.elements[i].value.indexOf("rar")!=-1) || (f.elements[i].value.indexOf("sit")!=-1) || (f.elements[i].value.indexOf("tar")!=-1) || (f.elements[i].value.indexOf("gz")!=-1) ) {
					alert('You have uploaded an invalid file - no archives are allowed');
					return false;
				}
			}
			
			if ((f.elements[i].name!='godraft')&&(f.elements[i].name!='gosave')&&(f.elements[i].name!='draftt')&&(f.elements[i].value.length==0))
			if ((f.elements[i].name.indexOf("daca este cazul")==-1)&&(f.elements[i].name.indexOf("if there is the case")==-1)&&(f.elements[i].name.indexOf("*")!=-1))
			{
				pos=f.elements[i].name.indexOf("~");
				if (pos!=-1)
					fields+=f.elements[i].name.slice(0,pos)+', ';
				else
					fields+=f.elements[i].name+", ";
			}
		}
		if (fields.length>0)
			{
				fields=fields.slice(0,fields.length-2);
				alert("Please fill the following fields: "+fields+"!\nIf you don't have all the information to finalize your subscription, save as Draft and you may edit your work later.");
				return false;
			}
		}
		
	if (f.accept.checked==0)
	{
		alert("You must accept the terms & conditions!");
		return false;
	}

	return true;
}
