<!--hide JavaScript from non-JavaScript browsers

//Funcion que sirve para convertir un texto a mayusculas y cambiarle todos los acentos
function isAlpha( value){
   var regExp = /^[a-zA-ZñÑáéíóúÁÉÍÓÚ. ]+$/;
 return regExp.test( value )
}

function isDouble( value, maxDigit, maxDecimal) {
        strExpresion = "^\\d{1," + maxDigit + "}(\\.\\d{1," + maxDecimal +"})?$"
        re = new RegExp( strExpresion )
        return re.test( removeComma(value) )
    }

    function removeComma(str) {
//   re = /^\$|,/g;
   re = /\$|,/g;
   // remove "$" and ","
	return str.replace(re, "");
}

function formatCurrency(num){
   num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	   num = "0";
   sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	   cents = "0" + cents;
   for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	   num = num.substring(0,num.length-(4*i+3))+ ',' + num.substring(num.length-(4*i+3));

   return (((sign)?'':'-') + '$' + num + '.' + cents);
}

function isAlphaNumeric( value){

	
   //var regExp = /^[0-9\.\w\-\\/_=&():, ñÑáéíóúÁÉÍÓÚ]+$/;
    var regExp = /^[\w\.\-\\/_=&():, ñÑáéíóúÁÉÍÓÚ]+$/;

 return regExp.test( value )
}

function isAlphaNumeric1( value){
   var regExp = /^[\.\w]+$/;
 return regExp.test( value )
}
function checaBlancos(value){
   var regExp = /^[\/ ]*$/;
 return regExp.test( value )
}
//Funcion que sirve para convertir un texto a mayusculas y cambiarle todos los acentos
function cambiaMay_sAcento (cad)
 {
 //á   é    í   ó  ú
 //%E1 %E9 %ED %F3 %FA
     var strCad;
	 strCad = cad;
	 strCad = strCad.replace (eval("/"+ unescape("%E1")+"/gi"),"A");
 	 strCad = strCad.replace (eval("/"+ unescape("%E9")+"/gi"),"E");
	 strCad = strCad.replace (eval("/"+ unescape("%ED")+"/gi"),"I");
	 strCad = strCad.replace (eval("/"+ unescape("%F3")+"/gi"),"O");
	 strCad = strCad.replace (eval("/"+ unescape("%FA")+"/gi"),"U");
         strCad = strCad.toUpperCase(); 	 
     return strCad;
 }


//Funcion que sirve para convertir un texto  y cambiarle todos los acentos
function cambia_Acentos (cad)
 {
 //á   é    í   ó  ú
 //%E1 %E9 %ED %F3 %FA
     var strCad;
	 strCad = cad;
	 strCad = strCad.replace (eval("/"+ unescape("%E1")+"/gi"),"a");
 	 strCad = strCad.replace (eval("/"+ unescape("%E9")+"/gi"),"e");
	 strCad = strCad.replace (eval("/"+ unescape("%ED")+"/gi"),"i");
	 strCad = strCad.replace (eval("/"+ unescape("%F3")+"/gi"),"o");
	 strCad = strCad.replace (eval("/"+ unescape("%FA")+"/gi"),"u");
         
     return strCad;
 }

function cambia_HTML (cad)
 {
 //á   é    í   ó  ú
 //%E1 %E9 %ED %F3 %FA
 //Á	É	Í	Ó	Ú
 //%C1	%C9	&CD	&D3	%DA
 //Ñ	ñ
 //%D1	D1
 
     var strCad;
	 strCad = cad;
/*	 strCad = strCad.replace (eval("/"+ unescape("%E1")+"/gi"),"&aacute;");
 	 strCad = strCad.replace (eval("/"+ unescape("%E9")+"/gi"),"&eacute;");
	 strCad = strCad.replace (eval("/"+ unescape("%ED")+"/gi"),"&iacute;");
	 strCad = strCad.replace (eval("/"+ unescape("%F3")+"/gi"),"&oacute;");
	 strCad = strCad.replace (eval("/"+ unescape("%FA")+"/gi"),"&uacute;");
	 */
	 strCad = strCad.replace (eval("/"+ unescape("%C1")+"/gi"),"&Aacute;");
 	 strCad = strCad.replace (eval("/"+ unescape("%C9")+"/gi"),"&Eacute;");
	 strCad = strCad.replace (eval("/"+ unescape("%CD")+"/gi"),"&Iacute;");
	 strCad = strCad.replace (eval("/"+ unescape("%D3")+"/gi"),"&Oacute;");
	 strCad = strCad.replace (eval("/"+ unescape("%DA")+"/gi"),"&Uacute;");	 
//	 strCad = strCad.replace (eval("/"+ unescape("%F1")+"/gi"),"&ntilde;");	 
	 strCad = strCad.replace (eval("/"+ unescape("%DA")+"/gi"),"&Uacute;");	 
	 strCad = strCad.replace (eval("/"+ unescape("%D1")+"/gi"),"&Ntilde;");	 
	 
         
     return strCad;
 }

 function cambiaImg(nomImg,strVal)
 {

     if (IsFile (strVal))
	 {
	    changeImg(nomImg,strVal);
	 } 
 }


