/** *******************************************************************************
*	Fichero para el control JavaScript de los paquetes.
*
* @author Arturo Díaz
* @copyrigth RGD Solutions
* @since 22/12/2009
* @version 1.0.0.5
*
********************************************************************************** */

// ---- Variables globales
var paq_ruta_accion=paq_ruta_raiz+'modulos/paquetes/lib/accion.paquetes.php';
var paq_CAPA_FORM_PAQUETE='paq_CAPA_FORM_PAQUETE';
var paq_capa_tramos='paq_capa_tramos';
var paq_CAPA_FORM_PAQUETE_ACTIVIDAD='paq_CAPA_FORM_PAQUETE_ACTIVIDAD';
//var paq_CAPA_CASAS_CONTENIDO='paq_CAPA_CASAS_CONTENIDO';
var paq_CAPA_CASAS_CONTENIDO='psc_capa_casas_busqueda';
var paq_CAPA_FORM_PAQUETE_CALENDARIO='paq_CAPA_FORM_PAQUETE_CALENDARIO';
var paq_CAPA_FORM_PAQUETE_CASAS='paq_CAPA_FORM_PAQUETE_CASAS';
var paq_CAPA_FORM_PAQUETE_RESERVAS='paq_CAPA_FORM_PAQUETE_RESERVAS';
var paq_CAPA_VER_PAQUETE='paq_CAPA_VER_PAQUETE';
var paq_capa_CONTENIDO_GRUPO='paq_capa_CONTENIDO_GRUPO';
var paqO_capa_contenido_paquetes='paqO_capa_contenido_paquetes';
var paq_CAPA_FORM_PROVEEDOR='paq_CAPA_FORM_PROVEEDOR';
var paq_CAPA_FORM_PROVEEDOR_EDIT='paq_CAPA_FORM_PROVEEDOR_EDIT';

// ----- Funcion del onLoad
$(document).ready(function()
{
});


// ---- FUNCIONES ----
function paq_getHTMLCargando()
{
	return '<span style="font-family:Arial, Helvetica, sans-serif; font-size:11px; color:#0369c8;"><img src="'+paq_ruta_raiz+'modulos/oficinas_turismo/images/ajax-loader.gif" title="Cargando ...." border="0" align="absmiddle">&nbsp;Cargando .....</span>';
}

function paq_getParametrosGlobales()
{
	return	'&id_operador='+paq_id_operador+
			'&id_operador_origen='+paq_id_operador_origen+
			'&id_oficina='+paq_id_oficina+
			'&id_idioma='+paq_id_idioma+
			'&ruta_raiz='+paq_ruta_raiz;
}

function paq_EditarPaquete(id_paquete)
{
	titulo='Nuevo elemento';
	if(id_paquete>0)
		titulo='Editar elemento';
	$("#"+paq_CAPA_FORM_PAQUETE).dialog(
	{
		bgiframe: true,
		autoOpen: true,
		height: 740,
		width: 800,
		minHeight:740,
		minWidth:800,
		modal: true,
		title: titulo, 
		draggable: false,
		resizable: false,
		buttons: 
		{
			'Cerrar': function() 
			{
				$(this).dialog('destroy');
			},
			'Guardar': function() 
			{
				paq_setDatosPaquete_FileUpload_Foto(id_paquete);
			}
		},close: function(event, ui) 
		{
			$('#Ver').click();
			$(this).dialog('destroy');
		}
	});
	$('#'+paq_CAPA_FORM_PAQUETE).html(paq_getHTMLCargando());
	
	parametros='accion=1&id_paquete='+id_paquete+paq_getParametrosGlobales();
	$.post(paq_ruta_accion,parametros,
			function(data, textStatus)
    		 {
				//alert(data);
				resultado=data.split('|');
				if(resultado[0]=='KO')
				{
					alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico.');
					$('#'+paq_CAPA_FORM_PAQUETE).dialog('destroy');
				} else
				{
					$('#'+paq_CAPA_FORM_PAQUETE).html(data);
					paq_setEventosPaquete(id_paquete);
				}
   			 }
	);
}

function paq_setEventosPaquete(id_paquete)
{
	// ----- Creamos el datePicker para la fecha de inicio
	$("#paqedit_fecha_ini").datepicker(
	{
		firstDay:1,
		dateFormat: 'dd/mm/yy'
	});
	$("#paqedit_fecha_ini").datepicker($.datepicker.regional['es']);

	// ----- Creamos el datePicker para la fecha de fin
	$("#paqedit_fecha_fin").datepicker(
	{
		firstDay:1,
		dateFormat: 'dd/mm/yy'
	});
	$("#paqedit_fecha_fin").datepicker($.datepicker.regional['es']);
	
	$('.ui-datepicker').css('z-index','10001');
	$('.ui-datepicker-trigger').attr('align','absmiddle');
	
	// ---- Para subir la foto
	$("#uploadify_foto").uploadify({
		'uploader'       : '../lib/js/jquery_uploadify/uploadify.swf',
		'script'         : '../lib/js/jquery_uploadify/uploadify.php',
		'cancelImg'      : '../lib/js/jquery_uploadify/cancel.png',
		'folder'         : '../modulos/paquetes/docs_336',
		'queueID'        : 'fileQueue_foto',
		'auto'           : true,
		'multi'          : false,
		'buttonText'	 : '',
		'buttonImg'		 : '../images/paq_add_imagen_2.gif',
		'width'			 : 12,
		'height'		 : 10,
		'onError'		 : function(event,queueID,fileObj,errorObj){alert(errorObj.info);},
		'fileDesc'		 : 'Documentos de imagenes jpg, gif, png',
		'fileExt'		 : '*.jpg;*.gif;*.png',
		onComplete		 : function(event, queueID, fileObj, response, data)
						   {
								//$('#paq_fichero_foto').val(fileObj.filePath+fileObj.name);
								paq_setDatosPaquete_FileUpload_PDF(id_paquete);
						   },
		onSelect		: function(event,queueID,fileObj)
						  {
							   //alert(fileObj.name);
							   $('#paq_fichero_foto').val(fileObj.name);
							   $('#hay_fotos_para_subir').val(1);
							   $('#tiene_imagen').val(1);
							   //paq_setDatosPaquete_FileUpload_Foto(id_paquete);
						  },
		onCancel		: function(event,queueID,fileObj,data)
						  {
							  //alert('Cancela Foto');
							  $('#hay_fotos_para_subir').val(0);
						  }
	});
	
	// ---- Para subir el fichero adjunto
	$("#uploadify_pdf").uploadify({
		'uploader'       : '../lib/js/jquery_uploadify/uploadify.swf',
		'script'         : '../lib/js/jquery_uploadify/uploadify.php',
		'cancelImg'      : '../lib/js/jquery_uploadify/cancel.png',
		'folder'         : '../modulos/paquetes/docs_336',
		'queueID'        : 'fileQueue_pdf',
		'auto'           : true,
		'multi'          : false,
		'buttonText'	 : '',
		'buttonImg'		 : '../images/paq_add_imagen_2.gif',
		'width'			 : 12,
		'height'		 : 10,
		'onError'		 : function(event,queueID,fileObj,errorObj){alert(errorObj.info);},
		'fileDesc'		 : 'Documento PDF',
		'fileExt'		 : '*.pdf',
		'sizeLimit'		 : 1048576,
		onComplete		 : function(event, queueID, fileObj, response, data)
						   {
								//$('#paq_fichero_pdf').val(fileObj.filePath+fileObj.name);
								//paq_setFicheroUpload(id_paquete,fileObj.filePath,2);
								paq_setDatosPaquete(id_paquete);
						   },
		onSelect		: function(event,queueID,fileObj)
						  {
							   //alert(fileObj.name);
							   $('#paq_fichero_pdf').val(fileObj.name);
							   $('#hay_pdfs_para_subir').val(1);
							   //paq_setDatosPaquete_FileUpload_Foto(id_paquete);
						  },
		onCancel		: function(event,queueID,fileObj,data)
						  {
							  //alert('Cancela PDF');
							  $('#hay_pdfs_para_subir').val(0);
						  }
	});
}

function paq_setDatosPaquete_FileUpload_Foto(id_paquete)
{
	// ----- control de parametros antes de subir nada
	parametros=paq_getParametros(id_paquete,true);
	
	// ---- Subimos el fichero, cuando termine guardamos el resto de datos
	if($('#hay_fotos_para_subir').val()==1)
	{
		//alert('Hay fotos');
		$("#uploadify_foto").uploadifyUpload();
	}
	else
	{
		//alert('No Hay fotos');
		paq_setDatosPaquete_FileUpload_PDF(id_paquete);
	}
}

function paq_setDatosPaquete_FileUpload_PDF(id_paquete)
{
	// ----- control de parametros antes de subir nada
	parametros=paq_getParametros(id_paquete,true);
	
	// ---- Subimos el fichero, cuando termine guardamos el resto de datos
	if($('#hay_pdfs_para_subir').val()==1)
	{
		//alert('Hay PDF');
		$("#uploadify_pdf").uploadifyUpload();
	}
	else
	{
		//alert('NO Hay PDF');
		paq_setDatosPaquete(id_paquete);
	}
}

function paq_setDatosPaquete(id_paquete)
{
	parametros=paq_getParametros(id_paquete,true);
	//if(parametros=='')
	//	return false;
	parametros+='&accion=4&id_paquete='+id_paquete;
	//alert(parametros);
	
	// ---- Lanzamos el Ajax para guardar
	$("#"+paq_CAPA_FORM_PAQUETE).html(paq_getHTMLCargando());
	$.post(paq_ruta_accion,parametros,
			function(data, textStatus)
    		 {
				//alert(data);
				resultado=data.split('|');
				if(resultado[0]=='KO')
				{
					alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
				} else
				{
					$("#"+paq_CAPA_FORM_PAQUETE).dialog('destroy');
					paq_EditarPaquete(resultado[1]);
					alert('El elemento se ha guardado satisfactoriamente.');
				}
   			 }
	);
}

function paq_EliminarPaquete(id_paquete)
{
	if(!id_paquete>0)
		return false;
	
	mensaje="Va a eliminar el elemento seleccionado \n¿Continuar?";
	if(!confirm(mensaje))
		return false;
	
	parametros='accion=2&id_paquete='+id_paquete+paq_getParametrosGlobales();
	//alert(parametros);
	$.post(paq_ruta_accion,parametros,
			function(data, textStatus)
    		 {
				//alert(data);
				resultado=data.split('|');
				if(resultado[0]=='KO')
				{
					alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
				} else
				{
					alert('El elemento se ha eliminado satisfactoriamente.');
					$('#capa_lista_paquetes_'+id_paquete).hide('slow');
				}
   			 }
	);
}

function paq_addTramo(id_paquete)
{
	if(!id_paquete>0)
	{
		if(confirm("Tiene que guardar el paquete antes de asignarle un tramo.\n\nDesea guardarlo ahora."))
			paq_setDatosPaquete(0);
		return false;
	}
	
	parametros='accion=5&id_paquete='+id_paquete+paq_getParametrosGlobales();
	$.post(paq_ruta_accion,parametros,
			function(data, textStatus)
    		 {
				//alert(data);
				resultado=data.split('|');
				if(resultado[0]=='KO')
				{
					alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
				} else
				{
					paq_CargarTramos(resultado[1]);
					alert('Se ha añadido un nuevo tramo.');					
				}
   			 }
	);
	return true;
}

function paq_verCasasTramo(id_paquete,orden,tipo)
{
	//alert('Ver casas del Tramo: id_paquete => '+id_paquete+', orden => '+orden+', tipo=> '+tipo);
	paq_AddCasaTramo(id_paquete,orden,tipo);
}

function paq_AddCasaTramo(id_paquete,orden,id_tipo)
{
	//alert('Añadir casas al Tramo: id_paquete => '+id_paquete+', orden => '+orden);
	titulo='Nuevo elemento de establecimiento';
	if(id_tipo>0)
		titulo='Editar establecimientos y elementos';
	if($("#"+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).dialog('isOpen'))
		$("#"+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).dialog('destroy');
				
	$("#"+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).dialog(
	{
		bgiframe: true,
		autoOpen: true,
		height: 550,
		width: 900,
		modal: false,
		title: titulo, 
		draggable: true,
		resizable: false,
		buttons: 
		{
			'Cerrar': function() 
			{
				$(this).dialog('destroy');
			},
			'Guardar': function() 
			{				
				//alert('Guardar '+id_paquete+','+orden+','+id_tipo);
				psc_setDatosPaquete_Casas(id_paquete,orden,id_tipo);
			}
		},
		close: function(event, ui) 
		{
			paq_setDatosPaquete(id_paquete);
			$(this).dialog('destroy');
		}
	});
	$('#'+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).html(paq_getHTMLCargando());
	
	parametros= 'accion=10'+
				'&id_paquete='+id_paquete+
				'&orden='+orden+
				'&id_tipo='+id_tipo+
				paq_getParametrosGlobales();
	//alert(parametros);
	$.post(paq_ruta_accion,parametros,
			function(data, textStatus)
    		 {
				//alert(data);
				resultado=data.split('|');
				if(resultado[0]=='KO')
				{
					alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico.');
					$('#'+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).dialog('destroy');
				} else
				{
					$('#'+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).html(data);
					psc_cargarCasasTramo(id_paquete,orden,id_tipo);
					pqs_setEventosCasasSeleccion(id_paquete,orden,id_tipo);
				}
   			 }
	);
}

/**
 * Edita o añade nueva actividad/opcion al tramo actual
 * 
 * @param int id_paquete
 * @param int orden => Identifica al tramo
 * @param int id_actividad => >0 es Edición, =0 es Insercion
 * @param int tipo_concepto => 0=Actividad, 1=Opcion
 * @return
 */
function paq_AddActividadTramo(id_paquete,orden,id_actividad,tipo_concepto)
{
	//alert('Añadir actividad al Tramo: id_paquete => '+id_paquete+', orden => '+orden);
	
	titulo='Nueva actividad';
	if(id_actividad>0)
		titulo='Editar actividad';
	if(tipo_concepto==1)
		titulo+=' opcional';
	if($("#"+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).dialog('isOpen'))
		$("#"+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).dialog('destroy');
				
	$("#"+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).dialog(
	{
		bgiframe: true,
		autoOpen: true,
		height: 450,
		width: 520,		
		modal: true,
		title: titulo, 
		draggable: true,
		resizable: false,
		buttons: 
		{
			'Cancelar': function() 
			{
				$(this).dialog('destroy');
			},
			'Eliminar': function() 
			{
				paq_delActividad(id_paquete,orden,id_actividad);
			},
			'Guardar': function() 
			{
				paq_setDatosPaquete_Actividad(id_paquete,orden,id_actividad,tipo_concepto);
			}
		},
		close: function(event, ui) 
		{
			$(this).dialog('destroy');
		}
	});
	$('#'+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).html(paq_getHTMLCargando());
	
	parametros= 'accion=7'+
				'&id_paquete='+id_paquete+
				'&orden='+orden+
				'&id_actividad='+id_actividad+
				'&tipo_concepto='+tipo_concepto+
				paq_getParametrosGlobales();
	$.post(paq_ruta_accion,parametros,
			function(data, textStatus)
    		 {
				//alert(data);
				resultado=data.split('|');
				if(resultado[0]=='KO')
				{
					alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico.');
					$('#'+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).dialog('destroy');
				} else
				{
					$('#'+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).html(data);
					paq_setEventosPaquete_Actividad(id_paquete,orden,id_actividad);
				}
   			 }
	);
}

function paq_setEventosPaquete_Actividad(id_paquete,orden,id_actividad)
{
	// ----- Creamos el datePicker para la fecha de inicio de la actividad
	$("#paqeditactact_fecha_inicio").datepicker(
	{
		firstDay:1,
		dateFormat: 'dd/mm/yy',
		buttonImage:'../images/00ico_disp.gif',
		showOn:'button',
		buttonImageOnly: true
	});
	$("#paqeditactact_fecha_inicio").datepicker($.datepicker.regional['es']);
	
	$('.ui-datepicker').css('z-index','10001');
	$('.ui-datepicker-trigger').attr('align','absmiddle').css('cursor','pointer');
}

function paq_delTramo(id_paquete,orden)
{
	if((!id_paquete>0) || (!orden>0))
		return false;
	
	if(!confirm("Va a eliminar el tramo seleccionado\n\n¿Continuar?"))
		return false;
	
	parametros='accion=3&id_paquete='+id_paquete+'&orden='+orden+paq_getParametrosGlobales();
	$.post(paq_ruta_accion,parametros,
			function(data, textStatus)
    		 {
				//alert(data);
				resultado=data.split('|');
				if(resultado[0]=='KO')
				{
					alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
				} else
				{
					alert('El elemento se ha eliminado satisfactoriamente.');
					$('#paq_capa_tramo_'+id_paquete+'_'+orden).hide('slow');
				}
   			 }
	);
}

