var idioma=$.rup.lang;
var modo;
var codigoPrincipal;
jQuery(function($) {

	$("#tabsServiciosTiposFasesExp").rup_tabs({
		tabs : [
		        {i18nCaption:$.rup.i18n.app.comun.pestServicios, layer:"#datosLayerServicios"},
		        {i18nCaption:$.rup.i18n.app.comun.pestTipos, layer:"#datosLayerTiposExp"},
		        {i18nCaption:$.rup.i18n.app.comun.pestFases, layer:"#datosLayerFasesExp"},
	    ],
	    show: inicializarPestanas,
	    cache:false,
	    select: function(){
	    	//$("#Servicios2_feedback").rup_feedback("destroy");
	    	/*$("#Servicios2_feedback").rup_feedback({
	    		fadeSpeed: 600,
	    		delay:defaultDelay
	    		//block:true
	    	});*/
	    }
	   // fx: [{opacity:'toggle', height: ['toggle', 'swing'],
	   // 	duration:'normal'}, // hide option
	   // 	{opacity:'toggle', width: ['toggle', 'swing'],
	   // 	duration:'fast'}] // show option
	});

	jQuery("#Servicios").on("jqGridGridComplete", function() {
		$("#cserv02_filter_table").rup_combo("reload");
		$("#cserv01_filter_table").rup_combo("reload");
		$("#cserv02_detail_table").rup_combo("reload");
		$("#cserv01_detail_table").rup_combo("reload");
		});

	/**
	 * Función para que cuando seleccione/deseleccione un registro, este se marque en el 
	 * combo de servicios de la pestaña de tipos de expedientes
	 */
/*	jQuery("#Servicios").on("jqGridSelectRow", function(event, form, oper) {
		$("#Servicios").rup_table("setSelection", [form], oper);
		if(oper){
			$("#cserv02_filter_table").rup_combo("clear");
			$("#cserv01_filter_table").rup_combo("clear");

			//Se debe seleccionar el registro que acabamos de pinchar, ya que el getSelectedRows no considera que esta
			//seleccionado todavia
			var valActuales = $("#Servicios").rup_table("getSelectedRows");
			var valNuevos = [""];
			for(var i=0;i<valActuales.length;i++){
				if(valActuales != ""){
					valNuevos.push($("#Servicios").rup_table("getSelectedRows")[i]);
				}else{
					valNuevos = $("#Servicios").rup_table("getSelectedRows")[i];
				}
			}
			if(valActuales != ""){
				valNuevos.push(form);
			}else{
				valNuevos = [form];
			}
			$("#cserv01_filter_table").rup_combo("select", valNuevos);
			$("#cserv01_filter_table").val(valNuevos);
			$("#cserv02_filter_table").rup_combo("select", valNuevos);
			$("#cserv02_filter_table").val(valNuevos);
		}else{
			var valActual= $("#cserv02_filter_table").rup_combo("value");
			//Busco la posición del valor que se va a deseleccionar y después se la quito
			for(var i=0;i<valActual.length;i++){
				if(valActual[i] == form){
					valActual.splice(i,1);
				}
			}
			$("#cserv02_filter_table").rup_combo("refresh");
			$("#cserv02_filter_table").rup_combo("select",valActual);
			$("#cserv02_filter_table").val(valActual);
			$("#cserv01_filter_table").rup_combo("refresh");
			$("#cserv01_filter_table").rup_combo("select",valActual);
			$("#cserv01_filter_table").val(valActual);
			return true;
		}
	});*/

	/**
	 * Cuando selecciona/deselecciona todos los registros, función encargada de seleccionar los valores
	 * de servicios en el combo de la pantalla de Tipos de Expedientes
	 */
	$("#Servicios").on("jqGridSelectAll", function(event, $row, oper){
		if(oper){
			$("#cserv02_filter_table").rup_combo("select", $row);
			$("#cserv02_filter_table").val($row);
			$("#cserv01_filter_table").rup_combo("select", $row);
			$("#cserv01_filter_table").val($row);
		}else{
			$("#cserv02_filter_table").rup_combo("clear");
			$("#cserv01_filter_table").rup_combo("clear");
			$("#cserv02_filter_table").rup_combo("refresh");
			$("#cserv01_filter_table").rup_combo("refresh");
		}
		return true;
	});

	/**
	 * Función para que cuando seleccione/deseleccione un registro de la tabla de Tipos de expedientes, este se marque en el 
	 * combo de servicios de la pestaña de Fases de expedientes
	 */
	jQuery("#TiposExpedientes").on("jqGridSelectRow", function(event, form, oper) {
		$("#TiposExpedientes").rup_table("setSelection", [form], oper);
		if(oper){
			$("#ctipoe01_filter_table").rup_combo("clear");
			//Se debe seleccionar el registro que acabamos de pinchar, ya que el getSelectedRows no considera que esta 
			//seleccionado todavia

			//Al ser clave compuesta la variable form viene con los dos campos separados por "-", por lo que tenemos que obtener
			//el dato haciendo un substring desde el "-"
			//Recorro los registros seleccionados, voy recortando el valor de ctipoe02 y guardando en un array
			var valActuales = $("#TiposExpedientes").rup_table("getSelectedRows");
			var valNuevos = [""];
			for(var i=0;i<valActuales.length;i++){
				if(valActuales != ""){
					valNuevos.push($("#TiposExpedientes").rup_table("getSelectedRows")[i].substring($("#TiposExpedientes").rup_table("getSelectedRows")[i].indexOf("-")+1));
				}else{
					valNuevos = $("#TiposExpedientes").rup_table("getSelectedRows")[i].substring($("#TiposExpedientes").rup_table("getSelectedRows")[i].indexOf("-")+1);
				}
			}
			//Añado al array de los que ya estaban seleccionados el registro que ha seleccionado ahora 
			//recortando a partir de "-"
			//Después asigno los valores al combo
			var ctipoe02 = form.substring(form.indexOf("-")+1);
			if(valActuales != ""){
				valNuevos.push(ctipoe02);
			}else{
				valNuevos = [ctipoe02];
			}
			$("#ctipoe01_filter_table").rup_combo("select", valNuevos);
			$("#ctipoe01_filter_table").val(valNuevos);
		}else{
			var valActuales= $("#ctipoe01_filter_table").rup_combo("value");

			//Busco la posición del valor que se va a deseleccionar y después se la quito
			var ctipoe02 = form.substring(form.indexOf("-")+1);
			for(var i=0;i<valActuales.length;i++){
				if(valActuales[i] == ctipoe02){
					valActuales.splice(i,1);
				}
			}
			$("#ctipoe01_filter_table").rup_combo("refresh");
			$("#ctipoe01_filter_table").rup_combo("select",valActuales);
			$("#ctipoe01_filter_table").val(valActuales);
		}
		return true;
	});

	/**
	 * Cuando selecciona/deselecciona todos los registros de la tabla de Tipos de expedientes, función encargada de seleccionar los valores
	 * de servicios en el combo de la pantalla de Fases de expedientes
	 */
	$("#TiposExpedientes").on("jqGridSelectAll", function(event, $row, oper){
		if(oper){
			$("#ctipoe01_filter_table").rup_combo("select", $row);
			$("#ctipoe01_filter_table").val($row);
		}else{
			$("#ctipoe01_filter_table").rup_combo("clear");
			$("#ctipoe01_filter_table").rup_combo("refresh");
		}
		return true;
	});
	inicializar13();
	inicializar01();
	inicializar02();
	$("#jqgh_TiposExpedientes_cb").hide();
});