//Funcion para checar si es una cadeana la ruta de un archivo

  function IsFile (pathImg)
  {
    if (trim(pathImg).length > 0 )
	if ((parseInt(pathImg.indexOf(".")) == parseInt(pathImg.lastIndexOf (".")))  && (parseInt(pathImg.indexOf(".")) > 0 && parseInt(pathImg.lastIndexOf (".")) > 0))
	    return true;
	 else
	    return false;	
    else
	return false;	

  } 




	
	function IsFileTxt (pathImg){
	    tmp=trim(pathImg)
	    if (tmp.length > 4 ){
			   tmp=tmp.substr(tmp.length-4)
			   if (tmp.toLowerCase()==".txt" || tmp.toLowerCase()==".doc" ) return true
				 else return false
			}else return false;
	}
	
	
	function IsFileZip(pathImg){
	    tmp=trim(pathImg)
	    if (tmp.length > 4 ){
			   tmp=tmp.substr(tmp.length-4)
			   if (tmp.toLowerCase()==".zip") return true
				 else return false
			}else return false;
	}


	function IsFileImg(pathImg){
	    tmp=trim(pathImg)
	    if (tmp.length > 4 ){
			   tmp=tmp.substr(tmp.length-4)
			   if (tmp.toLowerCase()==".jpg") return true
				 else return false
			}else return false;
	}



	function IsFileMovie(pathImg){
	    tmp=trim(pathImg)
	    if (tmp.length > 4 ){
			   tmp=tmp.substr(tmp.length-4)
			   if (tmp.toLowerCase()==".mov" || tmp.toLowerCase()==".avi"  || tmp.toLowerCase()==".asf" || tmp.toLowerCase()==".wmv") return true
				 else return false
			}else return false;
	}

	function IsFileFlash(pathImg){
	    tmp=trim(pathImg)
	    if (tmp.length > 4 ){
			   tmp=tmp.substr(tmp.length-4)
			   if (tmp.toLowerCase()==".swf") return true
				 else return false
			}else return false;
	}


	function IsFileMov(pathImg){
	    tmp=trim(pathImg)
	    if (tmp.length > 4 ){
			   tmp=tmp.substr(tmp.length-4)
			   if (tmp.toLowerCase()==".mov" ) return true
				 else return false
			}else return false;
	}


	function IsFileAsf(pathImg){
	    tmp=trim(pathImg)
	    if (tmp.length > 4 ){
			   tmp=tmp.substr(tmp.length-4)
			   if (tmp.toLowerCase()==".asf" ) return true
				 else return false
			}else return false;
	}




//define the characters which constitute whitespace, and quotes
var whitespace = "\n\r\t ";
var quotes = "\"'";



function isEmpty(str) {
    /*******************************************************************************************************************
    function: isEmpty

    Author: mike@idle.org

    Description:
        convenience function to identify an empty string

    *********************************************************************************************************************/
    return (str==null) || (str.length==0);

} // end function isEmpty