function paq_getParametros(id_paquete,silencioso)
{
	resulta=paq_getParametrosGlobales();
	fallo=false;
	
	if($.trim($('#paqedit_nombre').val())=='')
	{
		$('#paqedit_nombre').focus();
		$('#paqedit_nombre').css('border','1px solid #FF0000');
		if((!silencioso) && (!fallo))
		{
			alert('Tiene que indicar un nombre para el paquete');
			fallo=true;
		} 
	}
	resulta+='&nombre='+escape($('#paqedit_nombre').val());
	
	if($.trim($('#paqedit_fecha_ini').val())=='')
	{
		$('#paqedit_fecha_ini').focus();
		$('#paqedit_fecha_ini').css('border','1px solid #FF0000');
		if((!silencioso) && (!fallo))
		{
			alert('Tiene que indicar una fecha de inicio para el paquete');
			fallo=true;
		}
	}
	resulta+='&fecha_ini_formato='+$('#paqedit_fecha_ini').val();
	
	if($.trim($('#paqedit_fecha_fin').val())=='')
	{
		$('#paqedit_fecha_fin').focus();
		$('#paqedit_fecha_fin').css('border','1px solid #FF0000');
		if((!silencioso) && (!fallo))
		{
			alert('Tiene que indicar una fecha de inicio para el paquete');
			fallo=true;
		}
	}
	resulta+='&fecha_fin_formato='+$('#paqedit_fecha_fin').val();
	
	resulta+='&estado='+$("input[name=paqedit_estado]:checked").val();//$('#paqedit_estado:checked').val();
	resulta+='&porcentaje_operador='+$("input[name=paqedit_porcentajeoperador]:checked").val();//$('#paqedit_porcentajeoperador:checked').val();
	
	if($.trim($('#paqedit_responsable').val())=='')
	{
		$('#paqedit_responsable').focus();
		$('#paqedit_responsable').css('border','1px solid #FF0000');
		if((!silencioso) && (!fallo))
		{
			alert('Tiene que indicar el responsable del paquete');
			fallo=true;
		}
	}
	resulta+='&responsable='+escape($('#paqedit_responsable').val());
	
	if($.trim($('#paqedit_telefono1').val())=='')
	{
		$('#paqedit_telefono1').focus();
		$('#paqedit_telefono1').css('border','1px solid #FF0000');
		if((!silencioso) && (!fallo))
		{
			alert('Tiene que indicar el teléfono del responsable del paquete');
			fallo=true;
		}
	}
	resulta+='&telefono1='+escape($('#paqedit_telefono1').val());
	
	if($.trim($('#paqedit_telefono2').val())=='')
	{
		$('#paqedit_telefono2').focus();
		$('#paqedit_telefono2').css('border','1px solid #FF0000');
		if((!silencioso) && (!fallo))
		{
			alert('Tiene que indicar el teléfono de aviso por SMS del responsable del paquete');
			fallo=true;
		}
	}
	resulta+='&telefono2='+escape($('#paqedit_telefono2').val());
	
	if($.trim($('#paqedit_email').val())=='')
	{
		$('#paqedit_email').focus();
		$('#paqedit_email').css('border','1px solid #FF0000');
		if((!silencioso) && (!fallo))
		{
			alert('Tiene que indicar el E-mail del responsable del paquete');
			fallo=true;
		}
	}
	resulta+='&email='+escape($('#paqedit_email').val());
	
	if($.trim($('#paqedit_n_noches').val())=='')
	{
		$('#paqedit_n_noches').focus();
		$('#paqedit_n_noches').css('border','1px solid #FF0000');
		if((!silencioso) && (!fallo))
		{
			alert('Tiene que indicar el nº de noches totales de las que consta el paquete');
			fallo=true;
		}
	}
	resulta+='&n_noches='+$('#paqedit_n_noches').val();
	
	if($.trim($('#paqedit_n_personas').val())=='')
	{
		$('#paqedit_n_personas').focus();
		$('#paqedit_n_personas').css('border','1px solid #FF0000');
		if((!silencioso) && (!fallo))
		{
			alert('Tiene que indicar el nº de personas de las que consta el paquete');
			fallo=true;
		}
	}
	resulta+='&n_personas='+$('#paqedit_n_personas').val();
		
	if($.trim($('#paqedit_precio1').val())=='')
	{
		$('#paqedit_precio1').focus();
		$('#paqedit_precio1').css('border','1px solid #FF0000');
		if((!silencioso) && (!fallo))
		{
			alert('Tiene que indicar el importe para el paquete con precio Standard');
			fallo=true;
		}
	}
	resulta+='&precio1='+$('#paqedit_precio1').val();
	if($.trim($('#paqedit_precio2').val())=='')
		resulta+='&precio2=0';
	else
		resulta+='&precio2='+$('#paqedit_precio2').val();
	
	if($.trim($('#paqedit_precio3').val())=='')
		resulta+='&precio3=0';
	else
		resulta+='&precio3='+$('#paqedit_precio3').val();
	
	if($.trim($('#paqedit_precio_publi1').val())=='')
		resulta+='&precio_publi1=0';
	else
		resulta+='&precio_publi1='+$('#paqedit_precio_publi1').val();
	
	if($.trim($('#paqedit_precio_publi2').val())=='')
		resulta+='&precio_publi2=0';
	else
		resulta+='&precio_publi2='+$('#paqedit_precio_publi2').val();
	
	if($.trim($('#paqedit_precio_publi3').val())=='')
		resulta+='&precio_publi3=0';
	else
		resulta+='&precio_publi3='+$('#paqedit_precio_publi3').val();
	
	if($.trim($('#paqedit_precio_desde1').val())=='')
		resulta+='&precio_desde1=0';
	else
		resulta+='&precio_desde1='+$('#paqedit_precio_desde1').val();
	
	if($.trim($('#paqedit_precio_desde2').val())=='')
		resulta+='&precio_desde2=0';
	else
		resulta+='&precio_desde2='+$('#paqedit_precio_desde2').val();
	
	if($.trim($('#paqedit_precio_desde3').val())=='')
		resulta+='&precio_desde3=0';
	else
		resulta+='&precio_desde3='+$('#paqedit_precio_desde3').val();
	
	// ---- Descripciones
	resulta+='&descripcion_corta='+escape($('#paq_descripcion_corta').val());
	resulta+='&descripcion_larga='+escape($('#paq_descripcion_larga').val());
	
	// ---- Ficheros adjuntos
	resulta+='&fichero_foto='+escape($('#paq_fichero_foto').val());
	resulta+='&fichero_pdf='+escape($('#paq_fichero_pdf').val());
	
	// ---- N_noches por tramos
	resulta+='&lista_tramos_orden='+$('#lista_tramos_orden').val();
	if($('#lista_tramos_orden').val()!='')
	{
		orden_tramos=$('#lista_tramos_orden').val().split('|');
		for(ind_t=0;ind_t<orden_tramos.length;ind_t++)
		{
			resulta+='&noches_'+orden_tramos[ind_t]+'='+$('#paqedit_tramo_noches_'+id_paquete+'_'+orden_tramos[ind_t]).val();
			resulta+='&observaciones_'+orden_tramos[ind_t]+'='+escape($('#pq_editar_comentario_tramo_'+id_paquete+'_'+orden_tramos[ind_t]).val());
			resulta+='&lugar_'+orden_tramos[ind_t]+'='+escape($('#paqedit_tramo_lugar_'+id_paquete+'_'+orden_tramos[ind_t]).val());
			if($('#cb_disponibilidad_capacidad_'+id_paquete+'_'+orden_tramos[ind_t]).attr('checked'))
				resulta+='&disponibilidad_capacidad_'+orden_tramos[ind_t]+'=1';
			else
				resulta+='&disponibilidad_capacidad_'+orden_tramos[ind_t]+'=0';
			resulta+='&casaspreferentes_'+orden_tramos[ind_t]+'='+escape($('#paq_tramo_edit_casaspreferentes_'+id_paquete+'_'+orden_tramos[ind_t]).val());
			
			//alert($('#cb_disponibilidad_capacidad_'+id_paquete+'_'+orden_tramos[ind_t]).attr('id'));
			//alert(orden_tramos[ind_t]);
		}
	}
	
	// ---- Precios activos
	if($('#activo_luxe').attr('checked')) resulta+='&activo_luxe=1';
	else 								  resulta+='&activo_luxe=0';
	if($('#activo_plus').attr('checked')) resulta+='&activo_plus=1';
	else								  resulta+='&activo_plus=0';
	
	// ----- Publicidad Activa, en formato persona_noche
	valor_sel_aux=$("input[name=activo_publicidad]:checked").val();
	if(($('#cb_activo_publicidad:checked').val()==1) && (valor_sel_aux==0))
		resulta+='&activo_publicidad=1';
	else // ----- Resto de formatos
		resulta+='&activo_publicidad='+valor_sel_aux;
	
	// --- Calendario activado
	if($('#tiene_calendario_asignado').val()!=1)
	{
		$('#paq_capa_calendario_validez_info').css('color','#FF0000');
		if((!silencioso) && (!fallo))
		{
			alert('No tiene asignado el calendario de validez.');
			fallo=true;
		}
	}
	
	// --- Tiene imagen
	if($('#tiene_imagen').val()!=1)
	{
		$('#paq_img_paquete').css('border','2px solid #FF0000');
		if((!silencioso) && (!fallo))
		{
			alert('No tiene asignada imagen al paquete.');
			fallo=true;
		}
	}
	
	// ---- Margen
	resulta+='&margen_precio='+escape($('#paqedit_precio_margen').val());
	resulta+='&margen_tipo='+$("input[name=paqedit_precio_margen_tipo]:checked").val();//$('#paqedit_precio_margen_tipo:checked').val();
	if($("#paq_margen_activo").attr('checked'))
		resulta+='&margen_activo=1';
	else
		resulta+='&margen_activo=0';

	// ---- Tipologia
	if($('#paqedit_tipologia').val()==0)
	{
		$('#paqedit_tipologia').css('border','2px solid #FF0000');
		if((!silencioso) && (!fallo))
		{
			alert('Tiene que asignar una tipología al paquete.');
			fallo=true;
		}
	}
	resulta+='&id_tipologia='+escape($('#paqedit_tipologia').val());

	// ---- Provincia
	if($('#paqedit_provincia').val()==0)
	{
		$('#paqedit_provincia').css('border','2px solid #FF0000');
		if((!silencioso) && (!fallo))
		{
			alert('Tiene que asignar una provincia al paquete.');
			fallo=true;
		}
	}
	resulta+='&id_provincia='+escape($('#paqedit_provincia').val());
	
	// ---- Ordenación
	if($("input[name=rb_paqedit_ordenacion]:checked").val()!=2)
		resulta+='&ordenacion=1';
	else
		resulta+='&ordenacion=2';
		
	// ---- Proveedor asociado al margen
	if((!parseInt($('#paq_id_proveedor_margen').val())>0) && ($("input[name=activo_publicidad]:checked").val()==2) && ($("#paq_margen_activo").attr('checked')))
	{
		$('#capa_proveedor_margen').css('border','2px solid #FF0000');
		if((!silencioso) && (!fallo))
		{
			alert('Tiene que asignar un proveedor al margen.');
			fallo=true;
		}
	}
	resulta+='&id_proveedor_margen='+$('#paq_id_proveedor_margen').val();
	
	// ---- Paquete Padre (Paquetes Vinculados)
	resulta+='&id_paquete_padre='+$('#paqedit_id_paquete_padre').val();
	
	if((fallo) && (!silencioso))
	{
		//alert('1');
		return '';
	}
	else
	{
		//alert('2');
		return resulta;
	}
}


/**
 * Guarda los datos de la actividad/opcion
 * 
 * @param int id_paquete
 * @param int orden => Identificador del tramo
 * @param int id_actividad
 * @param int tipo_concepto => 0=Actividad, 1=Opcion
 * @return
 */
function paq_setDatosPaquete_Actividad(id_paquete,orden,id_actividad,tipo_concepto)
{
	parametros=paq_getParametros_Actividad(id_paquete,orden,id_actividad);
	if(parametros=='')
		return '';
	parametros+='&accion=8'+
				'&id_paquete='+id_paquete+
				'&orden='+orden+
				'&id_actividad='+id_actividad+
				'&tipo_concepto='+tipo_concepto;
	//alert(parametros);
	
	// ---- Lanzamos el Ajax para guardar
	$("#"+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).html(paq_getHTMLCargando());
	$.post(paq_ruta_accion,parametros,
			function(data, textStatus)
    		 {
				//alert(data);
				resultado=data.split('|');
				if(resultado[0]=='KO')
				{
					alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
				} else
				{
					//paq_CargarTramos(id_paquete);
					//alert('El elemento se ha guardado satisfactoriamente.');
					paq_setDatosPaquete(id_paquete);
				}
				$("#"+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).dialog('destroy');
   			 }
	);
}

function paq_CargarTramos(id_paquete)
{
	parametros='accion=6&id_paquete='+id_paquete+paq_getParametrosGlobales();
	//alert(parametros);
	
	// ---- Lanzamos el Ajax para guardar
	$("#"+paq_capa_tramos).html(paq_getHTMLCargando());
	$.post(paq_ruta_accion,parametros,
			function(data, textStatus)
    		 {
				//alert(data);
				resultado=data.split('|');
				if(resultado[0]=='KO')
				{
					alert('Ha sido imposible cargar los tramos del paquete, por favor contacte con el servicio técnico => '+resultado[1]);
				} else
				{
					$("#"+paq_capa_tramos).html(data);
				}
   			 }
	);
}

function paq_getParametros_Actividad(id_paquete,orden,id_actividad)
{
	resulta=paq_getParametrosGlobales();
	
	if($.trim($('#paqeditactact_nombre').val())=='')
	{
		$('#paqeditactact_nombre').focus();
		alert('Tiene que indicar un nombre para la actividad');
		return '';
	}
	resulta+='&nombre='+escape($('#paqeditactact_nombre').val());
	
	if($.trim($('#paqeditactact_email').val())=='')
	{
		$('#paqeditactact_email').focus();
		alert('Tiene que indicar un email para contactar con la empresa');
		return '';
	}
	resulta+='&email='+escape($('#paqeditactact_email').val());
	
	/*
	if(!$('#paqeditact_tipo:checked').val()>0)
	{
		$('#paqeditact_tipo').focus();
		alert('Tiene que indicar un tipo para el paquete.');
		return '';
	}
	resulta+='&id_tipo='+$('#paqeditact_tipo:checked').val();
	*/
	resulta+='&id_tipo='+$('#paqeditact_tipo').val();
	
	/*if($.trim($('#paqeditactact_fecha_inicio').val())=='')
	{
		$('#paqeditactact_fecha_inicio').focus();
		alert('Tiene que indicar una fecha de inicio para la actividad');
		return '';
	}
	resulta+='&fecha_ini_formato='+$('#paqeditactact_fecha_inicio').val();
	*/
	
	resulta+='&duracion='+$('#paqeditactact_duracion').val();
	resulta+='&horario='+escape($('#paqeditactact_horario').val().replace('€','&euro;'));
		
	if($.trim($('#paqeditactact_importe').val())=='')
	{
		$('#paqeditactact_importe').focus();
		alert('Tiene que indicar el Coste qué pagará a la empresa responsable.');
		return '';
	}
	resulta+='&importe_pagar_empresa='+$('#paqeditactact_importe').val();
	
	if($.trim($('#paqeditactact_venta').val())=='')
	{
		$('#paqeditactact_venta').focus();
		alert('Tiene que indicar el importe de venta.');
		return '';
	}
	resulta+='&importe_venta='+$('#paqeditactact_venta').val();
	
	// ----- Dias marcados
	cod_dias='';	
	for(ind_d=0;ind_d<=$('#n_noches_actividad').val();ind_d++)
	{
		if($('#cb_dia_activo_'+ind_d).attr('checked'))
			cod_dias+='1';
		else
			cod_dias+='0';
	}
	resulta+='&cod_dias='+cod_dias;
	
	// ---- Proveedor
	if($('#paq_actividad_rel_proveedor_'+id_actividad).val()==0)
	{
		//$('#paqeditactact_venta').focus();
		alert('Tiene que indicar un proveedor para la actividad.');
		return '';
	}
	resulta+='&id_proveedor='+$('#paq_actividad_rel_proveedor_'+id_actividad).val();
	//resulta+='&id_proveedor=1';
	
	return resulta;
}

