﻿/////////////// formateado nombre marcas y compañias ////////////////


function obtenerNombre(nombre){
    nombres=nombre.split("_");
    for(n=0;n<nombres.length;n++){
        inicial=nombres[n].substr(0,1);
        resto=nombres[n].substring(1,nombres[n].length);
        nombres[n]=inicial.toUpperCase() + resto.toLowerCase();
    }
    return nombres.join(" ");
}

////////////////// auxiliar para ordenar arrays /////////////////

function ordenarPor(elemento, orden){
	versionSeleccionada='';
    arrayVersiones.ordenar(elemento);
    if(orden=='asc') arrayVersiones.reverse();
    generarTablaVersiones();
}



/////////////////// auxiliares texto vehiculos ////////////////////////
function limpiarPotencia(pot){
	cab = pot;
	cab = pot;
	if(pot!=' ' && pot!=''){
	    pot = pot.split(',')[0];
	    pot = pot.split('.')[0];
	} 
	else
	    pot = ' ';
	
	return cab;
}

function obtenerTipoMotor(motor){
    switch(motor.toUpperCase()){
        case 'D':return buscarTextoEsp('diesel');
        case 'G':return buscarTextoEsp('gasolina');
        case 'H':
        case 'E':
        case 'X':
        case 'L':
        case 'B':
        default: return buscarTextoEsp('otro');
    }
}


/////////////////// auxiliares calendarios ////////////////////////////////

function obtenerDiaFinalMes(mes, anno){
	if (mes==1 || mes==3 || mes==5 || mes==7 || mes==8 || mes==10 || mes==12){
		topDias=31;
	}else if (mes==2){
		if (anno%4==0 && (anno%100!=0 || anno%400==0)) topDias=29;
		else topDias=28;
	}else{
		topDias=30;
	}
	return topDias;
}

function seleccionarDia(d, m, a, t, c, id){

	d = (d > 9) ? d : '0' + d;
	val = d + "/" + m + "/" + a;

    tipo = (t==NAC) ? 'Nacimiento' : 'Expedicion';
	cond = (c==CH) ? 'CH' : 'CO';
	cp = 'fecha' + tipo + cond;

	if(t==NAC)
	{
		//reiniciamos el calendario de fecha de expedicion cuando seleccionamos un nuevo dia en el calendario de nacimiento
		cp2 = (c==CH) ? 'fechaExpedicionCH' : 'fechaExpedicionCO';
		frm = (c==CH) ? 'frmFechaNacCH' : 'frmFechaNacCO';
		MM_findObj(cp2).value='';
		ap = obtenerPosApNombre(frm);
		pos = obtenerPosicionPorNombre(cp2, ap);
		apartados[ap].realizado=false;
		apartados[ap].formulario[pos].valor='';
		
		//guardamos el valor del calendario de nacimiento
		guardarValor(val, cp);
		regenerarDias(cp, t, c);
	}
	else
	{
	    //si ls fechas están correctas y completas
	    fcNac = MM_findObj("fechaNacimiento"+cond).value.split('/');
	    if(fcNac.length==3 && (fcNac[0]!="" && fcNac[1]!="" && fcNac[2]!="") )
	    {
	        if(d!="" && m!="" && a!="")
	        {
		        if(comprobarFechaExp(d, m, a, c))
		        {
			        guardarValor(val, cp);
			        regenerarDias(cp, t, c);
		        }
		        else
		        {
			        txt = buscarTextoEsp('errorFechaExp');
			        alert(limpiarCadena(txt, HToU));
		        }
		    }
	        else
	        {
//		        txt = "Es necesario informar la fecha de expedición de carnet correctamente";
//		        alert(limpiarCadena(txt, HToU));
	        }
	    
		}
		else
	    {
	        
	        txt = "Es necesario informar la fecha de nacimiento completa(dia/mes/año) para cargar la fecha de expedición correctamente.";
		    alert(limpiarCadena(txt, HToU));
	    
	    
//	        fcExp = MM_findObj("fechaExpedicion"+cond).value.split('/');
//	        if(fcExp.length==3 && (fcExp[0]!="" && fcExp[1]!="" && fcExp[2]!="") )
//	        {
//		        txt = "Es necesario informar la fecha de nacimiento correctamente";
//		        alert(limpiarCadena(txt, HToU));
//		    }
	    }
	}
}