function trim(trimString, leftTrim, rightTrim) {
    /*******************************************************************************************************************
    function: isEmpty

    Author: may106@psu.edu

    Description:
        helper function to trip a string (trimString) of leading (leftTrim)
        and trailing (rightTrim) whitespace

    *********************************************************************************************************************/
    if (isEmpty(trimString)) {
        return "";
    }

    // the general focus here is on minimal method calls - hence only one
    // substring is done to complete the trim.

    if (leftTrim == null) {
        leftTrim = true;
    }

    if (rightTrim == null) {
        rightTrim = true;
    }

    var left=0;
    var right=0;
    var i=0;
    var k=0;

    // modified to properly handle strings that are all whitespace
    if (leftTrim == true) {
        while ((i<trimString.length) && (whitespace.indexOf(trimString.charAt(i++))!=-1)) {
            left++;
        }
    }
    if (rightTrim == true) {
        k=trimString.length-1;
        while((k>=left) && (whitespace.indexOf(trimString.charAt(k--))!=-1)) {
            right++;
        }
    }
    return trimString.substring(left, trimString.length - right);
} // end function trim



// -----------------------------------------------------------
// Define un universo de caracteres válidos y chequea el Email
// Autores: Carlos Muñoz && Miguel Ortega
// -----------------------------------------------------------
// modificada por César Castro [24-01-2001]

function EsCorreo (strEmail)
{
     emailreg = /^[\w\.\-\_]{2,}\@[\w\-]{2,}\.[a-z]{2,3}/i;
	return(emailreg.exec(strEmail));
}




//función para cambiar una cadena a mayusculas
function cambiarMay(obj)
{
   if  (obj.value  != "" )
      obj.value = (obj.value.toUpperCase());
 
}


//función para cambiar una cadena a minusculas
function cambiarMin(obj)
{
   if  (obj.value  != "" )
      obj.value = (obj.value.toLowerCase());
 
}




// Funcion para validar si es Caracter
	function letravalid(pletra){
	  letrareg=/^[a-zA-ZñÑ\s]{1,24}$/;
	return(letrareg.exec(pletra));
}




//Funcion que valida si son letras los primeros cuetro elementos de RFC

function RFCvalid(pletra){
	var valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
	var temp;
	for (var i=0; i<pletra.length; i++) {
	if (valid.indexOf(pletra.substr(i, 1)) == "-1"){
	return false;}
	 }
	return true;  
}



// Funcion para validar si los primeros 4 caracteres no son enteros en el RFC

function ValidaRFC(pRFC){
	var str=pRFC
	FielRFC=(str.substr(0,4));
	letravalid(FielRFC);
	if (letravalid(FielRFC)==null){
	 return false;}
	 else{
	 return true;}
} 



//funcion para validar los siguientes seis elementos del RFC
function ValidaRFCsig(pRFC){
 var str=pRFC; 
 FielRFC2=(str.substr(4,6));
 IsNumberInt(FielRFC2);
  if (IsNumberInt(FielRFC2)==null){
 return null;}
 else{
 return true;}
} 




//función para validar solo enteros 
function IsNumberInt(pNum){
  regNum=/^\d+$/;
		return(regNum.exec(pNum));
}



// funcion para validar el número telefónico
function Telvalid(pNum){
var valid = "-/0123456789"
var temp;
for (var i=0; i<pNum.length; i++) {
if (valid.indexOf(pNum.substr(i, 1)) == "-1"){
return false;}
 }
return true;  
}




//funcion para checar si un campo de textarea sobrepasa su número de caracteres establecidos
function txtvalid(ptexto){
	texto=ptexto.length;
	//alert (texto);
	if (texto>500){
	return false;}
	else{
	return true;  
	}
}




//función  para validar enteros y reales
function IsNumber(theNumber) 
 {
    if(theNumber=="" || theNumber==null)
      return false;
    if(isNaN(new Number(theNumber)))
      return false;
    else
       return true;
  }




//función para checar si una variable está vacia
  function IsEmpty(input) {
    if(input == null || input == "")
      return true;
    else
      return false;
  }




//función para comparar 2 variables
function comparar (dat1,dat2)
{
    if (dat1 == dat2) 
      return true;
}