function paq_delActividad(id_paquete,orden,id_actividad)
{
	if(!id_actividad>0)
	{
		alert('Para eliminar tiene que editar un elemento.');
		return false;
	}
	
	if(!confirm("Va a eliminar el elemento actual.\n\n¿Continuar?"))
		return false;
	
	parametros+='&accion=9'+
				'&id_paquete='+id_paquete+
				'&orden='+orden+
				'&id_actividad='+id_actividad+
				paq_getParametrosGlobales();
	
	// ---- Lanzamos el Ajax para guardar
	$("#"+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).html(paq_getHTMLCargando());
	$.post(paq_ruta_accion,parametros,
			function(data, textStatus)
    		 {
				//alert(data);
				resultado=data.split('|');
				if(resultado[0]=='KO')
				{
					alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
				} else
				{
					paq_CargarTramos(id_paquete);
					alert('El elemento se ha eliminado satisfactoriamente.');
				}
				$("#"+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).dialog('destroy');
   			 }
	);
	
	return true;
}

function paq_BuscarCasas(id_paquete,orden,id_tipo)
{
	//alert(id_paquete+','+orden+','+id_tipo);	
	if($.trim($('#paq_casas_nombre').val())=='')
	{
		$('#paq_casas_nombre').focus();
		alert('Tiene que indicar un nombre o id_casa para realizar la búsqueda.');
		return false;
	}
	parametros= 'accion=11'+
				'&id_paquete='+id_paquete+
				'&orden='+orden+
				'&id_tipo='+id_tipo+
				'&nombre_id='+escape($('#paq_casas_nombre').val())+
				paq_getParametrosGlobales();
	
	$("#"+paq_CAPA_CASAS_CONTENIDO).html(paq_getHTMLCargando());
	$.post(paq_ruta_accion,parametros,
			function(data, textStatus)
    		 {
				//alert(data);
				resultado=data.split('|');
				if(resultado[0]=='KO')
				{
					alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
				} else
				{
					if(data=='')
						$("#"+paq_CAPA_CASAS_CONTENIDO).html('<div style="color:#FF0000; padding:10px;">No se ha localizado ningún establecimiento con los parámetros indicados.</div>');
					else
						$("#"+paq_CAPA_CASAS_CONTENIDO).html(data);
				}
   			 }
	);
	
	return true;
}

function paq_SelCasa(id_paquete,orden,id_tipo,id_casa)
{
	if(!id_casa>0)
	{
		alert('El id_casa no es válido');
		return false;
	}
	
	parametros= 'accion=12'+
				'&id_paquete='+id_paquete+
				'&orden='+orden+
				'&id_tipo='+id_tipo+
				'&id_casa='+id_casa+
				paq_getParametrosGlobales();
	
    //alert(id_casa);
	$("#"+paq_CAPA_CASAS_CONTENIDO).html(paq_getHTMLCargando());
	$.post(paq_ruta_accion,parametros,
			function(data, textStatus)
    		 {
				//alert(data);
				resultado=data.split('|');
				if(resultado[0]=='KO')
				{
					alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
				} else
				{
					//paq_CargarTramos(id_paquete);
					$("#"+paq_CAPA_CASAS_CONTENIDO).html(data);
				}
   			 }
	);
	
	return true;
}

function paq_setDatosPaquete_casa(id_paquete,orden,id_tipo)
{
	id_casa=$('#paq_CAPA_CASA_ELEMENTO_id_casa').val();
	//alert(id_casa+','+id_paquete+','+orden+','+id_tipo);
	
	if(!id_casa>0)
	{
		alert("No se ha seleccionado ningún establecimiento para el paquete.\n\nPor favor realice una búsqueda y seleccione un establecimiento.");
		return false;
	}

	parametros= 'accion=13'+
				'&id_paquete='+id_paquete+
				'&orden='+orden+
				'&id_tipo='+id_tipo+
				'&id_casa='+id_casa+
				paq_getParametrosGlobales();
	
	ids_parametros='';
	precios_parametros='';
	tipos_parametros='';
	$('.paqelemento_selhabitacion_'+id_casa+':checked').each(function()
	{
		elemento_ids=this.id.split('_');
		id_habitacion_base=elemento_ids[2];
		if(ids_parametros!='') 
		{
			ids_parametros+='|';
			precios_parametros+='|';
			tipos_parametros+='|';
		}
		ids_parametros+=id_habitacion_base;
		precios_parametros+=$('#paqelemento_precio_'+id_casa+'_'+id_habitacion_base).val();
		tipos_parametros+=$('#paqelemento_tipo_'+id_casa+'_'+id_habitacion_base+':checked').val();
	});
	
	if(ids_parametros=='')
	{
		alert('Tiene que seleccionar un elemento del establecimiento para añadir al paquete.');
		return false;
	}
	parametros+='&ids='+ids_parametros;
	parametros+='&precios='+precios_parametros;	
	parametros+='&tipos='+tipos_parametros;
	if(false)
	{	
		alert(parametros);
		return false;
	}

	
	$("#"+paq_CAPA_CASAS_CONTENIDO).html(paq_getHTMLCargando());
	$.post(paq_ruta_accion,parametros,
			function(data, textStatus)
    		 {
				//alert(data);
				resultado=data.split('|');
				if(resultado[0]=='KO')
				{
					alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
				} else
				{
					//paq_CargarTramos(id_paquete);
					$("#"+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).dialog('destroy');
					alert('Los elementos seleccionados se han añadido al paquete.');
					paq_setDatosPaquete(id_paquete);
					//paq_CargarTramos(id_paquete);
				}
   			 }
	);
	
	return true;
}

function paq_Reservar(id_paquete,id_tipo)
{
	fecha_entrada='12/01/2010';
	$('#paq_fecha_entrada_'+id_paquete+'_'+id_tipo).val(fecha_entrada);
	$('#paq_f_reservar_'+id_paquete+'_'+id_tipo).submit();
}

/**
 * Muestra el calendario anual para marcar fechas de validez
 * 
 * @param int id_paquete
 * @param int modo => 0:Ver, 1:Editar
 * @return
 */
function paq_getCalendarioMarcarTramos(id_paquete,anio,modo)
{
	if(!id_paquete>0)
	{
		if(confirm("Para marcar en el calendario tiene que guardar primeramente el paquete.\n\n¿Desea guardarlo ahora?"))
			paq_setDatosPaquete_FileUpload_Foto();
		return false;
	}
	
	capita=glb_CrearCapa(paq_CAPA_FORM_PAQUETE_CALENDARIO);
	$("#"+paq_CAPA_FORM_PAQUETE_CALENDARIO).dialog(
	{
		bgiframe: true,
		autoOpen: true,
		height: 770,
		width: 570,		
		modal: (modo==0),
		title: 'Calendario de validez', 
		draggable: true,
		resizable: false,
		buttons: 
		{
			'Cancelar': function() 
			{
				$(this).dialog('destroy');
			},
			'Guardar': function() 
			{
				if(modo==1)
				{
					paq_setDatosCalendario(id_paquete);
					paq_getCalendarioMarcarTramos(id_paquete,anio,1);
				}
			}
		},
		close: function(event, ui) 
		{
			$(this).dialog('destroy');
		}
	});
	$('#'+paq_CAPA_FORM_PAQUETE_CALENDARIO).html(paq_getHTMLCargando());
	
	parametros='accion=14&id_paquete='+id_paquete+'&anio_select='+anio+'&modo='+modo+paq_getParametrosGlobales();
	$.post(paq_ruta_accion,parametros,
			function(data, textStatus)
    		 {
				//alert(data);
				resultado=data.split('|');
				if(resultado[0]=='KO')
				{
					alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
				} else
				{
					$('#'+paq_CAPA_FORM_PAQUETE_CALENDARIO).html(''+data+'');
					if(modo==1)
						paq_setEventosCalendario(id_paquete);
				}
   			 }
	);
	
	return true;
}

function paq_setEventosCalendario(id_paquete)
{
	// ---- Boton Marcar mes Completo
	$('.btn_calendario_marcar_mes_completo').click(function()
	{
		//alert(this.id);
		identificador=this.id.split('_');
		paq_CalnedarioMarcarMesCompleto(id_paquete,identificador[1],identificador[2]);
	});
	
	var ya_marcados=new Array();
	$('.cal_capa_mes_selectable').selectable(
	{			
		start:function(event,ui)
		{
			//alert('Inicio');
			ya_marcados=null;
			ya_marcados=new Array();
		}
		,selected:function(event,ui)
		{				
			
			$('td.ui-selected').each(function()
			{									
				if(ya_marcados[this.id]==null)
				{
					//alert(this.id+' => '+$('#'+this.id).attr('bgcolor'));
					paq_MarcarDiaCalendario(this.id,id_paquete);
				} else
				{
					//alert('Marcados: '+this.id+' => '+$('#'+this.id).attr('bgcolor'));
				}
				ya_marcados[this.id]=this.id;
			});
		}
		
		,stop:function(event,ui)
		{
			$('td.ui-selectee').each(function()
			{
				$('#'+this.id).removeClass('ui-selected');
				$('#'+this.id).addClass('ui-selectee');
			});
			ya_marcados=null;
			ya_marcados=new Array();			
		}
		,unselecting:function(event,ui)
		{
			
		}
	});
	
	// ---- Select del año
	$('#paq_calenda_cambio_anio').change(function()
	{
		paq_getCalendarioMarcarTramos(id_paquete,$('#paq_calenda_cambio_anio').val(),1);
	});
}

function paq_MarcarDiaCalendario(id_dia,id_paquete)
{
	//alert(id_paquete+' - '+id_dia);	
	//alert($('#'+id_dia).attr('bgcolor')+'==#fbb648');
	
	// ---- Control de la marcación
	if($('#'+id_dia).attr('bgcolor')=='#fbb648')
		$('#'+id_dia).attr('bgcolor','');
	else
		$('#'+id_dia).attr('bgcolor','#fbb648');
}

function paq_setDatosCalendario(id_paquete)
{
	lista_dias_='';
	$('.cal_celda_dias_mes').each(function()
	{
		if($('#'+this.id).attr('bgcolor')=='#fbb648')
		{
			if(lista_dias_!='') lista_dias_+='|';
			lista_dias_+=this.id;
		}
	});

	parametros='accion=15&id_paquete='+id_paquete+
				'&fechas='+lista_dias_+
				'&anio_select='+$('#paq_calenda_cambio_anio').val()+
				paq_getParametrosGlobales();

	$('#'+paq_CAPA_FORM_PAQUETE_CALENDARIO).html(paq_getHTMLCargando());
	
	//alert(parametros);
	$.post(paq_ruta_accion,parametros,
			function(data, textStatus)
    		 {
				//alert(data);
				resultado=data.split('|');
				if(resultado[0]=='KO')
				{
					alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
				} else
				{
					$('#tiene_calendario_asignado').val(1);
					alert('Las fechas se han guardado correctamente.');
					//$('#'+paq_CAPA_FORM_PAQUETE_CALENDARIO).html(data);
					//$('#'+paq_CAPA_FORM_PAQUETE_CALENDARIO).dialog('destroy');					
				}
   			 }
	);
	
	return true;
}

function paq_verReservasPaquete(id_paquete)
{
	if($("#"+paq_CAPA_FORM_PAQUETE).dialog('isOpen'))
		$("#"+paq_CAPA_FORM_PAQUETE).dialog('destroy');
	$("#"+paq_CAPA_FORM_PAQUETE).dialog(
	{
		bgiframe: true,
		autoOpen: true,
		height: 550,
		width: 500,
		minHeight:500,
		minWidth:500,
		modal: true,
		title: 'Reservas del paquete => '+id_paquete, 
		draggable: false,
		resizable: false,
		buttons: 
		{
			'Cerrar': function() 
			{
				$(this).dialog('destroy');
			}
		},
		close: function(event, ui) 
		{
			$(this).dialog('destroy');
		}
	});
	$('#'+paq_CAPA_FORM_PAQUETE).html(paq_getHTMLCargando());
	
	parametros='accion=16&id_paquete='+id_paquete+
				paq_getParametrosGlobales();
	//alert(parametros);
	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		 {
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				$('#'+paq_CAPA_FORM_PAQUETE).html(data);
			}
		 }
	);
	
	return true;
}

function paq_verReservaDetalle(id_paquete,id_reserva)
{
	$('#paq_reserva_detalle_'+id_paquete+'_'+id_reserva).slideToggle();
}

function paq_verDetallePaquete(id_paquete,id_operador_origen)
{
	capita=glb_CrearCapa(paq_CAPA_VER_PAQUETE);
	
	if($("#"+paq_CAPA_VER_PAQUETE).dialog('isOpen'))
		$("#"+paq_CAPA_VER_PAQUETE).dialog('destroy');
	$("#"+paq_CAPA_VER_PAQUETE).dialog(
	{
		bgiframe: true,
		autoOpen: true,
		height: 780,
		width: 720,
		modal: true,
		title: 'Programa', 
		draggable: true,
		resizable: false,
		buttons: 
		{
			'Cerrar': function() 
			{
				$(this).dialog('destroy');
			}
		},
		close: function(event, ui) 
		{
			$(this).dialog('destroy');
		}
	});
	$('#'+paq_CAPA_VER_PAQUETE).html(paq_getHTMLCargando());
	
	parametros='accion=17'+
				'&id_paquete='+id_paquete+
				'&id_operador_origen='+id_operador_origen+
				'&ruta_raiz='+paq_ruta_raiz+
				paq_getParametrosGlobales();
	//alert(parametros);
	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		 {
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				$('#'+paq_CAPA_VER_PAQUETE).html(data);
				paq_setEventosDetallePAquete(id_paquete);
			}
		 }
	);
	
	return true;
}

function paq_setEventosDetallePAquete(id_paquete)
{
	fechin=$('#paq_fecha_actual_pasa_calendario').val().split('/');	
	paq_getCalendarioDetalle(id_paquete,'1/'+fechin[1]+'/'+fechin[2],4);
	
	// --- Click de los pasa claendarios
	$('#paq_PasaCalendarioDetalle_ant').click(function()
	{
		fechin=$('#paq_fecha_actual_pasa_calendario').val().split('/');	
		fechin[1]=parseInt(fechin[1])-4;
		miFechaCalendario=new Date(fechin[2],fechin[1],1,0,0,0);
		paq_getCalendarioDetalle(id_paquete,'1/'+miFechaCalendario.getMonth()+'/'+miFechaCalendario.getFullYear(),4);
		$('#paq_fecha_actual_pasa_calendario').val('1/'+miFechaCalendario.getMonth()+'/'+miFechaCalendario.getFullYear());
	});
	$('#paq_PasaCalendarioDetalle_sig').click(function()
	{
		fechin=$('#paq_fecha_actual_pasa_calendario').val().split('/');	
		fechin[1]=parseInt(fechin[1])+4;
		miFechaCalendario=new Date(fechin[2],fechin[1],1,0,0,0);
		paq_getCalendarioDetalle(id_paquete,'1/'+miFechaCalendario.getMonth()+'/'+miFechaCalendario.getFullYear(),4);
		$('#paq_fecha_actual_pasa_calendario').val('1/'+miFechaCalendario.getMonth()+'/'+miFechaCalendario.getFullYear());
	});
}

function paq_getCalendarioDetalle(id_paquete,fecha_inicio,n_calendarios)
{
	$('#paq_detalle_calendarios_'+id_paquete).html(paq_getHTMLCargando());
	parametros='accion=18'+
				'&id_paquete='+id_paquete+
				'&fecha_inicio='+fecha_inicio+
				'&n_calendarios='+n_calendarios+
				paq_getParametrosGlobales();
	//alert(parametros);
	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		{
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				$('#paq_detalle_calendarios_'+id_paquete).html(data);
			}
		}
	);
	
	return true;
	
}

function paq_pasaCalendarioDetalle(id_paquete,n_meses)
{
	fecha_='1/'+(miFechaCalendario.getMonth()+1+n_meses)+'/'+miFechaCalendario.getFullYear();
	alert(fecha_);
	paq_getCalendarioDetalle(id_paquete,fecha_,4);
}

function paq_cambiarAlojamientoPresupuesto(id_paquete,orden,id_tipo,id_casa,id_habitacion_base,fecha_entrada,pagina)
{
	//alert('id_paquete:'+id_paquete+', orden:'+orden+', id_tipo:'+id_tipo+', id_Casa:'+id_casa+', id_habitacion_base:'+id_habitacion_base);
	//paq_editarCasasTramo(id_paquete, orden, id_tipo);
	paq_verCasasPaquete(id_paquete,paq_id_operador,orden,id_tipo,id_habitacion_base,fecha_entrada,id_casa,pagina);
}

