var claseUsuario = "";
$.ajax({
	  type: "POST",
	  url: "../usuarios/obtenerClaseUsuario",
	  success: function(data){
		
			 
				 
				  claseUsuario = data.idclase;			
			
		  },
		 error: function(data){
			 alert( "Error al comprobar la clase a la que pertenece el usuario");
		 },
	  dataType: "json",
	  async:false
	});

jQuery(function($){

	$("#dialogoEspera").hide();	
	$("#nohayRegistros").hide();
	$("#botonesPaginacion").hide();
	//$("#aa20bMaqPartesWar_menu").hide();
	$("#contentMV").css("margin-left", "1em");
	
	/*$("#bt_ocultaMenu").hide();
	$("#bt_muestraMenu").bind("click", muestraMenu);
	$("#bt_ocultaMenu").bind("click", ocultaMenu);*/
	//$("#bt_imprimeProgAnual").bind("click", imprimeProgAnual);
	$("#bt_imprimeProgAnual").bind("click", imprimeProgAnual_itext);
	//$("#bt_imprimePrevAnualEdif").bind("click", imprimePrevAnualEdif);
	$("#bt_imprimePrevAnualEdif").bind("click", imprimePrevAnualEdif_itext);
	$("#bt_imprimePrevAnualGamas").bind("click", imprimePrevAnualGamas);
	$("#bt_busqueda").bind("click", buscar);
	$("#bt_edificiosVer").bind("click", edificiosVer);
	$("#bt_tecnicosPlan").bind("click", tecnicosPlan);
	$("#bt_tecnicosPlan").hide(); //Oculto hasta que se defina el funcionamiento del perfil técnicos.
	//Se Crea el combo de seleccion de territorios
	$('#territorioCombo').rup_combo({
		source : [
				{i18nCaption: $.rup.i18n.app.territorios._blank, value:""},
				{i18nCaption: $.rup.i18n.app.territorios.p1, value:"1"},
				{i18nCaption: $.rup.i18n.app.territorios.p20, value:"20"},
				{i18nCaption: $.rup.i18n.app.territorios.p48, value:"48"}
		         ],
		width: 200,
		orderedByValue: true,
		style : "dropdown"	
	});
	//Se Crea el combo de CONTRATA SI/NO
	$('#contrataCombo').rup_combo({
		source : [
				{i18nCaption: $.rup.i18n.app.contrata._blank, value:""},
				{i18nCaption: $.rup.i18n.app.contrata.SI, value:"1"},
				{i18nCaption: $.rup.i18n.app.contrata.NO, value:"0"}
		         ],
		width: 200,
		orderedByValue: true,
		style : "dropdown"	
	});
	
	$("#comboPlantas").rup_combo({
		source: "../partes/plantas/combo/remote",
		sourceParam: {label:obtenerIdiomaCombo() + "planta", value:"idplanta"},
		selected:"",
		ordered: false,
		select : function() { 
			$("#idPlanta").val($("#comboPlantas").val());
		},
		width: 200,
		blank: "",
		style : "dropdown"										
	});

	$("#comboZonas").rup_combo({
		source: "../partes/zonas/combo/remote",
		sourceParam: {label:obtenerIdiomaCombo() + "zona", value:"idzona"},
		selected:"",
		select : function() { 
			$("#idZona").val($("#comboZonas").val());
		},
		width: 200,
		blank: "",
		style : "dropdown"										
	});
	
	var claseGama = "";
	 if (claseUsuario != "0") {
		 claseGama = claseUsuario;
	 }
	//Gamas
	$("#comboGamas").rup_combo({
		source: "../maquinas/gamasServicio/combo/remote?clasec="+claseGama,
		sourceParam: {label:obtenerIdiomaCombo()+"gama", value:"idgama"},
		width: 200,
		menuWidth:350,
		blank: "",
		selected:"",
		select: function(){
			//asignar el valor seleccionado al campo del formulario que actualiza el valor
			$("#idGama").val($("#comboGamas").val());
		},
		style : "dropdown"										
	});
	//Clase
	$("#comboClase").rup_combo({
		source: "../maquinas/clase/combo/remote",
		sourceParam: {label:obtenerIdiomaCombo()+"clase", value:"idclase"},
		width: 200,
		blank: "",
		selected:"",
		select: function(){
			//asignar el valor seleccionado al campo del formulario que actualiza el valor
			$("#idclase").val($("#comboClase").rup_combo("value"));
			var valorClase = $("#comboClase").rup_combo("value");
			$("#comboGamas").rup_combo().data("settings").source="../maquinas/gamasServicio/combo/remote?clasec="+valorClase;
			$("#comboGamas").rup_combo("reload");
		},
		style : "dropdown",
		selected: claseGama
	});
	$("#comboClase").rup_combo("select",claseGama);
	
	//Se Crea el combo de seleccion de Realizado/Pendientes
	$('#comboSituacion').rup_combo({
		source : [
				{i18nCaption: $.rup.i18n.app.comboSituacion.realizado, value:"R"},
				{i18nCaption: $.rup.i18n.app.comboSituacion.pendiente, value:"P"}
		         ],
		width: 200,
		blank: "",
		style : "dropdown"	
	});
	
	//Si viene de otra ventana volvemos a cargar la tabla con los últimos filtros seleccionados
	if ($("#origenOtraVentana").val()=="SI"){
		if ($("#vienePaginaPG").val()!=""){
			//Cargamos la tabla en la página que venga
			cargarTabla($("#vienePaginaPG").val());
		}else{
			//Cargamos la tabla en la primera página
			cargarTabla(1);
		}
	}else{
		//Presentamos el formulario de busqueda
		$(document).ready(abrirBusqueda());
		
	}
	
	var d = new Date();
	var anioActul = d.getFullYear();
	$("#anio_search").val(anioActul);

});