//función para checar si es una fecha dd/mm/yyyy
function IsDate(date) {
    if (IsEmpty(date)) return false;
    var aMonths = new Array(12);
    aMonths[0] = 31; aMonths[1] = 28;
    aMonths[2] = 31; aMonths[3] = 30;
    aMonths[4] = 31; aMonths[5] = 30;
    aMonths[6] = 31; aMonths[7] = 31;
    aMonths[8] = 30; aMonths[9] = 31;
    aMonths[10] = 30; aMonths[11] = 31;
    var mode = 0;       // mode: 0 normal(default) YYYY/MM/DD; 1 extended YYYY-MM-DD; 2 short YYYYMMDD
    var year, month, day, indexA, indexB;
    var strDate = new String(date);

    if(strDate.indexOf("/")!=-1) {
      mode = 0;
      indexA = strDate.indexOf("/");
      indexB = strDate.lastIndexOf("/");
    }
    else if(strDate.indexOf("-")!=-1) {
      mode = 1;
      indexA = strDate.indexOf("-");
      indexB = strDate.lastIndexOf("-");
    }
    else if(strDate.length==8) {
        mode=2;
        year = strDate.substring(0, 2);
        month = strDate.substring(2, 4);
        day = strDate.substring(4, 8);
      }
      else return false;
    if(mode==0 || mode==1) {
      day = strDate.substring(0, indexA);
      month = strDate.substring(indexA+1, indexB);
      year = strDate.substring(indexB+1, strDate.length);
    }

    var iMonth = new Number(month);
    var iDay = new Number(day);

    if(! ((year.length == 4 ) && (month.length == 2 || month.length == 1) &&  ( day.length == 2 ||  day.length == 1)) ) return false;

    if((parseInt(year) % 4) == 0) { aMonths[1] = 29; }
    if((0 < iMonth) && (iMonth < 13)) {
      if((0 < iDay) && (iDay <= aMonths[iMonth-1])) { return true; }
      else { return false; }
    } else { return false; }
} // IsDate


function fDate(value){	
//   var regExp = new RegExp("\d{2}"); 
//    var regExp = /^[a-zA-ZñÑáéíóúÁÉÍÓÚ. ]+$/;
   var regExp = /^\d{2}$/;
   return regExp.test( value )


}
function isDate2Greater(date1, date2) {
    var indexA, indexB, mode;
    var sYear1, sMonth1, sDay1, iYear1, iMonth1, iDay1;
    var sYear2, sMonth2, sDay2, iYear2, iMonth2, iDay2;
    //----- extraccion de datos para date1
//	alert("date1 " + date1 );
	//alert("date2 " + date2 );
    if(date1.indexOf("/")!=-1) {
      mode = 0;
      indexA = date1.indexOf("/");
      indexB = date1.lastIndexOf("/");
    }
    else if(date1.indexOf("-")!=-1) {
      mode = 1;
      indexA = date1.indexOf("-");
      indexB = date1.lastIndexOf("-");
    }
    else if(date1.length==8) {
        mode=2;
        sDay1 = date1.substring(0, 1);
        sMonth1 = date1.substring(2, 3);
        sYear1 = date1.substring(4, 7);
      } else { return false; }
    if(mode==0 || mode==1) {
      sDay1 = date1.substring(0, indexA);
      sMonth1 = date1.substring(indexA+1, indexB);
      sYear1 = date1.substring(indexB+1, date1.length);
	  
      iYear1 = new Number(sYear1, 10);
      iMonth1 = new Number(sMonth1, 10);
      iDay1 = new Number(sDay1, 10);
    }
    //----- extraccion de datos para date2
    if(date2.indexOf("/")!=-1) {
      mode = 0;
      indexA = date2.indexOf("/");
      indexB = date2.lastIndexOf("/");
    }
    else if(date2.indexOf("-")!=-1) {
      mode = 1;
      indexA = date2.indexOf("-");
      indexB = date2.lastIndexOf("-");
    }
    else if(date2.length==8) {
        mode=2;
        sDay2 = date2.substring(0, 1);
        sMonth2 = date2.substring(2, 3);
        sYear2 = date2.substring(4, 7);
      } else { return false; }
    if(mode==0 || mode==1) {
      sDay2 = date2.substring(0, indexA);
      sMonth2 = date2.substring(indexA+1, indexB);
      sYear2 = date2.substring(indexB+1, date2.length);
	  
      iYear2 = new Number(sYear2, 10);
      iMonth2 = new Number(sMonth2, 10);
      iDay2 = new Number(sDay2, 10);
    }
    if(iYear2 < iYear1) { return false; }
    else {
      if(sYear2 == sYear1) {
        if(iMonth2 < iMonth1)
           return false;
        else {
          if(sMonth2 == sMonth1) {
             if(iDay2 <= iDay1)
               return false;
          } // if
        } // else
      } // if
    } // else
    return true;
  } // isDate2Greater


  function areDatesEqual(date1, date2) {
    if(date1==date2) return true;
    else return false;
  }





  function isDate1LessOrEqual(date1,date2) {
    var Date1, Date2;
    Date1 = convertDate(date1);
    Date2 = convertDate(date2);
	
	
    if(isDate2Greater(Date1,Date2)  ||    areDatesEqual(Date1,Date2)) 
      return true;
    else return false;
  }






  function isDate1GreaterOrEqual(date1, date2) {
    var Date1, Date2;
    Date1 = convertDate(date1);
    Date2 = convertDate(date2);

    if (areDatesEqual(Date1,Date2) || isDate2Greater(Date2,Date1) )
      return true;
    else 
	  return false;
  }





