//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 = "";
	


//Función que genera el error
function GenerarError ( vntElemento, strMensaje ) {

	//Si es un Explorer llamamos a marcarElemento
	if ( IE4 || IE5 ) {
		marcarElemento( vntElemento );
		elementoMarcado = vntElemento;
	} else {
		alert(strMensaje);
	}

}



//Función que se ejecuta en el Onload de la página
function IniciarPantalla() {
	
	
	//El remolque
	ViewTowLayer(window.document.forms['MainForm'].remolque);
	EnableTow(window.document.forms['MainForm'].tipo_vehiculo);
	
	//Colocamos la provincia
	window.document.forms['MainForm'].provincia_conductor.value=DimeDescProvincia(window.document.forms['MainForm'].codigo_postal_conductor.value.substr(0,2));
	
	//Formateamos el peso
	FormatWeight(window.document.forms['MainForm'].peso_remolque);
	
}


//Función que se ejecuta en el Onload de la página
function IniciarPantalla2() {
		
	ShowLayerVehicle();
	
	//Obtenemos el tipo de vehículo
	GetTypeCar();
	
	//La provincia dentro de un try
	try {
		window.document.forms['MainForm'].provincia_conductor.value=DimeDescProvincia(window.document.forms['MainForm'].codigo_postal_conductor.value.substr(0,2));
	}catch(e){}
}

//Ejecuta las funciones de validación
function AceptarClick(strDay,strMonth,strYear,blnUnoe,blnUnoeSB) {

	//Declaración de variables
	var vntTemp;

		
	//Desmarcamos el elementoMarcado
	if ( elementoMarcado != '' ) {
		marcarElemento(elementoMarcado);
		elementoMarcado = '';
	}

	//Validamos los datos del vehículo
	if (!ValidateDataCar()) {
		return;	
	}	
	
	//Validamos los datos del conductor principal
	if (!ValidateFirstDriver()){
		return;	
	}	
	

	//El resto de datos	
	if( !document.all ) {	
		if (blnUnoe=='Falso'||blnUnoe=='False'){
			document.MainForm.target="_top";
		}
		else{
			if (blnUnoeSB=='Falso'||blnUnoeSB=='False'){
				document.MainForm.target="content2";
			}
			else{
				document.MainForm.target="_top";
			};
		};

		LocalSubmitirForm();
	
		return;
	}
	
	
	//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);
		
		if (blnUnoe=='Falso'||blnUnoe=='False'){
			document.MainForm.target="_top";
		}
		else{
			if (blnUnoeSB=='Falso'||blnUnoeSB=='False'){
				document.MainForm.target="content2";
			}
			else{
				document.MainForm.target="_top";
			};
		};

		//Desbloqueamos los campos
		window.document.forms['MainForm'].remolque.disabled = false;

		
		//Hacemos el submit del formulario
		LocalSubmitirForm();
	}
	
}

//Ejecuta las funciones de validación
function AceptarClick2(strDay,strMonth,strYear,blnUnoe,blnUnoeSB) {

	//Declaración de variables
	var vntTemp;

		
	//Desmarcamos el elementoMarcado
	if ( elementoMarcado != '' ) {
		marcarElemento(elementoMarcado);
		elementoMarcado = '';
	}
	
	SetCarDescription();
	
	//Validamos los datos del vehículo
	if (!ValidateDataMaqAgricola()) {
		return;	
	}	
	
	//Se validan los datos del conductor
	try {
		//Validamos los datos del conductor principal
		if (!ValidateFirstDriver()){
			return;	
		}
	} catch(e) {}
	
	
	//El resto de datos	
	if( !document.all ) {	
		if (blnUnoe=='Falso'||blnUnoe=='False'){
			document.MainForm.target="_top";
		}
		else{
			if (blnUnoeSB=='Falso'||blnUnoeSB=='False'){
				document.MainForm.target="content2";
			}
			else{
				document.MainForm.target="_top";
			};
		};

		LocalSubmitirForm();
	
		return;
	}
	
	
	//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 = '';		
		
		
		
		
		if (blnUnoe=='Falso'||blnUnoe=='False'){
			document.MainForm.target="_top";
		}
		else{
			if (blnUnoeSB=='Falso'||blnUnoeSB=='False'){
				document.MainForm.target="content2";
			}
			else{
				document.MainForm.target="_top";
			};
		};

			document.MainForm.action = ""
		
		try {
			window.document.forms['MainForm'].provincia_conductor.disabled = false;
		}catch(e){}	
		
		//Hacemos el submit del formulario
		LocalSubmitirForm();
	}
	
}

