//Declaración de variables
var blnAdicionales;
var hndVersiones;
var diaHoy, mesHoy, anoHoy;	
var elementoMarcado = '';
var strUnoe;
var strCG;
var strSanostra;
var blnIsNew;					//flag que indica si el vehículo es nuevo
var strCaja;					//Tipo de broker
var strCarr;			
var strSmallForm;				//Indica si estamos mostrando el formulario pequeño
var blnOfferPelayo;				//Indica si el broker tiene ofertas en pelayo
var blnOfferMunat;				//Indica si el broker tiene ofertas en Munat
var strCE;
var strCB;
var strBrokerOptionalField;		//Indica si el corredor tiene los campos ocultos
var blnSantander = false;		//Indica si el corredor pertenece al grupo Santander
var blnSantanderOfSantander = false;	//Indica si el corredor es oficinas Santander
var blnSantanderOfBanesto = false;	//Indica si el corredor es oficinas Banesto
var blnShowLayerWarning = false;		//Indica si hay que mostrar la capa con el aviso
var blnProdutctosPrescriptor = false;		//Flag para indicar si productos prescriptor
var blnB2C_Segurosbroker;

//Función que genera el error
function GenerarError ( vntElemento, strMensaje ) {

	//Si es un Explorer llamamos a marcarElemento
	if ( !NS4 ) {
		marcarElemento( vntElemento );
		elementoMarcado = vntElemento;
	} else {
		alert(strMensaje);
	}

}

//Función que extrae el tipo de vehículo
function GetTypeCar(){
	
	//Declaración de variables
	var strVersion;
	var strType;
	var vntTemp;
	
	
	
	//Obtenemos el valor de la version
	vntTemp = window.document.forms['MainForm'].version.selectedIndex;
	strVersion = window.document.forms['MainForm'].version.options[vntTemp].value;
	
	//Comprobamos si la versión trae el separador
	
		
	if (strVersion.indexOf(strSeparator) > 0) {
		vntTemp = strVersion.split(strSeparator);
		strType = vntTemp[1];
	} else {
		strType = "";
	}	
	
	
	//Asignamos
	window.document.forms['MainForm'].tipo_vehiculo.value = strType;
	
}	



//Función que elimina el tipo de vehículo de la versión
function FormatVersion(){
	
	//Declaración de variables
	var strVersion;
	var strBase7;
	var strType;
	var vntTemp;
	
	
	
	//Obtenemos el valor de la version
	vntTemp = window.document.forms['MainForm'].version.selectedIndex;
	strVersion = window.document.forms['MainForm'].version.options[vntTemp].value;
	
	//Comprobamos si la versión trae el separador
	
		
	if (strVersion.indexOf(strSeparator) > 0) {
		//Obtenemos el array con el tipo y la versión
		vntTemp = strVersion.split(strSeparator);
		strBase7 = vntTemp[0];		
		//Asignamos el valor de la versión
		vntTemp = window.document.forms['MainForm'].version.selectedIndex;
		window.document.forms['MainForm'].version.options[vntTemp].value = strBase7;
	} 
	
	
}


//Función que se ejecuta en el Onload de la página
function IniciarPantalla() {
	
	//Comprobamos los combos de seguro anterior... 
	if (window.document.forms['MainForm'].ano_seguroactual.selectedIndex == -1) {
		window.document.forms['MainForm'].ano_seguroactual.selectedIndex = 0;
	}
	
	if (window.document.forms['MainForm'].ano_otroseguro.selectedIndex == -1) {
		window.document.forms['MainForm'].ano_otroseguro.selectedIndex = 0;
	}
		
	//Marcamos los conductores ocasionales a falso
	blnAdicionales = false;
	
	//Inicializamos la variable vehículo nuevo
	blnIsNew = false;
	
	//Obtenemos el tipo de vehículo
	GetTypeCar();
	
	//Comprobamos si el vehículo es nuevo
	VehiculoNuevo(window.document.forms['MainForm'].vehiculo_nuevo);
	
	ShowRegistrationNumber();
	
	//Ver los datos del seguro anterior
	ViewHistoryPresentInsurance();
		
	//Datos de sinco
	ShowDataSinco();

	//Formatear accesorios
	FormatAmount(window.document.forms['MainForm'].importe_extra1);
	FormatAmount(window.document.forms['MainForm'].importe_extra2);
	
	//Mostrar otros conductores
	ViewOtherDrivers(window.document.forms['MainForm'].conductores_ocasionales);
	
	//Marcamos los conductores secundarios
	CheckOtherDrivers(); 
	
	//Ver los siniestros declarados	
	ViewDeclaredWrecks(window.document.forms['MainForm'].tiene_siniestros);
		
	//inicializo el hidden a falso
	window.document.forms['MainForm'].blnVentana.value = false;
	
	//Mostramos los datos del propietario
	ViewDataOwner(window.document.forms['MainForm'].propietario_vehiculo);
	EnableDatesOwner();
	EnableDatesHolder();
	
	//Colocamos las provincias
	window.document.forms['MainForm'].provincia_conductor.value=DimeDescProvincia(window.document.forms['MainForm'].codigo_postal_conductor.value.substr(0,2));
	window.document.forms['MainForm'].provincia_propietario.value=DimeDescProvincia(window.document.forms['MainForm'].codigo_postal_propietario.value.substr(0,2));
	
	//Comprobamos si los Hidden del seguro anterior vienen llenos y los datos visibles vacios
	//(Por si recupera el presupuesto del antiguo formulario)
	LoadAnyPreviousInsurance();

	//Mostramos los datos del tomador
	ViewOtherHolderData(window.document.forms['MainForm'].conductor_principal);
	//Mostramos los datos del conductor
	ViewOtherDriverData(window.document.forms['MainForm'].conductor_principal);
	
	//Hay que inicializar los valores ocultos que puedan venir rellenos del presupuesto
	ResetOptionalFields();
		
	CopyRegistrationNumber();
		
	
}



//Ver una capa
function ViewLayer(strLayer, optButton) {

	//Declaracion de variables
	var objLayer;
	var objButton;

	//Si no es IE fuera
	if (NS4) return;
	
	//El Radio pinchado
	objButton = window.document.getElementsByName(optButton);

	//La capa
	objLayer = window.document.getElementById(strLayer.toString());

	if( objButton[0].checked == true ) {
		objLayer.style.visibility = "visible";
		if(IE4 || IE5){
			objLayer.style.display = 'inline';
		} else {
			objLayer.style.display = '';
		}
		
	} else {
		objLayer.style.visibility = "hidden";
		objLayer.style.display = "none";
	}
}






//¿Vehículo nuevo?
function VehiculoNuevo (objControl) {
	
	//Declaración de variables
	var oTR1;
	var intValue;
	var objLayer;

	
	//Obtenemos el valor
	intValue = objControl.value;
	
	
	
	//Si vehículo nuevo == SI (No tiene seguro anterior)
	
	//Si Vehiculo Nuevo == No o Indicar, ocultamos
	if (CNum(intValue) == 1 || intValue == "" ) {
		blnIsNew = false;
	} else {
		//Ponemos el valor del radio de está asegurado a SI (1)
		window.document.forms['MainForm'].esta_asegurado[0].checked = true;
		blnIsNew = true;		
	}	


	//Si seleccionamos cualquier valor distinto de NO, borramos
	if ( CNum(intValue) != 1 ) {
		//Borramos los datos del seguro anterior
		ErasePrevieousInsuranceHistory();
	}

	
	//Mostramos el encabezado del seguro anterior, si Vehiculo Nuevo = NO
	objLayer = window.document.getElementById('antecedentes_seguro');
	if (CNum(intValue) == 1) {
		objLayer.style.visibility = 'visible';
		if(IE4 || IE5){
			objLayer.style.display = 'inline';
		}else{
			objLayer.style.display = '';
		}
	} else {
		objLayer.style.visibility = 'hidden';
		objLayer.style.display = 'none';
	}
	
	//Llamamos a la función que muestra los antecendens del seguro
	ViewHistoryPresentInsurance();	

	
}


function ShowRegistrationNumber() {
	
	//Declaración de variables
	var objLayer;
	var vehiculo_nuevo;
	
	if (blnB2C_Segurosbroker == false) {
		return;	
	}
	
	vehiculo_nuevo = window.document.forms['MainForm'].vehiculo_nuevo.selectedIndex;
	vehiculo_nuevo = window.document.forms['MainForm'].vehiculo_nuevo.options[vehiculo_nuevo].value;
	objLayer = window.document.getElementById('tr_matricula');
	
	if (vehiculo_nuevo == 2 || vehiculo_nuevo == "") {
		//Si. Es nuevo o lo voy a comprar / Indicar
		objLayer.style.visibility = "hidden";
		objLayer.style.display = "none";
		window.document.forms['MainForm'].matricula.value = "";
	} else {
		objLayer.style.visibility = "visible";
		objLayer.style.display = "inline";
	}
	
}


//Borra los antecedentes del seguro actual
function ErasePrevieousInsuranceHistory(){
	

	if (blnSantanderOfSantander == true || blnSantanderOfBanesto == true) {
		window.document.forms['MainForm'].seguro_actual.selectedIndex = 0;
	} else if (!blnSantander) {	
		window.document.forms['MainForm'].seguro_actual.selectedIndex = 0;
	}
	if (!blnB2C_Segurosbroker) window.document.forms['MainForm'].dia_seguroactual.selectedIndex = 0;
	window.document.forms['MainForm'].mes_seguroactual.selectedIndex = 0;
	window.document.forms['MainForm'].ano_seguroactual.selectedIndex = 0;
	window.document.forms['MainForm'].companya_seguro_actual.selectedIndex = 0;
	window.document.forms['MainForm'].tomador_seguro_actual.selectedIndex = 0;
	window.document.forms['MainForm'].antiguedad_companya_actual.selectedIndex = 0;
	
}


//Ver antecedentes del seguro actual de su vehículo.
//Si vehículo nuevo Si se muestran
function ViewHistoryPresentInsurance(){
	
	//Declaración de variables
	var objTR;
	var objLayer;
	var vntTemp;
	var blnInsured;

	//Si es NS nos salimos
	if (NS4) return;
	
	blnInsured = window.document.forms['MainForm'].esta_asegurado[0].checked;

	objLayer = window.document.getElementById('datos_seguro_actual');
	

	//El vehículo NO es nuevo y es distinto de vacio. Mostramos los antecedentes
	if ( blnIsNew == false && blnInsured == true) {
		//Mostramos los antecedentes
		objLayer.style.visibility = 'visible';
		if(IE4 || IE5){
			objLayer.style.display = 'inline';
		}else{
			objLayer.style.display = '';
		}
		

	} else {
		//Ocultamos los antecedentes
		objLayer.style.visibility = 'hidden';
		objLayer.style.display = 'none';
		//Ponemos el valor del radio de está asegurado a No (0)	
		window.document.forms['MainForm'].esta_asegurado[1].checked = true;
				
		//Borramos los antecedentes
		ErasePrevieousInsuranceHistory();
	}

	//Mostramos/Ocultamos los antecedentes de otros seguros
	ViewHistoryOtherInsurance();	
	
}



//Muestra los antecedentes del conductor (otros seguros)
function ViewHistoryOtherInsurance(){
	
	//Declaración de variables
	var objLayer;
	var vntTemp;
	var objTR;
	var blnTemp;
	
	
	//Si es NS nos salimos
	if (NS4) return;
	
	
	objTR = window.document.getElementById('otro_seguro');
	objLayer = window.document.getElementById('antecedentes_conductor');
	blnTemp = window.document.forms['MainForm'].esta_asegurado[1].checked;
	

	//La pregunta tiene que estar visible siempre que la pregunta a "El vehículo ha estado aseguado"
	//sea distinta de SI
	
	//Sólo si el vehículo no ha estado asegurado
	if ( blnTemp == true ) {
		//Mostramos la pregunta
		objTR.style.visibility = 'visible';
		if(IE4 || IE5){
			objTR.style.display = 'inline';
		}else{
			objTR.style.display = '';
		}	
		if (blnB2C_Segurosbroker == true) {
			if (window.document.forms['MainForm'].vehiculo_nuevo.selectedIndex == 0) {
				window.document.forms['MainForm'].otros_seguros[0].checked = false;
				window.document.forms['MainForm'].otros_seguros[1].checked = false;
			}
		}
		
	} else {
		//Ocultamos la pregunta
		objTR.style.visibility = 'hidden';
		objTR.style.display = 'none';
		
		//Marcamos el check a No
		window.document.forms['MainForm'].otros_seguros[0].checked = false;
		window.document.forms['MainForm'].otros_seguros[1].checked = true;
	}
	

	//Mostramos/Ocultamos los antecedentes
	if (window.document.forms['MainForm'].otros_seguros[0].checked == true && blnTemp == true){
		objLayer.style.visibility = 'visible';
		if(IE4 || IE5){
			objLayer.style.display = 'inline';
		}else{
			objLayer.style.display = '';
		}	
		
	} else {
		objLayer.style.visibility = 'hidden';
		objLayer.style.display = 'none';	
		
		//Borramos los datos
		EraseOtherInsuranceHistory();
	}	


}	


//Muestra u oculta los datos de Tirea Sinco
function ShowDataSinco(){
	
	//Declaración de vairables
	var objLayer;
	var intTemp;	
	
	if (NS4) return;
	
	//Obtenemos la referencia de la capa
	objLayer = window.document.getElementById('tirea_sinco');
	
	//Comprobamos si el vehículo es nuevo
	intTemp = window.document.forms['MainForm'].vehiculo_nuevo.selectedIndex;
	intTemp = window.document.forms['MainForm'].vehiculo_nuevo[intTemp].value;
	
	//Comprobamos si es nuevo
	if (CNum(intTemp) == 1 || intTemp == "" ) {
		blnIsNew = false;
	} else {
		blnIsNew = true;
		//Ponemos el valor del radio de está asegurado a NO (1)
		window.document.forms['MainForm'].esta_asegurado[1].checked = true;
	}
	
	//Los datos de sinco sólo lo mostramos si tiene seguro anterior
	if (window.document.forms['MainForm'].otros_seguros[0].checked == false && window.document.forms['MainForm'].esta_asegurado[0].checked == false) {
		//Si los 2 radios están marcados a NO no mostramos los datos
		objLayer.style.visibility	 = 'hidden';
		objLayer.style.display = 'none';
		
		//Borramos los datos
		window.document.forms['MainForm'].numero_poliza.value = "";
		window.document.forms['MainForm'].bns.selectedIndex = 0;
		window.document.forms['MainForm'].tiene_siniestros.selectedIndex = 0;
		ViewDeclaredWrecks(window.document.forms['MainForm'].tiene_siniestros);
		ManageWrecks(window.document.forms['MainForm'].tiene_siniestros);
		try {
			window.document.forms['MainForm'].anios_sin_siniestros.selectedIndex = 0;
		} catch(err){}
		
		
	} else if (window.document.forms['MainForm'].otros_seguros[0].checked == true || window.document.forms['MainForm'].esta_asegurado[0].checked == true) {
		objLayer.style.visibility = 'visible';
		if(IE4 || IE5){
			objLayer.style.display = 'inline';
		}else{
			objLayer.style.display = '';
		}	
		
	}
		
}



//Borra los antecedentes del seguro actual
function EraseOtherInsuranceHistory(){
	
	
	if (blnSantanderOfSantander == true || blnSantanderOfBanesto == true) {
		window.document.forms['MainForm'].tipo_otro_seguro.selectedIndex = 0;
	} else if (!blnSantander)
	{	
		window.document.forms['MainForm'].tipo_otro_seguro.selectedIndex = 0;
	}
	if (!blnB2C_Segurosbroker) window.document.forms['MainForm'].dia_otroseguro.selectedIndex = 0;
	window.document.forms['MainForm'].mes_otroseguro.selectedIndex = 0;
	window.document.forms['MainForm'].ano_otroseguro.selectedIndex = 0;
	window.document.forms['MainForm'].companya_otro_seguro.selectedIndex = 0;
	window.document.forms['MainForm'].tomador_otro_seguro.selectedIndex = 0;
	window.document.forms['MainForm'].antiguedad_otra_companya.selectedIndex = 0;
	
}


//Carga en los hiddens el valor de los antecedentes
function LoadHiddenInsuranceHistory(){
	
	//Declaración de variables
	var vntTemp;
	var intTemp;
	var blnInsured;
	
	
	blnInsured = window.document.forms['MainForm'].esta_asegurado[0].checked;
	
	//El vehículo no es nuevo y está asegurado
	if ( blnIsNew == false && blnInsured == true ) {
		
		//Marcamos el hidden de está asegurado a 1 (SI)
		window.document.forms['MainForm'].esta_asegurado[0].checked = true;
		
		//Llevamos los datos de la sección "Antecedentes del seguro actual" a los hidden
		intTemp = window.document.forms['MainForm'].seguro_actual.selectedIndex;
		intTemp = window.document.forms['MainForm'].seguro_actual.options[intTemp].value;
		window.document.forms['MainForm'].tipo_seguro_actual.value = intTemp;

		if (!blnB2C_Segurosbroker){
			intTemp = window.document.forms['MainForm'].dia_seguroactual.selectedIndex;
			intTemp = window.document.forms['MainForm'].dia_seguroactual.options[intTemp].value;
		} else {
			intTemp = 15;	
		}
		window.document.forms['MainForm'].dia_fechaseguroactual.value = intTemp;
		
		intTemp = window.document.forms['MainForm'].mes_seguroactual.selectedIndex;
		intTemp = window.document.forms['MainForm'].mes_seguroactual.options[intTemp].value;
		window.document.forms['MainForm'].mes_fechaseguroactual.value = intTemp;
				
		intTemp = window.document.forms['MainForm'].ano_seguroactual.selectedIndex;
		intTemp = window.document.forms['MainForm'].ano_seguroactual.options[intTemp].value;
		window.document.forms['MainForm'].ano_fechaseguroactual.value = intTemp;
		
		intTemp = window.document.forms['MainForm'].companya_seguro_actual.selectedIndex;
		intTemp = window.document.forms['MainForm'].companya_seguro_actual.options[intTemp].value;
		window.document.forms['MainForm'].companya_actual.value = intTemp;
		
		intTemp = window.document.forms['MainForm'].tomador_seguro_actual.selectedIndex;
		intTemp = window.document.forms['MainForm'].tomador_seguro_actual.options[intTemp].value;
		window.document.forms['MainForm'].titular_seguro_actual.value = intTemp;
		
		intTemp = window.document.forms['MainForm'].antiguedad_companya_actual.selectedIndex;
		intTemp = window.document.forms['MainForm'].antiguedad_companya_actual.options[intTemp].value;
		window.document.forms['MainForm'].antiguedad_companya.value = intTemp;
		
	} else {
		
		//No tiene seguro actual
		window.document.forms['MainForm'].esta_asegurado[1].checked = true;
		
		//El vehículo es Nuevo. Comprobamos si tiene otro seguro
		if (window.document.forms['MainForm'].otros_seguros[0].checked == true){
			
			//Llevamos los datos de la sección "Antecedentes del conductor" a los hidden
			intTemp = window.document.forms['MainForm'].tipo_otro_seguro.selectedIndex;
			intTemp = window.document.forms['MainForm'].tipo_otro_seguro.options[intTemp].value;
			window.document.forms['MainForm'].tipo_seguro_actual.value = intTemp;
	
			if (!blnB2C_Segurosbroker){
				intTemp = window.document.forms['MainForm'].dia_otroseguro.selectedIndex;
				intTemp = window.document.forms['MainForm'].dia_otroseguro.options[intTemp].value;
			} else {
				intTemp = 15;
			}
			window.document.forms['MainForm'].dia_fechaseguroactual.value = intTemp;
			
			intTemp = window.document.forms['MainForm'].mes_otroseguro.selectedIndex;
			intTemp = window.document.forms['MainForm'].mes_otroseguro.options[intTemp].value;
			window.document.forms['MainForm'].mes_fechaseguroactual.value = intTemp;
					
			intTemp = window.document.forms['MainForm'].ano_otroseguro.selectedIndex;
			intTemp = window.document.forms['MainForm'].ano_otroseguro.options[intTemp].value;
			window.document.forms['MainForm'].ano_fechaseguroactual.value = intTemp;
			
			intTemp = window.document.forms['MainForm'].companya_otro_seguro.selectedIndex;
			intTemp = window.document.forms['MainForm'].companya_seguro_actual.options[intTemp].value;
			window.document.forms['MainForm'].companya_actual.value = intTemp;
			
			intTemp = window.document.forms['MainForm'].tomador_otro_seguro.selectedIndex;
			intTemp = window.document.forms['MainForm'].tomador_otro_seguro.options[intTemp].value;
			window.document.forms['MainForm'].titular_seguro_actual.value = intTemp;
			
			intTemp = window.document.forms['MainForm'].antiguedad_otra_companya.selectedIndex;
			intTemp = window.document.forms['MainForm'].antiguedad_otra_companya.options[intTemp].value;
			window.document.forms['MainForm'].antiguedad_companya.value = intTemp;

		} else {

			//No tiene ninguna clase de seguro
			window.document.forms['MainForm'].otros_seguros[1].checked == true;
			
			window.document.forms['MainForm'].tipo_seguro_actual.value = "";
			window.document.forms['MainForm'].dia_fechaseguroactual.value = "";
			window.document.forms['MainForm'].mes_fechaseguroactual.value = "";
			window.document.forms['MainForm'].ano_fechaseguroactual.value = "";
			window.document.forms['MainForm'].companya_actual.value = "";
			window.document.forms['MainForm'].titular_seguro_actual.value = "";
			window.document.forms['MainForm'].antiguedad_companya.value = "";
			
			//Si tomador y conductor no son la misma persona, lo mantenemos
			if (window.document.forms['MainForm'].conductor_principal.selectedIndex == 0) {
				window.document.forms['MainForm'].numero_poliza.value = "";
			}
		}	
	}		
	
}	



