

function mxValidateDate(pObject, pBlanqueaCampo)
{ 
	
	var fecha;
	fecha=pObject.value;
	
   if (fecha)
   {  
      borrar = fecha;
      if ((fecha.substr(2,1) == "/") && (fecha.substr(5,1) == "/"))
      {      
         for (i=0; i<10; i++)
	     {	
            if (((fecha.substr(i,1)<"0") || (fecha.substr(i,1)>"9")) && (i != 2) && (i != 5))
			{
               borrar = '';
               break;  
			}  
         }
	     if (borrar)
	     { 
	        a = fecha.substr(6,4);
		    m = fecha.substr(3,2);
		    d = fecha.substr(0,2);
		    if((a < 1880) || (a > 2050) || (m < 1) || (m > 12) || (d < 1) || (d > 31))
		       borrar = '';
		    else
		    {
		       if((a%4 != 0) && (m == 2) && (d > 28))	   
		          borrar = ''; 
			   else	
			   {
		          if ((((m == 4) || (m == 6) || (m == 9) || (m==11)) && (d>30)) || ((m==2) && (d>29)))
			         borrar = '';	      				  	 
			   }  
		    } 
         } 
      } 
	  else
	     borrar = '';
	     
	  if (borrar == ''){
	  	if (pBlanqueaCampo){
	  		pObject.value="";
	  	}
	    pObject.value="";
	    pObject.focus();
	    alert(sw_fechaHora01);
	  }   
   }  
} 

function mxValidateTime(pObject, pBlanqueaCampo)
{ 
	var Hora;
	Hora=pObject.value;
	
   if (Hora)
   {  
      borrar = Hora;
      if ((Hora.substr(2,1) == ":"))
      {      
         for (i=0; i<5; i++)
	     {	
            if (((Hora.substr(i,1)<"0") || (Hora.substr(i,1)>"9")) && (i != 2))
			{
               borrar = '';
               break;  
			}  
         }

	     if (borrar)
	     { 
		    h = Hora.substr(0,2);
		    m = Hora.substr(3,2);
		    if((h<00) || (h>23))
		       borrar = '';
		    else
		    {
			   	if((m<00) || (m>59)){
			       borrar = '';
		       	}
		    } 
         } 
      }else{
	     borrar = '';
	  }   

	  
	  if (borrar == ''){
	  	if (pBlanqueaCampo){
	  		pObject.value="";
	  	}	
		pObject.focus();		 	 	
	    alert(sw_fechaHora02);
	  }   
    }    
}

function mxValidateDuracion(pObject, pBlanqueaCampo)
{ 
	var Hora;
	Hora=pObject.value;
	
   if (Hora)
   {  
      borrar = Hora;
      if ((Hora.substr(2,1) == ":"))
      {      
         for (i=0; i<5; i++)
	     {	
            if (((Hora.substr(i,1)<"0") || (Hora.substr(i,1)>"9")) && (i != 2))
			{
               borrar = '';
               break;  
			}  
         }

	     if (borrar)
	     { 
		    h = Hora.substr(0,2);
		    m = Hora.substr(3,2);
		    if((h<00) || (h>99))
		       borrar = '';
		    else
		    {
			   	if((m<00) || (m>59)){
			       borrar = '';
		       	}
		    } 
         } 
      }else{
	     borrar = '';
	  }   

	  
	  if (borrar == ''){
	  	if (pBlanqueaCampo){
	  		pObject.value="";
	  	}	
		pObject.focus();		 	 	
	    alert(sw_fechaHora02);
	  }   
    }    
}

function mxValidateInitEnd(pObjectInit, pObjectEnd, pBlanqueaCampo, pInicio){

	var HoraInicio, HoraFin;
	
	HoraInicio = pObjectInit.value;
	HoraFin = pObjectEnd.value;
	
   if (HoraInicio && HoraFin){
  
      borrar = HoraFin;
      
      var horasIn, horasFi, minIn, minFi;
      
      horasIn = HoraInicio.substr(0,2);
      horasFi = HoraFin.substr(0,2);
      
      minIn = HoraInicio.substr(3,2);
      minFi = HoraFin.substr(3,2);
      
      if (horasIn<=horasFi){      
         
         if (horasIn==horasFi){
         
         	if (minIn>minFi){
         	
         		 borrar = '';
         	}
         }
	   
      }else{
	     borrar = '';
	  }   
	  
	  if (borrar == ''){
	  
		if (pInicio){	  
		  	if (pBlanqueaCampo){
		  		pObjectInit.value="";
		  	}
		  	pObjectInit.focus();
		}
		else{
			
			if (pBlanqueaCampo){
				pObjectEnd.value="";
			}
			pObjectEnd.focus();
		}
	  	 	 	
	    alert(sw_fechaHora03);
	  }   
    }    
}

