var url_base = "./wp_content/themes/CorporateMag/";
var url_sw = "http://argos.ender.es:7383/argos/proxy.py"

function login()
{
	
	var login = $('#login').val();
	var password = $('#password').val();
	
	var servicio = '/neptuno/sw/checkuser.py/login'
	var param='{"login":"'+login+'","password":"'+password+'"}';
	
	
	var url = url_sw+'?nombre='+servicio+'&parametros='+param; 
	
	$.ajax
	(
		{
			
			type :'GET',
			url :url,
			dataType: "jsonp",
			jsonpCallback:"procesarLogin"
			
		}
	
	);
}

function procesarLogin(usuario)
{
			
			
	 	
			if (usuario.id > 0 && usuario.challenge != '') {
				var options = {expires: 10000};
				user = '{"id":"'+usuario.id+'", "challenge":"'+usuario.challenge+'","nombre":"'+usuario.nombre+'","idioma":"'+usuario.idioma+'"}';		
				//objetoNeptuno.cntMsgs.Show("Usuario "+username+" registrado en el sistema.");
				$.cookie('neptuno', user, options);
				cargarInterface();
			}
			else
			{
				$('.caja_login').prepend('<div class="aviso_login">Lo siento, el usuario o la contraseña introducidos no son correctos</div>');
				setTimeout("$('.aviso_login').fadeOut();",5000);
			}							

}



function CargarBase()
{

	if($.cookie("neptuno") != null)
	{
		eval("var usuario = "+$.cookie("neptuno"));
		if(usuario.id > 0)
		{
			cargarInterface();
		}
		else
		{
			cargaCajaLogin();
		}
	}
	else
	{
		cargaCajaLogin();
	}
	
}

function cargaCajaLogin()
{
			$.get($('#ruta_base').val()+"/templates/login.html",function(a){$('.contenedor_central').html(a);});

}

function cargarCargos()
{
			eval("var usuario = "+$.cookie("neptuno"));
			var id_usuario = usuario.id;
			var id_sesion = usuario.challenge;
			
			var servicio = '/argos/horasclienteSW.py/horascliente'
			var param='{"id_usuario":"'+id_usuario+'","id_sesion":"'+id_sesion+'","historico":"false"}';
			
			
			var url = url_sw+'?nombre='+servicio+'&parametros='+param; 
			
			$.ajax
			(
				{
					
					type :'GET',
					url :url,
					dataType: "jsonp",
					jsonpCallback:"procesarCargos",
			
					
				}
			
			);

}


function procesarCargos(cargos)
{
	eval("var usuario = "+$.cookie("neptuno"));
	
	if(usuario.idioma == '' || usuario.idioma == null) usuario.idioma = "Español";
	var n_cargos = cargos.length;
	var i= 0;
	var html ='';
	$('.cargosUsuario').html('');
	while(i < n_cargos)
	{
		html = '<div class="cargo">';
		html+= '<div class="proyecto txt_proyecto">: '+cargos[i].proyecto+' '+cargos[i].cargo+'</div>';
		html+= '<div class="horasContratadas txt_horascontratadas">: '+cargos[i].horas_contratadas.toFixed(2)+'</div>';
		html+= '<div class="horasFacturables txt_horastrabajadasfacturables">: '+cargos[i].horas_facturables.toFixed(2)+'</div>';
		html+= '<div class="horasDisponibles txt_horasdisponibles"';
		if(cargos[i].horas_disponibles < 0)
		{
			html += ' style="color:#990000"';
			
		}
		else
			if(cargos[i].horas_disponibles < 10)
			{
				html += ' style="color:#AA3"';		
			}
		
		
		
		html+= '>: '+cargos[i].horas_disponibles.toFixed(2)+'</div>';
		
		html+= '<div class="horasTrabajadas txt_totalhoras">: '+cargos[i].horas_trabajadas.toFixed(2)+'</div>';
		html+= "</div>"
		$('.cargosUsuario').append(html);
		
		prepend_texto("txt_proyecto");
		prepend_texto("txt_horascontratadas");
		prepend_texto("txt_horastrabajadasfacturables");
		prepend_texto("txt_horasdisponibles");
		prepend_texto("txt_totalhoras");
		i++;
	}
	$('.cargo').jacg({'radius': '5px', 'start': '#e1e1e1', 'end': '#ffffff'});
}
function cargarInterface()
{
			cargarMenu();
			asignaTextos();
			cargarCargos();		
			
}

