/*---------------------------------------------------------
*
*	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
        );
	},
	
	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);
	},
	
	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);
		}
	},
	
	updateCountComments: function(idMicro,countComments){
	var counter = $('count_comments_'+idMicro);
	counter.innerHTML = '<a href="#" onclick="lsMicro.responseMicroComments(' + idMicro + '); return false;">Комментариев: ' + countComments + '</a>';
	},
	
	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.slideOut();
					}).delay(1000);
				}
				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');
		}
	},
	
	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;

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 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='';
}
