// developed by: Diego guevara - diego.guevara(a)ritbox.com
//---------------------------------------------------------
// Liquidador Vehiculos JS Library
// v2.0.0 - 18.may.2009 - add declaracion sugerida
// v1.0.3 - 09.mar.2009 - primer release

/*
RQ803-2011
Se inhabilita la opcion del acuerdo 469 de 2011 en la funcion validarAcuerdo469_2011.

RQ197-2011-13
Descuento hasta el 29 de junio de 2011 para vigencia <= 2008 Acuerdo 469 de 2011

*/

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-10493258-12']);
_gaq.push(['_trackPageview']);

(
function() 
{
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
}
)();





window.addEvent('load',function()
{
	$('dvcol01').setStyle('display','block');
	$('dvcol02').setStyle('display','none');
	$('dvinfocargando').fade('out');
      
});

window.addEvent('domready',function()
{
	inicializar();
          cargaAporte();
	//cargarVigencias();
	//cargarModelos();
	asignarEventos();
	verificarParametrosGET();
	
   
          
	SqueezeBox.assign($$('a[rel=boxed]'), {
		size: {x: 540, y: 400},
		ajaxOptions: {
			method: 'get' // we use GET for requesting plain HTML
			//,onComplete:function(){}
		}
	});
	
});

var fechaserv = new Date();
var fechainicial = new Date();

/**
 * Función que permite establecer si f1 es mayor que f2
 * retorna 1 si f1 es mayor que f2, 2 si f1 es igual a f2 y 0 en caso si f1 < f2
 */
function fechaMayor(f1, f2)
{
  var a1, a2, m1, m2, d1, d2;
  a1 = parseInt(f1.getFullYear(),10);
  m1 = parseInt(f1.getMonth(),10);
  d1 = parseInt(f1.getDate(),10);
  a2 = parseInt(f2.getFullYear(),10);
  m2 = parseInt(f2.getMonth(),10);
  d2 = parseInt(f2.getDate(),10);
  if (a1 > a2)
    return 1
  else
    if (a1 == a2)
      if (m1 > m2)
        return 1
      else
        if (m1 == m2)
          if (d1 > d2)
            return 1
          else
            if (d1 == d2)
              return 2
            else
              return 0;
        else
          return 0;
    else
      return 0;
}


/**
 * Permite seleccionar el valor de la vigencia que se envia como parametro get
 */
function verificarParametrosGET()
{
	var get = parametrosGET();
	if ( get != "-1" )
	{
		var totalopciones = $('vigencia').options.length;
		for (var i=0; i<totalopciones; i++)
		{
			if ( $('vigencia').options[i].value == get.v )
			{
				$('vigencia').selectedIndex = i;
			}
		}
		
		var urlorigen = document.referrer;
		var temp = urlorigen.split('?');
		urlorigen = temp[0];

		
		var url = window.location.href;
		var params = url.split('?');
		
		urlorigen = urlorigen + '?' + params[1];
		
		$('lnkregresar').setProperty('href',urlorigen);
		$('lnknuevo').setStyle('display','none');
		$('lnkregresar').setStyle('display','block');
	}
	else
	{
		$('lnknuevo').setStyle('display','block');
		$('lnkregresar').setStyle('display','none');
	}
	
}





/** ------------------------------------------------------------------------------------------- inicializador()
* metodo de inicializacion de la pagina
*/
function inicializar()
{
  $('dvlogger').load('inicioservlet');
  $('dvinfocargando').fade('out');
  $('matri1').setStyle('display','none');
  $('matri2').setStyle('display','none');
  $('lnkliquidar').setStyle('display','none');
  $('trvoluntario1').setStyle('display','none');
  $('trvoluntario2').setStyle('display','none');
  $('trblindaje').setStyle('display','none');
 // cargaAporte();
  $('destinoaporte').setProperty('disabled');

 
  $('trotrocilindraje').setStyle('display','none');
  $('trotralinea').setStyle('display','none');
  $('trotramarca').setStyle('display','none');
          
  $('fechaMatricula').value="";
  $('valorCompra').value="";
  $('otrocilindraje').value="";
  $('otralinea').value="";
  $('otramarca').value="";
 
 
}


function esconderCamposVehiculosNuevos()
{
           $('trfechaMatricula').setStyle('display','none');
           $('trvalorCompra').setStyle('display','none');
           $('trotrocilindraje').setStyle('display','none');
           $('trotralinea').setStyle('display','none');
           $('trotramarca').setStyle('display','none');
           $('fechaMatricula').value="";
           $('valorCompra').value="";
           $('otrocilindraje').value="";
           $('otralinea').value="";
           $('otramarca').value="";
}
/** ------------------------------------------------------------------------------------------- asignarEventos()
* asignar eventos a links, botones y objetos del formulario
*/
function asignarEventos()
{

  $('vigencia').addEvent('change',function(e)
  {
    cargarModelos(); 
    cambioTipoVehiculo($('tipo').options[$('tipo').selectedIndex].value);
    var mivigencia = $("vigencia").options[$("vigencia").selectedIndex].value;
    if (parseInt(mivigencia,10) > 2009)
    {
      $('matri1').setStyle('display','none');
      $('matri2').setStyle('display','none');
    }
    else
    {
      $('matri1').setStyle('display','');
      $('matri2').setStyle('display','');
    }
    $('lnkliquidar').setStyle('display','none');
    $('trvoluntario1').setStyle('display','none');
    $('trvoluntario2').setStyle('display','none');
    $('trblindaje').setStyle('display','none');
    $('dvtablas').setStyle('display','none');
    
    
    var modeloEscogido=  $("modelo").options[$("modelo").selectedIndex].value   ;
    var hoy = fechaserv;
    

    if($('h_nuevo_sin_matricula_vigencia_actual').value==1)
    {
         $('trfechaMatricula').setStyle('display','');
         $('trvalorCompra').setStyle('display','');
       //  $('trotrocilindraje').setStyle('display','');
       //  $('trotralinea').setStyle('display','');
       //  $('trotramarca').setStyle('display','');
         $('fechaMatricula').value="";
         $('valorCompra').value="";
         $('otrocilindraje').value="";
         $('otralinea').value="";
         $('otramarca').value=""; 
         $('h_nuevo').value=1; 
          //alert ("nuevo cc"+$('h_nuevo').value);
    }else
    { 
           $('trfechaMatricula').setStyle('display','none');
           $('trvalorCompra').setStyle('display','none');
           $('trotrocilindraje').setStyle('display','none');
           $('trotralinea').setStyle('display','none');
           $('trotramarca').setStyle('display','none');
           $('fechaMatricula').value="";
           $('valorCompra').value="";
           $('otrocilindraje').value="";
           $('otralinea').value="";
           $('otramarca').value="";
           $('h_nuevo').value=0; 
           //alert ("nuevo fff"+$('h_nuevo').value);
    } 
    
    
    
     if (validarAcuerdo469_2011(fechainicial)) {  
      alert("Se\xf1or contribuyente: mediante este liquidador podr\xe1 obtener hasta el "
        + "29 de junio de 2011, \n la reducci\xf3n del cincuenta por ciento (50%) del "
        + "total de los intereses moratorios causados y \n de las sanciones, cuando "
        + "a ello haya lugar, sin que para ello se requiera un pronunciamiento \n "
        + "por parte de la administraci\xf3n tributaria distrital"); 
    }   
    
  });
  
  $('tipo').addEvent('change',function(e)
  {
    cambioTipoVehiculo($('tipo').options[$('tipo').selectedIndex].value);
    $('lnkliquidar').setStyle('display','none');
    $('trvoluntario1').setStyle('display','none');
    $('trvoluntario2').setStyle('display','none');
    $('trblindaje').setStyle('display','none');
    $('dvtablas').setStyle('display','none');
    if( $('h_nuevo').value==0)
    {
        esconderCamposVehiculosNuevos();
    }
    
    //INI RQ383-2011
    if( $('tipo').options[$('tipo').selectedIndex].value == "2")
    {
           $('servicio2').setProperty('disabled');
           $('servicio2').removeProperty('checked');
           $('servicio1').setProperty('checked');
    }else
    {
           $('servicio2').removeProperty('disabled');
    }
    //FIN RQ383-2011
  });
  
  $('modelo').addEvent('change',function(e)
  {
    var modeloEscogido=  $("modelo").options[$("modelo").selectedIndex].value   ;
    var hoy = fechaserv;
    
   var vigenciaEscogida= $('vigencia').options[$('vigencia').selectedIndex].value

    if( $('h_nuevo_sin_matricula_vigencia_actual').value==1 )
    {
         $('trfechaMatricula').setStyle('display','');
         $('trvalorCompra').setStyle('display','');
       //  $('trotrocilindraje').setStyle('display','');
       //  $('trotralinea').setStyle('display','');
       //  $('trotramarca').setStyle('display','');
         $('fechaMatricula').value="";
         $('valorCompra').value="";
         $('otrocilindraje').value="";
         $('otralinea').value="";
         $('otramarca').value=""; 
         $('h_nuevo').value=1; /*El 1 indica que se esta liquidando un vehiculo con un modelo igual a la vigencia actual o siguiente*/  
          //alert ("nuevo si"+$('h_nuevo').value);
    }else  if(vigenciaEscogida ==modeloEscogido)
    {
         $('trvalorCompra').setStyle('display','');
         $('h_nuevo').value=1;  
      
         
    }else
    { 
           $('trfechaMatricula').setStyle('display','none');
           $('trvalorCompra').setStyle('display','none');
           $('trotrocilindraje').setStyle('display','none');
           $('trotralinea').setStyle('display','none');
           $('trotramarca').setStyle('display','none');
           $('fechaMatricula').value="";
           $('valorCompra').value="";
           $('otrocilindraje').value="";
           $('otralinea').value="";
           $('otramarca').value="";
           $('h_nuevo').value=0;  /*El 0 se comporta de manera tradicional */  
           //alert ("nuevo no"+$('h_nuevo').value);
    }
    
    cambioTipoVehiculo($('tipo').options[$('tipo').selectedIndex].value);
    var mivigencia = $("vigencia").options[$("vigencia").selectedIndex].value;
    if (parseInt(mivigencia,10) > 2009)
    {
      $('matri1').setStyle('display','none');
      $('matri2').setStyle('display','none');
    }
    else
    {
      $('matri1').setStyle('display','');
      $('matri2').setStyle('display','');
    }
    $('lnkliquidar').setStyle('display','none');
    $('trvoluntario1').setStyle('display','none');
    $('trvoluntario2').setStyle('display','none');
    $('trblindaje').setStyle('display','none');
    $('dvtablas').setStyle('display','none');
    if( $('h_nuevo').value==0)
    {
        esconderCamposVehiculosNuevos();
    }
  
  });
  
  
  $('aportevoluntario1').addEvent('click',function(e)
  {
    validaraporte(1);
  });
	
  $('aportevoluntario0').addEvent('click',function(e)
  {
    validaraporte(0);
  });
	
  $('marca').addEvent('change',function(e)
  {
    cambioMarcaVehiculo($('marca').options[$('marca').selectedIndex].value);
    $('lnkliquidar').setStyle('display','none');
    $('trvoluntario1').setStyle('display','none');
    $('trvoluntario2').setStyle('display','none');
    $('trblindaje').setStyle('display','none');
    $('dvtablas').setStyle('display','none');
    
    if( $('h_nuevo').value==0)
    {
        esconderCamposVehiculosNuevos();
        //alert ("marca change"+$('h_nuevo').value)
    }
    
  });
	
  $('subtipo').addEvent('change',function(e)
  {
    cambioSubtipoVehiculo($('subtipo').options[$('subtipo').selectedIndex].value);
    $('lnkliquidar').setStyle('display','none');
    $('trvoluntario1').setStyle('display','none');
    $('trvoluntario2').setStyle('display','none');
    $('trblindaje').setStyle('display','none');
    $('dvtablas').setStyle('display','none');
    if(parseInt( $('h_nuevo').value)==0)
    {
        esconderCamposVehiculosNuevos();
        //alert ("subtipo change"+$('h_nuevo').value)
    }
    
  });
	
  $('linea').addEvent('change',function(e)
  {
    cambioLineaVehiculo($('linea').options[$('linea').selectedIndex].value);
    $('lnkliquidar').setStyle('display','none');
    $('trvoluntario1').setStyle('display','none');
    $('trvoluntario2').setStyle('display','none');
    $('trblindaje').setStyle('display','none');
    $('dvtablas').setStyle('display','none');
    
    if( $('h_nuevo').value==0)
    {
        //alert("en linea "|| $('h_nuevo').value);
        esconderCamposVehiculosNuevos();
    }
    
  });

  $('cilindraje').addEvent('change',function(e)
  {
    if ( $('cilindraje').options[$('cilindraje').selectedIndex].value != "0" )
    {
    
      cambioCilindraje();
      $('trotrocilindraje').setStyle('display','none');
      $('otrocilindraje').value="";

    }
    else
    {
      $('lnkliquidar').setStyle('display','none');
      $('trvoluntario1').setStyle('display','none');
      $('trvoluntario2').setStyle('display','none');
      $('trblindaje').setStyle('display','none');
      $('trotrocilindraje').setStyle('display','');
      $('otrocilindraje').value="";      
      $('dvtablas').setStyle('display','none');
    }
    
    if( $('h_nuevo').value==0)
    {
        //alert( $('h_nuevo').value);
        esconderCamposVehiculosNuevos();
    }
  
  });
	
  $('capacidad').addEvent('change',function(e)
  {
    if ( $('capacidad').options[$('capacidad').selectedIndex].value != "-1" )
    {
      $('lnkliquidar').setStyle('display','block');
      $('trvoluntario1').setStyle('display','');
      $('trvoluntario2').setStyle('display','');
      //if ( $('tipo').options[$('tipo').selectedIndex].value == "1" )
      $('trblindaje').setStyle('display','');
    }
    else
    {
      $('lnkliquidar').setStyle('display','none');
      $('trvoluntario1').setStyle('display','none');
      $('trvoluntario2').setStyle('display','none');
      $('trblindaje').setStyle('display','none');
      $('dvtablas').setStyle('display','none');
    }
    
    if( $('h_nuevo').value==0)
    {
        esconderCamposVehiculosNuevos();
    }
  });
	
  $('lnkliquidar').addEvent('click',function(e)
  {
    e.stop();
    liquidarImpuesto();
  });
	
  $('lnkimprimir').addEvent('click',function(e)
  {
    e.stop();
  });

  
  $('otramarca').addEvent('focus',function(e)
  {
    cambioOtraMarca();
  });

  $('otralinea').addEvent('focus',function(e)
  {
    cambioOtraLinea();
  });
  
  
  
  $('otrocilindraje').addEvent('focus',function(e)
  {
      cambioCilindraje();
  });
  


}