//Validar los datos del vehículo
function ValidateDataMaqAgricola(){
	
	//Declaración de variables
	var intDay, intMonth, intYear;
	var intMatDay, intMatMonth, intMatYear;
	var vntTemp;
	var intVehicle;

	
	//Selección del tipo de vehiculo
	vntTemp = window.document.forms['MainForm'].TipoSeguro.selectedIndex;
	if (vntTemp == 0) {
		m_strMensaje = 'Debe indicar que quiere asegurar.';
		GenerarError( window.document.forms['MainForm'].TipoSeguro.id, m_strMensaje); 
		return;
	}
	
	vntTemp = window.document.forms['MainForm'].TipoSeguro.options[vntTemp].value;
	if (vntTemp == 1 || vntTemp == 3){
				
		if (strFormularioReducido == 'N'){
					//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;
					}
			}
			
			if (window.document.MainForm.capital_ocupantes.value == ''){
					m_strMensaje = 'La garantías de ocupantes es un dato obligatorio.';
					GenerarError( window.document.forms['MainForm'].capital_ocupantes.id, m_strMensaje); 
					return;
				}
	}
	
	 if (vntTemp == 2 || vntTemp == 3){
			if (strFormularioReducido == 'N'){
				//Fecha de la primera matriculacion
				intDay = window.document.forms['MainForm'].dia_matriculacion_r.selectedIndex;
				intMonth = window.document.forms['MainForm'].mes_matriculacion_r.selectedIndex;
				intYear = window.document.forms['MainForm'].ano_matriculacion_r.selectedIndex;
			
				intDay = window.document.forms['MainForm'].dia_matriculacion_r.options[intDay].value;
				intMonth = DameMesANumero(window.document.forms['MainForm'].mes_matriculacion_r.options[intMonth].value);
				intYear = window.document.forms['MainForm'].ano_matriculacion_r.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_r.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_r.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_r.id, m_strMensaje); 
					return;
				}
			}
			
			if (CNum(window.document.MainForm.peso_maximo.value) <= 750){
					m_strMensaje = 'El  peso máximo autorizado debe ser superior a 750 Kgs.';
					GenerarError( window.document.forms['MainForm'].peso_maximo.id, m_strMensaje); 
					return;
			}
		
			if (CNum(window.document.MainForm.peso_maximo.value) > 14000){
					m_strMensaje = 'El peso máximo autorizado del remolque no puede ser superior a 14.000 Kilogramos';
					GenerarError( window.document.forms['MainForm'].peso_maximo.id, m_strMensaje); 
					return;
			}
					
			/*if (CNum(window.document.MainForm.valor_compra_remolque.value) == 0){
					m_strMensaje = 'El valor de compra del remolque es un campo obligatorio.';
					GenerarError( window.document.forms['MainForm'].valor_compra_remolque.id, m_strMensaje); 
					return;
			}*/
	}
	
	
	//Todo bien
	return (true);
}

