//
var _timeSets = new Object;
function addRemoveFromFavorits(_this)
{
	firm = _this.value;
	
	if(_this.checked)
	{
		_action = 'add';
		
	}else
	{
		_action = 'remove';
		
		
	}
	

	
	$.post("/?action=add-to-favorits",{_action:_action,firm:firm},function(msg){ if(_action == 'add')
																					{
																						$.get('?external=1&itpl=default/favorites.tpl.html',function(html){
																																					
																																					 $("#favcontiner").replaceWith(html);
																																					 $('.favorits').button( "destroy" )
																																					   $('.favorits').button({ text: false ,icons: {primary:'ui-icon-star'} });
																																					 
																																					 
																																					 })
																					}else
																					{
																						$("#fav_firm_"+firm).hide(250,function(){$(this).remove();})
																					}
																					
																					});
	
	
}
$(document).ready( function(){
	

	openMessagingBlock();
	initemployee_item();
	_initCounters('/users/messaging-block.html');
	$('.jButton').button({ icons: {primary:'ui-icon-gear'} });
	
	})
function _initSPMenu ()
{
	
	$('.pmenu').hover( function() { subMenu(this,'show')}, function() {subMenu(this,'hide')})
}

function _initSPMenuIndividual ()
{
	
	$('.pmenu').hover( function() { subMenuIndividual(this,'show')}, function() {subMenuIndividual(this,'hide')})
}
function subMenuIndividual(parent,action)
{
	
	
	var _sub = "#sub_"+parent.id ;
	_position = $(parent).position();
	_width = $(parent).outerWidth();
	
	if(action == 'show')
	{
		$(_sub).stop(false,true).show(50);
		_subHeight =$(_sub).width();
		_subWidth =$(_sub).height();
		
		_newTop = _position.top ;
		
		$(_sub).css({'left':_position.left-_width, top:_newTop});
		
	}
	
	if(action == 'hide')
	{
		$(_sub).stop(false,true).hide(0);
	}
}
function subMenu(parent,action)
{
	
	
	var _sub = "#sub_"+parent.id ;
	_position = $(parent).position();
	_width = $(parent).outerWidth();
	
	if(action == 'show')
	{
		$(_sub).stop(false,true).show(50);
		_subHeight =$(_sub).width();
		_subWidth =$(_sub).height();
		
		_newTop = _position.top ;
		if($(_sub).hasClass('individual')){
			//_width = $(_sub).width();
			$(_sub).css({'left':_position.left-_width, top:_newTop});
		}
		else
		$(_sub).css({'left':_position.left+_width, top:_newTop});
		
	}
	
	if(action == 'hide')
	{
		$(_sub).stop(false,true).hide(0);
	}
}
var  _loger=function(_obj)
{
	var _out = '';
	for(i in _obj)
	{
		_out +=i+ "\n;";
	}
	alert(_out);
}

var _currentTab = 0;
_initTabsReloading = 0;

function _reloadCurrentTab()
{
	try{
	_s = $('#MessagingBlock').tabs("option", "selected");
	
	if(_s >= 0)
	{
		 $('#MessagingBlock').tabs( "load" , _s )
	}
	}catch(e){}
}


/*START STOP */
function stopMessgingAjax(){ 
try{
	clearTimeout(_timeSets['_updateUsersList']);
	_Ajax['updateUsersList'].abort();
	
	_Ajax['startMessagingTimer'].abort();
	clearTimeout(_timeSets['startMessagingTimer'])
}catch(e){ }
	
};
function startMessagingAjax(){
	
	if(_selectedUser)
	{
		$.get(_selectedUser,function(_data){$('#chatRoom').html(_data); 	
		
		//startMessagingTimer($(_selectedUser).attr('href'),_rel[0]);
		
		});
		
	}
	
	_selectedUser = null;
	
	_updateUsersList();
	
};
_AnswersAjaxStart = true;
startAnswersAjax= function(){ 
_AnswersAjaxStart = true;
_initUpdater(_initUpdater_path,_initUpdater_tpl,_initUpdater_css);
};
stopAnswersAjax = function(){
	_AnswersAjaxStart = false;
	try{
		_Ajax['_initUpdater'].abort();
		clearTimeout(	_timeSets['_initUpdater']);
	}catch(e)
	{
	};
	};
