
////////////////////////////////////////////////// functions for checking form
function checkForm(type) {

	var err = true;
	var error_class = 'form_error';
	var error_input = 'input_error';
	var error1 = '';
	var error2 = '';
	var error3 = '';
	var error4 = '';
	var error5 = '';
		
	// check form for upload banner image
	if (type == 'upload') {
		if (drop_spaces(trim(document.getElementById("pic").value)) == '') {
			document.getElementById("pic").value = '';
			document.getElementById("pic").className = error_input;
			document.getElementById("e_pic").className = error_class;
			error3 = 'Please select file';	
			err = false;
		}	
	}	
		
	// check form for add or edit page from secondary menu
	if (type == 'page_form0') {
	
		if (drop_spaces(trim(document.getElementById("name").value)) == '') {
			document.getElementById("name").value = '';
			document.getElementById("name").className = error_input;
			document.getElementById("e_name").className = error_class;
			err = false;
		}	
		
		var alias = document.getElementById("alias").value; 
		if (alias != '') {
			if (!check_string(alias)) {
				err = false;
				document.getElementById("alias").className = error_input;
				document.getElementById("e_alias").className = error_class;
				error3 = 'Please remove special chars from alias: only letter and digits are allowed. ';	
		  	}
		} else {
			if (drop_spaces(trim(document.getElementById("alias").value)) == '') {
				err = false;
				document.getElementById("e_alias").className = error_class;
				document.getElementById("alias").value = '';
				document.getElementById("alias").className = error_input;
				error1 = 'Please fill all fields. ';
			}
		}
	}
	
	// check form for edit page from primary menu
	if (type == 'page_form1') {
		if (drop_spaces(trim(document.getElementById("name").value)) == '') {
			document.getElementById("name").value = '';
			document.getElementById("name").className = error_input;
			document.getElementById("e_name").className = error_class;
			err = false;
		}	
	}
	
	// edit admin
	if (type == 'edit_admin') {

		var login = document.getElementById("login").value; 
		if (login != '') {
			if (!check_string(login)) {
				err = false;
				document.getElementById("login").className = error_input;
				document.getElementById("e_login").className = error_class;
				error3 = 'Please remove special chars from login: only letter and digits are allowed. ';	
		  	}
		} else {
			if (drop_spaces(trim(document.getElementById("login").value)) == '') {
				err = false;
				document.getElementById("e_login").className = error_class;
				document.getElementById("login").value = '';
				document.getElementById("login").className = error_input;
				error1 = 'Please fill all fields. ';
			}
		}
		var email = document.getElementById("email").value; 
		if (email != '') {
			if (!check_email(email)) {
				err = false;
				document.getElementById("e_email").className = error_class;
				document.getElementById("email").className = error_input;
				error2 = 'You have entered an incorrect email address. ';
				
				if (drop_spaces(trim(document.getElementById("email").value)) == '') {

					error1 = 'Please fill all fields. ';
					document.getElementById("e_email").className = error_class;
					document.getElementById("e_email").value = '';
					document.getElementById("email").className = error_input;
				}
		  	}
		}			
	}
	
	// add admin
	if (type == 'add_admin') {

		var login = document.getElementById("login").value; 
		if (login != '') {
			if (!check_string(login)) {
				err = false;
				document.getElementById("login").className = error_input;
				document.getElementById("e_login").className = error_class;
				error3 = 'Please remove special chars from login: only letter and digits are allowed. ';	
		  	}
		} else {
			if (drop_spaces(trim(document.getElementById("login").value)) == '') {
				err = false;
				document.getElementById("e_login").className = error_class;
				document.getElementById("e_login").value = '';
				document.getElementById("login").className = error_input;
				error1 = 'Please fill all fields. ';
			}
		}
		
		var email = document.getElementById("email").value; 
		if (email != '') {
			if (!check_email(email)) {
				err = false;
				document.getElementById("e_email").className = error_class;
				document.getElementById("email").className = error_input;
				error2 = 'You have entered an incorrect email address. ';
		  	}
		} else {
			if (drop_spaces(trim(document.getElementById("email").value)) == '') {
				err = false;
				document.getElementById("e_email").className = error_class;
				document.getElementById("e_email").value = '';
				document.getElementById("email").className = error_input;
				error1 = 'Please fill all fields. ';
			}
		}
		
		var new_pass = drop_spaces(trim(document.getElementById("password").value));
		if (new_pass == '') {
			document.getElementById("password").value = '';
			document.getElementById("password").className = error_input;
			document.getElementById("e_password").className = error_class;
			error1 = 'Please fill fields marked as *. ';
			err = false;
		} else {
			if (new_pass.length < 6 || new_pass.length > 12) {
				document.getElementById("e_password").className = error_class;
				document.getElementById("password").className = error_input;
				error4 = 'Passwords must be between 6 and 12 characters long. ';
				err = false;
			}
		}
		var pass_confirm = drop_spaces(trim(document.getElementById("confirm_password").value));
		if (pass_confirm == '') {
			document.getElementById("confirm_password").value = '';
			document.getElementById("confirm_password").className = error_input;
			document.getElementById("e_confirm_password").className = error_class;
			error1 = 'Please fill fields marked as *. ';
			err = false;
		} else {
			if (pass_confirm.length < 6 || pass_confirm.length > 12) {
				document.getElementById("confirm_password").className = error_input;
				document.getElementById("e_confirm_password").className = error_class;
				error4 = 'Passwords must be between 6 and 12 characters long. ';
				err = false;
			}
		}
		
		if (new_pass != pass_confirm) {
			document.getElementById("e_confirm_password").className = error_class;
			document.getElementById("password").className = error_input;
			document.getElementById("confirm_password").className = error_input;
			error5 = 'You have entered an incorrect password confirm. ';
			err = false;
		}
	}
	
	// admin changes password for other admin
	if (type == 'change_password0') {

		var new_pass = drop_spaces(trim(document.getElementById("password").value));
		if (new_pass == '') {
			document.getElementById("password").value = '';
			document.getElementById("password").className = error_input;
			document.getElementById("e_password").className = error_class;
			error1 = 'Please fill fields marked as *. ';
			err = false;
		} else {
			if (new_pass.length < 6 || new_pass.length > 12) {
				document.getElementById("e_password").className = error_class;
				document.getElementById("password").className = error_input;
				error2 = 'Passwords must be between 6 and 12 characters long. ';
				err = false;
			}
		}
		var pass_confirm = drop_spaces(trim(document.getElementById("confirm_password").value));
		if (pass_confirm == '') {
			document.getElementById("confirm_password").value = '';
			document.getElementById("confirm_password").className = error_input;
			document.getElementById("e_confirm_password").className = error_class;
			error1 = 'Please fill fields marked as *. ';
			err = false;
		} else {
			if (pass_confirm.length < 6 || pass_confirm.length > 12) {
				error2 = 'Passwords must be between 6 and 12 characters long. ';
				document.getElementById("confirm_password").className = error_input;
				document.getElementById("e_confirm_password").className = error_class;
				err = false;
			}
		}
		if (err) {
			if (new_pass != pass_confirm) {
				document.getElementById("e_confirm_password").className = error_class;
				document.getElementById("password").className = error_input;
				document.getElementById("confirm_password").className = error_input;
				error3 = 'You have entered an incorrect password confirm. ';
				err = false;
			}
		}
	}
	
	// admin changes password for itself
	if (type == 'change_password1') {

		if (drop_spaces(trim(document.getElementById("old_password").value)) == '') {
			document.getElementById("old_password").value = '';
			document.getElementById("old_password").className = error_input;
			document.getElementById("e_old_password").className = error_class;
			error1 = 'Please fill fields marked as *. ';
			err = false;
		}
		
		var new_pass = drop_spaces(trim(document.getElementById("password").value));
		if (new_pass == '') {
			document.getElementById("password").value = '';
			document.getElementById("password").className = error_input;
			document.getElementById("e_password").className = error_class;
			error1 = 'Please fill fields marked as *. ';
			err = false;
		} else {
			if (new_pass.length < 6 || new_pass.length > 12) {
				document.getElementById("e_password").className = error_class;
				document.getElementById("password").className = error_input;
				error2 = 'Passwords must be between 6 and 12 characters long. ';
				err = false;
			}
		}
		var pass_confirm = drop_spaces(trim(document.getElementById("confirm_password").value));
		if (pass_confirm == '') {
			document.getElementById("confirm_password").value = '';
			document.getElementById("confirm_password").className = error_input;
			document.getElementById("e_confirm_password").className = error_class;
			error1 = 'Please fill fields marked as *. ';
			err = false;
		} else {
			if (pass_confirm.length < 6 || pass_confirm.length > 12) {
				error2 = 'Passwords must be between 6 and 12 characters long. ';
				document.getElementById("confirm_password").className = error_input;
				document.getElementById("e_confirm_password").className = error_class;
				err = false;
			}
		}
		if (err) {
			if (new_pass != pass_confirm) {
				document.getElementById("e_confirm_password").className = error_class;
				document.getElementById("password").className = error_input;
				document.getElementById("confirm_password").className = error_input;
				error3 = 'You have entered an incorrect password confirm. ';
				err = false;
			}
		}
	}
	
	// change admin email
	if (type == 5) {

		if (drop_spaces(trim(document.getElementById("pass").value)) == '') {
			err = false;
			document.getElementById("pass").value = '';
			document.getElementById("f_pass").className = error_class;
			error1 = 'Please fill fields marked as *. ';		
		}
		
		var email = document.getElementById("a_email").value; 
		if (email != '') {
			if (!check_email(email)) {
				err = false;
				document.getElementById("f_a_email").className = error_class;
				error2 = 'You have entered an incorrect email address. ';
				if (drop_spaces(trim(document.getElementById("a_email").value)) == '') {
					document.getElementById("a_email").value = '';
				}
		  	}
		}
	}
	
	if (!err) {
		if (type == 'edit_admin' || type == 'add_admin') {
			document.getElementById("result").innerHTML = '<span class="form_error">' + error1 + error2 + error3 + error4 + error5 + '</span>';
		} else if (type == 'change_password0' || type == 'change_password1') {
			document.getElementById("result").innerHTML = '<span class="form_error">' + error1 + error2 + error3 + '</span>';
		} else if (type == 'page_form0') {
			document.getElementById("result").innerHTML = '<span class="form_error">' + error1 + error2 + error3 + '</span>';
		} else if (type == 'upload') {
			document.getElementById("result").innerHTML = '<span class="form_error">' + error1 + '</span>';
		} else {
			if (document.getElementById("result"))
				document.getElementById("result").innerHTML = '<span class="form_error">Please fill fields marked as *</span>';
		}
	}
	
	return err;
}