//Muestra los datos del remolque
function ViewTowLayer(objTow){
	
	//Declaración de variables
	var vntTemp;
	var intSelected;
	var blnView;
	
	//Obtenemos la referencia del remolque
	intSelected = window.document.forms['MainForm'].remolque.selectedIndex;
	intSelected = window.document.forms['MainForm'].remolque.options[intSelected].value;
	
	if (intSelected == 'S') {
		blnView = true;
	} else {
		blnView = false;
		//Reseteamos los valores
		window.document.forms['MainForm'].peso_remolque.value = "";
		window.document.forms['MainForm'].matricula_remolque.value = "";
		window.document.forms['MainForm'].dia_matriculacion_remolque.selectedIndex = 0;
		window.document.forms['MainForm'].mes_matriculacion_remolque.selectedIndex = 0;
		window.document.forms['MainForm'].ano_matriculacion_remolque.selectedIndex = 0;
	}
	
	//Mostramos la capa
	ViewLayer('datos_remolque', blnView);

	

}	



//Ver una capa
function ViewLayer(Layer, blnView) {

	//Declaracion de variables
	var objLayer;


	//La capa
	objLayer = window.document.getElementById(Layer.toString());

	if( blnView == false ) {
		objLayer.style.visibility = "hidden";
		objLayer.style.display = "none";
	} else {
		objLayer.style.visibility = "visible";
		objLayer.style.display = "inline";
	}
	
}


//Función que habilita el control del remolque
function EnableTow(objControl) {
	
	//Declaración de variables
	var objLayer;
	var vntTemp;
	
	//Si no es IE fuera
	if (!document.all) {
		return;
	}
	
	//Nos quedamos con el valor del tipo de vehículo
	vntTemp = window.document.forms['MainForm'].tipo_vehiculo.selectedIndex;
	
	//Obtenemos la referencia de la capa
	
	if (vntTemp == 1 || vntTemp == 0 ) {
		//Ha elegido tractor, le damos la posibilidad de seleccionar remolque
		window.document.forms['MainForm'].remolque.disabled = false;
	} else {
		//Ha elegido motocultor o cosechadora. 
		window.document.forms['MainForm'].remolque.selectedIndex = 1;
		window.document.forms['MainForm'].remolque.disabled = true;
		
		//Ocultamos los campos
		ViewLayer('datos_remolque', false);
		
		//Borramos los datos
		window.document.forms['MainForm'].peso_remolque.value = "";
		window.document.forms['MainForm'].matricula_remolque.value  = "";
		window.document.forms['MainForm'].dia_matriculacion_remolque.selectedIndex = 0;
		window.document.forms['MainForm'].mes_matriculacion_remolque.selectedIndex = 0;
		window.document.forms['MainForm'].ano_matriculacion_remolque.selectedIndex = 0;
	}
	
	
}



