if (!window.commentsEnv)
	commentsEnv = {};

commentsEnv.showForm = function (idComment, showReplies)
{
	// скрываем открытые ответы и форму
	if (commentsEnv.lastOpenedId) {
		jQuery('#sub-'+commentsEnv.lastOpenedId).css('display', 'none');
		jQuery('#new_comments-'+commentsEnv.lastOpenedId).css('display', 'none');
		var r = jQuery('#addFormObject').remove();
	}

	// форма 0 уровня
	if (idComment == 0) {
		jQuery('#place-0').toggle();

	} else {

		// замеряем id в шаблоне
		var newAddFormTemplate = commentsEnv.formTemplate;
		while (newAddFormTemplate.indexOf('%id%') >=0) {
			newAddFormTemplate = newAddFormTemplate.replace('%id%', ''+idComment)
		}

		if (commentsEnv.lastOpenedId != idComment) {
			if (showReplies) { // показываем ответы
				jQuery('#sub-'+idComment).css('display', 'block');
			}
			jQuery('#new_comments-'+idComment).css('display', 'block');
			jQuery('#new_comments-'+idComment).after(newAddFormTemplate);
			jQuery('#captcha-' + idComment).attr('src', commentsEnv.urlAjax + '/str.php?id=' + Math.random());
			jQuery('#place-0').hide();

			if (!showReplies) {
				if (jQuery('#addFormObject textarea[name=content_user]:last').css('display') != 'none')
					jQuery('#addFormObject textarea[name=content_user]:last').focus();
				if (jQuery('#addFormObject textarea[name=content_anonym]:last').css('display') != 'none')
					jQuery('#addFormObject textarea[name=content_anonym]:last').focus();
			}

			if (showReplies)
				document.location.replace('#c'+idComment);
		}

		// скрываем 0 форму
		if (commentsEnv.lastOpenedId == idComment) {
			jQuery('#place-0').show();
			commentsEnv.lastOpenedId = 0;
		} else {
			commentsEnv.lastOpenedId = idComment;
		}
	}

	return false;
}

// проверка на пустоту
commentsEnv.TrimString = function (sInString){
	sInString = sInString.replace(/ /g,' ');
	return sInString.replace(/(^\s+)|(\s+$)/g, "");
}

// переключай
commentsEnv.showState = function(state, id)
{
	currState = 'anonym';
	if (state == 'anonym') {
		currState = 'user'
	}

	jQuery("#add-" + id + "-" + currState).removeClass('add-select add-curr').addClass("add-select");
	jQuery("#form-" + id + "-" + currState).css('display', 'none');
	jQuery("#add-" + id + "-" + state).removeClass('add-select').addClass("add-select add-curr");
	jQuery("#form-" + id + "-" + state).css('display', 'block');

}

// выход из
commentsEnv.logout = function(commentId) {
	jQuery.getJSON(
		commentsEnv.urlAjax + '/ajax/comments.php?callback=?',
		{
			"act": "logout",
			"entity": commentsEnv.entity,
			"region": commentsEnv.region,
			"parent_id": commentId
		},
		function(data) {
			//commentsEnv.formTemplate = "<div id=\"addFormObject\" class=\"comments_place_add\"><div id=\"form-content-%id%\">{$addFormTemplate|escape:'javascript'}</div></div>";
			//jQuery('#form-content-' + commentId).html(data);
			jQuery('#form-content-' + commentId).html(data);
			jQuery('#captcha-' + commentId).attr('src', commentsEnv.urlAjax + '/str.php?id=' + Math.random());
			commentsEnv.updateAddFormTemplate();
		}
	);

	return false;
}