//Comprueba si los hiddens del seguro anterior traen datos y los datos visibles NO
//(Por si recupera el presupuesto del antiguo formulario)
function LoadAnyPreviousInsurance() {

	try{
	
	//Declaración de variables
	var vntTemp;
			
	//¿El conductor o su conyuge tienen algún otro tipo de seguro?
	if ( window.document.forms['MainForm'].otros_seguros[0].checked == true ) {
		
		//Tipo de seguro actual
		vntTemp = window.document.forms['MainForm'].tipo_seguro_actual.value;
		if ( vntTemp != "" && window.document.forms['MainForm'].tipo_otro_seguro.selectedIndex == 0 ) {
			window.document.forms['MainForm'].tipo_otro_seguro.selectedIndex = CNum(window.document.forms['MainForm'].tipo_seguro_actual.value);
		}	

		//Dia fecha de vencimiento
		if (!blnB2C_Segurosbroker){
			vntTemp = window.document.forms['MainForm'].dia_fechaseguroactual.value;
			if ( vntTemp != "" && window.document.forms['MainForm'].dia_otroseguro.selectedIndex == 0 ) {
				window.document.forms['MainForm'].dia_otroseguro.selectedIndex = CNum(window.document.forms['MainForm'].dia_fechaseguroactual.value);
			}	
		}

		//Mes fecha de vencimiento
		vntTemp = window.document.forms['MainForm'].mes_fechaseguroactual.value;
		if ( vntTemp != "" && window.document.forms['MainForm'].mes_otroseguro.selectedIndex == 0 ) {
			window.document.forms['MainForm'].mes_otroseguro.selectedIndex = DameMesANumero(window.document.forms['MainForm'].mes_fechaseguroactual.value);
		}	

		//Año fecha de vencimiento
		vntTemp = window.document.forms['MainForm'].ano_fechaseguroactual.value;
		if ( vntTemp != "" && window.document.forms['MainForm'].ano_otroseguro.selectedIndex == 0 ) {
			window.document.forms['MainForm'].ano_otroseguro.value = CNum(window.document.forms['MainForm'].ano_fechaseguroactual.value);
		}					

		//Compañía actual
		vntTemp = window.document.forms['MainForm'].companya_actual.value;
		if ( vntTemp != "" && window.document.forms['MainForm'].companya_otro_seguro.selectedIndex == 0 ) {
			window.document.forms['MainForm'].companya_otro_seguro.value = CNum(window.document.forms['MainForm'].companya_actual.value);
		}							

		//Titular actual
		vntTemp = window.document.forms['MainForm'].titular_seguro_actual.value;
		if ( vntTemp != "" && window.document.forms['MainForm'].tomador_otro_seguro.selectedIndex == 0 ) {
			window.document.forms['MainForm'].tomador_otro_seguro.value = CNum(window.document.forms['MainForm'].titular_seguro_actual.value);
		}							

		//Antiguedad compania actual
		vntTemp = window.document.forms['MainForm'].antiguedad_companya.value;
		if ( vntTemp != "" && window.document.forms['MainForm'].antiguedad_otra_companya.selectedIndex == 0 ) {
			window.document.forms['MainForm'].antiguedad_otra_companya.selectedIndex = CNum(window.document.forms['MainForm'].antiguedad_companya.value);
		}		
	}
	
	//¿El vehículo ha estado o está asegurado?
	if ( window.document.forms['MainForm'].esta_asegurado[0].checked == true ) {
		
		//Tipo de seguro actual
		vntTemp = window.document.forms['MainForm'].tipo_seguro_actual.value;
		if ( vntTemp != "" && window.document.forms['MainForm'].seguro_actual.selectedIndex == 0 ) {
			window.document.forms['MainForm'].seguro_actual.selectedIndex = CNum(window.document.forms['MainForm'].tipo_seguro_actual.value);
		}	

		//Dia fecha de vencimiento
		if (!blnB2C_Segurosbroker){
			vntTemp = window.document.forms['MainForm'].dia_fechaseguroactual.value;
			if ( vntTemp != "" && window.document.forms['MainForm'].dia_seguroactual.selectedIndex == 0 ) {
				window.document.forms['MainForm'].dia_seguroactual.selectedIndex = CNum(window.document.forms['MainForm'].dia_fechaseguroactual.value);
			}	
		}	

		//Mes fecha de vencimiento
		vntTemp = window.document.forms['MainForm'].mes_fechaseguroactual.value;
		if ( vntTemp != "" && window.document.forms['MainForm'].mes_seguroactual.selectedIndex == 0 ) {
			window.document.forms['MainForm'].mes_seguroactual.selectedIndex = DameMesANumero(window.document.forms['MainForm'].mes_fechaseguroactual.value);
		}	

		//Año fecha de vencimiento
		vntTemp = window.document.forms['MainForm'].ano_fechaseguroactual.value;
		if ( vntTemp != "" && window.document.forms['MainForm'].ano_seguroactual.selectedIndex == 0 ) {
			window.document.forms['MainForm'].ano_seguroactual.value = CNum(window.document.forms['MainForm'].ano_fechaseguroactual.value);
		}					

		//Compañía actual
		vntTemp = window.document.forms['MainForm'].companya_actual.value;
		if ( vntTemp != "" && window.document.forms['MainForm'].companya_seguro_actual.selectedIndex == 0 ) {
			window.document.forms['MainForm'].companya_seguro_actual.value = CNum(window.document.forms['MainForm'].companya_actual.value);
		}							

		//Titular actual
		vntTemp = window.document.forms['MainForm'].titular_seguro_actual.value;
		if ( vntTemp != "" && window.document.forms['MainForm'].tomador_seguro_actual.selectedIndex == 0 ) {
			window.document.forms['MainForm'].tomador_seguro_actual.value = CNum(window.document.forms['MainForm'].titular_seguro_actual.value);
		}							

		//Antiguedad compania actual
		vntTemp = window.document.forms['MainForm'].antiguedad_companya.value;
		if ( vntTemp != "" && window.document.forms['MainForm'].antiguedad_companya_actual.selectedIndex == 0 ) {
			window.document.forms['MainForm'].antiguedad_companya_actual.selectedIndex = CNum(window.document.forms['MainForm'].antiguedad_companya.value);
		}		
	}	
	
	//Comprobamos los combos de seguro anterior... 
	if (window.document.forms['MainForm'].ano_seguroactual.selectedIndex == -1) {
		window.document.forms['MainForm'].ano_seguroactual.selectedIndex = 0;
	}
	
	if (window.document.forms['MainForm'].ano_otroseguro.selectedIndex == -1) {
		window.document.forms['MainForm'].ano_otroseguro.selectedIndex = 0;
	}
	
	}
	
	catch(err){
	}
	
}



//Mostramos los posibles conductores secundarios del vehículo
function ViewOtherDrivers (objControl) {
	
	//Declaración de variables
	var intC;
	var objLayer;
	var strValue;
	
	//Para oficinas llamamos a otra función
	if (blnSantanderOfSantander || blnSantanderOfBanesto || blnB2C_Segurosbroker) {
		strValue = objControl.selectedIndex;
		strValue = objControl.options[strValue].value;			
		//Si es que no, ponemos todos los radios a NO
		if ( strValue.toUpperCase() == 'N' ) {
		 	window.document.forms['MainForm'].conductor_ocasional1[1].checked = true;
			window.document.forms['MainForm'].conductor_ocasional2[1].checked = true;
			window.document.forms['MainForm'].conductor_ocasional3[1].checked = true;
			window.document.forms['MainForm'].conductor_ocasional4[1].checked = true;
			window.document.forms['MainForm'].conductor_ocasional5[1].checked = true;
			window.document.forms['MainForm'].conductor_ocasional6[1].checked = true;
		}
		ViewOtherDrivers_NoRadioButton();
		return;
	}
	

	if (NS4) {
		 
		 if ( strValue.toUpperCase() == 'N' ) {
		 	window.document.forms['MainForm'].conductor_ocasional1[1].checked = true;
			window.document.forms['MainForm'].conductor_ocasional2[1].checked = true;
			window.document.forms['MainForm'].conductor_ocasional3[1].checked = true;
			window.document.forms['MainForm'].conductor_ocasional4[1].checked = true;
			window.document.forms['MainForm'].conductor_ocasional5[1].checked = true;
			window.document.forms['MainForm'].conductor_ocasional6[1].checked = true;
			
			//Marcamos los conductores secundarios
			CheckOtherDrivers(); 
		}
		return;
	}
	
	//Nos guardamos el valor
	strValue = objControl.value;

	objLayer = window.document.getElementById('otros_conductores');	
	
	if ( strValue.toUpperCase() == 'S' && strCB != 'S') {
		objLayer.style.visibility = 'visible';
		if(IE4 || IE5){
			objLayer.style.display = 'inline';
		}else{
			objLayer.style.display = '';
		}	
		
	} else {
		objLayer.style.visibility = 'hidden';
		objLayer.style.display = 'none';
		
		window.document.forms['MainForm'].conductor_ocasional1[1].checked = true;
		window.document.forms['MainForm'].conductor_ocasional2[1].checked = true;
		window.document.forms['MainForm'].conductor_ocasional3[1].checked = true;
		window.document.forms['MainForm'].conductor_ocasional4[1].checked = true;
		window.document.forms['MainForm'].conductor_ocasional5[1].checked = true;
		window.document.forms['MainForm'].conductor_ocasional6[1].checked = true;
		
		//Marcamos los conductores secundarios
		CheckOtherDrivers(); 
	}
}


//Marca los checks de los otros conductores
function CheckOtherDrivers() {


	blnAdicionales = false;
	
	if (window.document.forms['MainForm'].conductor_ocasional1[1].checked == false ) blnAdicionales = true;
	if (window.document.forms['MainForm'].conductor_ocasional2[1].checked == false ) blnAdicionales = true;
	if (window.document.forms['MainForm'].conductor_ocasional3[1].checked == false ) blnAdicionales = true;
	if (window.document.forms['MainForm'].conductor_ocasional4[1].checked == false ) blnAdicionales = true;
	if (window.document.forms['MainForm'].conductor_ocasional5[1].checked == false ) blnAdicionales = true;
	if (window.document.forms['MainForm'].conductor_ocasional6[1].checked == false ) blnAdicionales = true;
	if (window.document.forms['MainForm'].conductores_ocasionales.selectedIndex == 0 ) blnAdicionales = false;

	//Para poder ocultar la distinción del segundo conductor se aplica el indicador al combo
	if (window.document.forms['MainForm'].conductores_ocasionales.selectedIndex == 1 ) blnAdicionales = true;
	
	//Mostramos los datos del segundo conductor
	ViewSecondDriver();

}


//Muestra los datos del segundo conductor
function ViewSecondDriver() {

	//Declaración de variables
	var objLayer;

	if (NS4) return;
	
	objLayer = window.document.getElementById("SegundoConductor");
	
	//Si se han marcado conductores ocasionales mostramos el apartado de segundo conductor	
	if ( blnAdicionales == true ) {
		objLayer.style.visibility = "visible";
		if(IE4 || IE5){
			objLayer.style.display = 'inline';
		}else{
			objLayer.style.display = '';
		}
		
	} else {
		objLayer.style.visibility = "hidden";
		objLayer.style.display = "none";	
	}
}




//Muestra el número de partes
function ViewDeclaredWrecks(objControl) {
	
	//Declaración de variables
	var strValue;
	var objLayer;
	var intTemp1, intTemp2, intTemp3;
	
	if (NS4) return;
	
	//Nos guardamos el valor
	strValue = objControl.value;
	
	objLayer = window.document.getElementById('siniestros');	

	intTemp1 = window.document.forms['MainForm'].tercero_culpa.value;
	intTemp2 = window.document.forms['MainForm'].tercero_sinculpa.value;
	intTemp3 = window.document.forms['MainForm'].sin_tercero.value;
	
	if (strSmallForm == 'S' && strCE != 'S' && strCG != 'S') {
		//Ocultamos
		objLayer.style.visibility = 'hidden';
		objLayer.style.display = 'none';
		//salimos
		return;
	}
	
	if ( strValue.toUpperCase() == 'S' ) {
		objLayer.style.visibility = 'visible';
		if(IE4 || IE5){
			objLayer.style.display = 'inline';
		}else{
			objLayer.style.display = '';
		}
	
	} else {
		objLayer.style.visibility = 'hidden';
		objLayer.style.display = 'none';
		if ( strValue == '' ) {
			window.document.forms['MainForm'].tiene_siniestros.selectedIndex = 0;
		} else {
			window.document.forms['MainForm'].tiene_siniestros.selectedIndex = 2;
		}

	}
	
}

//Gestiona los partes declarados
function ManageWrecks(objControl){
	
	//Declaración de variables
	var vntTemp;
	
	//Nos guardamos el valor
	vntTemp = objControl.value;
	
	if ( vntTemp .toUpperCase() == 'S' ) {
		//Borrar el número de partes, 
		EraseWrecks();
	} else {
		//Pone a ninguno el número de partes
		FillWrecks();
	}
}
	

//Borra el número de partes
function EraseWrecks() {

	if (strCG != 'S'){
	//Del último año
	window.document.forms['MainForm'].tercero_culpa1.selectedIndex = 1;
	window.document.forms['MainForm'].tercero_sinculpa1.selectedIndex = 1;
	window.document.forms['MainForm'].sin_tercero1.selectedIndex = 1;
	}	
	
	//Del año anterior
	window.document.forms['MainForm'].tercero_culpa2.selectedIndex = 1;
	window.document.forms['MainForm'].tercero_sinculpa2.selectedIndex = 1;
	window.document.forms['MainForm'].sin_tercero2.selectedIndex = 1;
	

	if (strCG != 'S'){
	//Del resto de años
	window.document.forms['MainForm'].tercero_culpa3.selectedIndex = 1;
	window.document.forms['MainForm'].tercero_sinculpa3.selectedIndex = 1;
	window.document.forms['MainForm'].sin_tercero3.selectedIndex = 1;
	}
	
	//Los hidden
	window.document.forms['MainForm'].tercero_culpa.value = "";
	window.document.forms['MainForm'].tercero_sinculpa.value= "";
	window.document.forms['MainForm'].sin_tercero.value= "";
	
}	



//Borra el número de partes
function FillWrecks() {
	
	if (strCG != 'S'){
	//Del último año
	window.document.forms['MainForm'].tercero_culpa1.selectedIndex = 1;
	window.document.forms['MainForm'].tercero_sinculpa1.selectedIndex = 1;
	window.document.forms['MainForm'].sin_tercero1.selectedIndex = 1;
	}
	
	//Del año anterior
	window.document.forms['MainForm'].tercero_culpa2.selectedIndex = 1;
	window.document.forms['MainForm'].tercero_sinculpa2.selectedIndex = 1;
	window.document.forms['MainForm'].sin_tercero2.selectedIndex = 1;
	
	if (strCG != 'S'){
	//Del resto de años
	window.document.forms['MainForm'].tercero_culpa3.selectedIndex = 1;
	window.document.forms['MainForm'].tercero_sinculpa3.selectedIndex = 1;
	window.document.forms['MainForm'].sin_tercero3.selectedIndex = 1;
	}
	
	//Los hidden
	window.document.forms['MainForm'].tercero_culpa.value = 0;
	window.document.forms['MainForm'].tercero_sinculpa.value= 0;
	window.document.forms['MainForm'].sin_tercero.value= 0;
	
}	

		


//Ejecuta las funciones de validación
function AceptarClick(strDay,strMonth,strYear,blnUnoe,blnUnoeSB,strHowKnow) {

	//Declaración de variables
	var vntTemp;
		
	//Desmarcamos el elementoMarcado
	if ( elementoMarcado != '' ) {
		marcarElemento(elementoMarcado);
		elementoMarcado = '';
	}
	
	//Inicializamos los campos ocultos antes de hacer las validaciones
	if (strSmallForm == "S") {
		InitializeSmallForm();	
	}

	//Para la fecha de compra oculta
	FillBuyDate();

	//Validamos los datos del vehículo
	if (!ValidateDataCar()) {
		return;	
	}
	
	//Validamos la matrícula, si hay valor
	vntTemp = window.document.forms['MainForm'].matricula.value;
	if (vntTemp != "" ){
		if (!ValidaMatricula(vntTemp)) {
			m_strMensaje = 'Formato de matrícula incorrecto';
			GenerarError( window.document.forms['MainForm'].matricula.id, m_strMensaje); 
			return;
		}
	}


	//Colocamos la descripción del vehículo
	SetCarDescription();
	
	//Validamos la parca para algunos corredores después de haber colocado la descripción del vehículo
	if (!ValidateCarByBroker()) return;


	//Si selecciona NO, solo quiero cambiar de seguro, debe tener un seguro anterior
	vntTemp = window.document.forms['MainForm'].vehiculo_nuevo.selectedIndex;
	vntTemp = window.document.forms['MainForm'].vehiculo_nuevo.options[vntTemp].value;
	if (vntTemp == "1") {
		//Comprobamos si tiene seguro
		if(window.document.forms['MainForm'].esta_asegurado[1].checked == true){
			m_strMensaje = 'Si desea cambiar de seguro debe indicarnos los datos de su seguro anterior.';
			GenerarError( window.document.forms['MainForm'].esta_asegurado[1].id, m_strMensaje); 
			return;
		}
	}
	
	
	//Validar los datos del seguro anterior si el vehículo no es nuevo	
	if ( blnIsNew == false ){
		if (!ValidatePrevieousInsurance()) {
			return;	
		}	
	}
	
	//Validamos los datos del conductor principal
	if (!ValidateFirstDriver()){
		return;	
	}	
	
	//Validar número de siniestros declarados
	if (!ValidateDeclaredWrecks() ){
		return;	
	}	

	//Validamos los datos de los antecedentes del conductor (otros seguros)
	if (!ValidateOtherInsurance()){
		return;	
	}
	

	//Validar los datos del segundo conductor
	if ( !ValidateSecondDriver() ) {
		return;	
	}	
	

	//Validar los datos del propitario
	if ( (window.document.forms['MainForm'].propietario_vehiculo.selectedIndex == 0 && window.document.forms['MainForm'].conductor_principal.selectedIndex != 0) || window.document.forms['MainForm'].propietario_vehiculo.selectedIndex != 0) {
		if ( !ValidateOwner() ) {
			return;	
		}
	}
	
	//Validar otros datos
	if ( !ValidateOtherData() ) {
		return;	
	}
		
	//Cargamos los hiddens del seguro anterior
	LoadHiddenInsuranceHistory();
	
	//Validamos la BNS cuando hemos terminado de validar el seguro anterior
	if (!ValidateBNS() ){
		return;
	}
	
	//Mostramos la ventana modal con los avisos
	if (!ShowWarningWindow()) return;
	
	
	if( NS4 ) {	
		if (blnUnoe=='Falso'||blnUnoe=='False'){
			document.MainForm.target="_top";
		}
		else{
			if (blnUnoeSB=='Falso'||blnUnoeSB=='False'){
				document.MainForm.target="content2";
			}
			else{
				document.MainForm.target="_top";
			};
		};


		//Formateamos la versión, pero sólo una vez hayamos pasado todas las validaciones
		//para poder seguir validando el uso
		FormatVersion();
		
		//Dejmalos los indicar en los campos ocultos del formulario
		if (strSmallForm == "S") {
			InitializeComboField (window.document.forms['MainForm'].kilometraje, 1);
			InitializeComboField (window.document.forms['MainForm'].profesion_conductor, 0);	
		}
		
		//Desbloqueamos
		window.document.forms['MainForm'].dia_nacpropietario.disabled = false;
		window.document.forms['MainForm'].mes_nacpropietario.disabled = false;
		window.document.forms['MainForm'].ano_nacpropietario.disabled = false;
		window.document.forms['MainForm'].sexo_propietario.disabled = false;
		window.document.forms['MainForm'].dia_carpropietario.disabled = false;
		window.document.forms['MainForm'].mes_carpropietario.disabled = false;
		window.document.forms['MainForm'].ano_carpropietario.disabled = false;		
				
		try {
			window.document.forms['MainForm'].dia_nactomador.disabled = false;
			window.document.forms['MainForm'].mes_nactomador.disabled = false;
			window.document.forms['MainForm'].ano_nactomador.disabled = false;
			window.document.forms['MainForm'].dia_cartomador.disabled = false;
			window.document.forms['MainForm'].mes_cartomador.disabled = false;
			window.document.forms['MainForm'].ano_cartomador.disabled = false;		
			window.document.forms['MainForm'].expedicion_tomador.disabled = false;
			window.document.forms['MainForm'].sexo_tomador.disabled = false;

		} catch(err){
			
		}
		
		LocalSubmitirForm();
	
		return;
	}
	
	
	//Las opciones de ecorreduría
	try {
		if ( !ValidateECorr() ) return;
		
		//Cuando las 3 figuras sean distintas entre si
		if (window.document.forms['MainForm'].conductor_principal.selectedIndex > 0  && window.document.forms['MainForm'].propietario_vehiculo.selectedIndex > 0) {
			if ( !ValidateOtherHolderData() ) return;
		}
	} catch(err){
		
	}
	
	//Validamos el resto de datos del formulario
	var ret = validarDatos( document.MainForm.elements );
	
	
	if( ret != true ) {
		if( elementoMarcado != ret ) {
			if( elementoMarcado != '' ) marcarElemento( elementoMarcado );
			elementoMarcado = '';
			marcarElemento( ret );
			elementoMarcado = ret;
		}
	} else {   
		if( elementoMarcado != '' ) marcarElemento( elementoMarcado ); 		
		elementoMarcado = '';		
		
		//Pnemos la provincia en el conductor
		PonerProvincia (window.document.forms['MainForm'].provincia_conductor);
		PonerProvincia (window.document.forms['MainForm'].provincia_propietario);
		PonerProvincia (window.document.forms['MainForm'].provincia_segundo_conductor);
		//window.document.forms['MainForm'].provincia_segundo_conductor.disabled = false;
				
		if (blnUnoe=='Falso'||blnUnoe=='False'){
			document.MainForm.target="_top";
		}
		else{
			if (blnUnoeSB=='Falso'||blnUnoeSB=='False'){
				document.MainForm.target="content2";
			}
			else{
				document.MainForm.target="_top";
			};
		};
		
		//Formateamos la versión, pero sólo una vez hayamos pasado todas las validaciones
		//para poder seguir validando el uso
		FormatVersion();
		
		//Quitamos el punto a los importes de los accesorios
		window.document.forms['MainForm'].importe_extra1.value = replaceString('.','', window.document.forms['MainForm'].importe_extra1.value);
		window.document.forms['MainForm'].importe_extra2.value = replaceString('.','', window.document.forms['MainForm'].importe_extra2.value);
		
		//Desbloqueamos
		window.document.forms['MainForm'].dia_nacpropietario.disabled = false;
		window.document.forms['MainForm'].mes_nacpropietario.disabled = false;
		window.document.forms['MainForm'].ano_nacpropietario.disabled = false;
		window.document.forms['MainForm'].sexo_propietario.disabled = false;
		window.document.forms['MainForm'].dia_carpropietario.disabled = false;
		window.document.forms['MainForm'].mes_carpropietario.disabled = false;
		window.document.forms['MainForm'].ano_carpropietario.disabled = false;		
		
		try {
			window.document.forms['MainForm'].dia_nactomador.disabled = false;
			window.document.forms['MainForm'].mes_nactomador.disabled = false;
			window.document.forms['MainForm'].ano_nactomador.disabled = false;
			window.document.forms['MainForm'].dia_cartomador.disabled = false;
			window.document.forms['MainForm'].mes_cartomador.disabled = false;
			window.document.forms['MainForm'].ano_cartomador.disabled = false;		
			window.document.forms['MainForm'].expedicion_tomador.disabled = false;
			window.document.forms['MainForm'].sexo_tomador.disabled = false;

		} catch(err){
			
		}
		
		
		//Hacemos el submit del formulario
		LocalSubmitirForm();
	}
	
}