function cargarMenu()
{			
	$('.contenedor_central').html('');
	$.get($('#ruta_base').val()+"/templates/menuInterno.html",function(a){
																			eval("var usuario = "+$.cookie("neptuno"));
																			$('.contenedor_central').append(a);
																			$('.nombreUsuario').html(usuario.nombre);
																			$('.menuInterno').jacg({'radius': '2px', 'start': '#ABB24E', 'end':'#FFFFFF' });
																			if(usuario.nombre == 'ender') $('.pestanaDatosUsuario').fadeOut();
																			asignaTextos();
																			
																		});
	 
	cargarInicio();


}

function cargarInicio()
{
	
	$.get($('#ruta_base').val()+"/templates/infoProyecto.html",
			function(a)
			{
				$('.contenido').html(a);
				cargarCargos();
				
				
			});
	
}

function cargarHorasConsumidas(fecha,fechaFin)
{
	
	$.get($('#ruta_base').val()+"/templates/horasTrabajadas.html",
			function(a)
			{
				$('.contenido').html(a);
				asignaTextos();
				eval("var usuario = "+$.cookie("neptuno"));
				var id_usuario = usuario.id;
				var id_sesion = usuario.challenge;
				
				
				var servicio = '/argos/horasclienteSW.py/partesdehora';
				var c = new Date();
				
				
				if (fechaFin == null || fechaFin == '') 
				{
					fechaFin = c.getDate() + '/' + (c.getMonth()+1) + '/' + c.getFullYear();
						
					
						
				}
				if (fecha == null || fecha == '') 
				{
					fechaInicio = '01/' + (c.getMonth()+1)+ '/' + c.getFullYear();
					
				}
				else
				{
					fechaInicio = fecha;
				}
				
				$('#fechaBuscadaFin').val(fechaFin);
				$('#fechaBuscada').val(fechaInicio);
				actualizaFechasSeleccionadas();
				
				var param='{"id_usuario":"'+id_usuario;
				
				param += '","id_sesion":"'+id_sesion;
				
				param +='","fecha_inicio":"'+fechaInicio;
				
				param +='","fecha_fin":"'+fechaFin;
				
				param +='","posicion":"0"';
				
				param +=',"num_resultados":"100"';
				
				param +='}';
				
		
				
				var url = url_sw+'?nombre='+servicio+'&parametros='+param; 
				$.ajax
				(
					{
						
						type :'GET',
						url :url,
						dataType: "jsonp",
						jsonpCallback:"procesarHorasConsumidas",
				
						
					}
				
				);				
			});
	
}

function buscarFechaHoras()
{
	
	cargarHorasConsumidas($('#fechaBuscada').val(),$('#fechaBuscadaFin').val());
}

function procesarHorasConsumidas(horas)
{
	
	var total_horas = horas[1].total;
	horas = horas[0];
	var n_horas = horas.length;
	var i= 0;
	var html ='';
	$('.horasConsumidas').html('');
	var horasFacturables = 0;
	var horasNoFacturables = 0;
	while(i < n_horas)
	{
		html = '<div class="horas';
		if(horas[i].facturable)
		{
			html+=' facturable';
			horasFacturables += horas[i].tiempo;
		} 
		else
		{
			horasNoFacturables += horas[i].tiempo;
		}
		html+='">';
		html+= '<div class="fecha">'+horas[i].fecha+'</div>';
		html+= '<div class="horaInicio">'+horas[i].hora_inicio+'</div>';
		html+= '<div class="horaFin">'+horas[i].hora_fin+'</div>';
		html+= '<div class="tiempo">'+horas[i].tiempo.toFixed(2)+'</div>';
		html+= '<div class="modulo">'+horas[i].modulo+'</div>';
		if(horas[i].incidencia > 0)
		{
			html+= '<div class="incidencia"><a href="http://bean.ender.es/mantis/view.php?id='+horas[i].incidencia+'">'+horas[i].incidencia+'</a></div>';				
		}
		else
		{
				html+= '<div class="incidencia"> - </div>';
		}
		
		html+= '<div class="trabajador">'+horas[i].trabajador+'</div>';
		
		if(horas[i].notas != '' && horas[i].notas != null && horas[i].notas!='null')
		{ 
			var cod_objeto = horas[i].fecha+horas[i].hora_inicio+horas[i].hora_fin;
			html+='<div class="abrirNotas" onclick="desplegarNotas(\''+cod_objeto+'\')" cod_objeto="'+cod_objeto+'">[+]</div>';
			
			html+='<div class="notas" cod_objeto="'+cod_objeto+'">'+horas[i].notas+'</div>';
			html+= "</div>";	
		}
		else
		{
			
			html+= "</div>"
		}
		
		html+= "</div>"
		$('.horasConsumidas').append(html);
		i++;
	}
	if(total_horas > 100)
	{
		html = '<div class="aviso_horas"> Existen más partes de hora que no se están mostrando, por favor, disminuye el rango de fechas ... </div>';
		$('.horasConsumidas').prepend(html);
	}
	jQuery('.horasFacturables .valor').html(horasFacturables.toFixed(2));
	jQuery('.horasNoFacturables .valor').html(horasNoFacturables.toFixed(2));
	jQuery('.horasTrabajadas .valor').html((horasFacturables+horasNoFacturables).toFixed(2));
	$('.contenido').jacg({'radius': '1em', 'start': '#e1e1e1', 'end': '#ffffff'});
	
}