// проверка
commentsEnv.ch = function(f, id)
{

	if((jQuery('#r1-'+id).attr('checked') && f.login && !commentsEnv.TrimString(f.login.value)) || (jQuery('#r2-'+id).attr('checked') && !commentsEnv.TrimString(f.name.value)) || (jQuery('#r1-'+id).attr('checked') && f.nick && !commentsEnv.TrimString(f.nick.value)))
	{
		jQuery("#add_error-"+id).css('display', 'block');
		jQuery("#add_error-"+id).html("Представьтесь, пожалуйста");
		return false;
	}

	if ((jQuery('#r1-'+id).attr('checked') && f.passwd && !f.passwd.value) || (jQuery('#r2-'+id).attr('checked') && jQuery('#regc-'+id).attr('checked')  && !f.reg_passwd.value))
	{
		jQuery("#add_error-"+id).css('display', 'block');
		jQuery("#add_error-"+id).html("Введите пароль");
		return false;
	}

	if (jQuery('#r2-'+id).attr('checked') && jQuery('#regc-'+id).attr('checked') && (f.reg_passwd.value != f.reg_passwd1.value)) {
		jQuery("#add_error-"+id).css('display', 'block');
		jQuery("#add_error-"+id).html("Введенные пароли не совпадают");
		return false;
	}

	var reEmail = /^[0-9a-z-_.]*?@[0-9a-z -_.]*?.[a-z]*?$/i;

	if (jQuery('#r2-'+id).attr('checked') && jQuery('#c3-'+id).attr('checked') && (!f.email.value || !reEmail.test(f.email.value))) {
		jQuery("#add_error-"+id).css('display', 'block');
		jQuery("#add_error-"+id).html("А куда будем уведомления присылать?");
		return false;
	}

	if(jQuery('#r2-'+id).attr('checked') && !jQuery('#regc-'+id).attr('checked') && f.email.value && !reEmail.test(f.email.value))
	{
		jQuery("#add_error-"+id).css('display', 'block');
		jQuery("#add_error-"+id).html("Если не хотите оставлять адрес e-mail, то поле можно и не заполнять");
		return false;
	}

	if (jQuery('#regc-'+id).attr('checked') && !reEmail.test(f.email.value)) {
		jQuery("#add_error-"+id).css('display', 'block');
		jQuery("#add_error-"+id).html("Нужно оставить адрес e-mail для регистрации");
		return false;
	}

	if(jQuery('#r2-'+id).attr('checked') && !f.str.value)
	{
		jQuery("#add_error-"+id).css('display', 'block');
		jQuery("#add_error-"+id).html("Код подтверждения обязательно надо написать");
		return false;
	}
	return true;
}

commentsEnv.cl = function(id)
{
	jQuery("#add_success-"+id).css('display', 'none');
	jQuery("#add_error-"+id).css('display', 'none');
	jQuery("#add_success-"+id).html("");
	jQuery("#add_error-"+id).html("");
}