function inicializarPestanas(){
}

function handlerImprimirServTipoFase(tipo){
	//20170110 - INIGO
	//tipo -> 01: Servicios, 02: Tipos de expedientes, 13: Fases por tipo de expediente
	$('#icserv13').val("");
	$('#idserv13').val("");
	$('#ieserv13').val("");
	$('#isitu13').val("");
	$('#ictipoe02').val("");
	$('#ictrami02').val("");
	$('#idtipoe02').val("");
	$('#ictipoe02Text').val("");
	$('#ietipoe02').val("");
	$('#isitu02').val("");
	$('#icfase01').val("");
	$('#idfase01').val("");
	$('#icodPid01').val("");
	$('#itdocu01').val("");
	$('#iefase01').val("");
	$('#isitu01').val("");
	if (tipo == '01') {
		//if($("#FasesExpedientes").rup_table("getDataIDs").length > 0){
			$('#icserv13').val($('#cserv01_filter_table').val());
			$('#ictipoe02').val($('#ctipoe01_filter_table').val());
			$('#icfase01').val($('#cfase01_filter_table').val());
			$('#idfase01').val($('#dfase01_filter_table').val());
			$('#icodPid01').val($('#codPid01_filter_table').val());
			$('#itdocu01').val($('#tdocu01_filter_table').val());
			$('#iefase01').val($('#efase01_filter_table').val());
			$('#isitu01').val($('#situ01_filter_table').val());
			$("#frmImprimirServTipoFases").attr("action","../imprimirMantGenerales/imprimirServiciosTiposFases");
			$("#frmImprimirServTipoFases").attr("target","_blank");
			var form = document.forms["frmImprimirServTipoFases"];
			form.submit();
		//}else{
		//$.rup_messages("msgAlert", {message: $.rup.i18n.app.aa21b13s01.alertSeleccionServicio});
		//}
	} else if (tipo == '02') {
		//if($("#TiposExpedientes").rup_table("getDataIDs").length > 0){
			$('#icserv13').val($('#cserv02_filter_table').val());
			$('#ictipoe02').val($('#ctipoe02_filter_table').val());
			$('#ictrami02').val($('#ctrami02_filter_table').val());
			$('#idtipoe02').val($('#dtipoe02_filter_table').val());
			$('#ictipoe02Text').val($('#ctipoe02_filter_table').val());
			$('#ietipoe02').val($('#etipoe02_filter_table').val());
			$('#isitu02').val($('#situ02_filter_table').val());
			$("#frmImprimirServTipoFases").attr("action","../imprimirMantGenerales/imprimirServiciosTiposFases");
			$("#frmImprimirServTipoFases").attr("target","_blank");
			var form = document.forms["frmImprimirServTipoFases"];
			form.submit();
		//}else{
		//$.rup_messages("msgAlert", {message: $.rup.i18n.app.aa21b13s01.alertSeleccionServicio});
		//}
	} else if (tipo == '13') {
		//if($("#Servicios").rup_table("getDataIDs").length > 0){
			$('#icserv13').val($('#cserv13_filter_table').val());
			$('#idserv13').val($('#dserv13_filter_table').val());
			$('#ieserv13').val($('#eserv13_filter_table').val());
			$('#isitu13').val($('#situ13_filter_table').val());
			$("#frmImprimirServTipoFases").attr("action","../imprimirMantGenerales/imprimirServiciosTiposFases");
			$("#frmImprimirServTipoFases").attr("target","_blank");
			var form = document.forms["frmImprimirServTipoFases"];
			form.submit();
		//}else{
		//$.rup_messages("msgAlert", {message: $.rup.i18n.app.aa21b13s01.alertSeleccionServicio});
		//}
	} else {
		$.rup_messages("msgAlert", {message: $.rup.i18n.app.aa21b13s01.alertSeleccionServicio});
	}
};