function mxCheckDecimals(pNombreCampo, pValorCampo, pMaximo, pDecimales) {

	if (pValorCampo > pMaximo){
		alert (sw_maximo01+pMaximo);
		pNombreCampo.focus();
		return false;
	}
	
	if (pValorCampo.indexOf(',') == -1) { pValorCampo += ",";
		dectext = pValorCampo.substring(pValorCampo.indexOf(',')+1, pValorCampo.length);

		if (dectext.length > pDecimales){
			alert (sw_maximo02+", " + pDecimales + sw_literal01);
			pNombreCampo.focus();
		}
	}
}

function mxSoloNumericos(){
	if (event.keyCode < 48 || event.keyCode > 57){ 
		event.returnValue = false;
	}
}

function mxSoloNumericosDecimales(pObject){
	pValue = pObject.value;
	pLength = pObject.value.length;
	
	if ((event.keyCode == 44 && pLength == 0) || (event.keyCode == 44 && pValue.indexOf(',') != -1) || ((event.keyCode < 48 || event.keyCode > 57) && event.keyCode != 44)){ 
		event.returnValue = false;
	}
}

function mxSoloHoras(){
	if (event.keyCode < 48 || event.keyCode > 58){
	 event.returnValue = false;
	} 
}

function on(src,on_color) {
 if (!src.contains(event.fromElement)) {
	 src.bgColor = on_color;
	 src.FontColor="ff0000";
	}
 }
function out(src,out_color) {
	if (!src.contains(event.toElement)) {
	 src.style.cursor = "default";
	 src.bgColor = out_color;
	}
}
function clic(src,clic_color) {
	 src.bgColor = clic_color;
}   

function mxValorEntreRangos(pObject, pObject2, pObject3){
	
	if (pObject.value && pObject2.value && pObject3.value){
	
		valor = parseInt(pObject.value);
		rangoMin = parseInt(pObject2.value);
		rangoMax = parseInt(pObject3.value);
		
		if (valor < rangoMin || valor > rangoMax){
	
			pObject.focus();
			alert(sw_rango01+ rangoMin
			 +sw_rango02 + rangoMax + ') ');
			return false;
		}
	}
	return true;
}

function mxIntervaloPorcentajes(pObjectDesde, pObjectHasta){
	
	if (pObjectDesde.value && pObjectHasta.value){
	
		valorMin = parseInt(pObjectDesde.value);
		valorMax = parseInt(pObjectHasta.value);
		
		if (valorMin >= valorMax){	
			pObjectDesde.focus();
			alert(sw_intervalo);
			return false;
		}
		if (valorMin < 0){
			pObjectDesde.focus();
			alert(sw_literal02);
			return false;
		}
		if (valorMax > 100){
			pObjectHasta.focus();
			alert(sw_literal03);
			return false;
		}
	}
	return true;
}

/*****************************************************
 * Nuevas funciones 
 *****************************************************/
function mxPonerCeros(form) {
	oRequired = new ceros();
    for (x in oRequired) {
    	var field = form[oRequired[x]];	
        if (field.type == 'text'){
        	if (field.value == '') {
            	field.value = '0';
            }
        }
    }
	return true;
}  

function mxKeypresNumericosEnteros(pObject){
	if (event.keyCode < 48 || event.keyCode > 57){ 
		event.returnValue = false;
	}
}

function mxKeypresNumericosDecimales(pObject){
	pValue = pObject.value;
	pLength = pObject.value.length;
	
	if (event.keyCode == 44 && pValue.indexOf(',') != -1){ 
		event.returnValue = false;
	}
	
	if ((event.keyCode < 48 || event.keyCode > 58) && event.keyCode != 44){
	 event.returnValue = false;
	}
}	

function mxPonerCerosIzquierda(pObject,pNumCeros) {
	pValor=pObject.value;
	Longitud=pValor.length;
	for (contador=1;contador<=(pNumCeros-Longitud);contador++){
		pValor="0"+pValor;
	}
	
	pObject.value=pValor;
}

function mxSinEspacios(pObject){	
	pValor = pObject.value;
	pLength = pObject.value.length;
	
	for(i=0;i<pLength;i++){	
		if(pValor.charAt(i) != ' '){
			return;
		}
	}
	pObject.value = "";
}

function trim(pObject){	
	
	pValor = pObject.value;
	pLength = pObject.value.length;
	
	while(pValor.charAt(pLength-1) == ' '){	
		pValor = pValor.substring(0, pLength-1);
		pLength = pValor.length;
	}
	pObject.value = pValor;
}