// In:  A string representing a date of type YYYY/MM/DD.
// Out: A string representing a date with the format YYYYMMDD.
// Example of usage: var date =  convertDate("1999/01/24");

  function convertDate(date) {
    var inDate = new String(date);
    var year, month, day, outDate, mode;
	var indexA,indexB;
	
    
    if(inDate.indexOf("/")!=-1) {
      mode = 0;
      indexA = inDate.indexOf("/");
      indexB = inDate.lastIndexOf("/");
    }
    else if(inDate.indexOf("-")!=-1) {
      mode = 1;
      indexA = inDate.indexOf("-");
      indexB = inDate.lastIndexOf("-");
    }
    else if(inDate.length==8) return inDate;

   if(mode==0 || mode==1) {
      year = inDate.substring(0, indexA);
      month = comMonth(inDate.substring(indexA+1, indexB));
      day = comDay(inDate.substring(indexB+1, inDate.length));
      outDate = year + month + day;
	 // alert (outDate);
    }
   
   
    return outDate;
  }





// Complemento de convertDate
// Sirven para completa el dia, mes 
function comDay(Day)
{
   var inDay = new String(Day);
   if (inDay.length == 2)
     return inDay;
   else	 
     inDay = "0" + inDay;
	 
   return inDay;	 
}



function comMonth(Month)
{
   var inMonth = new String(Month);
   if (inMonth.length == 2)
     return inMonth;
   else	 
     inMonth = "0" + inMonth;
	 
   return inMonth;	 
}


 



