/*---------------------------------------------------------
*
*	Module Microblogs
*	Vladimir Yuriev
*	contact e-mail: vladimir.o.yuriev@gmail.com
*
*/
var lsMicroClass = new Class({	
	initialize: function(){
		
	},
	
	responseMicroComments: function(idMicro){
		var thisObj=this;
		var comments = $('microcomments_' + idMicro);
		comments.setStyle('display','block');
		var loader = document.createElement('div');
		loader.innerHTML = '<div class="loader"><img src="'+DIR_STATIC_SKIN+'/images/microloader.gif" /></div>';
		comments.appendChild(loader);
		JsHttpRequest.query(
        	DIR_WEB_ROOT+'/include/ajax/responseMicroComment.php',
        	{ idMicro: idMicro },
        	function(result, errors) {
				comments.removeChild(loader);
            	if (!result) {
					msgErrorBox.alert('Error','Please try again later');           
        		}      
        		if (result.bStateError) {
                	comments.innerHTML = '';
					//msgErrorBox.alert(result.sMsgTitle,result.sMsg);
        		} else {
					comments.innerHTML = result.sText;
        		}                           
	        },
        	true
        );
	},
	
	showMicroVotes: function(idMicro){
		var thisObj=this;
		JsHttpRequest.query(
        	DIR_WEB_ROOT+'/include/ajax/showMicroVotes.php',
        	{ idMicro: idMicro },
        	function(result, errors) {
				//comments.removeChild(loader);
            	if (!result) {
					msgErrorBox.alert('Error','Please try again later');           
        		}      
        		if (result.bStateError) {
                	//comments.innerHTML = '';
					msgErrorBox.alert(result.sMsgTitle,result.sMsg);
        		} else {
					//comments.innerHTML = result.sText;
					$('micro_votes_list').innerHTML=result.sList;
					thisObj.showMicroVotesList();
        		}                           
	        },
        	true
        );
	},

	showTopicVotes: function(idTopic){
		var thisObj=this;
		JsHttpRequest.query(
        	DIR_WEB_ROOT+'/include/ajax/showTopicVotes.php',
        	{ idTopic: idTopic },
        	function(result, errors) {
            	if (!result) {
					msgErrorBox.alert('Error','Please try again later');           
        		}      
        		if (result.bStateError) {
					msgErrorBox.alert(result.sMsgTitle,result.sMsg);
        		} else {
					$('micro_votes_list').innerHTML=result.sList;
					thisObj.showMicroVotesList();
        		}                           
	        },
        	true
        );
	},
	
	reloadMicros: function(reloadType,idUser){
		var micro = $('lst');
		var microloader = $('microloader');
		microloader.setStyle('display','block');
		microloader.innerHTML = '<div class="loader"><center><img src="'+DIR_STATIC_SKIN+'/images/microloader.gif" /></center></div>';
		//(function(){
		JsHttpRequest.query(
        	DIR_WEB_ROOT+'/include/ajax/reloadMicros.php',
        	{ reloadType: reloadType, idUser: idUser },
        	function(result, errors) {
				microloader.setStyle('display','none');
            	if (!result) {
				    msgErrorBox.alert('Error','Please try again later');           
        		}      
        		if (result.bStateError) {
					msgErrorBox.alert(result.sMsgTitle,result.sMsg);
        		} else {
					micro.innerHTML = result.sText;
        		}                           
	        },
        	true
       );
       //}).delay(500);
	},
	
	moveMicro: function(idMicro){
	if(confirm('Вы действительно хотите перенести микротопик в личную ленту пользователя?')) {
	
		JsHttpRequest.query(
        	DIR_WEB_ROOT+'/include/ajax/makePrivateMicro.php',
        	{ idMicro: idMicro },
        	function(result, errors) {
				if (!result) {
				    msgErrorBox.alert('Error','Please try again later');           
        		}      
        		if (result.bStateError) {
					msgErrorBox.alert(result.sMsgTitle,result.sMsg);
        		} else {
					var micro = $(document.getElementById('micro_'+idMicro));
					micro.parentNode.removeChild(micro);
					msgNoticeBox.alert(result.sMsgTitle,result.sMsg);
        		}                           
	        },
        	true
       );
	}
	},
	
	deleteMicro: function(idMicro){
	if(confirm('Вы действительно хотите удалить микротопик?')) {
		(function(){
			JsHttpRequest.query(
				DIR_WEB_ROOT+'/include/ajax/deleteMicro.php',
				{ idMicro: idMicro },
				function(result, errors) {
					if (!result) {
						msgErrorBox.alert('Error','Please try again later');           
					}      
					if (result.bStateError) {
						msgErrorBox.alert(result.sMsgTitle,result.sMsg);
					} else {
						msgNoticeBox.alert(result.sMsgTitle,result.sMsg);
						var micro = $(document.getElementById('micro_'+idMicro));
						micro.parentNode.removeChild(micro);
					}
				},
				true
		   );
		}).delay(500);
		}
	},
	
	deleteMicroComment: function(idMicroComment){
	var thisObj=this;
	if(confirm('Вы действительно хотите удалить комментарий?')) {
		(function(){
			JsHttpRequest.query(
				DIR_WEB_ROOT+'/include/ajax/deleteMicroComment.php',
				{ idMicroComment: idMicroComment },
				function(result, errors) {
					if (!result) {
						msgErrorBox.alert('Error','Please try again later');           
					}      
					if (result.bStateError) {
						msgErrorBox.alert(result.sMsgTitle,result.sMsg);
					} else {
						msgNoticeBox.alert(result.sMsgTitle,result.sMsg);
						thisObj.updateCountComments(result.idMicro,result.sCountComments);
						var micro = $(document.getElementById('micro_comment_'+idMicroComment));
						micro.parentNode.removeChild(micro);
					}
				},
				true
		   );
		}).delay(500);
		}
	},

	
	updateCountComments: function(idMicro,countComments){
	var counter = $('count_comments_'+idMicro);
		if (countComments>0) {
			counter.innerHTML = '<a href="#" onclick="lsMicro.responseMicroComments(' + idMicro + '); return false;">Комментариев: ' + countComments + '</a>';
		} else {
			counter.innerHTML ='';
			var microc = $('microcomments_'+idMicro);
			microc.parentNode.removeChild(microc);
		}
	},
	
	setNextPage: function(id){
		this.idNextPage=id;
	},
	
	loadNextGroup: function(type,userId){
		var micros = $('lst');
		var idNextPage=this.idNextPage;
		(function(){
		JsHttpRequest.query(
        	DIR_WEB_ROOT+'/include/ajax/loadMicro.php',
        	{ type: type, idNextPage: idNextPage, userId: userId },
        	function(result, errors) {
            	if (!result) {
                	msgErrorBox.alert('Error','Please try again later');           
        		}      
        		if (result.bStateError) {
                	msgErrorBox.alert(result.sMsgTitle,result.sMsg);
        		} 
				if (result.bNoLoadMicro) {
					/*$('more_micro_text').setStyle('padding-left','10%');
					$('more_micro_text').innerHTML = 'Достинут конец листинга';
					$('more_micro_text').setStyle('opacity','0.2');*/
					(function(){
						var Hide = new Fx.Slide($('more_micro_text'));
						Hide.hide();
					}).delay(300);
					msgNoticeBox.alert('Уведомление','Достинут конец листинга');
				}
				else {
					micros.innerHTML += result.sText;
					lsMicro.setNextPage(idNextPage+1);
        		}                           
	        },
        	true
       );
       }).delay(500);
	},
		
	addComment: function(formObj,idMicro){
		var thisObj=this;
		formObj=$(formObj);
		JsHttpRequest.query(
        	DIR_WEB_ROOT+'/include/ajax/microcommentAdd.php',
        	{ params: formObj },
        	function(result, errors) {         		 
            	if (!result) {
                	msgErrorBox.alert('Error','Please try again later');           
        		}      
        		if (result.bStateError) {        			
                	msgErrorBox.alert(result.sMsgTitle,result.sMsg);
        		} else {
					var commentForm = $('form_comment_text_'+idMicro);
        			commentForm.disabled=true;
					thisObj.updateCountComments(idMicro,result.sCountComments);
					thisObj.hideCommentForm(idMicro);
					thisObj.responseMicroComments(idMicro);       			   								
        		}                           
	        },
        	true
      	);
	
	},
	
	addMicro: function(formObj,reloadType,idUser){
		var thisObj=this;
		formObj=$(formObj);
		//(function(){
			JsHttpRequest.query(
				DIR_WEB_ROOT+'/include/ajax/microAdd.php',
				{ params: formObj },
				function(result, errors) {         		 
					if (!result) {
						msgErrorBox.alert('Error','Please try again later');           
					}      
					if (result.bStateError) {        			
						msgErrorBox.alert(result.sMsgTitle,result.sMsg);
					} else {
						msgNoticeBox.alert(result.sMsgTitle,result.sMsg);
						document.forms["micro_message"].reset();
						clearAttach();
						//thisObj.addContentToggle();
						resetCounterText('msgCounter_message-subject');
						thisObj.reloadMicros(reloadType,idUser);
						/*(function(){
							$('micro_'+result.sMicroId).addClass('new');
						}).delay(1000);*/
					}                           
				},
				true
			);
		//}).delay(5000);
		
	},

	enableFormComment: function(microId){
		$('form_comment_text_'+microId).removeClass('loader');
		$('form_comment_text_'+microId).disabled=false; 
	},
	
	toggleMicroCommentForm: function(idMicro){
		$('comments_info_li_'+idMicro).setStyle('display','none');
		if (!$('reply_'+idMicro)) {
			return;
		} 
		divForm=$('reply_'+idMicro);
		document.forms['form_comment_'+idMicro].reset();
		var slideForm = new Fx.Slide(divForm);
				
		divForm.setStyle('display','block');
		slideForm.hide();
		slideForm.slideIn();
		slideForm.addEvent('complete', function() {
			$('form_comment_text_'+idMicro).focus();
		});
	},
	
	hideCommentForm: function(microId){
		if ($('reply_'+microId)) {
			this.enableFormComment(microId);
			var slideForm = new Fx.Slide('reply_'+microId);							
			slideForm.hide();
			$('comments_info_li_'+microId).setStyle('display','block');
		}
	},
	
	showMicroVotesList: function() {	
		if (Browser.Engine.trident) {
			//return true;
		}	
		if (!winMicroVoteList) {		
			winMicroVoteList=new StickyWin.Modal({content: $('window_show_votes'), closeClassName: 'close-block', useIframeShim: false});
		}
		winMicroVoteList.show();
		winMicroVoteList.pin(true);
		return false;
	},

	
	showStatus: function(obj){
			var newDiv = new Element('div');
			newDiv.setStyle('text-align','center');
			newDiv.set('html','<img src="'+DIR_STATIC_SKIN+'/images/loader.gif" >');
			newDiv.inject(obj);
	}
});