function cambioOtraMarca()
{
        
        if ( $('tipo').options[$('tipo').selectedIndex].value == "1" ) // si es automovil
	{
           $('trotrocilindraje').setStyle('display','');
           $('trotralinea').setStyle('display','');
           $('otrocilindraje').value="";
           $('otralinea').value="";
        }else if ( $('tipo').options[$('tipo').selectedIndex].value == "2" ) // si es motocicleta
	{
        //  $('otrocilindraje').value="";
        //  $('trotrocilindraje').setStyle('display','');
           $('cilindraje').empty();
	   $('cilindraje').options[$('cilindraje').options.length]=new Option('Seleccione el Cilindraje del Vehiculo','0',false,false);
	   $('trcilindraje').setStyle('display','none');
           $('trcargando').setStyle('display','');
           cargarCilindrajeMotos();     
           $('trcargando').setStyle('display','none');
           
        }else if ( $('tipo').options[$('tipo').selectedIndex].value == "3" || $('tipo').options[$('tipo').selectedIndex].value == "4") // si es carga o pasajeros
	{
             cambioMarcaVehiculo(0);
        }
}


function cambioOtraLinea()
{
    
     $('trotrocilindraje').setStyle('display','');
     $('otrocilindraje').value=""; 
}


function cambioCilindraje()
{
      //alert("cilindraje change");
      $('lnkliquidar').setStyle('display','block');
      $('trvoluntario1').setStyle('display','');
      $('trvoluntario2').setStyle('display','');
      if ( $('tipo').options[$('tipo').selectedIndex].value == "1" )
      $('trblindaje').setStyle('display','');

}

/** ------------------------------------------------------------------------------------------- cambioSubtipoVehiculo()
* Se ejecuta cuando se cambia el subtipo del vehiculo en carga o pasajeros
*/
function cambioSubtipoVehiculo(subtipo)
{
	$('trerror').setStyle('display','none');
	$('dvInfo').setStyle('opacity','0');
	$('trmarca').setStyle('display','none');
	$('trcargando').setStyle('display','');
	
	$('marca').empty();
	$('marca').options[$('marca').options.length]=new Option('Seleccione la Marca del Vehiculo','0',false,false);
	$('trotramarca').setStyle('display','');
        $('otramarca').value="";
	var tipo = $('tipo').options[$('tipo').selectedIndex].value;
	
	var req = new Request.JSON(
	{
							   
	url:'cargarmarcasservlet',
	
	onSuccess: function(data)
	{
		
		data.marcas.each(function(marca)
		{
			if ( marca.codigo != '0' )
				$('marca').options[$('marca').options.length]=new Option(marca.nombre,marca.codigo,false,false);
			else
			{
				showError("No es posible consultar las Marcas, por favor intente m&aacute;s tarde.");
				$('trcargando').setStyle('display','none');
				$('trmarca').setStyle('display','none');
				$('tipo').selectedIndex = 0;
			}
		});
		
		$('trcargando').setStyle('display','none');
		$('trmarca').setStyle('display','');
                
                
	},

	onFailure: function()
	{
		showError("No es posible consultar las Marcas, por favor intente m&aacute;s tarde.");
		$('trcargando').setStyle('display','none');
		$('trmarca').setStyle('display','none');
		$('tipo').selectedIndex = 0;
	}
	}).send("t=" + $('tipo').options[$('tipo').selectedIndex].value + "&v=" + $('vigencia').options[$('vigencia').selectedIndex].value + "&s=" + subtipo);
}

//----------------------------------------------------------------------------------------------------- cambioTipoVehiculo()
function cambioLineaVehiculo(linea)
{
	if ( $('tipo').options[$('tipo').selectedIndex].value == "1" ) // si es automovil
	{
		$('trerror').setStyle('display','none');
		
		$('dvInfo').setStyle('opacity','0');
		
		$('trcilindraje').setStyle('display','none');
		$('trcargando').setStyle('display','');
		
		$('cilindraje').empty();
		$('cilindraje').options[$('cilindraje').options.length]=new Option('Seleccione el Cilindraje del Vehiculo','0',false,false);
		if ( $('linea').options[$('linea').selectedIndex].value != "0" )
		{
                        $('trotralinea').setStyle('display','none');
                        $('otralinea').value="";
			var req = new Request.JSON(
			{
									   
				url:'cargarcilindrajeautomovilservlet',
				
				onSuccess: function(data)
				{
					data.cilindros.each(function(cil)
					{
						var elnombre = cil.nombre;
						if ( elnombre == "-1" )
							elnombre = "Todos";
						$('cilindraje').options[$('cilindraje').options.length]=new Option(elnombre,cil.codigo,false,false);
					});
					
					$('trcargando').setStyle('display','none');
					$('trcilindraje').setStyle('display','');
                                        if( $('h_nuevo').value==1)
                                        {                                 
                                            $('trotrocilindraje').setStyle('display','');
                                            $('otrocilindraje').value="";
                                        }    
                                            
	
				},
		
				onFailure: function()
				{
					showError("No es posible consultar las Lineas, por favor intente m&aacute;s tarde.");
					$('trcargando').setStyle('display','none');
					$('trcilindraje').setStyle('display','none');
					$('linea').selectedIndex = 0;
                                        $('trotrocilindraje').setStyle('display','none');
                                        $('otrocilindraje').value="";
				}
			}).send('l=' + $('linea').options[$('linea').selectedIndex].value + '&m=' + $('modelo').options[$('modelo').selectedIndex].value + "&v=" + $('vigencia').options[$('vigencia').selectedIndex].value + "&ma=" + $('marca').options[$('marca').selectedIndex].value+"&n="+$('h_nuevo').value);
		}
		else
		{
			$('trcargando').setStyle('display','none');
			$('trcilindraje').setStyle('display','none');
                        $('trotralinea').setStyle('display','');
                        $('otralinea').value="";
                        //$('trotrocilindraje').setStyle('display','none');
                        $('otrocilindraje').value="";
		}
	}
}