//Carga en unos HIDDEN la descripciones de marca, modelo y version
function SetCarDescription() {

	//Dejamos en los Hidden de marca, modelo y version las descripciones
	var marca, modelo, version;
	
	marca = window.document.forms['MainForm'].marca.selectedIndex;
	window.document.forms['MainForm'].desc_marca.value = window.document.forms['MainForm'].marca.options[marca].text;
	
	modelo = window.document.forms['MainForm'].modelo.selectedIndex;
	window.document.forms['MainForm'].desc_modelo.value = window.document.forms['MainForm'].modelo.options[modelo].text;
	
	version = window.document.forms['MainForm'].version.selectedIndex;
	if (CNum(version) != -1) {
		window.document.forms['MainForm'].desc_version.value = window.document.forms['MainForm'].version.options[version].text;
	}
	
	//El tipo de vehículo
	GetTypeCar();
}

//Valida el campo de cómo nos ha conocido
function ValidateHowknow (strHowKnow){
	if (strHowKnow==false) return(true);

	//Cómo nos ha conocido
	if ( window.document.MainForm.como_nos_conoce.options[window.document.MainForm.como_nos_conoce.selectedIndex].value == '0' ) {
		m_strMensaje = 'Debe indicarnos cómo nos ha conocido';
		GenerarError( window.document.forms['MainForm'].como_nos_conoce.id, m_strMensaje); 
		return;
	}
	
	return(true);
} 

//Validar los datos del vehículo
function ValidateDataCar(){
	
	//Declaración de variables
	var intDay, intMonth, intYear;
	var intMatDay, intMatMonth, intMatYear;
	var vntTemp;
	var objLayer;

	
	//Marca 
	vntTemp = window.document.forms['MainForm'].marca.selectedIndex;
	if (vntTemp <= 0) {
		m_strMensaje = 'Debe seleccionar la marca de su vehículo';
		GenerarError( window.document.forms['MainForm'].marca.id, m_strMensaje); 
		return;
	}
	
	//Marca 
	vntTemp = window.document.forms['MainForm'].marca.selectedIndex;
	vntTemp = window.document.forms['MainForm'].marca.options[vntTemp].value;
	if (vntTemp <= 0) {
		m_strMensaje = 'Debe seleccionar la marca de su vehículo';
		GenerarError( window.document.forms['MainForm'].marca.id, m_strMensaje); 
		return;
	}
	
	//Modelo 
	vntTemp = window.document.forms['MainForm'].modelo.selectedIndex;
	if (vntTemp <= 0) {
		m_strMensaje = 'Debe seleccionar el modelo de su vehículo';
		GenerarError( window.document.forms['MainForm'].modelo.id, m_strMensaje); 
		return;
	}
	
	//Combustible  
	vntTemp = window.document.forms['MainForm'].combustible.selectedIndex;
	if (vntTemp <= 0) {
		m_strMensaje = 'Debe seleccionar el combustible de su vehículo';
		GenerarError( window.document.forms['MainForm'].combustible.id, m_strMensaje); 
		return;
	}
	
	//Puertas 
	vntTemp = window.document.forms['MainForm'].puertas.selectedIndex;
	if (vntTemp <= 0) {
		m_strMensaje = 'Debe seleccionar las puertas de su vehículo';
		GenerarError( window.document.forms['MainForm'].puertas.id, m_strMensaje); 
		return;
	}
	
	//Potencia 
	vntTemp = window.document.forms['MainForm'].potencia.selectedIndex;
	if (vntTemp <= 0) {
		m_strMensaje = 'Debe seleccionar la potencia de su vehículo';
		GenerarError( window.document.forms['MainForm'].potencia.id, m_strMensaje); 
		return;
	}
	
	//Version 
	vntTemp = window.document.forms['MainForm'].version.selectedIndex;
	vntTemp = window.document.forms['MainForm'].version.options[vntTemp].value;
	if (vntTemp == "") {
		m_strMensaje = 'Debe seleccionar la version de su vehículo';
		GenerarError( window.document.forms['MainForm'].version.id, m_strMensaje); 
		return;
	}

	//Que haya seleccionado si el vehículo es nuevo (Sólo para Uno-e / CG / Sa Nostra)
	vntTemp = window.document.forms['MainForm'].vehiculo_nuevo.selectedIndex;
	if ( CNum(vntTemp) == 0 ) {
		m_strMensaje = 'Debe indicar si su vehículo es nuevo.';
		GenerarError( window.document.forms['MainForm'].vehiculo_nuevo.id, m_strMensaje); 
		return;
	}	

	//La matrícula, si vehículo nuevo = SI no es obligatoria
	vntTemp = window.document.forms['MainForm'].vehiculo_nuevo.selectedIndex;
	vntTemp = window.document.forms['MainForm'].vehiculo_nuevo.options[vntTemp].value;
	if (vntTemp != 2 && strSmallForm != "S"){
		//Validamos la matrícula
		vntTemp = window.document.forms['MainForm'].matricula.value;
		if (vntTemp == "") {
			m_strMensaje = 'Debe indicar la matrícula.';
			GenerarError( window.document.forms['MainForm'].matricula.id, m_strMensaje); 
			return;
		}
	}

	//Fecha de la primera matriculacion
	intDay = window.document.forms['MainForm'].dia_matriculacion.selectedIndex;
	intMonth = window.document.forms['MainForm'].mes_matriculacion.selectedIndex;
	intYear = window.document.forms['MainForm'].ano_matriculacion.selectedIndex;

	intDay = window.document.forms['MainForm'].dia_matriculacion.options[intDay].value;
	intMonth = DameMesANumero(window.document.forms['MainForm'].mes_matriculacion.options[intMonth].value);
	intYear = window.document.forms['MainForm'].ano_matriculacion.options[intYear].value;

	//Comprobamos si va a blancos
	if (intDay == "" || intMonth == ""  || intYear == "" ) {
		m_strMensaje = 'Debe indicar una fecha de matriculación válida.';
		GenerarError( window.document.forms['MainForm'].ano_matriculacion.id, m_strMensaje); 
		return;
	}	

	
	//Comprovamos si la fecha de matriculación es una fecha válida
	if (check_date(intDay,intMonth,intYear) == false){
		m_strMensaje = 'Debe indicar una fecha de matriculación válida.';
		GenerarError( window.document.forms['MainForm'].ano_matriculacion.id, m_strMensaje); 
		return;		
	}
	
	//Posterior a Hoy
	if ( DameDiasDiferencia(intDay, intMonth, intYear, diaHoy, mesHoy, anoHoy) > 0 ) {
		m_strMensaje = 'La fecha de primera matriculacion no es correcta.';
		GenerarError( window.document.forms['MainForm'].ano_matriculacion.id, m_strMensaje); 
		return;
	}


	//Fecha último permiso circulacion
	intDay = window.document.forms['MainForm'].dia_circulacion.selectedIndex;
	intMonth = window.document.forms['MainForm'].mes_circulacion.selectedIndex;
	intYear = window.document.forms['MainForm'].ano_circulacion.selectedIndex;
		
	intDay = window.document.forms['MainForm'].dia_circulacion.options[intDay].value;
	intMonth = DameMesANumero(window.document.forms['MainForm'].mes_circulacion.options[intMonth].value);
	intYear = window.document.forms['MainForm'].ano_circulacion.options[intYear].value;

	//Comprobamos si va a blancos
	if (intDay == "" || intMonth == ""  || intYear == "" ) {
		m_strMensaje = 'Debe indicar una fecha de compra válida.';
		GenerarError( window.document.forms['MainForm'].ano_circulacion.id, m_strMensaje); 
		return;
	}	
	
	if (check_date(intDay,intMonth,intYear) == false){
		m_strMensaje = 'Debe indicar una fecha de compra válida.';
		GenerarError( window.document.forms['MainForm'].ano_circulacion.id, m_strMensaje); 
		return;
	}	
	//Posterior a Hoy
	if ( DameDiasDiferencia(intDay, intMonth, intYear, diaHoy, mesHoy, anoHoy) > 0 ) {
		m_strMensaje = 'La fecha de compra del vehículo no es correcta.';
		GenerarError( window.document.forms['MainForm'].ano_circulacion.id, m_strMensaje); 
		return;
	}
	
	//Km Anuales (Si está visible)
	objLayer = window.document.getElementById('tr_kilometraje');
	
	//Comprobamos el valor seleccionado
	if (objLayer.style.visibility != 'hidden') {
		vntTemp = window.document.forms['MainForm'].kilometraje.selectedIndex;
		if ( vntTemp == 0 ) {
			m_strMensaje = 'Debe especificar los kilometros anuales.';
			GenerarError( window.document.forms['MainForm'].kilometraje.id, m_strMensaje); 
			return;
		}
	} else {
		//Ponemos el valor primero	
		InitializeComboField (window.document.forms['MainForm'].kilometraje, 1);
	}
	
	//Uso del vehículo
	vntTemp = window.document.forms['MainForm'].uso_vehiculo.selectedIndex;
	if ( vntTemp == 0 ) {
		m_strMensaje = 'Debe especificar el uso del vehículo.';
		GenerarError( window.document.forms['MainForm'].uso_vehiculo.id, m_strMensaje); 
		return;
	}
	
	//Lugar de aparcamiento
	vntTemp = window.document.forms['MainForm'].aparcamiento.selectedIndex;
	vntTemp = window.document.forms['MainForm'].aparcamiento.options[vntTemp].value;
	if ( vntTemp == "" ) {
		m_strMensaje = 'Debe especificar el lugar de aparcamiento.';
		GenerarError( window.document.forms['MainForm'].aparcamiento.id, m_strMensaje); 
		return;
	}
	
	//Fecha de la primera matriculacion
	intMatDay = window.document.forms['MainForm'].dia_matriculacion.selectedIndex;
	intMatMonth = window.document.forms['MainForm'].mes_matriculacion.selectedIndex;
	intMatYear = window.document.forms['MainForm'].ano_matriculacion.selectedIndex;

	intMatDay = window.document.forms['MainForm'].dia_matriculacion.options[intMatDay].value;
	intMatMonth = DameMesANumero(window.document.forms['MainForm'].mes_matriculacion.options[intMatMonth].value);
	intMatYear = window.document.forms['MainForm'].ano_matriculacion.options[intMatYear].value;
	

	//Si vehiculo nuevo = SI la fecha de matriculación no excederá los 30 días de antigüedad
	if ( DameDiasDiferencia(diaHoy, mesHoy, anoHoy, intMatDay, intMatMonth, intMatYear) > 31 && window.document.forms['MainForm'].vehiculo_nuevo.value==2 ) {
		m_strMensaje = 'La fecha de matriculación para un vehículo nuevo no puede ser inferior a 31 días.';
		GenerarError(window.document.forms['MainForm'].ano_matriculacion.id, m_strMensaje);
		return;
	}
	
	//Fecha último permiso circulacion
	intDay = window.document.forms['MainForm'].dia_circulacion.selectedIndex;
	intMonth = window.document.forms['MainForm'].mes_circulacion.selectedIndex;
	intYear = window.document.forms['MainForm'].ano_circulacion.selectedIndex;
		
	intDay = window.document.forms['MainForm'].dia_circulacion.options[intDay].value;
	intMonth = DameMesANumero(window.document.forms['MainForm'].mes_circulacion.options[intMonth].value);
	intYear = window.document.forms['MainForm'].ano_circulacion.options[intYear].value;

	//Comprobamos si va a blancos
	if (intDay == "" || intMonth == ""  || intYear == "" ) {
		m_strMensaje = 'Debe indicar una fecha de compra válida.';
		GenerarError( window.document.forms['MainForm'].ano_circulacion.id, m_strMensaje); 
		return;
	}	
	
	if (check_date(intDay,intMonth,intYear) == false){
		m_strMensaje = 'Debe indicar una fecha de compra válida.';
		GenerarError( window.document.forms['MainForm'].ano_circulacion.id, m_strMensaje); 
		return;
	}	
	
	//Ahora comprobamos que la fecha de Matriculación sea <= Circulación
	if ( DameDiasDiferencia(intMatDay, intMatMonth, intMatYear, intDay,intMonth,intYear) > 0 ) {
		m_strMensaje = 'La fecha de la 1ª matriculación debe ser menor o igual a la de fecha de compra del vehículo.';
		GenerarError(window.document.forms['MainForm'].ano_matriculacion.id, m_strMensaje);
		return;
	}		
	
	
	
	
	//Todo bien
	return (true);
}


//Valida el uso del vehículo
function ValidateUseCar(){
	
	//Declaración de variables
	var strCarType;
	var intUse;
	
	
	//Usos
	//Particular - Trayecto cotidiano (ir al trabajo / ocio / colegio) <2>, Particular - Sólo para ocio (vacaciones y fines de semana) <1>, Particular - Tareas profesionales ocasionalmente <3>, Particular - Para el desempeño habitual de su trabajo <4>, Particular - Matriculado a nombre de empresa <6>, Autoescuela <5>, Transportes propios <7>
	
	//Obtenemos el Uso
	intUse = window.document.forms['MainForm'].uso_vehiculo.selectedIndex;
	intUse = window.document.forms['MainForm'].uso_vehiculo.options[intUse].value;
	
	//Obtenemos el tipo de vehículo
	strCarType = window.document.forms['MainForm'].tipo_vehiculo.value;
	strCarType = strCarType.toUpperCase();
	
	//El uso Transportes propios <7> es sólo válido para furgones, camiones, etc
	if (intUse == 7) {
		if (strCarType == "TURISMO" || strCarType == "TODO TERRENO" || strCarType == "DERIVADO" || strCarType == "100" || strCarType == "120" || strCarType == "150" || strCarType == "200"  || strCarType == "250") {
				m_strMensaje = 'Uso no permitido para este vehículo.';
				GenerarError(window.document.forms['MainForm'].uso_vehiculo.id, m_strMensaje);
				return;
		}
	} else {
		if (strCarType == "COMERCIAL" || strCarType == "CAMION" || strCarType == "TRANSFORMABLE" || strCarType == "300" || strCarType == "350" || strCarType == "400" || strCarType == "500" || strCarType == "320" || strCarType == "301" || strCarType == "311" || strCarType == "310") {
				m_strMensaje = 'Uso no permitido para este vehículo.';
				GenerarError(window.document.forms['MainForm'].uso_vehiculo.id, m_strMensaje);
				return;
		}
	}
	
	//Todo bien
	return (true);
	
}


//Validar los antecedentes del seguro actual
function ValidatePrevieousInsurance() {
	
	//Declaración de variables
	var intDay, intMonth, intYear;
	var vntTemp;
	var blnTemp;
	var strPolicy;
	var car;
	var intC;
	
	car = "0123456789";
	
	blnTemp = window.document.forms['MainForm'].esta_asegurado[1].checked;
	
	//Validamos sólo si tiene seguro actual
	if ( blnTemp == false ) {
	
		//Tipo de seguro actual
		vntTemp = window.document.forms['MainForm'].seguro_actual.selectedIndex;
		if ( CNum(vntTemp) == 0 ) {
			m_strMensaje = 'Debe indicar el tipo de seguro que posee.';
			GenerarError(window.document.forms['MainForm'].seguro_actual.id, m_strMensaje);
			return;
		}	
		
		//Fecha de vencimiento del seguro
		if (blnB2C_Segurosbroker != true){
			intDay = window.document.forms['MainForm'].dia_seguroactual.selectedIndex;
			intDay = window.document.forms['MainForm'].dia_seguroactual.options[intDay].value;
		} else {
			intDay = 15;			
		}
		
		intMonth = window.document.forms['MainForm'].mes_seguroactual.selectedIndex;
		intMonth = DameMesANumero(window.document.forms['MainForm'].mes_seguroactual.options[intMonth].value);
		
		intYear = window.document.forms['MainForm'].ano_seguroactual.selectedIndex;
		intYear = window.document.forms['MainForm'].ano_seguroactual.options[intYear].value;
	
		//Comprobamos si va a blancos (No validamos si es posterior o anterior a la fecha actual)
		if (intDay == "" || intMonth == ""  || intYear == "" ) {
			m_strMensaje = 'Debe indicar una fecha de vencimiento válida.';
			GenerarError( window.document.forms['MainForm'].ano_seguroactual.id, m_strMensaje); 
			return;
		}
		
		if (check_date(intDay,intMonth,intYear) == false){
			m_strMensaje = 'La fecha de Vencimiento no es correcta.';
			GenerarError( window.document.forms['MainForm'].ano_seguroactual.id, m_strMensaje); 
			return;
		}	
		//Compañía de ese seguro	
		vntTemp = window.document.forms['MainForm'].companya_seguro_actual.selectedIndex;
		vntTemp = window.document.forms['MainForm'].companya_seguro_actual.options[vntTemp].value;

		if ( CNum(vntTemp) <= 0 ) {
			m_strMensaje = 'Debe indicar la compañía de procedencia del seguro.';
			GenerarError(window.document.forms['MainForm'].companya_seguro_actual.id, m_strMensaje);
			return;
		}
		
		//Titular de ese seguro	
		vntTemp = window.document.forms['MainForm'].tomador_seguro_actual.selectedIndex;
		if ( CNum(vntTemp) == 0 ) {
			m_strMensaje = 'Debe indicar quién es el titular del seguro.';
			GenerarError(window.document.forms['MainForm'].tomador_seguro_actual.id, m_strMensaje);
			return;
		}
		
		
		//Antigüedad en la compañía
		vntTemp = window.document.forms['MainForm'].antiguedad_companya_actual.selectedIndex;
		if ( CNum(vntTemp) == 0 ) {
			m_strMensaje = 'Debe indicar la antigüedad en la compañía.';
			GenerarError(window.document.forms['MainForm'].antiguedad_companya_actual.id, m_strMensaje);
			return;
		}
		
	}
	
	
	//Todo bien 
	return (true);
	
}