function buscar(){
	//Recargo la pagina para liberar memoria ya que si el filtro seleccionado devuelve muchos registros (por ejemplo todos los de un año)
	//ocupa mucha memoria del pc y además se tarda en vaciar la tabla de la última busqueda
	
	location.href="../maquinas/prevAnual";	
	
}
	

function obtenerIdiomaCombo(){
	var idioma="c";		
	if ($.rup_utils.capitalizedLang() =="Es") {	
		idioma = "c";
	} else idioma="e";
	return idioma;
	}

/****************************************************************************/
/**************************** VER TECNICOS **********************************/
/****************************************************************************/

function tecnicosPlan(){

	$("#lupaTecnicosVer").rup_dialog("destroy");
	$("#lupaTecnicosVer").rup_dialog({      
		type: jQuery.rup.dialog.DIV,
		modal:true,
        height:300,
        width:700,  
        resizable:false,
        title:"Asignación de técnicos",
        autoOpen:true,
        showLoading:true,
        async:false, 
        zIndex: -1,
        buttons:[{
	        	id: "aceptarlupaTecnicosVer",
	        	text: $.rup.i18n.base.rup_global.aceptar,
	        	click: function() {
	        		$("#lupaTecnicosVer").rup_dialog("close");
	        		}
        	},

	        {
	    		id: "cerrarlupaTecnicosVer",
	    		text: $.rup.i18n.base.rup_global.cancelar,
	        	click: function() {
	        		$("#lupaTecnicosVer").rup_dialog("close");
	        	},
	        	btnType:$.rup.dialog.LINK
        	}]
      });

	cargarTecnicosVer();
	
}


function cargarTecnicosVer(){
		$("#tecnicosLibres").empty();
		$("#tecnicosOcupados").empty();
		
		$.ajax({
			  type: "POST",
			  url: "../tecnicos/obtenerTecnicosUsuarioLibres",
			  success: function(data){
				  $("#tecnicosLibres").empty();
                  var miselect=$("#tecnicosLibres");
                  for (var i=0; i<data.length; i++) {
  			  		if(data[i].presente){
  			  			miselect.append('<option value="' + data[i].idtecnico + '" style="color:green;">' + data[i].nombre + '</option>');
  			  		}else{
  			  			miselect.append('<option value="' + data[i].idtecnico + '" style="color:red;">' + data[i].nombre + '</option>');
  			  		}
  			  	}									  
				  },
				 error: function(data){
					 alert( data);
				 },
			  dataType: "json"
			});
		$.ajax({
			  type: "POST",
			  url: "../tecnicos/obtenerTecnicosUsuarioAsignados",
			  success: function(data){
				  $("#tecnicosOcupados").empty();
                  var miselect=$("#tecnicosOcupados");
                  for (var i=0; i<data.length; i++) {
  			  		if(data[i].presente){
  			  			miselect.append('<option value="' + data[i].idtecnico + '" style="color:green;">' + data[i].nombre + '</option>');
  			  		}else{
  			  			miselect.append('<option value="' + data[i].idtecnico + '" style="color:red;">' + data[i].nombre + '</option>');
  			  		}
  			  	}									  
				  },
				 error: function(data){
					 alert( data);
				 },
			  dataType: "json"
			});

}

$("#siguienteTecnicoVer").bind("click", confirmarSumaTecnicosVer);
$("#anteriorTecnicoVer").bind("click", confirmarRestaTecnicosVer);

function confirmarSumaTecnicosVer(){
	$.rup_messages("msgConfirm", {
		title: $.rup.i18nParse($.rup.i18n.app,"mensajesTecnicos.alta"),			
		message: $.rup.i18nParse($.rup.i18n.app,"mensajesTecnicos.sumaTecnico"),
		OKFunction: function(){
			
			sumaTecnicosVer();		
		},
		CANCELFunction : function(){
		}
		});
}

function confirmarRestaTecnicosVer (){
	$.rup_messages("msgConfirm", {
		title: $.rup.i18nParse($.rup.i18n.app,"mensajesTecnicos.baja"),			
		message: $.rup.i18nParse($.rup.i18n.app,"mensajesTecnicos.restaTecnico"),
		OKFunction: function(){
			restaTecnicosVer();		
		},
		CANCELFunction : function(){
		}
		});
}


function sumaTecnicosVer() {
	var tecnicosSeleccionados = $('#tecnicosLibres').val();
		
	$.ajax({
		  type: "POST",				  
		  url: "../tecnicoplanif/sumaTecnicosPlanif",
		  data:  {tecnicosSeleccionados:formaArrayJson(tecnicosSeleccionados)},
		  success: function(data4){					 
			  	!$('#tecnicosLibres option:selected').remove().appendTo('#tecnicosOcupados'); 
			  },
		  error: function() {
			  mensajeError("<p><strong>" +  $.rup.i18n.app.accionesRegistros.errorguardar + "</strong></p>");
		  },
		  dataType: "json"
		});

}

function restaTecnicosVer() {
	var tecnicosSeleccionados = $('#tecnicosOcupados').val();
	
	$.ajax({
		  type: "POST",				  
		  url: "../tecnicoplanif/restaTecnicosPlanif",
		  data:  {tecnicosSeleccionados:formaArrayJson(tecnicosSeleccionados)},
		  success: function(data4){					 
			  	!$('#tecnicosOcupados option:selected').remove().appendTo('#tecnicosLibres'); 
			  },
		  error: function() {
			  mensajeError("<p><strong>" +  $.rup.i18n.app.accionesRegistros.errorBorrar + "</strong></p>");
		  },
		  dataType: "json"
		});
	
	
}