var lsMicro;

window.addEvent('domready', function() {
	lsMicro = new lsMicroClass();
});

var winFormShortLink;
var winMicroVideoInput;
//var winMicroImgInput;

var winMicroVoteList;

function showShortLinkForm() {	
	if (Browser.Engine.trident) {
		//return true;
	}	
	if (!winFormShortLink) {		
		winFormShortLink=new StickyWin.Modal({content: $('window_link_short'), closeClassName: 'close-block', useIframeShim: false});
	}
	winFormShortLink.show();
	winFormShortLink.pin(true);
	return false;
}

function showMicroVideoInputForm() {	
	if (Browser.Engine.trident) {
		//return true;
	}	
	if (!winMicroVideoInput) {		
		winMicroVideoInput=new StickyWin.Modal({content: $('window_micro_video_insert'), closeClassName: 'close-block', useIframeShim: false});
	}
	winMicroVideoInput.show();
	winMicroVideoInput.pin(true);
	return false;
}

function hideShortLinkForm() {
	winFormShortLink.hide();
}
function hideMicroVideoInputForm() {
	winMicroVideoInput.hide();
}
function hideMicroVotesList() {
	winMicroVoteList.hide();
}

function toggleMicroForm() {
	var obj=$('microform');	
	//var slideObj = new Fx.Slide(obj);
	if (obj.getStyle('display')=='none') {
		//slideObj.hide();
		obj.setStyle('display','block');		
	} else {
		obj.setStyle('display','none');
	}
}