function paq_verCasasPaquete(id_paquete,id_operador_origen,orden,id_tipo,id_habitacion_base,fecha_entrada,id_casa,pagina)
{
	capita=glb_CrearCapa(paq_CAPA_FORM_PAQUETE_CASAS);
	if($("#"+paq_CAPA_FORM_PAQUETE_CASAS).dialog('isOpen'))
		$("#"+paq_CAPA_FORM_PAQUETE_CASAS).dialog('destroy');
	titulo='Programa';
	if(orden>0)
		titulo=$('#paq_capa_nombre_paquete_confirmacion').html()+' ...... &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Seleccione un establecimiento de la lista.';
	$("#"+paq_CAPA_FORM_PAQUETE_CASAS).dialog(
	{
		bgiframe: true,
		autoOpen: true,
		height: 700,
		width: 700,
		modal: true,
		title: titulo, 
		draggable: true,
		resizable: false,
		buttons: 
		{
			'Cerrar': function() 
			{
				$(this).dialog('destroy');
			}
		},
		close: function(event, ui) 
		{
			$(this).dialog('destroy');
		}
	});
	$('#'+paq_CAPA_FORM_PAQUETE_CASAS).html(paq_getHTMLCargando());
	
	if((!pagina) || (pagina==''))
		pagina=0;
	parametros='accion=19'+
				'&id_paquete='+id_paquete+
				'&id_operador_origen='+id_operador_origen+
				'&orden='+orden+
				'&id_tipo='+id_tipo+
				'&id_casa='+id_casa+
				'&id_habitacion_base='+id_habitacion_base+
				'&fecha_entrada='+fecha_entrada+
				'&pagina='+pagina+
				paq_getParametrosGlobales();
	//alert(parametros);
	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		 {
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				$('#'+paq_CAPA_FORM_PAQUETE_CASAS).html(data);
				
				// ---- Cargamos los elemnentos elegidos
				$('#paq_capa_detalle_casas_selecta').html($('#paq_capa_info_habitaciones_cambio_casa_2_'+id_casa).html());
				
				// ---- Sólo si el tipo de disponibilidad_capacidad es 1, q es el del Ajax individual
				if($('#paq_tramo_disponibilidad_capacidad_'+orden).val()==1)
					paq_CargarDatosCasaAjax();
			}
		 }
	);
	
	return true;
}

function paq_editReserva(Localizador)
{
	Localizador=Localizador.split('-');
	id_operador=Localizador[0];
	id_reserva=Localizador[1];
	//alert(id_operador+'-'+id_reserva);
	
	if($("#"+paq_CAPA_FORM_PAQUETE_RESERVAS).dialog('isOpen'))
		$("#"+paq_CAPA_FORM_PAQUETE_RESERVAS).dialog('destroy');
	$("#"+paq_CAPA_FORM_PAQUETE_RESERVAS).dialog(
	{
		bgiframe: true,
		autoOpen: true,
		height: 500,
		width: 600,
		modal: true,
		title: 'Detalle de la reserva ['+id_operador+'-'+id_reserva+']', 
		draggable: true,
		resizable: false,
		buttons: 
		{
			'Cerrar': function() 
			{
				$(this).dialog('destroy');
			}
		},
		close: function(event, ui) 
		{
			$(this).dialog('destroy');
		}
	});
	$('#'+paq_CAPA_FORM_PAQUETE_RESERVAS).html(paq_getHTMLCargando());
	
	parametros= 'accion=20'+
				'&id_operador='+id_operador+
				'&id_reserva_paquete='+id_reserva+
				paq_getParametrosGlobales();
	//alert(parametros);
	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		 {
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				$('#'+paq_CAPA_FORM_PAQUETE_RESERVAS).html(data);
				//paq_setEventosDetallePAquete(id_paquete);
			}
		 }
	);
	
	return true;
}

function paq_delReservaConcepto(Localizador,id_concepto)
{
	if(!confirm("A continuación se eliminará el concepto seleccionado\n\n¿Continuar?"))
		return false;
	
	Localizador_aux=Localizador.split('-');
	id_operador=Localizador_aux[0];
	id_reserva=Localizador_aux[1];
	
	parametros= 'accion=21'+
	'&localizador='+Localizador+
	'&id_concepto='+id_concepto+
	paq_getParametrosGlobales();
	//alert(parametros);
	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		{
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				paq_editReserva(Localizador);
				alert('El concepto se ha eliminado satisfactoriamente.');
			}
		}
	);
	
	return true;
}

function paq_changeReservaConcepto(id_reserva,id_concepto,id_paquete)
{
	//alert(id_reserva+'-'+id_concepto);
	if($("#"+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).dialog('isOpen'))
		$("#"+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).dialog('destroy');
				
	$("#"+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).dialog(
	{
		bgiframe: true,
		autoOpen: true,
		height: 500,
		width: 520,		
		modal: false,
		title: 'Cambio de establecimiento para la reserva', 
		draggable: true,
		resizable: false,
		buttons: 
		{
			'Cancelar': function() 
			{
				$(this).dialog('destroy');
			},
			'Guardar': function() 
			{
				alert('Cambiar '+id_paquete+','+id_reserva+','+id_concepto);
			}
		},
		close: function(event, ui) 
		{
			$(this).dialog('destroy');
		}
	});
	$('#'+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).html(paq_getHTMLCargando());
	
	parametros= 'accion=10'+
				'&id_paquete='+id_paquete+
				'&orden=0'+
				'&id_tipo=0'+
				'&id_reserva='+id_reserva+
				'&id_concepto='+id_concepto+
				paq_getParametrosGlobales();
	$.post(paq_ruta_accion,parametros,
			function(data, textStatus)
    		 {
				//alert(data);
				resultado=data.split('|');
				if(resultado[0]=='KO')
				{
					alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico.');
					$('#'+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).dialog('destroy');
				} else
				{
					$('#'+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).html(data);
				}
   			 }
	);
}

function paq_editarCasasTramo(P_id_paquete,P_orden,P_tipo)
{
	// ---- Comprobamos si ya existe la capa
	capita=glb_CrearCapa(paq_CAPA_FORM_PAQUETE_ACTIVIDAD);
	if($("#"+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).dialog('isOpen'))
		$("#"+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).dialog('destroy');
	
	// ---- Gstión del Título
	titulo='Edición de casas';
	switch (P_tipo) 
	{
		case 1: titulo+=' Standard para el tramo Nº '+P_orden; break;
		case 2: titulo+=' Plus para el tramo Nº '+P_orden; break;
		case 3: titulo+=' Luxe para el tramo Nº '+P_orden; break;
	}
	
	// ---- Gestión de la Capa
	$("#"+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).dialog(
	{
		bgiframe: true,
		autoOpen: true,
		height: 500,
		width: 600,
		modal: true,
		title: titulo, 
		draggable: true,
		resizable: false,
		buttons: 
		{
			'Cerrar': function() 
			{
				$(this).dialog('destroy');
			}
		},
		close: function(event, ui) 
		{
			$(this).dialog('destroy');
		}
	});
	$('#'+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).html(paq_getHTMLCargando());
	
	parametros='accion=22'+
				'&id_paquete='+P_id_paquete+
				'&orden='+P_orden+
				'&id_tipo='+P_tipo+
				paq_getParametrosGlobales();
	//alert(parametros);
	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		 {
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				$('#'+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).html(data);
				//paq_setEventosDetallePAquete(id_paquete);
			}
		 }
	);
	
	return true;
}

function paq_delCasaTramo(id_paquete,orden,id_casa,id_habitacion_base,id_tipo)
{
	//alert('id_paquete='+id_paquete+', Orden='+orden+', id_casa='+id_casa+', id_hab_bas='+id_habitacion_base+', id_tipo='+id_tipo);
	if(!confirm("A continuación se eliminará el elemento seleccionado del tramo actual.\n\n¿Desea continuar?."))
		return false;

	parametros='accion=23'+
				'&id_paquete='+id_paquete+
				'&orden='+orden+
				'&id_tipo='+id_tipo+
				'&id_casa='+id_casa+
				'&id_habitacion_base='+id_habitacion_base+
				paq_getParametrosGlobales();
	//alert(parametros);
	$.post(paq_ruta_accion,parametros,
			function(data, textStatus)
			{
				//alert(data);
				resultado=data.split('|');
				if(resultado[0]=='KO')
				{
					alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
				} else
				{
					paq_editarCasasTramo(id_paquete,orden,id_tipo)
					alert('El elemento se ha eliminado satisfactoriamente.');
				}
			}
	);
	
	return true;
}

function paq_delImagen(id_paquete)
{
	if(!confirm("Va a eliminar la imagen del paquete\n\n¿Continuar?"))
		return false;
	
	parametros='accion=24'+
	'&id_paquete='+id_paquete+
	paq_getParametrosGlobales();
	//alert(parametros);
	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		{
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				paq_EditarPaquete(id_paquete);
				alert('El elemento se ha eliminado satisfactoriamente.');
			}
		}
	);
	
	return true;
}

function paq_delPDF(id_paquete)
{
	if(!confirm("Va a eliminar el PDF adjunto al paquete\n\n¿Continuar?"))
		return false;
	
	parametros='accion=25'+
	'&id_paquete='+id_paquete+
	paq_getParametrosGlobales();
	//alert(parametros);
	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		{
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				paq_EditarPaquete(id_paquete);
				alert('El elemento se ha eliminado satisfactoriamente.');
			}
		}
	);
	
	return true;
}

function paq_controlActivo(P_id_paquete)
{
	parametros=paq_getParametros(P_id_paquete,false);
	//$('input[name=paqedit_estado][@value=0]').each(function(){alert(this.id);});
	if(parametros=='')
	{
		//return false;
		$('input[name=paqedit_estado][@value=0]').each(function(){if(this.value==0) this.checked=true;});
		alert('No podrá activar el paquete si no está relleno correctamente.');
		return false;
	}
	
	return true;
}

function paq_getFormDisponibilidad(id_paquete)
{
	capita=glb_CrearCapa(paq_CAPA_VER_PAQUETE);
	if($("#"+paq_CAPA_VER_PAQUETE).dialog('isOpen'))
		$("#"+paq_CAPA_VER_PAQUETE).dialog('destroy');
	$("#"+paq_CAPA_VER_PAQUETE).dialog(
	{
		bgiframe: true,
		autoOpen: true,
		height: 80,
		width: 400,
		modal: true,
		title: 'Seleccione fecha de entrada', 
		draggable: true,
		resizable: false,
		close: function(event, ui) 
		{
			$(this).dialog('destroy');
		}
	});
	$('#'+paq_CAPA_VER_PAQUETE).html(paq_getHTMLCargando());
	
	parametros='accion=26'+
				'&id_paquete='+id_paquete+
				'&ruta_raiz='+paq_ruta_raiz+
				paq_getParametrosGlobales();
	//alert(parametros);
	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		{
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				$('#'+paq_CAPA_VER_PAQUETE).html(data);
			}
		}
	);
	
	return true;
}

function setEventosIntranet()
{
	$("#e_fecha_ini").datepicker(
	{
		firstDay:1,
		dateFormat: 'dd/mm/yy',
		buttonImage:'../images/00ico_disp.gif',
		//showOn:'both',
		buttonImageOnly: true
	});
	$("#e_fecha_ini").datepicker($.datepicker.regional['es']);
	
	$("#e_fecha_fin").datepicker(
	{
		firstDay:1,
		dateFormat: 'dd/mm/yy',
		buttonImage:'../images/00ico_disp.gif',
		//showOn:'both',
		buttonImageOnly: true
	});
	$("#e_fecha_fin").datepicker($.datepicker.regional['es']);
	
	$('.ui-datepicker').css('z-index','10001');
	$('.ui-datepicker-trigger').attr('align','absmiddle').css('cursor','pointer');
}

/**
 * Obtiene el formulario para configurar el tipo de cobro.
 * si id_paquete es 0 es la configuración generica
 * 
 * @param int id_paquete => 0=Generica, >0 para ese paquete en concreto
 * @return
 */
function getFormConfCobro(id_paquete)
{
	capita=glb_CrearCapa(paq_CAPA_VER_PAQUETE);
	if($("#"+paq_CAPA_VER_PAQUETE).dialog('isOpen'))
		$("#"+paq_CAPA_VER_PAQUETE).dialog('destroy');
	$("#"+paq_CAPA_VER_PAQUETE).dialog(
	{
		bgiframe: true,
		autoOpen: true,
		height: 370,
		width: 400,
		modal: true,
		title: 'Configuración del tipo de cobro', 
		draggable: true,
		resizable: false,
		buttons: 
		{
			'Cancelar': function() 
			{
				$(this).dialog('destroy');
			},
			'Guardar': function() 
			{
				setDatosConfCobro(id_paquete);
				//alert('Guardar '+id_paquete);
			}
		},
		close: function(event, ui) 
		{
			$(this).dialog('destroy');
		}
	});
	$('#'+paq_CAPA_VER_PAQUETE).html(paq_getHTMLCargando());
	
	parametros='accion=27'+
				'&id_paquete='+id_paquete+
				'&ruta_raiz=../../'+
				paq_getParametrosGlobales();
	//alert(parametros);
	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		{
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				$('#'+paq_CAPA_VER_PAQUETE).html(data);
			}
		}
	);
	
	return true;
}

function setDatosConfCobro(id_paquete)
{
	parametros='accion=28'+
		'&id_paquete='+id_paquete+
		'&ruta_raiz=../../'+
		paq_getParametrosGlobales();
	
	// ---- Parametros especificos
	if($('#cb_conf_general:checked').attr('checked'))
		parametros+='&pago_especifico=0';
	else
		parametros+='&pago_especifico=1';
	parametros+='&paq_tipo_cobro='+$('#paq_tipo_cobro').val();
	parametros+='&paq_pago_cuenta='+escape($('#paq_pago_cuenta').val());
	parametros+='&paq_pago_anticipo='+$('#paq_pago_anticipo').val();
	parametros+='&paq_pago_observaciones='+escape($('#paq_pago_observaciones').val());
	
	//alert(parametros);
	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		{
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				alert('Los datos se guardaron satisfactoriamente.');
				$('#'+paq_CAPA_VER_PAQUETE).dialog('destroy');
			}
		}
	);
	
	return true;
}

/**
 * No se usa, habría que cambiar las variables JavaScript de ver_ruta.php
 * 
 * @param id_paquete
 * @return
 */
function paq_verRuta(id_paquete)
{
	if($("#capa_concept").dialog('isOpen'))
		$("#capa_concept").dialog('destroy');
	$("#capa_concept").dialog(
	{
		bgiframe: true,
		autoOpen: true,
		height: 550,
		width: 600,
		modal: true,
		title: 'Ruta del Paquete', 
		draggable: true,
		resizable: true,
		close: function(event, ui) 
		{
			$(this).dialog('destroy');
		}
	});
	$('#capa_concept').html(paq_getHTMLCargando());
	
	parametros='id_paquete='+id_paquete+
				'&ruta_raiz=../../'+
				'&lista_casas='+$('#lista_casas').val()+
				paq_getParametrosGlobales();
	//alert(parametros);
	$.post('ver_ruta.php',parametros,
		function(data, textStatus)
		{
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				$('#capa_concept').html(data);
			}
		}
	);
	
	return true;
}

function paq_setEventosGrupos()
{
	// ---- Lista ordenable de grupos
	$("#paq_capa_grupos_lista").sortable(
	{
		placeholder: 'ui-state-highlight',
		items: 'li:not(.ui-state-disabled)'
	});
	$("#paq_capa_grupos_lista").disableSelection();
	$(".paqgrupo_click").click(function(){paq_selGrupo(this.id);});	
	
}

function paq_selGrupo(cod_grupo)
{
	nombre_capa=paq_capa_CONTENIDO_GRUPO;
	aux=cod_grupo.split('_');
	id_grupo=aux[1];
	if(!id_grupo>0)
			return false;
	//alert(id_grupo);
	
	$('#'+nombre_capa).html(paq_getHTMLCargando());
	parametros='accion=29&id_grupo='+id_grupo+paq_getParametrosGlobales();
	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		{
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				$('#'+nombre_capa).html(data);
				paq_setEventosGrupoPaquetes(id_grupo);
			}
		}
	);
	
	return true;
}