////////////////////////////////////////////////// functions for checking login form
function checkLoginForm(type) {

	var err = true;
	var error_class = 'form_error';
	var error_input = 'input_error';
	var error1 = '';
	var error2 = '';
	var error3 = '';
	
	// login
	if (type == 'login') {
	
		if (drop_spaces(trim(document.getElementById("admin_name").value)) == '') {
			document.getElementById("admin_name").value = '';
			document.getElementById("admin_name").className = error_input;
			document.getElementById("e_admin_name").className = error_class;
			error1 = 'Please fill all fields. ';
			err = false;
		}
		
		if (drop_spaces(trim(document.getElementById("admin_pass").value)) == '') {
			document.getElementById("admin_pass").value = '';
			document.getElementById("admin_pass").className = error_input;
			document.getElementById("e_admin_pass").className = error_class;
			error1 = 'Please fill all fields. ';
			err = false;
		}
	}
	
	// lost password
	if (type == 'lost_password') {

		document.getElementById('lf_message').innerHTML = '';
		var email = document.getElementById("lost_email").value; 
		if (email != '') {
			if (!check_email(email)) {
				document.getElementById("e_lost_email").className = error_class;
				err = false;
				error1 = 'You have entered an incorrect email. ';
				document.getElementById("lost_email").className = error_input;
				if (drop_spaces(trim(document.getElementById("lost_email").value)) == '') {
					document.getElementById("lost_email").value = '';
				}
		  	}
		} else {
			err = false;
			document.getElementById("e_lost_email").className = error_class;
			document.getElementById("lost_email").className = error_input;
			error2 = 'Please fill all fields. ';
		}
	
		if (drop_spaces(trim(document.getElementById("lost_login").value)) == '') {
			document.getElementById("lost_login").value = '';
			document.getElementById("lost_login").className = error_input;
			document.getElementById("e_lost_login").className = error_class;
			error2 = 'Please fill all fields. ';
			err = false;
		}
	}
	if (!err) {
		document.getElementById("lf_message").innerHTML = '<span class="form_error">' + error1 + error2 + error3 + '</span>';
	}
	return err;
}

