/********************************************************************************
	FUNCION QUE CAMBIA EL PUNTERO DEL RATON A ESPERA
********************************************************************************/

//VENTANA DE AYUDA PARA DESCRIBIR LAS ABREVIATURAS DE LOS ESTADOS EN LOS GRID DE BUSQUEDA
function Ventana_Ayuda_Estados()
{
		var cadena;
		
		cadena="<table border=0 class=labelgris width=100%>"
		
		cadena=cadena + "<tr><td>C/F</td><td>: Clase / fase.</td></tr>";
		cadena=cadena + "<tr><td colspan=2>&nbsp;</td></tr>";
		cadena=cadena + "<tr><td>Est</td><td>: Estado.</td></tr>";
		cadena=cadena + "<tr><td>&nbsp;&nbsp;&nbsp;REG</td><td>: Registrado.</td></tr>";
		cadena=cadena + "<tr><td>&nbsp;&nbsp;&nbsp;RPI</td><td>: Registrado pendiente de informe de visado.</td></tr>";
		cadena=cadena + "<tr><td>&nbsp;&nbsp;&nbsp;ICI</td><td>: Informado con incidencias.</td></tr>";
		cadena=cadena + "<tr><td>&nbsp;&nbsp;&nbsp;IPS</td><td>: Informado sin incidencias, pendiente de sellado.</td></tr>";
		cadena=cadena + "<tr><td>&nbsp;&nbsp;&nbsp;SPR</td><td>: Sellado, pendiente retirar.</td></tr>";
		cadena=cadena + "<tr><td>&nbsp;&nbsp;&nbsp;RET</td><td>: Retirado.</td></tr>";
		cadena=cadena + "<tr><td>&nbsp;&nbsp;&nbsp;ANU</td><td>: Anulado.</td></tr>";
		cadena=cadena + "<tr><td colspan=2>&nbsp;</td></tr>";
		cadena=cadena + "<tr><td>T</td><td>: Tipo de recepci&oacute;n.</td></tr>";
		cadena=cadena + "<tr><td>&nbsp;&nbsp;&nbsp;M</td><td>: Manual.</td></tr>";
		cadena=cadena + "<tr><td>&nbsp;&nbsp;&nbsp;L</td><td>: Lector.</td></tr>";
		cadena=cadena + "<tr><td>&nbsp;&nbsp;&nbsp;D</td><td>: Digital.</td></tr>";
		cadena=cadena + "</table>";
		
		alertModal_Ancho_Alto("Ayuda",cadena,'450','450');
		
}


// "cuerpo" debe ser el id que posee la etiqueta <BODY>
function AbreEspera(){
	document.all.cuerpo.className="PunteroCargando";
}

/********************************************************************************
	FUNCION QUE CAMBIA EL PUNTERO DEL RATON A NORMAL
********************************************************************************/
function CierraEspera(){
	document.all.cuerpo.className="PunteroNormal";			
}

//DETECCIÓN DEL TIPO DE NAVEGADOR

var NS4=document.layers?1:0;
var MSIE=document.all?1:0;
var DOM=(document.getElementById)&&(!MSIE);


/*********************************************************************************************************************
    FUNCIONES PARA DESACTIVAR EL BOTÓN DERECHO DEL RATÓN
 *********************************************************************************************************************/

var NS = (document.layers);
var IE = (document.all);
if (NS) document.captureEvents(Event.MOUSEDOWN);

function click(e)
{

if (IE)
 if (event.button==2)
  {
   alert("BOTON DERECHO DESACTIVADO");
  }
if (NS)
 if (e.which==3)
  {
   return false;
  }

}

function Desactivar_BotonDerecho()
{
  document.onmousedown=click
}

/*********************************************************************************************************************
    FUNCION PARA DESACTIVAR LA OPCIÓN DE MARCAR EL TEXTO EN UNA PÁGINA WEB
 *********************************************************************************************************************/

function Desactivar_MarcarTexto()
{

  document.onselectstart=function(){return false}
  document.ondragstart=function(){return false}
}


/*********************************************************************************************************************
    FUNCION PARA CONTROLAR QUE NO SE HABRA UNA PAGINA ASPX DESDE UN NAVEGADOR TECLEANDO LA URL
 *********************************************************************************************************************/

function ControlNavegador(uri)
{
	if (uri.toUpperCase().indexOf('DEFAULT.ASPX')<0)  // NO ES DEFAULT.ASPX
	{	
	
	
		if (window.name=="PermitirDesdeNavegador")
			 {
			  return ;
			  
			 }
	
		//alert(window.name);
	
		if (!window.opener){	
				// LA PÁGINA SE VISUALIZA DESDE UN NAVEGADOR NUEVO 
			
				
			
			if (window.name=="")		// NO ES UN IFRAME, YA QUE ESTOS NO TIENEN OPENER
			{
			  alert('ACCION NO PERMITIDA');
			  location.href= url_dominio ;
			}
			else
			{
				// SIGUIENTE COMPROBACIÓN
				//	SE ENTRA POR LA PÁGINA DE LOGIN Y TRAS IDENTIFICARSE SE INTENTA ACCEDER A UNA URI EN CONCRETO			
				if ((window.name=='LoginArquiMalaga') && (uri.indexOf('Default.aspx')<0))
				//if (uri.indexOf('Default.aspx')<0)
				{

					alert('ACCION NO PERMITIDA');
					location.href= url_dominio ;					
				}
			}
		}	
	}
		
	return;
}