function paq_setEventosGrupoPaquetes(id_grupo)
{
	// ---- Para subir la foto
	$("#uploadify_foto").uploadify({
		'uploader'       : paq_ruta_raiz+'lib/js/jquery_uploadify/uploadify.swf',
		'script'         : paq_ruta_raiz+'lib/js/jquery_uploadify/uploadify.php',
		'cancelImg'      : paq_ruta_raiz+'lib/js/jquery_uploadify/cancel.png',
		'folder'         : paq_ruta_raiz+'modulos/paquetes/docs_336',
		'queueID'        : 'fileQueue_foto',
		'auto'           : false,
		'multi'          : false,
		'buttonText'	 : '',
		'buttonImg'		 : '../images/paq_add_imagen_2.gif',
		'width'			 : 12,
		'height'		 : 10,
		'onError'		 : function(event,queueID,fileObj,errorObj){alert(errorObj.info);},
		'fileDesc'		 : 'Documentos de imagenes jpg, gif, png',
		'fileExt'		 : '*.jpg;*.gif;*.png',
		'auto'			 : true,
		onComplete		 : function(event, queueID, fileObj, response, data)
						   {
								//$('#paq_fichero_foto').val(fileObj.filePath+fileObj.name);
								//paq_setDatosPaquete_FileUpload_PDF(id_paquete);
								paq_setGrupoImagen(id_grupo,fileObj.filePath);
						   },
		onSelect		: function(event,queueID,fileObj)
						  {
							   //alert(fileObj.name);
						  }
	});
	
	//alert(id_grupo);
	$("#sortable1, #sortable2").sortable(
	{
		placeholder: 'ui-state-highlight',
		connectWith: ".connectedSortable"
	}).disableSelection(); 
	
	// ---- Para los colores
	$('#paq_e_grupo_color_fondotexto').ColorPicker(
	{
		onSubmit: function(hsb, hex, rgb, el) {
			$(el).val('#'+hex);
			$('#paq_capa_color_fondotexto').attr('bgcolor','#'+hex);
			$(el).ColorPickerHide();
		},
		onBeforeShow: function () {
			$(this).ColorPickerSetColor(this.value);
		}
	}).bind('keyup', function(){
		$(this).ColorPickerSetColor(this.value);
	});


}

function paq_setDatosGrupos()
{
	nombre_capa='paq_capa_grupos_operaciones';
	parametros='accion=30'+paq_getParametrosGlobales()+paq_getGruposOrden();
	
	// ---- Si tenemos un grupo editando
	if(($('#id_grupo').val()>0))
		parametros+=paq_getParametrosGrupo($('#id_grupo').val());
		
	//alert(parametros);	
	$('#'+nombre_capa).html(paq_getHTMLCargando());
	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		{
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				if(confirm("El elemento se ha guardado satisfactoriamente.\n\n¿Desea refrescar para ver los cambios?"))
					document.location.href=document.location.href;
				$('#'+nombre_capa).html('Elemento guardado satisfactoriamente.');
				//$('#'+nombre_capa).html(data);
				//paq_setEventosGrupoPaquetes(id_grupo);
			}
		}
	);
	
	return true;
}

function paq_getGruposOrden()
{
	parametros='';
	
	return parametros+'&'+$("#paq_capa_grupos_lista").sortable('serialize');
}

function paq_getParametrosGrupo(id_grupo)
{
	parametros='&id_grupo='+id_grupo;
	parametros+='&'+$("#sortable1").sortable('serialize');
	parametros+='&titulo='+escape($('#paq_e_grupo_titulo').val());
	parametros+='&alto_texto='+escape($('#paq_e_grupo_titulo_alto').val());
	parametros+='&id_region='+escape($('#paqedit_region').val());
	parametros+='&color_fondotexto='+escape($('#paq_e_grupo_color_fondotexto').val());
	if($('#paqedit_privado').attr('checked'))
		parametros+='&privado=1';
	else
		parametros+='&privado=0';
	
	return parametros;
}

function paq_setGrupoImagen(id_grupo,ruta_imagen)
{
	//alert(id_grupo+'  - '+ruta_imagen);
	nombre_capa='fileQueue_foto';
	parametros= 'accion=31'+
				'&id_grupo='+id_grupo+
				'&ruta_imagen='+ruta_imagen+
				paq_getParametrosGlobales();
	
	$('#'+nombre_capa).html(paq_getHTMLCargando());
	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		{
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				$('#'+nombre_capa).html('');
				$('#paq_img_grupo_'+id_grupo).attr('src',paq_ruta_raiz+'modulos/paquetes/lib/imagen_grupo.php?id_grupo='+id_grupo+'&refresco='+id_grupo);
				alert('La imagen se ha cambiado satisfactoriamente.');
			}
		}
	);
	
	return true;
}


function paq_delGrupoImagen(id_grupo)
{
	//alert(id_grupo);
	nombre_capa='fileQueue_foto';
	parametros= 'accion=32'+
				'&id_grupo='+id_grupo+
				paq_getParametrosGlobales();
	
	$('#'+nombre_capa).html(paq_getHTMLCargando());
	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		{
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				$('#'+nombre_capa).html('');
				$('#paq_img_grupo_'+id_grupo).attr('src',paq_ruta_raiz+'images/paq_sin_imagen.gif?refresco='+id_grupo);
				alert('La imagen se ha eliminado satisfactoriamente.');
			}
		}
	);
	
	return true;
}

function paq_addGrupo()
{
	parametros= 'accion=33'+paq_getParametrosGlobales();

	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		{
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				document.location.href=document.location.href;
			}
		}
	);
	
	return true;
}

function delGrupo(id_grupo)
{
	if(!id_grupo>0)
		return false;
	if(!confirm("Se eliminará el Grupo actual.\n\n¿Continuar?"))
		return false;
	parametros= 'accion=34&id_grupo='+id_grupo+paq_getParametrosGlobales();

	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		{
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				document.location.href=document.location.href;
			}
		}
	);
	
	return true;
}

function paqO_verPaquetesGrupo(id_grupo,id_region)
{
	//nombre_capa=paqO_capa_contenido_paquetes;
	if(!id_region>0)
		id_region=0;
	nombre_capa='fila_1';
	parametros=	'accion=35'+
				'&id_grupo='+id_grupo+
				'&id_region='+id_region+
				paq_getParametrosGlobales();
	//alert(parametros);
	
	$('.capa_grupo_paquetes_operador').slideUp();
	$('#paqO_capa_contenido_paquetes').html(paq_getHTMLCargando());
	$('#paqO_capa_contenido_paquetes').show();
	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		{
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				$('#'+nombre_capa).html(data);
			}
		}
	);
	
	return true;
}

function paq_recalcularImportePresupuesto(activo_publicidad)
{
	// ---- Obtenemos el precio base del presupuesto
	if(activo_publicidad!=2)
		precio_base=parseFloat($('#paq_imp_total_presupuesto').val());
	else
	{
		precio_base=0;
		
		// ---- Precios de las casas
		$('._paq_importes_casas').each(function()
		{
			//alert('Precio Casa: '+this.value);
			precio_base+=parseFloat(this.value);
		});
		
		// ---- Precios de las actividades
		$('._paq_importes_actividades').each(function()
		{
			//alert('Precio Actividad: '+this.value);
			precio_base+=parseFloat(this.value);
		});
	}
	
	// --- Por cada opción marcada sumamos los importes
	$('.cbxpaqopc_:checked').each(function()
	{
		datos_=this.id.split('_');
		precio_base+=parseFloat($('#cbxpaqopc_importe_'+datos_[1]).val());
	});
	
	// --- Comprobamos el Margen, sólo si es precio original
	$('#paq_capa_importe_presupuesto_margen').html('0');
	if((paq_margen_precio>0) && (activo_publicidad==2))
	{
		// ---- En Precio
		if(paq_margen_tipo==1)
		{
			$('#paq_capa_importe_presupuesto_margen').html(FormatoPrecio(paq_margen_precio,2,true));
			precio_base+=parseFloat(paq_margen_precio);
		}
		
		// ---- En Porcentaje
		if(paq_margen_tipo==2)
		{
			$('#paq_capa_importe_presupuesto_margen').html(FormatoPrecio(precio_base * paq_margen_precio / 100,2,true));
			precio_base+=precio_base * paq_margen_precio / 100;
		}
	}
	
	// --- Ponemos el nuevo precio en el total
	$('#paq_capa_importe_presupuesto').html(FormatoPrecio(precio_base,2,true));
}

/**
 * Devuelve el listado de proveedores para seleccionar,
 * dependiendo del Modo irá para Actividades, margen etc...
 * 
 * @param int id_elemento
 * @param int modo => 1=Actividades/Opciones, 2=Margen
 * @return
 */
function paq_getFormProveedores(id_elemento,modo)
{
	if(id_elemento=='')
		id_elemento='0';
	
	// ---- Si es actividad u Opcion es un campo oculto
	if(modo==1)
		id_proveedor=$('#paq_actividad_rel_proveedor_'+id_elemento).val();
	// ---- Si es Margen el id_proveedor seleccionado biene en un campo oculto en form_paquete
	else if(modo==2)
		id_proveedor=$('#paq_id_proveedor_margen').val();
	
	nombre_capa=paq_CAPA_FORM_PROVEEDOR;
	capita=glb_CrearCapa(nombre_capa);
	if($("#"+nombre_capa).dialog('isOpen'))
		$("#"+nombre_capa).dialog('destroy');
	$("#"+nombre_capa).dialog(
	{
		bgiframe: true,
		autoOpen: true,
		height: 550,
		width: 770,
		modal: true,
		title: 'Proveedores', 
		draggable: true,
		resizable: true,
		buttons: 
		{
			'Cerrar': function() 
			{
				$(this).dialog('destroy');
			}
		},
		close: function(event, ui) 
		{
			$(this).dialog('destroy');
		}
	});
	$('#'+nombre_capa).html(paq_getHTMLCargando());
	
	parametros='accion=36'+
				'&id_elemento='+id_elemento+
				'&id_proveedor='+id_proveedor+
				'&modo='+modo+
				paq_getParametrosGlobales();
	//alert(parametros);
	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		{
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				$('#'+nombre_capa).html(data);
				paq_setEventosProveedores();
			}
		}
	);
	
	return true;
}

function paq_setEventosProveedores()
{
	$('#paq_listado_proveedores').dataTable( 
	{
		"aaSorting": [[ 4, "desc" ]],
		//"aoColumns": [null,null,null,null,null],
		"bJQueryUI": true,
		"sPaginationType": "full_numbers",
		"oLanguage": 
		{
			"sUrl": paq_ruta_raiz+"lib/js/data_table/media/idiomas/es_ES.txt"
		}

	});
}

/**
 * Asocia el proveedor al elemento invocado
 * 
 * @param int id_elemento
 * @param int id_proveedor
 * @param int modo => 1=Actividades/Opciones, 2=Margen
 * @return
 */
function paq_setProveedor(id_elemento,id_proveedor,modo)
{
	if(!confirm("Se va a asociar el elemento actual con el Proveedor '"+$('#paq_capa_form_proveedor_nombre_'+id_proveedor).html()+"'\n\n¿Continuar?"))
		return false;

	// ---- Si es para Actividad u Opcion rellena un campo oculto y carga el nombre del proveedor en una capa
	if(modo==1)
		paq_setProveedorActividad(id_elemento, id_proveedor);
	// ---- Si es para Margen rellena un campo oculto en el form_paquete y cambia Value a un boton
	else if(modo==2)
		paq_setProveedorMargen(id_elemento, id_proveedor);
	
	$('#'+paq_CAPA_FORM_PROVEEDOR).dialog('destroy');
}

function paq_setProveedorActividad(id_actividad,id_proveedor)
{
	$('#paq_actividad_rel_proveedor_'+id_actividad).val(id_proveedor);
	$('#paq_capa_actividad_proveedor_'+id_actividad).html($('#paq_capa_form_proveedor_nombre_'+id_proveedor).html());
	$('#paqeditactact_email').val($('#paq_capa_form_proveedor_email_'+id_proveedor).html());
}

function paq_setProveedorMargen(id_actividad,id_proveedor)
{
	$('#paq_id_proveedor_margen').val(id_proveedor);
	$('#btn_proveedor_margen').val($('#paq_capa_form_proveedor_nombre_'+id_proveedor).html());
}

function paq_getFormProveedor(id_proveedor,id_elemento,modo)
{
	nombre_capa=paq_CAPA_FORM_PROVEEDOR_EDIT;
	capita=glb_CrearCapa(nombre_capa);
	if($("#"+nombre_capa).dialog('isOpen'))
		$("#"+nombre_capa).dialog('destroy');
	titulo='Nuevo Proveedor';
	if(id_proveedor>0)
		titulo='Editar Proveedor';
	$("#"+nombre_capa).dialog(
	{
		bgiframe: true,
		autoOpen: true,
		height: 600,
		width: 400,
		modal: true,
		title: titulo, 
		draggable: true,
		resizable: true,
		buttons: 
		{
			'Cancelar': function() 
			{
				$(this).dialog('destroy');
			},
			'Guardar': function() 
			{
				//setDatosConfCobro(id_paquete);
				paq_setDatosProveedor(id_proveedor,id_elemento,modo);
			}
		},
		close: function(event, ui) 
		{
			$(this).dialog('destroy');
		}
	});
	$('#'+nombre_capa).html(paq_getHTMLCargando());
	
	parametros='accion=37'+
				'&id_proveedor='+id_proveedor+
				paq_getParametrosGlobales();
	//alert(parametros);
	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		{
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				$('#'+nombre_capa).html(data);
				paq_setEventosDelProveedor(id_proveedor,id_elemento,modo);
			}
		}
	);
	
	return true;
}

function paq_setEventosDelProveedor(id_proveedor,id_elemento,modo)
{
	// ---- Para subir la foto
	$("#uploadify_foto_prv").uploadify(
	{
		'uploader'       : '../lib/js/jquery_uploadify/uploadify.swf',
		'script'         : '../lib/js/jquery_uploadify/uploadify.php',
		'cancelImg'      : '../lib/js/jquery_uploadify/cancel.png',
		'folder'         : '../modulos/paquetes/docs_336',
		'queueID'        : 'fileQueue_foto_prv',
		'auto'           : true,
		'multi'          : false,
		'buttonText'	 : '',
		'buttonImg'		 : '../images/paq_add_imagen_2.gif',
		'width'			 : 12,
		'height'		 : 10,
		'onError'		 : function(event,queueID,fileObj,errorObj){alert(errorObj.info);},
		'fileDesc'		 : 'Documentos de imagenes jpg, gif, png',
		'fileExt'		 : '*.jpg;*.gif;*.png',
		onComplete		 : function(event, queueID, fileObj, response, data)
						   {
								//paq_setDatosProveedor(id_proveedor,id_elemento);
								$('#fileQueue_foto_prv').html('La imagen se ha subido satisfactoriamente.<br>Sólo se asignará al proveedor si éste se guarda.');
						   },
		onSelect		: function(event,queueID,fileObj)
						  {
							   $('#paq_proveedor_nombre_foto').val(fileObj.name);
						  },
		onCancel		: function(event,queueID,fileObj,data)
						  {
							  $('#paq_proveedor_nombre_foto').val('');
						  }
	});
}

function paq_getParametrosProveedor()
{
	resulta=paq_getParametrosGlobales();
	
	$('#paqeditprov_nombre').css('border','1px solid #FF0000');
	$('#paqeditprov_email').css('border','1px solid #FF0000');
	
	if($.trim($('#paqeditprov_nombre').val())=='')
	{
		$('#paqeditprov_nombre').focus();
		alert('Tiene que indicar un nombre para el Proveedor');
		return '';
	}
	resulta+='&nombre='+escape($('#paqeditprov_nombre').val());
	
	if($.trim($('#paqeditprov_email').val())=='')
	{
		$('#paqeditprov_email').focus();
		alert('Tiene que indicar un email para el Proveedor');
		return '';
	}
	resulta+='&email='+escape($('#paqeditprov_email').val());
	
	resulta+='&cif_nif='+escape($('#paqeditprov_cif').val());
	resulta+='&direccion='+escape($('#paqeditprov_direccion').val());
	resulta+='&telefono='+escape($('#paqeditprov_telefono').val());
	resulta+='&observaciones='+escape($('#paqeditprov_observaciones').val());
	resulta+='&cp='+escape($('#paqeditprov_cp').val());
	resulta+='&localidad='+escape($('#paqeditprov_localidad').val());
	resulta+='&provincia='+escape($('#paqeditprov_provincia').val());
	resulta+='&nombre_fichero_logo='+escape($('#paq_proveedor_nombre_foto').val());
	
	// ---- Datos Bancarios
	resulta+='&banco_sucursal='+escape($('#paqeditprov_sucursal').val());
	resulta+='&banco_cuenta='+escape($('#paqeditprov_cuenta').val());
	resulta+='&banco_swift='+escape($('#paqeditprov_swift').val());
	resulta+='&banco_iban='+escape($('#paqeditprov_iban').val());
	
	return resulta;
}

