<!--MOSTRAR DIVS
function showdiv(name){ 
	var obj = (document.getElementById)? document.getElementById(name) : eval("document.all[name]"); 
	if (obj.style.display=="none"){ 
		obj.style.display=""; 
	}else{ 
		obj.style.display="none"; 
	} 
} 

function mcapa(ncapa,vcapa,tcapa) {
	
	// ncapa= nombre de la capa (letras)
	// vcapa = variable de la capa (numero)
	// tcapa = total de capas (numero)
	// llamar al java: onMouseOver="mcapa('capa',1,3);"
	
	for (i=1;i<=tcapa; i++){
		eval ("document.getElementById('"+ncapa+""+i+"').style.display='none'");
	}
	eval ("document.getElementById('"+ncapa+""+vcapa+"').style.display='block'");
}
function ocapa(ncapa,tcapa) {
	// ncapa= nombre de la capa (letras)
	// vcapa = variable de la capa (numero)
	// tcapa = total de capas (numero)
	// llamar al java: onMouseOver="ocapa('capa',1,3);"
	
	for (i=1;i<=tcapa; i++){
		eval ("document.getElementById('"+ncapa+""+i+"').style.display='none'");
	}
}
//--> FIN MOSTRAR DIVS

<!-- INICIO IR A URL
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
//--> FIN IR A URL

<!-- INCIO ABRIR POP-UP
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
//--> FIN ABRIR POP-UP

<!-- INCIO PRECARGAR IMAGENES
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
//--> FIN PRECARGAR IMAGENES

<!-- INICIO ROLL OVER
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->  FIN ROLL OVER

<!-- INICIO PESTAÑAS COMPONENTES DETALLE
var R=new Array();
var N="",nR=0,db=-1;
function vl(z){
	z = unescape(escape(z).replace(/%0D%0A/g,"%7C").replace(/%0A/g,"%7C").replace(/%0D/g,"%7C"));
	R=z.split("|");
	db=-1;
	nR=0;
	for(i=0;i<R.length;i++){
		if(R[i]!=""){if(db==-1){db=i}
			nR++
		}
	}
	nRstring = '' + nR
	alert(nRstring+" item(s) typed in.");
}
function pr(ici){
	if(nR>0){
		msg="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n\"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd\">\n\<html>\<head>\n"+sty+"\n\<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\">\n\<title>Title of my page\<\/title>\n\<script language=\"javascript\" type=\"text/javascript\">\nvar N=\"\"\n"+fco+fvo+"\<\/script>\n\<\/head>\<body onload=\"vO('"+(R.length-1)+"');vO('"+db+"')\">\n\<!-- tool : michel.staelens@wanadoo.fr - www.freejavascript.fr.st -->\n\<!-- Begin of common section -->\n\nInclude the common section here\n\n\<!-- End of common section -->\n<br>\n";
		for(j=0;j<R.length;j++){if(R[j]!=""){msg+='<div id=\'d'+j+'\'class=o><table cellspacing=0><tr>';
			for(i=0;i<R.length;i++){
				if(i==j){msg+='\<td class=on>'+R[i]+'\<\/td>'
				}else{
					if(R[i]!=""){msg+='\<td class=off>\<a class=ch href="javascript:vO(\''+i+'\')">'+R[i]+'\<\/a>\<\/td>'}
				}
			}
			msg+='\<\/tr>\<tr>\<td colspan='+(nR+1)+' class=i>\n<!-- Begin of '+R[j]+' -->\nInclude section \<span class=nota>'+R[j]+'\<\/\span> here.\n\<!-- End of '+R[j]+' -->\n\<\/td>\<\/tr>\<\/table>\<\/div>\n'
			}
		}
		msg+="\<\/body>\<\/html>";
		ici.value=msg;
		ici.focus();
		ici.select()
	}else{
		alert("Items in previous section not validated!")
	}
}
	fco='function cO(z){document.getElementById(\'d\'+z).style.visibility="hidden"}\n';
	fvo='function vO(z){if (N!=z&&N!=""){cO(N)} document.getElementById(\'d\'+z).style.visibility="visible";N=z}\n';
	eval(fco);
	eval(fvo)
//--> FIN PESTAÑAS COMPONENTES DETALLE


<!-- INICIO IMPRIMIR
function printit(){  
if (NS) {
    window.print() ;  
} else {
    var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
    WebBrowser1.ExecWB(6, 2);
WebBrowser1.outerHTML = "";  
}
}
//--> FIN IMPRIMIR

