var read_permission = 0;
var write_permission = 1;
var admin_permission = 2;

var parliament_permission = 'E';
var government_permission = 'G';

var self_id = null;
var logged_in = false;
var accepting_calls_scheduler;
var accepting_calls;

var calls;
var calls_multi;
var selected_call = 0;
var selected_call_multi = 0;
var title1;
var title2;
	
var heartbeat_timer;
var alternate_title_timer;

var effects;
var player;

var animating = 0; /* 0 nada, 1 subiendo, 2 bajando */
var bar_limit_up = 0;
var bar_limit_down = -220;

var selected_button = 0;

var last_notices = 0;
var last_logs = 0;
var last_gov_dec = 0;

var id_stack = new Array();
var stack_limit = 3;

var history_index;
var history_initial_index;

/* ************************************* FUNCIONES DE PRINCIPALES *********************************** */

common_init = function(self, visible, index){
	if (self != '') {
		self_id = self;
		history_index = index;
		history_initial_index = index;
		player = get_flash('sonido');		
		logged_in = true;
        start_heartbeats(60000);
		accepting_calls = visible;
		check_notices();
		accepting_calls_scheduler = setInterval('check_notices();', 10000);	
    } else {
		configure_help();
	}
	configure_menu();
}

preload_images = function(){
    var d = document;
    if (d.images) {
        if (!d.MM_p) 
            d.MM_p = new Array();
        var i, j = d.MM_p.length, a = preload_images.arguments;
        for (i = 0; i < a.length; i++) 
            if (a[i].indexOf("#") != 0) {
                d.MM_p[j] = new Image;
                d.MM_p[j++].src = a[i];
            }
    }
}

get_flash = function(movieName){
   if (Browser.Engine.trident) {
        return window[movieName];
    }
    else {
        return document[movieName];
  }
}

get_related_target = function(e){
	/* Funcion que obtiene el elemento destino de un evento. Al llamarla desde HTML hay que pasarle event, que es la variable que contiene
	 * el evento en Firefox, si no esta definido entonces se utilizar window.event que es la de Internet Explorer.
	 */
	if (!e) var e = window.event;
	var relTarg = e.relatedTarget || e.toElement;
	return relTarg;
}

change_frame_source = function(source) {
	if (source == "register"){
		window.location = '/' + source + '?type=user';
	} else {
		window.location = '/' + source;
	}
}

access = function(){
	window.document.location = '/common/access?id_stack=' + JSON.encode(id_stack);
}

access_list = function(id){
	id_stack.push(id);
	window.document.location = '/common/access?id_stack=' + JSON.encode(id_stack);
}
/* ********************************* FUNCIONES DE ANIMACIONES *********************************** */

var paso_presentacion = 0;
var intervalo_presentacion;
var lies;

function animacion(){
    document.id('flecha_right').set('tween', {
        duration: 'long',
        onComplete: function(){
            document.id('marketing').getElement('ul').fade('in');
            inicio_presentacion.delay(1000);
        }
    });
    document.id('flecha_right').tween('left', 732);
    document.id('marketing').set('tween', {
        duration: 'long'
    });
    document.id('marketing').tween('width', 800);
}

function inicio_presentacion(){
    document.id('mark').tween('opacity', 1);
    //document.id('mark_data').slide('in');
    presentacion_auto.delay(700);
    intervalo_presentacion = presentacion_auto.periodical(8000);
}

function presentacion_auto(){
    if (paso_presentacion >= lies.length) {
        $clear(intervalo_presentacion);
    }
    else {
        presentacion(lies[paso_presentacion]);
        paso_presentacion++;
    }
}

function presentacion(el){
    var a_donde = document.id(el).getPosition('marketing_cont').x + 42;
    document.id('mark').tween('left', a_donde);
    var cont = document.id('mark_data').getElement('div');
    var myFx = new Fx.Tween(cont, {
        property: 'opacity'
    });
    myFx.start(1, 0).chain(function(){
        var array_titulo = document.id(el).get('id').split('_');
        cont.set('html', document.id('cont_' + array_titulo[1]).get('html'));
        this.start(0, 1);
    });
}