function mxFormatearNumerico(pNumeroEnteros,pNumeroDecimales,pMaximo,pCampo,pMiles){

	pValor="0"+pCampo.value;
		
	pConversion=pValor.replace(",",".");
	
	if (parseFloat(pConversion) > pMaximo && pMaximo!=0){
		alert (sw_maximo03+" , " +pMaximo);
		pCampo.focus();
		pCampo.select();
		return false;
	}else{
		NuevoValor=parseFloat(pConversion);	
	}
	
	pConversion=NuevoValor.toString();
	pValor=pConversion.replace(".",",");
			
	if (pNumeroDecimales==0){
		ValorDefecto='0';
	}else{
		ValorDefecto="0,";
		for (contador=1;contador<=pNumeroDecimales;contador++){
			ValorDefecto+='0';		
		}
	}	
	
	if (pValor==''){
		pValor=ValorDefecto;
	}
	
	PosicionComa=pValor.indexOf(",");
	
	if (pNumeroDecimales!=0){

		if (PosicionComa==-1){
			pValor+=",";
			
			for (contador=1;contador<=pNumeroDecimales;contador++){
				pValor+="0";
			}
		}else{
			DecimalesTiene=pValor.length-(PosicionComa+1);
			if (DecimalesTiene<pNumeroDecimales){
				for (contador=DecimalesTiene;contador!=pNumeroDecimales;contador++){
					pValor+="0";
				}
			}	
			
			if (DecimalesTiene > pNumeroDecimales){
				pValor=pValor.substring(0,pValor.length-(DecimalesTiene-pNumeroDecimales));
			}
		}
	}	
	
	if (pMiles){
		PosicionesMiles=0;
			
		NuevaCadena="";
		for (contador=pValor.length;contador>=0;contador--){
			if (pNumeroDecimales!=0){
				if (pValor.length-contador>pNumeroDecimales+1){
					PosicionesMiles++;
					
					if (PosicionesMiles==3 && contador>0){
						PosicionesMiles=0;
						NuevaCadena='.'+pValor.charAt(contador)+NuevaCadena;
					}else{
						NuevaCadena=pValor.charAt(contador)+NuevaCadena;	
					}
				}else{
					NuevaCadena=pValor.charAt(contador)+NuevaCadena;
				}
			}else{
				PosicionesMiles++;
					
				if (PosicionesMiles==4 && contador>0){
					PosicionesMiles=1;
					NuevaCadena='.'+pValor.charAt(contador)+NuevaCadena;
				}else{
					NuevaCadena=pValor.charAt(contador)+NuevaCadena;	
				}
			}
				
		}
		
		pCampo.value=NuevaCadena;
	}else{
		pCampo.value=pValor;
	}	
	
}

function mxFocusNumerico(pCampo){
	pValor=pCampo.value;
	NuevaCadena="";
	for (contador=0;contador<pValor.length;contador++){
		if (pValor.charAt(contador)!='.'){
			NuevaCadena+=pValor.charAt(contador);
		}
	}
	
	pCampo.value=NuevaCadena;
	pCampo.select();
}

function mxFocusNumericoDecimal(pCampo){
	pValor=pCampo.value;
	NuevaCadena="";
	for (contador=0;contador<pValor.length;contador++){
		if (pValor.charAt(contador)!='.'){
			NuevaCadena+=pValor.charAt(contador);
		} else {
			NuevaCadena+=',';
		}
	}
	
	pCampo.value=NuevaCadena;
	pCampo.select();
}

function mxValidateDayMonth(pObject)
{ 
	
	var dayMonth;
	dayMonth=pObject.value;
	dayMonthInt = parseInt(dayMonth);
	
	if (dayMonthInt > 0) {
	
		if (dayMonth.length < 4) {
			dayMonth=''
	    }else {
    		month = dayMonth.substr(2,2);
		    day = dayMonth.substr(0,2);
    
    		if (month < 1 || month > 12) 
		        dayMonth='';
		    else if (day < 1 || day > 31) 
		             dayMonth='';
		    else if ((month == 4 || month == 6 || month == 9 || month == 11) && (day == 31)) 
		            dayMonth='';
		    else if (month == 2) 
		            if (day>29) 
	       		       dayMonth='';
	    }
    }
	     
  	if (dayMonth == ''){
	    pObject.value="0";
	    pObject.focus();
	    alert(sw_fechaHora04);
	}   
}

function mxValidateDateBefore(pObject, pObjectToday, pBlanqueaCampo){
	
	if (pObject.value && pObjectToday.value){
	
		borrar = pObject.value;
		
		var mFecha, mFechaHoy;
		var mDia, mMes, mAny;
		var mDiaHoy, mMesHoy, mAnyHoy;
		
		mDia = pObject.value.substr(0,2);
		mDiaHoy = pObjectToday.value.substr(0,2);	
		
		mMes = pObject.value.substr(3,2);
		mMesHoy = pObjectToday.value.substr(3,2);
     
		mAny = pObject.value.substr(6,4);
		mAnyHoy = pObjectToday.value.substr(6,4);
		
		mFecha = mAny + mMes + mDia;
		mFechaHoy = mAnyHoy + mMesHoy + mDiaHoy;
		
		if (mFecha < mFechaHoy){
	
			borrar='';
		}
		
		if (borrar == ''){
					
			if (pBlanqueaCampo){
				pObject.value="";
			}
			pObject.focus();
		
			alert(sw_fechaHora05);
		}
	}
}