//Validamos los antecedentes del conductor
function ValidateOtherInsurance(){
	
	//Declaración de variables	
	var intDay, intMonth, intYear;
	var intNew;
	var vntTemp;
	var blnTemp;
	
	
	if (window.document.forms['MainForm'].otros_seguros[0].checked == false && window.document.forms['MainForm'].otros_seguros[1].checked == false) {
		m_strMensaje = 'Debe indicar si tiene o ha tenido otro seguro de autos.';
		GenerarError( window.document.forms['MainForm'].otros_seguros[1].id, m_strMensaje); 
		return;
	}
	
	//Comprobamos si tiene otros seguros
	vntTemp = window.document.forms['MainForm'].otros_seguros[0].checked;
	blnTemp = window.document.forms['MainForm'].esta_asegurado[0].checked;
	
	
	//Si el coche no tiene seguro actual y tiene otro seguro
	if ( blnTemp == false && vntTemp == true) {
	
		//Tipo de seguro actual
		vntTemp = window.document.forms['MainForm'].tipo_otro_seguro.selectedIndex;
		if ( CNum(vntTemp) == 0 ) {
			m_strMensaje = 'Debe indicar el tipo de seguro que posee.';
			GenerarError(window.document.forms['MainForm'].tipo_otro_seguro.id, m_strMensaje);
			return;
		}	
		
		//Fecha de vencimiento del seguro
		if (blnB2C_Segurosbroker != true){
			intDay = window.document.forms['MainForm'].dia_otroseguro.selectedIndex;
			intDay = window.document.forms['MainForm'].dia_otroseguro.options[intDay].value;
		} else {
			intDay = 15;
		}		
		
		intMonth = window.document.forms['MainForm'].mes_otroseguro.selectedIndex;
		intMonth = DameMesANumero(window.document.forms['MainForm'].mes_otroseguro.options[intMonth].value);
		
		intYear = window.document.forms['MainForm'].ano_otroseguro.selectedIndex;
		intYear = window.document.forms['MainForm'].ano_otroseguro.options[intYear].value;
		
		//Comprobamos si va a blancos (No validamos si es posterior o anterior a la fecha actual)
		if (intDay == "" || intMonth == ""  || intYear == "" ) {
			m_strMensaje = 'Debe indicar una fecha de vencimiento válida.';
			GenerarError( window.document.forms['MainForm'].ano_otroseguro.id, m_strMensaje); 
			return;
		}
		
		if (check_date(intDay,intMonth,intYear) == false){
			m_strMensaje = 'La fecha de vencimiento no es correcta.';
			GenerarError( window.document.forms['MainForm'].ano_otroseguro.id, m_strMensaje); 
			return;
		}	
		
		
		//Compañía de ese seguro	
		vntTemp = window.document.forms['MainForm'].companya_otro_seguro.selectedIndex;
		vntTemp = window.document.forms['MainForm'].companya_otro_seguro.options[vntTemp].value;
		if ( CNum(vntTemp) <= 0 ) {
			m_strMensaje = 'Debe indicar la compañía de procedencia del seguro.';
			GenerarError(window.document.forms['MainForm'].companya_otro_seguro.id, m_strMensaje);
			return;
		}
		
		//Titular de ese seguro	
		vntTemp = window.document.forms['MainForm'].tomador_otro_seguro.selectedIndex;
		if ( CNum(vntTemp) == 0 ) {
			m_strMensaje = 'Debe indicar quién es el titular del seguro.';
			GenerarError(window.document.forms['MainForm'].tomador_otro_seguro.id, m_strMensaje);
			return;
		}
		
		
		//Antigüedad en la compañía
		vntTemp = window.document.forms['MainForm'].antiguedad_otra_companya.selectedIndex;
		if ( CNum(vntTemp) == 0 ) {
			m_strMensaje = 'Debe indicar la antigüedad en la compañía.';
			GenerarError(window.document.forms['MainForm'].antiguedad_otra_companya.id, m_strMensaje);
			return;
		}
		
	}
	
	
	//Todo bien 
	return (true);
	
}	


//Validar la BNS
function ValidateBNS() {
	
	//Declaración de variables
	var blnInsurance;
	var vntTemp;
	
	//Sólo puede seleccionar si tiene un seguro anterior
	if ( window.document.forms['MainForm'].otros_seguros[0].checked == true || window.document.forms['MainForm'].esta_asegurado[0].checked == true ){
		blnInsurance = true;
	} else {
		blnInsurance = false;
	}		
	
	//Si no tiene seguro y dice que tiene bns, error
	if (blnInsurance == false && window.document.forms['MainForm'].bns.selectedIndex > 0) {
		m_strMensaje = 'Solo se admite bonificación si posee un seguro anterior.';
		GenerarError(window.document.forms['MainForm'].bns.id, m_strMensaje);
		return;
	}
	
	//Incluimos la bns en los hidden
	vntTemp = window.document.forms['MainForm'].bns.selectedIndex;
	vntTemp = window.document.forms['MainForm'].bns.options[vntTemp].value;
	
	//Si ha elegido sí, pero la desconzco, mandamos cero
	if (vntTemp == -1) {
		window.document.forms['MainForm'].siniestralidad_rc.value = 0;
		window.document.forms['MainForm'].siniestralidad_dv.value = 0;
	} else {
		window.document.forms['MainForm'].siniestralidad_rc.value = vntTemp;
		window.document.forms['MainForm'].siniestralidad_dv.value = vntTemp;
	}

	
	
	//Todo bien
	return (true);
	
}


//Valida el número de póliza
function ValidatePolicy(strPolicy){
	
	//Declaración de variables
	var strPermitidos = "0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz";
	var intC;
	var car;
	var intLength;
	var intLength2;
	var vntValue;
	
	vntValue = strPolicy.value;

	if (vntValue.length >= 0 && vntValue.length < 5) {
		m_strMensaje = 'El número de póliza debe tener al menos 5 dígitos.';
		GenerarError(strPolicy.id, m_strMensaje);
		return;
	} else if (vntValue.length >= 5){
		intLength = (0 - vntValue.length);
		intLength2 = intLength + 5;

		for (intC=intLength; intC<intLength2; intC++){
			//Recogemos el caracter de la posicion actual(tiene que ser positiva)
			car = vntValue.substr(Math.abs(intC+1), 1);

			//Preguntamos si está la lista de permitidos
			if ( strPermitidos.indexOf(car) == -1 ) {
				//Hay un caracter no permitido
				m_strMensaje = 'Los 5 últimos digitos del número de póliza no son correctos.';
				GenerarError(strPolicy.id, m_strMensaje);
				return;	
			}
		}
		
	}
	
	//Todo bien
	return (true);
	
}

//Validamos los datos del primer conductor
function ValidateFirstDriver(){
	
	//Declaración de variables
	var vntTemp;
	var diaNac, mesNac, anoNac;
	var diaCar, mesCar, anoCar;
	
	
	//Fecha de nacimiento
	diaNac = window.document.forms['MainForm'].dia_nacconductor.selectedIndex;
	mesNac = window.document.forms['MainForm'].mes_nacconductor.selectedIndex;
	anoNac = window.document.forms['MainForm'].ano_nacconductor.selectedIndex;
		
	diaNac = window.document.forms['MainForm'].dia_nacconductor.options[diaNac].value;
	mesNac = DameMesANumero(window.document.forms['MainForm'].mes_nacconductor.options[mesNac].value);
	anoNac = window.document.forms['MainForm'].ano_nacconductor.options[anoNac].value;


	//Comprobamos si va a blancos
	if (diaNac == "" || mesNac == ""  || anoNac == "" ) {
		m_strMensaje = 'Debe indicar una fecha de nacimiento válida.';
		GenerarError( window.document.forms['MainForm'].ano_nacconductor.id, m_strMensaje); 
		return;
	}	
	
	//Comprobamos que la fecha es correcta
	if (check_date(diaNac,mesNac,anoNac) == false){
		m_strMensaje = 'La fecha de nacimiento no es correcta.';
		GenerarError( window.document.forms['MainForm'].ano_nacconductor.id, m_strMensaje); 
		return;
	}	
		
	
	
	//Fecha de nacimiento posterior a Hoy
	if ( DameDiasDiferencia(diaNac, mesNac, anoNac, diaHoy, mesHoy, anoHoy) > 0 ) {
		m_strMensaje = 'La fecha de nacimiento del conductor no es correcta.';
		GenerarError( window.document.forms['MainForm'].ano_nacconductor.id, m_strMensaje); 
		return;
	}
	
	
	
	//Fecha de carnet
	diaCar = window.document.forms['MainForm'].dia_carconductor.selectedIndex;
	mesCar = window.document.forms['MainForm'].mes_carconductor.selectedIndex;
	anoCar = window.document.forms['MainForm'].ano_carconductor.selectedIndex;
		
	diaCar = window.document.forms['MainForm'].dia_carconductor.options[diaCar].value;
	mesCar = DameMesANumero(window.document.forms['MainForm'].mes_carconductor.options[mesCar].value);
	anoCar = window.document.forms['MainForm'].ano_carconductor.options[anoCar].value;
	
	//Comprobamos si va a blancos
	if (diaCar == "" || mesCar == ""  || anoCar == "" ) {
		m_strMensaje = 'Debe indicar una fecha de carnet válida.';
		GenerarError( window.document.forms['MainForm'].ano_carconductor.id, m_strMensaje); 
		return;
	}
	
	//Comprobamos que la fecha es correcta
	if (check_date(diaCar,mesCar,anoCar) == false){
		m_strMensaje = 'La fecha de carnet no es correcta.';
		GenerarError( window.document.forms['MainForm'].ano_carconductor.id, m_strMensaje); 
		return;
	}
	
	//Fecha de carnet posterior a Hoy
	if ( DameDiasDiferencia(diaCar, mesCar, anoCar, diaHoy, mesHoy, anoHoy) > 0 ) {
		m_strMensaje = 'La fecha de carnet del conductor no es correcta.';
		GenerarError( window.document.forms['MainForm'].ano_carconductor.id, m_strMensaje); 
		return;
	}


	//Entre la fecha de carnet y la fecha de nacimiento tiene que haber 18 años
	if ( DimeAnosDiferencia(diaNac, mesNac, anoNac, diaCar, mesCar, anoCar) < 18 ){
		m_strMensaje = 'La fecha del carnet deberá ser igual o superior en 18 años a la fecha de nacimiento.';
		GenerarError( window.document.forms['MainForm'].ano_nacconductor.id, m_strMensaje); 
		return;
	}
	
	
	//La profesión del conductor
	vntTemp = window.document.forms['MainForm'].profesion_conductor.selectedIndex;
	if ( CNum(vntTemp) == 0 ) {
		m_strMensaje = 'Indique la profesión del conductor principal.';
		GenerarError( window.document.forms['MainForm'].profesion_conductor.id, m_strMensaje); 
		return;
	}	
	
	//El código postal
	vntTemp = window.document.forms['MainForm'].codigo_postal_conductor.value;
	if ( vntTemp == 0 || vntTemp.length != 5) {
		m_strMensaje = 'Indique un código postal válido.';
		GenerarError( window.document.forms['MainForm'].codigo_postal_conductor.id, m_strMensaje); 
		return;
	}	
	
	//La provincia
	vntTemp = window.document.forms['MainForm'].provincia_conductor.value;
	if ( vntTemp == "" ) {
		m_strMensaje = 'La provincia no es válida.';
		GenerarError( window.document.forms['MainForm'].provincia_conductor.id, m_strMensaje); 
		return;
	}
	
	try {
		//Lugar de expedición del carnet
		vntTemp = window.document.forms['MainForm'].expedicion_conductor.options[window.document.forms['MainForm'].expedicion_conductor.selectedIndex].value;
		if ( CNum(vntTemp) <= 0 ) {
			m_strMensaje = 'Debe indicar el lugar de expedición del carnet.';
			GenerarError( window.document.forms['MainForm'].expedicion_conductor.id, m_strMensaje); 
			return;
		}
		
	} catch(err){}
		
	try {
			//Nacionalidad del conductor
		if (strBrokerConNacionaliad == "S") {
			vntTemp = window.document.forms['MainForm'].nacionalidad_conductor.selectedIndex;
			if ( vntTemp == 0 ) {
				m_strMensaje = 'Debe indicar la nacionalidad del conductor.';
				GenerarError( window.document.forms['MainForm'].nacionalidad_conductor.id, m_strMensaje); 
				return;
			}
			
			//Asignamos el pais al hidden
			AssignCountry(window.document.forms['MainForm'].nacionalidad_conductor, window.document.forms['MainForm'].pais_conductor);
		}
	} catch(err){}
	
	//El documento del conductor principal
	try {
		if (window.document.forms['MainForm'].conductor_principal.selectedIndex > 0){
			vntTemp = window.document.forms['MainForm'].nif_conductor.value;
			//Comprobar la introducción del NIF
			if ( vntTemp == "" ) {
				m_strMensaje = 'Debe indicar el número del documento del conductor.';
				GenerarError(window.document.forms['MainForm'].nif_conductor.id, m_strMensaje);
				return;
			}

			//Si hay NIF introducido lo validamos
			if (vntTemp != "") {
				vntTemp = window.document.forms['MainForm'].tipo_documento_conductor.selectedIndex;
				vntTemp = window.document.forms['MainForm'].tipo_documento_conductor.options[vntTemp];
					
				if ( !comprobarTipoDocumento(vntTemp, window.document.forms['MainForm'].nif_conductor) ) {
					
					//El valor de m_strMensaje se asigna en la función que valida el CIF y el NIE
					GenerarError( window.document.forms['MainForm'].nif_conductor.id, m_strMensaje); 
					return;
				}
			}		
		}
	} catch(err){
		
	}	

	
	//Todo bien
	return(true);	
	
}



//Validar siniestros declarados
function ValidateDeclaredWrecks(){
	
	//Declaración de variables
	var vntTemp;
	var intWreck1_1, intWreck2_1, intWreck3_1;
	var intWreck1_2, intWreck2_2, intWreck3_2;
	var intWreck1_3, intWreck2_3, intWreck3_3;
	var intTotal;
	
	intTotal = 0;
	
	//Comprobamos si ha tenido siniestros
	vntTemp = window.document.forms['MainForm'].tiene_siniestros.selectedIndex;
	vntTemp = window.document.forms['MainForm'].tiene_siniestros.options[vntTemp].value;
	
	if ( vntTemp.toUpperCase() == "S" ) {
	
		if (strCG != 'S'){
		//Del último año
		vntTemp = window.document.forms['MainForm'].tercero_culpa1.selectedIndex;
		intWreck1_1 = window.document.forms['MainForm'].tercero_culpa1.options[vntTemp].value;
		intTotal = CNum(intTotal) + CNum(intWreck1_1);
		if ( vntTemp == 0 ) {
			m_strMensaje = 'Indique el número de siniestros declarados en el último año.';
			GenerarError( window.document.forms['MainForm'].tercero_culpa1.id, m_strMensaje); 
			return;
		}	
		
		vntTemp = window.document.forms['MainForm'].tercero_sinculpa1.selectedIndex;
		intWreck1_2 = window.document.forms['MainForm'].tercero_sinculpa1.options[vntTemp].value;
		intTotal = CNum(intTotal) + CNum(intWreck1_2);
		if ( vntTemp == 0 ) {
			m_strMensaje = 'Indique el número de siniestros declarados en el último año.';
			GenerarError( window.document.forms['MainForm'].tercero_sinculpa1.id, m_strMensaje); 
			return;
		}
		
		vntTemp = window.document.forms['MainForm'].sin_tercero1.selectedIndex;
		intWreck1_3 = window.document.forms['MainForm'].sin_tercero1.options[vntTemp].value;
		intTotal = CNum(intTotal) + CNum(intWreck1_3);
		if ( vntTemp == 0 ) {
			m_strMensaje = 'Indique el número de siniestros declarados en el último año.';
			GenerarError( window.document.forms['MainForm'].sin_tercero1.id, m_strMensaje); 
			return;
		}
		}
		
		//Del año anterior
		vntTemp = window.document.forms['MainForm'].tercero_culpa2.selectedIndex;
		intWreck2_1 = window.document.forms['MainForm'].tercero_culpa2.options[vntTemp].value;
		intTotal = CNum(intTotal) + CNum(intWreck2_1);
		if ( vntTemp == 0 ) {
			if (strCG != 'S'){
			m_strMensaje = 'Indique el número de siniestros declarados en el año anterior al último.';
			}
			else{
			m_strMensaje = 'Indique el número de siniestros declarados en los dos últimos años.';
			}
			GenerarError( window.document.forms['MainForm'].tercero_culpa2.id, m_strMensaje); 
			return;
		}
		
		vntTemp = window.document.forms['MainForm'].tercero_sinculpa2.selectedIndex;
		intWreck2_2 = window.document.forms['MainForm'].tercero_sinculpa2.options[vntTemp].value;
		intTotal = CNum(intTotal) + CNum(intWreck2_2);
		if ( vntTemp == 0 ) {
			if (strCG != 'S'){
			m_strMensaje = 'Indique el número de siniestros declarados en el año anterior al último.';
			}
			else{
			m_strMensaje = 'Indique el número de siniestros declarados en los dos últimos años.';
			}
			GenerarError( window.document.forms['MainForm'].tercero_sinculpa2.id, m_strMensaje); 
			return;
		}
		
		vntTemp = window.document.forms['MainForm'].sin_tercero2.selectedIndex;
		intWreck2_3 = window.document.forms['MainForm'].sin_tercero2.options[vntTemp].value;
		intTotal = CNum(intTotal) + CNum(intWreck2_3);
		if ( vntTemp == 0 ) {
			if (strCG != 'S'){
			m_strMensaje = 'Indique el número de siniestros declarados en el año anterior al último.';
			}
			else{
			m_strMensaje = 'Indique el número de siniestros declarados en los dos últimos años.';
			}
			GenerarError( window.document.forms['MainForm'].sin_tercero2.id, m_strMensaje); 
			return;
		}

		if (strCG != 'S'){
		//Del resto de años
		vntTemp = window.document.forms['MainForm'].tercero_culpa3.selectedIndex;
		intWreck3_1 = window.document.forms['MainForm'].tercero_culpa3.options[vntTemp].value;
		intTotal = CNum(intTotal) + CNum(intWreck3_1);
		if ( vntTemp == 0 ) {
			m_strMensaje = 'Indique el número de siniestros declarados en el resto de años.';
			GenerarError( window.document.forms['MainForm'].tercero_culpa3.id, m_strMensaje); 
			return;
		}
		
		vntTemp = window.document.forms['MainForm'].tercero_sinculpa3.selectedIndex;
		intWreck3_2 = window.document.forms['MainForm'].tercero_sinculpa3.options[vntTemp].value;
		intTotal = CNum(intTotal) + CNum(intWreck3_2);
		if ( vntTemp == 0 ) {
			m_strMensaje = 'Indique el número de siniestros declarados en el resto de años.';
			GenerarError( window.document.forms['MainForm'].tercero_sinculpa3.id, m_strMensaje); 
			return;
		}
		
		vntTemp = window.document.forms['MainForm'].sin_tercero3.selectedIndex;
		intWreck3_3 = window.document.forms['MainForm'].sin_tercero3.options[vntTemp].value;
		intTotal = CNum(intTotal) + CNum(intWreck3_3);
		if ( vntTemp == 0 ) {
			m_strMensaje = 'Indique el número de siniestros declarados en el resto de años.';
			GenerarError( window.document.forms['MainForm'].sin_tercero3.id, m_strMensaje); 
			return;
		}
		}

		//comprobamos la suma de los partes
		if (intTotal == 0) {
			m_strMensaje = 'Si indica que existen siniestros, debe declarar al menos uno.';
			GenerarError( window.document.forms['MainForm'].tiene_siniestros.id, m_strMensaje); 
			return;
		}
	}	
	
	//Si pasa sumo el número de partes total.
	if (strCG != 'S'){
	window.document.forms['MainForm'].tercero_culpa.value = CNum(intWreck1_1) + CNum(intWreck2_1); 
	window.document.forms['MainForm'].tercero_sinculpa.value = CNum(intWreck1_2) + CNum(intWreck2_2); 
	window.document.forms['MainForm'].sin_tercero.value = CNum(intWreck1_3) + CNum(intWreck2_3); 
	}
	else{
	window.document.forms['MainForm'].tercero_culpa.value = CNum(intWreck2_1); 
	window.document.forms['MainForm'].tercero_sinculpa.value = CNum(intWreck2_2); 
	window.document.forms['MainForm'].sin_tercero.value = CNum(intWreck2_3); 
	}
	

	//Todo bien
	return (true);
	
}	