/*START STOP */

var  __initMainTab=function(path)
{
	$('#MessagingBlock').tabs({
	spinner: 'Retrieving data...',
	load: function(event, ui)   {
		
		_currentTab = ui.tab.id;  

		if(_currentTab !='messages')
		{
			stopMessgingAjax();
		}else
		{
			startMessagingAjax();
		}
		
		
			if(_currentTab == 'answers')
			{
				
				startAnswersAjax();
			}else
			{
				stopAnswersAjax();
			}
		},
    select: function(event, ui) {
		_currentTab = ui.tab.id;
		
		
		var url = $.data(ui.tab, 'load.tabs');  
		
		
		return true;
		
	}	
	});
	
		_l = $('#MessagingBlock').find( "ul").filter(':first').find('li');
		
		_l.each( function(e,i){ 
		_x = $(i).find('a').filter(':first');
		_id = $(_x).attr('id');
	
	
	 
	})
	
	
		
}

var _timeOut = null;
var _initCounters = function(path)
{
	
	
	
	var _pereiodicUpdateArray = new Array()
	$('.tabs-counters').each( function(index,item)
	{
		if(item.id.substr(0,2) == 'm-')
		 _pereiodicUpdateArray.push(item.id.substr(2));
		 
		 		 _pereiodicUpdateArray.push(item.id);
		
	});
	
	_pereiodicUpdate(_pereiodicUpdateArray,path);
}

var pupdatees = new Object;
var  _Ajax = new Object;

_Ajax['pereiodicUpdate'] = null;
_Ajax['pereodic'] = null;
_Ajax['openMessagingBlock'] = null;
_Ajax['updateUsersList'] = null;
_Ajax['startMessagingTimer']=null;

function _pereiodicUpdate(array,path)
{

try{


		
		_Ids = array.join(';');
		
		
	 _Ajax['pereiodicUpdate'] = $.ajax(
			{
				url:path,
				dataType:'json',
				data:{call:'ajaxCall',external:1,itpl:'blank-result.tpl.html',id:_Ids},
				
				error:function(a,b,c){ /*alert(a.status+"|\t"+a.statusText);*/},
				success:function(_DATA_)
				{
					
							var _flag = 0;
							for(i in _DATA_.result)
							{
								
								
								var __counter = parseInt(_DATA_.result[i]);
								
								if(!isNaN(__counter))
								{
									$("#"+i).html("("+_DATA_.result[i]+")");
									
								}
								
									
							
								
								if(document.getElementById(i))
								{
									 _flag++;
								}
							}
							
							
						if( _flag > 1 )
						_timeSets['_pereodic'] = setTimeout(_pereodic,1500,this.url);
						
				}
				
			});
	var _pereodics = 0;
function _pereodic(url)
{
	
	
		_Ajax['pereodic']  =  $.ajax(
			{
				url:url,
				dataType:'json',
				error:function(a,b,c){/* alert(a.status+"|\t"+a.statusText);*/},
				success:function(_DATA_)
				{
					
					if(! _DATA_ )
					return;
					_pereodics++;
					var _flag = 0;
							for(i in _DATA_.result)
							{
									if(_DATA_.result[i] != null)
									$("#"+i).html("("+_DATA_.result[i]+")");
									
									var _j = i.toString().replace('m-','');
									
									
									if(_DATA_.result[_j] != null)
									{
										$("#"+i).html("("+_DATA_.result[_j]+")");
									}
								
								if(document.getElementById(i))
								{
									 _flag++;
								}
							}
					if( _flag > 1 )
					_timeSets['_pereodic']=	setTimeout(_pereodic,1500,this.url);
					
				}
				
			});
}	
	
}catch(e){ alert(e);}
}
var _counter = function(_id)
{
	
	$.post('/?external')
}
var 	initTabsReloading = function()
{
	
	var selected = $( "#MessagingBlock" ).tabs( "option", "selected" );
	
	for(var i = 0 , lim = $('#MessagingBlock').tabs( "length" ); i < lim;i++)
	{
		
		
		if(i != selected)
		{
			$('#MessagingBlock').tabs( "disable" ,i )
			$('#MessagingBlock').tabs( "load" , i );
			$('#MessagingBlock').tabs( "enable" ,i )
		} 
	}
	
	
};