//----------------------------------------------------------------------------------------------------- cambioMarcaVehiculo()
function cambioMarcaVehiculo(marca)
{
	if ( $('tipo').options[$('tipo').selectedIndex].value == "1" ) // si es automovil
	{
		$('trerror').setStyle('display','none');
		
		$('dvInfo').setStyle('opacity','0');
		
		$('trlinea').setStyle('display','none');
		
		
		$('linea').empty();
		$('linea').options[$('linea').options.length]=new Option('Seleccione la Linea del Vehiculo','0',false,false);
		
		if ( $('marca').options[$('marca').selectedIndex].value != "0" )
		{
			$('trotramarca').setStyle('display','none');
                        $('otramarca').value="";
                        $('trcargando').setStyle('display','');
			var req = new Request.JSON(
			{
									   
				url:'cargarlineaautomovilservlet',
				
				onSuccess: function(data)
				{
					data.lineas.each(function(linea)
					{
						$('linea').options[$('linea').options.length]=new Option(linea.nombre,linea.codigo,false,false);
					});
					
					$('trcargando').setStyle('display','none');
					$('trlinea').setStyle('display','');
 				},
		
				onFailure: function()
				{
					showError("No es posible consultar las Lineas, por favor intente m&aacute;s tarde.");
					$('trcargando').setStyle('display','none');
					$('trlinea').setStyle('display','none');
					$('marca').selectedIndex = 0;
				}
			}).send('m=' + $('marca').options[$('marca').selectedIndex].value  + "&v=" + $('vigencia').options[$('vigencia').selectedIndex].value);
                        
                          $('trotralinea').setStyle('display','');
                          $('otralinea').value="";
		}else
                {
                     $('trotramarca').setStyle('display','');
                     $('otramarca').value="";
                     $('trotralinea').setStyle('display','none');
                     $('otralinea').value="";
                     $('trotrocilindraje').setStyle('display','none');
                     $('otrocilindraje').value="";
                }
	}
	
	if ( $('tipo').options[$('tipo').selectedIndex].value == "2" ) // si es motocicleta
	{
		$('trotramarca').setStyle('display','none');
                $('otramarca').value="";
                        
                $('trotralinea').setStyle('display','none');
                $('otralinea').value="";
                
                $('trotrocilindraje').setStyle('display','none');
                $('otrocilindraje').value="";
                
                
                $('cilindraje').empty();
		$('cilindraje').options[$('cilindraje').options.length]=new Option('Seleccione el Cilindraje del Vehiculo','0',false,false);
		
		$('trcilindraje').setStyle('display','none');
		
		$('trcargando').setStyle('display','');
                if ( $('marca').options[$('marca').selectedIndex].value != "0" )
		{
			   cargarCilindrajeMotos();                     
                } else
                {
                     $('trotramarca').setStyle('display','');
                     $('otramarca').value="";
                     $('trotralinea').setStyle('display','none');
                     $('otralinea').value="";
                     $('trotrocilindraje').setStyle('display','none');
                     $('otrocilindraje').value="";
                     //$('trotrocilindraje').setStyle('display','none');
                     $('trcilindraje').setStyle('display','none');
                     $('trcargando').setStyle('display','none');
                }
	}
	
	
	if ( $('tipo').options[$('tipo').selectedIndex].value == "3" || $('tipo').options[$('tipo').selectedIndex].value == "4") // si es carga o pasajeros
	{
		$('trerror').setStyle('display','none');
		
		$('dvInfo').setStyle('opacity','0');
		
		$('trlinea').setStyle('display','none');
		
		
		$('capacidad').empty();
		$('capacidad').options[$('capacidad').options.length]=new Option('Seleccione la capacidad del vehiculo','-1',false,false);
		
		if ( $('marca').options[$('marca').selectedIndex].value != "0" )
		{
			$('trcargando').setStyle('display','');
			
                        $('trotramarca').setStyle('display','none');
                        $('otramarca').value="";
                        cargarCapacidad();
                }else if( $('otramarca').value!="")
                {
                        $('trcargando').setStyle('display','');
                        cargarCapacidad();
                }else
                {
                   //  //alert("debe esto");
                     $('trotramarca').setStyle('display','');
                     $('otramarca').value="";
                     $('trotralinea').setStyle('display','none');
                     $('otralinea').value="";
                     $('trotrocilindraje').setStyle('display','none');
                     $('otrocilindraje').value="";
                     $('trcilindraje').setStyle('display','none');
                }
	}
	$('trcilindraje').setStyle('display','none');
	$('trcapacidad').setStyle('display','none');
     //   $('trotrocilindraje').setStyle('display','');
   //     $('otrocilindraje').value="";
}

/*
*Fue requerido factorizar esta funcion para poder ser utilizada por la opcion de vehiculos nuevos y vehiculos registrados.
*/

function cargarCilindrajeMotos()
{

    var req = new Request.JSON(
			{
			  url:'cargarcilindrajemotoservlet',
			  onSuccess: function(data)
			  {
			    data.cilindros.each(function(cil)
			    {
			      $('cilindraje').options[$('cilindraje').options.length]=new Option(cil.nombre,cil.codigo,false,false);
			    });
				
			    $('trcargando').setStyle('display','none');
			    $('trcilindraje').setStyle('display','');
			  },
		
			  onFailure: function()
			  {
                            showError("No es posible consultar el Cilindraje, por favor intente m&aacute;s tarde.");
			    $('trcargando').setStyle('display','none');
			    $('trcilindraje').setStyle('display','none');
			    $('marca').selectedIndex = 0;
			  }
			}).send('m=' + $('marca').options[$('marca').selectedIndex].value + "&v=" + $('vigencia').options[$('vigencia').selectedIndex].value);

}

/*
*Carga la capacidad para los tipos 3 o 4 (carga o pasajeros)
*/
function cargarCapacidad()
{
        var req = new Request.JSON(
			{
			   url:'cargarcapacidadservlet',
			   onSuccess: function(data)
				      {
					data.capacidades.each(function(cap)
					{
				   	  $('capacidad').options[$('capacidad').options.length]=new Option(cap.nombre,cap.codigo,false,false);
					});
					
					$('trcargando').setStyle('display','none');
					$('trcapacidad').setStyle('display','');
				      },
		
			   onFailure: function()
				      {
					showError("No es posible consultar las capacidades, por favor intente m&aacute;s tarde.");
					$('trcargando').setStyle('display','none');
					$('trcapacidad').setStyle('display','none');
					$('marca').selectedIndex = 0;
				      }
			}).send('t=' + $('tipo').options[$('tipo').selectedIndex].value + "&v=" + $('vigencia').options[$('vigencia').selectedIndex].value);


}


/** ------------------------------------------------------------------------------------------- cambioTipoVehiculo()
* Se ejecuta cuando se cambia el Combo Tipo de Vehiculo, mediante Ajax consulta el listado de marcs
* o subtipos segun el caso.
*/
function cambioTipoVehiculo(tipo)
{
	$('trerror').setStyle('display','none');
	$('dvInfo').setStyle('opacity','0');
	$('trmarca').setStyle('display','none');
	$('trcargando').setStyle('display','');
	
	$('marca').empty();
	$('marca').options[$('marca').options.length]=new Option('Seleccione la Marca del Vehiculo','0',false,false);
	
        
       $('trotralinea').setStyle('display','none');
       $('otralinea').value="";
       $('trotrocilindraje').setStyle('display','none');
       $('otrocilindraje').value="";
        
	if ( tipo == "1" || tipo == "2" )
	{
                $('trotramarca').value="";
                $('trotramarca').setStyle('display','');
		var req = new Request.JSON(
		{
								   
		url:'cargarmarcasservlet',
		
		onSuccess: function(data)
		{
			
			data.marcas.each(function(marca)
			{
				if ( marca.codigo != '0' )
					$('marca').options[$('marca').options.length]=new Option(marca.nombre,marca.codigo,false,false);
				else
				{
					showError("No es posible consultar las Marcas, por favor intente m&aacute;s tarde.");
					$('trcargando').setStyle('display','none');
					$('trmarca').setStyle('display','none');
					$('tipo').selectedIndex = 0;
				}
			});
			
			$('trcargando').setStyle('display','none');
			$('trmarca').setStyle('display','');
		
		},

		onFailure: function()
		{
			showError("No es posible consultar las Marcas, por favor intente m&aacute;s tarde.");
			$('trcargando').setStyle('display','none');
			$('trmarca').setStyle('display','none');
			$('tipo').selectedIndex = 0;
		}
		}).send("t=" + $('tipo').options[$('tipo').selectedIndex].value + "&v=" + $('vigencia').options[$('vigencia').selectedIndex].value);
		
	}
	
	else if ( tipo == "3" || tipo == "4" )
	{
		$('subtipo').empty();
		$('subtipo').options[$('subtipo').options.length]=new Option('Seleccione el subtipo del vehiculo','0',false,false);
		
		$('trotramarca').value="";
                $('trotramarca').setStyle('display','none');
		var req = new Request.JSON(
		{
								   
		url:'cargarsubtiposservlet',
		
		onSuccess: function(data)
		{
			
			data.subtipos.each(function(subtipo)
			{
				if ( subtipo.codigo != '0' )
					$('subtipo').options[$('subtipo').options.length]=new Option(subtipo.nombre,subtipo.codigo,false,false);
				else
				{
					showError("No es posible consultar los subtipos de veh&iacute;culos, por favor intente m&aacute;s tarde.");
					$('trcargando').setStyle('display','none');
					$('trsubtipo').setStyle('display','none');
					$('tipo').selectedIndex = 0;
				}
			});
			
			$('trcargando').setStyle('display','none');
			$('trsubtipo').setStyle('display','');
		
		},

		onFailure: function()
		{
			showError("No es posible consultar las Marcas, por favor intente m&aacute;s tarde.");
			$('trcargando').setStyle('display','none');
			$('trsubtipo').setStyle('display','none');
			$('tipo').selectedIndex = 0;
		}
		}).send("t=" + $('tipo').options[$('tipo').selectedIndex].value + "&v=" + $('vigencia').options[$('vigencia').selectedIndex].value);
		
		
		
		
	}
	else
	{
		$('trcargando').setStyle('display','none');
	}
	
	// ocultar otros
	$('trsubtipo').setStyle('display','none');
	$('trlinea').setStyle('display','none');
	$('trcilindraje').setStyle('display','none');
	$('trcapacidad').setStyle('display','none');
	
}

