/* 	for IE indexOf support */

if(!Array.indexOf){
    Array.prototype.indexOf = function(obj){
        for(var i=0; i<this.length; i++){
            if(this[i]==obj){
                return i;
            }
        }
        return -1;
    }
}

/* 	end of IE indexOf */


jQuery(document).ready(function()
{

	var VideoChatPlace = $('ul#videochat-place-ajax');
	var VideoRedrawTime	= 5000;
	var VideoChatBlurTime = 2000;
	var VideoChatSizes = new Array(6);
	VideoChatSizes = ['480x360', '360x270', '230x172', '230x172', '230x172', '230x172']
	
	if (VideoChatPlace.length)
	{
		function get_members()
		{
			var id = getParamByName('id');
			
			if (!id)
				return false;
				
			$.getJSON(
				"?service=service_video&saction=video_chat_get_members&id="+id,
				function(data)
				{
					redraw_members(data);
				} // function(data)
			); // getJSON
			
		} // get_members()
		
		function add_member(id)
		{		
			$.ajax({
				url: "?service=video_chat&id=" + id,
				cache: false,
				success: function(html)
				{
					VideoChatPlace.append(html);
				} // success
			}); // ajax
		} // draw_member()
		
		
		function remove_member(id)
		{
			VideoChatPlace.children('li').each(function(i)
			{	
				if ($(this).children('p.hide').text() == String(id))
				{
					$(this).remove();
				} // if
			}); // each
		} // remove_member()
		
		function redraw_members(members)
		{
			var CurrentMembersObj = VideoChatPlace.children().filter('li');
			var CurrentMembers = Array();
			CurrentMembersObj.each(function()
			{
				CurrentMembers.push($(this).children().filter('p.hide').text());
			}); // each
			
			$.each(members, function(i)
			{
				if (CurrentMembers.indexOf(String(this)) == -1)
				{
					add_member(this);
				} // if
			}); // each
			
			
			$.each(CurrentMembers, function(i)
			{
				if (members.indexOf(String(this)) == -1)
				{
					remove_member(this);
				}
			});
			
			set_sizes();
			
		} // redraw_members()
		
		function set_sizes()
		{
			var members_count = VideoChatPlace.children('li').length-1;
			if (members_count < 0)
				members_count = 0;
			var width = VideoChatSizes[members_count].match(/(\d+)x\d+/)[1];
			var height = VideoChatSizes[members_count].match(/\d+x(\d+)/)[1];
			VideoChatPlace.children('li').each(function()
			{
				$(this).children('embed').attr('width', width).attr('height', height);
			}); // each
		}
		
		get_members();
		setInterval(function(){ get_members(); }, VideoRedrawTime);
	
	} // if (VideoChatPlace.length > 0)
}); // ready