var initemployee_item = function()
{
	
	
/*	$('.employee_item_online, .employee_item_offline').filter('a[role=button]').button('destroy');
	
$('.employee_item_online, .employee_item_offline').button('destroy');

	$('.employee_item_offline').button({icons: {primary: "ui-icon-mail-closed", secondary: "ui-icon-radio-off"}});
	$('.employee_item_online').button({icons: {primary: "ui-icon-mail-closed", secondary: "ui-icon-bullet"}});*/
	$('.employee_item_online, .employee_item_offline').unbind('click');
	$('.employee_item_online, .employee_item_offline').click( function(){ 
																	   

																	   startMessaging(this); return false;
																	   
																	   });
	
	
}
var _selectedUser = null;
function startMessaging(_this)
{
	//alert(_this);
	if(_currentTab != 'messages')
	{
		$('#MessagingBlock').tabs("select" , 0);
	};
	chatRoom =$('#chatRoom');
	chatRoom.html('---');
	chatRoom.append(_loading);
	_rel = $(_this).attr('rel');
	_rel = _rel.split('-');
	
	
	if(chatRoom.length)
	{
	
	
	
	
			$.post(_this,function(_data){
			$('#chatRoom').html(_data); 
			
			$('#emplItemBlock'+_rel[0]).css({'background-color':'#efefef'});
	    	startMessagingTimer($(_this).attr('href'),_rel[0]);
		
		});
	}else
	{
		
		_selectedUser=_this;
		$('#infolink_messaging-block').trigger('click');
		$('#emplItemBlock'+_rel[0]).css({'background-color':'#efefef'});
		
			
			
	}

};
var ___MessagingXHR = null;
function 	startMessagingTimer(_this,_id)
{
	
	
	if(_this)
	{
		//alert('send');
	_last = $('.messages_item:last').attr('lang');
	
	//alert(_last);
	//
	
	if (!_last ){_last=0; };
	_newPath =_this.replace('message-box.tpl.html','conversion.tpl.html');
    _newPath = _newPath+"&last="+_last;
	
	
$('#chrt').html('.').animate({opacity:0.1});


	_Ajax['startMessagingTimer'] =___MessagingXHR = $.ajax({
		   url:_newPath,
		   data:{last:_last},
		   complete :  function(x){ },
		   success:function(_data)
			{
				
				
			
			_d = $(_data).find('div').filter('.messages_item');
			var obj = document.getElementById('conversion-'+_id);
			
			if(obj)
			{
				//alert(obj);
			$(_d).each( function(e,i)
			{
				
				_html = $(i).html();
				___MessagingXHR = null;
						$(i).appendTo('#conversion-'+_id)	;
							var obj = document.getElementById('conversion-'+_id);
	
						if(obj)
						$('#conversion-'+_id).scrollTop(obj.scrollHeight)
						
						
						
			});
		
		//alert('done');
			_timeSets['startMessagingTimer'] = setTimeout(startMessagingTimer,892,_this,_id);
			}
		
		 
	}
	});
	
	
	
	}
}

_messages_timer = null;
_messages_timer2 = null;
function sendMessage(_form)
{
	_formId = _form.id.split('-');
	data_message_subject = $('#data_message_content-'+_formId[1]).val();
	data_message_subject =  data_message_subject.replace("\n",'');
	data_message_subject =  data_message_subject.replace("\r",'');
	
	if(data_message_subject.length )
	{
		var _url =_form.action;
		_data = $(_form).serialize();
		var _dialog="#dialog_"+$('#rel').val();
		_form.reset();
		
        clearTimeout(_timeSets['startMessagingTimer']);
		if(___MessagingXHR){
		___MessagingXHR.abort();
		
		
		}
		
		$.post(_url,_data,function(html){  
		_x = $('a[rel='+_formId[1]+']');
		_xe = _x[0];
		
		startMessagingTimer(_url,_formId[1]);
		});
		
	}else
	{
		$('#data_message_content-'+_formId[1]).val(data_message_subject);
		$("#Fill_error").show();
		$("#Fill_error").animate({ color:'#D00'} ,500, function(){ $("#Fill_error").animate({ color:'#333'},250,function(){ $("#Fill_error").hide();} );});
		
	

	}
	return false;
}
var  getEmployer=function()
{
	//alert(_SelectedDest);
}