function mxValidateDates(pObject, pObjectToday, pBlanqueaCampo){
	
	if (pObject.value && pObjectToday.value){
	
		borrar = pObject.value;
		
		var mFecha, mFechaHoy;
		var mDia, mMes, mAny;
		var mDiaHoy, mMesHoy, mAnyHoy;
		
		mDia = pObject.value.substr(0,2);
		mDiaHoy = pObjectToday.value.substr(0,2);	
		
		mMes = pObject.value.substr(3,2);
		mMesHoy = pObjectToday.value.substr(3,2);
     
		mAny = pObject.value.substr(6,4);
		mAnyHoy = pObjectToday.value.substr(6,4);
		
		mFecha = mAny + mMes + mDia;
		mFechaHoy = mAnyHoy + mMesHoy + mDiaHoy;
		
		if (mFecha < mFechaHoy){
	
			borrar='';
		}
		
		if (borrar == ''){
					
			if (pBlanqueaCampo){
				pObject.value="";
			}
			pObject.focus();
		
			alert(sw_fechaHora06);
			return false;
		}
	}
	return true;
}

function mxValidateDateAfter(pObject, pObjectToday, pBlanqueaCampo){
	
	if (pObject.value && pObjectToday.value){
	
		borrar = pObject.value;
		
		var mFecha, mFechaHoy;
		var mDia, mMes, mAny;
		var mDiaHoy, mMesHoy, mAnyHoy;
		
		mDia = pObject.value.substr(0,2);
		mDiaHoy = pObjectToday.value.substr(0,2);	
		
		mMes = pObject.value.substr(3,2);
		mMesHoy = pObjectToday.value.substr(3,2);
     
		mAny = pObject.value.substr(6,4);
		mAnyHoy = pObjectToday.value.substr(6,4);
		
		mFecha = mAny + mMes + mDia;
		mFechaHoy = mAnyHoy + mMesHoy + mDiaHoy;
		
		if (mFecha > mFechaHoy){
	
			borrar='';
		}
		
		if (borrar == ''){
					
			if (pBlanqueaCampo){
				pObject.value="";
			}
			pObject.focus();
		
			alert(sw_fechaHora05);
		}
	}
}  
    
function mxDigitoControlCCC(pCuenta, pDigito, tipo)
{
	var cuenta,digitoCalc,digito;
	cuenta=pCuenta.value;
	digito=pDigito.value;

	if (cuenta.length != 8) {
		pCuenta.focus();
		pCuenta.value="00000000";
		alert(sw_literal04);
		return;
	}

	if (tipo == 1) {
		if (cuenta.substr(1,1) == '0') {
			seis = parseInt(cuenta.substr(2,6));
			digitoCalc = seis % 97;
			pDigito.value = digitoCalc;
		}else {
       	 siete = parseInt(cuenta.substr(1,7));
   			digitoCalc = siete % 97;
       	 pDigito.value = digitoCalc;	
		}
	}

	if (tipo == 2) {
		if (cuenta.substr(1,1) == '0') {
			seis = parseInt(cuenta.substr(2,6));
			digitoCalc = seis % 97;
		}else {
       	 siete = parseInt(cuenta.substr(1,7));
   			digitoCalc = siete % 97;
		}
		
		if (digito != digitoCalc) {
			pDigito.focus();
			pDigito.value=digitoCalc;
			alert(sw_literal05);
		}
	}	
}

function mxValidarNumeroCuenta(pBanco, pSucursal, pDigito, pCuenta)
{
	var banco,sucursal,digito,cuenta;
	banco=pBanco.value;
	sucursal=pSucursal.value;
	digito=pDigito.value;
	cuenta=pCuenta.value;

    if (banco.length != 4 || sucursal.length != 4 ||
        digito.length != 2 || cuenta.length != 10) {
      alert(sw_literal06);
	  return false;  
    }else {
    	digito1 = mxObtenerDigito("00" + banco + sucursal);
    	digito2 = mxObtenerDigito(cuenta);
    	
		if ((digito1 != parseInt(digito.charAt(0))) || 
		   (digito2 != parseInt(digito.charAt(1)))) {
	          alert(sw_literal07);
        	  pDigito.focus();  
        	  return false;
        }
    }
    return true;
}

function mxObtenerDigito(valor)
{
  valores = new Array(1, 2, 4, 8, 5, 10, 9, 7, 3, 6);
  control = 0;
  for (i=0; i<=9; i++)
    control += parseInt(valor.charAt(i)) * valores[i];
  control = 11 - (control % 11);
  if (control == 11) control = 0;
  else if (control == 10) control = 1;
  return control;
}

function mxValidarDiasPago(pDia1, pDia2, pDia3) 
{
	var dia1,dia2,dia3;
	
	dia1=parseInt(pDia1.value);
	dia2=parseInt(pDia2.value);
	dia3=parseInt(pDia3.value);
	
	dias = new Array(dia1, dia2, dia3);

    var total=dias.length;

	for (i = dias.length; i>0; i--) 
	 	if (dias[i]==0) total--;
	
	for (i = 0; i<total; i++) {
		if (dias[i] > 31 || dias[i]<0) {
			alert(sw_literal08);
			return false;              
		}
	}
	
    for(i = 0; i <= total-2; i ++)  
        for(j = i+1; j <= total-1; j ++)  {
            if(dias[i] == dias[j]) {  
				alert(sw_literal09);  
				return false;              
            }else if(dias[i] > dias[j]) {  
				alert(sw_literal10);  
				return false;              
            }else if (dias[i]==0) {
				alert(sw_literal10);  
				return false;              
            } 
        }
	
	return true;
} 

