function encode_utf8( s )
{
  return unescape( encodeURIComponent( s ) );
}

function decode_utf8( s )
{
  return decodeURIComponent( escape( s ) );
}

	/*** ENVIAR TASACION ***/

/*
function EnviarTasacion()
{
		document.getElementById("divAltaTasacion").innerHTML = '<img src="img/procesando.gif" width="16" height="16">' ;
		document.getElementById("btnEnviar").disabled = true ;
	
		xajax_EnviarTasacion( xajax.getFormValues('frmTasacion') , GetAgenciasSeleccionadas() );
}

function evaluaEnviarTasacion( resultado )
{
	if( resultado == "" )
	{
		alert( "La tasaci�n ha sido enviada exitosamente" ) ;
		window.location = "index.php" ;
	}
	else
	{
		document.getElementById("divAltaTasacion").innerHTML = resultado ;
		document.getElementById("btnEnviar").disabled = false ;
	}

	
}
*/


function EnviarTasacion()
{
	//document.getElementById("divAltaTasacion").innerHTML = '<img src="img/procesando.gif" width="16" height="16">' ;
	document.getElementById("btnEnviar").disabled = true ;

	xajax_EnviarTasacion( xajax.getFormValues('frmTasacion') , GetAgenciasSeleccionadas() );
}

function evaluaEnviarTasacion( resultado )
{
	if( resultado == "" )
	{
		Sexy.info('<h1>La tasación ha sido enviada exitosamente</h1>',
			   {
			   onComplete: function()
			   {
					window.location = "index.php" ;
			   }
			 }		
		) ;
		
	
	//	alert( "" ) ;
		
	}
	else
	{		
		Sexy.error('<h1>Se han encontrado errores al procesar el formulario</h1><p>'+resultado+'</p>');
	//	document.getElementById("divAltaTasacion").innerHTML = resultado ;
		document.getElementById("btnEnviar").disabled = false ;
	}
}


/*** ELIMINAR TASACION ***/

function EliminarTasacion( idTasacion )
{
	Sexy.confirm('<h1>Esta seguro que desea eliminar la Tasación ?<h1>', 
			{ 
				textBoxBtnOk: 'Si', 
				textBoxBtnCancel: 'No' ,
				onComplete: function(returnvalue) 
				{
					if (returnvalue) 
					{
						document.getElementById("imgElimina"+idTasacion).src = "img/procesando.gif" ;
						xajax_EliminarTasacion( idTasacion );
					}
				}		
			});			
	
}

function evaluaEliminarTasacion( resultado )
{	
	if( resultado == "" )
	{
		Sexy.info('<h1>Exito</h1><p>Se ha eliminado exitosamente la Tasacion</p>',
				   {
					   onComplete: function()
					   {
							window.location.reload(false);
					   }
				   }		
			) ;		
	}
	else
	{
		Sexy.error('<h1>Errores</h1><p>'+resultado+'</p>',
				   {
					   onComplete: function()
					   {
							window.location.reload(false);
					   }
				   }		
			) ;
	}
	
}	



	/*** SELECTS ***/

// SELECCIONA PAIS TASACION
function SeleccionarPaisTasacion( idPais )
{
	if( idPais == "" )
	{
		LimpiarCombo( 'lstAgenciasSeleccionadas' ) ;
		LimpiarCombo( 'lstAgenciasDisponibles' ) ;
	}
	else
	{
		document.getElementById('btnSeleccionarAgencia').disabled = true ;
		document.getElementById('btnDesSeleccionarAgencia').disabled = true ;
		document.getElementById('lstAgenciasDisponibles').disabled = true ;
		document.getElementById('lstAgenciasSeleccionadas').disabled = true ;
		
		xajax_SeleccionarPaisTasacion( idPais ) ;
	}
}