function ajaxMicroUploadImg(value) {
	var req = new JsHttpRequest();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS.bStateError) {
				msgErrorBox.alert(req.responseJS.sMsgTitle,req.responseJS.sMsg);				
			} else {
				$('add_content_thumb').innerHTML='<a onclick="clearAttach()"><img src="'+DIR_STATIC_SKIN+'/images/microdelete.gif"> Удалить прикрепленое</a><br />' + req.responseJS.sText;
				if (req.responseJS.sBigAddress!='noaddress') {
					$('add_content').innerHTML = '<input type="hidden" name="imglink" value="' + req.responseJS.sAddress + '"><input type="hidden" name="imglink-large" value="' + req.responseJS.sBigAddress + '">';
				} else {
					$('add_content').innerHTML = '<input type="hidden" name="imglink" value="' + req.responseJS.sAddress + '">';
				}
				//sToLoad.insertAtCursor(req.responseJS.sText);
				hideImgUploadForm();
			}
		}
	}
	req.open(null, DIR_WEB_ROOT+'/include/ajax/microuploadImg.php', true);
	req.send( { value: value } );
}


function ajaxMicroAttachVideo(value) {
		JsHttpRequest.query(
        	DIR_WEB_ROOT+'/include/ajax/parseVideo.php',
        	{ value: value },
        	function(result, errors) {
            	if (!result) {
                	msgErrorBox.alert('Error','Please try again later');           
        		}      
        		if (result.bStateError) {
                	msgErrorBox.alert(result.sMsgTitle,result.sMsg);
        		} else {
					$('add_content_thumb').innerHTML= '<a onclick="clearAttach()"><img src="'+DIR_STATIC_SKIN+'/images/micro_delete.gif"> Удалить прикрепленое</a><br />' + result.sText;
					$('add_content').innerHTML = '<input type="hidden" name="video" value="' + value + '">';
					//msgNoticeBox.alert(result.sMsgTitle,result.sMsg);
					hideMicroVideoInputForm();
					//var micro = $(document.getElementById('micro_'+idMicro));
					//micro.parentNode.removeChild(micro);
				}
			},
        	true
       );
}

function clearAttach() {
	$('add_content_thumb').innerHTML ='';
	$('add_content').innerHTML='';
}