//Validar los datos del segundo conductor
function ValidateSecondDriver(){
	
	//Declaración de variables
	var blnMenor25anios;
	var blnMayor25anios;
	var vntOcasionales;
	var diaNac, mesNac, anoNac;
	var diaCar, mesCar, anoCar;
	
	//Comprobamos si hay conductores ocasionales
	vntOcasionales = window.document.forms['MainForm'].conductores_ocasionales.selectedIndex;
	vntOcasionales = window.document.forms['MainForm'].conductores_ocasionales.options[vntOcasionales].value;
	
	//Para oficinas banesto y oficinas santander no se tiene que hacer validaciones
	if (vntOcasionales == 'S' && blnAdicionales != true && strCB != 'S' && blnSantanderOfSantander != true && blnSantanderOfBanesto != true && blnB2C_Segurosbroker != true) {
		m_strMensaje = 'Debe indicar al menos un conductor ocasional.';
		GenerarError( window.document.forms['MainForm'].conductores_ocasionales.id, m_strMensaje); 
		return;
	}
	
	//Cuando sean oficinas de Santander o Banesto, si hay segundos conductores, se reescribe el flag blnAdicionales para forzar la validación
	if (blnSantanderOfSantander || blnSantanderOfBanesto || blnB2C_Segurosbroker) {
		if (vntOcasionales == 'S') {
			blnAdicionales = true;
		} else {
			blnAdicionales = false;
		}
	} 
	
	//Si hay conductores adicionales hacemos las validaciones
	if ( blnAdicionales == true ) {
		//Estado civil
		if (window.document.forms['MainForm'].civil_segundo_conductor.selectedIndex == 0){
				m_strMensaje = 'Error de datos en el campo estadocivil del segundo conductor.';
				GenerarError( window.document.forms['MainForm'].civil_segundo_conductor.id, m_strMensaje); 
				return;
		}
		
		//Fecha de nacimiento
		diaNac = window.document.forms['MainForm'].dia_nacsegundoconductor.selectedIndex;
		mesNac = window.document.forms['MainForm'].mes_nacsegundoconductor.selectedIndex;
		anoNac = window.document.forms['MainForm'].ano_nacsegundoconductor.selectedIndex;
			
		diaNac = window.document.forms['MainForm'].dia_nacsegundoconductor.options[diaNac].value;
		mesNac = DameMesANumero(window.document.forms['MainForm'].mes_nacsegundoconductor.options[mesNac].value);
		anoNac = window.document.forms['MainForm'].ano_nacsegundoconductor.options[anoNac].value;
	
		
		//Comprobamos si va a blancos
		if (diaNac == "" || mesNac == ""  || anoNac == "" ) {
			m_strMensaje = 'Debe indicar una fecha de nacimiento válida.';
			GenerarError( window.document.forms['MainForm'].ano_nacsegundoconductor.id, m_strMensaje); 
			return;
		}	
		
		//Comprobamos que la fecha es correcta
		if (check_date(diaNac,mesNac,anoNac) == false){
			m_strMensaje = 'La fecha de nacimiento no es correcta.';
			GenerarError( window.document.forms['MainForm'].ano_nacsegundoconductor.id, m_strMensaje); 
			return;
		}
		
		//Fecha de nacimiento posterior a Hoy
		if ( DameDiasDiferencia(diaNac, mesNac, anoNac, diaHoy, mesHoy, anoHoy) > 0 ) {
			m_strMensaje = 'La fecha de nacimiento del conductor no es correcta.';
			GenerarError( window.document.forms['MainForm'].ano_nacsegundoconductor.id, m_strMensaje); 
			return;
		}
		

		//Fecha de Carnet
		diaCar = window.document.forms['MainForm'].dia_carsegundoconductor.selectedIndex;
		mesCar = window.document.forms['MainForm'].mes_carsegundoconductor.selectedIndex;
		anoCar = window.document.forms['MainForm'].ano_carsegundoconductor.selectedIndex;
			
		diaCar = window.document.forms['MainForm'].dia_carsegundoconductor.options[diaCar].value;
		mesCar = DameMesANumero(window.document.forms['MainForm'].mes_carsegundoconductor.options[mesCar].value);
		anoCar = window.document.forms['MainForm'].ano_carsegundoconductor.options[anoCar].value;
		
		
		//Comprobamos si va a blancos
		if (diaCar == "" || mesCar == ""  || anoCar == "" ) {
			m_strMensaje = 'Debe indicar una fecha de carnet válida.';
			GenerarError( window.document.forms['MainForm'].ano_carsegundoconductor.id, m_strMensaje); 
			return;
		}	
		
		//Comprobamos que la fecha es correcta
		if (check_date(diaCar,mesCar,anoCar) == false){
			m_strMensaje = 'La fecha de carnet no es correcta.';
			GenerarError( window.document.forms['MainForm'].ano_carsegundoconductor.id, m_strMensaje); 
			return;
		}
		
		
		//Comprobamos que la fecha no sea posterior a Hoy
		if ( DameDiasDiferencia(diaCar, mesCar, anoCar, diaHoy, mesHoy, anoHoy) > 0  ) {
			m_strMensaje = 'Error de datos en el campo fecha de carnet del segundo conductor.';
			GenerarError( window.document.forms['MainForm'].ano_carsegundoconductor.id, m_strMensaje); 
			return;
		}
		
		//Entre la fecha de carnet y la fecha de nacimiento tiene que haber 18 años
		if ( DimeAnosDiferencia(diaNac, mesNac, anoNac, diaCar, mesCar, anoCar) < 18 ){
			m_strMensaje = 'La fecha del carnet deberá ser igual o superior en 18 años a la fecha de nacimiento.';
			GenerarError( window.document.forms['MainForm'].ano_carsegundoconductor.id, m_strMensaje); 
			return;
		}
		
		//Para oficinas Santander y Banesto marcamos los datos
		if (blnSantanderOfSantander || blnSantanderOfBanesto || blnB2C_Segurosbroker) {
			CheckRadioButton_Other_Drivers();
		}
		
		//Esto para oficinas Santander y Banesto no se hace 
		if (blnSantanderOfSantander != true && blnSantanderOfBanesto != true && blnB2C_Segurosbroker != true) {
			//Comprobamos si pulsó que el conductor mas joven era menor de 25 años.	
			blnMenor25anios = (window.document.forms['MainForm'].conductor_ocasional3[0].checked || window.document.forms['MainForm'].conductor_ocasional5[0].checked);
			blnMayor25anios = (window.document.forms['MainForm'].conductor_ocasional4[0].checked || window.document.forms['MainForm'].conductor_ocasional6[0].checked);
			
			//Si los dos están a verdadero obligamos a que se declare al menor de 25, que tarifique por el más joven
			if (blnMenor25anios && blnMayor25anios) {
				if ( blnMenor25anios && DimeAnosDiferencia(diaNac, mesNac, anoNac, diaHoy, mesHoy, anoHoy) > 24 ){
					m_strMensaje = 'La edad del conductor mas joven deberá ser inferior a 25 años respecto a la fecha de actual.';
					GenerarError( window.document.forms['MainForm'].ano_nacsegundoconductor.id, m_strMensaje); 
					return;
				} 
			} else {
				
				if ( blnMenor25anios && DimeAnosDiferencia(diaNac, mesNac, anoNac, diaHoy, mesHoy, anoHoy) > 24 ){
					m_strMensaje = 'La edad del conductor mas joven deberá ser inferior a 25 años respecto a la fecha de actual.';
					GenerarError( window.document.forms['MainForm'].ano_nacsegundoconductor.id, m_strMensaje); 
					return;
				} else {
					
					//Comprobamos si pulsó que el conductor mas joven era menor de 25 años.	
					blnMayor25anios = (window.document.forms['MainForm'].conductor_ocasional4[0].checked || window.document.forms['MainForm'].conductor_ocasional6[0].checked);
					if ( blnMayor25anios && DimeAnosDiferencia(diaNac, mesNac, anoNac, diaHoy, mesHoy, anoHoy) < 25 ){
						m_strMensaje = 'La edad del conductor mas joven deberá ser superior a 25 años respecto a la fecha de actual.';
						GenerarError( window.document.forms['MainForm'].ano_nacsegundoconductor.id, m_strMensaje); 
						return;
					}	
				
				}
			}
		}
		
		//Código Postal
		//Comprobamos que la fecha no sea posterior a Hoy
		if ( window.document.forms['MainForm'].codigo_postal_segundo_conductor.value == ''  ) {
				m_strMensaje = 'Error de datos en el campo código postal del segundo conductor.';
				GenerarError( window.document.forms['MainForm'].codigo_postal_segundo_conductor.id, m_strMensaje); 
				return;
		}
		
		try {
			//Nacionalidad del conductor
			if (strBrokerConNacionaliad == "S") {
				vntTemp = window.document.forms['MainForm'].nacionalidad_segundo_conductor.selectedIndex;
				if ( vntTemp == 0 ) {
					m_strMensaje = 'Debe indicar la nacionalidad del segundo conductor.';
					GenerarError( window.document.forms['MainForm'].nacionalidad_segundo_conductor.id, m_strMensaje); 
					return;
				}
				
				//Asignamos el pais al hidden
				AssignCountry(window.document.forms['MainForm'].nacionalidad_segundo_conductor, window.document.forms['MainForm'].pais_segundo_conductor);
			}
			
		} catch(err) {}
		
	} else {
		//Inicializamos los campos
		
		//Fecha de nacimiento
		window.document.forms['MainForm'].dia_nacsegundoconductor.selectedIndex = 0;
		window.document.forms['MainForm'].mes_nacsegundoconductor.selectedIndex = 0;
		window.document.forms['MainForm'].ano_nacsegundoconductor.selectedIndex = 0;

		//Fecha de carnet
		window.document.forms['MainForm'].dia_carsegundoconductor.selectedIndex = 0;
		window.document.forms['MainForm'].mes_carsegundoconductor.selectedIndex = 0;
		window.document.forms['MainForm'].ano_carsegundoconductor.selectedIndex = 0;
		
		//sexo
		window.document.forms['MainForm'].sexo_segundo_conductor.selectedIndex = 0;
	
		//Código Postal
		window.document.forms['MainForm'].codigo_postal_segundo_conductor.value = '';
		window.document.forms['MainForm'].provincia_segundo_conductor.value = '';
		
		//Estado civil
		window.document.forms['MainForm'].civil_segundo_conductor.selectedIndex = 0;
		
		//Nacionalidad del conductor
		if (strBrokerConNacionaliad == "S") {
			window.document.forms['MainForm'].nacionalidad_segundo_conductor.selectedIndex = 0;
		}
	}

	if ( blnAdicionales == true ) {
		//El documento del segundo conductor
		try {
			if (window.document.forms['MainForm'].conductor_principal.selectedIndex > 0){
				vntTemp = window.document.forms['MainForm'].nif_segundo_conductor.value;
				//Comprobar la introducción del NIF
				if ( vntTemp == "" ) {
					m_strMensaje = 'Debe indicar el número del documento del segundo conductor.';
					GenerarError(window.document.forms['MainForm'].nif_segundo_conductor.id, m_strMensaje);
					return;
				}
	
				//Si hay NIF introducido lo validamos
				if (vntTemp != "") {
					vntTemp = window.document.forms['MainForm'].tipo_documento_segundo_conductor.selectedIndex;
					vntTemp = window.document.forms['MainForm'].tipo_documento_segundo_conductor.options[vntTemp];
						
					if ( !comprobarTipoDocumento(vntTemp, window.document.forms['MainForm'].nif_segundo_conductor) ) {
						
						//El valor de m_strMensaje se asigna en la función que valida el CIF y el NIE
						GenerarError( window.document.forms['MainForm'].nif_segundo_conductor.id, m_strMensaje); 
						return;
					}
				}		
			}
		} catch(err){
		
		}	
	}



	//Todo bien
	return(true);
	
	
}


//Validar otros datos de la póliza
function ValidateOtherData(){
	
	//Declaración de variables
	var vntTemp;
	var intDay, intMonth, intYear;
	var intNumDaysEffectDate;
	var intAniosSinSiniestros;
	
	//Obtenemos la fecha de efecto
	intDay = window.document.forms['MainForm'].dia_fechaefecto.selectedIndex;
	intMonth = window.document.forms['MainForm'].mes_fechaefecto.selectedIndex;
	intYear = window.document.forms['MainForm'].ano_fechaefecto.selectedIndex;
		
	intDay = window.document.forms['MainForm'].dia_fechaefecto.options[intDay].value;
	intMonth = DameMesANumero(window.document.forms['MainForm'].mes_fechaefecto.options[intMonth].value);
	intYear = window.document.forms['MainForm'].ano_fechaefecto.options[intYear].value;
	
	//Comprobamos si va a blancos
	if (intDay == "" || intMonth == ""  || intYear == "" ) {
		m_strMensaje = 'Debe indicar una fecha de efecto válida.';
		GenerarError( window.document.forms['MainForm'].ano_fechaefecto.id, m_strMensaje); 
		return;
	}	
		
	
	//Valido que la Fecha de efecti sea correcta
	if (check_date(intDay,intMonth,intYear) == false){
		m_strMensaje = 'La fecha de efecto no es correcta.';
		GenerarError( window.document.forms['MainForm'].ano_fechaefecto.id, m_strMensaje); 
		return;
	}
	
	//Fecha de efecto Inferior a la del sistema
	if ( DameDiasDiferencia(intDay, intMonth, intYear, diaHoy, mesHoy, anoHoy) < 0 ) {
		m_strMensaje = 'La fecha de efecto de la Póliza no puede ser inferior a la fecha actual.';
		GenerarError( window.document.forms['MainForm'].ano_fechaefecto.id, m_strMensaje); 
		return;
	}
	
	if ( strCarr == 'S') {
		intNumDaysEffectDate = 90;
	} else if (strCE == 'S') {
		intNumDaysEffectDate = 60;	
	} else {
		intNumDaysEffectDate = 30;
	}

	
	//Fecha de efecto No mayor a 30 días
	if ( DameDiasDiferencia(intDay, intMonth, intYear, diaHoy, mesHoy, anoHoy) > intNumDaysEffectDate ) {
		m_strMensaje = 'La fecha de efecto de la póliza no puede ser superior a ' + intNumDaysEffectDate + ' días.';
		GenerarError( window.document.forms['MainForm'].ano_fechaefecto.id, m_strMensaje); 
		return;
	}
	
	var blnOtrosSeguros = false;
	if ( window.document.forms['MainForm'].otros_seguros[0].checked == true || window.document.forms['MainForm'].esta_asegurado[0].checked == true ){
		blnOtrosSeguros = true;
	}else{
		blnOtrosSeguros = false;
	}
		
	//Si tiene algún tipo de seguro validamos
	if ( blnOtrosSeguros ){
			
		
		if (strCaja=="S") {	
			//Validamos el número de póliza anterior. Los 5 últimos dígitos deben ser numéricos
			if (!ValidatePolicy(window.document.forms['MainForm'].numero_poliza)) {
					return;
			}
		} else {
			//No es Caja. Sólo validamos si tiene valor
			if	(window.document.forms['MainForm'].numero_poliza.value != "") {
				if (!ValidatePolicy(window.document.forms['MainForm'].numero_poliza)) {
					return;
				}
			}	
		}	
		
		//Validamos la matrícula, si hay valor
		vntTemp = window.document.forms['MainForm'].matricula_anterior.value;
		if (vntTemp != "" ){
			if (!ValidaMatricula(vntTemp)) {
				m_strMensaje = 'Formato de matrícula incorrecto';
				GenerarError( window.document.forms['MainForm'].matricula_anterior.id, m_strMensaje); 
				return;
			}
		}
		


		if (strSmallForm != "S" || strCE == 'S' || strCG == 'S' ) {	
			//Indicar si ha tenido algún siniestro
			vntTemp = window.document.forms['MainForm'].tiene_siniestros.value;
			if ( vntTemp == "" ) {
				if (strCG == 'S'){
					m_strMensaje = 'Indique si ha tenido algún siniestro en los 2 últimos años.';
				}
				else{
					m_strMensaje = 'Indique si ha tenido algún siniestro en los 5 últimos años.';
				}
				GenerarError( window.document.forms['MainForm'].tiene_siniestros.id, m_strMensaje); 
				return;
			}
		}
		
		//Para prescriptor
		if (blnProdutctosPrescriptor == true) {
			
			//Indicar un valor
			if (window.document.forms['MainForm'].anios_sin_siniestros.selectedIndex == 0) {
				m_strMensaje = 'Debe indicar cuantos años lleva sin dar un parte de siniestros';
				GenerarError( window.document.forms['MainForm'].anios_sin_siniestros.id, m_strMensaje); 
				return;
			}
			
			//Comprobamos si ha tenido siniestros
			vntTemp = window.document.forms['MainForm'].tiene_siniestros.selectedIndex;
			vntTemp = window.document.forms['MainForm'].tiene_siniestros.options[vntTemp].value;
			
			intAniosSinSiniestros = window.document.forms['MainForm'].anios_sin_siniestros.selectedIndex;
			intAniosSinSiniestros = window.document.forms['MainForm'].anios_sin_siniestros.options[intAniosSinSiniestros].value;
							
			if (vntTemp.toUpperCase() == "S") {
				//Tiene que ser menor o igual de 5 años
				if (intAniosSinSiniestros > 5) {
					m_strMensaje = 'El número de años sin siniestros debe ser menor o igual de 5 años.';
					GenerarError( window.document.forms['MainForm'].anios_sin_siniestros.id, m_strMensaje); 
					return;
				}
				
				//No puede ser ninguno
				if (intAniosSinSiniestros == -1) {
					m_strMensaje = 'Si ha declarado partes debe indicar cuantos años lleva sin dar un parte.';
					GenerarError( window.document.forms['MainForm'].anios_sin_siniestros.id, m_strMensaje); 
					return;
				}
				
				//Validamos los siniestros
				if (!ValidateDeclaredWrecksPrescriptor()) {
					return;	
				}
				
			}
			
		}
				
	}
	
	
	
	//¿Tiene hijos mayores de edad?
	if (blnOfferPelayo == true || blnOfferMunat == true) {
		vntTemp = window.document.forms['MainForm'].hijos_mayores_edad.selectedIndex;	
		
		if (vntTemp == 0) {
			m_strMensaje = 'Debe indicar si tiene hijos mayores de edad.';
			GenerarError(window.document.forms['MainForm'].hijos_mayores_edad.id, m_strMensaje);
			return;
		}
		
	}
	
	//El Nif del Tomador
	vntTemp = window.document.forms['MainForm'].tipo_documento_tomador.selectedIndex;
	vntTemp = window.document.forms['MainForm'].tipo_documento_tomador.options[vntTemp];
	if (strCarr=='N'){
		if ( !comprobarTipoDocumento(vntTemp, window.document.forms['MainForm'].nif_tomador) ) {
			//El valor de m_strMensaje se asigna en la función que valida el CIF y el NIE
			GenerarError( window.document.forms['MainForm'].nif_tomador.id, m_strMensaje); 
			return;
		}
	}
	
	
	//El Nif del Empleado
	try {
		if (window.document.forms['MainForm'].nif_empleado.value !=''){
			vntTemp = window.document.forms['MainForm'].tipo_documento_empleado.selectedIndex;
			vntTemp = window.document.forms['MainForm'].tipo_documento_empleado.options[vntTemp];
	
			if ( !comprobarTipoDocumento(vntTemp, window.document.forms['MainForm'].nif_empleado) ) {
				//El valor de m_strMensaje se asigna en la función que valida el CIF y el NIE
				GenerarError( window.document.forms['MainForm'].nif_empleado.id, m_strMensaje); 
				return;
			}
		}
	
	} catch(err) {}
		
		
	//Nacionalidad del tomador
	try {
		if (strBrokerConNacionaliad == "S") {
			//Solo lo validamos si las 3 figuras son distitnas entre si
			if (window.document.forms['MainForm'].conductor_principal.selectedIndex > 0 && window.document.forms['MainForm'].propietario_vehiculo.selectedIndex > 0 ) {
				vntTemp = window.document.forms['MainForm'].nacionalidad_tomador.selectedIndex;
				if ( vntTemp == 0 ) {
					m_strMensaje = 'Debe indicar la nacionalidad del tomador del seguro.';
					GenerarError( window.document.forms['MainForm'].nacionalidad_tomador.id, m_strMensaje); 
					return;
				}
				
				//Asignamos el pais al hidden
				AssignCountry(window.document.forms['MainForm'].nacionalidad_tomador, window.document.forms['MainForm'].pais_tomador);
				
			}
		}
	} catch(err) {}
	
	
	//Solo para Santander
	if (blnSantander == true) {
		if (blnOtrosSeguros == true) {
			//Si no rellena los datos opcionales, mostramos el aviso. La matrícula se puede dejar sin rellenar
			if (trim2(window.document.forms['MainForm'].numero_poliza.value) == "" && trim2(window.document.forms['MainForm'].nif_tomador.value) != "") {
				//Para Santander
				if (blnShowLayerWarning == false){
					LoadWarningPreviousInsuranceLayer('contenido_flotante', 'fade', blnShowLayerWarning);
					return;
				}
			}
		}
		
	}
	
	
	//Todo bien
	return(true);
	
}


//Llama a la función que muestra la ventana de las versiones
//cuando no hay versiones en el combo de las versiones y
//el cliente no ha seleccionado ninguna versión
function OpenVersionsWindow () {

	if (window.document.forms['MainForm'].blnVentana.value == "false" && window.document.forms['MainForm'].version.length == 0) {
		ShowPopUpWindow();
	}
}