function desloguear()
{
	eval("var usuario = "+$.cookie("neptuno"));
	var id_usuario = usuario.id;
	var id_sesion = usuario.challenge;
	var servicio = '/neptuno/sw/checkuser.py/cerrarsesion'
	var param='{"id_usuario":"'+id_usuario+'","id_sesion":"'+id_sesion+'"}';
	
	
	var url = url_sw+'?nombre='+servicio+'&parametros='+param; 

	$.ajax
	(
		{
			
			type :'GET',
			url :url,
			dataType: "jsonp",
			jsonpCallback:"procesarDesloguear",
	
			
		}
	);

	
	
}

function procesarDesloguear(param)
{
	$.cookie("neptuno",null,{})
	$('.contenido').html('');	 
	cargaCajaLogin();

}

$('document').ready(
	function()
	{
		CargarBase();
		asignaTextos();
	}
)


function actualizaFechasSeleccionadas()
{
	$('.fechasSeleccionadas').html(jQuery('#fechaBuscada').val()+' - '+jQuery('#fechaBuscadaFin').val());
}

function seleccionarFechas()
{
	$('.selectoresFechas').show();
}

function cargarDatosUsuario()
{
			eval("var usuario = "+$.cookie("neptuno"));
			var id_usuario = usuario.id;
			var id_sesion = usuario.challenge;
			var nombre = usuario.nombre;
			
			$.get($('#ruta_base').val()+"/templates/datosPersonales.html",function(a){$('.contenido').html(a);asignaTextos();$('#login').val(nombre);$('.contenido').jacg({'radius': '1em', 'start': '#e1e1e1', 'end': '#ffffff'});});			

	 
}

function validaFormularioPersonal()
{
	eval("var usuario = "+$.cookie("neptuno"));
	var id_usuario = usuario.id;
	var id_sesion = usuario.challenge;
	var nombre = usuario.nombre;

	var c1 = $('#password').val();
	var c2 = $('#password2').val();
	var pass = $('#passwordold').val();
	var log = $('#login').val();
	if(c2==c1)
	{
			var servicio = '/neptuno/sw/checkuser.py/actualizarpassword'
			var param='{"id_usuario":"'+id_usuario+'","id_sesion":"'+id_sesion+'","new_login":"'+log+'", "old_password":"'+pass+'","new_password":"'+c1+'"}';
			
			
			var url = url_sw+'?nombre='+servicio+'&parametros='+param; 
			
			$.ajax
			(
				{
					
					type :'GET',
					url :url,
					dataType: "jsonp",
					jsonpCallback:"procesarCambioDatos",
					error:function()
					{
						$('#passwordold').after('<div class="avisoDatosPersonales txt_datosincorrectos">La contraseña introducida no es correcta</div>');
					}
					
				}
			
			);
	}
	else
	{
			$('#password2').after('<div class="avisoDatosPersonales txt_datoscorrectos">Las contraseñas introducidas no coinciden</div>')
	}
	
	
}


function procesarCambioDatos(datos)
{
	if(datos.id < 0)
		$('#passwordold').after('<div class="avisoDatosPersonales txt_datospersonales">La contraseña introducida no es correcta</div>');
	else
		$('.contenido').html('<div class="datosCorrectos txt_datoscorrectos">Hemos almacenado almacenado tus nuevos datos</div>');
	asignaTextos();
}