/***************************************************************************		
	FUNCION PARA OBTENER NOMBRE DE CAPA
***************************************************************************/
function GetLayer(name) 
{
	var obj=DOM?document.getElementById(name).style:(MSIE?document.all[name].style:document[name]);
	return obj;
}


/***************************************************************************		
			FUNCION PARA CAMBIAR LA VISIBILIDAD DE UNA CAPA:
***************************************************************************/
		
function SetVisibility(capa,OnOff) 
 {
	
  var obj=GetLayer(capa);
  if (DOM || MSIE) obj.visibility=OnOff?'visible':'hidden';
  else obj.visibility=OnOff?'show':'hide';
 
}

/***************************************************************************		
    FUNCION QUE MUESTRA LA CONFIGURACIÓN DE IMPRESIÓN
****************************************************************************/		
function MostrarImpresoras()
{

var	OLECMDID_PAGESETUP = 8
var	OLECMDEXECOPT_PROMPTUSER = 1 


 WB.ExecWB (OLECMDID_PAGESETUP, OLECMDEXECOPT_PROMPTUSER);

 return false;
}  


/****************************************************************************************		
    FUNCION QUE IMPRIME EL CONTENIDO DEL NAVEGADOR POR LA IMPRESORA POR DEFECTO
*****************************************************************************************/		
function ImprimirOculto()
{

 var OLECMDID_PRINT = 6 ;
 var OLECMDEXECOPT_DONTPROMPTUSER = 2 ;
 var OLECMDEXECOPT_PROMPTUSER = 1; 

 WB.ExecWB (OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, OLECMDEXECOPT_PROMPTUSER);

 return false;
}  


/******************************************************************
	FUNCION QUE SIRVE PARA ABRIR UNA VENTANA SIN BARRA DE HERRAMIENTAS
	CON UN TAMAÑO PASADO POR PARAMETRO
*******************************************************************/
function window_open(url,w,h,t,l)
{/* url: direccion, w: width, h: height, t: top, l:left*/
			win= window.open(url,'Informe','status=yes,scrollbars=yes,top='+t+',left='+l+',height='+h+',width='+w);  
			win.window.focus();
			return win;
}
function window_open_resizable(url,w,h,t,l)
{/* url: direccion, w: width, h: height, t: top, l:left*/
			win= window.open(url,'Informe','status=yes,resizable=yes,scrollbars=yes,top='+t+',left='+l+',height='+h+',width='+w);  
			win.window.focus();
			return win;
}
function window_open_sinscroll(url,w,h,t,l)
{/* url: direccion, w: width, h: height, t: top, l:left*/
			win= window.open(url,'Informe','status=yes,scrollbars=no,top='+t+',left='+l+',height='+h+',width='+w);  
			win.window.focus();
			return win;
}

function window_open_connombre_sin(url,name,w,h,t,l)
{/* url: direccion, w: width, h: height, t: top, l:left*/
			win= window.open(url,name,'status=yes,scrollbars=no,top='+t+',left='+l+',height='+h+',width='+w);  
			win.window.focus();
			return win;
}

function window_open_connombre(url,name,w,h,t,l)
{/* url: direccion, w: width, h: height, t: top, l:left*/
			win= window.open(url,name,'status=yes,scrollbars=1,top='+t+',left='+l+',height='+h+',width='+w);  
			win.window.focus();
			return win;
}
/******************************************************************
	FUNCION QUE SIRVE PARA ADVERTIR DE QUE SEAN REALIZADO CAMBIOS 
	Y NO SE HAN ACTUALIZADO PARA DAR LA ELECCIÓN AL USUARIO 
	DE PERDERLOS O NO
*******************************************************************/