_loading = new Image();
_loading.src = '/images/ajax-loader.gif';

function openMessagingBlock()
{
	//users/messaging/block.tpl.html
	
	$('#infolink_messaging-block').click( 
	function()
	{
		var MessagingBlockDialog = document.createElement('div');
		MessagingBlockDialog.appendChild(_loading);
		
		$(MessagingBlockDialog).dialog({
			 modal:true,
			 width:'90%',
			 height: '600',
			 close:function()
			 	{
				 $(this).dialog('destroy');
				 $(this).remove();
				for(tmrI in _timeSets)
				{
					Itrmr = _timeSets[tmrI];
					if(Itrmr){clearTimeout(Itrmr)}
				}
				for(xhrI in _Ajax)
				{
				if(_Ajax[xhrI])
				{
				
				 _Ajax[xhrI].abort();
				}
				}
					
				 //clearTimeout(_timeSets['startMessagingTimer']);
				
				 }
			 })
		
		_Ajax['openMessagingBlock'] =$.ajax(
		{
			url:this,
			type:'GET',
			data:{'external':1,'itpl':'users/messaging/block.tpl.html'},
			success:function(data)
			{ 
			
			
					$(MessagingBlockDialog).html(data);
					$(MessagingBlockDialog).dialog( "option", "position", 'top' );
					
					
				
			
			}
			
		});
		return false;
	}
	
	)
}

function _updateUsersList(_selectedUser)
{
	
clearTimeout(_timeSets['_updateUsersList']);

	_Ajax['updateUsersList']= $.ajax(
			{
		
			url:'/users/messaging-block.html',
			data:{'external':1,'itpl':'users/messages/view.users.tpl.html',selectedUser:_selectedUser},
			success:function(data){
				
				$(data).find('tr').filter('.ulist-row').each( 
															
															function(e,i)
															{
																_id = i.id;
																			
																
																_x = document.getElementById(_id);
																
															//	alert(_x);
																if(_x)
																{
																	$(_x).replaceWith(i);
																}else
																{
																	$('.message-sheet').append(i);
																}
																
																
																if($("#"+_id).hasClass('msgsfrom'))
																{
																	_$("#"+_id).attr('index',-1);
																}
															}
															
															);
				//$('#contacts_list').html(); 
				trs = $('.message-sheet').find('tr').filter('.ulist-row');
				for(i = 0 , lim = trs.length;i < lim-1; i++)
				{
					for(j = i, lim2 = trs.length;j < lim2; j++)
					{
						_a = trs[i];
						_b = trs[j];
						_aIndex = $(_a).attr('index');
						_bIndex = $(_b).attr('index');
						
						if(_aIndex > _bIndex)
						{
							$(_a).remove().insertAfter($(_b));
						}
						
					}
				}
				initemployee_item();
				$('.message-sheet').find('tr').filter('.ulist-row').find('a').filter('.employees').click( 
																										 function(){
																											 
																									 
																											 return false;
																											 
																											 });
				 $('.message-sheet').find('tr').filter('.ulist-row').unbind('click');

 $('.message-sheet').find('tr').filter('.ulist-row').click( function(){ $(this).find('a').filter('.selectorX').trigger('click');})
				$('.conversionCC').each( function(e,i) { 
												  
												  _id = i.id.replace('conversion-','#empl-');
												  _selectedUser =_id; 
												 
												  $(_id).find('table').css({'background-color':'#efefef'})
																			
																			} )
			_timeSets['_updateUsersList'] = setTimeout(_updateUsersList,1748,_selectedUser); 
		//	
			}
		}
	)
}

var AnswerRequest=function(id,sender,action,cost,cmeessage)
{
	if(cost)
	{
		if(!confirm(cmeessage+"\n"+cost))
		{
			return false;
		}
	}
	
	//var _form = sender.form;
	data={request_id:id,status:action}
	
	$.post(sender,data,
			function(htm)
						{
							
							$("#AnswerRequests_"+id).replaceWith(htm);
						}
			)
}