function showError(text)
{
	$('dvInfo').setStyle('opacity','0');
	$('dvInfo').removeClass('success');
	$('dvInfo').removeClass('error');
	$('dvInfo').addClass('error');
	$('dvInfo').innerHTML = text;
	$('dvInfo').fade('in');
	
	$('trerror').setStyle('display','');
	$('dvtrerror').innerHTML = text;
}

function showSuccess(text)
{
	$('dvInfo').setStyle('opacity','0');
	$('dvInfo').removeClass('success');
	$('dvInfo').removeClass('error');
	$('dvInfo').addClass('success');
	$('dvInfo').innerHTML = text;
	$('dvInfo').fade('in');
}


//--------------------------------------------------------------------- cargarModelos()
function cargarModelos()
{
  var hoy = fechaserv;
  var modelo = $('modelo');
  var anyo = $('vigencia').options[$('vigencia').selectedIndex].value;
  //hoy.getFullYear();
  modelo.options.length = 0;

 
    if( $('h_nuevo').value==1 && $('h_nuevo_sin_matricula_vigencia_actual').value==1)
    {
     for (var i= parseInt(anyo,10); i<= parseInt(anyo,10)+1; i++)
    {
      if ( i!=hoy.getFullYear())
         modelo.options[modelo.options.length]=new Option(i,i,false,false);
      else
        modelo.options[modelo.options.length]=new Option(i,i,false,true);
    }    
   }else
   {
        modelo.options[modelo.options.length]=new Option(anyo - 25 + ' o Anterior', anyo - 25 ,false,false);
       for (var i= anyo - 24; i<= anyo; i++)
       {
          //  if ( i!=hoy.getFullYear())
              modelo.options[modelo.options.length]=new Option(i,i,false,false);
            /*else
              modelo.options[modelo.options.length]=new Option(i,i,false,true);*/
       }
  }
}

//--------------------------------------------------------------------- cargarVigencias()
function cargarVigencias()
{
  var hoy = fechaserv;
 // alert("hoy"+hoy);
  var vigencia = $('vigencia');
  //for (var i=2009; i <= 2009; i++)
 
 
 if( $('h_vigencia').value!=-1)
 {
   //alert("con vigencia");
   for (var i=$('h_vigencia').value; i <=$('h_vigencia').value; i++)
   {
    if ( i!=hoy.getFullYear())
      vigencia.options[vigencia.options.length]=new Option(i,i,false,false);
    else
      vigencia.options[vigencia.options.length]=new Option(i,i,false,true);
   }
   esconderCamposVehiculosNuevos();
 }else  if( $('h_nuevo').value==0)
 {
  for (var i=2008; i <= hoy.getFullYear(); i++)
  {
    if ( i!=hoy.getFullYear())
      vigencia.options[vigencia.options.length]=new Option(i,i,false,false);
    else
      vigencia.options[vigencia.options.length]=new Option(i,i,false,true);
  }
  esconderCamposVehiculosNuevos();
 }else 
 {
 
  for (var i=hoy.getFullYear(); i <= hoy.getFullYear(); i++)
  {
    if ( i!=hoy.getFullYear())
      vigencia.options[vigencia.options.length]=new Option(i,i,false,false);
    else
      vigencia.options[vigencia.options.length]=new Option(i,i,false,true);
  }
 
 }
  
}


//------------------------------------------------------------------------------------------------------- validarAntesDeliquidar()
function validarAntesDeliquidar()
{
  if($('h_nuevo').value==1)
  {
      
      if ($('fechaMatricula').value=="" && $('h_nuevo_sin_matricula_vigencia_actual').value==1 )
      {
          alert("Por favor diligencie la fecha de matricula");
          return false;  
      }
      
      if ($('valorCompra').value=="" )
      {
          alert("Por favor diligencie el valor de la compra sin IVA");
          return false;  
      }
      if ( $('marca').options[$('marca').selectedIndex].value == "0" &&$('otramarca').value=="" )
      {
         alert("Por favor diligencie la marca");
          return false;  
      }  
      if ( $('linea').options[$('linea').selectedIndex].value == "0" &&$('otralinea').value=="" && $('tipo').options[$('tipo').selectedIndex].value == "1" )//si es automovil
      {
          alert("Por favor diligencie la linea");
          return false;   
      }
      if ( $('cilindraje').options[$('cilindraje').selectedIndex].value == "0" &&$('otrocilindraje').value=="" && $('tipo').options[$('tipo').selectedIndex].value == "1" )
      {
        alert("Por favor diligencie el cilindraje");
        return false;        
      }
     
  }
  return true;
}
/*RQ197-2011-13
Descuento hasta el 29 de junio de 2011 para vigencia <= 2008 Acuerdo 469 de 2011
RQ803-2011
Se inhabilita la opcion del acuerdo 469
*/

function validarAcuerdo469_2011 (f2)
{

 /* var miVctoReforma = new Date("2011", "5", "29", "23", "59", "59");  //Representa el 29 de junio de 2011.
  var anyo = parseInt($("vigencia").options[$("vigencia").selectedIndex].value,10);
  if (( fechaMayor(miVctoReforma, f2) >=1) && anyo <=2008) { 
    return true;
  }
  else {
     return false;   
  }*/
  
    return false; 
}
/*RQ197-2011-13*/