function count_chars (textField, countField, maxlen, show_alert) {
    if(textField != null && textField.value != null) {
	    if (textField.value.length > maxlen) {
            if (show_alert)
               alert('This field should be no more than ' +  maxlen + ' characters maximum.');
            textField.value = textField.value.substring(0, maxlen);
	    } else {
            countField.value = maxlen - textField.value.length;
	    }
    }
}

function changeForm () {
	
	var action = document.getElementById('action').value;
	document.getElementById('lf_message').innerHTML = '';
	if (action == 2) {
		document.getElementById('action').value = '1';
		document.getElementById('lost_password_form').style.display = 'block';
		document.getElementById('login_action').innerHTML = 'Return to login form';
		document.getElementById('login_form').style.display = 'none';
		document.getElementById('login_message').innerHTML = 'Please enter your login and e-mail address.<br>You\'ll receive a new password via e-mail.';
		document.getElementById('e_lost_login').className = '';
		document.getElementById('e_lost_email').className = '';
	} else {
		document.getElementById('action').value = '2';
		document.getElementById('lost_password_form').style.display = 'none';
		document.getElementById('login_action').innerHTML = 'Lost your password?';
		document.getElementById('login_form').style.display = 'block';
		document.getElementById('login_message').innerHTML = 'Please enter your login and password.';
	}
	
}

function insertText (text, type) {
	if (type == 'error')
		document.getElementById('result').innerHTML = '<span class="admin_error">' + text + '</span>';
	else
		document.getElementById('result').innerHTML = text;
}

function makeError (id) {
	document.getElementById(id).className = 'input_error';
	document.getElementById("e_" + id).className = 'form_error';
}

function check_string (string) {
    var template = /^[A-Za-z0-9]+$/;
    login = drop_spaces(string);
    if (template.test(string)) {
        return true;
    }
    return false; 
}
 
