// JavaScript Document

function inValidCharSet(str,charset)
{
	var result = true;
        var count = 0;

	// Note: doesn't use regular expressions to avoid early Mac browser bugs
	for (var i=0;i<str.length;i++)
		if (charset.indexOf(str.substr(i,1))<0)
		{
			result = false;
			break;
		}
     for (var i=0;i<str.length;i++) if (str.substr(i,1)=='.') count++;
     if (count > 1) result = false;
	
	return result;
}

function validRequired(formField,fieldLabel,lng)
{
	var result = true;
	
	if (formField.value == "")
	{
	    if (lng=="eng") alert('Please insert information in field: "' + fieldLabel+'"' );
		if (lng=="rom") alert('Va rugam sa introduceti informatie in campul: "' + fieldLabel+'"' );
		if (lng=="rus") alert('Просьба внести информацию в поле: "' + fieldLabel+'"' );
		
		formField.focus();
		result = false;
	}
	return result;
}


function allChars(str)
{
	return inValidCharSet(str," ?-:.~0123456789ABCDEFGHIJKLMNOPQRSTVUWXYZabcdefghijklmnopqrstvuwxyz@!ЁЙЦУКЕНГШЩЗХЪЭЖДЛОРПАВЫФЯЧСМИТЬБЮюбьтимсчяфывапролджэъхзщшгнекуцйё");
}

function allDigits(str)
{
	return inValidCharSet(str,"0123456789");
}


function validChar(formField,fieldLabel,lng,required)
{
	var result = true;
	
	if (required && !validRequired(formField,fieldLabel,lng)) result = false;
	
 	if (result)
 	{
 		if (!allChars(formField.value))
 		{
		   	if (lng=="eng") alert('Please insert in the field " ' + fieldLabel+'" text without special symbols:  %<>[]!' );
			if (lng=="rom") alert('Va rugam sa introduceti in campul " ' + fieldLabel+'" text fara caractere speciale:  %<>[]!' );
			if (lng=="rus") alert('Просьба внести информацию в поле " ' + fieldLabel+'" без специальных символов:  %<>[]!' );
			formField.focus();
			result = false;
		}
	}

	return result;
}

function validNum(formField,fieldLabel,required,lng)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel,lng))
		result = false;

 	if (result)
 	{
 		if (!allDigits(formField.value))
 		{
 			if (lng=="rom") alert('Va rugam sa introduceti un numar in campul "' + fieldLabel+'"' );
			if (lng=="eng") alert('Please insert the number in field "' + fieldLabel+'"' );
			if (lng=="rus") alert('Просьба внести номер в поле"' + fieldLabel+'"' );
			formField.focus();
			result = false;
		}
	}

	return result;
}