function mxValidarPlazosPago(pPlazo1, pPlazo2, pPlazo3, pPlazo4, pPlazo5, pPlazo6) 
{
	var plazo1,plazo2,plazo3,plazo4,plazo5,plazo6;
	
	plazo1=parseInt(pPlazo1.value);
	plazo2=parseInt(pPlazo2.value);
	plazo3=parseInt(pPlazo3.value);
	plazo4=parseInt(pPlazo4.value);
	plazo5=parseInt(pPlazo5.value);
	plazo6=parseInt(pPlazo6.value);
	
	plazos = new Array(plazo1, plazo2, plazo3, plazo4, plazo5, plazo6);

    var total=plazos.length;

	for (i = plazos.length; i>0; i--) 
	 	if (plazos[i]==0) total--;
	
	for (i = 0; i<total; i++) {
		if (plazos[i]<0) {
			alert(sw_literal11);
			return false;              
		}
	}
	
    for(i = 0; i <= total-2; i ++)  
        for(j = i+1; j <= total-1; j ++)  {
            if(plazos[i] == plazos[j]) {  
				alert(sw_literal12);  
				return false;              
            }else if(plazos[i] > plazos[j]) {  
				alert(sw_literal13);  
				return false;              
            }else if (plazos[i]==0) {
				alert(sw_literal13);  
				return false;              
            } 
        }
	
	return true;
} 

function MxGestionFiltro(pObject,pSelect,pValor){

	if (pSelect.value=="*"){	
		pObject.readOnly=true;
		pObject.style.backgroundColor="#E3E6E6";
		pObject.value=pValor;
	}else{
		pObject.readOnly=false;
		pObject.style.backgroundColor="white";
	}	
}

function mxValidateLength(pObject, pMax) {
	if (pObject.value.length >= pMax) {
		alert(sw_literal14 + ": " + pMax + sw_literal15);	
		pObject.value = pObject.value.substring(0,pMax-1);
		pObject.focus();
		return false;
   	}else{
   		return true;
   	} 
}

function mxValidateNif(pObject) 
{ 
	var strLetras = 'TRWAGMYFPDXBNJZSQVHLCKE'; 
	var Letra; 
	sNif=pObject.value;
	sNif=sNif.toUpperCase(); 
	
	if (sNif==""){
		return(true);
	}
	
	if(sNif.length<9){
		alert(sw_literal16);		
		pObject.focus();
		return(false); 
	}else{ 
		Letra=sNif.charAt(sNif.length-1); 
		if(Letra<'A' || Letra>'Z'){ 
			alert(sw_literal16);
			pObject.focus();			
			return(false); 
		}else{ 
			Letra=strLetras.charAt((sNif.substr(0,sNif.length-1))%23); 
		}	
		
		if(sNif.charAt(sNif.length-1)==Letra){ 
			return(true); 
		}else{ 
			alert(sw_literal16);
			pObject.focus();			
			return(false); 
		}	
	} 
}

function mxStringRev(pValue){
	var variable="";
	
	for(i=pValue.length-1;i>-1;i--){
		variable = variable + pValue.charAt(i);
	}
	
	return variable;
}