/** ------------------------------------------------------------------------------------------- liquidarImpuesto()
* Realiza un llamado Ajax enviando los parametros para ejecutar la liquidacion
*/
function liquidarImpuesto()
{
	var tipo = $('tipo').options[$('tipo').selectedIndex].value;
	var vigencia = $('vigencia').options[$('vigencia').selectedIndex].value;
	var modelo = $('modelo').options[$('modelo').selectedIndex].value;
	
	var subtipo = $('subtipo').options[$('subtipo').selectedIndex].value;
	var capacidad = $('capacidad').options[$('capacidad').selectedIndex].value;
	
	var marca = $('marca').options[$('marca').selectedIndex].value;
	
	var blindado = 0;
        
         var hoy = fechaserv;
	var nuevo    = $('h_nuevo').value;
        var fechaMatricula="";
        
           
        
	if ($('blindaje1').getProperty('checked') )
	{
	  blindado = 1;
	}
        
        var servicio = 1;
					
	if ($('servicio2').getProperty('checked') )
	{
	  servicio = 2;
	}
        
        var indDm = 0;
        if (parseInt(vigencia) < 2010)
        {
          if ( $('matriculado1').getProperty('checked') )
          {
            indDm = 1;
          }
	}
	$('trerror').setStyle('display','none');
	$('dvInfo').setStyle('opacity','0');
        $('testdiv2').setStyle('opacity','0');
	if (validarAntesDeliquidar() )
	{
	  overlayCargando('Liquidando Impuesto <br/> por favor espere...');
		
	  var avaluo = 0;
	  var moto_grupo_letra = "";
	  var moto_grupo_numero = 0;
		
		
		if (tipo == "1")
		{
		  avaluo = $('cilindraje').options[$('cilindraje').selectedIndex].value;
		}
		
		if (tipo == "2")
		{
		  moto_grupo_letra = $('marca').options[$('marca').selectedIndex].value;
		  moto_grupo_numero = $('cilindraje').options[$('cilindraje').selectedIndex].value;
		}
		
                if(nuevo=="1")
                {
                   avaluo=$('valorCompra').value;
                   fechaMatricula =$('fechaMatricula').value;
                   
                   if($('h_nuevo_sin_matricula_vigencia_actual').value!=1)
                   {
                       nuevo=0; //deja de ser nuevo para la liquidacion. Es "nuevo" para el manejo de la GUI  en la pagina Web JSP
                   }
                   
                }
                
               
		var req = new Request.JSON(
		{
								   
		  url:'liquidarimpuestoservlet',
		  onSuccess: function(data)
		  {
		    if (data != null && parseInt(data.ERROR) == 0)
		    {
                    
                     /*Fecha Inicial*/
                      $('dvfecha1').innerHTML = data.FECHA1;
                      var x = data.FECHA1;
                      x = x.substring(x.length - 10);
                      var a = x.split("/");
                      fechainicial = new Date(parseInt(a[2],10), parseInt(a[1],10) - 1, parseInt(a[0],10));
 
 
                      /*Fecha Final*/
                      $('dvfecha2').innerHTML = data.FECHA2;
                      var y = data.FECHA2;
                      y = y.substring(y.length - 10);
                      var b = y.split("/");
                      var fechafinal = new Date();
                      fechafinal = new Date(parseInt(b[2],10), parseInt(b[1],10) - 1, parseInt(b[0],10));
                    
                      //alert ("fecha inicial"+fechainicial);
                      //alert ("fecha final"+fechafinal);
		      var impuesto = data.IV;
		      $('IV1').innerHTML = FormatCurrencySymbol(impuesto,true);
		      $('IV2').innerHTML = FormatCurrencySymbol(impuesto,true);
				
		      // nueva adicion para declaracion
		      $('h_IV').value = impuesto;
					
		      var descuentoMatricula = data.DM;
                      
                      /**
                      *El descuento se calcula en la clase Java LiquidarImpuesto
                      **/
                      
                     /* if (parseInt(vigencia) < 2010)  	
		      {
                        if ( $('matriculado1').getProperty('checked') )
		        {	
			  descuentoMatricula = (parseInt(impuesto)*50)/100;
                          
                        }
                      }  
					
                      descuentoMatricula = redondear(descuentoMatricula);*/
                      
		      $('DM1').innerHTML = FormatCurrencySymbol(descuentoMatricula,true);
		      $('DM2').innerHTML = FormatCurrencySymbol(descuentoMatricula,true);
		      $('h_DM').value = descuentoMatricula; // adicion para declaracion
		      var valorFU = parseInt(impuesto,10) - parseInt(descuentoMatricula,10);
		      $('FU1').innerHTML = FormatCurrencySymbol(valorFU,true);
		      $('FU2').innerHTML = FormatCurrencySymbol(valorFU,true);
		      $('h_FU').value = valorFU; // adicion para declaracion
					
		      var sancion1 = data.VS1;
                      var sancion2 = data.VS2;
		      /**Para el acuerdo 469 de 2011 se muestra la sancion plena*/			
                      $('VS1').innerHTML = FormatCurrencySymbol(sancion1,true);
		      $('VS2').innerHTML = FormatCurrencySymbol(sancion2,true);
		      $('h_VS1').value = sancion1; // adicion para declaracion
		      $('h_VS2').value = sancion2; // adicion para declaracion
			
                    
                        
                        		
                      var elHA1 = parseInt(valorFU,10) + parseInt(sancion1,10);
                      var elHA2 = parseInt(valorFU,10) + parseInt(sancion2,10);
			

			
                    
                           //   elHA1 = parseInt(valorFU) +  redondear((parseInt(sancion1)*50)/100); 
                               
                
                  
                         //    elHA2 = parseInt(valorFU) +  redondear((parseInt(sancion2)*50)/100);
                   
                        
                        		
                      $('HA1').innerHTML = FormatCurrencySymbol(elHA1,true);
		      $('HA2').innerHTML = FormatCurrencySymbol(elHA2,true);
		
                  
		      $('VP1').innerHTML = FormatCurrencySymbol(elHA1,true);
		      $('VP2').innerHTML = FormatCurrencySymbol(elHA2,true);
		      $('h_VP1').value = elHA1; // adicion para declaracion
		      $('h_VP2').value = elHA2; // adicion para declaracion
                      var VP1=elHA1; //Variable para almacenar el valor a pagar en la fecha inicial.
                      var VP2=elHA2;//Variable para almacenar el valor a pagar en la fecha final.
                      // Descuento hasta el 29 de junio de 2011 para vigencia <= 2008
                      if (validarAcuerdo469_2011(fechainicial)) {
                         VP1 =  parseInt(elHA1,10) -  redondear((parseInt(sancion1,10)*50)/100) ;
                         $('VP1').innerHTML = FormatCurrencySymbol( VP1 ,true);
                         $('h_VP1').value = VP1; // adicion para declaracion
                       } 
                	
                       if (validarAcuerdo469_2011(fechafinal)) { 
                         VP2 =  parseInt(elHA2,10) -  redondear((parseInt(sancion2,10)*50)/100)
                         $('VP2').innerHTML = FormatCurrencySymbol(VP2 ,true);
                         $('h_VP2').value =VP2;// adicion para declaracion
                      }   
                        
                        
                        		
		      var semaf = data.IS1;
					
                      $('IS1').innerHTML = FormatCurrencySymbol(semaf,true);
		      $('IS2').innerHTML = FormatCurrencySymbol(semaf,true);
		      $('h_IS').value = semaf; // adicion para declaracion
					
                      var desprontopago = data.TD;
                                        
		      if (desprontopago != "0" )
                      {
                        desprontopago = redondear((parseInt(valorFU,10)*10)/100);
                                            //desprontopago = redondear(desprontopago);
                      }
                      $('TD1').innerHTML = FormatCurrencySymbol(desprontopago,true);
		      $('TD2').innerHTML = FormatCurrencySymbol('0',true);
		      $('h_TD').value = desprontopago; // adicion para declaracion
					
		      var intmora1 = data.IM1;
		      var intmora2 = data.IM2;
			
                       // Descuento hasta el 29 de junio de 2011 para vigencia <= 2008 Acuerdo 469 de 2011
                       if (validarAcuerdo469_2011(fechainicial)) {
                               intmora1 = redondear((parseInt(data.IM1,10)*50)/100);
                       } 
                       if (validarAcuerdo469_2011(fechafinal)) {
 		               intmora2 = redondear((parseInt(data.IM2,10)*50)/100);
                      } 

                        
                        		
		      $('IM1').innerHTML = FormatCurrencySymbol(intmora1,true);
		      $('IM2').innerHTML = FormatCurrencySymbol(intmora2,true);
		      $('h_IM1').value = intmora1; // adicion para declaracion
                      $('h_IM2').value = intmora2; // adicion para declaracion
					
                      var totalpagar1 = parseInt(VP1,10) + parseInt(semaf,10) - parseInt(desprontopago,10) + parseInt(intmora1,10);
		      var totalpagar2 = parseInt(VP2,10) + parseInt(semaf,10) + parseInt(intmora2,10);
                      $('TP1').innerHTML = FormatCurrencySymbol(totalpagar1,true);
		      $('TP2').innerHTML = FormatCurrencySymbol(totalpagar2,true);
		      $('h_TP1').value = totalpagar1; // adicion para declaracion
		      $('h_TP2').value = totalpagar2; // adicion para declaracion	
		      var pagvol = 0;
					
                      if ( $('aportevoluntario1').getProperty('checked') )
                      {
			pagvol = (parseInt(valorFU,10)*10)/100;
			pagvol = redondear(pagvol,10);
                      }
					
                      $('AV1').innerHTML = FormatCurrencySymbol(pagvol,true);
		      $('AV2').innerHTML = FormatCurrencySymbol(pagvol,true);
		      $('h_AV1').value = pagvol; // adicion para declaracion
		      $('h_AV2').value = pagvol; // adicion para declaracion
					
		      var totaltotal1 = parseInt(totalpagar1,10) + parseInt(pagvol,10);
		      var totaltotal2 = parseInt(totalpagar2,10) + parseInt(pagvol,10);
					
                      $('TA1').innerHTML = FormatCurrencySymbol(totaltotal1,true);
		      $('TA2').innerHTML = FormatCurrencySymbol(totaltotal2,true);
		      $('h_TA1').value = totaltotal1; // adicion para declaracion
		      $('h_TA2').value = totaltotal2; // adicion para declaracion
					
		      $('dvtablas').setStyle('display','block');
		      $('dvgrupo').innerHTML = "";
					
                      avaluo = data.VV;
					
                      $('VV1').innerHTML = FormatCurrencySymbol(avaluo,true);
                      $('VV2').innerHTML = FormatCurrencySymbol(avaluo,true);
                      $('h_VV').value = avaluo; // adicion para declaracion
		      $('dvtarifa').innerHTML = decimales((parseFloat(data.TARIFA)*100), 2 );
		      $('dvgrupo').innerHTML = data.GRUPO;

					
                      // desactivar opciones de liquidacion
		      $('lnkliquidar').setStyle('display','none');
		      $('vigencia').setProperty('disabled');
		      $('modelo').setProperty('disabled');
		      $('tipo').setProperty('disabled');
		      $('marca').setProperty('disabled');
		      $('linea').setProperty('disabled');
		      $('cilindraje').setProperty('disabled');
                      
		      $('subtipo').setProperty('disabled');
		      $('capacidad').setProperty('disabled');
		      $('matriculado1').setProperty('disabled');
		      $('matriculado0').setProperty('disabled');
		      $('aportevoluntario1').setProperty('disabled');
		      $('aportevoluntario0').setProperty('disabled');
                      $('servicio1').setProperty('disabled');
                      $('servicio2').setProperty('disabled');
 		      $('destinoaporte').setProperty('disabled');
                      $('blindaje1').setProperty('disabled');
		      $('blindaje0').setProperty('disabled');
                      $('otramarca').setProperty('disabled');
                      $('otrocilindraje').setProperty('disabled');
                      $('otralinea').setProperty('disabled');
                      $('fechaMatricula').setProperty('disabled');
                      $('valorCompra').setProperty('disabled');
		      $('dvtablas').setStyle('display','block');
		      $('dvInfo').removeClass('error');
		      $('dvInfo').removeClass('dvrespuestaError');
		      $('dvInfo').removeClass('success');
		      $('dvInfo').removeClass('dvrespuestaOk');
		      $('dvInfo').addClass('success');
		      $('dvInfo').addClass('dvrespuestaOk');
                      $('dvInfo').innerHTML = "<p>El Proceso de Liquidaci&oacute;n se complet&oacute; Exitosamente... <br/><br/> Vea el <a href='#claves'>Resultado de la Liquidaci&oacute;n</a> <br/>abajo de las opciones de liquidaci&oacute;n.</p><p>Recuerde que puede imprimir <br/>la liquidaci&oacute;n con el bot&oacute;n que <br/>encuentra en la parte <br/> <a href='#lnkimprimir'>inferior derecha</a> de la p&aacute;gina.</p>";
                      $('dvInfo').fade('in');
		      overlayOff();
		    }
		    else if (parseInt(data.ERROR) == 1)
		    {
                      showError("No es posible Liquidar el Impuesto, por favor intente m&aacute;s tarde."+data.ERRO);
		      $('trcargando').setStyle('display','none');
		      $('trlinea').setStyle('display','none');
		      $('marca').selectedIndex = 0;
		      overlayOff();
		    }
       
		  
		  },
	          onFailure: function(x)
		  {
		    showError("No es posible Liquidar el Impuesto, por favor intente m&aacute;s tarde. Falla"+x);
		    $('trcargando').setStyle('display','none');
		    $('trlinea').setStyle('display','none');
		    $('marca').selectedIndex = 0;
		    overlayOff();
		  }
		}).send('v=' + vigencia + '&t=' + tipo + '&a=' + avaluo + '&ml=' + moto_grupo_letra + '&mn=' + moto_grupo_numero + '&m=' + modelo + '&st=' + subtipo + '&cap=' + capacidad + '&mar=' + marca + '&bl=' + blindado + '&s=' + servicio + '&inddm=' + indDm+ '&nuevo=' + nuevo+ '&fechaMatricula=' + fechaMatricula);
	}
}