function isEmailAddr(email)
{
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf("@");
  if (index > 0)
  {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  return result;
}

function validEmail(formField,fieldLabel,lng,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;

	if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
	{
		if (lng=="rom") alert("Va rugam sa setati adresa de e-mail corect!");
		if (lng=="rus") alert("Просьба внести правельный электронный адресс!");
		if (lng=="eng") alert("Please insert a valid e-mail!");
		formField.focus();
		result = false;
	}
  return result;
}

function validDate(formField,fieldLabel,lng,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;

 	if (result)
 	{
 		var elems = formField.value.split(".");

 		result = (elems.length == 3); // should be three components

 		if (result)
 		{

   			var day = parseInt(elems[0],10);
                        var month = parseInt(elems[1],10);
                        var year = parseInt(elems[2]);
			result = allDigits(elems[0]) && (month > 0) && (month < 13) &&
					 allDigits(elems[1]) && (day > 0) && (day < 32) &&
					 allDigits(elems[2]) && ((elems[2].length == 2) || (elems[2].length == 4));

 		}

  		if (!result)
 		{
 			if (lng=="rom") alert('Inserati data in formatul DD.MM.YYYY campul: "' + fieldLabel+'"');
			if (lng=="rus") alert('Просьба внести дату в формате DD.MM.YYYY в поле: "' + fieldLabel+'"');
			if (lng=="eng") alert('Please insert date in DD.MM.YYYY format in the field: "' + fieldLabel+'"');
			formField.focus();
		}
	}

	return result;
}

/*

Aici se incep elementele esentiale pentru validare in sistem!!!!

*/

function Optiune(opt) {
	document.Scrutin.optiune.value=opt;
	document.Scrutin.submit();
	return true;
}

function ValidateRegisterUser(fm,lng) {
	if (lng=="rom") {
		if (!validChar(fm.user_name,"Utilizator:",lng,true)) return false;
		if (!validChar(fm.user_password,"Parola:",lng,true)) return false;
		if (!validChar(fm.user_password1,"Parola (repetat):",lng,true)) return false;
		if (fm.user_password.value!=fm.user_password1.value) {
			alert("Campul [Parola:] si [Parola (repetat)] trebuie sa contina informatie identica!");
			return false
		}
		if (!validEmail(fm.email,"E-Mail:",lng,true)) return false;
	    if (fm.name.value!="") if (!validChar(fm.name,"Nume:",lng,true)) return false;
		if (fm.family.value!="") if (!validChar(fm.family,"Familia:",lng,true)) return false;
		if (fm.bith_date.value!="") if (!validDate(fm.bith_date,"Data nasterii:",lng,true)) return false;
		if (!confirm("Informatia introdusa de Dv. este corecta?")) return false; 
	}
	
	if (lng=="rus") {
		if (!validChar(fm.user_name,"Пользователь:",lng,true)) return false;
		if (!validChar(fm.user_password,"Пароль:",lng,true)) return false;
		if (!validChar(fm.user_password1,"Пароль (повтор):",lng,true)) return false;
		if (fm.user_password.value!=fm.user_password1.value) {
			alert("Поля [Пароль:] и [Пароль (повтор)] должны иметь идентичную информацию!");
			return false
		}
		if (!validEmail(fm.email,"E-Mail:",lng,true)) return false;
		if (fm.name.value!="") if (!validChar(fm.name,"Имя:",lng,true)) return false;
		if (fm.family.value!="") if (!validChar(fm.family,"Фамилия:",lng,true)) return false;
		if (fm.bith_date.value!="") if (!validDate(fm.bith_date,"Дата рождения:",lng,true)) return false;
		if (!confirm("Внесённая информация правильна?")) return false; 
	}
	
	if (lng=="eng") {
		if (!validChar(fm.user_name,"User:",lng,true)) return false;
		if (!validChar(fm.user_password,"Password:",lng,true)) return false;
		if (!validChar(fm.user_password1,"Password (again):",lng,true)) return false;
		if (fm.user_password.value!=fm.user_password1.value) {
			alert("The fields [Password:] and [Password (again)] must have the same information!");
			return false
		}
		if (!validEmail(fm.email,"E-Mail:",lng,true)) return false;
		if (fm.name.value!="") if (!validChar(fm.name,"Name:",lng,true)) return false;
		if (fm.family.value!="") if (!validChar(fm.family,"Family:",lng,true)) return false;
		if (fm.bith_date.value!="") if (!validDate(fm.bith_date,"Bith Date:",lng,true)) return false;
		if (!confirm("Your information is correct?")) return false; 
	}
	fm.submit();
	return true;
}

function ValidateUserProfile(fm,lng) {
	if (lng=="rom") {
		if (!validChar(fm.user_password_old,"Parola veche:",lng,true)) return false;
		if (!validChar(fm.user_password,"Parola noua:",lng,true)) return false;
		if (!validChar(fm.user_password1,"Parola noua (repetat):",lng,true)) return false;
		if (fm.user_password.value!=fm.user_password1.value) {
			alert("Campul [Parola noua:] si [Parola noua (repetat)] trebuie sa contina informatie identica!");
			return false
		}
		if (!validEmail(fm.email,"E-Mail:",lng,true)) return false;
	    if (fm.name.value!="") if (!validChar(fm.name,"Nume:",lng,true)) return false;
		if (fm.family.value!="") if (!validChar(fm.family,"Familia:",lng,true)) return false;
		if (fm.bith_date.value!="") if (!validDate(fm.bith_date,"Data nasterii:",lng,true)) return false;
		if (!confirm("Informatia introdusa de Dv. este corecta?")) return false; 
	}
	
	if (lng=="rus") {
		if (!validChar(fm.user_password_old,"Старый Пароль:",lng,true)) return false;
		if (!validChar(fm.user_password,"Новый Пароль:",lng,true)) return false;
		if (!validChar(fm.user_password1,"Новый Пароль (повтор):",lng,true)) return false;
		if (fm.user_password.value!=fm.user_password1.value) {
			alert("Поле [Новый Пароль:] и [Новый Пароль (повтор)] должны иметь идентичную информацию!");
			return false
		}
		if (!validEmail(fm.email,"E-Mail:",lng,true)) return false;
	    if (fm.name.value!="") if (!validChar(fm.name,"Имя:",lng,true)) return false;
		if (fm.family.value!="") if (!validChar(fm.family,"Фамилия:",lng,true)) return false;
		if (fm.bith_date.value!="") if (!validDate(fm.bith_date,"Дата рождения:",lng,true)) return false;
		if (!confirm("Внесённая информация правильна?")) return false; 
	}
	
	if (lng=="eng") {
		if (!validChar(fm.user_password_old,"Old password:",lng,true)) return false;
		if (!validChar(fm.user_password,"New Password:",lng,true)) return false;
		if (!validChar(fm.user_password1,"New Password (again):",lng,true)) return false;
		if (fm.user_password.value!=fm.user_password1.value) {
			alert("The fields [New Password:] and [New Password (again)] must have the same information!");
			return false
		}
		if (!validEmail(fm.email,"E-Mail:",lng,true)) return false;
	    	if (fm.name.value!="") if (!validChar(fm.name,"Name:",lng,true)) return false;
		if (fm.family.value!="") if (!validChar(fm.family,"Family:",lng,true)) return false;
		if (fm.bith_date.value!="") if (!validDate(fm.bith_date,"Bith Date:",lng,true)) return false;
		if (!confirm("Your information is correct?")) return false; 
	}
	fm.submit();
	return true;
}

function ValidateSite(fm,lng) {
	if (lng=="rom") {
		if (!validChar(fm.site_name,"Nume Site:",lng,true)) return false;
		if (fm.site_url.value=="") {
			alert("Campul [Adresa Site:] nu poate fi gol!");
			fm.site_url.focus();
			return false;
		}
		if (fm.site_description.value=="") {
			alert("Campul [Descriere:] nu poate fi gol!");
			fm.site_description.focus();
			return false;
		}
		if (fm.category_id.options[fm.category_id.selectedIndex].value==0) {
			alert("Selectati, va rog, una din categoriile existente!");
			return false;
		}
		if (!validChar(fm.site_owner,"Proprietarul:",lng,true)) return false;
		if (!validChar(fm.site_creator,"Creatorul:",lng,true)) return false;
		if (!validEmail(fm.email,"E-mail:",lng,true)) return false;
		if (fm.contact_information.value=="") {
			alert("Campul [Informatii de contact:] nu poate fi gol!");
			fm.contact_information.focus();
			return false;
		}
	}

	if (lng=="rus") {
		if (!validChar(fm.site_name,"Название Сайта:",lng,true)) return false;
		if (fm.site_url.value=="") {
			alert("Поле [Адресс сайта:] не может быть пустым!");
			fm.site_url.focus();
			return false;
		}
		if (fm.site_description.value=="") {
			alert("Поле [Описание:] не может быть пустым!");
			return false;
		}
		if (fm.category_id.options[fm.category_id.selectedIndex].value==0) {
			alert("Выберите, пожалуйста, одну из существующих каткгории!");
			return false;
		}
		if (!validChar(fm.site_owner,"Владелец:",lng,true)) return false;
		if (!validChar(fm.site_creator,"Создатель:",lng,true)) return false;
		if (!validEmail(fm.email,"E-mail:",lng,true)) return false;
		if (fm.contact_information.value=="") {
			alert("Поле [Контактная информация:] не может быть пустым!");
			return false;
		}
	}

	if (lng=="eng") {
		if (!validChar(fm.site_name,"Site Name:",lng,true)) return false;
		if (!validChar(fm.site_url,"Site Address:",lng,true)) return false;
		if (fm.site_description.value=="") {
			alert("The field [Description:] can't be empty!");
			return false;
		}
		if (fm.category_id.options[fm.category_id.selectedIndex].value==0) {
			alert("Please select one of the existing category!");
			return false;
		}
		if (!validChar(fm.site_owner,"Owner:",lng,true)) return false;
		if (!validChar(fm.site_creator,"Create by:",lng,true)) return false;
		if (!validEmail(fm.email,"E-mail:",lng,true)) return false;
		if (fm.contact_information.value=="") {
			alert("The field [Contact Information:] can't be empty!");
			return false;
		}
	}
	fm.submit();
	return true;
}



function ValidateUser(fm,lng) {
	if (lng=="rom") {
		if (!validChar(fm.Login,"Login:",lng,true)) return false;
		if (!validChar(fm.Passwd,"Parola:",lng,true)) return false;
	}
	
	if (lng=="rus") {
		if (!validChar(fm.Login,"Пользователь:",lng,true)) return false;
		if (!validChar(fm.Passwd,"Пароль:",lng,true)) return false;
	}
	
	if (lng=="eng") {
		if (!validChar(fm.Login,"Login:",lng,true)) return false;
		if (!validChar(fm.Passwd,"Password:",lng,true)) return false;
	}
	fm.submit();
	return true;
}

function LimitLength(a,len) {
	var info=a.value;
	if (a.value.length>len) a.value=info.substring(0,len-1); 
}


function MoveFocusNextAll(fm,a,lng) {
if (fm.id=="UserForm") {
 	if (window.event.keyCode==13) {  
  		if (a.name=="user_name") fm.user_password.focus();
		if (a.name=="user_password_old") fm.user_password.focus();
		if (a.name=="user_password") fm.user_password1.focus();
		if (a.name=="user_password1") fm.email.focus();
		if (a.name=="email") fm.name.focus();
		if (a.name=="name") fm.family.focus();
		if (a.name=="family") fm.bith_date.focus();
		if (a.name=="bith_date") fm.NewsSubscribe.focus();
		if (a.name=="NewsSubscribe") ValidateRegisterUser(fm,lng);
   } 
 }

if (fm.id=="LoginForm") {
 	if (window.event.keyCode==13) {  
  		if (a.name=="Login") fm.Passwd.focus();
		if (a.name=="Passwd") ValidateUser(fm,lng);
   } 
 }

if (fm.id=="AddSiteForm") {
	var MaxLength=255;
	if ((a.name=="contact_information")||(a.name=="site_description")) {
		LimitLength(a,MaxLength);
	}
	if (window.event.keyCode==13) {  
  		if (a.name=="site_name") fm.site_url.focus();
		if (a.name=="site_url") fm.site_description.focus();
		if (a.name=="town") fm.site_owner.focus();
		if (a.name=="site_owner") fm.site_creator.focus();
		if (a.name=="site_creator") fm.site_hosting.focus();
		if (a.name=="site_hosting") fm.creation_month.focus();
		if (a.name=="creation_month") fm.creation_year.focus();
		if (a.name=="creation_year") fm.email.focus();
		if (a.name=="email") fm.contact_information.focus();
   }
	
}

if (fm.id=="AddNews") {
	if (window.event.keyCode==13) {  
  		if (a.name=="news_date") fm.title_rom.focus();
		if (a.name=="title_rom") fm.title_rus.focus();
		if (a.name=="title_rus") fm.title_eng.focus();
		if (a.name=="title_eng") fm.news_rom.focus();
   }
}

if (fm.id=="AddCategory") {
	if (window.event.keyCode==13) {  
  		if (a.name=="category_rom") fm.category_rus.focus();
		if (a.name=="category_rus") fm.category_eng.focus();
		if (a.name=="category_eng") fm.description_rom.focus();
   }
}

if (fm.id=="AddQuestion") {
	if (window.event.keyCode==13) {  
  		if (a.name=="question_rom") fm.question_rus.focus();
		if (a.name=="question_rus") fm.question_eng.focus();
		if (a.name=="question_eng") fm.response_rom.focus();
   }
}

if (fm.id=="AddOptiune") {
	if (window.event.keyCode==13) {  
  		if (a.name=="optiune_scrutin_rom") fm.optiune_scrutin_rus.focus();
		if (a.name=="optiune_scrutin_rus") fm.optiune_scrutin_eng.focus();
		if (a.name=="optiune_scrutin_eng") fm.isPublic.focus();
   }	
}

if (fm.id=="AddScrutin") {
	if (window.event.keyCode==13) {  
  		if (a.name=="scrutin_rom") fm.scrutin_rus.focus();
		if (a.name=="scrutin_rus") fm.scrutin_eng.focus();
		if (a.name=="scrutin_eng") fm.PublicInfo.focus();
   }	
}

return true;
}


function DeleteNews(id) {
	if (confirm("You realy want to delete this item?")) {
		document.NewsDelForm.news_id.value=id;
		document.NewsDelForm.submit();
	}
	return true;
}

function ValidateNews(fm,lng) {
	if (lng=="rom") {
		if (!validDate(fm.news_date,"Data Noutatii:",lng,true)) return false;
		if (!validChar(fm.title_rom,"Titlu (rom):",lng,true)) return false;
		if (!validChar(fm.title_rus,"Titlu (rus):",lng,true)) return false;
	}
	
	
	fm.submit();
	return true;
}

function ValidateCategory(fm,lng) {
	if (lng=="rom") {
		if (!validChar(fm.category_rom,"Category (rom):",lng,true)) return false;
		if (!validChar(fm.category_rus,"Category (rus):",lng,true)) return false;
	}
	fm.submit();
	return true;
}

function DeleteCategory(id) {
	if (confirm("You realy want to delete this item?")) {
		document.CategoryDelForm.category_id.value=id;
		document.CategoryDelForm.submit();
	}
	return true;
}

function ValidateQuestion(fm,lng) {
	if (lng=="rom") {
		if (!validChar(fm.question_rom,"Question (rom):",lng,true)) return false;
		if (!validChar(fm.question_rus,"Question (rus):",lng,true)) return false;
	}
	fm.submit();
	return true;
}


function ValidateOptiune(fm,lng) {
	if (lng=="rom") {
		if (!validChar(fm.optiune_scrutin_rom,"Optiune (rom):",lng,true)) return false;
		if (!validChar(fm.optiune_scrutin_rus,"Optiune (rus):",lng,true)) return false;
	}
	fm.submit();
	return true;
}

function ValidateScrutin(fm,lng) {
	if (lng=="rom") {
		if (!validChar(fm.scrutin_rom,"Scrutin (rom):",lng,true)) return false;
		if (!validChar(fm.scrutin_rus,"Scrutin (rus):",lng,true)) return false;
	}
	fm.submit();
	return true;
}


function DeleteQuestion(id) {
	if (confirm("You realy want to delete this item?")) {
		document.QuestionDelForm.question_id.value=id;
		document.QuestionDelForm.submit();
	}
	return true;
}

function DeleteOptiune(id) {
	if (confirm("You realy want to delete this item?")) {
		document.OptiuneDelForm.optiune_scrutin_id.value=id;
		document.OptiuneDelForm.submit();
	}
	return true;
}

function DeleteScrutin(id) {
	if (confirm("You realy want to delete this item?")) {
		document.ScrutinDelForm.scrutin_id.value=id;
		document.ScrutinDelForm.submit();
	}
	return true;
}

function UpdateOptiune(op) {
	document.OptiuneUpdateForm.optiune_scrutin_id.value=op;
	document.OptiuneUpdateForm.submit();
	
}

function UpdateSite(op) {
	document.SiteUpdateForm.site_id.value=op;
	document.SiteUpdateForm.submit();
}