configure_help = function() {
	document.id(window).addEvent('scroll', function(){
        if (document.id('marketing_cont').getPosition().y < document.id(window).getScroll().y + document.id(window).getSize().y - 100) {
            document.id(window).removeEvents('scroll');
            animacion();
        }
    });
    document.id(window).fireEvent('scroll');
    document.id('contenidos_marketing').setStyle('display', 'none');
    document.id('marketing').getElement('ul').setStyle('opacity', 0);
    document.id('mark').setStyle('opacity', 0);
    //document.id('mark_data').slide('hide');
    lies = document.id('marketing').getElements('li');
    lies.addEvent('click', function(ev){
        ev.stop();
        $clear(intervalo_presentacion);
        presentacion(this);
    });
    document.id('boton_promo').addEvent('click', function(ev){
        ev.stop();
        new Fx.Scroll(window).toBottom();
    });
}

function drop_down(trigger, contenedor, contenido){
    $(contenido).setStyle('display', 'none');
    $(trigger).addEvent('mouseenter', function(){
        $(contenido).setStyle('display', 'block');
    });
    $(contenedor).addEvent('mouseleave', function(){
        $(contenido).setStyle('display', 'none');
    });
}

function ident_drop_down(trigger, contenedor, contenido){
	$(contenido).setStyle('display', 'none');
	$(trigger).addEvent('click', function(){
		$(contenido).setStyle('display', 'block');
		get_belongings(self_id,$('submenu_' + self_id));
		$('history_href').empty();
		history_index = history_initial_index;
		update_history('current');
		//get_belongings_old('',self_id);
	});
	$(contenedor).addEvent('mouseleave', function(){
		$(contenido).setStyle('display', 'none');
		id_stack = new Array();
		$('submenu_' + self_id).innerHTML = '';
	});
}

/* ************************************* FUNCIONES DE MENU *********************************** */

configure_menu = function() {
	if (document.getElementById('gov_list')!= null) {
		drop_down('trigger_gov','gov_list','drop_cont_gov');
	}
	drop_down('trigger_observatory', 'observatory_list', 'drop_cont_observatory');
	if (logged_in) {
		ident_drop_down('ident_nav', 'ident_group','ident_cont');
		if (accepting_calls) {
			start_accepting_calls();
		} else {
			stop_accepting_calls();
		}
	}
}

get_gadgets = function(){
	drop_down('trigger_gadgets', 'gadgets_list', 'drop_cont_gadgets');
    $('drop_cont_gadgets').innerHTML = '';
    new Request({url: '/common/get_gadgets', 
        method: 'get',
        async: true,
        noCache: true,
        onSuccess: function(responseText){
            var gadgets = JSON.decode(responseText);
			
			var ul = new Element('ul');
            $('drop_cont_gadgets').appendChild(ul);
			
			var li = new Element('li');
            li.innerHTML = '<a href="javascript:void(0);" class="fixed" onclick="window.location = \'/gdt_communications\'">Comunicaciones</a>';
			ul.appendChild(li);
			
			var li = new Element('li');
            li.innerHTML = '<a href="javascript:void(0);" class="fixed" onclick="window.location = \'/gdt_voting\'">Votaciones</a>';
			ul.appendChild(li);
			
            for (var i = 0; i < gadgets.length; i++) {
				var li = new Element('li');
                li.innerHTML = '<a href="javascript:void(0);" onclick="window.location = \'/gdt_' + gadgets[i].identifier + '\'">' + gadgets[i].name + '</a>';
				ul.appendChild(li);
            }
			
			var li = new Element('li');
            li.innerHTML = '<a href="javascript:void(0);" class="add" onclick="window.location = \'/gdt_useful\'">Añadir</a>';
			ul.appendChild(li);
        }
    }).send();
}

update_history = function(position){
    new Request({
        url: '/common/update_history',
        method: 'get',
        async: true,
        noCache: true,
		data: {
			'position': position,
			'history_index': history_index
		},
        onSuccess: function(responseText){
			var name = JSON.decode(responseText).name;
			var steps = JSON.decode(responseText).steps;
			
			$('next_history_arrow').setStyle('visibility', 'hidden');
            $('previous_history_arrow').setStyle('visibility', 'hidden');
			
			var property;
			var initial_animation_value;
			switch (position){
				case 'previous':
					initial_animation_value = 280;
					break;
				case 'next':
					initial_animation_value = -280;
					break;
				default:
					initial_animation_value = 0;
			}
			
			$('history_href').setStyle('margin-left', 0);
			
            var el_slide = new Fx.Tween($('history_href'), {
                'property': 'margin-left'
            }).start(initial_animation_value).chain(function(){
				$('history_href').empty();
                if (JSON.decode(responseText).steps != 0) {
                    var a = new Element('a', {
                        'html': JSON.decode(responseText).name,
                        'href': '/common/navigate?steps=' + JSON.decode(responseText).steps
                    }).inject($('history_href'));
                }
                else {
                    $('history_href').set('html', JSON.decode(responseText).name);
                }
                $('history_href').setStyle('margin-left', -initial_animation_value);
				
                el_slide.start(0).chain(function(){
                    if (JSON.decode(responseText).next_arrow) {
                        $('next_history_arrow').setStyle('visibility', 'visible');
                    }
                    if (JSON.decode(responseText).previous_arrow) {
                        $('previous_history_arrow').setStyle('visibility', 'visible');
                    }
                    history_index = JSON.decode(responseText).history_index;
                });
                
            });
        }
    }).send();
}