//Muestra la ventana para la elección de la versión
function ShowPopUpWindow() {

	//Declaración de variables
	var strMarca, strModelo, strVersion;
	var intIDMarca, intIDModelo;
	var vntTemporal;
	
	strMarca = window.document.forms['MainForm'].marca.selectedIndex;
	strMarca = window.document.forms['MainForm'].marca.options[strMarca].text;
	
	intIDMarca = window.document.forms['MainForm'].marca.selectedIndex;
	intIDMarca = window.document.forms['MainForm'].marca.options[intIDMarca].value;
	
	strModelo = window.document.forms['MainForm'].modelo.selectedIndex;
	strModelo = window.document.forms['MainForm'].modelo.options[strModelo].text;
	
	intIDModelo = window.document.forms['MainForm'].modelo.selectedIndex;
	intIDModelo = window.document.forms['MainForm'].modelo.options[intIDModelo].value;
	
	vntTemporal = window.document.forms['MainForm'].version.length;
	
	if (CNum(vntTemporal) == 0 ){
		strVersion = "";
	}else{
		strVersion = window.document.forms['MainForm'].version.selectedIndex;
		strVersion = window.document.forms['MainForm'].version.options[strVersion].value;
	}


	//En la función IniciarPantalla se inicializa el hidden blnVentana a Falso
	//Al abrir la ventana lo inicializo a falso
	
	window.document.forms['MainForm'].blnVentana.value = "true";
	//window.document.forms['MainForm'].ChildWindow.value = window.open('Flotante_Vehiculos.asp?marca=' + strMarca + '&modelo=' + strModelo + '&version=' + strVersion, 'Versiones', 'resizable=yes,scrollbars=no,toolbar=no,menubar=no,status=no,top=150,left=150,width=500,height=330');
	
	hndVersiones = window.open('Flotante_Vehiculos.asp?login=' + window.document.forms['MainForm'].Login.value + '&idmarca=' + intIDMarca + '&idmodelo=' + intIDModelo + '&marca=' + strMarca + '&modelo=' + strModelo + '&version=' + strVersion, 'Versiones', 'resizable=yes,scrollbars=no,toolbar=no,menubar=no,status=no,top=150,left=150,width=500,height=330');
	
	window.document.forms['MainForm'].blnVentana.value = "true";

}

//Cierra la ventana de las versiones
function CloseVersionsWindow() {
	
	//Si la longitud de las versiones es cero (no hay versiones para un modelo)
	if ( CNum(window.document.forms['MainForm'].version.length) == 0 && window.document.forms['MainForm'].blnVentana.value == "true" ) {
		window.document.forms['MainForm'].blnVentana.value = "true";
	}
	
	if (window.document.forms['MainForm'].blnVentana.value == "true" ){
		hndVersiones.close();
	}
}


function ParentWindowGoTo(strLink,blnUnoe,blnUnoeSB){
	//Se tiene que cargar el VOLVER en el marco especificado
	if (blnUnoe=='Falso'||blnUnoe=='False'||blnUnoeSB=='Verdadero'||blnUnoeSB=='True'){
		parent.window.location.href=strLink;
	}
	else{
		window.location.href=strLink;
	};
};


function abrirventana(pag)
{	
	eval("ventanas=window.open('"+ pag +"','ventana','toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=yes,copyhistory=no,width=580,height=490,left=100,top=10')");
}

function abrirventana_Modal(pag,width,height)
{	
	eval("ventanas=window.showModalDialog('"+ pag +"','','resizable:1;status:0;scroll:1;dialogWidth:"+width+"px;dialogHeight:"+height+"px;dialogLeft:100px;dialogTop:10')");
}

//Función que formatea un capital
function FormatAmount(objControl) {
	if(IsNumeric(objControl.value,false,true)){
		objControl.value = codificarEuro(objControl.value);
	}else{
		objControl.value = codificarEuro('0');
	}	
	
}


//Función que inicializa todos los campos que no aparecen en la versión reducida del formulario
function InitializeSmallForm () {

	//Declaración de variables
	var vntTemp;
	var intVehiculoNuevo;

	intVehiculoNuevo = window.document.forms['MainForm'].vehiculo_nuevo.selectedIndex;
	intVehiculoNuevo = window.document.forms['MainForm'].vehiculo_nuevo.options[intVehiculoNuevo].value;
	
	//Cuando el valor de vehículo nuevo sea "Si.....(y lo que sea)", pondremo en la fecha de circulación la fecha del día.
	
	if (intVehiculoNuevo == 1 || intVehiculoNuevo == 2) {
		//Vehiculo nuevo = No. Solo quiero cambiar de seguro || Si.Es nuevo o lo voy a comprar.
		//Fecha de compra. La fecha de compra será la fecha de primera matriculación
		vntTemp = window.document.forms['MainForm'].dia_matriculacion.selectedIndex;
		InitializeComboField (window.document.forms['MainForm'].dia_circulacion, vntTemp);	
		vntTemp = window.document.forms['MainForm'].mes_matriculacion.selectedIndex;
		InitializeComboField (window.document.forms['MainForm'].mes_circulacion, vntTemp);	
		vntTemp = window.document.forms['MainForm'].ano_matriculacion.selectedIndex;
		InitializeComboField (window.document.forms['MainForm'].ano_circulacion, vntTemp);	
	} else {
		//Vehiculo nuevo = Si. Comprado 2ª mano a particular. Si. Comprado segunda mano a concesionario.
		//La fecha del día 
		InitializeComboField (window.document.forms['MainForm'].dia_circulacion, diaHoy);
		InitializeComboField (window.document.forms['MainForm'].mes_circulacion, mesHoy);
		InitializeComboField (window.document.forms['MainForm'].ano_circulacion, 1);
	}	
	
	//KM anuales. Ponemos la primera.
	InitializeComboField (window.document.forms['MainForm'].kilometraje, 1);
	
	//Estado civil del segundo conductor
	InitializeComboField (window.document.forms['MainForm'].civil_segundo_conductor, 1);	
	
	//Profesión. Ponemos la primera.
	InitializeComboField (window.document.forms['MainForm'].profesion_conductor, 32);	
	
	if (strCG != 'S' && strCE != 'S'){
		//Número de partes.
		InitializeComboField (window.document.forms['MainForm'].tiene_siniestros, 2);
	
		InitializeComboField (window.document.forms['MainForm'].tercero_culpa1, 1);
		InitializeComboField (window.document.forms['MainForm'].tercero_sinculpa1, 1);
		InitializeComboField (window.document.forms['MainForm'].sin_tercero1, 1);
		InitializeComboField (window.document.forms['MainForm'].tercero_culpa2, 1);
		InitializeComboField (window.document.forms['MainForm'].tercero_sinculpa2, 1);
		InitializeComboField (window.document.forms['MainForm'].sin_tercero2, 1);
		InitializeComboField (window.document.forms['MainForm'].tercero_culpa3, 1);
		InitializeComboField (window.document.forms['MainForm'].tercero_sinculpa3, 1);
		InitializeComboField (window.document.forms['MainForm'].sin_tercero3, 1);
	}	
	
}


//Función que inicializa un control de tipo combo
function InitializeComboField(objControl, intSelected){
	
	objControl.selectedIndex = intSelected;
	
}


//Borrar los datos del propietario
function EraseDataOwner(){
	
	//Borramos los datos
	window.document.forms['MainForm'].dia_nacpropietario.selectedIndex = 0;
	window.document.forms['MainForm'].mes_nacpropietario.selectedIndex = 0;
	window.document.forms['MainForm'].ano_nacpropietario.selectedIndex = 0;
	window.document.forms['MainForm'].dia_carpropietario.selectedIndex = 0;
	window.document.forms['MainForm'].sexo_propietario.selectedIndex = 0;
	window.document.forms['MainForm'].mes_carpropietario.selectedIndex = 0;
	window.document.forms['MainForm'].ano_carpropietario.selectedIndex = 0;
	window.document.forms['MainForm'].codigo_postal_propietario.value = "";
	window.document.forms['MainForm'].provincia_propietario.value = "";
	try {
		window.document.forms['MainForm'].tipo_documento_propietario.selectedIndex = 0;
		window.document.forms['MainForm'].nif_propietario.value = "";
		if (strBrokerConNacionaliad=="S"){
			window.document.forms['MainForm'].nacionalidad_propietario.selectedIndex = 0;
		}
	} catch(err){}

}


//Valida los datos del propietario
function ValidateOwner() {
	
	//Declaración de variables
	var vntTemp;
	var diaNac, mesNac, anoNac;
	var diaCar, mesCar, anoCar;
	var strOwner;
	
	
	//Nos quedamos con el tipo de documento
	strDocument = window.document.forms['MainForm'].tipo_documento_propietario.selectedIndex;
	strDocument = window.document.forms['MainForm'].tipo_documento_propietario.options[strDocument].value;
	strDocument = strDocument.toString();

	//Si el Propietario = Empresa, tiene que haber CIF
	strOwner = window.document.forms['MainForm'].propietario_vehiculo.selectedIndex;
	strOwner = window.document.forms['MainForm'].propietario_vehiculo.options[strOwner].value;
	if (strOwner == 6 && strDocument != "CIF") {
		m_strMensaje = 'El propietario debe de ser empresa.';
		GenerarError( window.document.forms['MainForm'].tipo_documento_propietario.id, m_strMensaje); 
		return;
	} else if (strOwner != 1 && strOwner != 5 && strOwner != 6 && strDocument == "CIF") {
		m_strMensaje = 'El propietario debe de ser persona física.';
		GenerarError( window.document.forms['MainForm'].tipo_documento_propietario.id, m_strMensaje); 
		return;
	}

	
	//Si no es un CIF validamos las fechas de nacimiento y de carnet
	if (strDocument.toUpperCase() != "CIF"){
	
		//Fecha de nacimiento
		diaNac = window.document.forms['MainForm'].dia_nacpropietario.selectedIndex;
		mesNac = window.document.forms['MainForm'].mes_nacpropietario.selectedIndex;
		anoNac = window.document.forms['MainForm'].ano_nacpropietario.selectedIndex;
			
		diaNac = window.document.forms['MainForm'].dia_nacpropietario.options[diaNac].value;
		mesNac = DameMesANumero(window.document.forms['MainForm'].mes_nacpropietario.options[mesNac].value);
		anoNac = window.document.forms['MainForm'].ano_nacpropietario.options[anoNac].value;
	
	
		//Comprobamos si va a blancos
		if (diaNac == "" || mesNac == ""  || anoNac == "" ) {
			m_strMensaje = 'Debe indicar una fecha de nacimiento válida.';
			GenerarError( window.document.forms['MainForm'].ano_nacpropietario.id, m_strMensaje); 
			return;
		}	
		
		//Comprobamos que la fecha es correcta
		if (check_date(diaNac,mesNac,anoNac) == false){
			m_strMensaje = 'La fecha de nacimiento no es correcta.';
			GenerarError( window.document.forms['MainForm'].ano_nacpropietario.id, m_strMensaje); 
			return;
		}	
			
		//Fecha de nacimiento posterior a Hoy
		if ( DameDiasDiferencia(diaNac, mesNac, anoNac, diaHoy, mesHoy, anoHoy) > 0 ) {
			m_strMensaje = 'La fecha de nacimiento del propietario no es correcta.';
			GenerarError( window.document.forms['MainForm'].ano_nacpropietario.id, m_strMensaje); 
			return;
		}
		
		//Fecha de carnet
		diaCar = window.document.forms['MainForm'].dia_carpropietario.selectedIndex;
		mesCar = window.document.forms['MainForm'].mes_carpropietario.selectedIndex;
		anoCar = window.document.forms['MainForm'].ano_carpropietario.selectedIndex;
			
		diaCar = window.document.forms['MainForm'].dia_carpropietario.options[diaCar].value;
		mesCar = DameMesANumero(window.document.forms['MainForm'].mes_carpropietario.options[mesCar].value);
		anoCar = window.document.forms['MainForm'].ano_carpropietario.options[anoCar].value;
		
		//Comprobamos si va a blancos
		if (diaCar == "" || mesCar == ""  || anoCar == "" ) {
			m_strMensaje = 'Debe indicar una fecha de carnet válida.';
			GenerarError( window.document.forms['MainForm'].ano_carpropietario.id, m_strMensaje); 
			return;
		}
		
		//Validamos que haya seleccionado una fecha de carnet
		if (diaCar=="" || mesCar=="" || anoCar=="") {
			m_strMensaje = 'Debe indicar la fecha de carnet del propietario.\n     -Si tiene carnet, introduzca la fecha.\n     -Si no tiene carnet, elija "-- No Tiene --" ';
			strMessage = 'Debe indicar la fecha de carnet del propietario.<br>     -Si tiene carnet, introduzca la fecha.<br>     -Si no tiene carnet, elija "-- No Tiene --" ';
			GenerarError2( window.document.forms['MainForm'].ano_carpropietario.id, m_strMensaje, strMessage); 
			return;
		}
		
		//Se valida que si no tiene carnet, los 3 elementos de Fecha estén a guiones ("-")
		//Obtenemos la fecha concreta en formato ddmmyyyy
		vntTemp = diaCar + mesCar + anoCar;
		
		//Preguntamos, si la concatenación de la fecha NO ES NUMÉRICA
		//y además, preguntamos por separado si los 3 elementos son numéricos
		if ( isNaN(vntTemp) == true && (isNaN(diaCar) == false || isNaN(mesCar) == false || isNaN(anoCar) == false  ) ) {
			m_strMensaje = 'La fecha de carnet del propietario no es correcta.';
			GenerarError( window.document.forms['MainForm'].ano_carpropietario.id, m_strMensaje); 
			return;
		}  
		
		//Si tiene carnet de conductir, validamos la fecha
		if (isNaN(diaCar) == false && isNaN(mesCar) == false && isNaN(anoCar) == false  ) {
			
			//Valido que la Fecha de nacimiento sea correcta
			if (check_date(diaCar,mesCar,anoCar) == false){
				m_strMensaje = 'La fecha de carnet del propietario no es correcta.';
				GenerarError( window.document.forms['MainForm'].ano_carpropietario.id, m_strMensaje); 
				return;
			}
		
			//Fecha de carnet posterior a Hoy
			if ( DameDiasDiferencia(diaCar, mesCar, anoCar, diaHoy, mesHoy, anoHoy) > 0 ) {
				m_strMensaje = 'La fecha de carnet no es válida.';
				GenerarError( window.document.forms['MainForm'].ano_carpropietario.id, m_strMensaje); 
				return;
			}
	
			//Entre la fecha de carnet y la fecha de nacimiento tiene que haber 18 años
			if ( DimeAnosDiferencia(diaNac, mesNac, anoNac, diaCar, mesCar, anoCar) < 18 ){
				m_strMensaje = 'La fecha del carnet deberá ser igual o superior en 18 años a la fecha de nacimiento.';
				GenerarError( window.document.forms['MainForm'].ano_nacpropietario.id, m_strMensaje); 
				return;
			}
			
		}
	}
	
	
	
	//El código postal
	vntTemp = window.document.forms['MainForm'].codigo_postal_propietario.value;
	if ( vntTemp == 0 || vntTemp.length != 5) {
		m_strMensaje = 'Indique un código postal válido.';
		GenerarError( window.document.forms['MainForm'].codigo_postal_propietario.id, m_strMensaje); 
		return;
	}	
	
	//La provincia
	vntTemp = window.document.forms['MainForm'].provincia_propietario.value;
	if ( vntTemp == "" ) {
		m_strMensaje = 'La provincia no es válida.';
		GenerarError( window.document.forms['MainForm'].provincia_propietario.id, m_strMensaje); 
		return;
	}	
	
	//El documento del pripietario
	vntTemp = window.document.forms['MainForm'].nif_propietario.value;
	//Comprobar la introducción del NIF
	if ( vntTemp == "" ) {
		m_strMensaje = 'Debe indicar el número del documento del propietario.';
		GenerarError(window.document.forms['MainForm'].nif_propietario.id, m_strMensaje);
		return;
	}

	//Si hay NIF introducido lo validamos
	if (vntTemp != "") {
		vntTemp = window.document.forms['MainForm'].tipo_documento_propietario.selectedIndex;
		vntTemp = window.document.forms['MainForm'].tipo_documento_propietario.options[vntTemp];
			
		if ( !comprobarTipoDocumento(vntTemp, window.document.forms['MainForm'].nif_propietario) ) {
			
			//El valor de m_strMensaje se asigna en la función que valida el CIF y el NIE
			GenerarError( window.document.forms['MainForm'].nif_propietario.id, m_strMensaje); 
			return;
		}
	}		
		
	//Si el propietario es el tomador los números de documento deben ser iguales
	if (strOwner == 1) {
		if (window.document.forms['MainForm'].nif_propietario.value != "" && window.document.forms['MainForm'].nif_tomador.value != "") {
			if (window.document.forms['MainForm'].nif_propietario.value.toUpperCase() != window.document.forms['MainForm'].nif_tomador.value.toUpperCase()) {
				m_strMensaje = 'El número de documento del propietario debe ser igual que el del tomador.';
				GenerarError( window.document.forms['MainForm'].nif_propietario.id, m_strMensaje); 
				return;
			}
		}
		
		
	}
	
	
	//Nacionalidad del conductor
	try {
		if (strBrokerConNacionaliad == "S") {
			vntTemp = window.document.forms['MainForm'].nacionalidad_propietario.selectedIndex;
			if ( vntTemp == 0 ) {
				m_strMensaje = 'Debe indicar la nacionalidad del propietario del vehículo.';
				GenerarError( window.document.forms['MainForm'].nacionalidad_propietario.id, m_strMensaje); 
				return;
			}
		
			if (strOwner == 1) {
				if (window.document.forms['MainForm'].nacionalidad_propietario.selectedIndex > 0 && window.document.forms['MainForm'].nacionalidad_tomador.selectedIndex > 0) {
					if (window.document.forms['MainForm'].nacionalidad_propietario.value != window.document.forms['MainForm'].nacionalidad_tomador.value) {
						m_strMensaje = 'La nacionalidad del propietario debe ser igual que la del tomador.';
						GenerarError( window.document.forms['MainForm'].nacionalidad_propietario.id, m_strMensaje); 
						return;
					}
				}
			}
			
			//Asignamos el pais al hidden
			AssignCountry(window.document.forms['MainForm'].nacionalidad_propietario, window.document.forms['MainForm'].pais_propietario);
		}
		
	} catch(err) {}
		
		
	//Todo bien
	return (true);
	
}


//Selecciona el descuento máximo
function SetMaxDiscount(strProducts){
	
	//Declaración de variables
	var vntTemp;
	var arrProducts;
	var intC;
	
	//Creamos un array con los códigos de productos
	arrProducts = strProducts.split("#");

	//Recorremos el array	
	for (intC in arrProducts) {
		//Si viene relleno nos posicionamos en la última posicion		
		if (arrProducts[intC] != "" ){
			vntTemp = window.document.forms['MainForm'].elements['descuento_corredor_' + arrProducts[intC]].length;
			window.document.forms['MainForm'].elements['descuento_corredor_' + arrProducts[intC]].selectedIndex = (vntTemp-1);
		}
	}
	
}

//Valida los descuentos
function ValidateECorr(){
	
	//Declaración de variables
	var vntTemp;
	var arrProducts;
	var intC;
	var strType;
	var blnTemp;
	var intLength;
	
	//Creamos un array con los códigos de productos
	arrProducts = strMaxDiscount.split("#");

	//Recorremos el array	
	for (intC in arrProducts) {
		//Si viene relleno nos posicionamos en la última posicion		
		if (arrProducts[intC] != "" ){
			
			//Obtenemos el tipo de control
			strType = window.document.forms['MainForm'].elements['descuento_corredor_' + arrProducts[intC]].type;
			
			switch (strType) {
				case "text":	
					//Si hay valor, que sea numérico
					vntTemp = window.document.forms['MainForm'].elements['descuento_corredor_' + arrProducts[intC]].value;
					if (vntTemp != "") {
						//¿Es numérico? (Sin puntos, comas...)
						if (arrProducts[intC] == "384" ){	//Estrella
							blnTemp = /^\d{4}/.test(vntTemp);
							intLength = 4;
						}
						if (blnTemp == false){
							m_strMensaje = 'Debe indicar un descuento válido de ' + intLength + ' dígitos.';
							GenerarError( window.document.forms['MainForm'].elements['descuento_corredor_' + arrProducts[intC]].id, m_strMensaje); 
							return;	
						}
					}
					break;
					
				case "select-one":
					//La campaña está asociada al portentaje
					if (arrProducts[intC] == "348" ){
						vntTemp = window.document.forms['MainForm'].elements['descuento_corredor_' + arrProducts[intC]].selectedIndex;
						//Si hay descuento, tiene que haber campaña
						if (vntTemp > 0 && window.document.forms['MainForm'].campana_reale.value == "") {
							m_strMensaje = 'Debe indicar el código de campaña.';
							GenerarError( window.document.forms['MainForm'].campana_reale.id, m_strMensaje); 
							return;
						}
					}
					break;
				
			}
			
		}
	}
	
	//Todo bien
	return (true);
	
}