/****************************************************************************/
/************************** FIN VER TECNICOS ********************************/
/****************************************************************************/

/****************************************************************************/
/**************************** VER EDIFICIOS *********************************/
/****************************************************************************/

function edificiosVer(){

	$("#lupaEdificiosVer").rup_dialog("destroy");
	$("#lupaEdificiosVer").rup_dialog({      
		type: jQuery.rup.dialog.DIV,
		modal:true,
        height:300,
        width:700,  
        resizable:false,
        title:"Edificios a ver",
        autoOpen:true,
        showLoading:true,
        async:false, 
        zIndex: -1,
        buttons:[{
	        	id: "aceptarlupaEdificiosVer",
	        	text: $.rup.i18n.base.rup_global.aceptar,
	        	click: function() {
	        		cargarTabla(1);
	        		$("#lupaEdificiosVer").rup_dialog("close");
	        		}
        	},

	        {
	    		id: "cerrarlupaEdificiosVer",
	    		text: $.rup.i18n.base.rup_global.cancelar,
	        	click: function() {
	        		$("#lupaEdificiosVer").rup_dialog("close");
	        	},
	        	btnType:$.rup.dialog.LINK
        	}]
      });

	cargarEdificiosVer();
	
}

function cargarEdificiosVer(){
		$("#edificiosLibres").empty();
		$("#edificiosOcupados").empty();
		
		$.ajax({
			  type: "POST",
			  url: "../edificiosver/obtenerEdificiosUsuarioNOVer",
			  success: function(data){
				  $("#edificiosLibres").empty();
                  var miselect=$("#edificiosLibres");
			    	var edif =  "";
				    for (var i=0; i<data.length; i++) {
						  if($.rup_utils.capitalizedLang() =="Es"){
						    	edif =  data[i].edificio.cedificio;
						  }else{
						    	edif =  data[i].edificio.eedificio;
						  }
                    	miselect.append('<option value="' + data[i].idedificio + '">' + edif + '</option>');
                    }								  
				  },
				 error: function(data){
					 alert( data);
				 },
			  dataType: "json"
			});
		$.ajax({
			  type: "POST",
			  url: "../edificiosver/obtenerEdificiosUsuarioVer",
			  success: function(data){
				  $("#edificiosOcupados").empty();
                  var miselect=$("#edificiosOcupados");
			    	var edif =  "";
				  for (var i=0; i<data.length; i++) {
					  if($.rup_utils.capitalizedLang() =="Es"){
					    	edif =  data[i].edificio.cedificio;
					  }else{
					    	edif =  data[i].edificio.eedificio;
					  }
                  	miselect.append('<option value="' + data[i].idedificio + '">' + edif + '</option>');
                  }								  
				  },
				 error: function(data){
					 alert( data);
				 },
			  dataType: "json"
			});

}

$("#siguienteEdificioVer").bind("click", confirmarSumaEdificiosVer);
$("#anteriorEdificioVer").bind("click", confirmarRestaEdificiosVer);

function confirmarSumaEdificiosVer(){
	$.rup_messages("msgConfirm", {
		title: $.rup.i18nParse($.rup.i18n.app,"mensajesEdificios.alta"),			
		message: $.rup.i18nParse($.rup.i18n.app,"mensajesEdificios.sumaEdificioVer"),
		OKFunction: function(){
			
			sumaEdificiosVer();		
		},
		CANCELFunction : function(){
		}
		});
}

function confirmarRestaEdificiosVer (){
	$.rup_messages("msgConfirm", {
		title: $.rup.i18nParse($.rup.i18n.app,"mensajesEdificios.baja"),			
		message: $.rup.i18nParse($.rup.i18n.app,"mensajesEdificios.restaEdificioVer"),
		OKFunction: function(){
			restaEdificiosVer();		
		},
		CANCELFunction : function(){
		}
		});
}


function sumaEdificiosVer() {
	var edificiosSeleccionados = $('#edificiosLibres').val();
		
	$.ajax({
		  type: "POST",				  
		  url: "../edificiosver/sumaEdificiosVer",
		  data:  {edificiosSeleccionados:formaArrayJson(edificiosSeleccionados)},
		  success: function(data4){					 
			  	!$('#edificiosLibres option:selected').remove().appendTo('#edificiosOcupados'); 
			  },
		  error: function() {
			  mensajeError("<p><strong>" +  $.rup.i18n.app.accionesRegistros.errorguardar + "</strong></p>");
		  },
		  dataType: "json"
		});

}
function formaArrayJson (lista) {
	var listaJson = "";
	for (i=0; i<lista.length; i++ ) {
		listaJson += lista[i];			
		if (i!= (lista.length - 1) ) {
			listaJson += ",";
		}		
	}			
	return listaJson;
}
function restaEdificiosVer() {
	var edificiosSeleccionados = $('#edificiosOcupados').val();
	
	$.ajax({
		  type: "POST",				  
		  url: "../edificiosver/restaEdificiosVer",
		  data:  {edificiosSeleccionados:formaArrayJson(edificiosSeleccionados)},
		  success: function(data4){					 
			  	!$('#edificiosOcupados option:selected').remove().appendTo('#edificiosLibres'); 
			  },
		  error: function() {
			  mensajeError("<p><strong>" +  $.rup.i18n.app.accionesRegistros.errorBorrar + "</strong></p>");
		  },
		  dataType: "json"
		});
	
	
}