function paq_setDatosProveedor(id_proveedor,id_elemento,modo)
{
	nombre_capa=paq_CAPA_FORM_PROVEEDOR_EDIT;
	parametros=paq_getParametrosProveedor();
	if(parametros=='')
		return false;
	parametros+='&accion=38&id_proveedor='+id_proveedor;
	
	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		{
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				$('#'+nombre_capa).dialog('destroy');
				paq_getFormProveedores(id_elemento,modo);
				alert('El elemento se ha guardado satisfactoriamente.');
			}
		}
	);
	
	return true;
}

function paq_delProveedor(id_proveedor,id_elemento)
{
	if(!id_proveedor>0)
		return false;
	if(!confirm("Va a eliminar el proveedor seleccionado ("+id_proveedor+")\n\n¿Continuar?"))
		return false;
	
	nombre_capa='fila_proveedor_acciones_'+id_proveedor;
	nombre_capa_2='fila_proveedor_'+id_proveedor;
	parametros='&accion=42&id_proveedor='+id_proveedor;
	$('#'+nombre_capa).html(glb_getHTMLCargando(ruta_raiz));
	
	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		{
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				alert('El elemento se ha eliminado satisfactoriamente.');
				$('#'+nombre_capa_2).hide();
			}
		}
	);
	
	return true;
}

/**
 * Esta funcion se usa para el cambio normal de casa en la conmfirmacion
 * 
 * @param id_paquete
 * @param orden
 * @param id_tipo
 * @param id_casa
 * @param id_habitacion_base
 * @param id_habitacion_base_old
 * @param fecha_entrada
 * @return
 */
function paq_setCambioAlojamientoPresupuesto(id_paquete,orden,id_tipo,id_casa,id_habitacion_base,id_habitacion_base_old,fecha_entrada)
{
	nombre_capa='paq_capa_nombre_habitacion_presupuesto_'+orden;
	nombre_capa_2='paq_capa_nombre_habitacion_presupuesto_img_'+orden;
	$('#'+nombre_capa).html(paq_getHTMLCargando());
	//alert('id_paquete:'+id_paquete+', orden:'+orden+', id_tipo:'+id_tipo+', id_Casa:'+id_casa+', id_habitacion_base:'+id_habitacion_base+', id_habitacion_base_old:'+id_habitacion_base_old);
	
	parametros+='&accion=39&'+
				'&id_paquete='+id_paquete+
				'&orden='+orden+
				'&id_tipo='+id_tipo+
				'&id_casa='+id_casa+
				'&id_habitacion_base='+id_habitacion_base+
				'&id_habitacion_base_old='+id_habitacion_base_old+
				'&fecha_entrada='+fecha_entrada+
				paq_getParametrosGlobales();

	$('#paq_CAPA_FORM_PAQUETE_CASAS').dialog('destroy');
	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		{
			//alert(data);			
			if(data.resulta=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+data.error);
			} else
			{
				// Formato: 1554|1|1|Hab.1 -  1|habitaciones|4|67|2|0|23.00¨1554|2|1|Miralcampo|apartamentos|61|89|1|0|123.00
				nuevos_datos='';
				resulta='';
				resulta=$('#hab_marcados').val().replace($('#hab_marcadas_tramos_'+data.orden).val(),data.disponibilidad_capacidad);
				$('#hab_marcadas_tramos_'+data.orden).val(data.disponibilidad_capacidad);
				
				/*
				datos_reserva=$('#hab_marcados').val().split('¨');
				for(ind_d=0;ind_d<datos_reserva.length;ind_d++)
				{
					//alert(data.disponibilidad_capacidad);

					if(resulta!='') resulta+='¨';
					casa_datos=datos_reserva[ind_d].split('|');
					if((casa_datos[6]!=id_habitacion_base_old))
					{
						resulta+=datos_reserva[ind_d];
					}
					else
					{
						resulta+=data.id_casa+'|'+
								 data.orden+'|'+
								 data.id_tipo+'|'+
								 data.habitacion_nombre+'|'+
								 data.agrupacion+'|'+
								 data.id_habitacion+'|'+
								 data.id_habitacion_base+'|'+
								 data.ocupacion+'|'+
								 data.supletorias+'|'+
								 data.importe;
					}
					
				}
				if(data.disponibilidad_capacidad!='')
					resulta+=data.disponibilidad_capacidad;
				*/
				
				// ---- Cambiamos el importe del campo oculto para la casa del tramo, usado en el recalculado
				$('#cbxpaqcasa_importe_'+orden).val(data.importe);
				$('#cbxpaqcasa_importe_venta_txt_'+orden).html(data.importe);
				$('#cbxpaqcasa_importe_coste_txt_'+orden).html(data.coste);
				
				// ---- Cambiamos el elemento del formulario con las casas a reservar
				$('#hab_marcados').val(resulta);
				
				// ---- Cambiamos el concepto del presupuesto
				$('#'+nombre_capa).html(data.casa_nombre+', '+data.agrupacion+' '+data.habitacion_nombre);
				
				// ---- Cambiamos el click de la imagen para cambiar la casa sobre la nueva que hemos elegido
				$('#'+nombre_capa_2).html('<img src="'+paq_ruta_raiz+'images/1266855074_exchange.png" height="30" border="0" onclick="paq_cambiarAlojamientoPresupuesto('+id_paquete+','+orden+','+id_tipo+','+id_casa+','+id_habitacion_base+',\''+fecha_entrada+'\');" style="cursor:pointer;" id="paq_capa_cambiar_casa_[s/$Tramo.orden/s]" />');
				/*
				$('#paq_capa_cambiar_casa_'+orden).click(function()
				{
					paq_cambiarAlojamientoPresupuesto(data.id_paquete,data.orden,data.id_tipo,data.id_casa,data.id_habitacion_base,fecha_entrada);
				});
				*/
				
				// ---- Recalculamos los importes si procede
				if(data.activo_publicidad==2)
					paq_recalcularImportePresupuesto(data.activo_publicidad);
				
				alert('El establecimiento se ha modificaco satisfactoriamente.');
				//alert(id_habitacion_base+' => '+id_habitacion_base_old+' => '+data.casa_nombre);
			}
		},"json"
	);
	
	return true;
}

function psc_selTodasCasasBusqueda()
{
	$('.psc_cbx_selelementoscasa').attr('checked',true);
}

function psc_BuscarCasasAvanzada(id_paquete,orden,id_tipo)
{
	parametros= 'accion=11'+
				'&id_paquete='+id_paquete+
				'&orden='+orden+
				'&id_tipo='+id_tipo+
				'&tipo_busqueda=AVANZADA'+
				'&'+$('#psc_form_busqueda_avanzada').formSerialize()+
				paq_getParametrosGlobales();
	//alert(parametros);
	$("#"+paq_CAPA_CASAS_CONTENIDO).html(paq_getHTMLCargando());
	$.post(paq_ruta_accion,parametros,
			function(data, textStatus)
    		 {
				//alert(data);
				resultado=data.split('|');
				if(resultado[0]=='KO')
				{
					alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
				} else
				{
					if(data=='')
						$("#"+paq_CAPA_CASAS_CONTENIDO).html('<div style="color:#FF0000; padding:10px;">No se ha localizado ningún establecimiento con los parámetros indicados.</div>');
					else	
					{
						$("#"+paq_CAPA_CASAS_CONTENIDO).html(data);
					}
				}
   			 }
	);
	
	return true;
}

function pqs_setEventosCasasSeleccion(id_paquete,orden,id_tipo)
{
	// ---- Boton busqueda avanzada
	$('#psc_btn_buscar').click(function()
	{
		psc_BuscarCasasAvanzada(id_paquete,orden,id_tipo);
	});
	
	// ---- Boton de búsqueda por nombre / id
	$('#psc_btn_buscar_casa_nombre').click(function()
	{
		paq_BuscarCasas(id_paquete,orden,id_tipo);
	});
	
	// ---- Radio buton de ubicacion
	$('.psc_rb_ubicacion').click(function()
	{
		$('#psc_ubicacion_localidad').attr('disabled','disabled');
		$('#psc_ubicacion_localidad').val('Inserte localidad o comarca');
		
		//if($('.psc_rb_ubicacion:checked').val()==2)
		if($("input[name=psc_rb_ubicacion]:checked").val()==2)
		{
			$('#psc_ubicacion_localidad').removeAttr('disabled');
			$('#psc_ubicacion_localidad').val('');
		}
		
		//if($('.psc_rb_ubicacion:checked').val()==3)
		if($("input[name=psc_rb_ubicacion]:checked").val()==3)
		{
			psc_mostrarAlrededorPunto(id_paquete,orden,id_tipo);
		}
	});
	
	// ---- Botón de añadir habitaciones al paquete
	$('#psc_addHabitacionesPaquete').click(function()
	{
		psc_setDatosPaquete_casa(id_paquete,orden,id_tipo);
	});
	
	// ---- Botón de eliminar habitaciones al paquete
	$('#psc_delHabitacionesPaquete').click(function()
	{
		psc_delHabitacionesPaquete(id_paquete,orden,id_tipo);
	});
}

function psc_contHabitacionesMarcadas(id_casa)
{
	cuantas=0;
	$('.paqelemento_selhabitacion_'+id_casa).each(function()
	{
		if(this.checked)
			cuantas++;
	});
	$('#psc_n_habitaciones_'+id_casa).html(cuantas);
}

function psc2_contHabitacionesMarcadas(id_casa)
{
	cuantas=0;
	$('.paqelemento2_selhabitacion_'+id_casa).each(function()
	{
		if(this.checked)
			cuantas++;
	});
	$('#psc2_n_habitaciones_'+id_casa).html(cuantas);
}

function psc_setDatosPaquete_casa(id_paquete,orden,id_tipo)
{
	parametros= 'accion=13'+
				'&id_paquete='+id_paquete+
				'&orden='+orden+
				'&id_tipo='+id_tipo+
				paq_getParametrosGlobales();

	ids_parametros='';
	precios_parametros='';
	tipos_parametros='';
	
	// ---- Para cada casa marcada buscamos las habitaciones
	$('.psc_cbx_selelementoscasa:checked').each(function()
	{
		if((this.id=='') || (this.id=='undefined'))
		{
			alert("No hay ningún establecimiento seleccionado para añadir al paquete.\nRealice una búsqueda y marque un establecimiento.");
			return false;
		}
		
		// --- Formato del id: psc_cbx_selelementoscasa_574133
		elemento_aux=this.id.split('_');
		id_casa=elemento_aux[3];
		
		// ----- Buscamos las habitaciones seleccionadas para esta casa
		//$('.paqelemento_selhabitacion_'+id_casa+':checked').each(function()
		$('.paqelemento_selhabitacion_'+id_casa).each(function()
		{
			elemento_ids=this.id.split('_');
			id_habitacion_base=elemento_ids[2];
			if(ids_parametros!='') 
			{
				ids_parametros+='|';
				precios_parametros+='|';
				tipos_parametros+='|';
			}
			ids_parametros+=id_casa+'_'+id_habitacion_base;
			precios_parametros+=$('#paqelemento_precio_'+id_casa+'_'+id_habitacion_base).val();
			//tipos_parametros+=$('#paqelemento_tipo_'+id_casa+'_'+id_habitacion_base+':checked').val();
			tipos_parametros+='1';
		});
	}); // --- De las casas seleccionadas
	
	if(ids_parametros=='')
	{
		alert('Tiene que seleccionar un elemento del establecimiento para añadir al paquete.');
		return false;
	}
	parametros+='&ids='+ids_parametros;
	parametros+='&precios='+precios_parametros;	
	parametros+='&tipos='+tipos_parametros;
	if(false)
	{	
		alert(parametros);
		return false;
	}
	
	$("#psc_capa_casas_del_paquete").html(paq_getHTMLCargando());
	$.post(paq_ruta_accion,parametros,
	function(data, textStatus)
	{
		//alert(data);
		resultado=data.split('|');
		if(resultado[0]=='KO')
		{
			alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
		} else
		{
			psc_cargarCasasTramo(id_paquete, orden, id_tipo);
			alert('Los elementos seleccionados se han añadido al paquete.');			
		}
	});
	
	return true;
}

function psc_cargarCasasTramo(id_paquete,orden,id_tipo)
{
	$('#psc_capa_casas_del_paquete').html(glb_getHTMLCargando(paq_ruta_raiz));
	parametros= 'accion=22'+
				'&id_paquete='+id_paquete+
				'&orden='+orden+
				'&id_tipo=1'+
				paq_getParametrosGlobales();
	//alert(parametros);
	$.post(paq_ruta_accion,parametros,
	function(data, textStatus)
	{
		//alert(data);
		resultado=data.split('|');
		if(resultado[0]=='KO')
		{
			alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
		} else
		{
			$('#psc_capa_casas_del_paquete').html(data);
		}
	});
	
	return true;
}

function psc_selTodasCasasPaquete()
{
	$('.psc2_cbx_selelementoscasa').each(function()
	{
		this.checked=!this.checked;
	});
}

function psc_getElementosDelPaquete(id_paquete,orden,id_tipo)
{
	
	ids_parametros='';
	precios_parametros='';
	tipos_parametros='';
	
	// ---- Para cada casa marcada buscamos las habitaciones
	$('.psc2_cbx_selelementoscasa:checked').each(function()
	{
		if((this.id=='') || (this.id=='undefined'))
		{
			alert("No hay ningún establecimiento seleccionado para eliminar del paquete.");
			return false;
		}
		
		// --- Formato del id: psc_cbx_selelementoscasa_574133
		elemento_aux=this.id.split('_');
		id_casa=elemento_aux[3];
		
		// ----- Buscamos las habitaciones seleccionadas para esta casa
		$('.paqelemento2_selhabitacion_'+id_casa+':checked').each(function()
		{
			elemento_ids=this.id.split('_');
			id_habitacion_base=elemento_ids[2];
			if(ids_parametros!='') 
			{
				ids_parametros+='|';
				precios_parametros+='|';
				tipos_parametros+='|';
			}
			ids_parametros+=id_casa+'_'+id_habitacion_base;
			precios_parametros+=$('#paqelemento2_precio_'+id_casa+'_'+id_habitacion_base).val();
			//tipos_parametros+=$('#paqelemento2_tipo_'+id_casa+'_'+id_habitacion_base+':checked').val();
			tipos_parametros+='1';
		});
	}); // --- De las casas seleccionadas
	
	resulta=new Array();
	resulta['ids']=ids_parametros;
	resulta['precios']=precios_parametros;
	resulta['tipos']=tipos_parametros;
	
	return resulta;
}

function psc_delHabitacionesPaquete(id_paquete,orden,id_tipo)
{
	if(!confirm("Esto eliminará los elementos seleccionados del Paquete actual.\n\n¿Continuar?"))
		return false;
	
	parametros= 'accion=40'+
				'&id_paquete='+id_paquete+
				'&orden='+orden+
				'&id_tipo='+id_tipo+
				paq_getParametrosGlobales();

	elementos_aux=psc_getElementosDelPaquete(id_paquete,orden,id_tipo);
	
	if(elementos_aux['ids']=='')
	{
		alert('Tiene que seleccionar un elemento del establecimiento para eliminar del paquete.');
		return false;
	}
	parametros+='&ids='+elementos_aux['ids'];
	parametros+='&precios='+elementos_aux['precios'];	
	parametros+='&tipos='+elementos_aux['tipos'];
	if(false)
	{	
		alert(parametros);
		return false;
	}
	
	$("#psc_capa_casas_del_paquete").html(paq_getHTMLCargando());
	$.post(paq_ruta_accion,parametros,
	function(data, textStatus)
	{
		//alert(data);
		resultado=data.split('|');
		if(resultado[0]=='KO')
		{
			alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
		} else
		{
			psc_cargarCasasTramo(id_paquete, orden, id_tipo);
			alert('Los elementos seleccionados se han eliminado del paquete.');			
		}
	});
	
	return true;
}