/**
* Limita el numero de decimales a un numero especifico
* @param valor: numero a formatear
* @param X: numero de decilames
*/
function decimales(valor,X) 
{
	X = (!X ? 2 : X);
	return Math.round(valor*Math.pow(10,X))/Math.pow(10,X);
} 

function redondear(valor)
{
	valor = parseInt(valor,10) / 1000;
	valor = Math.round(valor);
	valor = parseInt(valor,10)*1000;
	return valor;
}

//--------------------------------------------------------------------- overlayCargando()
function overlayCargando(txt)
{
	overlayOn();
	var dv = document.getElementById('overlay');
	dv.setAttribute('align',"center");
	dv.innerHTML = "<div class='success notice//alert'><strong>"+txt+ "</strong><br/><img src='images/indicator.gif'><br/></ div> &nbsp;";
}


/*
============================================================================================
  Nov.28 / 2008 - FormatCurrencySymbol - Diego A. Guevara C. - DiG
============================================================================================
  Funcion que pone o quita el formato de moneda y el simbolo de moneda de un numero dado 
-------------------------------------------------------
  PARAMETROS:
  valor: Valor
  activo: Indica si se quita(false) o se pone(true) el formato
------------------------------------------------------------------------------------------*/
function FormatCurrencySymbol(valor,activo)
{
	var sign, cents, num;
	var resultado;
	num = valor;
	if (activo == true)
	{
		num = num.toString().replace(/\$|\,/g,'');
		if(isNaN(num))
			num = "0";
		sign = (num == (num = Math.abs(num)));
		num = Math.floor(num*100+0.50000000001);
		cents = num%100;
		num = Math.floor(num/100).toString();
		if(cents<10)
			cents = "0" + cents;
		for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
			num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3));
		//document.getElementById(objeto.id).value = (((sign)?'':'-') + '$ ' + num + '.' + cents);
		resultado = (((sign)?'':'-') + '$' + num );
	}
	else
	{
		result = "";
		len = num.length;
		for(x=0;x<len;++x){
			if((num.charAt(x)!=",")&&(num.charAt(x)!="$")){result=result +num.charAt(x)}
		}
		resultado = result;
	}
	return resultado;
}
// =================================/////////////////=====================================


/*
============================================================================================
  Oct.28 / 2005 - CurrencySymbol - Diego A. Guevara C. - DiG
============================================================================================
  Funcion que pone o quita el formato de moneda y el simbolo de moneda de un numero en 
  un objeto textbox.
-------------------------------------------------------
  PARAMETROS:
  objeto: Objeto a aplicar la funcion (textbox)
  activo: Indica si se quita(false) o se pone(true) el formato
------------------------------------------------------------------------------------------*/
function CurrencySymbol(objeto,activo)
{
	var sign, cents, num;
	num = objeto.value;
	if (activo == true)
	{
		num = num.toString().replace(/\$|\,/g,'');
		if(isNaN(num))
			num = "0";
		sign = (num == (num = Math.abs(num)));
		num = Math.floor(num*100+0.50000000001);
		cents = num%100;
		num = Math.floor(num/100).toString();
		if(cents<10)
			cents = "0" + cents;
		for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
			num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3));
		//document.getElementById(objeto.id).value = (((sign)?'':'-') + '$ ' + num + '.' + cents);
		document.getElementById(objeto.id).value = (((sign)?'':'-') + '$' + num );
	}
	else
	{
		result = "";
		len = num.length;
		for(x=0;x<len;++x){
			if((num.charAt(x)!=",")&&(num.charAt(x)!="$")){result=result +num.charAt(x)}
		}
		document.getElementById(objeto.id).value = result;
		if ( activo != 'submit' )
		document.getElementById(objeto.id).select();
	}
	return true;
}
// =================================/////////////////=====================================


/*
============================================================================================
  Oct.28 / 2005 - CurrencySymbol - Diego A. Guevara C. - DiG
============================================================================================
  Funcion que pone o quita el formato de moneda y el simbolo de moneda de un numero en 
  un objeto textbox.
-------------------------------------------------------
  PARAMETROS:
  objeto: Objeto a aplicar la funcion (textbox)
  activo: Indica si se quita(false) o se pone(true) el formato
------------------------------------------------------------------------------------------*/
function PorcentajeSymbol(objeto,activo)
{
	var sign, cents, num;
	num = objeto.value;
	if (activo == true)
	{
		num = num.toString().replace(/\%|\,/g,'');
		if(isNaN(num))
			num = "0";
		sign = (num == (num = Math.abs(num)));
		num = Math.floor(num*100+0.50000000001);
		cents = num%100;
		num = Math.floor(num/100).toString();
		if(cents<10)
			cents = "0" + cents;
		for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
			num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3));
		//document.getElementById(objeto.id).value = (((sign)?'':'-') + '$ ' + num + '.' + cents);
		document.getElementById(objeto.id).value = (((sign)?'':'-') + num + '%');
	}
	else
	{
		result = "";
		len = num.length;
		for(x=0;x<len;++x){
			if((num.charAt(x)!=",")&&(num.charAt(x)!="%")){result=result +num.charAt(x)}
		}
		document.getElementById(objeto.id).value = result;
		if ( activo != 'submit' )
		document.getElementById(objeto.id).select();
	}
	return true;
}

// =================================/////////////////=====================================


/**
* Captura los parametros enviados por GET y retorna un objeto JSON con los datos
* return Objeto JSON con los datos
*/
function parametrosGET()
{
	var url = window.location.href;
	var params = url.split('?');
	if ( params.length == 2 )
	{
		params = params[1].split('&');
		
		var resultado = '{';
		for ( var i=0;i<params.length;i++)
		{
			var temp = params[i].split('=');
			resultado += '"' + temp[0] + '":"' + temp[1] + '"';
			if ((i+1) != params.length )
				resultado += ',';
		}
		resultado += '}';
		return JSON.decode(resultado);
	}
	else
	{
		return '-1';
	}
}