/****************************************************************************/
/**************************** FIN VER EDIFICIOS *****************************/
/****************************************************************************/


/****************************************************************************/
/**************************** CARGAR LA TABLA *******************************/
/****************************************************************************/

function replaceHtml(el, html) {
	var oldEl = typeof el === "string" ? document.getElementById(el) : el;
	/*@cc_on // Pure innerHTML is slightly faster in IE
		oldEl.innerHTML = html;
		return oldEl;
	@*/
	var newEl = oldEl.cloneNode(false);
	newEl.innerHTML = html;
	oldEl.parentNode.replaceChild(newEl, oldEl);
	/* Since we just removed the old element from the DOM, return a reference
	to the new element, which can be used to restore variable references. */
	return newEl;
};

function irAPag(e){
	 if (e.keyCode == 13) {
		 //Al pulsar en Intro ir a la página seleccionada. Si es mayor que el número todal de paginas se va a la última
		 if ($("#posHojas").val()>paginacion.total){
			 $("#posHojas").val(paginacion.total);
		 }
		 e.preventDefault();
		 cargarTabla( $("#posHojas").val());
	 }
}
var paginacion = {page:null, records:null, total:null};
function cargarTabla(numPagina){
	$("#dialogoEspera").show();		
	$("#nohayRegistros").hide();
	$("#botonesPaginacion").show();
	
	//var strTable = "<table id=mitabla class='tablaPrevAnual'>";
	var strTable = new Array(),	z=-1, html;
	strTable[++z] = "<table id=mitabla class='tablaPrevAnual'>";

	var anioFiltro= $("#anio_search").val();
	var maquinaFiltro= $("#maquina_search").val();
	var zonaFiltro= $("#idZona").val();
	var gamaFiltro= $("#idGama").val();
	var plantaFiltro= $("#idPlanta").val();
	var edificioFiltro= $("#edificioFiltro").val();
	var territorioFiltro= $("#territorioCombo").val();
	var contrataFiltro= $("#contrataCombo").val();
	
	var estadoFiltro= $("#comboSituacion").val();
	
	var bajaFiltro = 0; 
	if($("#idIncluirBaja_search").is(':checked')){
		bajaFiltro =1;
	}
	
	
	var claseFiltro = $("#idclase").val();
	
	if (claseFiltro == "") {
		claseFiltro = claseUsuario;
	}

	$.ajax({
		  type: "POST",
		  url: "../maquinas/obtenerPrevAnual",
		  data:  { anioFiltro:anioFiltro, maquinaFiltro:maquinaFiltro, zonaFiltro:zonaFiltro, plantaFiltro:plantaFiltro, gamaFiltro:gamaFiltro, bajaFiltro:bajaFiltro, territorioFiltro:territorioFiltro,contrataFiltro:contrataFiltro, numPagina:numPagina, estadoFiltro:estadoFiltro, claseFiltro:claseFiltro },
		  success: function(dataEntrada){
			  if (dataEntrada==null){
				  $("#dialogoEspera").hide();			
				  $("#noHayRegistros").show();
				  $("#botonesPaginacion").hide();
				  return;
			  }
			  var data=dataEntrada.rows;
			  paginacion.page=parseInt (dataEntrada.page);
			  paginacion.records=parseInt (dataEntrada.records);
			  paginacion.total=parseInt (dataEntrada.total);
			  //$("#numHojas").html(paginacion.page+"/"+paginacion.total);
			  $("#posHojas").val(paginacion.page);
			  
			  if ($.rup_utils.capitalizedLang() =="Es") {	
				  $("#posHojasD").html($.rup.i18n.app.paginacion.pagDesde);
				  $("#posHojasH").html($.rup.i18n.app.paginacion.pagHasta + paginacion.total);
			  }else{
				  $("#posHojasD").html(paginacion.total + $.rup.i18n.app.paginacion.pagDesde);
				  $("#posHojasH").html( $.rup.i18n.app.paginacion.pagHasta);
			  }
			  
			  $("#posHojas").val(paginacion.page);

			  //creamos la fila mes al que corresponde la semana
			    //var row = $('<tr></tr>').addClass('tablaPrevAnualTD').text("--");
			    strTable[++z] =  "<tr class='tablaPrevAnualTD'>";
			    strTable[++z] =  "<td class='tablaPrevAnualTD'>--</td>";
			    strTable[++z] =  "<td class='tablaPrevAnualTD'>--</td>";
			    for (var a=0 ; a<54; a++) {
			    	var strMesDeSemana= mesDeSemana(a,anioFiltro );
			    	strTable[++z] =  "<td class='tablaPrevAnualTD'>";
			    	strTable[++z] =  strMesDeSemana;
			    	strTable[++z] =  "</td>";
			    }
			    strTable[++z] =  "</tr>";

			  //creamos la fila de números de semana
			    
			    strTable[++z] =  "<tr class='tablaPrevAnualTD'>";
			    strTable[++z] =  "<td class='tablaPrevAnualTD'>"+$.rup.i18n.app.planGeneral.codigo+"</td>";
			    strTable[++z] =  "<td class='tablaPrevAnualTD'>"+$.rup.i18n.app.planGeneral.descmaquina+"</td>";

			    for (var a=0; a<54; a++) {
			    	
			    	var str = a<10? "0"+a : a;
			    	 strTable[++z] = "<td class='tablaPrevAnualTD'>";
			    	 strTable[++z] = str;
			    	 strTable[++z] = "</td>";
			    }
			    strTable[++z] =  "</tr>";

			    //Añadimos una linea en blanco
			    strTable[++z] =  "<tr class='tablaPrevAnualTD'>";
			    strTable[++z] =  "<td class='tablaPrevAnualTD'>--</td>";
			    strTable[++z] =  "</tr>";
			    
			    var src = '';
				  var sTituloAbriMaquina=$.rup.i18n.app.prevAnual.abrirMaquina;
				  var sTituloCrearPartePrev=$.rup.i18n.app.prevAnual.crearPartePrev;
				  var sSemana=$.rup.i18n.app.prevAnual.semana;
				  
				  var rutaStaticos=$.rup.APP_STATICS;
				  
					var idMaquinaHTML = "";
					var cMaquinaHTML = "";
					var codigoMaquinaHTML = "";
					var arrayValor = null;
					var arrayTitulos = null;
					var arrayColorFondo = null;
					var NoEsPrimero = false;

					
			    //añadimos un registro por cada máquina
				for (var i=0; i<data.length; i++) {
					// viene un registro por cada fecha encontrada (SIGMTO de la tabla MAQUINAS, fichaFeeje de la tabla FICHAS, parteFeeje de la tabla PARTES)
					// Solo hay que generar una linea por cada máquina.
					if (!NoEsPrimero) {
						// Inicializar array de Valor y titulos de las semanas
						arrayValor = new Array(54);
						arrayTitulos = new Array(54);
						arrayColorFondo = new Array(54);
					}
					// Si no es el primer registro y la máquina del registro
					// anterior es
					// diferente del registro actual generamos el html
					if (NoEsPrimero && data[i].idmaquina!=idMaquinaHTML) {
						// Añadimos el nombre de la máquina
						strTable[++z] =  "<tr class='tablaPrevAnualTD'>";
						strTable[++z] =  "<td class='tablaPrevAnualTD'>";
						strTable[++z] =  codigoMaquinaHTML;
						strTable[++z] =  "</td>";
						strTable[++z] =  "<td class='tablaPrevAnualTD'>";
						strTable[++z] =  cMaquinaHTML;
						strTable[++z] =  "</td>";

						// Añadimos los valores por semana
						var sTitulo = "";
						var sValor = "";
						var sClaseTD = "";
						for (var a = 0; a < 54; a++) {
							if (data[i].semanaActual==a) {
								// Si la semana es la semana actual pintamos de amarillo

								if (arrayTitulos[a] == null) {
									sTitulo = sSemana + a + " -- " + cMaquinaHTML; 
								} else {
									sTitulo = arrayTitulos[a];
								}
								sValor = "";
								if (arrayValor[a] != null) {
									sValor = arrayValor[a];
								}
								sClaseTD = "tablaPrevAnualTDSAct";
							} else {
								if (arrayTitulos[a] == null) {
									sTitulo = sSemana + a + " -- " + cMaquinaHTML;
								} else {
									sTitulo = arrayTitulos[a];
								}
								sValor = "";
								if (arrayValor[a] != null) {
									sValor = arrayValor[a];
								}
								sClaseTD = "tablaPrevAnualTD";
							}
							//strTable += "<td " + arrayColorFondo[a] + " class='" + sClaseTD + "' onclick='clickCelda()' title='"
							//		+ sTitulo + "' id='" + idMaquinaHTML + "@" + a + "'>" + sValor + "</td>"; // id formato (Numero de máquina @ semana)
							strTable[++z] = "<td ";
							strTable[++z] = arrayColorFondo[a];
							strTable[++z] = " class='";
							strTable[++z] = sClaseTD;
							strTable[++z] = "' onclick='clickCelda()' title='";
							strTable[++z] = sTitulo;
							strTable[++z] = "' id='";
							strTable[++z] = idMaquinaHTML;
							strTable[++z] = "@";
							strTable[++z] = a;
							strTable[++z] = "'>";
							strTable[++z] = sValor;
							strTable[++z] = "</td>"; // id formato (Numero de máquina @ semana)
						}
						strTable[++z] =  "</tr>";
						// Inicializar array de Valor y titulos de las semanas
						arrayValor = new Array(54);
						arrayTitulos = new Array(54);
						arrayColorFondo = new Array(54);
						
					}

					// Añadimos los valores por semana
					for (var a = 0; a < 54; a++) {
						var sem = "S" + a;
						//String sValor = (String) datosMaquina.get(sem);
						var sDatoSemana ="data[" + i + "]."+ sem;
						var sValor = eval(sDatoSemana) ;
						
						if (sValor != "") {
							// sValor = datosMaquina.get("tabla").toString();
							// comprobamos si ya existe para esa semana una acción
							// (Ficha, planificacion)
							var sLetra="";
							if (arrayValor[a] == null) {
								if (data[i].fichaSituacion =="O"){
									arrayValor[a]="O";
									
									sLetra="O";
								}else if (data[i].fichaSituacion =="R"){
									arrayValor[a]="R";
									sLetra="R";
								}else{
									arrayValor[a] = data[i].tabla;
									sLetra=data[i].tabla;
								}
								
								var strOperacion  = "data[" + i + "].OPERACION";
								var strSemana = eval("data[" + i + "]."+ sem);
								arrayTitulos[a] = sSemana + a + ", "
										+ data[i].cmaquina + "\n"
										+ sLetra + ": "  
										+  strSemana + " - " + eval(strOperacion)
										+ "\n";
								if (data[i].ejecutadoFicha != null
										&& data[i].ejecutadoFicha =="1") {
									arrayColorFondo[a] = "style='background-color: #4afd92;'"; // Amarillo
								} else if (data[i].ejecutadoParte != null
										&& data[i].ejecutadoParte=="1") {
									arrayColorFondo[a] = "style='background-color: #737ff8;'"; // Azul
								} else {
									arrayColorFondo[a] = ""; // Nada
								}
								
							} else {
								// Metemos una X y el titulo añadimos la nueva fecha
								var strOperacion  = "data[" + i + "].OPERACION";
								var strSemana = eval("data[" + i + "]."+ sem);
								if (data[i].fichaSituacion =="O"){
									arrayValor[a]="O";
									sLetra="O";
								}else if (data[i].fichaSituacion =="R"){
									arrayValor[a]="R";
									sLetra="R";
								}else{
									arrayValor[a] = data[i].tabla;
									sLetra=data[i].tabla;
								}
								var valorAnterior = arrayTitulos[a];
								arrayTitulos[a] = valorAnterior + " "
										+ sLetra + ": "
										+ strSemana + " - " + eval(strOperacion) 
										+ "\n";
							}
						}
					}		
					
					// Si se trata del último registro generamos el html
					// directamente
					if (i == data.length - 1) {
						// Añadimos el nombre de la máquina
						strTable[++z] = "<tr class='tablaPrevAnualTD'>";
						strTable[++z] = "<td class='tablaPrevAnualTD'>";
						strTable[++z] = data[i].mcodigo;
						strTable[++z] = "</td>";
						strTable[++z] = "<td class='tablaPrevAnualTD'>";
						strTable[++z] = data[i].cmaquina;
						strTable[++z] = "</td>";


						// Añadimos los valores por semana
						var sTitulo = "";
						var sValor = "";
						var sClaseTD = "";
						for (var a = 0; a < 54; a++) {
							if (data[i].semanaActual==a ) {
								// Si la semana es la semana actual pintamos de  amarillo

								if (arrayTitulos[a] == null) {
									sTitulo = sSemana + a + " -- " + data[i].cmaquina;
								} else {
									sTitulo = arrayTitulos[a];
								}
								sValor = "";
								if (arrayValor[a] != null) {
									sValor = arrayValor[a];
								}
								sClaseTD = "tablaPrevAnualTDSAct";
							} else {
								if (arrayTitulos[a] == null) {
									sTitulo = sSemana + a + " -- " + data[i].cmaquina;
								} else {
									sTitulo = arrayTitulos[a];
								}
								sValor = "";
								if (arrayValor[a] != null) {
									sValor = arrayValor[a];
								}
								sClaseTD = "tablaPrevAnualTD";
							}
							//strTable += "<td " + arrayColorFondo[a] + " class='" + sClaseTD + "' onclick='clickCelda()' title='"
							//		+ sTitulo + "' id='" + data[i].idmaquina + "@" + a + "'>" + sValor + "</td>"; // id formato (Numero de máquina @ semana)
							strTable[++z] = "<td ";
							strTable[++z] = arrayColorFondo[a];
							strTable[++z] = " class='";
							strTable[++z] = sClaseTD;
							strTable[++z] = "' onclick='clickCelda()' title='";
							strTable[++z] = sTitulo;
							strTable[++z] = "' id='";
							strTable[++z] = data[i].idmaquina;
							strTable[++z] = "@";
							strTable[++z] = a;
							strTable[++z] = "'>";
							strTable[++z] = sValor;
							strTable[++z] = "</td>"; // id formato (Numero de máquina @ semana)
						}
						strTable[++z] =  "</tr>";
						// Inicializar array de Valor y titulos de las semanas
						arrayValor = new Array(54);
						arrayTitulos = new Array(54);
						arrayColorFondo = new Array(54);
					}
					// Recojo el id de la maquina
					idMaquinaHTML = data[i].idmaquina;
					cMaquinaHTML = data[i].cmaquina;
					codigoMaquinaHTML = data[i].mcodigo;
					NoEsPrimero = true;					
					
			    	
			  }
					
				strTable[++z] =  "</table>";  
				html = strTable.join('');
				$("#dialogoEspera").hide();				
				//$('#here_table').html(strTable);
				replaceHtml(document.getElementById("here_table"),html);
				$('.tablaPrevAnualTD [title]').tooltip({
					hide: { 
						event: 'click',
						inactive: 3000 
					},
					show: {
						solo: true
					}
				});
				
				$('.tablaPrevAnualTDSAct [title]').tooltip({show:{modal:true}});
				$('#mitabla td').click(clickCelda);
				
		  },
			 error: function(data){
				 alert( data);
				 $("#dialogoEspera").hide();
			 },
		  dataType: "json"
		});
	


}