get_belongings = function(id, div){
    if (id_stack.length < stack_limit) {
		if (id_stack.length == 0){
			if (id != self_id) {
				id_stack.push(id);
			}
		} else {
			id_stack.push(id);
		}
		if (id_stack.length < stack_limit) {
			if (div.innerHTML == '') {
				new Request({
					url: '/common/get_belongings',
					method: 'get',
					async: false,
					noCache: true,
					data: {
						'id': id
					},
					onSuccess: function(responseText){
						if (responseText == 'NOK') {
							alert("Error buscando las redes accesibles");
						}
						else {
							var belongings = JSON.decode(responseText);
							if (belongings.length > 0){
								var ul = new Element('ul');
								div.appendChild(ul);
								for (var i = 0; i < belongings.length; i++) {
									var li = new Element('li');
									var new_a = new Element('a', {
										'href': 'javascript:access();',
										'html': '<div style="padding-left:12px;background:url(../images/sprite.png) no-repeat -400px -15px; width:25px;">'+belongings[i].name+'</div>'
									});
									new_a.inject(li);
									var new_div = new Element('div', {
										'class': 'ident_result_right',
										'styles': {
											'display': 'none'
										}
									});
									new_div.inject(li);
									li.addEvent('mouseenter', function(){
										get_belongings(this.id, this.div);
										this.div.setStyle("display", "block");
									}
	.bind({
										'id': belongings[i].id,
										'div': new_div
									}));
									li.addEvent('mouseleave', function(){
										id_stack.pop();
										this.div.setStyle("display", "none");
									}
	.bind({
										'div': new_div
									}));
									ul.appendChild(li);
								}
							}
						}
					}
				}).send();
			}
			else {
				div.setStyle('display', 'block');
			}
		}
    }
}

get_belongings_old = function(tmp_stack, id){
    var stack = tmp_stack + '_' + id;
    var ids = stack.split('_');
    div = $('submenu' + stack);
    if (ids.length < 5) {
        if (div.innerHTML == '') {
            new Request({
                url: '/common/get_belongings',
                method: 'get',
                async: false,
                noCache: true,
                data: {
                    'id': id
                },
                onSuccess: function(responseText){
                    if (responseText == 'NOK') {
                        alert("Error buscando las redes accesibles");
                    }
                    else {
                        var belongings = JSON.decode(responseText);
                        var ul = new Element('ul');
                        div.appendChild(ul);
                        for (var i = 0; i < belongings.length; i++) {
                            var li = new Element('li');
                            li.addEvent('mouseenter', function(){
                                get_belongings_old(this.stack, this.id);
                                $("submenu" + this.stack + "_" + this.id).setStyle("display", "block");
                            }.bind({
                                'stack': stack,
                                'id': belongings[i].id
                            }));
                            li.addEvent('mouseleave', function(){
                                $("submenu" + this.stack + "_" + this.id).setStyle("display", "none");
                            }.bind({
                                'stack': stack,
                                'id': belongings[i].id
                            }));
                            li.innerHTML = "<a href='javascript:access(\"" + stack + "_" + belongings[i].id + "\");'>" + belongings[i].name + "</a>";
                            li.innerHTML += "<div id='submenu" + stack + '_' + belongings[i].id + "' class='ident_result_right' style='display:none;'></div>";
                            ul.appendChild(li);
                        }
                    }
                }
            }).send();
        }
        else {
            div.setStyle('display', 'block');
        }
    }
}

/* ************************************* FUNCIONES DE LATIDOS *********************************** */

