 /* SEP - DGES
   Fecha: 16-Agosto-2006
   author: Lic. Eduardo Garcia Flores*/
/*---------------------------------------------------------------------------*/			
function closeThisWin(){
	window.close();
}
/*---------------------------------------------------------------------------*/			
function verVentana (strURL, width, height ){
	var leftVal = (screen.width - width) / 2;
	var topVal = (screen.height - height - 50) / 2;

	if (window.showModalDialog) {
		win=window.showModalDialog(strURL,"Programa","modal=yes;resizable:0;center:yes;status:no;toolbar:auto;scrollbars:auto;help:no;dialogWidth:"+width+"px;dialogHeight:"+height+"px")	
	}else{
	var	options = "menubar=0,status=0,width=" + width + ",height=" + height + ",resizable=1,scrollbars=2,directories=0,toolbar=0,left="+leftVal+",top="+topVal;
		window.open(strURL,"Programa",options)		
	}
}	

//******* Abre Ventana  *********
function abreVentana(url, ancho, alto, destino) {
	var leftVal = (screen.width - ancho) / 2;
	var topVal = (screen.height - alto - 50) / 2;						   
	var	options = 'width='+ancho+',height='+alto+',toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizeable=0,left='+leftVal+',top='+topVal;
	var w=window.open(url,destino,options);
	w.focus();
}

//******* Abre Ventana   Maximized *********
function abreVentanaMaximized(url, destino) {				   
	var	options = 'width='+screen.width+',height='+screen.height+',toolbar=1,location=1,directories=0,status=1,menubar=0,scrollbars=1,resizeable=0,left=0,top=';
	var w=window.open(url,destino,options);
	w.focus();
}

function Disp(nameLayer) {
var disp = document.getElementById(nameLayer).style.display;
var visi = document.getElementById(nameLayer).style.visibility;
//alert(nameLayer);
disp = (disp == "none") ? "block" : "none";
//visi = (visi == "hidden") ? "visible" : "hidden";
document.getElementById(nameLayer).style.display = disp;
//document.getElementById(nameLayer).style.visibility = visi;
}


function getFormatDate(dateData){
// Creamos el array con los nombres 
     var nombres_mes = new Array ('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
//Se consigue la fecha 
     var fecha = new Date (dateData); 
//Se almacena el dia del mes 
     var dia_mes = fecha.getDate(); 
//Se almacena el mes 
     var mes = fecha.getMonth (); 
     mes = nombres_mes[mes]; 
//Se almacena el año 
     var anio = fecha.getYear(); 
     anio = anio; 
// Imprimimos la fecha 
	var strDate= dia_mes + ' de ' + mes + ' de ' + anio;
	return(strDate)
}


// In:  A string representing a date of type MM.
// Out: A string representing a date with the format 'Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'
// Example of usage: var date =  convertDate("01"); //Resultado: 'ENERO'
function getMes(intMes) {
    var nombres_mes = new Array ('','Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
    mes = nombres_mes[intMes]; 	   
   return mes;
}

// In:  A string representing a date of type YYYY-MM-DD.
// Out: A string representing a Month YYYY/MM/DD.
// Example of usage: var date =  convertDate("1999-01-24");

function convertToDate(date, character) {
   var inDate = new String(date);
   var year = inDate.substring(0, 4);
   var month = inDate.substring(5, 7);
   var day = inDate.substring(8, inDate.length+1);
   var outDate = year + character + month + character + day;
//   var outDate =  day + character + month + character +  character +  year;   
   return outDate;
}

function Permut (flag,img) {
   if (document.images) {
        if (document.images[img].permloaded) {
            if (flag==1) document.images[img].src = document.images[img].perm.src
            else document.images[img].src = document.images[img].perm.oldsrc
        }
   }
}


function preloadPermut (img,adresse) {
   if (document.images) {
        img.onload = null;
        img.perm = new Image ();
        img.perm.oldsrc = img.src;
        img.perm.src = adresse;
        img.permloaded = true;
   }
}


function submitenter(myfield,e)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;

if (keycode == 13)
   {
   myfield.form.submit();
   return false;
   }
else
   return true;
}


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];}}
}

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];}
}

// ****** Inabilita el Boton del Mouse******
var message = ""; 

   function clickIE(){ 
    if (document.all){ 
     (message); 
     return false; 
    } 
   } 

   function clickNS(e){ 
    if (document.layers || (document.getElementById && !document.all)){ 
     if (e.which == 2 || e.which == 3){ 
      (message); 
      return false; 
     } 
    } 
   } 



if (document.layers){ 
    document.captureEvents(Event.MOUSEDOWN); 
    document.onmousedown = clickNS; 
   } else { 
    document.onmouseup = clickNS; 
    document.oncontextmenu = clickIE; 
   } 
   document.oncontextmenu = new Function("return false") 


   /*if (document.layers){    
    setInterval ("window.status=''",10); 
	} else { 	
	*/
	setInterval (returnWindowStatus,10); 

	//} 	
	
function returnWindowStatus(strString){
	window.status = "";
	return false; 
}
	
function isAlphaNumeric(strString){
    var expReg = /^\w+$/
    if (expReg.test(strString))
        return (strString.search(/_/)==-1?true:false)
}