function clickCelda(){
	
}


function primera(){
	if (paginacion.page>1){
		cargarTabla(1);
	}
}
function anterior(){
	if (paginacion.page>1){
		cargarTabla(paginacion.page-1);
	}
}
function siguiente(){
	if (paginacion.page<paginacion.total ){
		cargarTabla(paginacion.page+1);
	}
}
function ultima(){
	if (paginacion.page<paginacion.total ){
		cargarTabla(paginacion.total);
	}
}

/****************************************************************************/
/****************************FIN CARGAR TABLA **** **************************/
/****************************************************************************/

/****************************************************************************/
/****************************Tratamiento de Fechas **************************/
/****************************************************************************/

function mesDeSemana(sSemana, anioActual){
	var dateVar = "01/01/" + anioActual ; //1 de enero del año seleccionado.
	
	//añadir 7*semanas al dInicioAño
	var numDias =7*sSemana;
	var fechaSemana = nuevaFecha(dateVar,"+"+numDias);
	
	//Obtiene el lunes de esa fecha
	var miDate=$.datepicker.parseDate( "dd/mm/yy", fechaSemana );
	var numDiasLunes =miDate.getDay()-1;
	var lunesNuevaFecha = nuevaFecha(fechaSemana,numDiasLunes);
	
	//Cogemos el mes que corresponde al lunes de la fecha ()
	 var arrayFecha = lunesNuevaFecha.split('/');
	 var mes = arrayFecha[1];
	 
	return mesLetra(mes);
}