//función dínámica para validar los campos de un formulario
//Ejemp:
//validar ('Nombre del obj a validar','Nombre de validación','Mensaje de Error')
function validar()
{
    var ban = 1;           //bandera para saber si todo esta bien
    var cv = "";           // nombre del campo vacio
    var opval = ""; 
    var msgerr = "" ;   //mensaje de error
    var i,a=validar.arguments;   
    var formu = "document.forms[0]." ;
    var contenido; //contenido del campo
    var i = 0; 
      
	  	  
   while (i<a.length && ban)
     {
	    
         contenido =  (eval(formu + a[i+1] + ".value"));
         opval = a[i] ;

        switch  (opval)
          {

             //String requerida
            case  "STRR":
               if (isEmpty(trim(contenido)))   
                {
                   ban = 0;
                   cv = a[i+1];
                   msgerr =  a[i + 2] ;
                 } 
		    break;  
 

             //Contenido requerido
            case  "CONR":
               window.status = ""
               if (isEmpty(trim(contenido)))    
                {
                   ban = 0;
                   cv = a[i+1];
                   msgerr =  a[i + 2] ;
                 } 
				if (!isEmpty(contenido)){ 
				if (letravalid(contenido)==null){
				   ban = 0;
						   cv = a[i];
						   msgerr ="Error: Alguno de sus datos personales está mal escrito,favor de verificar";
						  } 
				}   
				break;  




              //numericos no requeridos
               case  "NUMN":
                 if (!isEmpty(contenido))   
                    if (!IsNumber(contenido))   
                     {
                        ban = 0;
                        cv = a[i+1];
                        msgerr =  a[i + 2] ;
                      }          
                     break;


              //numericos requeridos
               case  "NUMR":
                  if (!IsNumber(contenido))   
                   {
                      ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;
                    }          
                    break;




              //enteros no requeridos
               case  "ENTN":
                  if (!isEmpty(contenido))   
                    if (!IsNumberInt(trim(contenido)))   
                     {
                        ban = 0;
                        cv = a[i+1];
                        msgerr =  a[i + 2] ;
                      }          
                     break;


              //enteros requeridos
               case  "ENTR":
                  if (!IsNumberInt(trim(contenido)))   
                   {
                      ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;
                    }          
                    break;


				
	    //contenido requerido y valida RFC
            case  "RFCR":
               if (isEmpty(contenido))  
			      {
                   ban = 0;
                   cv = a[i+1];
                   msgerr =  a[i + 2] ;
                 }else{
				if (ValidaRFC(contenido)==false){
				   ban = 0;
						   cv = a[i];
						   msgerr ="Los primeros 4 elementos de su RFC deben ser letras, favor de verificar";
					}else{
				if (ValidaRFCsig(contenido)==null){
							 ban = 0;
								 cv = a[i+1];
								 msgerr ="Los siguientes 6 elementos de su RFC deben ser números, favor de verificar";}
							  }
						  }
               break;  
				
					 
	            //EMail No Requerido
              case  "EMLN":
		   if (isEmpty(contenido))   
                   if (!EsCorreo(contenido))   
                   {
                     ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;

                   } 
                     break;
			
		 
		//EMail requerido
               case  "EMLR":
                   if (!EsCorreo(contenido))   
                   {
                     ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;

                   } 
                     break;
			
			
			
		//Telefono no requerido
               case  "TELN":
				  if (!isEmpty(contenido))   
                  if (!Telvalid(contenido))   
                   {
                     ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;

                   } 
                     break;
					
					 
		//Telefono  requerido
               case  "TELR":
		 	    if (isEmpty(contenido))  
			    if (!Telvalid(contenido))   
                   {
                     ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;

                   } 
                     break;

	 

              //fecha no requerida
               case  "FECN":
                  if (!isEmpty(contenido))   
                    if (!IsDate(contenido))   
                     {
                        ban = 0;
                        cv = a[i+1];
                        msgerr =  a[i + 2] ;
                      }          
                      break;



              //fecha requerida
               case  "FECR":
                  if (!IsDate(contenido))   
                   {
                      ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;
                    }          
                    break;
				


              //File no requerido
               case  "FILN":
                  if (!isEmpty(contenido))   
                    if (!IsFile(contenido))   
                     {
                        ban = 0;
                        cv = a[i+1];
                        msgerr =  a[i + 2] ;
                      }          
                      break;



              //File requerido
               case  "FILR":
                  if (!IsFile(contenido))   
                   {
                      ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;
                    }          
                    break;



              //Precio requerido
               case  "PRER":
                  if (!((IsNumber(contenido)) &&   ((contenido > 0))))
                   {
                      ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;
                    }          
                    break;

              //Positivo requerido
               case  "POSR":
                  if (!((IsNumber(contenido)) &&   ((contenido >= 0))))
                   {
                      ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;
                    }          
                    break;
		

		//Positivo requerido Entero mayor a 0
               case  "PNTR":
                  if (!((IsNumberInt((contenido))) &&   ((contenido > 0))))
                   {
                      ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;
                    }          
                    break;

		//Positivo No requerido Entero mayor a 0 
               case  "PNTN":
			   if (!isEmpty(contenido)) 
                  if (!((IsNumberInt((contenido))) &&   ((contenido > 0))))
                   {
                      ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;
                    }          
                    break;




	      //Valida num de caracteres en un campo textarea no requerida
               case  "TXTN":
		  if (!txtvalid(contenido))   
                   {
                      ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;
                    }   
		break;					
						
						
	    //  VALIDA FILE															
            case  "FTXN":
		if (!isEmpty(contenido))   
		        if (!IsFileTxt(contenido))   
                   {
                      ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;
                    }   
		    break;

	    //TXT Requerido					
	    case  "FTXR":
		   if (!IsFileTxt(contenido))   
                   {
                      ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;
                    }   
		    break;

	    //File zip	no requerido
            case  "FZPN":
		if (!isEmpty(contenido))   
	        if (!IsFileZip(contenido))   
                   {
                      ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;
                    }   
		   break;

	    //File zip	requerido
	    case  "FZPR":
		  if (!IsFileZip(contenido))
		  if (!IsFileMov(contenido))   
                   {
                      ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;
                    }

		   break;

	    //Img no requerido
            case  "IMGN":
		if (!isEmpty(contenido))   
	        if (!IsFileImg(contenido))   
                   {
                      ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;
                    }   
		   break;

	    //Img requerida
	    case  "IMGR":
		  if (!IsFileImg(contenido))   
                   {
                      ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;
                    }   
		   break;


	    //Video no requerido
            case  "MOVN":
		if (!isEmpty(contenido))   
	        if (!IsFileMovie(contenido))   
                   {
                      ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;
                    }   
		   break;

	    //Video requerida
	    case  "MOVR":
		  if (!IsFileMovie(contenido))   
                   {
                      ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;
                    }   
		   break;

	    //Animacion Flash no requerido
            case  "FLASHN":
		if (!isEmpty(contenido))   
	        if (!IsFileFlash(contenido))   
                   {
                      ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;
                    }   
		   break;

	    //Animacion Flash requerida
	    case  "FLASHR":
		  if (!IsFileFlash(contenido))   
                   {
                      ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;
                    }   
		   break;


	    //File Extension Mov Requerida
	    case  "FEMR":
		  if (!IsFileMov(contenido))   
                   {
                      ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;
                    }   
		   break;

	    //File Extension Mov No Requerida
	    case  "FEMN":
		  if (!isEmpty(contenido)) 
		  if (!IsFileMov(contenido))   
                   {
                      ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;
                    }   
		   break;


	    //File Extension Asf Requerida
	    case  "FEAR":
		  if (!IsFileAsf(contenido))   
                   {
                      ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;
                    }   
		   break;

	    //File Extension Asf No Requerida
	    case  "FEAN":
		  if (!isEmpty(contenido)) 
		  if (!IsFileAsf(contenido))   
                   {
                      ban = 0;
                      cv = a[i+1];
                      msgerr =  a[i + 2] ;
                    }   
		   break;




            default:
    
                    if (!isEmpty(contenido))                   //Si no esta vacio
                     if (IsNumberInt(trim(opval)))         //Si es entero   
                       if (!(parseInt(contenido.length)  <  parseInt(opval)))
                         {
                          ban = 0;
                          cv = a[i+1];
                          msgerr =  a[i + 2] ;
                         }  
                                  
                         break;

           }//switch
       
     //incremento el contador    
       i+=3;
      }//while




  if (!ban)
    {
         //Hubo Errores
		  alert (unescape(msgerr));
          if  (eval(  formu +  cv  + ".type") != "hidden")
             {
              eval( formu +  cv  + ".focus();") ;
              return false;     
             }
     }
  else
     {
        //eval(formu + "submit();" );
		//No Hubo errores
        //Si se activa esta se debe desactivar la anterior 
        return true;   
     }
  
}

