function vali_cont(svalor,blancos,nemail)
{
 	 var narr  = 0;
	 var nblanco = 0;
	 var especial = "@";
	 var npunto  = 0;
	 for (k=0; k < svalor.length; k++)  	 {
	 	 chr=svalor.charAt(k);	
		 if (chr == " ")		 {
		     if  (blancos == 0)  {return (false); }	
		     if ((k = 0) && (svalor.charAt(k + 1 ) == " "))  { return (false); }  
		     if ((k = svalor.length) && (svalor.charAt(k - 1 ) == " "))  {    return (false);   }  
             if ((svalor.charAt(k + 1 ) == " ")  || (svalor.charAt(k - 1 ) == " ")) {      return (false);    }   
	   	     nblanco++;
	   	     if (nblanco > blancos)  {  return (false);  }
	   	 }  	   
	   	if ((chr == "@") && (k == 0 || k == (svalor.length - 1)))  {  return (false);  }
	   	if (chr == "@")  	   {   
	   	     narr++; 
	   	     if ((narr > 1) || (narr <= 0))    {       return (false);	       }
	    }
	   	if (chr == ".") 	   	   {   	   	     npunto = 1;	   	   }  
     }	
     if (npunto == 0 && nemail == 1)   	  {    	   	return (false);	  }  
     if (narr == 0 && nemail == 1)   	  {    	   	return (false);	  }  
	 
	 //avoid sql conflict
	 if (svalor.indexOf("'") > 0) {return(false);}
	 
     return (true);   	 
}
         
         
function longitud(xvar) { return xvar.length;}

function valid_number(num) {
   var chr = "";
   var numeros = "0123456789";
   for (i=0; i < num.length; i++) {
      chr=num.charAt(i);	
      if (numeros.indexOf(chr) < 0 )  { return (false); } 
   }
   return (true);	
} 


function valid_monto(num){
   var chr = "";
   var numeros = "0123456789.";
   var npunto  = 0;
   for (i=0; i < num.length; i++) {
      chr=num.charAt(i);	
      if (numeros.indexOf(chr) < 0 ) {  return (false); } 
      if (chr == "."  || chr == ",") {  npunto = npunto  + 1; }    
      if (npunto  > 1) {  return (false); }       
   }
   return (true);	
} 


function valid_Tel(tel) {
   var chr = "";
   var numeros = "0123456789.,()-/";
   for (i=0; i < tel.length; i++) {
      chr=tel.charAt(i);	
      if (numeros.indexOf(chr) < 0 ) { return (false); }    
   }
   return (true);	
} 



function cdate(fecha,formato) {
   var sFecha
   if ((formato==1) || (formato==3)) {
      sFecha=fecha.substring(6,10) +fecha.substring(3,5) +fecha.substring(0,2);	
   } else {
      sFecha=fecha.substring(6,10) +fecha.substring(0,2) +fecha.substring(3,5);
   }	
   return (sFecha);	
} 

 
function trim(svalor) {
   var sblanco = " ";
   for (k=0; k < svalor.length; k++) {
      chr=svalor.charAt(k);	
      if (chr == " ") { sblanco = svalor.substring((k+1),(svalor.length-1)); }
      else  {  break; }
   }	
   if (sblanco.length > 1)  { svalor = sblanco; }
   for (t=svalor.length ; t > 0;t--) { 
      if (svalor.substring((t - 1),t) != " ") { svalor = svalor.substring(0,t);	 break;	 }
   }
   return (svalor);
}


function valid_fecha(fecha,formato) {	 
   var template = "99/99/9999" ;
   if (fecha == "")  {  return (false);	 }
   if (fecha.length < 10) {  return (false); }
   for (j=0; j < fecha.length; j++) {
      chr=fecha.charAt(j);
      chr_tpl=template.charAt(j)	; 
      if (chr_tpl == "9" && !valid_number(chr))	 { return (false); }
      if (chr_tpl == "/"  && !(chr == chr_tpl)) { return (false); }
   }
   if ((formato==1) || (formato==3)) {
      sMonth = parseInt(fecha.substring(3,5),10);
      sDay   = parseInt(fecha.substring(0,3),10);
   } else {
      sMonth = parseInt(fecha.substring(0,3),10);
      sDay   = parseInt(fecha.substring(3,5),10);
   }
   sYear = parseInt(fecha.substring(6,10),10)
   
   if ( sMonth > 12 )  { return (false); }
   if ( sDay > 31 ) { return (false); }
   if ( sYear < 1000 ) { return (false); }   
      
   if ((sMonth == "04" || sMonth == "06" || sMonth == "09" || sMonth == "11") && sDay > 30 )  {  return (false); }
   if (sMonth == "02")  { 
      nTemp = (sYear / 4);
      nTemp2 = Math.floor(nTemp);
      if ((nTemp - nTemp2) != 0) {  if (sDay > 28) {  return (false); } }           
      else { if (sDay > 29) { return (false);  }   }    
   }                
   return (true);
}
         