function mxVerificarCifNif(pObjectDocumento,pObjectTipo,respuesta){
	var TABCIF1 = new Array ("A","B","C","D","E","F","G","H");
	var TABCIF2 = new Array ("P","Q","S");
	var TABCHECKCIF = new Array ("A","B","C","D","E","F","G","H","I","J");
	var TABNIF = new Array ("","T","R","W","A","G","M","Y","F","P","D","X","B","N","J","Z","S","Q","V","H","L","C","K","E");
	var TABCIFE = new Array ("J","A","B","C","D","E","F","G","H","I");	
	
	var tipoDocumento = pObjectTipo.value;
	var documento = pObjectDocumento.value;
	
	if(documento.length == 9){
		if(tipoDocumento == "C"){

			var contador = 0;
			
			for(i=1;i<8;i++){
				if(isNaN(documento.charAt(i))){
					
					contador++;
					
					if(contador == 7){		
						pObjectTipo.value = "2";
						tipoDocumento = "2";
					}
				}
			}
			
			if(tipoDocumento != "2"){
				if(!isNaN(documento.charAt(0))){
					pObjectTipo.value = "1";
					tipoDocumento = "1";
				}
				else{
					if(documento.charAt(0).toUpperCase() == "X"){
						pObjectTipo.value = "3";
						tipoDocumento = "3";
					}
					else{
						if(!isNaN(documento.charAt(8))){
							for(i=0;i<8;i++){
								if(documento.charAt(0).toUpperCase() == TABCIF1[i]){
									pObjectTipo.value = "0";
									tipoDocumento = "0";
								}
							}
						}
						else{
							for(i=0;i<8;i++){
								if(documento.charAt(0).toUpperCase() == TABCIF1[i]){
									for(j=0;j<10;j++){
										if(documento.charAt(8).toUpperCase() == TABCHECKCIF[j]){
											pObjectTipo.value = "5";
											tipoDocumento = "5";
										}
									}
								}
							}
							
							if(tipoDocumento != "5"){
								if(isNaN(documento.charAt(8))){
									for(i=0;i<3;i++){
										if(documento.charAt(0).toUpperCase() == TABCIF2[i]){
											pObjectTipo.value = "0";
											tipoDocumento = "0";
										}
									}
								}
							}
						}
					}
				}
			}
		}
		
		if(tipoDocumento == "2"){
			if(!isNaN(documento.charAt(0))){
				alert(sw_literal17);
				return false;
			}
			else{
				if(documento.charAt(0).toUpperCase() == "X"){
					alert(sw_literal17);
					return false;
				}
				else{
					if(!isNaN(documento.charAt(8))){
						for(i=0;i<8;i++){
							if(documento.charAt(0).toUpperCase() == TABCIF1[i]){
								alert(sw_literal17);
								return false;
							}
						}
					}
					else{
						for(i=0;i<8;i++){
							if(documento.charAt(0).toUpperCase() == TABCIF1[i]){
								for(j=0;j<10;j++){
									if(documento.charAt(8).toUpperCase() == TABCHECKCIF[j]){
										alert(sw_literal17);
										return false;
									}
								}
							}
						}
						
						if(tipoDocumento != "5"){
							if(isNaN(documento.charAt(8))){
								for(i=0;i<3;i++){
									if(documento.charAt(0).toUpperCase() == TABCIF2[i]){
										alert(sw_literal17);
										return false;
									}
								}
							}
						}
					}
				}
			}
		}
		
		if(tipoDocumento == "C"){										
			pObjectTipo.value = "2";
			tipoDocumento = "2";
		}
		
		if(tipoDocumento == "0"){
			if(!isNaN(documento.charAt(8))){
				var contador = 0;
				
				for(i=0;i<8;i++){
					if(documento.charAt(0).toUpperCase() != TABCIF1[i]){
						contador++;	
					}
				}
				if(contador != 7){
					alert(sw_literal18);
					return false;
				}
			}
			else{
				for(i=0;i<3;i++){
					var contador = 0;
					if(documento.charAt(0).toUpperCase() != TABCIF2[i]){
						contador++;
					}
				}
				if(contador != 3){
					alert(sw_literal18);
					return false;
				}
			}
			
			var result = 0;
			var multi = 0;
			var checkDigit;
			
			for(i=1;i<9;i=i+2){
				multi = documento.charAt(i) * 2;
				if(multi > 9){
					multi = multi - 9;
				}
				result = result + multi;
			}
			
			for(i=2;i<8;i=i+2){
				result = result + documento.charAt(i) * 1;
			}
			
			checkDigit = result % 10;
			checkDigit = 10 - checkDigit;
			
			if(checkDigit > 9){
				checkDigit = checkDigit - 10;
			}
			
			for(i=0;i<3;i++){
				if(documento.charAt(0).toUpperCase() == TABCIF2[i]){
					checkDigit = TABCIFE[checkDigit];
				}
			}
			
			var nifCorrecte = documento.substring(0,8) + "" + checkDigit;
			
			if(nifCorrecte.toUpperCase() != documento.toUpperCase()){
				if(respuesta){	
					alert(sw_literal19+checkDigit);
				}
				else{
					alert(sw_literal20);
				}
				return false;
			}
		}
		if(tipoDocumento == "1"){
			if(isNaN(documento.charAt(0))){
				alert(sw_literal21);
				return false;
			}
			
			var result = 0;
			var checkDigit;
			
			for(i=0;i<8;i++){
				result = result + documento.charAt(i);
			}
			
			result = result % 23 + 1;
			
			checkDigit = TABNIF[result];
			
			var nifCorrecte = documento.substring(0,8) + "" + checkDigit;
			
			if(nifCorrecte.toUpperCase() != documento.toUpperCase()){
				if(respuesta){
					alert(sw_literal19+checkDigit);
				}
				else{
					alert(sw_literal22);
				}
				return false;
			}
		}
		
		if(tipoDocumento == "3"){
			if(documento.charAt(0).toUpperCase() != "X"){
				alert(sw_literal23);
				return false;
			}
			
			var result = 0;
			var checkDigit;
			
			for(i=1;i<8;i++){
				result = result + documento.charAt(i);
			}
			
			result = result % 23 + 1;
			
			checkDigit = TABNIF[result];
			
			var nifCorrecte = documento.substring(0,8) + "" + checkDigit;
			
			if(nifCorrecte.toUpperCase() != documento.toUpperCase()){
				if(respuesta){
					alert(sw_literal19+checkDigit);
				}
				else{
					alert(sw_literal24);
				}
				return false;
			}
		}
		if(tipoDocumento == "5"){
			var correcto = false;
			
			for(i=0;i<8;i++){
				if(documento.charAt(0).toUpperCase() == TABCIF1[i]){
					for(j=0;j<10;j++){
						if(documento.charAt(8).toUpperCase() == TABCHECKCIF[j]){
							correcto = true;
						}
					}
				}
			}
			
			if(!correcto){
				alert(sw_literal25);
				return false;
			}
			
			var result = 0;
			var multi = 0;
			var checkDigit;
			
			for(i=1;i<9;i=i+2){
				multi = documento.charAt(i) * 2;
				if(multi > 9){
					multi = multi - 9;
				}
				result = result + multi;
			}
			
			for(i=2;i<8;i=i+2){
				result = result + documento.charAt(i) * 1;
			}
			
			checkDigit = result % 10;
			checkDigit = 10 - checkDigit;
			
			if(checkDigit > 9){
				checkDigit = checkDigit - 10;
			}
			
			checkDigit = TABCIFE[checkDigit];
			
			var nifCorrecte = documento.substring(0,8) + "" + checkDigit;
			
			if(nifCorrecte.toUpperCase() != documento.toUpperCase()){
				if(respuesta){
					alert(sw_literal19+checkDigit);
				}
				else{
					alert(sw_literal26);
				}
				return false;
			}
		}
	}
	else if (documento != "*"){
		alert(sw_literal27);
		return false;
	}
	return true;
}