function Confirma_Cambios()
{
	if (modificado)
	{
		if (confirmModal("ArquiM"+ String.fromCharCode(225) + "laga","Existen datos sin actualizar. "+ String.fromCharCode(191) + "Desea continuar?"))
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	else
	{
		return true;
	}
			
}

/****************************************************************************************************************
			FUNCION QUE MUESTRA TODAS LAS PROPIEDADES Y EVENTOS DE UN OBJETO
****************************************************************************************************************/
		
		function MostrarPropiedadesObjeto(obj)
			{
				res='<font class=verdana>';
			    
				for (var temp in obj){
			    
					res+='<b>'+temp+'</b>';
					res+=':<i> ';
			       
					eval("res+=obj."+temp+";");
			       
					res+="</i><br>";
				}
			    
				res+='</font>';
				var win=window.open('','go','width=800,height=700,scrollbars=yes');
				win.document.write(res);

			 
			}

/****************************************************************************************************************
			FUNCION QUE REALIZA EL PRIMER FOCO DEL FORMULARIO DEPENDIENDO DE SU ESTADO
****************************************************************************************************************/
			
function Foco_Formularios_Tipo1()
{								
	window.Form1.txtFiltro.focus();

	//SI EXISTE UN CAMPO EN EDICIÓN SE LE PASA EL FOCO
	for (i=0; i<window.Form1.elements.length-1; i++)  
		{
							
			if ((window.Form1.elements[i].name.substring(0,14)== "DataGrid1:_ctl")  &&
				(window.Form1.elements[i].name.substring(window.Form1.elements[i].name.length-9,window.Form1.elements[i].name.length)== ":micodigo")) 
				{  
				window.Form1.elements[i].focus();
				}  
	
		
		}			
		
}

/*********************************************************************************************************************************
	FUNCIÓN QUE REDIRECCIONA A LA PÁGINA QUE SE LE ENVÍA SI NO HAY CAMBIOS PENDIENTES DE ACTUALIZAR EN EL FORMULARIO
**********************************************************************************************************************************/

function redireccionarMenu(url)
{
  if (Confirma_Cambios())
      location.href = url; 		

}


/*********************************************************************************************************************************
	FUNCIÓN QUE COMPLETA UNA CADENA CON CEROS A LA IZQUIERDA PARA ALCANZAR LA LONGITUD DESEADA
**********************************************************************************************************************************/

function Completa_Ceros_Izq(valor,tamano)
{
	var i;
	var numero_ceros=tamano-valor.length;
	var devolver;
	
	devolver=valor;
	for (i=1;i<=numero_ceros;i++)
	{
		devolver='0' + devolver
	}
	return devolver;
}

/*********************************************************************************************************************************
	FUNCIÓN QUE DEVUELVE UN NUMERO ALEATORIO ENTRE 0 Y MAXNUMBER
**********************************************************************************************************************************/
function Aleatorio(maxnumber) 
{
	
	var num = Math.round(maxnumber * Math.random());
	return num;
	
}

/*********************************************************************************************************************************
	FUNCIÓN PARA CODIFICAR LOS CARACTERES QUE SE ENVIAN POR QUERYSTRING
**********************************************************************************************************************************/

function URLEncode(url)
{
	// The Javascript escape and unescape functions do not correspond
	// with what browsers actually do...
	var SAFECHARS = "0123456789" +					// Numeric
					"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	// Alphabetic
					"abcdefghijklmnopqrstuvwxyz" +
					"-_.!~*'()";					// RFC2396 Mark characters
	var HEX = "0123456789ABCDEF";

	var plaintext = url;
	var encoded = "";
	for (var i = 0; i < plaintext.length; i++ ) {
		var ch = plaintext.charAt(i);
	    if (ch == " ") {
		    encoded += "+";				// x-www-urlencoded, rather than %20
		} else if (SAFECHARS.indexOf(ch) != -1) {
		    encoded += ch;
		} else {
		    var charCode = ch.charCodeAt(0);
			if (charCode > 255) {
			    alert( "Unicode Character '" 
                        + ch 
                        + "' cannot be encoded using standard URL encoding.\n" +
				          "(URL encoding only supports 8-bit characters.)\n" +
						  "A space (+) will be substituted." );
				encoded += "+";
			} else {
				encoded += "%";
				encoded += HEX.charAt((charCode >> 4) & 0xF);
				encoded += HEX.charAt(charCode & 0xF);
			}
		}
	} // for

	return encoded;
};


/*********************************************************************************************************************************
	FUNCIÓN PARA DECODIFICAR LOS CARACTERES QUE SE ENVIAN POR QUERYSTRING
**********************************************************************************************************************************/


function URLDecode(url)
{
   // Replace + with ' '
   // Replace %xx with equivalent character
   // Put [ERROR] in output if %xx is invalid.
   var HEXCHARS = "0123456789ABCDEFabcdef"; 
   var encoded = url;
   var plaintext = "";
   var i = 0;
   while (i < encoded.length) {
       var ch = encoded.charAt(i);
	   if (ch == "+") {
	       plaintext += " ";
		   i++;
	   } else if (ch == "%") {
			if (i < (encoded.length-2) 
					&& HEXCHARS.indexOf(encoded.charAt(i+1)) != -1 
					&& HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) {
				plaintext += unescape( encoded.substr(i,3) );
				i += 3;
			} else {
				alert( 'Bad escape combination near ...' + encoded.substr(i) );
				plaintext += "%[ERROR]";
				i++;
			}
		} else {
		   plaintext += ch;
		   i++;
		}
	} // while
   
   return plaintext;
};




function VisualizarSolicitarMasInformacion()
{
	
	//alert("VisualizarSolicitarMasInformacion");
	
	window.document.forms[0].VerSolicitarMasInformacion.value="S";
	
	window.document.forms[0].submit();
	
	
	}