function evaluaSeleccionarPaisTasacion( resultado )
{	
	document.getElementById('btnSeleccionarAgencia').disabled = false ;
	document.getElementById('btnDesSeleccionarAgencia').disabled = false ;
	document.getElementById('lstAgenciasSeleccionadas').disabled = false ;
	document.getElementById('divAgenciasDisponibles').innerHTML = resultado ;
	LimpiarCombo( 'lstAgenciasSeleccionadas' ) ;
}	



	function ordenarSelect(elSelect)
	{
	    items=document.getElementById(elSelect).options;        // los originales
	    opciones=new Array();                                    // sera un doble array: con el texto, y con el valor
	    //ordenaremos 'opciones', despues sobrescribiremos todas las opciones originales con 'opciones' que ya estaran ordenadas
	    //rellenamos 'opciones'
	    for(a=0;a<items.length;a++)
	        opciones[a]=new Array( items[a].text, items[a].value);
	    opciones.sort();    // ordenamos 'opciones'. Se ordenara alfabeticamente opciones[0], y los cambios seran efectivos tambien para opciones[1]
	    for(a=0;a<items.length;a++) {        //sobrescribimos las opciones originales a las ordenadas
	        items[a].text=opciones[a][0];
	        items[a].value=opciones[a][1];
	    }
	}

	function volcarSelects(emisor, receptor)
	{

	    // Accedemos a los 2 selects
	    emisor = document.getElementById(emisor);
	    receptor = document.getElementById(receptor);
		var arrayRemover = new Array() ;

		for (i = 0; i < emisor.options.length; i++)
		{
			if( emisor.options[i].selected )
			{

				// Obtenemos algunos datos necesarios
				posicion = receptor.options.length;
			    selecionado = i;
		        volcado = emisor.options[i];
		        // Volcamos la opcion al select receptor y lo eliminamos del emisor
		        receptor.options[posicion] = new Option(volcado.text, volcado.value);

				arrayRemover.push( i ) ;
			}
		}

		arrayRemover.reverse() ;
		for (x in arrayRemover)
		{
			emisor.options[arrayRemover[x]] = null;
		}

	    ordenarSelect(document.getElementById("lstAgenciasDisponibles").id);
	    ordenarSelect(document.getElementById("lstAgenciasSeleccionadas").id);
	}


	/**
	 *
	 * @access public
	 * @return string con los id de los destinos seleccionados, separados por ","
	 **/
	function GetAgenciasSeleccionadas()
	{
		var agencias = "" ;

        for (i = 0; i < document.getElementById("lstAgenciasSeleccionadas").options.length; i++)
        {

			agencias = agencias + document.getElementById("lstAgenciasSeleccionadas").options[i].value + ";" ;
        }

		return( agencias ) ;
	}

	/**
	 *
	 * @access public
	 * @return void
	 **/
	function EliminarAgencia( )
	{
		var destinoSeleccionado = document.getElementById("lstAgenciasSeleccionadas").selectedIndex ;
		if( destinoSeleccionado	 >= 0 )
		{
			var idDestino = document.getElementById("lstAgenciasSeleccionadas").options[document.getElementById("lstAgenciasSeleccionadas").selectedIndex].value ;
			var nombre = document.getElementById("lstAgenciasSeleccionadas").options[document.getElementById("lstAgenciasSeleccionadas").selectedIndex].text ;
			volcarSelects('lstAgenciasSeleccionadas', 'lstAgenciasDisponibles');
			
	    ordenarSelect(document.getElementById("lstAgenciasDisponibles").id);
	    ordenarSelect(document.getElementById("lstAgenciasSeleccionadas").id);			
		}
	}

	// FUNCIONES GENERICAS
	function LimpiarCombo( comboID )
	{
	    if (document.getElementById(comboID) != null ) 
	    {
			if( document.getElementById(comboID).options.length>0 )
			{
				document.getElementById(comboID).options.length = 0
				document.getElementById(comboID).selectedIndex = 0;

			}
	    }
	}