//Muestra los datos del tomador para e-correduria
//tambien controla el NIF del conductor
function ViewOtherHolderData(objControl){
	
	//Declaración de variables
	var vntTemp;
	var intOwner;
	var objLayer;
	var objLayer2;
	var objLayer3;
	
	//Obtenemos la capa
	objLayer = window.document.getElementById('datos_tomador');
	
	//La nacionalidad del tomador
	objLayer3 = window.document.getElementById('tr_nacionalidad_tomador');
	
	
	//Recuperamos quién es propietario
	intOwner = window.document.forms['MainForm'].propietario_vehiculo.selectedIndex;
	
	//Comprobamos el valor seleccionado
	if (objControl.selectedIndex > 0 && intOwner > 0) {
		objLayer.style.visibility = 'visible';
		
		if(IE4 || IE5){
			objLayer.style.display = 'inline';
		}else{
			objLayer.style.display = '';
		}	
		
		if (objLayer3!=null) {
			objLayer3.style.visibility = 'visible';
			objLayer3.style.display = 'inline';
		}
	} else {
		
		objLayer.style.visibility = 'hidden';
		objLayer.style.display = 'none';
		if (objLayer3!=null) {
			objLayer3.style.visibility = 'hidden';
			objLayer3.style.display = 'none';
		}
		
		
		//Reseteamos los datos del tomador
		try {
			if (strBrokerConNacionaliad=="S"){
				window.document.forms['MainForm'].nacionalidad_tomador.selectedIndex = 0;
			}
			EraseOtherHolderData();
		} catch(err){}
	}
}


//Borra los datos del tomador para e-correduria
function EraseOtherHolderData(){
	
	
	window.document.forms['MainForm'].sexo_tomador.selectedIndex = 0;
	window.document.forms['MainForm'].dia_nactomador.selectedIndex = 0;
	window.document.forms['MainForm'].mes_nactomador.selectedIndex = 0;
	window.document.forms['MainForm'].ano_nactomador.selectedIndex = 0;
	window.document.forms['MainForm'].dia_cartomador.selectedIndex = 0;
	window.document.forms['MainForm'].mes_cartomador.selectedIndex = 0;
	window.document.forms['MainForm'].ano_cartomador.selectedIndex = 0;
	window.document.forms['MainForm'].expedicion_tomador.selectedIndex = 0;
	
	
}

//Muestra los datos del conductor para e-correduria
function ViewOtherDriverData(objControl){
	
	//Declaración de variables
	var vntTemp;
	var objLayer2;
	
	//Obtenemos la capa
	if(!blnECorreduria&&strCG!='S')return;
	
	objLayer2 = window.document.getElementById('div_documento_conductor');
	//Comprobamos el valor seleccionado
	if (objControl.selectedIndex > 0) {
	
		objLayer2.style.visibility = 'visible';
		if(IE4 || IE5){
	
			objLayer2.style.display = 'inline';
		}else{
	
			objLayer2.style.display = '';						
		}	
	} else {
	
	
		objLayer2.style.visibility = 'hidden';
		objLayer2.style.display = 'none';
		
		//Reseteamos los datos del conductor
		try {
			EraseOtherDriverData();
		} catch(err){}
	}
}

//Borra los datos del conductor para e-correduria
function EraseOtherDriverData(){
	
	
	window.document.forms['MainForm'].nif_conductor.value = "";
	
	
}

//Valida los otros datos del tomador
function ValidateOtherHolderData() {
	
	//Declaración de variables
	var vntTemp;
	var strDocument;
	var diaNac, mesNac, anoNac;
	var diaCar, mesCar, anoCar;
	
	
	//Nos quedamos con el tipo de documento
	strDocument = window.document.forms['MainForm'].tipo_documento_tomador.selectedIndex;
	strDocument = window.document.forms['MainForm'].tipo_documento_tomador.options[strDocument].value;
	strDocument = strDocument.toString();
	
	//Si no es un CIF validamos las fechas de nacimiento y de carnet
	if (strDocument.toUpperCase() != "CIF"){

		//Fecha de nacimiento
		diaNac = window.document.forms['MainForm'].dia_nactomador.selectedIndex;
		mesNac = window.document.forms['MainForm'].mes_nactomador.selectedIndex;
		anoNac = window.document.forms['MainForm'].ano_nactomador.selectedIndex;
			
		diaNac = window.document.forms['MainForm'].dia_nactomador.options[diaNac].value;
		mesNac = DameMesANumero(window.document.forms['MainForm'].mes_nactomador.options[mesNac].value);
		anoNac = window.document.forms['MainForm'].ano_nactomador.options[anoNac].value;
		
		//Comprobamos si va a blancos
		if (diaNac == "" || mesNac == ""  || anoNac == "" ) {
			m_strMensaje = 'Debe indicar una fecha de nacimiento válida.';
			GenerarError( window.document.forms['MainForm'].ano_nactomador.id, m_strMensaje); 
			return;
		}	
		
		//Valido que la Fecha de nacimiento sea correcta
		if (check_date(diaNac,mesNac,anoNac) == false){
			m_strMensaje = 'La fecha de nacimiento del tomador no es válida.';
			GenerarError( window.document.forms['MainForm'].ano_nactomador.id, m_strMensaje); 
			return;
		}

		//Fecha de nacimiento posterior a Hoy
		if ( DameDiasDiferencia(diaNac, mesNac, anoNac, diaHoy, mesHoy, anoHoy) > 0 ) {
			m_strMensaje = 'La fecha de nacimiento no es válida.';
			GenerarError( window.document.forms['MainForm'].ano_nactomador.id, m_strMensaje); 
			return;
		}
	
		//Fecha de carnet
		diaCar = window.document.forms['MainForm'].dia_cartomador.selectedIndex;
		mesCar = window.document.forms['MainForm'].mes_cartomador.selectedIndex;
		anoCar = window.document.forms['MainForm'].ano_cartomador.selectedIndex;
			
		diaCar = window.document.forms['MainForm'].dia_cartomador.options[diaCar].value;
		mesCar = DameMesANumero(window.document.forms['MainForm'].mes_cartomador.options[mesCar].value);
		anoCar = window.document.forms['MainForm'].ano_cartomador.options[anoCar].value;
		
		//Validamos que haya seleccionado una fecha de carnet
		if (diaCar=="" || mesCar=="" || anoCar=="") {
			m_strMensaje = 'Debe indicar la fecha de carnet del tomador.\n     -Si tiene carnet, introduzca la fecha.\n     -Si no tiene carnet, elija "-- No Tiene --" ';
			strMessage = 'Debe indicar la fecha de carnet del tomador.<br>     -Si tiene carnet, introduzca la fecha.<br>     -Si no tiene carnet, elija "-- No Tiene --" ';
			GenerarError2( window.document.forms['MainForm'].ano_cartomador.id, m_strMensaje, strMessage); 
			return;
		}
		

		//Se valida que si no tiene carnet, los 3 elementos de Fecha estén a guiones ("-")
		//Obtenemos la fecha concreta en formato ddmmyyyy
		vntTemp = diaCar + mesCar + anoCar;
		
		//Preguntamos, si la concatenación de la fecha NO ES NUMÉRICA
		//y además, preguntamos por separado si los 3 elementos son numéricos
		if ( isNaN(vntTemp) == true && (isNaN(diaCar) == false || isNaN(mesCar) == false || isNaN(anoCar) == false  ) ) {
			m_strMensaje = 'La fecha de carnet del tomador no es correcta.';
			GenerarError( window.document.forms['MainForm'].ano_cartomador.id, m_strMensaje); 
			return;
		}  
		
		//Si tiene carnet de conductir, validamos la fecha
		if (isNaN(diaCar) == false && isNaN(mesCar) == false && isNaN(anoCar) == false  ) {
			
			//Valido que la Fecha de nacimiento sea correcta
			if (check_date(diaCar,mesCar,anoCar) == false){
				m_strMensaje = 'La fecha de carnet del tomador no es correcta.';
				GenerarError( window.document.forms['MainForm'].ano_cartomador.id, m_strMensaje); 
				return;
			}
		
			//Fecha de carnet posterior a Hoy
			if ( DameDiasDiferencia(diaCar, mesCar, anoCar, diaHoy, mesHoy, anoHoy) > 0 ) {
				m_strMensaje = 'La fecha de carnet no es válida.';
				GenerarError( window.document.forms['MainForm'].ano_cartomador.id, m_strMensaje); 
				return;
			}
	
	
			//Entre la fecha de carnet y la fecha de nacimiento tiene que haber 18 años
			if ( DimeAnosDiferencia(diaNac, mesNac, anoNac, diaCar, mesCar, anoCar) < 18 ){
				m_strMensaje = 'La fecha del carnet deberá ser igual o superior en 18 años a la fecha de nacimiento.';
				GenerarError( window.document.forms['MainForm'].ano_nactomador.id, m_strMensaje); 
				return;
			}
			
			//Se valida el lugar de expedición
			vntTemp = window.document.forms['MainForm'].expedicion_tomador.options[window.document.forms['MainForm'].expedicion_tomador.selectedIndex].value;
			if ( CNum(vntTemp) <= 0 || CNum(vntTemp) == 1 ) {
				m_strMensaje = 'Debe indicar el lugar de expedición del carnet.';
				GenerarError( window.document.forms['MainForm'].expedicion_tomador.id, m_strMensaje); 
				return;
			}	
			
		}
		
		//El tomador debe tener 18 años
		if ( DimeAnosDiferencia(diaNac, mesNac, anoNac, diaHoy, mesHoy, anoHoy) < 18 ){
			m_strMensaje = 'El tomador del seguro debe tener 18 años.';
			GenerarError( window.document.forms['MainForm'].ano_nactomador.id, m_strMensaje); 
			return;
		}
	
		//Lugar de expedición del carnet (Sólo si tiene fecha de carnet
		//Fecha de carnet
		diaCar = window.document.forms['MainForm'].dia_cartomador.selectedIndex;
		mesCar = window.document.forms['MainForm'].mes_cartomador.selectedIndex;
		anoCar = window.document.forms['MainForm'].ano_cartomador.selectedIndex;
			
		diaCar = window.document.forms['MainForm'].dia_cartomador.options[diaCar].value;
		mesCar = window.document.forms['MainForm'].mes_cartomador.options[mesCar].value;
		anoCar = window.document.forms['MainForm'].ano_cartomador.options[anoCar].value;
		
		//Cuando ha seleccionado que no tiene carnet le obligamos a que indique sin Carnet
		if ( diaCar == "-" && mesCar == "-" && anoCar == "-" ) {	
			vntTemp = window.document.forms['MainForm'].expedicion_tomador.options[window.document.forms['MainForm'].expedicion_tomador.selectedIndex].value;
			if ( CNum(vntTemp) <= 0) {
				m_strMensaje = 'Debe indicar el lugar de expedición del carnet.';
				GenerarError( window.document.forms['MainForm'].expedicion_tomador.id, m_strMensaje); 
				return;
			}
			//Si no tiene carnet la única opicón es la de "Sin Carnet"
			if ( CNum(vntTemp) != 1) {
				m_strMensaje = 'El lugar de expedición del carnet no es válido. Seleccione la opción Sin Carnet.';
				GenerarError( window.document.forms['MainForm'].expedicion_tomador.id, m_strMensaje); 
				return;
			}
		} 
		
	}	


	

	//Todo bien
	return (true);
		
}


//Formatea el descuento
function FormatDiscount(objControl, objLength) {
	
	//Declaración de variables
	var vntTemp;	
	var intLength;
	var intChar;
	var intC;
	
	//Obtenemos el valor
	vntTemp = objControl.value;
	
	//Si no hay valor, no hacemos nada
	if (vntTemp=="") return;
	
	//Si es numérico, formateamos
	blnTemp = /^\d+$/.test(vntTemp);
	
	if (blnTemp == false) return;
	
	//Obtenemos la longitud
	intLength = vntTemp.length;
	
	//Comprobamos si la longitud de la cadena es mayor o igual que la longitud total
	if ( CNum(intLength) >= CNum(objLength) ) {
		vntTemp = vntTemp;
	} else {
		
		//Le concatenamos los ceros hasta la longitud prefijada
		intChar = CNum(objLength) - CNum(intLength);
		
		//Concatenamos
		for (intC=1;intC<=intChar;intC++) {
			vntTemp = "0" + vntTemp;	
		}
		
	}
	
	//Asignamos
	objControl.value = vntTemp;
	
}


//Inizializa los valores "ocultos" del formulario
function ResetOptionalFields() {
	
	//Si no está en la agrupación, no hacemos nada
	if (strBrokerOptionalField != "S") return;
	
	//Remolque (Sin Remolque)
	InitializeComboField (window.document.forms['MainForm'].remolque, 0);
	
	//Kilómetros anuales (Hasta 10.000)
	InitializeComboField (window.document.forms['MainForm'].kilometraje, 1);
	
	//Franquicia (200)
	InitializeComboField (window.document.forms['MainForm'].franquicia, 0);
}


//Muestra una ventana modal con una serie de advertencias
function ShowWarningWindow(){

	//Función deshabilitada
	return (true);
	
	//Declaración de variables
	var vntTemp;
	var blnShowWindow;
	var strOptions;
	var strHeigh = 230;
	var charSep = '%23';	//Es el caracter # codificado en HTML, hay que pasarlo así
	
	
	//Inicializamos
	blnShowWindow = false;
	strOptions = '';

	//Recuperamos la forma de pago
	vntTemp = window.document.forms['MainForm'].forma_pago.selectedIndex;
	vntTemp = window.document.forms['MainForm'].forma_pago.options[vntTemp].value;

	//Si No hay número de póliza
	if ( (window.document.forms['MainForm'].otros_seguros[0].checked == true || window.document.forms['MainForm'].esta_asegurado[0].checked == true) && (strSB== "S") && (Trim(window.document.forms['MainForm'].numero_poliza.value) == "" )  ) {
		blnShowWindow = true;
		strOptions = '1'+ charSep;
		strHeigh = strHeigh + 100;
	}
	
	//Si forma de pago trimestral
	if (vntTemp == 'T') {	
		blnShowWindow = true;
		strOptions = strOptions + '2'+ charSep;
		strHeigh = strHeigh + 100;
	}
	
	if (blnShowWindow == true) {
		window.document.forms['MainForm'].hidFlagPolizaAnterior.value = "";
		window.document.forms['MainForm'].hidFlagPolizaAnterior.value = OpenModalWindow('Ventana_Mensajes.asp?title=Aviso&warnings='+ strOptions, 'Atencion', '500',strHeigh,'no','100','100','auto','no','no');

		//Preguntamos si es distinto de "S", ya que si cierra la ventana modal no vendrá un valor definido
		if (window.document.forms['MainForm'].hidFlagPolizaAnterior.value != "S")
			return;
		
	}		

	//Todo bien
	return (true);
	
}


//Cambia la fecha de primera matriculación en función del valor del campo vehiculo nuevo
function ChangeMatrDate() {
	
	//Declarción de variables
	var vntTemp;
	var intDay, intMonth, intYear;
	
	vntTemp = window.document.forms['MainForm'].vehiculo_nuevo.selectedIndex;
	vntTemp = window.document.forms['MainForm'].vehiculo_nuevo.options[vntTemp].value;
	
	//Si es nuevo
	if (vntTemp == 2) {
		intDay = window.document.forms['MainForm'].dia_matriculacion.selectedIndex;
		intMonth = window.document.forms['MainForm'].mes_matriculacion.selectedIndex;
		intYear = window.document.forms['MainForm'].ano_matriculacion.selectedIndex;
	
		intDay = window.document.forms['MainForm'].dia_matriculacion.options[intDay].value;
		intMonth = DameMesANumero(window.document.forms['MainForm'].mes_matriculacion.options[intMonth].value);
		intYear = window.document.forms['MainForm'].ano_matriculacion.options[intYear].value;
	
		//Comprobamos si va a blancos
		if (intDay == "" || intMonth == ""  || intYear == "" ) {
			//Cambiamos la fecha
			window.document.forms['MainForm'].dia_matriculacion.selectedIndex = diaHoy;
			window.document.forms['MainForm'].mes_matriculacion.selectedIndex = mesHoy;
			window.document.forms['MainForm'].ano_matriculacion.value = anoHoy;
		}	
		
		intDay = window.document.forms['MainForm'].dia_circulacion.selectedIndex;
		intMonth = window.document.forms['MainForm'].mes_circulacion.selectedIndex;
		intYear = window.document.forms['MainForm'].ano_circulacion.selectedIndex;
	
		intDay = window.document.forms['MainForm'].dia_circulacion.options[intDay].value;
		intMonth = DameMesANumero(window.document.forms['MainForm'].mes_circulacion.options[intMonth].value);
		intYear = window.document.forms['MainForm'].ano_circulacion.options[intYear].value;
	
		//Comprobamos si va a blancos
		if (intDay == "" || intMonth == ""  || intYear == "" ) {
			//Cambiamos la fecha
			window.document.forms['MainForm'].dia_circulacion.selectedIndex = diaHoy;
			window.document.forms['MainForm'].mes_circulacion.selectedIndex = mesHoy;
			window.document.forms['MainForm'].ano_circulacion.value = anoHoy;
		}			
		
	} else if (blnB2C_Segurosbroker == true) {
		window.document.forms['MainForm'].dia_matriculacion.selectedIndex = 0;
		window.document.forms['MainForm'].mes_matriculacion.selectedIndex = 0;
		window.document.forms['MainForm'].ano_matriculacion.selectedIndex = 0;
	}
	
}


//Habilitar las fechas del propietario
function EnableDatesOwner(){
	
	//Declaración de variables
	var vntTemp;
	
	vntTemp = window.document.forms['MainForm'].tipo_documento_propietario.selectedIndex;
	vntTemp = window.document.forms['MainForm'].tipo_documento_propietario.options[vntTemp].value;
	
	if (vntTemp.toUpperCase() == "CIF"){
		window.document.forms['MainForm'].dia_nacpropietario.selectedIndex = 0;
		window.document.forms['MainForm'].mes_nacpropietario.selectedIndex = 0;
		window.document.forms['MainForm'].ano_nacpropietario.selectedIndex = 0;
		window.document.forms['MainForm'].dia_carpropietario.selectedIndex = 1;
		window.document.forms['MainForm'].mes_carpropietario.selectedIndex = 1;
		window.document.forms['MainForm'].ano_carpropietario.selectedIndex = 1;
		
		window.document.forms['MainForm'].sexo_propietario.selectedIndex = 0;

		window.document.forms['MainForm'].dia_nacpropietario.disabled = true;
		window.document.forms['MainForm'].mes_nacpropietario.disabled = true;
		window.document.forms['MainForm'].ano_nacpropietario.disabled = true;
		
		window.document.forms['MainForm'].dia_carpropietario.disabled = true;
		window.document.forms['MainForm'].mes_carpropietario.disabled = true;
		window.document.forms['MainForm'].ano_carpropietario.disabled = true;
		
		window.document.forms['MainForm'].sexo_propietario.disabled = true;
		
	} else {

		window.document.forms['MainForm'].dia_nacpropietario.disabled = false;
		window.document.forms['MainForm'].mes_nacpropietario.disabled = false;
		window.document.forms['MainForm'].ano_nacpropietario.disabled = false;
		window.document.forms['MainForm'].sexo_propietario.disabled = false;
		window.document.forms['MainForm'].dia_carpropietario.disabled = false;
		window.document.forms['MainForm'].mes_carpropietario.disabled = false;
		window.document.forms['MainForm'].ano_carpropietario.disabled = false;		

	}
	
}


//Si el propietario es empresa, cambia los controles de la figura del propieatrio
function OwnerIsCompany(objControl) {
	
	//Declaración de variables
	var vntTemp;
	
	
	vntTemp = objControl.selectedIndex;
	vntTemp = objControl.options[vntTemp].value;
	
	if (vntTemp == "6") {
		//Indicamos que el propietario es empresa
		window.document.forms['MainForm'].tipo_documento_propietario.selectedIndex = 2;
		EnableDatesOwner();	
	} else {
		window.document.forms['MainForm'].tipo_documento_propietario.selectedIndex = 0;
		window.document.forms['MainForm'].nif_propietario.value = "";
		window.document.forms['MainForm'].dia_nacpropietario.selectedIndex = 0;
		window.document.forms['MainForm'].mes_nacpropietario.selectedIndex = 0;
		window.document.forms['MainForm'].ano_nacpropietario.selectedIndex = 0;
		window.document.forms['MainForm'].dia_carpropietario.selectedIndex = 0;
		window.document.forms['MainForm'].mes_carpropietario.selectedIndex = 0;
		window.document.forms['MainForm'].ano_carpropietario.selectedIndex = 0;
		window.document.forms['MainForm'].sexo_propietario.selectedIndex = 0;
		window.document.forms['MainForm'].codigo_postal_propietario.value = "";
		window.document.forms['MainForm'].provincia_propietario.value = "";
		
		
		window.document.forms['MainForm'].dia_nacpropietario.disabled = false;
		window.document.forms['MainForm'].mes_nacpropietario.disabled = false;
		window.document.forms['MainForm'].ano_nacpropietario.disabled = false;
		window.document.forms['MainForm'].sexo_propietario.disabled = false;
		window.document.forms['MainForm'].dia_carpropietario.disabled = false;
		window.document.forms['MainForm'].mes_carpropietario.disabled = false;
		window.document.forms['MainForm'].ano_carpropietario.disabled = false;		
	}	
	
	
}

