jQuery(function($){
	$("#dialogoEspera").hide();		
	//$("#aa20bMaqPartesWar_menu").hide();
	$("#contentMV").css("margin-left", "1em");
	
	/*$("#bt_ocultaMenu").hide();
	$("#bt_muestraMenu").bind("click", muestraMenu);
	$("#bt_ocultaMenu").bind("click", ocultaMenu);*/
	$("#bt_imprime").bind("click", imprime);
	$("#bt_busqueda").bind("click", buscar);
	$("#bt_edificiosVer").bind("click", edificiosVer);
	$("#bt_tecnicosPlan").bind("click", tecnicosPlan);

	$("#comboPlantas").rup_combo({
		source: "../partes/plantas/combo/remote",
		sourceParam: {label:obtenerIdiomaCombo() + "planta", value:"idplanta"},
		selected: "0",
		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: "0",
		select : function() { 
			$("#idZona").val($("#comboZonas").val());
		},
		width: 200,
		blank: "",
		style : "dropdown"										
	});
	//Gamas
	$("#comboGamas").rup_combo({
		source: "../maquinas/gamas/combo/remote",
		sourceParam: {label:obtenerIdiomaCombo()+"gama", value:"idgama"},
		width: 300,
		menuWidth:350,
		blank: "",
		selected:"",
		select: function(){
			//asignar el valor seleccionado al campo del formulario que actualiza el valor
			$("#idGama").val($("#comboGamas").rup_combo("value"));
		},
		style : "dropdown"										
	});
	//Clase
	$("#comboClase").rup_combo({
		source: "../maquinas/clase/combo/remote",
		sourceParam: {label:obtenerIdiomaCombo()+"clase", value:"idclase"},
		width: 300,
		menuWidth:350,
		blank: "",
		selected:"",
		select: function(){
			//asignar el valor seleccionado al campo del formulario que actualiza el valor
			$("#idclase").val($("#comboClase").rup_combo("value"));
		},
		style : "dropdown"										
	});
	//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"	
	});
	//Se Crea el combo de seleccion de Correctivo/Preventivo
	$('#comboTipoMant').rup_combo({
		source : [
				{i18nCaption: $.rup.i18n.app.comboTipoMant.correctivo, value:"C"},
				{i18nCaption: $.rup.i18n.app.comboTipoMant.preventivo, 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"){
		//Cargamos la tabla
		cargarTablaServidor();
	}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/planGeneral";	
	
}
	

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() {
	        		//cargarTablaServidor();
	        		$("#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++) {
                    	miselect.append('<option value="' + data[i].idtecnico + '">' + 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++) {
                  	miselect.append('<option value="' + data[i].idtecnico + '">' + 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() {
	        		cargarTablaServidor();
	        		$("#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 cargarTablaServidor(){
	$("#dialogoEspera").show();		
	
	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 bajaFiltro = 0; 
	if($("#idIncluirBaja_search").is(':checked')){
		bajaFiltro =1;
	}
	
	$.ajax({
		  type: "POST",
		  url: "../maquinas/obtenerPlanGeneralServ",
		  data:  { anioFiltro:anioFiltro, maquinaFiltro:maquinaFiltro, zonaFiltro:zonaFiltro, plantaFiltro:plantaFiltro, gamaFiltro:gamaFiltro, bajaFiltro:bajaFiltro },
		  success: function(data){

				$("#dialogoEspera").hide();				
			    
				$('#here_table').html(data);
				
				$('.tablaPlanGeneralTD [title]').rup_tooltip();
				
				$('.tablaPlanGeneralTDSAct [title]').rup_tooltip();
				$('#mitabla td').click(clickCelda);
		  },
			 error: function(data){
				 alert( data);
				 $("#dialogoEspera").hide();
			 },
		  dataType: "json"
		});
}
function clickCelda(){
	var cid =null;
    var cid = $(this).attr('id');
    if (cid==null){
    	
    }else{
	    //cid=id de la celda formado por idmaquina @ semana
	    var cval = $(this).text();
	    if (cval == ""){
	    	//Si la celda está vacia se actualizan la fecha de primer mto y la fecha de siguiente mantenimiento sumando al 1 de Enero del año en curso el número de semana de la celda.
	    	var seleccion = cid.split('@');
	    	var numMaquina= seleccion[0];
	    	var numSemana = seleccion[1];
	    	
    		$.rup_messages("msgConfirm", {
    			title: $.rup.i18nParse($.rup.i18n.app,"planGeneral.planGeneral"),			
    			message: $.rup.i18nParse($.rup.i18n.app,"planGeneral.avisoModifFechasMto"),
    			OKFunction: function(){
    		    	$.ajax({
    			  		  type: "POST",
    			  		  url: "../maquinas/actualizarFechasMto",
    			  		  data:  { numMaquina:numMaquina, numSemana:numSemana},
    			  		  success: function(data){
    			  			  cargarTablaServidor();
    			  		  },
    			  			 error: function(data){
    			  				 alert( data);
    			  			 },
    			  		  dataType: "json"
    			  		});
    			},
    			CANCELFunction : function(){
    			}
    			});
    		

	    } 
	    // cval=valor de la celda
	     
    }
     
}



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

/*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 imprime(){
	alert ("Imprimir");
}
function btn_abrirMaquina(idMaquina){
	
	// enviamos el form alternativo con el idMaquina para la busqueda
	buscaMaquinaForm.idMaquinaBusc.value = idMaquina;
	buscaMaquinaForm.submit();
	
}
function btn_crearPartePrev(idMaquina){
	// Primero comprobar si tiene ficha de primer mantenimiento. 
	var mantTec = "1";
	if($("#tecnicosAsigAnt").is(':checked')){
		manTec = "1";
	}else{
		manTec = "0";
	}
	$.ajax({
		  type: "POST",
		  url: "../maquinas/comprobarFechaPrimerMto",
		  data:  { idMaquina:idMaquina},
		  success: function(data1){
			  if (data1){
				  //Tiene fecha de primer mantenimiento. Se puede crear la ficha
				  $.ajax({
					  type: "POST",
					  url: "../maquinas/crearParteAutomatico",
					  data:  { idMaquina:idMaquina, mantTec: mantTec},
					  success: function(data){
						  //Si ha ido bien comprobar si tiene la marca de imprimir parte al crear
						  if($("#imprimirParte").is(':checked')){
								// obtener el pdf del parte creado.
								$("#idficha").val(data.idficha);
								$("#idmaquina_ficha").val(idMaquina);
								 //Se envia el formulario con el idmaquina y el idficha
								$("#filtroFichasForm").submit();
						  }else{
							  //Mensaje de que se ha generado bien el parte preventivo
				        		$.rup_messages("msgOK", {
				        			title: $.rup.i18nParse($.rup.i18n.app,"planGeneral.planGeneral"),			
				        			message: $.rup.i18nParse($.rup.i18n.app,"planGeneral.PartePrevCreado")
				        			});
						  }
						  //Recargamos la tabla para que se muestren los cambios
						  cargarTablaServidor();
					  },
					  error: function(data){
						  alert("Error");
						 },
					  dataType: "json"
					});
			  }else{
				  //No tiene fecha de primer mantenimiento. Sacamo mensaje y no se crea la ficha
	        		$.rup_messages("msgAlert", {
	        			title: $.rup.i18nParse($.rup.i18n.app,"planGeneral.planGeneral"),			
	        			message: $.rup.i18nParse($.rup.i18n.app,"planGeneral.avisoSinFechaMant")
	        			});
			  }
		  },
		  error: function(data){
			  alert("Error");
			 },
		  dataType: "json"
		});
	
	

}

/****************************************************************************/
/****************************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() {
	        		//Comprobar si ha seleccionado algún filtro. En caso negativo avisar de que la consulta puede tardar
	        		if (  $("#maquina_search").val()=="" && $("#comboZonas").val()=="0" && $("#comboPlantas").val()=="0" && $("#comboGamas").val()==""  && $("#comboSituacion").val()=="" && $("#comboTipoMant").val()=="" ){
		        		$.rup_messages("msgConfirm", {
		        			title: $.rup.i18nParse($.rup.i18n.app,"planGeneral.planGeneral"),			
		        			message: $.rup.i18nParse($.rup.i18n.app,"planGeneral.avisoSinFiltro"),
		        			OKFunction: function(){
		    	        		cargarTablaServidor();		
		    	        		$("#lupaBusqueda").rup_dialog("close");
		        			},
		        			CANCELFunction : function(){
		        			}
		        			});
	        		}else{
    	        		cargarTablaServidor();		
    	        		$("#lupaBusqueda").rup_dialog("close");
	        			
	        		}
	        		}
        	},

	        {
	    		id: "cerrarlupaBusqueda",
	    		text: $.rup.i18n.base.rup_global.cancelar,
	        	click: function() {
	        		$("#lupaBusqueda").rup_dialog("close");
	        	},
	        	btnType:$.rup.dialog.LINK
        	}]
      });
}
/****************************************************************************/
/****************************FIN Formulario de Busqueda *********************/
/****************************************************************************/

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

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

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

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


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

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

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