function mesLetra(mes){
	switch (mes) {
    case "01":
        return $.rup_utils.capitalizedLang() =="Es"?"E":"U";
        break;
    case "02":
        return $.rup_utils.capitalizedLang() =="Es"?"F":"O";
        break;
    case "03":
        return $.rup_utils.capitalizedLang() =="Es"?"M":"M";
        break;
    case "04":
        return $.rup_utils.capitalizedLang() =="Es"?"A":"A";
        break;
    case "05":
        return $.rup_utils.capitalizedLang() =="Es"?"M":"M";
        break;
    case "06":
        return $.rup_utils.capitalizedLang() =="Es"?"Jn":"E";
        break;
    case "07":
        return $.rup_utils.capitalizedLang() =="Es"?"Jl":"U";
        break;
    case "08":
        return $.rup_utils.capitalizedLang() =="Es"?"A":"A";
        break;
    case "09":
        return $.rup_utils.capitalizedLang() =="Es"?"S":"I";
        break;
    case "10":
        return $.rup_utils.capitalizedLang() =="Es"?"O":"U";
        break;
    case "11":
        return $.rup_utils.capitalizedLang() =="Es"?"N":"Az";
        break;
    case "12":
        return $.rup_utils.capitalizedLang() =="Es"?"D":"Ab";
        break;
} 
	
}
//Función que calcula una nueva fecha a partir de una inicial, y un intervalo.
//Parámetros: fecha = fecha inicial en formato dd/mm/yyyy.
//          intervalo = intervalo a sumar o restar a la fecha inicial, en formato +d o -d (d = cantidad de días).
//Retorno: true o false.
function nuevaFecha(fecha, intervalo) {
	var intervalo2=intervalo+"";
	 var arrayFecha = fecha.split('/');
	 var interv = intervalo2.substring(1, intervalo2.length);
	 var operacion = intervalo2.substring(0, 1);
	 var dia = arrayFecha[0];
	 var mes = arrayFecha[1];
	 var anio = arrayFecha[2];
	 var fechaInicial = new Date(anio, mes - 1, dia);
	 var fechaFinal = fechaInicial;
	  
	 var miIntervalo =  parseInt(intervalo);
	 if (operacion == "+")
	     fechaFinal.setDate(fechaInicial.getDate() + miIntervalo);
	 else
	     fechaFinal.setDate(fechaInicial.getDate() - miIntervalo);
	  
	 dia = fechaFinal.getDate();
	 mes = fechaFinal.getMonth() + 1;
	 anio = fechaFinal.getFullYear();
	
	 dia = (dia.toString().length == 1) ? "0" + dia.toString() : dia;
	 mes = (mes.toString().length == 1) ? "0" + mes.toString() : mes;
	
	 return dia + "/" + mes + "/" + anio;
};

