/*
objects:
-------
+commentLabel - включатель комментариев
+commentStat - поле отображения статуса
+regUserForm  - Коробка регистрационная
+	+regUserTable - Форма для регистрации пользователя
+	+successRegistration - Сообщение о успешной регистрации
+	+regError - коробка для ошибок 
+	+regButton - кнопка регистрации	
+	+regCaptcha - поле ввода капчи
+	+regEmail - поле ввода емайла
+	+regPasswd - поле ввода пароля
+	+regRePasswd - повторный ввод пароля
+	+regName - поле ввода имени
+ 
+commentPlace - коробка для комментариев
+
+commentForm - коробка для оставления комментария
+	+loginForm - коробка с именем и паролем
+	+yourName - надпись ваше имя
+	+login - поле ввода имени пользователя
+	+password - поле ввода пароля
+	+comment - поле ввода комментария
+	+sendComment - кнопка отправки



*/


function loadComments(count,id)
{
	
 	showObj('commentForm');
	if(get('yourName').innerHTML!='')
	{
		hideObj('loginForm');
		hideObj('pleaseLoginText');
		if(get('yourName').innerHTML.match(/^[а-яА-Яa-zA-Z0-9]{3,15}$/)) get('yourName').innerHTML='<img src="/img/user.gif" width="16" height="16" alt="Ваше имя" />'+get('yourName').innerHTML;
		get('yourName').style.display='';
	}
 	if(id>0 && count>0)
 	{
	 
		get('commentLabel').style.background.image="url(/img/wheel.gif)";
		get('commentLabel').style.background.repeat="no-repeat";
		get('commentLabel').style.background.position="left";
		get('commentStat').innerHTML="<img src=\"/img/ajax-loader.gif\" width=\"16\" height=\"16\" alt=\"Загрузка\" />";
		
		JsHttpRequest.query(
					            '/back-end.php', // url
					            {
									'act': 'getComments',
								    'str': id
									
					            },
					            
					            // Function is called when an answer arrives. 
					            function(result, errors) 
									{ 
										 if(errors) alert(errors);
							             if(result.html)
								             {
								             	get('commentLabel').style.background.image="";
												get('commentLabel').style.background.repeat="no-repeat";
												get('commentLabel').style.background.position="left";
												get('commentStat').innerHTML=" ";
												get('commentPlace').innerHTML=result.html; 
									         }
								
						            },
					            true
					        );
	}

}

function checkCommentLoginForm()
{
	if(get('yourName').innerHTML==""){
		
						message_start='	<font color="red"> Неверно заполнены поля: <ul>';
						message_end='	</ul><font>';
						message_li='';
						if(!checkStr(get('login'),'username')) message_li=message_li+'<li>имя пользователя</li>';
						if(!checkStr(get('password'),'password')) message_li=message_li+'<li>пароль</li>';
						if(!checkStr(get('comment'),'mixed')) message_li=message_li+'<li>комментарий</li>';
						
						if(message_li!='') return message_start+message_li+message_end; 
						else return true;
	}
	else return true;
	
}

function makeComment(id)
{
	err=checkCommentLoginForm();
	if(err==true)
	{	
		if(get('yourName').innerHTML=="")
			{
				login=get('login').value;
				passwd=get('password').value;
				message=get('comment').value;
			}else
			{
				login=null;
				passwd=null;
				message=get('comment').value;
			}
		get('sendComment').style.background.color="#e2e2e2";
		get('sendComment').style.background.image="url(/img/wheel.gif)";
		get('sendComment').style.background.repeat="no-repeat";
		get('sendComment').style.background.position="left";
		get('sendComment').value="   Отправка данных";
		get('sendComment').disabled="disabled";
		
				if(id>0)
				{
					
				JsHttpRequest.query(
						            '/back-end.php', // backend
						            {
										'act': 'postComment',
									    'str': id,
									    'login':login,
									    'password': passwd,
									    'message' : message    
										
						            },
						            // Function is called when an answer arrives. 
						            function(result, errors) 
									{ 
										get('sendComment').style.background.color="#e2e2e2";
										get('sendComment').style.background.image="";
										get('sendComment').value="Отправить";
										get('sendComment').disabled=false;
										
										if(errors) alert(errors);
						             	if(result.state)
						             	{
						             		hideObj('pleaseLoginText');
						             		if(get('yourName').innerHTML=="")get('yourName').innerHTML="Имя: "+login;
						             		get('commentPlace').innerHTML=result.html+get('commentPlace').innerHTML;
						             		get('commentCount').innerHTML=parseInt(get('commentCount').innerHTML)+1;
						             	} else {
						             		if(result.err=='msg'){
						             			if(get('yourName').innerHTML=="")get('yourName').innerHTML="Имя: "+login;
						             			hideObj('pleaseLoginText');
						             			get('commentErr').innerHTML='Ошибка добавление комментария.';
						             		}
						             		if(result.err=='login') get('commentErr').innerHTML='Логин и пароль не верны';
						             	}
						             {
						             	
						             }
						
						            },
						            true
				        		  );
				}
	}
	else 
	{
		get('commentErr').innerHTML=err;
	}
}