heartbeat = function(){
	get_gadgets();
    new Request({url: '/common/heartbeat', 
        method: 'get',
		noCache: true,
		async: false,
        onSuccess: function(responseText){
            if (responseText == 'NOK') {
                window.location = '/';
            } else {
				var info = JSON.decode(responseText);
				if (info.permission == parliament_permission) {
					$('permission').innerHTML = "<div id='ident_permisos' class='permiso_3'></div>";
				} else{
					$('permission').innerHTML = "<div id='ident_permisos' class='permiso_1'></div>";
				}
			}
        }
    }).send();
}

start_heartbeats = function(seg){
    heartbeat();
    heartbeat_timer = setInterval('heartbeat();', seg);
}

stop_heartbeats = function(){
    clearInterval(heartbeat_timer);
}

/* ************************************* FUNCIONES DE LOGIN *********************************** */

recover = function(){
    if ($('name').value == "") {
        alert('Introduzca su apodo');
    }
    else {
        new Request({url: '/common/recover', 
            method: 'get',
            async: false,
            data: {
                'name': $('name').value,
                'nocache': Math.random()
            },
            onSuccess: function(responseText){
                if (responseText == 'OK') {
                    alert('Se ha enviado una nueva contraseña a su email')
                }
                else {
                    alert('Error enviando una nueva contraseña');
                }
            }
        });
    }
}

show_gmail_openid = function(){
    $('openid_identifier').value = "https://www.google.com/accounts/o8/id";
    $('openid_identifier').setAttribute("class", "not_indent");
    //$('openid_identifier').setAttribute("readonly", true);

}

show_blogspot_openid = function(){

    $('openid_identifier').value = "http://blogname.blogspot.com/";
    $('openid_identifier').setAttribute("class", "not_indent");
    sel(7, 15);
    
}

show_yahoo_openid = function(){
    $('openid_identifier').innerHTML = "";
    $('openid_identifier').value = "https://me.yahoo.com/username";
    $('openid_identifier').setAttribute("class", "not_indent");
    sel(21, 29);
}

show_ibercivis_openid = function(){
    $('openid_identifier').setAttribute("class", "indent");
    $('openid_identifier').value = 'http://testbed.ibercivis.es/openid/server.php/idpage?user=useremail';
    sel(58, 68);
    
}

show_openID_openid = function(){
    $('openid_identifier').setAttribute("class", "not_indent");
    $('openid_identifier').value = 'http://username.openid.es';
    sel(7, 15);
}

sel = function(inicio, fin){
    input = document.getElementById('openid_identifier');
    if (typeof document.selection != 'undefined' && document.selection) {
        tex = input.value;
        input.value = '';
        input.focus();
        var str = document.selection.createRange();
        input.value = tex;
        str.move('character', inicio);
        str.moveEnd("character", fin - inicio);
        str.select();
    }
    else 
        if (typeof input.selectionStart != 'undefined') {
            input.setSelectionRange(inicio, fin);
            input.focus();
        }
}

/* Funciones de llamadas */

accept_call = function(){
	window.frames["main_frame"].window.frames["inner_frame"].location = "/gdt_communications/accept_pending_call?pending_call_id=" + calls[selected_call].pending_call_id; 

}

reject_pending_call = function(){
    new Request({url: '/gdt_communications/reject_pending_call', 
        method: 'get',
		async: true,
        data: {
            'pending_call_id': calls[selected_call].pending_call_id
        },
        onSuccess: function(responseText){
			selected_call = 0;
			check_notices();
        }
    }).send();
}

wait_call = function(){
	new Request({url: '/common/wait_call', 
        method: 'get',
        parameters: {
            call_id: calls[selected_call].call_id
        }
    }).send();
}

refresh_title = function(name){
	title1 = document.title;
	title2 = 'Hurriquest :: ' + name + ' dice';
	alternate_title_timer = setInterval('alternate_title()', 2000);
}

alternate_title = function(){
	if (document.title == title1){
		document.title = title2;
	} else {
		document.title = title1;
	}
}

end_refresh = function(){
	clearInterval(alternate_title_timer);
	document.title = "Hurriquest :: Comunicaciones";
}