/****************************************************************************/
/****************************FIN Tratamiento de Fechas **********************/
/****************************************************************************/

/*function muestraMenu(){
	$("#aa20bMaqPartesWar_menu").show();
	//$("#contentMV").css("margin-left", "15em");
	$("#bt_ocultaMenu").show();
	$("#bt_muestraMenu").hide();
}
function ocultaMenu(){
	$("#aa20bMaqPartesWar_menu").hide();
	//$("#contentMV").css("margin-left", "1em");
	$("#bt_ocultaMenu").hide();
	$("#bt_muestraMenu").show();
}*/
function imprimeProgAnual(){

	//Enviar el formulario de busqueda a la funcion de imprimir
	
	//Pasar los filtros al formulario filtroPendientesForm
	pasarFiltros();
	$("#filtroPrevAnualForm").attr("action","../maquinas/imprimirProgAnual");
	
	$("#filtroPrevAnualForm").attr("method","GET");
	$("#filtroPrevAnualForm").attr("target","_blank");
	 //Se envia el formulario con el idmaquina y el idficha
	$("#filtroPrevAnualForm").submit();

}

function imprimeProgAnual_itext(){

	//Imprimir pdf con librería de ITEXTPDF
	//Pasar los filtros al formulario filtroPendientesForm
	pasarFiltros();
	$("#filtroPrevAnualForm").attr("action","../maquinas/imprimirProgAnual_itext");
	
	$("#filtroPrevAnualForm").attr("method","GET");
	$("#filtroPrevAnualForm").attr("target","_blank");
	 //Se envia el formulario con el idmaquina y el idficha
	$("#filtroPrevAnualForm").submit();

}

function imprimePrevAnualEdif(){

	//Enviar el formulario de busqueda a la funcion de imprimir
	//Pasar los filtros al formulario 
	pasarFiltros();
	$("#filtroPrevAnualForm").attr("action","../maquinas/imprimirPrevAnualEdif");
	
	$("#filtroPrevAnualForm").attr("method","GET");
	$("#filtroPrevAnualForm").attr("target","_blank");
	 //Se envia el formulario con el idmaquina y el idficha
	$("#filtroPrevAnualForm").submit();

}