//Validar los datos del vehículo
function ValidateDataCar(){
	
	//Declaración de variables
	var intDay, intMonth, intYear;
	var intMatDay, intMatMonth, intMatYear;
	var vntTemp;
	var intVehicle;

	
	//Selección del tipo de vehiculo
	vntTemp = window.document.forms['MainForm'].tipo_vehiculo.selectedIndex;
	if (vntTemp == 0) {
		m_strMensaje = 'Debe indicar el tipo de vehículo que quiere asegurar.';
		GenerarError( window.document.forms['MainForm'].tipo_vehiculo.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;
	}


	//Remolque
	vntTemp = window.document.forms['MainForm'].remolque.selectedIndex;
	intVehicle = window.document.forms['MainForm'].tipo_vehiculo.selectedIndex;
	intVehicle = window.document.forms['MainForm'].tipo_vehiculo.options[intVehicle].value;
	
	if ( vntTemp == 0  && intVehicle == "1") {
		m_strMensaje = 'Debe especificar si posee remolque.';
		GenerarError( window.document.forms['MainForm'].remolque.id, m_strMensaje); 
		return;
	}
	
	vntTemp = window.document.forms['MainForm'].remolque.selectedIndex;
	vntTemp = window.document.forms['MainForm'].remolque.options[vntTemp].value;
	
	if (vntTemp == 'S' && intVehicle == "1") {
		
		//Peso máximo autorizado
		vntTemp = window.document.forms['MainForm'].peso_remolque.value;
		if (vntTemp == "") {
			m_strMensaje = 'Debe indicar el peso del remolque.';
			GenerarError( window.document.forms['MainForm'].peso_remolque.id, m_strMensaje); 
			return;
		}	
		
		//El importe debe de ser numérico
		vntTemp = window.document.forms['MainForm'].peso_remolque.value;
		vntTemp = replaceString('.','', vntTemp);
		vntTemp= replaceString(',','', vntTemp);
		if (isNaN(vntTemp.toString()) == true){
			m_strMensaje = 'Debe indicar un peso váido.';
			GenerarError( window.document.forms['MainForm'].peso_remolque.id, m_strMensaje); 
			return;	
		}
		

		//Matrícula del remolque
		//vntTemp = window.document.forms['MainForm'].matricula_remolque.value;
		//if (vntTemp == "") {
		//	m_strMensaje = 'Debe indicar la matrícula del remolque.';
		//	GenerarError( window.document.forms['MainForm'].matricula_remolque.id, m_strMensaje); 
		//	return;
		//}
		
		//Fecha de la primera matriculacion
		intDay = window.document.forms['MainForm'].dia_matriculacion_remolque.selectedIndex;
		intMonth = window.document.forms['MainForm'].mes_matriculacion_remolque.selectedIndex;
		intYear = window.document.forms['MainForm'].ano_matriculacion_remolque.selectedIndex;
	
		intDay = window.document.forms['MainForm'].dia_matriculacion_remolque.options[intDay].value;
		intMonth = DameMesANumero(window.document.forms['MainForm'].mes_matriculacion_remolque.options[intMonth].value);
		intYear = window.document.forms['MainForm'].ano_matriculacion_remolque.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_remolque.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_remolque.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_remolque.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;
	var RegExPattern;
	var blnTemp;
	
	//El sexo
	vntTemp = window.document.forms['MainForm'].sexo_conductor.selectedIndex;
	if (vntTemp == 0) {
		m_strMensaje = 'Debe indicar el sexo del conductor principal.';
		GenerarError( window.document.forms['MainForm'].sexo_conductor.id, m_strMensaje); 
		return;
	}
	
	
	//El estado civil
	vntTemp = window.document.forms['MainForm'].estado_civil_conductor.selectedIndex;
	if (vntTemp == 0) {
		m_strMensaje = 'Debe indicar el estado civil del conductor principal.';
		GenerarError( window.document.forms['MainForm'].estado_civil_conductor.id, m_strMensaje); 
		return;
	}
	
	//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;
	}
	
	
	//El código postal
	vntTemp = trim2(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;
	}	
	
	//Código Postal
	vntTemp = trim2(window.document.forms['MainForm'].codigo_postal_conductor.value);
	RegExPattern = /^(0[1-9]|5[0-2]|[0-4][0-9])[0-9]{3}$/;
	blnTemp = RegExPattern.test(vntTemp);
	if (blnTemp == false || vntTemp < 1000){
		m_strMensaje = 'El código postal no es válido.';
		GenerarError( window.document.forms['MainForm'].codigo_postal_conductor.id, m_strMensaje); 
		return;	
	}
	
	//La provincia
	vntTemp = trim2(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;
	}	
	
	//País 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;
	}
	
	//Todo bien
	return(true);	
	
}



//Formatear el peso
function FormatWeight(objControl){
	
	//Declaración de variables
	objControl.value = codificarEuro(objControl.value);
	
}