call_effects = function(name,id,avatar){
	/* Sound */
	player.reproducir('/sounds/efecto1.mp3');
	if (name != null){
		$('call_alert').setStyle('display','block');
		$('call_info').empty();
		
		var ul = new Element('ul', {
			'class' : 'header_ul'
		});
		ul.inject($('call_info'));
		
		var li = new Element('li', {
			'styles' : {
				'width' : '70px',
				'margin-top' : '3px'
			},
			'html' : '<label class="general">Llamada de:</label>'
		});
		li.inject(ul);
		
		var li = new Element('li', {
			'styles' : {
				'width' : '25px'
			}
		});
		li.inject(ul);
		
		var img = new Element('img', {
			'src' : avatar + '_small.jpg'
		});
		img.inject(li);
		
		var li = new Element('li', {
			'styles' : {
				'width' : '70px'
			}
		});
		li.inject(ul);
		var div = new Element('div', {
			'class' : 'resaltar',
			'styles' : {
				'width': '60px',
				'margin-top' : '5px'
			},
			'html' : name
		});
		div.inject(li);
		
		var ul = new Element('ul',{
			'class' : 'edit',
			'styles' : {
				'width' : '170px'
			}
		});
		ul.inject($('call_info'));
		
		var li = new Element('li',{
			'styles' : {
				'width' : '70px'
			}
		});
		li.inject(ul);
		
		var a = new Element('a', {
			'class': 'string_ico',
			'href': 'javascript:join_call("'+id+'");',
			'html': 'Unirse'
		});
		a.inject(li);
		
		var li = new Element('li',{
			'styles' : {
				'width' : '70px'
			}
		});
		li.inject(ul);
		var a = new Element('a', {
			'class': 'zoom_ico',
			'href': 'javascript:view_call_live("'+id+'");',
			'html': 'Ver'
		});
		a.inject(li);
		
	}	
	/* Maximize
	window.moveTo(0, 0);
	window.resizeTo(screen.availWidth, screen.availHeight);
    $('pie').scrollTo(); */
}


join_call = function(id){
	$("call_alert").setStyle('display','none');
	document.location = '/gdt_communications/join_call?call_id=' + id;
}

view_call = function(id){
	$("call_alert").setStyle('display','none'); 
	document.location = '/gdt_communications/view_call?call_id=' + id;
}

view_call_live = function(id){
	$("call_alert").setStyle('display','none'); 
	document.location = '/gdt_communications/view_call_live?call_id=' + id;
}

refresh_warnings = function(logs){
	$('avisos_hd').setStyle('display','block');
	var k = 0;
	while (k < logs.length ) {
		if (logs[k].type == "system_login") {
			$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' se ha conectado'
		}
		else 
			if (logs[k].type == "system_logout") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' se ha desconectado'
			}
		else 
			if (logs[k].type == "entity_login") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].source + ' ha entrado en ' + logs[k].target
			}
		else 
			if (logs[k].type == "entity_logout") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].source + ' ha salido de ' + logs[k].target
			}
		else 
			if (logs[k].type == "profile_updated") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' ha actualizado su perfil'
			}
		else 
			if (logs[k].type == "communications_call") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' ha llamado a ' + logs[k].call_receiver
			}
		else 
			if (logs[k].type == "communications_message") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' ha mandado un mensaje a ' + logs[k].call_receiver
			}
		else 
			if (logs[k].type == "album_added") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' ha creado un álbum'
			}
		else 
			if (logs[k].type == "album_update") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' ha actualizado un álbum'
			}
		else 
			if (logs[k].type == "album_removed") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' ha eliminado un álbum'
			}
		else 
			if (logs[k].type == "thread_created") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' ha creado un tema en el foro'
			}
		else 
			if (logs[k].type == "thread_added") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' ha actualizado un tema del foro'
			}
		else 
			if (logs[k].type == "thread_removed") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' ha eliminado un tema del foro'
			}
		else 
			if (logs[k].type == "file_added") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' ha subido un fichero de la biblioteca'
			}
		else 
			if (logs[k].type == "file_update") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' ha actualizado un fichero de la biblioteca'
			}
		else 
			if (logs[k].type == "file_removed") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' ha borrado un fichero de la biblioteca'
			}
		else 
			if (logs[k].type == "meeting_created") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' ha convocado una reunión'
			}
		else 
			if (logs[k].type == "meeting_started") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' ha iniciado una reunión'
			}
		else 
			if (logs[k].type == "meeting_warning") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp; Está a punto de comenzar una reunión'
			}	
		else 
			if (logs[k].type == "voting_created") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' ha convocado una votación'
			}	
		else 
			if (logs[k].type == "voting_finished") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp; Ha finalizado una votación'
			}	
		else 
			if (logs[k].type == "path_added") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' ha creado una ruta'
			}
		else 
			if (logs[k].type == "path_update") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' ha modificado una ruta'
			}
		else 
			if (logs[k].type == "path_removed") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' ha borrado una ruta'
			}
		else 
			if (logs[k].type == "emission_added") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' ha creado una emisión'
			}
		else 
			if (logs[k].type == "emission_update") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' ha actualizado una emisión'
			}
		else 
			if (logs[k].type == "emission_removed") {
				$('aviso').innerHTML ='<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' ha borrado una emisión'
			}
		else 
			if (logs[k].type == "diary_created") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' ha creado la agenda'
			}
		else 
			if (logs[k].type == "diary_updated") {
				$('aviso').innerHTML = '<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' ha actualizado la agenda'
			}
		else 
			if (logs[k].type == "diary_removed") {
				$('aviso').innerHTML ='<span class="resaltar">' + logs[k].date + '</span>&nbsp;-&nbsp;' + logs[k].entity + ' ha borrado la agenda'
			}
		k++;
	}
}