<!-- INICIO SUBMIT FORM
function MM_callJS(jsStr) { //v2.0
  return eval(jsStr)
}
//--> FIN SUBMIT FORM


<!-- INICIO JUMP MENU
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//--> FIN JUMP MENU

//AÑADIR A FAVORITOS<!--

    function favoritos(direccion,descripcion){
        if ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion)>3)){
            window.external.AddFavorite(direccion,descripcion);
        }
        else if(navigator.appName == "Netscape") {
            alert("Presione Crtl+D para agregar esta página a sus 'Bookmarks'");
        }
        else{
            alert("su navegador no dispone de esta opción");
        }
    }
                    
//-->


<!-- REFRESCAR VENTANA PADRE

function refreshParent() {
window.opener.location.reload()
window.close()
}
//-->

var sAlpha     = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var sAlphaExt  = "ÁÉÍÓÚÑÄËÏÖÜÂÊÎÔÛ áéíóúñäëïöüâêîôû '.";
var sAlphaTE   = "() -";
var sAlphaMail = "@.-";
var sSpace     = " ";
var sAt        = "@";
var sDot       = ".";
var sDash      = "/";
var sNumeral   = "#";
var sUnderscore  = "_";
var sNumeric     = "1234567890";
var sNumericExt  = ".+-/*";
var sEsimo       ="º";    
var sMsg         = "";
var sHyphen		 = "-";
var sComa	= ",";
var sUnder	= "_";
var sAll			= sAlpha + sAlphaExt + sNumeric + sNumericExt + sAlphaTE + sAlphaMail + sComa + "!¡¿?"


function ValidateString(checkStr)
{
  checkStr = "" + checkStr;

  var checkOK = sAlpha + sAplhaExt;
  var allValid = true;
  for (i = 0;  i < checkStr.length;  i++) {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length) {
      allValid = false;
      break;
    }
  }
  if (!allValid) {
    // debe poseer caracteres válidos
    return (false);
  } else {
    return (true);
  }
}

function ValidateNumber(checkStr)
{

  checkStr = "" + checkStr;

  // Valida tamaño de la cadena.
  intLen = checkStr.length;
  if(intLen < 1) return false;

  var checkOK = sNumeric;
  var allValid = true;
  for (i = 0;  i < checkStr.length;  i++) {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length) {
      allValid = false;
      break;
    }
  }
  if (!allValid)  {
    return (false);
  } else {
    return (true);
  }
}

function ValidateDate(checkStr)
{
  checkStr = "" + checkStr;

  // Parsea global de la fecha: formato (dd/mm/aaaa)

  // Valida tamaño de la cadena.
  intLen = checkStr.length;
  if(intLen < 5)  return false;

  for (i = 0;  i < checkStr.length;  i++) {
    ch = checkStr.charAt(i);
    if (ch == "/") {
      strDia = checkStr.substring(0,i);

      for (j = i + 1;  j < checkStr.length;  j++) {
        ch = checkStr.charAt(j);
        if (ch == "/") {
          strMes = checkStr.substring(i + 1,j);
          strAno = checkStr.substring(j + 1,checkStr.length + 1);
          break;
        }
      }
      break;
    }
  }
	
  // Valida el dia.
  if(! ValidateNumber(strDia)) return false;

  // Valida el mes.
  if(! ValidateNumber(strMes)) return false;
	
  // Valida el año.
  if(! ValidateNumber(strAno)) return false;
	
  // Parsea el dia.
  intDia = parseFloat(strDia) ;
	
  // Parsea el mes.
  intMes = parseFloat(strMes) ;

  // Parsea el año.
  intAno = parseInt(strAno);

  // Se fija si es una fecha válida
  if (intAno < 1) return false; 	
  if (intMes < 1) return false;
  if (intDia < 1) return false;
	      
  if (intMes > 12) return false;
  if (intDia > 31) return false;   
  if (intMes==2) {
    //Se fija si el año es biciesto
    if ( !(intAno % 4) && ( intAno % 100 || ! (intAno % 400))) { 
      // Bisiesto
      if (intDia > 29) return false;
    } else {
      if (intDia > 28) return false;
    }           
  }
    
  if (intMes==4) {
    if (intDia > 30) return false;
  }           
    
  if (intMes==6) {
    if (intDia > 30) return false;
  }           

  if (intMes==9) {
    if (intDia > 30) return false;
  }           
		
  if (intMes==11) {
    if (intDia > 30) return false;
  }           
  
  return true;
}

