﻿//	--------------------------------------------------------------------------------------------------------------
//
//		Controlamos los campos obligatorios en función de los nombres de los campos
//		que contiene la variable strcampoobligado (varible que declaramos publica en cada página)
//		Devolvemos true o false en funcion de si todo esta correcto o falta algun campo por rellenar.
//
//	--------------------------------------------------------------------------------------------------------------

		function camposobligatorios()
			{
				try{
					var strcampoaux,x,blnok;

					if (strcampoobligado=="")
					{
						blnok=true;
					}else{
						strcampoaux=strcampoobligado.split(",");
						blnok=true;
				
						for (x=0;x<=parseInt(strcampoaux.length-1);x++)
						{
							switch(document.getElementsByName(strcampoaux[x])[0].tagName.substring(0,3).toLowerCase())
							{
								case 'inp':
									switch (document.getElementsByName(strcampoaux[x])[0].type.substring(0,4).toLowerCase())
									{
										case 'text':
											if (strcampoaux[x].substring(3,strcampoaux[x].length)=="Precio"){
												if((document.getElementsByName(strcampoaux[x])[0].value==""))
												{
													//alert("Debe introducir datos en el campo obligatorio." +strcampoaux[x].substring(3,strcampoaux[x].length));
													document.getElementsByName(strcampoaux[x])[0].focus();
													document.getElementsByName(strcampoaux[x])[0].scroll;
													blnok=false;
												}

											}else{
												if((document.getElementsByName(strcampoaux[x])[0].value=="")||(document.getElementsByName(strcampoaux[x])[0].value=="0"))
												{
													//alert("Debe introducir algún dato para el filtrado.");
													document.getElementsByName(strcampoaux[x])[0].focus();
													document.getElementsByName(strcampoaux[x])[0].scroll;
													blnok=false;
												}
											}
											if (blnok==false) return(blnok);
											break;										
										case 'pass':
											if((document.getElementsByName(strcampoaux[x])[0].value==""))
											{
												//alert("Debe introducir datos en el campo obligatorio." +strcampoaux[x].substring(3,strcampoaux[x].length));
												document.getElementsByName(strcampoaux[x])[0].focus();
												document.getElementsByName(strcampoaux[x])[0].scroll;
												blnok=false;
											}
											if (blnok==false) return(blnok);
											break;
										case 'radi':
											var todos = 0;
											for(i=0;i<=document.getElementsByName(strcampoaux[x]).length-1;i++)
											{
												if(document.getElementsByName(strcampoaux[x])[i].checked == true)
												{
													todos++;
												}
											}
											if(todos==0)
											{
												//alert("Debe seleccionar los campos obligatorios."+strcampoaux[x].substring(3,strcampoaux[x].length));
												document.getElementsByName(strcampoaux[x])[0].focus();
												document.getElementsByName(strcampoaux[x])[0].scroll;
												blnok=false;
											}
											return(blnok);
											break;
										case 'chec':
												var todos = 0;
												for(i=0;i<=document.getElementsByName(strcampoaux[x]).length-1;i++)
												{
													if(document.getElementsByName(strcampoaux[x])[i].checked == true)
													{
														todos++;
													}
												}
												if(todos==0)
												{
													//alert("Debe seleccionar los campos obligatorios."+strcampoaux[x].substring(3,strcampoaux[x].length));
													document.getElementsByName(strcampoaux[x])[0].focus();
													document.getElementsByName(strcampoaux[x])[0].scroll;
													blnok=false;
												}
												return(blnok);
												break;											
									}
									break;
									
								case 'sel':
									for(var i=0;i<=document.getElementsByName(strcampoaux[x]).length-1;i++)
									{
										if(document.getElementsByName(strcampoaux[x])[i].selected == true)
										{
											todos++;
										}
									}
									if(todos==0)
									{
										//alert("Debe seleccionar un registro "+strcampoaux[x].substring(3,strcampoaux[x].length));
										document.getElementsByName(strcampoaux[x])[0].focus();
										document.getElementsByName(strcampoaux[x])[0].scroll;
										blnok=false;
										break;
									}
									break;
											
								case 'tex':
									if(document.getElementsByName(strcampoaux[x])[0].value=="")
									{
										//alert("Debe rellenar los campos obligatorios." +strcampoaux[x].substring(3,strcampoaux[x].length));
										document.getElementsByName(strcampoaux[x])[0].focus();
										document.getElementsByName(strcampoaux[x])[0].scroll;
										blnok=false;
									}
									break;
							}
							if (blnok==false) break;
						}
					}
					return(blnok);
				}catch(e){
					//alert("Nº: "+e.number+ String.fromCharCode(10)+ " Descripccion: "+e.description);
				}
			}

//----------------------------------------------------------
// Esta función verifica si la cadena pasada como parámetro 
// es alfanumérica (sólo letras y números).
// Devuelve TRUE si es alfanumérica.
// Devuleve FALSE si no es alfanumérica.
//----------------------------------------------------------
  
    function fncAlfanumerica(pstrCadena)
     {
       var valor;
       var i;
       valor = true;
       strCadena=pstrCadena.toUpperCase(); 
       for (i=1;i<=strCadena.length;i++)
       {
          intCadAscii=parseInt(strCadena.charCodeAt(i-1));
          //Verificar entre A-Z , 0-9.
          if (!(((intCadAscii >= 65) && (intCadAscii <= 90))  || 
             ((intCadAscii >=48) && (intCadAscii <= 57))))
            {
              valor = false;
              break;
            }
       }

       return (valor);
    }	