/**
* Inicializa la pantalla de declaracion
*/
var placaok = 0;
function inicializarDeclaracion()
{
	placaok = 0;
	$('imgplacaalerta').fade('hide');
	$('imgplaca').fade('hide');
	$('spanmun').fade('hide');
	
	$$('.tr_dec').setStyle('display','none');
	$$('.tr_dec_bt').setStyle('display','none');
	$$('.tr_dec_info').setStyle('display','none');
        $$('.tr_dec_info2').setStyle('display','none');
        $$('.tr_dec_info3').setStyle('display','none');
	$$('.tr_dec_bt_enviar').setStyle('display','none');
	
	$$('.tr_dec_error').setStyle('display','none');
	$$('.tr_dec_error2').setStyle('display','none');
	//cargarMunicipios(0);
	cargarImask();
	
	$('identificacion').addEvent('change',function()
	{
		if ( $('identificacion').options[$('identificacion').selectedIndex].value == 'NIT' )
		{
			$('dv_digito').setStyle('display','inline');
                    
		}
		else
		{
			$('dv_digito').setStyle('display','none');
                        $('digito').value="";
		}
	});
	
	$('lnkDeclaracionEnviar').addEvent('click',function(e)
	{
		e.stop();
		if ( validarFormularioDeclaracion() )
		{
			$$('.tr_dec_bt').setStyle('display','none');
			$$('.tr_dec_bt_enviar').setStyle('display','');
			
			$('dvdeclaracioninfo').fade('hide');
			$('dv_dec_boton2').fade('hide');
			
			$('dvdeclaracioninfo').fade('in');
			
			$('dv_dec_boton2').fade('in');
			
		}
	});
		
	
    window.addEvent("domready", function(){

        
	$('placa').addEvent('blur', function()
	{     
		if ( $('placa').value != "" && $('placa').value != "______" && placaok == 0 )
		{
			$('imgplaca').fade('in');
			////alert('verificando placa 0');
			// consultando la placa para que exista en el RDA
			var req = new Request.JSON(
			{
									   
				url:'consultarplacaservlet',
                            	data:{
                                "placa":$('placa').value.replace(' ', ''),
                                "v":$('vigencia').value 
                                },                        
                      		onSuccess: function(data)
				{
                                        if ( parseInt(data.existe,10) == 0 )
					{
                                             
						$$('.tr_dec').setStyle('display','none');
						$$('.tr_dec_bt').setStyle('display','none');
						$$('.tr_dec_info').setStyle('display','');
                                                $$('.tr_dec_info2').setStyle('display','none');
					}else{
                                        
                                           if( $('h_nuevo_sin_matricula_vigencia_actual').value==0){
                                                    placaok = 1;
                                                    $('modeloL').innerHTML=$('modelo').options[$('modelo').selectedIndex].text;
                                                    $('modeloR').innerHTML=data.modelo;
                                                   //alert($('h_nuevo').value);
                                                    if($('servicio1').getProperty('checked')==true)
                                                    {
                                                       $('usoL').innerHTML="PARTICULAR";
                                                    }else
                                                    {
                                                       $('usoL').innerHTML="PÚBLICO"; 
                                                    }
                                                    $('usoR').innerHTML=data.uso;
                                                    
                                                    
                                                    
                                                    if ( $('tipo').options[$('tipo').selectedIndex].value == "1" || $('tipo').options[$('tipo').selectedIndex].value == "2")
                                                    {
                                                        if( $('h_nuevo').value==1){
                                                             $('capacidadL').innerHTML=$('otrocilindraje').value;
                                                             
                                                             if($('otrocilindraje').value=="")
                                                             {
                                                                $('capacidadL').innerHTML = $('cilindraje').options[$('cilindraje').selectedIndex].value;
                                                             }
                                                             
                                                             if($('tipo').options[$('tipo').selectedIndex].value == "2")
                                                             {
                                                               $('capacidadL').innerHTML = $('cilindraje').options[$('cilindraje').selectedIndex].innerHTML;
                                                             }
                                                        }else{
                                                             $('capacidadL').innerHTML = $('cilindraje').options[$('cilindraje').selectedIndex].innerHTML;
                                                          }
                                                    }
                                                    else
                                                    {
                                                        $('capacidadL').innerHTML=$('capacidad').options[$('capacidad').selectedIndex].innerHTML;
                                                    }
                                                    $('capacidadR').innerHTML=data.capacidad;
                                                    
                                                    
                                                    if( $('h_nuevo').value==1){
                                                          if($('otramarca').value=="")
                                                          {
                                                            $('marcaL').innerHTML=$('marca').options[$('marca').selectedIndex].innerHTML;
                                                          }else{
                                                          
                                                           $('marcaL').innerHTML=$('otramarca').value;
                                                          }
                                                          
                                                    }else
                                                    {
                                                          $('marcaL').innerHTML=$('marca').options[$('marca').selectedIndex].innerHTML;
                                                    }
                                                    $('marcaR').innerHTML=data.marca;
        
                                                    if ( $('tipo').options[$('tipo').selectedIndex].value == "1" )
                                                    {
                                                                                         
                                                     if( $('h_nuevo').value==1){
                                                     
                                                         if($('otralinea').value =="")
                                                         {
                                                          $('lineaL').innerHTML=$('linea').options[$('linea').selectedIndex].innerHTML;
                                                          }else{
                                                         $('lineaL').innerHTML=$('otralinea').value;
                                                        }
                                                         
                                                     }
                                                     else{
                                                         $('lineaL').innerHTML=$('linea').options[$('linea').selectedIndex].innerHTML;
                                                     }
                                                    }else{
                                                    $('lineaL').innerHTML="";
                                                    }
                                                  
                                                    $('lineaR').innerHTML=data.linea;
                                                    
                                                    
                                                    
                                                    
                                                    $('dvdatos').setStyle('display','block');
                                                    $$('.tr_dec_info2').setStyle('display','');
                                                    $$('.tr_dec').setStyle('display','none');
                                                    $$('.tr_dec_bt').setStyle('display','none');
                                                    $$('.tr_dec_info').setStyle('display','none');
                                                    
                                            }else
                                            {
                                            	$$('.tr_dec_info').setStyle('display','none');
                                                $$('.tr_dec_info2').setStyle('display','none');
                                                $$('.tr_dec_info3').setStyle('display','');
                                            }
                                            
                                            
                                            }
                                           $('imgplaca').fade('out');
				},
		
				onFailure: function()
				{
					$$('.tr_dec_error').setStyle('display','');
					$('placa').setStyle('background-color','#FFCFCF');
					$('imgplacaalerta').fade('in');
					
					$$('.tr_dec').setStyle('display','none');
					$$('.tr_dec_bt').setStyle('display','none');
					$$('.tr_dec_info').setStyle('display','none');
                                         $$('.tr_dec_info2').setStyle('display','none');
					$$('.tr_dec_bt_enviar').setStyle('display','none');
				
					setTimeout("errorConsultaPlaca()",5000);
					$('imgplaca').fade('out');
					
					
				}
			}).send();
                        
                        $('placa').setProperty('disabled');   
		}
	});
       
       
        
  }); 

	if(parseInt($('h_placa').value)!=-1)
        {
          
          if (navigator.appName.indexOf("Explorer") != -1)
          {
             $('placa').setProperty('disabled');   
             $('placa').fireEvent("blur");
          }else
          {
            //alert("Se consultará su placa para desplegar los datos registrados en el sistema");
          }
     
        }
	$('lnk_dec_si').addEvent('click',function(e)
	{
		e.stop();
		$$('.tr_dec').setStyle('display','');
		$$('.tr_dec_bt').setStyle('display','');
		$$('.tr_dec_info').setStyle('display','none');
	});
	
	$('lnk_dec_no').addEvent('click',function(e)
	{
		e.stop();
		SqueezeBox.close();
	});
	
        
        $('lnk_dec_si2').addEvent('click',function(e)
	{
		e.stop();
		$$('.tr_dec').setStyle('display','');
		$$('.tr_dec_bt').setStyle('display','');
		$$('.tr_dec_info2').setStyle('display','none');
                $('dvdatos').setStyle('display','none');
                 AsignarDv();
	});
	
	$('lnk_dec_no2').addEvent('click',function(e)
	{
		e.stop();
		SqueezeBox.close();
	});
        
	$('lnkDeclaracionEnviarNo').addEvent('click',function(e)
	{
		e.stop();
		$$('.tr_dec_bt').setStyle('display','');
		$$('.tr_dec_bt_enviar').setStyle('display','none');
	});
	
	$('lnkDeclaracionEnviarSi').addEvent('click',function(e)
	{
		e.stop();
		if ( validarFormularioDeclaracion() )
		{
			$$('.tr_dec_bt').setStyle('display','');
			$$('.tr_dec_bt_enviar').setStyle('display','none');
			
			$('lnkDeclaracionEnviar').setStyle('display','none');
			
			var texto = '<div style="float:left">' +
				'<img src="images/indicator.gif" width="16" height="16" alt="cargando" id="imgenviar"/> '+
				'</div> <div style="float:left">&nbsp;&nbsp;&nbsp;Enviando informaci&oacute;n ...</div> ';
				
			$('dvdeclaracionCamposRequeridos').innerHTML = texto;
			
			// enviar mediante ajax datos
			
			var apvol = 0;
			
			if ( $('aportevoluntario1').getProperty('checked') )
			{
				apvol = 1;
			}
			
			var d_cilindraje = "";
			var d_linea = "";
			var d_linea2 = "";
			var d_carga = "";
			var d_pasajeros = "";
			
			var acpm = "";
			
			if ( $('tipo').options[$('tipo').selectedIndex].value == "1" || $('tipo').options[$('tipo').selectedIndex].value == "2")
			{
				acpm = "M";
				d_cilindraje = $('cilindraje').options[$('cilindraje').selectedIndex].value;
				if ( $('tipo').options[$('tipo').selectedIndex].value == "1" )
				{
					d_linea = $('linea').options[$('linea').selectedIndex].value;
					d_linea2 = $('linea').options[$('linea').selectedIndex].innerHTML
					d_cilindraje = $('cilindraje').options[$('cilindraje').selectedIndex].innerHTML;
					acpm = "A";
				}
			}
			else if ( $('tipo').options[$('tipo').selectedIndex].value == "3" )
			{
				d_carga = $('capacidad').options[$('capacidad').selectedIndex].value;
				acpm = "C";
			}
			else if ( $('tipo').options[$('tipo').selectedIndex].value == "4" )
			{
				d_pasajeros = $('capacidad').options[$('capacidad').selectedIndex].value;
				acpm = "P";
			}
			
			
			var d_matriculado = 0;
			if ( $('matriculado1').getProperty('checked') )
			{
				d_matriculado = 1;
			}
			
			var eluso = "0";
			
			if ( $('servicio1').getProperty('checked') )
			{
				eluso = "1";
			}else if ( $('servicio2').getProperty('checked') )
			{
				eluso = "2";
			} 
			
			
			var req = new Request.JSON(
			{
									   
				url:'declaracionservlet',
				data:{
				"razon":$('razon').value,
				"id":$('numero').value,
				"v":$('vigencia').value,
				"dir":$('direccion').value,
				"tel":$('telefono').value,
				"tipoid":$('identificacion').value,
				"digitov":$('digito').value,
                                "email":$('email').value,
				"tarifa":$('dvtarifa').innerHTML,
				"valorimpuesto":$('h_IV').value,
				"aporte":apvol,
				"aportep":$('destinoaporte').options[$('destinoaporte').selectedIndex].value,
				"mpio": $('codigoMunicipio').value, /*$('municipio').options[$('municipio').selectedIndex].value,*/
				"placa":$('placa').value,
				"modelo":$('modelo').options[$('modelo').selectedIndex].value,
				"cilindraje":d_cilindraje,
				"linea":d_linea2,
				"avaluo":$('h_VV').value,
				"impuesto":$('h_FU').value,
				"indmatricula":d_matriculado,
				"semaf":$('h_IS').value,
				"carga":d_carga,
				"pasajeros":d_pasajeros,
				"grupo":$('dvgrupo').innerHTML,
				"clase":acpm,
				"codmarca":$('marca').options[$('marca').selectedIndex].value,
				"codlinea":d_linea,
				
                                "otralinea":$('otralinea').value,/* vehiculos nuevos*/
                                "otramarca":$('otramarca').value,
                                "otrocilindraje":$('otrocilindraje').value, 
                                "fechaMatricula": $('fechaMatricula').value,
                                "nuevo":     $('h_nuevo').value,
  
  				"uso":eluso,
				
				"fecha1":$('dvfecha1').innerHTML,
				"VP1":$('h_VP1').value,
				"VS1":$('h_VS1').value,
				"IM1":$('h_IM1').value,
				"TD":$('h_TD').value,
				"AV1":$('h_AV1').value,
				"TA1":$('h_TA1').value,
				"TP1":$('h_TP1').value,
				
				"fecha2":$('dvfecha2').innerHTML,
				"VP2":$('h_VP2').value,
				"VS2":$('h_VS2').value,
				"IM2":$('h_IM2').value,
				"AV2":$('h_AV2').value,
				"TA2":$('h_TA2').value,
				"TP2":$('h_TP2').value,
                                "DM":$('h_DM').value
				
				},
				onSuccess: function(data)
				           {
					     if(data.volver=="1")
                                             {
                                               $('NIT').value=data.NIT;
                                               $('volverAplicacion').action = data.ruta;
					       $('volverAplicacion').submit();
					      
                                             
                                             }
                                             else if ( data.error == "0" )
					     {
					       var hoy = fechaserv;
                                               if (fechaMayor(hoy, fechainicial) == 1)
                                               {
                                                 $('valor').value = $('h_TA2').value;
                                               }  
                                               else
                                               {
                                                 $('valor').value = $('h_TA1').value;
                                               }  
                                               $('ruta').value = data.ruta;
                                               $('idsoporte').value = data.id;
                                               $('pagooculto').action = data.ruta;
					       $('dvFormulario').setStyle('display','none');
					       $('dvelpdf').setStyle('display','block');
					       $('elpdflink').setProperty('href','reporteservlet?id='+data.id);
					     }
					     else
					     {
					       //alert("errorde datos");
					     }
					
				           },
		
				onFailure: function()
				           {
					     //alert('error al grabar la declaración');
				           }
			}).send();	
			
			//SqueezeBox.close();
		}
	});
	
	/*$('municipio').addEvent('change',function()
	{
		if ( $('municipio').options[$('municipio').selectedIndex].value == "2" )
		{
			$('spanmun').fade('show');
			$('municipio').empty();
			setTimeout('cargarMunicipios(2)',1000);
			
		}
	});*/
	
	
	    $('dvdatos').setStyle('display','none');
}