//define the characters which constitute whitespace, and quotes
var Alpha = "a-zA-Z";
var Space = " ";
var Numbers = "0-9";
var Signs = "¿?¡!-_\*\+\\/#\$%&\(\)\{\}\[\]\.,<>=:;"
var Enes = "ñÑ"
var acentos = "áéíóúÁÉÍÓÚ"


/*******************************************************************************************/
/*	Funciones para el módulo administrativo	*/
/*******************************************************************************************/
 function showImg (strUrl){
	var display1=window.open("/admin/FrameView.asp?strUrl=" + strUrl ,	'_img',
	'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,top=100,left=300,width=20,height=30,alwaysRaised=No')
	display1.focus();

 }
/*******************************************************************************************/
/*	Acepta Números Letras, y simbolos ¿?!¡-_*+\/#$%&(){}[].,<>=:;	*/
/*******************************************************************************************/
function isAlphaNumSimEnesAcentosBlan( value){
  var regExp = /^[\wñÑáéíóúÁÉÍÓÚ¿?¡!\-_\*\+\\/#\$%&\(\)\{\}\[\]\.,<>=:; ]*$/;
 return regExp.test( value )
}


/*******************************************************************************************/
/*	Acepta Números Letras, y simbolos ¿?!¡-_*+\/#$%&(){}[].,<>=:;	*/
/*******************************************************************************************/
function isAlphaNumSim( value){
  var regExp = /^[\w¿?¡!\-_\*\+\\/#\$%&\(\)\{\}\[\]\.,<>=:;]+$/;
 return regExp.test( value )
}

/*******************************************************************************************/
/*	Acepta Números Letras, y _
/*******************************************************************************************/
function isAlphaNum_( value){
  var regExp = /^[\w]+$/;
 return regExp.test( value )
 }
// Stop hiding here -->