function ValidateUser(checkStr)
{
  checkStr = "" + checkStr;

  // Valida tamaño de la cadena.
  intLen = checkStr.length;
  if((intLen < 1) || (intLen > 10)) return false;

  var checkOK = sAlpha + sNumeric + sUnderscore;
  var allValid = true;
  for (i = 0;  i < checkStr.length;  i++) {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length) {
      allValid = false;
      break;
    }
  }
  if (!allValid) {
    // debe poseer caracteres válidos
    return (false);
  } else {
    return (true);
  }
}

function ValidatePassword(checkStr)
{
  checkStr = "" + checkStr;

  // Valida tamaño de la cadena.
  intLen = checkStr.length;
  if((intLen < 1) || (intLen > 4)) return false;

  var checkOK = sNumeric;
  var allValid = true;
  for (i = 0;  i < checkStr.length;  i++) {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length) {
      allValid = false;
      break;
    }
  }
  if (!allValid) {
    // debe poseer caracteres válidos
    return (false);
  } else {
    return (true);
  }
}



function ValidateBirth(checkStr)
{
  checkStr = "" + checkStr;

  if (ValidateDate(checkStr)) {
    for (i = 0;  i < checkStr.length;  i++) {
      ch = checkStr.charAt(i);
      if (ch == "/") {
        for (j = i + 1;  j < checkStr.length;  j++) {
          ch = checkStr.charAt(j);
          if (ch == "/") {
            strAno = checkStr.substring(j + 1,checkStr.length + 1);
            break;
          }
        }
        break;
      }
    }

    if (strAno.length < 4) strAno = 1900 + parseInt(strAno);

    var Now = new Date();
    Now.getDate();
    intAno = Now.getYear();

    if (((intAno - parseInt(strAno)) < 5) || ((intAno - parseInt(strAno)) > 105)) {
      // debe poseer entre 5 y 105 años
      return false;
    }

    return true;
  } else {
    return false;
  }
}

function ValidateRequired(checkStr)
{
  checkStr = "" + checkStr;

  if (checkStr == "") {
    // es obligatorio
    return (false);
  } else {
    var allValid = false;

    for(i=0; i<=checkStr.length-1; i++)
      if (checkStr.substring(i,i+1) != ' ') {
        allValid = true;
        break;
      }
    if (!allValid) {
      // es obligatorio
      return (false);
    } else {
      // OK
      return (true);
    }
  }
}


function ValidateLen(checkStr, nMinLen, nMaxLen)
{
  checkStr = "" + checkStr;

  if (checkStr.length < nMinLen) {
    // debe poseer al menos " + nMinLen + " caracteres
    return (false);
  } else {
    if (checkStr.length > nMaxLen) {
      // debe poseer menos de " + nMaxLen + " caracteres
      return (false);
    } else {
      return (true);
    }
  }
}

function ValidateRange(checkStr, nMinValue, nMaxValue)
{
  checkStr = "" + checkStr;

  if (checkStr < nMinValue) {
    // debe ser por lo menos igual a " + nMinValue
    return (false);
  } else {
    if (checkStr > nMaxValue) {
      // debe ser menor a " + nMaxValue
      return (false);
    } else {
      return (true);
    }
  }
}

function DateCompare (checkStr1, checkStr2)
{
  intDia1 = parseInt(checkStr1.substring(0,2)) ;
  intDia2 = parseInt(checkStr2.substring(0,2)) ;
  intMes1 = parseInt(checkStr1.substring(3,5)) ;
  intMes2 = parseInt(checkStr2.substring(3,5)) ;
  intAno1 = parseInt(checkStr1.substring(6,10)) ;
  intAno2 = parseInt(checkStr2.substring(6,10)) ;

  if (intAno1>intAno2)
    return(false);

  if (intAno1==intAno2) {
    if (intMes1>intMes2)
      return (false);
    if (intMes1==intMes2) {
      if (intDia1>intDia2)
        return (false);
    }
  }

  return (true);
}


function Left(s, n){
  s = "" + s;

  // Devuelve los n primeros caracteres de la cadena
  if(n>s.length)
    n=s.length;
		
  return s.substring(0, n);
}