commentsEnv.addComment = function(id)
{
	f = document.getElementById('values-'+id);
	if (!commentsEnv.ch(f, id)) {
		return false;
	}
	//! onlyForm = document.comments_param_block.onlyForm.value;
	var onlyForm = commentsEnv.onlyForm;
	// формируем данные для отправки
	var comment_type = 'anonym';
	var comment_name = '';
	var comment_email = '';
	var comment_reg_pass = '';
	var comment_reg_passwd = '';
	var comment_str = '';
	var comment_login = '';
	var comment_password = '';
	var comment_nick = '';
	var comment_show_email = 0;
	var comment_register = 0;
	var comment_log_in = 0;
	var comment_notify_me = 0;
	if (jQuery('#r1-'+id).attr('checked')) comment_type = 'user';
	if (f.name && f.name.value) comment_name = f.name.value;
	if (f.email && f.email.value) comment_email = f.email.value;
	if (f.show_email && f.show_email.checked) comment_show_email = true;
	//if (f.register && f.register.checked) comment_register = true;
	if (f.reg_passwd && f.reg_passwd.value) comment_reg_pass = f.reg_passwd.value;
	if (f.reg_passwd1 && f.reg_passwd1.value) comment_reg_passwd = f.reg_passwd1.value;
	if (f.str && f.str.value) comment_str = f.str.value;
	if (f.login && f.login.value) comment_login = f.login.value;
	if (f.passwd && f.passwd.value) comment_password = f.passwd.value;
	if (f.log_in && f.log_in.checked) comment_log_in = true;
	if (f.nick && f.nick.value) comment_nick = f.nick.value;
	if (f.notify_me && f.notify_me.checked) comment_notify_me = true;
	text = f.content_anonym.value;
	if (comment_type == 'user') text = f.content_user.value;

	var IE='\v'=='v';
	if(IE) {
		if (text.length > 350) {
			jQuery("#add_error-"+id).css('display', 'block');
			jQuery("#add_error-"+id).html("Вы ввели "+text.length+" символов. Для Вашего браузера разрешено - 350. Пожалуйста, сократите текст.");
			return false;
		}
	} else {
		if (text.length > 2000) {
			jQuery("#add_error-"+id).css('display', 'block');
			jQuery("#add_error-"+id).html("Вы ввели "+text.length+" символов. Разрешено - 2000. Пожалуйста, сократите текст.");
			return false;
		}
	}

	jQuery.getJSON(
		commentsEnv.urlAjax + '/ajax/comments.php?callback=?',
		{
			"act": "add",
			"type": comment_type,
			"entity": f.article_id.value,
			"parent_id": f.comment_id.value,
//		project: document.comments_param_block.project.value,
//		prefix: document.comments_param_block.prefix.value,
//		region: document.comments_param_block.region.value,

			"project": commentsEnv.project,
			"prefix": commentsEnv.prefix,
			"region": commentsEnv.region,
			"text": text,
			"name": comment_name,
			"email": comment_email,
			"show_email": comment_show_email,
			"register": comment_register,
			"reg_pass": comment_reg_pass,
			"reg_passwd": comment_reg_passwd,
			"str": comment_str,
			"login": comment_login,
			"password": comment_password,
			"log_in": comment_log_in,
			"nick": comment_nick,
			"notify_me": comment_notify_me
		},
		function(data) {
			var str = '##PLACEHOLRER##';
			var io = data.split(str);

			if (comment_type == 'user' && comment_login && comment_password) {
				var cookie = commentsEnv.getCookie('ngs_ttq')
				if (cookie) {
					var cookie_hash = commentsEnv.parseCookie(cookie);
					if (cookie_hash) {
						var connection = document.createElement('iframe');
						connection.setAttribute('src', 'http://passport.ngs.ru' + commentsEnv.env
								+ '/client/index.php?set_cookie=' + cookie_hash
								+ '&return=' + 'http://news.ngs.ru' + commentsEnv.env + '/passportAjax.html');
						connection.style.height = connection.style.width = "1px";
						connection.style.visibility = "hidden";
						connection.style.display = 'none';
						document.getElementById('place-0').appendChild(connection);
					}
				}
				// если
			}

			var addForm = '';
			if (io[0] && !io[1]) {
				addForm = io[0]

			} else {
				addForm = io[1]
				if (!onlyForm) {
					jQuery('#new_comments-' + id).append(io[0]);
					jQuery('#sub-' + id).css('display', 'block');
					jQuery('#new_comments-' + id).css('display', 'block');
				}
			}
			jQuery('#form-content-' + id).html(addForm);
			jQuery('#captcha-' + id).attr('src', commentsEnv.urlAjax + '/str.php?id=' + Math.random());
			if (comment_login) {
				commentsEnv.updateAddFormTemplate();
			}
		}
	);

	return false;
}

commentsEnv.updateAddFormTemplate = function() {
	jQuery.getJSON(
		commentsEnv.urlAjax + '/ajax/comments.php?callback=?',
		{
			"act": "template",
			"entity": commentsEnv.entity,
			"project": commentsEnv.project,
			"prefix": commentsEnv.prefix,
			"region": commentsEnv.region
		},
		function(data) {
			if (data) {
				commentsEnv.formTemplate = "<div id=\"addFormObject\" class=\"comments_place_add\"><div id=\"form-content-%id%\">" + data + "</div></div>";
			}
		}
	);
}

commentsEnv.parseCookie = function(cookies) {
	if (cookies) {
		cookie_re = /:key:([a-zA-Z0-9]+)/i;
		ret = cookies.match(cookie_re);
		if (ret && ret[1] != undefined) {
			return ret[1];
		}
	}

	return false;
}

commentsEnv.getCookie = function(name) {
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}

commentsEnv.limitText = function(limitField, id) {
	var IE='\v'=='v';
	if (IE) {
		if (limitField.value.length > 350) {
			jQuery("#add_error-"+id).css('display', 'block');
			jQuery("#add_error-"+id).html("Вы ввели " + limitField.value.length + " символов. Разрешено - 350. Пожалуйста, сократите текст.");
		} else {
			jQuery("#add_error-"+id).css('display', 'none');
		}
	} else {
		if (limitField.value.length > 2000) {
			jQuery("#add_error-"+id).css('display', 'block');
			jQuery("#add_error-"+id).html("Вы ввели " + limitField.value.length + " символов. Разрешено - 2000. Пожалуйста, сократите текст.");
		} else {
			jQuery("#add_error-"+id).css('display', 'none');
		}
	}
}