function DigitoControl(cadena){
	var cifras = new Array(1,2,4,8,5,10,9,7,3,6);
    var chequeo = 0;
    for (var i=0; i < cifras.length; i++){
		chequeo += parseInt(cadena.charAt(i)) * cifras[i];
	}
    chequeo = 11 - (chequeo % 11);
	if (chequeo == 11) {chequeo = 0;}
	if (chequeo == 10) {chequeo = 1;}
    return chequeo;
}

function mxValidarCCC(ent,of,d,n) {

	entidad = ent.value;
	oficina = of.value;
	dc = d.value;
	nc = n.value;
	
	if (!(entidad==0 && oficina==0 && dc==0 && nc==0)){
	
		var primer_control="00"+entidad+oficina;
		var primer_digito=DigitoControl(primer_control);
		if (primer_digito != dc.charAt(0)){
			alert(sw_literal28);
			return false;
		}
	
		var segundo_control=nc;
		var segundo_digito=DigitoControl(segundo_control);
		if (segundo_digito != dc.charAt(1)){
			alert(sw_literal28);
			return false;
		}
	}
	
	return true;
}

function mxFormatearHora(pObject){
	longitud = pObject.value.length;		
	valor = pObject.value;
	
	if(longitud > 0 && longitud < 5){			
		for(i=longitud;i<4;i++){
			valor = "0" + valor;
		}
		pObject.value=valor.substring(0,2)+":"+valor.substring(2,4);
	}
}

// **************************************************************
// * Crea un boton simulando una imagen con los parametros:
// *  - Imagen que aparece en el boton
// *  - Funcion que ejecuta en el onclick
// *  - Texto que aparece en el tooltip
// *  - "true" si desea que aparezca "Procesando..."
// **************************************************************			

function imageButton(imagen, onclick, tooltip, pValue, pValign){
	var fondo = new Image();
	fondo.src = imagen;
	
	var ancho = fondo.width;
	var alto = fondo.height;

	window.document.write("<input type='button' ");
	window.document.write("style='border=0; vertical-align:"+pValign+"; width="+ancho+"; height="+alto+"; ");
	window.document.write("background-image: url("+imagen+"); background-color:transparent; ");
	window.document.write("cursor:pointer' ");
	window.document.write("title='"+tooltip+"' ");
	if (pValue != 'no'){
		window.document.write("onClick='procesar("+pValue+"); "+onclick+";' ");
	} else {
		window.document.write("onClick='"+onclick+";' ");
	}
	window.document.write(">");
}

// **************************************************************
// * Crea un boton con los parametros:
// *  - Texto que aparece en el boton
// *  - Clase del boton
// *  - Funcion que ejecuta en el onclick
// *  - Texto que aparece en el tooltip
// *  - "true" si desea que aparezca "Procesando..."
// **************************************************************

function textButton(texto, clase, onclick, tooltip, pValue){

	window.document.write("<input type='button' ");
	window.document.write("value='"+texto+"' ");
	window.document.write("class='"+clase+"' ");
	window.document.write("style='cursor:pointer' ");
	window.document.write("title='"+tooltip+"' ");
	if (pValue != 'no'){
		window.document.write("onClick='procesar("+pValue+"); "+onclick+";' ");
	} else {
		window.document.write("onClick='"+onclick+";' ");
	}
	window.document.write(">");
}