function isAlpha( value ){
   var regExp = /^[\.\w\?\\/_=& ]+$/;
	return regExp.test( value )
}

function isAlphaVocal( value ){
   var regExp = /^[\ñ\Ñ\á\Á\é\É\í\Í\ó\Ó\ú\Ú\.\-\w\?\\/_=& ]+$/;
	return regExp.test( value )
}

//******* Checa si son solo letras *********
function isAlphaOnly( value ){
    var regExp = /^[A-Z\ñ\Ñ\ä\Ä\ö\Ö\ü\Ü\á\Á\é\É\í\Í\ó\Ó\ú\Ú\.\ ]+$/;  
	return regExp.test( value )
}

//******* Checa si tiene el formato de telefono *********
function isTelephone( value ){
    var regExp = /^([0-9\(\)\-\/\ ]|(EXT.))+$/;
	return regExp.test( value )
}


/******************************************************************************
******************************************************************************/
/*Verifica si un email es valido 
  Author: Eduardo García Flores
  Ver isEmailerror()*/
function valEmail (emailStr) {
/* Verificar si el email tiene el formato user@dominio. */
var emailPat=/^(.+)@(.+)$/ 
/* Verificar la existencia de caracteres. ( ) < > @ , ; : \ " . [ ] */
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]" 
/* Verifica los caracteres que son válidos en una dirección de email */
var validChars="\[^\\s" + specialChars + "\]" 
var quotedUser="(\"[^\"]*\")" 
/* Verifica si la dirección de email está representada con una dirección IP Válida */ 
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/

/* Verificar caracteres inválidos */ 
var atom=validChars + '+'
var word="(" + atom + "|" + quotedUser + ")"
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
//domain, as opposed to ipDomainPat, shown above. 
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")

var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
	return 1
	}

var user=matchArray[1]
var domain=matchArray[2]
// 3 - el user "user" no es valido 
if (user.match(userPat)==null) {
	// Si no
	return 3
	}

//4 - El dominio parece no ser válido.
var domainArray=domain.match(domainPat)
if (domainArray==null) {
	return 4
	}

// 5 - La dirección debe tener 3 letras si es .com o 2 si en de algún pais.
var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) { 
	return 5
	}

// 6 - La longitud de e-mail es erronea
if (len<2) {
	return 6
	}

/* 2 - la dirección IP no es válida */
var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				return 2
				}
		}
	}
// La dirección de email ingresada es Válida
	return 0	
}

/*Muestra la descripción de un error de email
  Author: Eduardo García Flores
Retorna 0 si el email es valido
  		1 Dirección erronea (verifica @ y .'s)
		2 IP de destino inválida
		3 Nombre de usuario no es válido.
		4 El dominio parece no ser válido.
		5 E-mail:	La dirección debe tener 3 letras si es .com o 2 si en de algún pais.
		6 La longitud de la dirección es erronea.		*/
		
function isEmailError (errNum) {
var errs="";
switch(errNum) {
	  case 1:
	   	errs = "Dirección erronea (verifica @ y .'s)\n";
	    break;
	  case 2:
    	errs = "IP de destino inválida \n";
	    break;
	  case 3:
	   	errs = "Nombre de usuario no es válido.";
	    break;
	  case 4:
    	errs = "El dominio parece no ser válido.\n";
	    break;
	  case 5:
	   	errs = "La dirección debe tener 3 letras si es .com o 2 si en de algún pais.\n";
	    break;
	  case 6:
    	errs = "La longitud de la dirección es erronea.\n";
	    break;		
	}
return errs;	
}


/*---------------------------------------------------------------------------*/
	function getRadioButtonSelectedValue(form, ctrl)
	{   for(i=0;i<ctrl.length;i++)
        if(document.form.ctrl[i].checked) return ctrl[i].value;
	}

/*---------------------------------------------------------------------------*/


function PNG_loader() {
   for(var i=0; i<document.images.length; i++) {
      var img = document.images[i];
      var imgName = img.src.toUpperCase();
      if (imgName.substring(imgName.length-3, imgName.length) == "PNG") {
         var imgID = (img.id) ? "id='" + img.id + "' " : "";
         var imgClass = (img.className) ? "class='" + img.className + "' " : "";
         var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' ";
         var imgStyle = "display:inline-block;" + img.style.cssText;
         if (img.align == "left") imgStyle += "float:left;";
         if (img.align == "right") imgStyle += "float:right;";
         if (img.parentElement.href) imgStyle += "cursor:hand;";
         var strNewHTML = "<span " + imgID + imgClass + imgTitle
            + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
            + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
            + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>";
         img.outerHTML = strNewHTML;
         i--;
      }
   }
}
//window.attachEvent("onload", PNG_loader);

//funcion para ocultar / mostrar layer
function toggleBox(szDivID, iState) // 1 visible, 0 hidden
{
    if(document.layers)	   //NN4+
    {
       document.layers[szDivID].visibility = iState ? "show" : "hide";
    }
    else if(document.getElementById)	  //gecko(NN6) + IE 5+
    {
        var obj = document.getElementById(szDivID);
        obj.style.visibility = iState ? "visible" : "hidden";
    }
    else if(document.all)	// IE 4
    {
        document.all[szDivID].style.visibility = iState ? "visible" : "hidden";
    }
}