function cargarFacturas()
{
				$.get($('#ruta_base').val()+"/templates/facturas.html",function(a)
																		{
																			
																			$('.contenido').html(a);
																			asignaTextos();
																			eval("var usuario = "+$.cookie("neptuno"));
																			var id_usuario = usuario.id;
																			var id_sesion = usuario.challenge;
																			
																			var servicio = '/argos/facturasSW.py/facturascliente'
																			var param='{"id_usuario":"'+id_usuario+'","id_sesion":"'+id_sesion+'"}';
																			
																			
																			var url = url_sw+'?nombre='+servicio+'&parametros='+param; 
																			
																			$.ajax
																			(
																				{
																					
																					type :'GET',
																					url :url,
																					dataType: "jsonp",
																					jsonpCallback:"procesarFacturas",
																			
																					
																				}
																			);
																			
																		});	
}

function procesarFacturas(facturas)
{

	var n_facturas = facturas.length;
	var i = 0;
	$('.facturas').html('');
	while(i<n_facturas)
	{
		var html = '';
		html += "<div class='factura ";
		if(facturas[i].fecha_cobro != '') html+= 'cobrada'; 
		html += "' onclick='lanzaFactura("+facturas[i].id+")' id='"+facturas[i].id+"'>";
		html += '<div class="numeroFactura">'+facturas[i].numero+'</div>';
		html += '<div class="fechaFactura">'+facturas[i].fecha+'</div>';
		html += '<div class="asuntoFactura">'+facturas[i].asunto+'</div>';
		html += '<div class="baseFactura">'+facturas[i].base+'</div>';
		html += '<div class="ivaFactura">'+facturas[i].iva+'</div>';
		//html += '<div class="divisaFactura">'+facturas[i].divisa+'</div>';
		html += '</div>';
		$('.facturas').append(html);
		
		i++;
	}
	$('.contenido').jacg({'radius': '5px', 'start': '#e1e1e1', 'end': '#ffffff'});
}


function lanzaFactura(id)
{
	eval("var usuario = "+$.cookie("neptuno"));
	var id_usuario = usuario.id;
	var id_sesion = usuario.challenge;
	var servicio = '/argos/facturasSW.py/informefactura'
	var param='{"id_usuario":"'+id_usuario+'","id_sesion":"'+id_sesion+'", "cod_factura":"'+id+'"}';
	
	
	var url = url_sw+'?nombre='+servicio+'&parametros='+param; 
	
	$.ajax
	(
	{
	
		type :'GET',
		url :url,
		dataType: "jsonp",
		jsonpCallback:"procesarFacturaLanzada",
	
	
	}
	);
	
}


function procesarFacturaLanzada(pdf)
{
	var form_facturas = '<form method="POST" id="form_facturas" target="_blank" action ="../Scripts/generaPDF.php">';
	form_facturas += '<input type="hidden" name="contenido" value="'+pdf.informe+'" />';
	form_facturas += '<input type="hidden" name="nombre" value="'+pdf.nombre+'" />';
	form_facturas += '</form>';
	$('body').append(form_facturas);
	$('#form_facturas').submit();
	$('#form_facturas').remove();			
}


function asignaTextos()
{
	for(var i=0;i<$('*[class*=txt_]').length;i++)
	{
		var elemento = $('*[class*=txt_]').eq(i);
		var clase = 'txt_'+jQuery(elemento).attr('class').split('txt_')[1];
		
		texto(clase);			
	}
}


function texto(campo)
{
	eval("var usuario = "+$.cookie("neptuno"));
	var idioma = usuario.idioma;
	if(idioma == '' || idioma == null) idioma = "Spanish";
	var texto =  eval(campo+'.'+idioma);
	$('.'+campo).html(texto);
}

function prepend_texto(campo)
{
	eval("var usuario = "+$.cookie("neptuno"));
	var idioma = usuario.idioma;
	if(idioma == '' || idioma == null) idioma = "Spanish";
	var texto =  eval(campo+'.'+idioma);
	$('.'+campo).prepend(texto);
}

function desplegarNotas(cod)
{
	$('.notas').fadeOut(1000,function()
	{
		$('.notas[cod_objeto="'+cod+'"]').fadeIn();	
	})
	
}