function psc_setDatosPaquete_Casas(id_paquete,orden,id_tipo)
{
	parametros= 'accion=41'+
				'&id_paquete='+id_paquete+
				'&orden='+orden+
				'&id_tipo='+id_tipo+
	paq_getParametrosGlobales();

	elementos_aux=psc_getElementosDelPaquete(id_paquete,orden,id_tipo);
	
	parametros+='&ids='+elementos_aux['ids'];
	parametros+='&precios='+elementos_aux['precios'];	
	parametros+='&tipos='+elementos_aux['tipos'];
	if(false)
	{	
		alert(parametros);
		return false;
	}
	
	$("#psc_capa_casas_del_paquete").html(paq_getHTMLCargando());
	$.post(paq_ruta_accion,parametros,
	function(data, textStatus)
	{
		//alert(data);
		resultado=data.split('|');
		if(resultado[0]=='KO')
		{
			alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
		} 
		else
		{
			alert('Los elementos del tramo han sido guardados satisfactoriamente.');			
			//paq_CargarTramos(id_paquete);
			//$('#'+paq_CAPA_FORM_PAQUETE_ACTIVIDAD).dialog('destroy');
			psc_cargarCasasTramo(id_paquete,orden,id_tipo);
		}
	});
	
	return true;
}

function psc_mostrarAlrededorPunto(id_paquete,orden,id_tipo)
{
	carga_ventana_alrededor();
}

function paq_calcularMargenActividad()
{
	importe_base=$('#paqeditactact_importe').val().replace(',','.');
	if(isNaN(importe_base))
	{
		$('#paqeditactact_importe').focus();
		alert("El importe de coste no es un valor válido.\nRevíselo y vuelva a calcular el margen.");
		return false;
	}else
		importe_base=parseFloat(importe_base);
	
	margen_=$('#paqeditactact_importe_margen').val().replace(',','.');
	if(isNaN(margen_))
	{
		$('#paqeditactact_importe_margen').focus();
		alert("El porcentaje del margen no es un valor válido.\nRevíselo y vuelva a calcular el margen.");
		return false;
	}else
		margen_=parseFloat(margen_);
	
	importe_final = (importe_base * 100) / (100 - margen_);
	var importe = importe_final.toString().split(".");	
	var parte_entera  = importe[0];
	//Si no tiene parte decimal...
	if(importe[1]!=undefined){
		//nos quedamos con 2 decimales
		var parte_decimal = importe[1].substring(0,2);
		importe = parte_entera+"."+parte_decimal;
	}
	else
		importe = parte_entera;
	
	$('#paqeditactact_venta').val(importe);
}

function paq_CalnedarioMarcarMesCompleto(id_paquete,mes,anio)
{
	dias=[0,31,28,31,30,31,30,31,31,30,31,30,31]; 
	// ---- Bisiesto
	if( ((parseInt(anio)%4==0) && (parseInt(anio)%100!=0)) || (parseInt(anio)%400==0) )
		dias=[0,31,29,31,30,31,30,31,31,30,31,30,31];
	for(ind=1;ind<=dias[parseInt(mes)];ind++)
	{
		id_dia=anio+'_'+mes+'_'+ind;
		if($('#'+id_dia).attr('bgcolor')=='#fbb648')
			$('#'+id_dia).attr('bgcolor','');
		else
			$('#'+id_dia).attr('bgcolor','#fbb648');
	}
}

function paq_ClonarPaquete(id_paquete_original)
{
	if(!confirm("Se duplicará el paquete seleccionado con todos sus datos, casas asociadas y actividades.\n\n¿Continuar?"))
		return false;
	
	parametros= 'accion=43'+
				'&id_paquete_original='+id_paquete_original+
				paq_getParametrosGlobales();
	$.post(paq_ruta_accion,parametros,
	function(data, textStatus)
	{
		//alert(data);
		resultado=data.split('|');
		if(resultado[0]=='KO')
		{
			alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
		} 
		else
		{
			alert("El paquete se ha duplicado satisfactoriamente.\n\nA continuación se refrescará el listado.");			
			$('#Ver').click();
		}
	});
	
	return true;	
}

function paq_TeclaPulsada(e)
{
	var keyCode
	if(window.event)
		keyCode=window.event.keyCode;
	else if(e) 
		keyCode=e.which;
	//alert(keyCode);
	//alert(e.charCode);
	if((e.ctrlKey) && (keyCode==241))
	{
		$('.paq_capas_costes_auxiliares').slideToggle();
		//alert('ctrl + ñ');
	}
}

function paq_ControlDisponibilidadTramo(id_paquete,orden,activo)
{
	if(!confirm("ATENCIÓN MUY IMPORTANTE !!!!!\n\nSi cambia este control deberá volver a asignar los alojamientos.\nTodos los que actualmente estén almacenados SERÁN ELIMINADOS.\n\n¿Continuar?"))
	{
		$('#cb_disponibilidad_capacidad_'+id_paquete+'_'+orden).attr('checked',!activo);		
		return false;
	}
	
	estado=0;
	if(activo)
		estado=1;
	parametros= 'accion=44'+
				'&id_paquete='+id_paquete+
				'&orden='+orden+
				'&estado='+estado+
				paq_getParametrosGlobales();
	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		{
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} 
			else
			{
				paq_CargarTramos(id_paquete);
				alert("El sistema de cálculo de disponibilidad del tramos se ha cambiado satisfactoriamente.");			
			}
		}
	);
	
	return true;	
}

function paq_verGruposTest()
{
	$('#paq_form_ver_grupo').submit();
}

/**
 * Lanza para cada casa, una consulta Ajax para obtener Hab libres
 * @return
 */
function paq_CargarDatosCasaAjax()
{
	$('.precio_medio').each(function()
	{
		paq_CargarDatosCasaAjax_Indv(this.id,'');
	});
}

/**
 * Hace la llamada Ajax para una casa, cargando con la respuesta
 * la capa del precio_medio con el HTML obtenido
 * @return
 */
function paq_CargarDatosCasaAjax_Indv(identificador_capa)
{
	$('#'+identificador_capa).html(paq_getHTMLCargando());
	datos_identificador=identificador_capa.split('_');
	id_casa=datos_identificador[1];
	orden=$('#orden_'+id_casa).val();
	parametros= '&accion=45'+
				'&id_casa='+id_casa+
				'&fecha_entrada='+$('#fecha_entrada_'+id_casa).val()+
				'&id_tipo='+$('#id_tipo_'+id_casa).val()+
				'&id_paquete='+$('#id_paquete_'+id_casa).val()+
				'&orden='+orden+
				'&n_noches='+$('#n_noches_'+id_casa).val()+
				'&precio_original='+$('#cbxpaqcasa_importe_'+orden).val()+
				'&disponibilidad_capacidad='+$('#paq_tramo_disponibilidad_capacidad_'+orden).val()+
				paq_getParametrosGlobales();
	//alert(parametros);
	$.post(paq_ruta_accion,parametros,function(data,Status)
	{
		//alert(data);
		datos_data=data.split('|');
		if(datos_data[0]=='KO')
		{
			$('#'+identificador_capa).html('Ocurrieron problemas al cargar los precios de las habitaciones => '+datos_data[4]);
		}
		else
		{
			$('#'+identificador_capa).html(data);
		}
	});
}

function paq_setCambioAlojamientoPresupuesto_disponibilidad(id_paquete,orden,id_tipo,id_casa,fecha_entrada)
{
	nombre_capa='paq_capa_cambio_casa_original_'+orden;
	nombre_capa_2='paq_capa_cambio_casa_nueva_'+id_casa;
	$('#'+nombre_capa).html(paq_getHTMLCargando());

	// ---- Las habitaciones marcadas para la reserva y las especificas del tramo
	resulta=$('#hab_marcados').val().replace($('#hab_marcadas_tramos_'+orden).val(),$('#paq_cambio_hab_marcadas_'+id_casa).val());
	$('#hab_marcadas_tramos_'+orden).val($('#paq_cambio_hab_marcadas_'+id_casa).val());
	
	// ---- Cambiamos el elemento del formulario con las casas a reservar
	$('#hab_marcados').val(resulta);
	
	// ---- Cojemos el nuevo importe
	importe_nuevo_casa=$('#paq_cambio_precio_'+id_casa).val();
	//alert(importe_nuevo_casa);
	
	// ---- Cambiamos el concepto del presupuesto, es la capa entera que está oculta en el formulario de cambiar casa
	$('#'+nombre_capa).html($('#'+nombre_capa_2).html());
	
	// ---- Cerramos la capa para que no haya problemas
	$('#'+paq_CAPA_FORM_PAQUETE_CASAS).dialog('destroy');

	// ---- Cambiamos el importe del campo oculto para la casa del tramo, usado en el recalculado
	$('#cbxpaqcasa_importe_'+orden).val(importe_nuevo_casa);
	$('#cbxpaqcasa_importe_coste_txt_'+orden).html(importe_nuevo_casa);
	$('#cbxpaqcasa_importe_venta_txt_'+orden).html(importe_nuevo_casa);

	// ---- Recalculamos los importes si procede
	paq_recalcularImportePresupuesto(2);
	
	alert('El establecimiento se ha modificaco satisfactoriamente.');
}

function paq_setTipoPortada()
{
	parametros='accion=46';
	// ----- Controles del tipo de paquete de portada
	/*
	if($('#cb_paquetes_en_portada').attr('checked')) 
		parametros+='&paquete_portada_activa=1';
	else
		parametros+='&paquete_portada_activa=0';*/
	if($('#rb_paquete_tipo_portada_activo').attr('checked'))
		parametros+='&paquete_portada_activa=1';
	else
		parametros+='&paquete_portada_activa=0';
	parametros+='&paquete_portada_modelo='+$('#cb_paquetes_en_portada').val();
	parametros+='&paquete_portada_tipo='+$("input[name=rb_paquete_tipo_portada]:checked").val();
	parametros+=paq_getParametrosGlobales();
	//alert(parametros); return false;
	
	// ---- Control de la capa cargando
	$('#paq_capa_cabecera_control_tipo_portada').hide();
	$('#paq_capa_cabecera_control_tipo_portada_cargando').show();
	
	$.post(paq_ruta_accion,parametros,function(data,Status)
	{
		//alert(data);
		datos_data=data.split('|');
		if(datos_data[0]=='KO')
		{
			$('#'+identificador_capa).html('Ocurrieron problemas al cargar los precios de las habitaciones => '+datos_data[4]);
		}
		else
		{
			alert('La configuración de portada ha sido guardada satisfactoriamente.');
		}
		
		// ---- Control de la capa cargando
		$('#paq_capa_cabecera_control_tipo_portada').show();
		$('#paq_capa_cabecera_control_tipo_portada_cargando').hide();
	});
}

function paq_setAvisoNumPersonas()
{
	alert("Importante !!!\n\nSi modifica el número de personas del paquete, podrá afectar al funcionamiento de la búsqueda de disponibilidad de alguno de los tramos.");
}

function paq_setControlPais()
{
	id_pais=$('#paqedit_pais').val();
	if(!id_pais>0)
	{
		$('#paqedit_provincia').html('<option selected="" value="0">Seleccione ....</option>');
		return false;
	}
	
	parametros='accion=47&id_pais='+id_pais+paq_getParametrosGlobales();
	$.post(paq_ruta_accion,parametros,function(data,Status)
	{
		//alert(data);
		datos_data=data.split('|');
		if(datos_data[0]=='KO')
		{
			alert('Ocurrieron problemas al cargar las provincias del país seleccionado => '+datos_data[1]);
		}
		else
		{
			$('#paqedit_provincia').html(data);
		}
	});
}

/**
 * Lanza la búsqueda de fechas libres a Xdias antes o despues
 * de la fecha seleccionada
 * 
 * @param int id_paquete
 * @param string fecha_entrada => Formato: dd/m/YYYY 
 * @param int tipo => -1=Días anteriores, 1=Dias posteriores
 * @return
 */
function paq_findFechasLibres(id_paquete,fecha_entrada,tipo_fecha,id_tipo)
{
	if(tipo_fecha==-1)
		nombre_capa='paq_capa_fecha_libres_anteriores';
	else
		nombre_capa='paq_capa_fecha_libres_siguientes';
	$('#'+nombre_capa).css('padding','10px');
	$('#'+nombre_capa).html(paq_getHTMLCargando());
	
	parametros= 'accion=48'+
				'&id_paquete='+id_paquete+
				'&fecha_entrada='+fecha_entrada+
				'&tipo_fecha='+tipo_fecha+
				'&id_tipo='+id_tipo+
				paq_getParametrosGlobales();
	$.post(paq_ruta_accion,parametros,function(data,Status)
	{
		//alert(data);
		datos_data=data.split('|');
		if(datos_data[0]=='KO')
		{
			alert('Ocurrieron problemas al cargar las fechas libres para el paquete => '+datos_data[1]);
		}
		else
		{
			$('#'+nombre_capa).html(data);
		}
	});
}

function paq_setControlFechasForm()
{
	resulta=false;
	fecha_hoy=new Date();
	fecha_hoy=new Date(fecha_hoy.getFullYear(),fecha_hoy.getMonth(),fecha_hoy.getDate());
	fecha_control=new Date($('#paq_detalle_anio_find').val(),parseInt($('#paq_detalle_mes_find').val())-1,$('#paq_detalle_dia_find').val());
	
	resulta=(fecha_hoy.getTime() <= fecha_control.getTime() );
	
	//alert(fecha_hoy.getFullYear()+'/'+fecha_hoy.getMonth()+'/'+fecha_hoy.getDate()+' > '+fecha_control.getFullYear()+'/'+fecha_control.getMonth()+'/'+fecha_control.getDate());
	if(!resulta)
		alert('La fecha de búsqueda de disponibilidad no puede ser inferior a hoy');
	return resulta;
}

function paq_Comprobar_Submit_Confirmacion(formulario,otro)
{
	resulta=true;

	if(($('#nombre').length>0) && ($.trim($('#nombre').val())==''))
	{
		alert('Tiene que rellenar el nombre');
		return false;
	}  
	if(($('#nombre_ac').length>0) && ($.trim($('#nombre_ac').val())==''))
	{
		alert('Tiene que rellenar el nombre');
		return false;
	}
	

	if(($('#apellidos').length>0) && ($.trim($('#apellidos').val())==''))
	{
		alert('Tiene que rellenar los apellidos');
		return false;
	} else 
	if(($('#apellidos_ac').length>0) && ($.trim($('#apellidos_ac').val())==''))
	{
		alert('Tiene que rellenar los apellidos');
		return false;
	}
	

	if(($('#telefono1').length>0) && ($.trim($('#telefono1').val())==''))
	{
		alert('Tiene que rellenar el telŽfono 1');
		return false;
	} else
	if(($('#telefono1_ac').length>0) && ($.trim($('#telefono1_ac').val())==''))
	{
		alert('Tiene que rellenar el telŽfono 1');
		return false;
	}
	

	if(($('#telefono2').length>0) && ($.trim($('#telefono2').val())==''))
	{
		alert('Tiene que rellenar el telŽfono 1');
		return false;
	} else
	if(($('#telefono2_ac').length>0) && ($.trim($('#telefono2_ac').val())==''))
	{
		alert('Tiene que rellenar el telŽfono 2');
		return false;
	}
	
	// ---- Comprobamos condiciones
	if((resulta) && (!$('#cbx_acepta').attr('checked')))
	{
		alert('Para continuar tiene  que aceptar las condiciones de reserva.');
		resulta=false;
	}
	return resulta;
}

/**
 * Para el botón de +Opciones => Monta el antiguo +Opciones
 * Devuelve el SingleSearch para la casa
 * 
 * @param int P_id_casa
 * @param int fecha_entrada => Formato: dd/mm/YYYY
 * @param int n_noches
 * @param int n_personas
 * @param istring prefijo => es id_casa|orden|tipo para las hab_marcadas de los paquetes
 * @return
 */