function errorConsultaPlaca(cont)
{
	$$('.tr_dec_error').setStyle('display','none');
	$('placa').setStyle('background-color','#FFFFFF');
	$('imgplacaalerta').fade('out');
	
	$('placa').value = "";
	
	$$('.tr_dec').setStyle('display','');
	$$('.tr_dec_bt').setStyle('display','');
	$$('.tr_dec_info').setStyle('display','none');
	$$('.tr_dec_bt_enviar').setStyle('display','none');
}

/**
* Valida que los campos requeridos sean digitados en el formulario de
* declaracion
*/
function validarFormularioDeclaracion()
{
	var resultado = true;
	
	if ( $('placa').value == "" )
	{
                alert("Por favor diligencie la placa");
		$('placa').setStyle('background-color','#FFCFCF');
		resultado = false;
	}
	else
	{
		$('placa').setStyle('background-color','#FFF');
	}
	
	if ( $('razon').value == "" )
	{
                alert("Por favor diligencie el nombre o la razón social");
		$('razon').setStyle('background-color','#FFCFCF');
		resultado = false;
	}
	else
	{
		$('razon').setStyle('background-color','#FFF');
	}
	
	if ( $('numero').value == "" )
	{
                alert("Por favor diligencie el número de identificación");
		$('numero').setStyle('background-color','#FFCFCF');
		resultado = false;
	}
	else
	{
		$('numero').setStyle('background-color','#FFF');
	}
	
        
        ValidarDv();
         if ( $('identificacion').options[$('identificacion').selectedIndex].value == 'NIT' && $('digito').value=="")
	{
			 alert("Por favor diligencie el dígito de verificación");
                         $('digito').setStyle('background-color','#FFCFCF');
		         resultado = false;
                     
	}else
        {
                           $('digito').setStyle('background-color','#FFF');
        }
        
        
	
	if ( $('direccion').value == "" )
	{
                 alert("Por favor utilice el asistente de direcciones para ingresar la dirección, el código Dane y el nombre del municipio correspondiente");
		$('direccion').setStyle('background-color','#FFCFCF');
		resultado = false;
	}
	else
	{
		$('direccion').setStyle('background-color','#FFF');
	}
	
       if( valcorreo($('email')))
       {
       	$('email').setStyle('background-color','#FFF');
       }else
	{
               alert("Por favor revise que el correo tenga la esctructura usuario@dominio,  no contenga espacios ni Ñ o ñ ni caracteres especiales como por ejemplo [:&%$/(,)=?¿]");
               $('email').setStyle('background-color','#FFCFCF');
		resultado = false;
	}
       
        
	return resultado;
	
}


function valcorreo(valor) {
/*
if (valor.length == 0 ){
  return true;
}
if (/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/.test(valor.value)){
    return true;
} 
else {
    return false;
}*/

          

var s = valor.value;
var filtro=/^[A-Za-z0-9_.-][A-Za-z0-9_.-]*@[A-Za-z0-9_-]+\.[A-Za-z.]+[A-za-z]$/;
//var filtro = /^[^@\s]+@[^@\.\s]+(\.[^@\.\s]+)+$/
if (s.length == 0 )
{
  alert("Se sugiere ingresar un correo electrónico.");
  return true;
  }
if (filtro.test(s))
return true;
else
  valor.focus();
return false;
/*
var exr = /^[0-9a-z_\-\.]+@[0-9a-z\-\.]+\.[a-z]{2,4}$/i;
return exr.test(valor);
*/
}




/**
* funcion para cargar los municipios en el formulario de declaracion
* al inicializar carga solo bogota y otro. cuando se selecciona Otro
* obtiene los municipios desde el archivo municipios.json mediante ajax
*/
/*
function cargarMunicipios(tipo)
{
	if ( tipo == 0 )
	{
		$('municipio').options[$('municipio').options.length]=new Option('BOGOTA - BOGOTA D.C','11001',false,false);
		$('municipio').options[$('municipio').options.length]=new Option('---- Otro municipio ----','2',false,false);
	}
	else
		{
		var req = new Request.JSON(
		{
								   
			url:'municipios.json',
			
			onSuccess: function(data)
			{
				data.datom.each(function(datom)
				{
					$('municipio').options[$('municipio').options.length]=new Option(datom.nombre,datom.id,false,false);
				});
				
				$('spanmun').fade('out');
			},
	
			onFailure: function()
			{
				
			}
		}).send();	
	}
}
*/

/**
* Carga el iMask para la verificacion de la placa del vehiculo
*/
function cargarImask()
{
	new iMask(
	{
		onFocus: function(obj) {
			obj.setStyles({"background-color":"#ff8", border:"1px solid #880"});
		},
	
		onBlur: function(obj) {
			obj.setStyles({"background-color":"#fff", border:"1px solid #ccc"});
		},
	
		onValid: function(event, obj) {
			obj.setStyles({"background-color":"#8f8", border:"1px solid #080"});
		},
	
		onInvalid: function(event, obj) {
			if(!event.shift) {
				obj.setStyles({"background-color":"#f88", border:"1px solid #800"});
			}
		}
	});
}

/**
 * convierte el texto de un campo en mayúsculas.
 */
function convertirMayusculas(control)
{
  control.value = control.value.toUpperCase();
}


/**
 * Función que carga las opcione de aporte voluntario
 */
 function cargaAporte()
 {
   $('destinoaporte').empty();
   var req = new Request.JSON(
   {
     url:'aporteservlet',
	
     onSuccess: function(data)
     {
       data.opciones.each(function(opcion)
		          {
			    $('destinoaporte').options[$('destinoaporte').options.length]=new Option(opcion.nombre, opcion.codigo,false,false);
			  });
       var x = data.fecha;
       var a = x.split("/");
       fechaserv = new Date(parseInt(a[2],10), parseInt(a[1],10) - 1, parseInt(a[0],10));    
      // alert("fechaserv"+fechaserv);
       fechainicial = fechaserv;     
       cargarVigencias();
       cargarModelos();
     },
     onFailure: function()
     {
	showError("No es posible cargar las opciones de aporte voluntario, por favor intente m&aacute;s tarde.");
     }
   }).send();
 }
 
 /** ------------------------------------------------------------------------- validaraporte()
* activa o desactiva el campo de destinoaporte en el formulario segun el parametro
* @param e activar o desactivar el destinoaporte
*/
function validaraporte(e)
{
  if ( e == 1 )
  {
    $('destinoaporte').removeProperty('disabled');
  }
  else
  {
    $('destinoaporte').setProperty('disabled','disabled');
  }
}


/**
* Calcula y compara el digito de verificacion con el digitado por el contribuyente.
**/
function ValidarDv()
{ 
        var digitov;
         if ( $('identificacion').options[$('identificacion').selectedIndex].value == 'NIT' && $('digito').value!=""){
            if ($('numero').value!=""&&$('digito').value!="_"){
                nit=$('numero').value;
                if (isNaN(nit))
                {
                    alert('El valor digitado no es un numero valido');		
                } else {
                  
                
                    
                  digitov=CalcularDv();
                  if ($('digito').value!=digitov){
                        alert("El digito de verificacion no coincide, verifique por favor.");
                        $('digito').value = "";
                    }
                }        
            }
       }
}

/**
* Calcula y asigna el digito de verificacion con el digitado por el contribuyente.
**/
function AsignarDv()
{ 
         if ( $('identificacion').options[$('identificacion').selectedIndex].value == 'NIT' && $('digito').value==""){
            if ($('numero').value!=""&&$('digito').value!="_"){
                nit=$('numero').value;
                if (isNaN(nit))
                {
                    alert('El valor digitado no es un numero valido');		
                } else {
                  
                     $('digito').value=CalcularDv();
         
                }        
            }
       }
}

/**
* Calcula  el digito de verificacion con el digitado por el contribuyente.
**/
function CalcularDv()
{ 
       //  if ( $('identificacion').options[$('identificacion').selectedIndex].value == 'NIT' && $('digito').value==""){
            if ($('numero').value!=""&&$('digito').value!="_"){
                nit=$('numero').value;
                if (isNaN(nit))
                {
                    alert('El valor digitado no es un numero valido');		
                } else {    
                  
                    vpri = new Array(16); 
                    x=0; 
                    y=0; 
                    z=nit.length;
                    vpri[1]=3;
                    vpri[2]=7;
                    vpri[3]=13; 
                    vpri[4]=17;
                    vpri[5]=19;
                    vpri[6]=23;
                    vpri[7]=29;
                    vpri[8]=37;
                    vpri[9]=41;
                    vpri[10]=43;
                    vpri[11]=47;  
                    vpri[12]=53;  
                    vpri[13]=59; 
                    vpri[14]=67; 
                    vpri[15]=71;
                    
                    for(i=0 ; i<z ; i++){ 
                         y=(nit.substr(i,1));
                         x+=(y*vpri[z-i]);
                    } 
        
                    y=x%11;
       
                    if (y > 1){
                        digitov = 11 - y;
                    }else{
                        digitov = y;
                    }
                    
                  return digitov;
                }        
            }
      // }
}

/*
  ___  _  developed by:  ___                            
 |   \(_)___ __ _ ___   / __|_  _ _____ ____ _ _ _ __ _
 | |) | / -_) _` / _ \ | (_ | || / -_) V / _` | '_/ _` |
 |___/|_\___\__, \___/  \___|\_,_\___|\_/\__,_|_| \__,_|
            |___/             diego.guevara(a)ritbox.com
*/ 