/////////////////// obtienen la posicion en el array principal a traves del nombre ////////////////////

//posicion de un elemento de formulario en un apartado
function obtenerPosicionPorNombre(nombre, apt){
	apt = (apt==undefined || apt==null) ? apartado : apt;
	elementos = apartados[apt].formulario;

	for(e=0;e<elementos.length;e++){
		if(elementos[e].campo==nombre) return e;
	}
	return 0;
}

//posicion de un apartado
function obtenerPosApNombre(nombre){
	for(e=0;e<apartados.length;e++){
		if(apartados[e].nombre==nombre) return e;
	}
}


////////////////////// cambia el estado para el parametro saltar de los apartados ///////////////////

function cambiarEstadoSalto(nombre, estado, noReg){
	ap=obtenerPosApNombre(nombre);
	apartados[ap].saltar=estado;
	
	if(!estado && !noReg){
		frm = apartados[ap].formulario;
		for(j=0;j<frm.length;j++)
			generarSelect(frm[j], frm.length, null, ap);
	}
}


///////////////////////// aspecto visual ///////////////////////////////////////

function marcarSeleccionado(capa){
	ap = apartados[apartado].nombre;

	if(ap=='frmTipoVehiculo'){
		if(tipoSeleccionado!="") MM_findObj(tipoSeleccionado).style.borderColor = blanco;
		tipoSeleccionado=capa;
		MM_findObj(tipoSeleccionado).style.borderColor = rojo;
	}else if(ap=='frmMarca'){
		if(marcaSeleccionada!="") MM_findObj(marcaSeleccionada).style.borderColor = grisMedio;
		marcaSeleccionada=capa;
		MM_findObj(marcaSeleccionada).style.borderColor = rojo;
	}else if(ap=='frmCompSeguros'){
		if(companiaSeleccionada!="") MM_findObj(companiaSeleccionada).style.borderColor = grisMedio;
		companiaSeleccionada=capa;
		MM_findObj(companiaSeleccionada).style.borderColor = rojo;
	}
}

function colorBorde(ap, elem, color){
	ap = apartados[ap].nombre;
	switch(ap){
		case 'frmTipoVehiculo' : tip = tipoSeleccionado; break;
		case 'frmMarca' : tip = marcaSeleccionada; break;
		case 'frmCompSeguros' : tip = companiaSeleccionada; break;
	}
	if(tip!=elem.id)
		elem.style.borderColor=color;
}

function resaltar(elem, ap, idF, id){
	seleccionado = apartados[ap].formulario[idF].datosSelect[id].seleccionado;
    if(!seleccionado){
        elem.className = "resaltada";
//		elem.style.backgroundColor=rojo;
//		elem.style.color=blanco;
	}
}

function quitarResalte(elem, ap, idF, id){
	seleccionado = apartados[ap].formulario[idF].datosSelect[id].seleccionado;
    if(!seleccionado){
		elem.className = "noResaltada";
//		elem.style.backgroundColor=blanco;
//		elem.style.color=grisOscuro;	
	}
}

function resaltarBorde(elem){
    elem.className = "bordeResaltado";
//	elem.style.backgroundColor=grisOscuro;
//	elem.style.color=blanco;
//	elem.style.textWeight='bold';
//	elem.style.border='solid 1px ' + rojo;
}

function quitarResaltarBorde(elem){
	elem.className = "bordeNoResaltado";
//	elem.style.backgroundColor=blanco;
//	elem.style.color=grisOscuro;
//	elem.style.textWeight='none';
//	elem.style.border='solid 1px ' + blanco;
}
