﻿function login_validator() {
	
	if ( document.getElementById( 'login_username' ).value == '' || document.getElementById( 'login_username' ).value.length < 2 ) {
		
		alert( 'Необходимо заполнить поле "Ник"' );
		document.getElementById( 'login_username' ).focus();
		return false;
	}
	if ( document.getElementById( 'login_password' ).value == '' || document.getElementById( 'login_password' ).value.letgh < 2 ) {
		
		alert( 'Необходимо заполнить поле "Пароль"' );
		document.getElementById( 'login_password' ).focus();
		return false;
	}
	//document.getElementById( 'login' ).submit();
	return true;
}
function register_validator() {
	
  if ( (document.forms.register.fullname.value == '') || (document.forms.register.fullname.value.length < 2) ) {
  
  	alert("Имя должно быть не менее 2-х символов");
    document.forms.register.fullname.focus();
    return false;
  }
  if ( (document.forms.register.username.value == '') || (document.forms.register.username.value.length < 2) ) {
  
  	alert("Ник должен быть не менее 2-х символов");
    document.forms.register.username.focus();
    return false;
  }
  /*if ( !(/^\w+[\.-]*\w+$/.test(document.forms.register.username.value)) ) {
  
  	alert("Ник должен состоять только из латинских букв, цифр и символов");
    document.forms.register.username.focus();
    return false;
  }*/
  if ( document.forms.register.password1.value.length < 4 ) {
  	
  	alert("Пароль должен быть не менее 4-х символов");
  	document.forms.register.password1.value = '';
  	document.forms.register.password2.value = '';
  	document.forms.register.password1.focus();
  	return false;
  }
  if ( document.getElementById( 'password1' ).value != document.getElementById( 'password2' ).value ) {
  	
  	alert("Повторный пароль неверен");
  	document.forms.register.password1.value = '';
  	document.forms.register.password2.value = '';
  	document.forms.register.password1.focus();
  	return false;
  }
 /* if ( (document.forms.register.email.value == '') || (document.forms.register.email.value.length < 7) )
  {
    alert("Неправильный E-mail");
    document.forms.register.email.focus();
    return false;
  }*/
  if ( !(/^\w+[-_\.]*\w+@\w+-?\w+\.[a-z]{2,4}$/.test(document.forms.register.email.value)) )
  {
    alert("Неправильный E-Mail адрес");
    document.forms.register.email.focus();
    return false;
  }
  return true;
}
function topic_validator() {
	
	if ( document.getElementById('topic_username') != null && document.forms.add_topic.topic_username.value.length < 2 ) {
		
		alert("Имя пользователя должно быть не менее  2-х символов");
   	 	document.forms.add_topic.topic_username.focus();
    	return false;	
	}
	if ( document.forms.add_topic.topic_title.value == '' || document.forms.add_topic.topic_title.value.length < 3 ) {
		
		alert("Заголовок должен быть больше 3-х символов");
   	 	document.getElementById( 'topic_title' ).focus();
		return false;	
	}
	if ( document.forms.add_topic.topic_title.value.length > 500 ) {
		
		alert("Заголовок должен быть меньше 500 символов");
   	 	document.getElementById( 'topic_title' ).focus();
		return false;		
	}

	return true;
}
function addmess_validator( num ) {
	
	var add_form = document.getElementById( 'add_message_' + num );
	
	if ( add_form.mess_username != null ) {
	
		var strTemp = add_form.mess_username.value;
   		strTemp = trimAll(strTemp);
	
		if ( add_form.mess_username.value.length < 2 ) {

			alert("Имя пользователя должно быть не менее  2-х символов");
   	 		add_form.mess_username.focus();
    		return false;
		}
	
		if ( strTemp == 0 ) {

			alert("Имя пользователя не должно состоять из одних пробелов");
   	 		add_form.mess_username.focus();
    		return false;
		}
	}
	
	if ( add_form.body.value == '' ) {
		
		alert("Текст сообщения не должен быть пуст");
   	 	add_form.body.focus();
		return false;	
	}
	if ( add_form.body.value.length > 5000 ) {
		
		alert("Слишком большое сообщение");
   	 	add_form.body.focus();
		return false;	
	}
	
	add_form.submit();
}

function trimAll( strValue ) {
/************************************************
DESCRIPTION: Removes leading and trailing spaces.

PARAMETERS: Source string from which spaces will
  be removed;

RETURNS: Source string with whitespaces removed.
*************************************************/ 
 var objRegExp = /^(\s*)$/;

    //check for all spaces
    if(objRegExp.test(strValue)) {
       strValue = strValue.replace(objRegExp, '');
       if( strValue.length == 0)
          return strValue;
    }
    
   //check for leading & trailing spaces
   objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
   if(objRegExp.test(strValue)) {
       //remove leading and trailing whitespace characters
       strValue = strValue.replace(objRegExp, '$2');
    }
  return strValue;
}