var N_Noches=0;
var HabitacionesLibres=new Array();
var Opciones_IVA=0; 
var paq_prefijo_hab_marcados='';
function paq_VerMasOpciones(P_id_casa,fecha_entrada,n_noches,n_personas,prefijo)
{	
	paq_prefijo_hab_marcados=prefijo;
	tipo_invertida='0';
	nombre_capa='#bv9masopciones_'+P_id_casa+'_'+tipo_invertida;
	// ---- Cerramos las ficha
	$(nombre_capa).slideToggle('slow');
	if($(nombre_capa).html()!='')
		return;
	
	$(nombre_capa).html(paq_getHTMLCargando());   

    //javascript:Opc_MostrarCapaV9(_capa_Opc_nombre+'5813',true,'&id=75&id_casa=5813&fecha_entrada=22/10/2009&n_noches=3&n_personas=2',1);
	
	parametros= "modo=0"+
				"&version_op=9"+
				"&id="+paq_id_operador+"&id_of="+paq_id_oficina+
				"&id_casa="+P_id_casa+
				"&fecha_entrada="+fecha_entrada+
				"&n_noches="+n_noches+
				"&n_personas="+n_personas;
	//alert(parametros);
	$.post(paq_ruta_raiz+"../operadoresV9/modulos/buscadorV9/mas_opciones.php",parametros,
		function(data, textStatus)
		 {
			//alert(data);
			if(data=='KO')
			{
				alert('No se han localizado más opciones en el establecimiento para los criterios de búsqueda. KO');
				$(nombre_capa).hide();
				return false;
			} else
			{
				HabitacionesLibres[P_id_casa]=new Array();
				datos_eval=data.split('[param_ajax/*/param_ajax]');
				//$(nombre_capa).html(data); return '';
				eval(datos_eval[0]);
				$(nombre_capa).html(datos_eval[1]);
				//$('#btn_presupuesto_'+P_id_casa).css('background-color','#666666');
				$('#btn_presupuesto_'+P_id_casa).hide();
				$('#btn_reservar_opc_'+P_id_casa).css('background-color','#666666');
				$('#btn_reservar_opc_'+P_id_casa).val('Recalcular');
				
			}
		 }
   	);
}

function ControlPrecios(P_id_casa)
{
	precio_final=0;
	oferta_final=0;
	Hab_Marcadas='';
	hay_seleccion=false;
	
	// ----- Recorremos las habitaciones para ver cual está chequeada.
	for (ind_hab=0;ind_hab<HabitacionesLibres[P_id_casa].length;ind_hab++)
	{ 			
		id_habitacion=HabitacionesLibres[P_id_casa][ind_hab]['id_habitacion'];
		id_habitacion_base=HabitacionesLibres[P_id_casa][ind_hab]['id_habitacion_base'];
		id_casa=P_id_casa;
		ocupacion=document.getElementById('ocu_'+id_habitacion_base+'_'+P_id_casa).value;
		ocupacion=ocupacion.split('_');
		cuantas=document.getElementById('nh_'+id_habitacion_base+'_'+P_id_casa).value;
		//cuantas=1;
		//alert(id_habitacion+'-'+HabitacionesLibres[P_id_casa][ind_hab]['nombre']+' ('+ocupacion[0]+'-'+ocupacion[1]+'/'+cuantas+')');
		
		// ----- Recorremos Habitaciones_base para buscar el precio
		encontrada=false;
		ind_hab_b=0;
		cuantas_selectas=0;
		while((!encontrada) && (ind_hab_b<HabitacionesLibres[P_id_casa][ind_hab]['habitaciones_base'].length))
		{
			habitacion_base=HabitacionesLibres[P_id_casa][ind_hab]['habitaciones_base'][ind_hab_b];
			//alert(habitacion_base['id_habitacion_base']+'-'+habitacion_base['ocupacion'].length);
			
			// ----- Recorremos la ocupación para encontrar el precio
			ind_ocu=0;
			while((!encontrada) && (ind_ocu<habitacion_base['ocupacion'].length))
			{
				datos_ocupacion=habitacion_base['ocupacion'][ind_ocu];
				//alert(datos_ocupacion['num_persona']+'-'+datos_ocupacion['supletorias']+' <==> '+ocupacion[0]+'-'+ocupacion[1]+'/'+cuantas);
				if((datos_ocupacion['num_persona']==ocupacion[0]) && (datos_ocupacion['supletorias']==ocupacion[1]))
				{
					// ---- Actualizamos el precio y oferta de la fila (Habitación)
					_numero = new oNumero(parseFloat(datos_ocupacion['importe'])*parseFloat(cuantas)*parseFloat(N_Noches));
					//document.getElementById('imp_'+id_habitacion).innerHTML=_numero.formato(2, true,true)+' &euro;';
					if(parseFloat(HabitacionesLibres[P_id_casa][ind_hab]['oferta_importe'])>0)
					{
						_numero = new oNumero(parseFloat(HabitacionesLibres[P_id_casa][ind_hab]['oferta_importe'])*parseFloat(cuantas));
						document.getElementById('of_opc_'+id_habitacion_base+'_'+P_id_casa).innerHTML='-'+_numero.formato(2, true,true)+' &euro;';
					}

					
					// ---- Si está Checkeado lo sumamos al total
					if(document.getElementById('cb_'+id_habitacion_base+'_'+P_id_casa).checked)
					{
						hay_seleccion=true;
						// ----- Para seleccionar el Nº de Habitaciones q se quieren
						cuantas_selectas++;
						if(cuantas_selectas==cuantas)
						{
							// ----- Paramos cuando hayamos montado tantas Hab_base como se pidan
							encontrada=true;	
							importe_1=new oNumero(datos_ocupacion['importe']);
							precio_parcial_aux=parseFloat(importe_1.formato(2, true,false))*parseInt(cuantas)*parseInt(N_Noches);
							precio_final+=precio_parcial_aux;
							if(HabitacionesLibres[P_id_casa][ind_hab]['oferta_importe']>0)
							{
								importe_2=new oNumero(HabitacionesLibres[P_id_casa][ind_hab]['oferta_importe']);
								oferta_final+=parseFloat(importe_2.formato(2, true,false))*parseInt(cuantas);
							}
						}
						
						servicio_comidas_aux=$('#mop_servicio_comida_'+habitacion_base['id_habitacion_base']+'_'+P_id_casa).html();
						elemento_hab=HabitacionesLibres[P_id_casa][ind_hab]['nombre']+' ('+servicio_comidas_aux+')|'+
									 HabitacionesLibres[P_id_casa][ind_hab]['tipo_agrupacion']+'|'+
									 id_habitacion+'|'+
									 habitacion_base['id_habitacion_base']+'|'+
									 ocupacion[0]+'|'+ocupacion[1]+
									 '|'+precio_parcial_aux;
						if(Hab_Marcadas=='')
							Hab_Marcadas=elemento_hab;
						else
							Hab_Marcadas+='¨'+elemento_hab;							
					} // Si la Hab está marcada
				}
				ind_ocu++;
			} // Del While de ocupación
			
			ind_hab_b++;
		} // Del While de Habitaciones_Base
			
	} // Del For de habitaciones

	// ----- Prepamos el IVA
	if(Opciones_IVA>0)
	{
		//alert((precio_final-oferta_final)+'*'+Opciones_IVA+'/'+100);
		precio_final-=oferta_final;
		precio_final+=(precio_final*Opciones_IVA/100);
		//precio_final=new oNumero(precio_final);
		//precio_final=precio_final.formato(2, true,false);
	}
	
	//alert(precio_final);
	_numero = new oNumero(precio_final);
	//$('#importe_total_'+P_id_casa).html(_numero.formato(2, true, true)+' &euro;&nbsp;&nbsp;');
	document.getElementById('f_opciones_'+P_id_casa+'_0').hab_marcados.value=Hab_Marcadas;
	//alert(document.getElementById('f_opciones_'+P_id_casa+'_0').hab_marcados.value);
	
	// ---- Activamos desactivamos los botones de Presupuesto y reserva
	$('#f_opciones_'+P_id_casa+'_0').submit(function(){return false;});
	$('#btn_reservar_opc_'+P_id_casa).unbind('click');
	if(hay_seleccion)
	{ 
		//$('#btn_presupuesto_'+P_id_casa).css('background-color','#6A4101');
		$('#btn_reservar_opc_'+P_id_casa).css('background-color','#EC0000');
		$('#hay_elemento_marcado_'+P_id_casa).val(1);
		$('#btn_presupuesto_'+P_id_casa).hide();
		$('#btn_reservar_opc_'+P_id_casa).css('background-color','#52BE3F');
		$('#btn_reservar_opc_'+P_id_casa).val('Recalcular');
		$('#btn_reservar_opc_'+P_id_casa).click(function()
		{
			if(!hay_seleccion)
				return false;
			
			// ---- Recomponemos las habitaciones marcadas con el nuevo formato para paquetes
			if(paq_prefijo_hab_marcados!='')
			{
				lista_casas_aux=Hab_Marcadas.split('¨');
				Hab_Marcadas='';
				elementos_seleccionado='';
				for(ind_c=0;ind_c<lista_casas_aux.length;ind_c++)
				{
					if(Hab_Marcadas!='') Hab_Marcadas+='¨';
					nombre_casa=$('#paq_nombre_casa_'+P_id_casa).html();
					
					// ----- Elementos seleccionados
					elementos=lista_casas_aux[ind_c].split('|');
					servicio_comidas_aux=$('#mop_servicio_comida_'+elementos[3]+'_'+P_id_casa).html();
					elementos_seleccionado+='<span style="text-transform:capitalize;">'+elementos[1]+'</span> '+servicio_comidas_aux+' para '+elementos[4]+' personas';
					if(elementos[5]>0)
						elementos_seleccionado+=' (+'+elementos[5]+' sup.)';
					elementos_seleccionado+='<br>';
					
					// ---- Codificacion de habitaciones
					Hab_Marcadas+=P_id_casa+'|'+paq_prefijo_hab_marcados+nombre_casa+'|'+lista_casas_aux[ind_c];
				}
			}
			//alert('Habitaciones nuevas:'+Hab_Marcadas+' / Importe nuevo:'+ _numero.formato(2, true, true));
			//alert('Habitaciones nuevas:'+elementos_seleccionado);
			
			// ---- Calculo de la diferencia para mostrar en el selector principal
			control_tramo=paq_prefijo_hab_marcados.split('|');
			importe_casa_original=$('#cbxpaqcasa_importe_'+control_tramo[0]).val();
			precio_diferencia=parseInt((precio_final-importe_casa_original)*100);
			precio_diferencia=precio_diferencia/100;
			_numero2 = new oNumero(precio_diferencia);
			if(precio_diferencia>=0)
				precio_diferencia_formato='+'+_numero2.formato(2, true, true);
			else
				precio_diferencia_formato=_numero2.formato(2, true, true);
			
			// ---- Cambiamos los campos del selector principal
			$('#paq_capa_info_habitaciones_cambio_casa_'+P_id_casa).html(elementos_seleccionado);
			$('#paq_capa_info_habitaciones_cambio_casa_2_'+P_id_casa).html(elementos_seleccionado);
			$('#paq_cambio_hab_marcadas_'+P_id_casa).val(Hab_Marcadas);
			$('#paq_cambio_precio_'+P_id_casa).val(precio_final); // Esto no puede ser con formato, es el q se usa para calculos 
			$('#paq_capa_info_precio_cambio_casa_'+P_id_casa).html(precio_diferencia_formato+' &euro;');
			
			// ---- Le quitamos el click para que sólo lo ejecute una vez, sólo cuando cambie algún concepto
			$('#btn_reservar_opc_'+P_id_casa).unbind('click');
		});

	} else
	{
		$('#btn_presupuesto_'+P_id_casa).css('background-color','#666666');
		$('#btn_reservar_opc_'+P_id_casa).css('background-color','#666666');
		$('#hay_elemento_marcado_'+P_id_casa).val(0);
	}	
}

function oNumero(numero)
{ 
	//Propiedades 
	this.valor = numero || 0; 
	this.dec = -1; 
	
	//Métodos 
	this.formato = numFormat; 
	this.ponValor = ponValor; 
	
	//Definición de los métodos 
	function ponValor(cad) 
	{ 
		if (cad =='-' || cad=='+') return 
		if (cad.length ==0) return 
		if (cad.indexOf('.') >=0) 
			this.valor = parseFloat(cad); 
		else 
			this.valor = parseInt(cad); 
	} 
	
	function numFormat(dec, miles, formatoSP) 
	{ 
		var num = this.valor, signo=3, expr; 
		var cad = ""+this.valor; 
		var ceros = "", pos, pdec, i; 
		for (i=0; i < dec; i++) 
		ceros += '0'; 
		pos = cad.indexOf('.'); 
		if (pos < 0) 
		cad = cad+"."+ceros; 
		else 
		{ 
			pdec = cad.length - pos -1; 
			if (pdec <= dec) 
			{ 
				for (i=0; i< (dec-pdec); i++) 
					cad += '0'; 
			} 
			else 
			{ 
				num = num*Math.pow(10, dec); 
				num = Math.round(num); 
				num = num/Math.pow(10, dec); 
				cad = new String(num); 
			} 
		} 
		pos = cad.indexOf('.'); 
		if (pos < 0) 
			pos = cad.lentgh; 
		if (cad.substr(0,1)=='-' || cad.substr(0,1) == '+') 
			signo = 4; 
		if (miles && pos > signo) 
			do
			{ 
				expr = /([+-]?\d)(\d{3}[\.\,]\d*)/; 
				cad.match(expr); 
				cad=cad.replace(expr, RegExp.$1+','+RegExp.$2); 
			} 
		while (cad.indexOf(',') > signo) 
			if (dec<0) cad = cad.replace(/\./,'') 
			{
				if(formatoSP)
				{
					cad=cad.replace(',','*');
					cad=cad.replace('.',',');
					cad=cad.replace('*','.');
				}
				return cad; 
			}
	} 
} //Fin del objeto oNumero: 

/**
 * Controla si se puede enviar el formulario de +Opciones, 
 * si hay algun elemento seleccionado
 * 
 * @param P_id_casa
 * @return
 */
function BV9_ControlSubmitOpc(P_id_casa)
{
	return ($('#hay_elemento_marcado_'+P_id_casa).val()==1);
		
}

function paq_changeRegionGrupo(id_grupo)
{
	paqO_verPaquetesGrupo(id_grupo,$('#paqedit_region').val());
}

/**
 * Busca los paquetes para el grupo, bien sea los asignados o sin asignar
 * 
 * @param int id_grupo
 * @param int zona => 0=Asignados, 1=Sin asignar
 * @return
 */
function paq_filtrar_paquetes_grupo(id_grupo,zona)
{
	parametros= '&accion=49'+
				'&id_grupo='+id_grupo+
				'&zona='+zona+
				paq_getParametrosGlobales();
	
	// ---- Paquetes del grupo
	if(zona==0)
	{
		nombre_capa='sortable1';
		parametros+='&'+$('#paq_filtro_paquetes_grupos_'+id_grupo).formSerialize();
	}
	// ---- PAquetes sin grupo
	else if(zona==1)
	{
		nombre_capa='sortable2';
		parametros+='&'+$('#paq_filtro_paquetes_singrupos_'+id_grupo).formSerialize();
	}
	//alert(parametros);
	$('#'+nombre_capa).html(paq_getHTMLCargando());
	
	$.post(paq_ruta_accion,parametros,function(data,Status)
	{
		//alert(data);
		datos_data=data.split('|');
		if(datos_data[0]=='KO')
		{
			alert('Ocurrieron problemas al cargar las fechas libres para el paquete => '+datos_data[1]);
		}
		else
		{
			$('#'+nombre_capa).html(data);
		}
	});
}


/**
 * Obtiene el formulario para configurar el módulo externo del paquete
 * sirve para montar el formulario de disponibilidad fuera del sistema
 * en otro portal o servidor
 * 
 * @param int id_paquete => 0=Generica, >0 para ese paquete en concreto
 * @return boolean
 */
function getFormConfExterno(id_paquete)
{
	capita=glb_CrearCapa(paq_CAPA_VER_PAQUETE);
	if($("#"+paq_CAPA_VER_PAQUETE).dialog('isOpen'))
		$("#"+paq_CAPA_VER_PAQUETE).dialog('destroy');
	$("#"+paq_CAPA_VER_PAQUETE).dialog(
	{
		bgiframe: true,
		autoOpen: true,
		height: 400,
		width: 550,
		modal: true,
		title: 'Código para intergración externa', 
		draggable: true,
		resizable: false,
		buttons: 
		{
			'Cerrar': function() 
			{
				$(this).dialog('destroy');
			}
		},
		close: function(event, ui) 
		{
			$(this).dialog('destroy');
		}
	});
	$('#'+paq_CAPA_VER_PAQUETE).html(paq_getHTMLCargando());
	
	parametros='accion=50'+
				'&id_paquete='+id_paquete+
				'&ruta_raiz=../../'+
				paq_getParametrosGlobales();
	//alert(parametros);
	$.post(paq_ruta_accion,parametros,
		function(data, textStatus)
		{
			//alert(data);
			resultado=data.split('|');
			if(resultado[0]=='KO')
			{
				alert('Ha sido imposible completar la operación requerida, por favor contacte con el servicio técnico => '+resultado[1]);
			} else
			{
				$('#'+paq_CAPA_VER_PAQUETE).html(data);
			}
		}
	);
	
	return true;
}