//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 LoadMakes(){
	//Lanza la carga de modelos de una marca seleccionada
	parent.datos1.MainForm2.hddClaseID.value = document.MainForm.clase_vehiculo.options[document.MainForm.clase_vehiculo.selectedIndex].value;
	parent.datos1.MainForm2.hddTipoID.value = '';//document.MainForm.tipo_vehiculo.options[document.MainForm.tipo_vehiculo.selectedIndex].value;
	parent.datos1.MainForm2.hddTipoDesc.value='';//document.MainForm.tipo_vehiculo.options[document.MainForm.tipo_vehiculo.selectedIndex].text;
	parent.datos1.MainForm2.hddMarkID.value='';
	parent.datos1.MainForm2.hddModelID.value='';
	parent.datos1.MainForm2.hddType.value='0';

	parent.datos1.ClearMakes(2);
	parent.datos1.ClearModels(2);
	parent.datos1.ClearVersions(2);

	parent.datos2.MainForm.marca.disabled=true;
	parent.datos2.MainForm.modelo.disabled=true;
	parent.datos2.MainForm.version.disabled=true;

	strOption1 = new Option('Cargando...','');
	document.MainForm.marca.options[0]=strOption1;
	document.MainForm.marca.options[0].selected=true;
	strOption1 = new Option('Cargando...','');
	document.MainForm.modelo.options[0]=strOption1;
	document.MainForm.modelo.options[0].selected=true;
	strOption2 = new Option('Cargando...','');
	document.MainForm.version.options[0]=strOption2;
	document.MainForm.version.options[0].selected=true;	

	parent.datos1.ThrowForm();
}

function LoadModels(){
	//Lanza la carga de modelos de una marca seleccionada
	parent.datos1.MainForm2.hddClaseID.value = document.MainForm.clase_vehiculo.options[document.MainForm.clase_vehiculo.selectedIndex].value;
	parent.datos1.MainForm2.hddTipoID.value = '';//document.MainForm.tipo_vehiculo.options[document.MainForm.tipo_vehiculo.selectedIndex].value;
	parent.datos1.MainForm2.hddTipoDesc.value='';//document.MainForm.tipo_vehiculo.options[document.MainForm.tipo_vehiculo.selectedIndex].text;	
	parent.datos1.MainForm2.hddMarkID.value=document.MainForm.marca.value;
	parent.datos1.MainForm2.hddModelID.value='';
	parent.datos1.MainForm2.hddMarkDesc.value=document.MainForm.marca.options[document.MainForm.marca.selectedIndex].text;
	parent.datos1.MainForm2.hddType.value='1';

	parent.datos1.ClearModels(2);
	parent.datos1.ClearVersions(2);

	parent.datos2.MainForm.marca.disabled=true;
	parent.datos2.MainForm.modelo.disabled=true;
	parent.datos2.MainForm.version.disabled=true;

	strOption1 = new Option('Cargando...','');
	document.MainForm.modelo.options[0]=strOption1;
	document.MainForm.modelo.options[0].selected=true;
	strOption2 = new Option('Cargando...','');
	document.MainForm.version.options[0]=strOption2;
	document.MainForm.version.options[0].selected=true;	

	parent.datos1.ThrowForm();
}

function LoadVersions(){
	//Lanza la carga de modelos de una marca seleccionada
	parent.datos1.MainForm2.hddClaseID.value = document.MainForm.clase_vehiculo.options[document.MainForm.clase_vehiculo.selectedIndex].value;
	parent.datos1.MainForm2.hddTipoID.value = '';//document.MainForm.tipo_vehiculo.options[document.MainForm.tipo_vehiculo.selectedIndex].value;
	parent.datos1.MainForm2.hddTipoDesc.value='';//document.MainForm.tipo_vehiculo.options[document.MainForm.tipo_vehiculo.selectedIndex].text;	
	parent.datos1.MainForm2.hddMarkID.value=document.MainForm.marca.value;
	parent.datos1.MainForm2.hddModelID.value=document.MainForm.modelo.value;
	parent.datos1.MainForm2.hddMarkDesc.value=document.MainForm.marca.options[document.MainForm.marca.selectedIndex].text;
	parent.datos1.MainForm2.hddModelDesc.value=document.MainForm.modelo.options[document.MainForm.modelo.selectedIndex].text;
	parent.datos1.MainForm2.hddType.value='2';
	
	parent.datos1.ClearVersions(2);

	parent.datos2.MainForm.marca.disabled=true;
	parent.datos2.MainForm.modelo.disabled=true;
	parent.datos2.MainForm.version.disabled=true;
	
	strOption2 = new Option('Cargando...','');
	document.MainForm.version.options[0]=strOption2;
	document.MainForm.version.options[0].selected=true;	
	
	parent.datos1.ThrowForm();
}