function Right(s, n){
  s = "" + s;

  // Devuelve los n últimos caracteres de la cadena
  var t=s.length;
  if(n>t)
    n=t;
		
  return s.substring(t-n, t);
}

function Mid(s, n, c){
  s = "" + s;

  // Devuelve una cadena desde la posición n, con c caracteres
  // Si c = 0 devolver toda la cadena desde la posición n
	
  var numargs=Mid.arguments.length;
	
  // Si sólo se pasan los dos primeros argumentos
  if(numargs<3)
    c=s.length-n+1;
		
  if(c<1)
    c=s.length-n+1;
  if(n+c >s.length)
    c=s.length-n+1;
  if(n>s.length)
    return "";
		
  return s.substring(n-1,n+c-1);
}

function LTrim(s){
  s = "" + s;

  // Devuelve una cadena sin los espacios del principio
  var i=0;
  var j=0;
	
  // Busca el primer caracter <> de un espacio
  for(i=0; i<=s.length-1; i++)
    if(s.substring(i,i+1) != ' '){
      j=i;
      break;
    }
  return s.substring(j, s.length);
}

function RTrim(s){
  s = "" + s;

  // Quita los espacios en blanco del final de la cadena
  var j=0;
	
  // Busca el último caracter <> de un espacio
  for(var i=s.length-1; i>-1; i--)
    if(s.substring(i,i+1) != ' '){
      j=i;
      break;
    }
  return s.substring(0, j+1);
}

function Trim(s){
  s = "" + s;

  // Quita los espacios del principio y del final
  return LTrim(RTrim(s));
}

function InStr(n, s1, s2){
  // Devuelve la posición de la primera ocurrencia de s2 en s1
  // Si se especifica n, se empezará a comprobar desde esa posición
  // Sino se especifica, los dos parámetros serán las cadenas
  var numargs=InStr.arguments.length;
	
  if(numargs<3)
    return n.indexOf(s1)+1;
  else
    return s1.indexOf(s2, n)+1;
}

function RInStr(n, s1, s2){
  // Devuelve la posición de la última ocurrencia de s2 en s1
  // Si se especifica n, se empezará a comprobar desde esa posición
  // Sino se especifica, los dos parámetros serán las cadenas
  var numargs=RInStr.arguments.length;
	
  if(numargs<3)
    return n.lastIndexOf(s1)+1;
  else
    return s1.lastIndexOf(s2, n)+1;
}

function Space(n){
  // Devuelve una cadena con n espacios
  var t="";
	
  for(var i=1; i<=n; i++)
    t=t+" ";
	
  return t;
}

function jString(n, c){
  // Devuelve n veces el caracter c
  var t="";
	
  for(var i=1; i<=n; i++)
    t=t+c;
  return t;
}

function UCase(s){
  // Devuelve la cadena convertida a mayúsculas
  return s.toUpperCase();
}

function LCase(s){
  // Devuelve la cadena convertida en minúsculas
  return s.toLowerCase();
}

function Len(s){
  s = "" + s;

  // Devuelve la longitud de la cadena s
  return s.length;
}

function StrReverse(s){
  s = "" + s;

  // Invierte la cadena
  var i=s.length;
  var t="";
	
  while (i>-1) {
    t=t+ s.substring(i,i+1);
    i--;
  }
  return t;
}


function ValidateEmail (emailStr) {

emailStr = Trim(emailStr.toLowerCase());

var checkTLD=1;
var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

var matchArray=emailStr.match(emailPat);

if (matchArray==null) return false;

var user=matchArray[1];
var domain=matchArray[2];


for (i=0; i<user.length; i++) {
	if (user.charCodeAt(i)>127) return false;
}

for (i=0; i<domain.length; i++) {
	if (domain.charCodeAt(i)>127) return false;
}

if (user.match(userPat)==null) return false;

var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {
	for (var i=1;i<=4;i++) {
		if (IPArray[i]>255) return false;
	}
	return true;
}

var atomPat=new RegExp("^" + atom + "$");
var domArr=domain.split(".");
var len=domArr.length;
for (i=0;i<len;i++) {
	if (domArr[i].search(atomPat)==-1) return false;
}


if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) return false;

if (len<2) return false;

return true;

}

function ActivateFlash() 
{ 
    var objects = document.getElementsByTagName("object"); 
    for (var i = 0; i < objects.length; i++) 
    { 
      objects[i].outerHTML = objects[i].outerHTML; 
    } 
} 