//Muestra la sección de los datos del seguro anterior
function ShowPreviousInsuranceHistory(objControl) {
	
	//Declaración de variables
	var objLayer;
	var objLayer2;
	
	
	//Obtenemos la referencia de la capa del seguro actual
	objLayer = window.document.getElementById('datos_seguro_actual');
	objLayer2 = window.document.getElementById('antecedentes_conductor');

	//Si sólo quiere cambiar de seguro
	if (objControl.value == "1") {
			
		//Ponemos el valor del radio de está asegurado a SI
		window.document.forms['MainForm'].esta_asegurado[0].checked = true;
		window.document.forms['MainForm'].esta_asegurado[1].checked = false;	
	
		//Mostramos los antecedentes
		objLayer.style.visibility = 'visible';
		if(IE4 || IE5){
			objLayer.style.display = 'inline';
		}else{
			objLayer.style.display = '';
		}	
	
		//Ocultamos los antecedentes de otros seguros
		ViewHistoryOtherInsurance();
		
		//Ponemos el valor del radio de está asegurado a No
		window.document.forms['MainForm'].otros_seguros[0].checked = false;
		window.document.forms['MainForm'].otros_seguros[1].checked = true;

		
	
	} else {
		//Ocultamos los antecedentes
		objLayer.style.visibility = 'hidden';
		objLayer.style.display = 'none';
		
		//Ponemos el valor del radio de está asegurado a No (0)	
		window.document.forms['MainForm'].esta_asegurado[1].checked = true;
		
		//Borramos los antecedentes
		ErasePrevieousInsuranceHistory();			
	}		
	
}


//Función que rellena la fecha de compra del vehículo cuando ésta esté oculta
function FillBuyDate() {
	
	//Declaración de variables
	var objTR;
	var intVehiculoNuevo;
	var vntTemp;
	
	//Obtenemos la referencia del tr de la fecha de compra
	objTR = window.document.getElementById('tr_fecha_compra');
	
	//Si el TR está oculto, copiaremos los datos
	try {
		if (objTR.style.visibility == 'hidden' || objTR.style.display == 'none') {
			//Vehiculo nuevo			
			intVehiculoNuevo = window.document.forms['MainForm'].vehiculo_nuevo.selectedIndex;
			intVehiculoNuevo = window.document.forms['MainForm'].vehiculo_nuevo.options[intVehiculoNuevo].value;
			
			//Cuando el valor de vehículo nuevo sea "Si.....(y lo que sea)", pondremo en la fecha de circulación la fecha del día.
			if (intVehiculoNuevo == 1 || intVehiculoNuevo == 2) {
				//Vehiculo nuevo = No. Solo quiero cambiar de seguro || Si.Es nuevo o lo voy a comprar.
				//Fecha de compra. La fecha de compra será la fecha de primera matriculación
				vntTemp = window.document.forms['MainForm'].dia_matriculacion.selectedIndex;
				InitializeComboField (window.document.forms['MainForm'].dia_circulacion, vntTemp);	
				vntTemp = window.document.forms['MainForm'].mes_matriculacion.selectedIndex;
				InitializeComboField (window.document.forms['MainForm'].mes_circulacion, vntTemp);	
				vntTemp = window.document.forms['MainForm'].ano_matriculacion.selectedIndex;
				InitializeComboField (window.document.forms['MainForm'].ano_circulacion, vntTemp);	
			} else {
				//Vehiculo nuevo = Si. Comprado 2ª mano a particular. Si. Comprado segunda mano a concesionario.
				//La fecha del día 
				InitializeComboField (window.document.forms['MainForm'].dia_circulacion, diaHoy);
				InitializeComboField (window.document.forms['MainForm'].mes_circulacion, mesHoy);
				InitializeComboField (window.document.forms['MainForm'].ano_circulacion, 1);
			}	
		}
		
	} catch(Err){}
	
}

//Función que copia la matrícula del vehículo al campo matrícula del seguro anterior
function CopyRegistrationNumber() {
	
	//Declaración de variables
	var vntTemp;
	var objTR;
	var objTRMatricula;
	
	//Obtener el valor de vehículo nuevo
	vntTemp = window.document.forms['MainForm'].vehiculo_nuevo.selectedIndex;
	vntTemp = window.document.forms['MainForm'].vehiculo_nuevo.options[vntTemp].value;
	
	//Obtenemos la referencia del TR de la matricula anterior
	objTR = window.document.getElementById('tr_matricula_anterior');
	objTRMatricula = window.document.getElementById('tr_matricula');
	
	//Si el corredor tiene el campo matrícula oculto, tenemos que dejar visible el campo matrícula de otro seguro
	if (objTRMatricula.style.visibility == 'hidden' || objTRMatricula.style.display == 'none') {
		objTR.style.visibility = 'visible';
		
		if(IE4 || IE5){
			objTR.style.display = 'inline';
		} else {
			objTR.style.display = '';
		}
		
		//salimos
		return;
	}
	
	//Sólo cuando quiera cambiar de seguro
	if (vntTemp == 1) {
		//Ocultamos la matrícula ya que tiene que ser la misma
		objTR.style.visibility = 'hidden';
		objTR.style.display = 'none';
		window.document.forms['MainForm'].matricula_anterior.value = window.document.forms['MainForm'].matricula.value;
	} else {
		objTR.style.visibility = 'visible';
		
		if(IE4 || IE5){
			objTR.style.display = 'inline';
		} else {
			objTR.style.display = '';
		}
	}
	
}


//Asigna en un hidden el valor del campo país
function AssignCountry(objControl, objHidden){
	
	//Declaración de variables
	var strCountry;
	var strValue;
	var vntTemp;
	
	//Obtenemos el valor del país
	strValue = objControl.selectedIndex;
	strValue = objControl.options[strValue].value;
	
	//Hacemos un split y nos quedamos el id_pais_aux
	if (strValue.indexOf(strCountrySep) > 0) {
		vntTemp = strValue.split(strCountrySep);
		strCountry = vntTemp[1];
	} else {
		strCountry = "";
	}
	
	objHidden.value = strCountry;
	
}


//Validar siniestros declarados
function ValidateDeclaredWrecksPrescriptor(){
	
	//Declaración de variables
	var vntTemp;
	var intWreck1_1, intWreck2_1, intWreck3_1;
	var intWreck1_2, intWreck2_2, intWreck3_2;
	var intWreck1_3, intWreck2_3, intWreck3_3;
	var intTotal;
	var blnMandatory = false;

	
	intTotal = 0;
	
	//Comprobamos si ha tenido siniestros
	if (window.document.forms['MainForm'].anios_sin_siniestros.value >= 0 && window.document.forms['MainForm'].anios_sin_siniestros.value <= 5) {
		
		//Comprobamos el número de años sin siniestros para no permitir que rellene algunas de las columnas
		if (window.document.forms['MainForm'].anios_sin_siniestros.value >=1) {
			//En la primera columna no puede haber siniestros
			blnMandatory = false;
		} else {
			blnMandatory = true; 			
		}
			

		//Del último año
		vntTemp = window.document.forms['MainForm'].tercero_culpa1.selectedIndex;
		intWreck1_1 = window.document.forms['MainForm'].tercero_culpa1.options[vntTemp].value;
		intTotal = CNum(intTotal) + CNum(intWreck1_1);
		if (vntTemp == 0) {
			m_strMensaje = 'Indique el número de siniestros declarados en el último año.';
			GenerarError( window.document.forms['MainForm'].tercero_culpa1.id, m_strMensaje); 
			return;
		}
		
		//Comprobamos si debemos permitir indicar siniestros
		if (blnMandatory == false) {
			if (intWreck1_1 > 0) {
				m_strMensaje = 'No puede declarar siniestros en el último año con tercero y con culpa si lleva 1 año o más sin dar un parte.';
				GenerarError( window.document.forms['MainForm'].tercero_culpa1.id, m_strMensaje); 
				return;
			}
		}
		
		vntTemp = window.document.forms['MainForm'].tercero_sinculpa1.selectedIndex;
		intWreck1_2 = window.document.forms['MainForm'].tercero_sinculpa1.options[vntTemp].value;
		intTotal = CNum(intTotal) + CNum(intWreck1_2);
		if ( vntTemp == 0 ) {
			m_strMensaje = 'Indique el número de siniestros declarados en el último año.';
			GenerarError( window.document.forms['MainForm'].tercero_sinculpa1.id, m_strMensaje); 
			return;
		}
		
		//Comprobamos si debemos permitir indicar siniestros
		if (blnMandatory == false) {
			if (intWreck1_2 > 0) {
				m_strMensaje = 'No puede declarar siniestros en el último año con tercero y sin culpa si lleva 1 año o más sin dar un parte.';
				GenerarError( window.document.forms['MainForm'].tercero_sinculpa1.id, m_strMensaje); 
				return;
			}
		}
		
		
		vntTemp = window.document.forms['MainForm'].sin_tercero1.selectedIndex;
		intWreck1_3 = window.document.forms['MainForm'].sin_tercero1.options[vntTemp].value;
		intTotal = CNum(intTotal) + CNum(intWreck1_3);
		if ( vntTemp == 0 ) {
			m_strMensaje = 'Indique el número de siniestros declarados en el último año.';
			GenerarError( window.document.forms['MainForm'].sin_tercero1.id, m_strMensaje); 
			return;
		}
		
		//Comprobamos si debemos permitir indicar siniestros
		if (blnMandatory == false) {
			if (intWreck1_3 > 0) {
				m_strMensaje = 'No puede declarar siniestros en el último año sin tercero si lleva 1 año o más sin dar un parte.';
				GenerarError( window.document.forms['MainForm'].sin_tercero1.id, m_strMensaje); 
				return;
			}
		}
		
		
		//Comprobamos el número de años sin siniestros para no permitir que rellene algunas de las columnas
		if (window.document.forms['MainForm'].anios_sin_siniestros.value >=2) {
			//En la primera columna no puede haber siniestros
			blnMandatory = false;
		} else {
			//Puede haber siniestros en todas las columnas
			blnMandatory = true;
		} 
		
		//Del año anterior
		vntTemp = window.document.forms['MainForm'].tercero_culpa2.selectedIndex;
		intWreck2_1 = window.document.forms['MainForm'].tercero_culpa2.options[vntTemp].value;
		intTotal = CNum(intTotal) + CNum(intWreck2_1);
		if (vntTemp == 0) {
			m_strMensaje = 'Indique el número de siniestros declarados en el año anterior al último.';
			GenerarError( window.document.forms['MainForm'].tercero_culpa2.id, m_strMensaje); 
			return;
		}
		
		//Comprobamos si debemos permitir indicar siniestros
		if (blnMandatory == false) {
			if (intWreck2_1 > 0) {
				m_strMensaje = 'No puede declarar siniestros en el año anterior con tercero y con culpa si lleva más de 1 año sin dar un parte.';
				GenerarError( window.document.forms['MainForm'].tercero_culpa2.id, m_strMensaje); 
				return;
			}
		}
		
		vntTemp = window.document.forms['MainForm'].tercero_sinculpa2.selectedIndex;
		intWreck2_2 = window.document.forms['MainForm'].tercero_sinculpa2.options[vntTemp].value;
		intTotal = CNum(intTotal) + CNum(intWreck2_2);
		if (vntTemp == 0) {
			m_strMensaje = 'Indique el número de siniestros declarados en el año anterior al último.';
			GenerarError( window.document.forms['MainForm'].tercero_sinculpa2.id, m_strMensaje); 
			return;
		}
		
		//Comprobamos si debemos permitir indicar siniestros
		if (blnMandatory == false) {
			if (intWreck2_2 > 0) {
				m_strMensaje = 'No puede declarar siniestros en el año anterior con tercero y sin culpa si lleva más de 1 año sin dar un parte.';
				GenerarError( window.document.forms['MainForm'].tercero_sinculpa2.id, m_strMensaje); 
				return;
			}
		}
		
		vntTemp = window.document.forms['MainForm'].sin_tercero2.selectedIndex;
		intWreck2_3 = window.document.forms['MainForm'].sin_tercero2.options[vntTemp].value;
		intTotal = CNum(intTotal) + CNum(intWreck2_3);
		if (vntTemp == 0) {
			m_strMensaje = 'Indique el número de siniestros declarados en el año anterior al último.';
			GenerarError( window.document.forms['MainForm'].sin_tercero2.id, m_strMensaje); 
			return;
		}
		
		//Comprobamos si debemos permitir indicar siniestros
		if (blnMandatory == false) {
			if (intWreck2_3 > 0) {
				m_strMensaje = 'No puede declarar siniestros en el año anterior sin tercero si lleva más de 1 año sin dar un parte.';
				GenerarError( window.document.forms['MainForm'].sin_tercero2.id, m_strMensaje); 
				return;
			}
		}
		
		//Del resto de años
		vntTemp = window.document.forms['MainForm'].tercero_culpa3.selectedIndex;
		intWreck3_1 = window.document.forms['MainForm'].tercero_culpa3.options[vntTemp].value;
		intTotal = CNum(intTotal) + CNum(intWreck3_1);
		if (vntTemp == 0) {
			m_strMensaje = 'Indique el número de siniestros declarados en el resto de años.';
			GenerarError( window.document.forms['MainForm'].tercero_culpa3.id, m_strMensaje); 
			return;
		}
		
		vntTemp = window.document.forms['MainForm'].tercero_sinculpa3.selectedIndex;
		intWreck3_2 = window.document.forms['MainForm'].tercero_sinculpa3.options[vntTemp].value;
		intTotal = CNum(intTotal) + CNum(intWreck3_2);
		if (vntTemp == 0) {
			m_strMensaje = 'Indique el número de siniestros declarados en el resto de años.';
			GenerarError( window.document.forms['MainForm'].tercero_sinculpa3.id, m_strMensaje); 
			return;
		}
		
		vntTemp = window.document.forms['MainForm'].sin_tercero3.selectedIndex;
		intWreck3_3 = window.document.forms['MainForm'].sin_tercero3.options[vntTemp].value;
		intTotal = CNum(intTotal) + CNum(intWreck3_3);
		if (vntTemp == 0) {
			m_strMensaje = 'Indique el número de siniestros declarados en el resto de años.';
			GenerarError( window.document.forms['MainForm'].sin_tercero3.id, m_strMensaje); 
			return;
		}

		//comprobamos la suma de los partes
		if (intTotal == 0) {
			m_strMensaje = 'Si indica que existen siniestros, debe declarar al menos uno.';
			GenerarError( window.document.forms['MainForm'].anios_sin_siniestros.id, m_strMensaje); 
			return;
		}
	}	

	
	//Todo bien
	return (true);
	
}


//Habilitar las fechas del propietario
function EnableDatesHolder(){
	
	//Declaración de variables
	var vntTemp;
	
	vntTemp = window.document.forms['MainForm'].tipo_documento_tomador.selectedIndex;
	vntTemp = window.document.forms['MainForm'].tipo_documento_tomador.options[vntTemp].value;
	
	try {
	
		if (vntTemp.toUpperCase() == "CIF"){
			window.document.forms['MainForm'].dia_nactomador.selectedIndex = 0;
			window.document.forms['MainForm'].mes_nactomador.selectedIndex = 0;
			window.document.forms['MainForm'].ano_nactomador.selectedIndex = 0;
			window.document.forms['MainForm'].dia_cartomador.selectedIndex = 1;
			window.document.forms['MainForm'].mes_cartomador.selectedIndex = 1;
			window.document.forms['MainForm'].ano_cartomador.selectedIndex = 1;
			
			window.document.forms['MainForm'].sexo_tomador.selectedIndex = 0;
	
			window.document.forms['MainForm'].dia_nactomador.disabled = true;
			window.document.forms['MainForm'].mes_nactomador.disabled = true;
			window.document.forms['MainForm'].ano_nactomador.disabled = true;
			
			window.document.forms['MainForm'].dia_cartomador.disabled = true;
			window.document.forms['MainForm'].mes_cartomador.disabled = true;
			window.document.forms['MainForm'].ano_cartomador.disabled = true;
			
			//Sexo
			//Creamos un nuevo Option
			var oSelect = window.document.forms['MainForm'].elements['sexo_tomador'];
			var oOption = new Option("Empresa", "");
			oSelect.options[2] = oOption;
			window.document.forms['MainForm'].elements['sexo_tomador'].selectedIndex = 2;
			window.document.forms['MainForm'].sexo_tomador.disabled = true;
			
			window.document.forms['MainForm'].expedicion_tomador.value = 1;
			window.document.forms['MainForm'].expedicion_tomador.disabled = true;
			
		} else {
	
			window.document.forms['MainForm'].dia_nactomador.disabled = false;
			window.document.forms['MainForm'].mes_nactomador.disabled = false;
			window.document.forms['MainForm'].ano_nactomador.disabled = false;
			
			window.document.forms['MainForm'].dia_cartomador.disabled = false;
			window.document.forms['MainForm'].mes_cartomador.disabled = false;
			window.document.forms['MainForm'].ano_cartomador.disabled = false;		
			
			window.document.forms['MainForm'].expedicion_tomador.disabled = false;
			
			//Sexo
			//Eliminamos el option de empresa
			var oSelect = window.document.forms['MainForm'].elements['sexo_tomador'];
			oSelect.options[2] = null;
			window.document.forms['MainForm'].sexo_tomador.disabled = false;
	
		}
	} catch(err) {
		
	}
}


//Muestra los datos del conductor ocasional sin tener en cuenta los Radio Button
function ViewOtherDrivers_NoRadioButton () {
	
	//Declaración de variables
	var vntTemp;
	var objLayer;
	var objOtherDrivers;
	
	//Flag de otros conductores
	vntTemp = window.document.forms['MainForm'].conductores_ocasionales.selectedIndex;
	vntTemp = window.document.forms['MainForm'].conductores_ocasionales.options[vntTemp].value;
	
	//Capturamos la capa con los radios y la ocultamos siempre
	objOtherDrivers = window.document.getElementById('otros_conductores');
	objOtherDrivers.style.visibility = 'hidden';
	objOtherDrivers.style.display = 'none';
	
	//Obtenemos la capa con los datos del segundo conductor 
	objLayer = window.document.getElementById('SegundoConductor');
	
	//Comprobamos
	if (vntTemp.toUpperCase() == "S") {
		objLayer.style.visibility = 'visible';
		objLayer.style.display = 'inline';
	} else {
		objLayer.style.visibility = 'hidden';
		objLayer.style.display = 'none';
	}
}

//Función que se encarga de marcar al menos, un radio button, de los segundo conductores
//en Oficinas Santander y Banesto para que las ASPs interpreten que hay segundos conductores
function CheckRadioButton_Other_Drivers() {
	
	//Declaración de variables
	var diaNac, mesNac, anoNac;
	var intAge;
	
	//Fecha de nacimiento del segundo conductor
	diaNac = window.document.forms['MainForm'].dia_nacsegundoconductor.selectedIndex;
	mesNac = window.document.forms['MainForm'].mes_nacsegundoconductor.selectedIndex;
	anoNac = window.document.forms['MainForm'].ano_nacsegundoconductor.selectedIndex;
		
	diaNac = window.document.forms['MainForm'].dia_nacsegundoconductor.options[diaNac].value;
	mesNac = DameMesANumero(window.document.forms['MainForm'].mes_nacsegundoconductor.options[mesNac].value);
	anoNac = window.document.forms['MainForm'].ano_nacsegundoconductor.options[anoNac].value;
	
	//Calculamos los años
	intAge = DimeAnosDiferencia(diaNac, mesNac, anoNac, diaHoy, mesHoy, anoHoy);
	
	if (intAge >= 25 ) {
		//Marcamos el "hijos mayores de 25 años"
		window.document.forms['MainForm'].conductor_ocasional4[0].checked = true;
		window.document.forms['MainForm'].conductor_ocasional4[1].checked = false;
		window.document.forms['MainForm'].conductor_ocasional3[0].checked = false;
		window.document.forms['MainForm'].conductor_ocasional3[1].checked = true;
	} else {
		//Marcamos el "hijos menores de 25 años"
		window.document.forms['MainForm'].conductor_ocasional3[0].checked = true;
		window.document.forms['MainForm'].conductor_ocasional3[1].checked = false;
		window.document.forms['MainForm'].conductor_ocasional4[0].checked = false;
		window.document.forms['MainForm'].conductor_ocasional4[1].checked = true;
	}
}

//Cambia el valor del campo pais de expedición del carnet 
function ChangeCountryLicense(objControl, DriverLicControl) {
	
	//Declaracion de variables
	var valor_pais;
	
	if (blnB2C_Segurosbroker == false) return;
	
	//Valor de la nacionalidad
	valor_pais = objControl.selectedIndex;
	valor_pais = objControl.options[valor_pais].value;
	
	if (valor_pais != '724#2') {
		//No es España
		window.document.forms['MainForm'].elements[DriverLicControl].selectedIndex = 0;
	} else {
		window.document.forms['MainForm'].elements[DriverLicControl].value = 2;
	}
	
}