function checkRePass()
{
	obj=get('regRePasswd');
	if(obj.value==get('regPasswd').value) return true;
	else
	{
		obj.style.border="1px dashed red"; return false; 
	}
}

function checkRegForm()
{
	
		
						message_start='	<font color="red"> Неверно заполнена информация: <ul>';
						message_end='	</ul><font>';
						message_li='';
						if(!checkStr(get('regName'),'username')) message_li=message_li+'<li>имя пользователя</li>';
						if(!checkStr(get('regPasswd'),'password')) message_li=message_li+'<li>пароль</li>';
						if(!checkStr(get('regRePasswd'),'password')) message_li=message_li+'<li>подтверждение пароля</li>';
						if(!checkRePass())message_li=message_li+'<li>пароль и подтверждение пароля <u>не совпадают</u></li>';
						if(!checkStr(get('regEmail'),'email')) message_li=message_li+'<li>E-mail</li>';
						if(!checkStr(get('regCaptcha'),'username')) message_li=message_li+'<li>код изображенный на картинке</li>';
						if(message_li!='') return message_start+message_li+message_end; 
						else return true;
	
	
}
function regUser()
{
	
	err=checkRegForm();
	if(err==true){
			obj=get('regButton');
			//obj.style.background.color="#e2e2e2";
			obj.style.background.image="'/img/wheel.gif'";
			obj.style.background.repeat="no-repeat";
			obj.style.background.position="left";
			obj.value="   Отправка данных";
			obj.disabled="disabled";
			
						
					JsHttpRequest.query(
							            '/back-end.php', // backend
							            {
											'act': 'regReader',
										    'str': get('regCaptcha').value,
										    'login':get('regName').value,
										    'password':get('regPasswd').value,
										    'email' : get('regEmail').value    
											
							            },
							            // Function is called when an answer arrives. 
							            function(result, errors) 
										{ 
												obj.style.background.color="#e2e2e2";
												obj.style.background.image="";
												obj.style.background.repeat="no-repeat";
												obj.style.background.position="left";
												obj.value="Отправка завершена";
												obj.disabled="disabled";
											 if(errors) alert(errors);
											
							           		 if(result.succeed)
									            {
									            	hideObj('loginForm');
									            	showObj('yourName');
									            	hideObj('regUserTable');
									            	showObj('successRegistration');
									            	hideObj('pleaseLoginText');
									            	get('yourName').innerHTML='Имя: '+result.name;
									            }else{
									            	if(result.error=='captcha') get('regError').innerHTML="<font color='red'>Неверно введён код изображенный на картинке.</font>";
													obj.value="Зарегистрироваться";
													obj.disabled=false;
									            	
									            }
									            
									            
							
							            },
							            true
					        		  );
					
	}else 
	{
		 
		get('regError').innerHTML=err;
	}
}

function reloadCaptcha(){
	get('Captcha').src=get('Captcha').src+Math.round(Math.random() * 3);
}
function ban(obj)
{
	
		JsHttpRequest.query(
							            '/back-end.php', // backend
							            {
											'act': 'banReader',
										    'str': obj.id 
											
							            },
							            // Function is called when an answer arrives. 
							            function(result, errors) 
										{ 
												 
											 if(errors) alert(errors);
											
							           		 if(result)
									            {
									                alert('успешно забанен');
									            }else{
										            	
									            	alert('ошибка');
									            	
									            }
									            
									            
							
							            },
							            true
					        		  );
}
function del(obj)
{
	
		JsHttpRequest.query(
							            '/back-end.php', // backend
							            {
											'act': 'delComment',
										    'str': obj.id 
											
							            },
							            // Function is called when an answer arrives. 
							            function(result, errors) 
										{ 
												 
											 if(errors) alert(errors);
											
							           		 if(result)
									            {
									            	get(result.id+"Comment").parentNode.removeChild(get(result.id+"Comment"));
									            	get('commentCount').innerHTML=parseInt(get('commentCount').innerHTML)-1;
									                alert('успешно удален');
									            }else{
										            	
									            	alert('ошибка');
									            	
									            }
									            
									            
							
							            },
							            true
					        		  );
}