function UploaderStart(file,extentiosn,message)
{
	 field_value = file.value;
	 var _exts = extentiosn.split(";");
	 
	 var file_ext= (field_value.substring((field_value.lastIndexOf('.')+1)).toLowerCase());
	 x= $.inArray(file_ext,_exts);
	 if(x < 0)
	 {
		 alert('Error'+x+_exts);
	  }
	  else
	  {
		  var xDiv= document.createElement('div');
		  xDiv.id = 'xDiv';
		  xDiv.innerHTML = message+'-'+field_value;
		  $('#atachPlace').append(xDiv);
		  file.form.submit();
	  }
	  
	  
}
function uploadLogo(InputFile)
{
	var value = InputFile.value;
	
	var pointPosition = value.lastIndexOf('.');
	var extention = value.substr(pointPosition+1);
	extention= extention.toLowerCase();
	
	var _pattern = '(jpg|png|gif|jpeg|bmp)';
	var exts = new RegExp(/(jpg|png|gif|jpeg|bmp)/); 
	var _exist = exts.test(extention);
	if(!_exist)
	{
		alert(_pattern+"\t"+extention)
	}else
	{
		InputFile.form.submit();
	}
	return false;
}
function fileUploaded(name)
{
	$('#logoplace').attr('src',name);
}

function fileAttached(_atachmentId,message,url)
{
	
	_url = url+'?external=1&itpl=users/atachedfile.tpl.html&ck='+Math.random();
	_data = {'action':'getAttachemnt','id':_atachmentId};
	 $('#xDiv').html(message);
	
	$.post(_url,_data,function(msg){ 
	var _ex = $('#f'+_atachmentId);
	if(_ex.length > 0)
	{
		$(_ex).replaceWith(msg);
		$('#xDiv').remove();
	}
	else
	{
		$('#xDiv').replaceWith(msg);
	}
	});

}

function initLinks()
{
	
	$('.ajax-links').die('click');
$('.ajax-links').click( function(){ 

  var _method = $(this).attr('rel'); 
  var _title = $(this).attr('title');
  var fn = window[_method];	
  if ((typeof fn) == 'function')
  {
	  fn(this,_title);
  }	  
  return false;})
};

var answerToQuestion=function(sender,form)
{
	
	
	var action = sender.name;
	alert(action);
	
	
	
	$('#answer_status').val(action) ; 
	
	
	
	
	var _url = form.action;
	var _data=$(form).serialize();
	
	$.post(_url,_data,function(htm)
	{
		$('#question_content').html(htm)
	}
		
		);
	
	
	
}
function sendFeedBack(_this)
{
	var _url = _this.action;
	var _data = $(_this).serialize();
	
	$.post(_url,_data,function(_html)
		{
			//alert(_html);
			$('#window_content').replaceWith(_html);
		});
	return false;
}

function setCost(_this)
{
	if(_this.value > 0)
	{
		document.getElementById('cost').type = 'text';
		document.getElementById('cost').value = '';
	}else
	{
		document.getElementById('cost').type = 'hidden';
		document.getElementById('cost').value = '0';
	}
}

var viewFullFeedBAck = function(divId)
{
	$(divId).dialog({close:function(){$(this).dialog('destroy')}})
}

var  viewFirsVisit=function()
{
	
	try{
	
	
	$('#FirsVisit').dialog({modal:true,close:function(){ window.location.href = '/'}});
	
	}catch(e)
	{
		 
		alert(e);
	}
	
}

function removeAttachment(id,confirmMsg,url,self)
{
	if(confirm(confirmMsg))
	{
		$("#f"+id).remove();
		data = {'action':'deleteAttachment','file_id':id}
		$.post(url,data);
	}else
	{
		$(self).attr('checked','checked');
	}
}

var MdialogOPen = function(url)
{
	var _div = document.createElement('div');
	_div.id = "MdialogOPen";
	$(_div).dialog({modal:true,width:800,close:function(){$(this).remove()}});
	
	$.get(url,function(data){$('#MdialogOPen').html(data) })
}