function valid_hora(hora){	 
   var template = "99:99" ;
   if (hora == "") { return (false); }
   if (hora.length < 5)  { return (false); }
   for (j=0; j < hora.length; j++) {
      chr=hora.charAt(j);
      chr_tpl=template.charAt(j)	; 
      if (chr_tpl == "9" && !valid_number(chr)) { return (false); }
      if (chr_tpl == ":"  && !(chr == chr_tpl)) { return (false); }
   }
   if ( parseInt(hora.substring(0,2),10) > 23 ) { return (false); }
   if ( parseInt(hora.substring(3,10),10) > 59 ) { return (false); }
   return (true);
}          




/**********************************
function valida(theForm)
{
if (!valid_fecha(theForm.ffecha.value)) 
    {
      alert("Fecha inválida. Incluya dd/mm/yyyy ");
      theForm.ffecha.focus();
      theForm.ffecha.select();
      return (false);
    }
if (!valid_hora(theForm.hora.value)) 
    {
      alert("Hora inválida. Incluya hh:mm en formato de 24 horas");
      theForm.hora.focus();
      theForm.hora.select();
      return (false);
    }
if (theForm.titulo.value == "" || longitud(theForm.titulo.value)  < 2  )
   {
      alert("El titulo suministrado es inválido");
      theForm.titulo.focus();
      theForm.titulo.select();
      return (false);
    }
if (!valid_number(theForm.sinopsis.value) )
   {
      alert("El campo sinopsis debe ser numerico");
      theForm.sinopsis.focus();
      theForm.sinopsis.select();
      return (false);
    } 

    theForm.submit();    
    return (true);   	   
}    
**********************************************/

/******************************************************************************************

Function: validateImageExt
Verifica que si se ingresa un nuevo archivo de imagen tenga extension gif o jpg
Si no se ingresa un nuevo archivo de imagen verifica que exista una imagen cargada
Permite indicar si la imagen es requerida o no

*******************************************************************************************/

function validateImageExt (currentImg, newImg, msgBadExt, msgMissingImg, bRequiredImg) {

	if (newImg.value.length > 0) {
		ext = newImg.value.substring(newImg.value.length -4,newImg.value.length);		
		if ((ext.toLowerCase() != '.gif' & ext.toLowerCase() != '.jpg') | (!(newImg.value.length > 4))) {
			alert(msgBadExt);
			newImg.focus();
			return false;
		}
	}
	else {
		if (!(currentImg.value.length > 0) & bRequiredImg) {
			alert(msgMissingImg);
			newImg.focus();
			return false;
		}		
	}
	return true;
}

/******************************************************************************************

Function: validateDocExt
Verifica que si se ingresa un nuevo archivo tenga extension valida dada por extSet
Si no se ingresa un nuevo archivo de imagen verifica que exista una imagen cargada
Permite indicar si la imagen es requerida o no

*******************************************************************************************/


function bValidFileExtension (extSet, currentFile, newFile, msgBadFile, msgMissingFile, bRequiredFile) {

	if (newFile.value == "") {
		if (bRequiredFile & (currentFile.value == "")) {alert(msgMissingFile);newFile.focus();return false;}
		if (currentFile.value != "") {			
				var fileExt = getFileExtension(currentFile.value);
				if (!bContainsFileExtension(extSet,fileExt)) {alert(msgBadFile);currentFile.focus();return false;}
		}
	}
	else {				
		var fileExt = getFileExtension(newFile.value);
		if (!bContainsFileExtension(extSet,fileExt)) {alert(msgBadFile);newFile.focus();return false;}
	}
	
	return true;
}


function bValidFileExtensionR (extSet, currentFile, newFile, msgBadFile, msgMissingFile, bRequiredFile) {

	if (newFile.value == "") {
		if (bRequiredFile) {
			if (currentFile.value == "") {alert(msgMissingFile);newFile.focus();return false;}
			else {					
				var fileExt = getFileExtension(currentFile.value);
				if (bContainsFileExtension(extSet,fileExt)) {alert(msgBadFile);currentFile.focus();return false;}				
			}
		}
	}
	else {
		var fileExt = getFileExtension(newFile.value);
		if (bContainsFileExtension(extSet,fileExt)) {alert(msgBadFile);newFile.focus();return false;}
	}
	return true;
}

function getFileExtension(fileName) {
	splitFileName = fileName.split(".");
	if (splitFileName.length > 1) {	//en caso de no tener extension retorna vacio
		return "." + splitFileName[splitFileName.length - 1];
	} else {
	
		return "";
	}	
}

function bContainsFileExtension (extSet, fileExt)  {
			
	var extArray = extSet.split(";");
	for (var i=0;i<extArray.length;i++) { if (fileExt.toLowerCase() == extArray[i] ) {return true} }

	return false;
}

function selproducto(pid,nombre)
{
pagina="selProducto.asp?pid="+pid+"&c="+nombre+"&d=1"
win2=window.open(pagina,"","width=400,height=350,scrollbars")
win2.creator=self
}