function textPestanya(texto, clase, onclick, tooltip, pValue){

	window.document.write("<input type='button' ");
	window.document.write("value='"+texto+"' ");
	window.document.write("class='"+clase+"' ");
	window.document.write("style='border=0;width=100%;cursor:pointer'");
	window.document.write("title='"+tooltip+"' ");
	if (pValue != 'no'){
		window.document.write("onClick='procesar("+pValue+"); "+onclick+";' ");
	} else {
		window.document.write("onClick='"+onclick+";' ");
	}
	window.document.write(">");
}

function mxFormatearDate(pObject){
	longitud = pObject.value.length;		
	valor = pObject.value;
 	
 	if(longitud == 0){			
		return;	
	}else if(longitud == 8){			
		pObject.value=valor.substring(0,2)+"/"+valor.substring(2,4)+"/"+valor.substring(4,8);
		mxValidateDate(pObject, true);
	}else if (longitud == 10) {
		mxValidateDate(pObject, true);
	}else {
		alert(sw_fechaHora01);
		pObject.value="";
	}
}

function redimensionarImagen(maxAncho, maxAlto, pImagen){
	var ancho = 0.0;
	var alto = 0.0;
	var anchoFinal = 0.0;
	var altoFinal = 0.0;
	var porcentajeAnchoFinal = 0.0;
	var porcentajeAltoFinal = 0.0;
	var diferenciaPorcentajeAncho = 0.0;
	var diferenciaPorcentajeAlto = 0.0;
	
	ancho = pImagen.width;
	alto = pImagen.height;
		
	if(ancho != 0 && alto != 0){	
		porcentajeAnchoFinal = (ancho * 100.0) / maxAncho;
		porcentajeAltoFinal = (alto * 100.0) / maxAlto;
		
		if(porcentajeAnchoFinal <= 100.0 && porcentajeAltoFinal <= 100.0){
			return;
		}
		
		if(porcentajeAnchoFinal < porcentajeAltoFinal){
			diferenciaPorcentajeAlto = porcentajeAltoFinal - 100.0;
			altoFinal = alto - ((maxAlto * diferenciaPorcentajeAlto) / 100.0);
			diferenciaPorcentajeAncho = (altoFinal * 100.0) / alto;
			anchoFinal = (ancho * diferenciaPorcentajeAncho) / 100.0;
		}
		else{
			diferenciaPorcentajeAncho = porcentajeAnchoFinal - 100.0;
			anchoFinal = ancho - ((maxAncho * diferenciaPorcentajeAncho) / 100.0);
			diferenciaPorcentajeAlto = (anchoFinal * 100.0) / ancho;
			altoFinal = (alto * diferenciaPorcentajeAlto) / 100.0;
		}
				
		pImagen.width = anchoFinal;
		pImagen.height = altoFinal;
	}
}

function comprobarImagen(pImagen){
	var extension = pImagen.value;
	
	extension = extension.toUpperCase();
	
	if(extension.indexOf(".") != -1){
		extension = extension.substring(extension.lastIndexOf(".")+1,extension.length);
	
		if(extension != "JPG" && extension != "JPEG" && extension != "JPE" && extension != "PNG" && extension != "GIF"){
			alert(sw_literal29);
			pImagen.focus();
			return false;
		}
	}
	
	return true;
}

function ValidarCifNif(pCampo){	
	cif = pCampo.value;
	
	if(cif != ""){
		par = 0;
		non = 0;
		letras = "ABCDEFGHKLMNPQS";
		let = cif.charAt(0);
	
		if (!isNaN(let)){
	  		nif = cif;
	  		validar(nif, pCampo);
	  		return false;
	  	}
		
		if (cif.length != 9){
	  		alert(sw_digitos_cif);
	  		pCampo.focus();
	  		return false;
	  	}
		
		if (letras.indexOf(let.toUpperCase()) == -1){
	  		alert(sw_comienzo_cif);
	  		pCampo.focus();
	  		return false;
	  	}
		
		for (zz = 2;zz < 8;zz += 2){
	  		par = par + parseInt(cif.charAt(zz));
	  	}
	
		for (zz = 1;zz < 9;zz += 2){
	  		nn = 2 * parseInt(cif.charAt(zz));
	  		
	  		if (nn > 9){ 
	  			nn = 1 + (nn - 10);
	  		}
	  			
	  		non = non + nn;
		}
	
		parcial = par + non;
	
		control = (10 - ( parcial % 10));
	
		if (control == 10){
			control = 0;
		}
		
		if (control != cif.charAt(8)){
	  		alert(sw_cif_no_valido);
	  		pCampo.focus();
	  		return false;
	  	}
	}
}

function validar(abc, pCampo){
	dni = abc.substring(0,abc.length-1);
	let = abc.charAt(abc.length-1);
	
	if (!isNaN(let)){
  		alert(sw_nif_falta_letra);
  		pCampo.focus();
  		return false;
 	}
	else{
  		cadena = "TRWAGMYFPDXBNJZSQVHLCKET";
  		posicion = dni % 23;
  		letra = cadena.substring(posicion,posicion + 1);
  		
  		if (letra != let.toUpperCase()){
    		alert(sw_nif_no_valido);
    		pCampo.focus();
    		return false;
   		}
 	}
}