check_notices = function(){
	new Request({url: '/common/check_notices', 
        method: 'get',
		async: true,
		noCache:true,
		onSuccess: function(responseText){
			var alert = JSON.decode(responseText).alert;
    		var notices = JSON.decode(responseText).notices;
			$('inbox').innerHTML = notices;
			if (alert == 1){
				var notice = JSON.decode(responseText).notice;
				if (notice[0].id != '')
					call_effects(notice[0].name,notice[0].id, notice[0].avatar);
			}
			last_notices = notices;
			var logs = JSON.decode(responseText).logs;
			if (logs.length > last_logs){
				refresh_warnings(logs);
			}
			last_logs = logs.length;
			var gov_dec = JSON.decode(responseText).gov_dec;
			if (gov_dec > last_gov_dec){
				$('gov_inbox').innerHTML = gov_dec;
			}
			last_gov_dec = gov_dec.length;
        }
    }).send();
}


notify = function(id,data_id,data_aux,message,members_list,alert_list,controller,type_id,link){
	new Request({url: '/common/notify',
		method: 'get',
		async: true,
		noCache: true,
		data: {
			'id': id,
			'data_id': data_id,
			'data_aux': data_aux,
			'text': message,
			'names': members_list,
			'alert_list': JSON.encode(alert_list),
			'controller': controller,
			'type_id': type_id,
			'link': link
            
        },onSuccess: function(responseText){				
			if (responseText == 'OK'){
				hq_alert('Las notificaciones han sido enviadas correctamente');
			} else {
				hq_alert(responseText);
			}
		}
	}).send();
}

set_accepting_calls = function(status){
    new Request({url: '/common/set_accepting_calls', 
        method: 'get',
		data: {'status': status},
		async: true,
        noCache: true,
        onSuccess: function(responseText){
            if (responseText == 'OK') {
				if (status) {
					start_accepting_calls();
				}
				else {
					stop_accepting_calls();
				}
			} else {
				alert('Error cambiando el estado');
			}
        }
    }).send();
}

start_accepting_calls = function(){
	accepting_calls = true;
	if ($('trigger_status') != null) {
		$('status').removeChild($('trigger_status'));
	}
	$("status").innerHTML = '<a href="javascript:void(0);" id="trigger_status" class="ic_visible" rel="st_visible">visible</a>';
	$("status").innerHTML += '<div id="status_list" style="display:none"><ul class="status"><li><a href="javascript:void(0);" class="ic_oculto" rel="st_oculto" onclick="set_accepting_calls(false);">oculto</a></li></ul></div>';
	drop_down('trigger_status','status','status_list');
}

stop_accepting_calls = function(){
	accepting_calls = false;
	if ($('trigger_status') != null) {
		$('status').removeChild($('trigger_status'));
	}
	$("status").innerHTML = '<a href="javascript:void(0);" id="trigger_status" class="ic_oculto" rel="st_oculto">oculto</a>';
	$("status").innerHTML += '<div id="status_list" style="display:none"><ul class="status"><li><a href="javascript:void(0);" class="ic_visible" rel="st_visible" onclick="set_accepting_calls(true);">visible</a></li></ul></div>';
	drop_down('trigger_status','status','status_list');
}