function handlerExcelServTipoFase(tipo){
	//20170110 - INIGO
	//tipo -> 01: Servicios, 02: Tipos de expedientes, 13: Fases por tipo de expediente
	$('#icserv13').val("");
	$('#idserv13').val("");
	$('#ieserv13').val("");
	$('#isitu13').val("");
	$('#ictipoe02').val("");
	$('#ictrami02').val("");
	$('#idtipoe02').val("");
	$('#ictipoe02Text').val("");
	$('#ietipoe02').val("");
	$('#isitu02').val("");
	$('#icfase01').val("");
	$('#idfase01').val("");
	$('#icodPid01').val("");
	$('#itdocu01').val("");
	$('#iefase01').val("");
	$('#isitu01').val("");
	if (tipo == '01') {
		//if($("#FasesExpedientes").rup_table("getDataIDs").length > 0){
			$('#icserv13').val($('#cserv01_filter_table').val());
			$('#ictipoe02').val($('#ctipoe01_filter_table').val());
			$('#icfase01').val($('#cfase01_filter_table').val());
			$('#idfase01').val($('#dfase01_filter_table').val());
			$('#icodPid01').val($('#codPid01_filter_table').val());
			$('#itdocu01').val($('#tdocu01_filter_table').val());
			$('#iefase01').val($('#efase01_filter_table').val());
			$('#isitu01').val($('#situ01_filter_table').val());
			$("#frmImprimirServTipoFases").attr("action","../aa21bServiciosTiposFases/excelServiciosTiposFases");
			$("#frmImprimirServTipoFases").attr("target","_blank");
			$("#frmImprimirServTipoFases").submit();
		//}else{
		//	$.rup_messages("msgAlert", {message: $.rup.i18n.app.aa21b13s01.alertSeleccionServicio});
		//}
		
	} else if (tipo == '02') {
		//if($("#TiposExpedientes").rup_table("getDataIDs").length > 0){
			$('#icserv13').val($('#cserv02_filter_table').val());
			$('#ictipoe02').val($('#ctipoe02_filter_table').val());
			$('#ictrami02').val($('#ctrami02_filter_table').val());
			$('#idtipoe02').val($('#dtipoe02_filter_table').val());
			$('#ictipoe02Text').val($('#ctipoe02_filter_table').val());
			$('#ietipoe02').val($('#etipoe02_filter_table').val());
			$('#isitu02').val($('#situ02_filter_table').val());
			$("#frmImprimirServTipoFases").attr("action","../aa21bServiciosTiposFases/excelServiciosTiposFases");
			$("#frmImprimirServTipoFases").attr("target","_blank");
			$("#frmImprimirServTipoFases").submit();
		//}else{
		//	$.rup_messages("msgAlert", {message: $.rup.i18n.app.aa21b13s01.alertSeleccionServicio});
		//}
	} else if (tipo == '13') {
		//if($("#Servicios").rup_table("getDataIDs").length > 0){
			$('#icserv13').val($('#cserv13_filter_table').val());
			$('#idserv13').val($('#dserv13_filter_table').val());
			$('#ieserv13').val($('#eserv13_filter_table').val());
			$('#isitu13').val($('#situ13_filter_table').val());
			$("#frmImprimirServTipoFases").attr("action","../aa21bServiciosTiposFases/excelServiciosTiposFases");
			$("#frmImprimirServTipoFases").attr("target","_blank");
			$("#frmImprimirServTipoFases").submit();
		//}else{
		//	$.rup_messages("msgAlert", {message: $.rup.i18n.app.aa21b13s01.alertSeleccionServicio});
		//}
	} else {
		$.rup_messages("msgAlert", {message: $.rup.i18n.app.aa21b13s01.alertSeleccionServicio});
	}
}

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

function btn_abrirBusquedaJerarqTiposExp(valor){
	dialogoJerarqTiposExp.abrirDialogo(valor);
}