function FillMakes(){
	
	var strOption;
	for (var intMake=0;intMake<=parent.datos1.MainForm.marca.length-1;intMake++){
		strOption = null;
		strPar1=parent.datos1.MainForm.marca.options[intMake].text;
		strPar2=parent.datos1.MainForm.marca.options[intMake].value;
		strOption = new Option(strPar1,strPar2);
		eval("parent.datos2.MainForm.marca.options[intMake]=strOption");
		if (intMake==0) {
			parent.datos2.MainForm.marca.options[intMake].selected=true;
		}		
	}
	
	parent.datos2.MainForm.marca.disabled=false;
	parent.datos2.MainForm.modelo.disabled=false;
	parent.datos2.MainForm.version.disabled=false;
};

function FillModels(){
	
	var strOption;
	for (var intModel=0;intModel<=parent.datos1.MainForm.modelo.length-1;intModel++){
		strOption = null;
		strPar1=parent.datos1.MainForm.modelo.options[intModel].text;
		strPar2=parent.datos1.MainForm.modelo.options[intModel].value;
		strOption = new Option(strPar1,strPar2);
		eval("parent.datos2.MainForm.modelo.options[intModel]=strOption");
		if (intModel==0) {
			parent.datos2.MainForm.modelo.options[intModel].selected=true;
		}
	}
	
	parent.datos2.MainForm.marca.disabled=false; 
	parent.datos2.MainForm.modelo.disabled=false;
	parent.datos2.MainForm.version.disabled=false;
};

function FillVersions(){
	var strOption;
	for (var intVersion=0;intVersion<=parent.datos1.MainForm.version.length-1;intVersion++){
		strOption = null;
		strPar1=parent.datos1.MainForm.version.options[intVersion].text;
		strPar2=parent.datos1.MainForm.version.options[intVersion].value;
		strOption = new Option(strPar1,strPar2);
		eval("parent.datos2.MainForm.version.options[intVersion]=strOption");
		if (intVersion==0) {
			parent.datos2.MainForm.version.options[intVersion].selected=true;
		}
	}
	parent.datos2.MainForm.marca.disabled=false;
	parent.datos2.MainForm.modelo.disabled=false;
	parent.datos2.MainForm.version.disabled=false;
};

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')");
}

//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 formatea un capital
function FormatAmount(objControl) {
	if(IsNumeric(objControl.value,false,true)){
		objControl.value = codificarEuro(objControl.value);
	}else{
		objControl.value = codificarEuro('0');
	}	
	
}

//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();
}

function ShowLayerVehicle(){
		
		
		if (window.document.MainForm.TipoSeguro.options[window.document.MainForm.TipoSeguro.selectedIndex].value == 1) {
				ViewLayer('datos_vehiculo', true)
				ViewLayer('datos_remolque', false)
		}else if (window.document.MainForm.TipoSeguro.options[window.document.MainForm.TipoSeguro.selectedIndex].value == 2) {
				ViewLayer('datos_vehiculo', false)
				ViewLayer('datos_remolque', true)
		}else if (window.document.MainForm.TipoSeguro.options[window.document.MainForm.TipoSeguro.selectedIndex].value == 3) {
				ViewLayer('datos_vehiculo', true)
				ViewLayer('datos_remolque', true)
		} else {
				ViewLayer('datos_vehiculo', false)
				ViewLayer('datos_remolque', false)
			}

}