function imprimePrevAnualEdif_itext(){
	//Imprimir pdf con librería de ITEXTPDF

	//Pasar los filtros al formulario 
	pasarFiltros();
	$("#filtroPrevAnualForm").attr("action","../maquinas/imprimirPrevAnualEdif_itext");
	
	$("#filtroPrevAnualForm").attr("method","GET");
	$("#filtroPrevAnualForm").attr("target","_blank");
	 //Se envia el formulario con el idmaquina y el idficha
	$("#filtroPrevAnualForm").submit();

}
function imprimePrevAnualGamas(){

	//Enviar el formulario de busqueda a la funcion de imprimir
	//Pasar los filtros al formulario 
	pasarFiltros();
	$("#filtroPrevAnualForm").attr("action","../maquinas/imprimirPrevAnualGamas");
	
	$("#filtroPrevAnualForm").attr("method","GET");
	$("#filtroPrevAnualForm").attr("target","_blank");
	 //Se envia el formulario con el idmaquina y el idficha
	$("#filtroPrevAnualForm").submit();

}


function pasarFiltros(){
	
	$("#idzona_imprimir").val($("#idZona").val());
	if ($("#idZona").val()!=""){
		$("#zona_imprimir").val($("#comboZonas").rup_combo("label"));	
	}
	$("#idplanta_imprimir").val($("#idPlanta").val());	
	if ($("#idPlanta").val()!="" ){
		$("#planta_imprimir").val($("#comboPlantas").rup_combo("label"));
	}
	$("#idgama_imprimir").val($("#idGama").val());
	if($("#idGama").val()!=""){
		$("#gama_imprimir").val($("#comboGamas").rup_combo("label"));
	}
	
	$("#idclase_imprimir").val($("#idclase").val());
	if ($("#idclase_imprimir").val() == "") {
		$("#idclase_imprimir").val(claseUsuario);
	}
	
	$("#anio_imprimir").val($("#anio_search").val());
	$("#maquina_imprimir").val($("#maquina_search").val());
	$("#territorioCombo_imprimir").val($("#territorioCombo").val());
	if ($("#territorioCombo_imprimir").val()!="" ){
		$("#territorio_imprimir").val($("#territorioCombo").rup_combo("label"));
	}
	if ($("#comboSituacion").val()=="R") {
		$("#comboSituacion_imprimir").val("1");
		$("#situacion_imprimir").val($("#comboSituacion").rup_combo("label"));
	} else if ($("#comboSituacion").val()=="P") {
		$("#comboSituacion_imprimir").val("0");
		$("#situacion_imprimir").val($("#comboSituacion").rup_combo("label"));
	}
	if ($("#contrataCombo").val()=="1") {
		$("#contrataCombo_imprimir").val("1");
		$("#contrata_imprimir").val($("#contrataCombo").rup_combo("label"));
	}else if ($("#contrataCombo").val()=="0") {
		$("#contrataCombo_imprimir").val("0");
		$("#contrata_imprimir").val($("#contrataCombo").rup_combo("label"));
	}

	if($("#idIncluirBaja_search").is(':checked')){
		$("#idIncluirBaja_imprimir").val(1);
	}
	
}

/****************************************************************************/
/****************************Formulario de Busqueda **********************/
/****************************************************************************/
function abrirBusqueda(){
	
	$("#lupaBusqueda").rup_dialog("destroy");
	$("#lupaBusqueda").rup_dialog({      
		type: jQuery.rup.dialog.DIV,
		modal:true,
        height:300,
        width:700,  
        resizable:false,
        title:"Busqueda",
        autoOpen:true,
        showLoading:true,
        async:false, 
        zIndex: -1,
        buttons:[{
	        	id: "aceptarlupaBusqueda",
	        	text: $.rup.i18n.base.rup_global.aceptar,
	        	click: function() {
    	        		cargarTabla(1);		
    	        		$("#lupaBusqueda").rup_dialog("close");
	        		}
        	},

	        {
	    		id: "cerrarlupaBusqueda",
	    		text: $.rup.i18n.base.rup_global.cancelar,
	        	click: function() {
	        		$("#lupaBusqueda").rup_dialog("close");
	        	},
	        	btnType:$.rup.dialog.LINK
        	}]
      });
	
	$("#maquina_search").val("");
	$("#idZona").val("");
	$("#idPlanta").val("");
	$("#idGama").val("");
	$("#idclase").val("");
	//$("#comboGamas").rup_combo("reload");
}
/****************************************************************************/
/****************************FIN Formulario de Busqueda *********************/
/****************************************************************************/

/********************************* FEEDBACK MENSAJES OK  ****************************************************************/

function mensajeInfo (texto) {
	 var properties = {
				type: "ok",
				fadeSpeed: 600,
				gotoTop: false,
				block: false,
				closeLink: false
			};
		$("#feedbackPrevisionAnual").rup_feedback (properties);

		$("#feedbackPrevisionAnual").rup_feedback("set", texto);

		$("#feedbackPrevisionAnual").rup_feedback("show");
}


/* Error */
function mensajeError (texto) {
	 var properties = {
				type: "error",
				fadeSpeed: 600,
				gotoTop: false,
				block: false,
				closeLink: false
			};
	
		$("#feedbackPrevisionAnual").rup_feedback (properties);

		$("#feedbackPrevisionAnual").rup_feedback("set", texto);

		$("#feedbackPrevisionAnual").rup_feedback("show");
}
/********************************* FIN FEEDBACK MENSAJES OK  ****************************************************************/

function openHelp(){
    crearAyuda($.rup.i18n.app.ayudaPrevAnual,"ayuda_feedback");
}
