/***************************************************************************/
// Archivo		    : Function.js
// Versión		    : 1.0
// Autor			: F.Belizan
// Fecha Creación	: 06/2004
// Descripción		: Funciones Genericas Heredables
// Historia	 	    : 06/2004 Creacion del Js
/**************************************************************************/

/*--------------------------------------------------------
//Funcion de Inicio de Flash de Proceso
--------------------------------------------------------*/
function InicioProceso()
{
	var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
	var fscObj = InternetExplorer ? procesando: document.procesando;
		fscObj.play();
}

/*--------------------------------------------------------
//Funcion de Fin de Flash de Proceso
--------------------------------------------------------*/
function FinProceso()
{
	var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
	var fscObj = InternetExplorer ? procesando: document.procesando;		
		fscObj.stop();
		fscObj.rewind();
}

/*--------------------------------------------------------
//Funcion de Apertura del DialogoModal
---------------------------------------------------------*/
function ModalDialog(sUrl, sAncho, sAlto)
{
	try {
		oSelection = new Object();
		var XMLDocumento = new ActiveXObject("MICROSOFT.XMLDOM");
		oSelection.vParam = " + ";
		Args = "dialogHeight: " + sAlto +  "px; dialogWidth: " + sAncho + "px; edge: Raised; center: Yes; help: No; resizable: No; status: No; titlebar: No";
		if(window.showModalDialog(sUrl, oSelection, Args))
		{
			LlenaCampos(sUrl,oSelection.vParam);
			if (document.getElementById("txtoculto").value == '')
			{
				XMLDocumento.loadXML('<DialogosModales></DialogosModales>');
				newNode = XMLDocumento.createNode(1, sUrl, '' );
				newNode.text = oSelection.vParam;
				XMLDocumento.documentElement.appendChild(newNode);
			}
			else
			{
				XMLDocumento.loadXML(document.getElementById("txtoculto").value);
				Node = XMLDocumento.documentElement.selectSingleNode('//' + sUrl);
				if (Node == null)
				{
					newNode = XMLDocumento.createNode(1, sUrl, '' );
					newNode.text = oSelection.vParam;
					XMLDocumento.documentElement.appendChild(newNode);
				}
				else
				{
					Node.text = oSelection.vParam;
				}
			}
			document.getElementById("txtoculto").value  = XMLDocumento.xml;
		}
	}
	catch (er)	
	{
		alert(er);
	}
}

/*------------------------------------------------------------
//Funcion de Cierre del Modal Dialog y Pasaje de Variables a
//Form principal por txtOculto
-------------------------------------------------------------*/
function Cerrar(bAceptar)
{
 var oSelection = window.dialogArguments;
     oSelection.vParam = document.all.txtOculto.value;
     window.returnValue = bAceptar;
	 window.close();
}

/*------------------------------------------------------------
//Funcion del StatusBar
-------------------------------------------------------------*/
function setStatus(strServer,strUsuario,strVal)
{
	if (strUsuario=="")
	{
		top.status = 'Srv: ' + strServer + '    ' + strVal;
	}
	else
	{
		top.status = 'Srv: ' + strServer + ' - Usr: ' + strUsuario + '  ' +  strVal;
	}
}

/*------------------------------------------------------------
//Funcion de Cierre de Ventana
------------------------------------------------------------*/
function CierraVentana()
{
	window.top.close();
}

/*----------------------------------------------------------
//Funcion de Devolucion Datos de Session
----------------------------------------------------------*/
function DatosSession()
{
	try {
		var cookies = document.cookie.split(';');
		var strAux='';
		var iVer = navigator.appVersion;
		var sName = navigator.appName;
		var sAgent = navigator.userAgent;

		var sVersionIE = iVer.split(";");
		var iVersionIE = parseFloat(sVersionIE[1].substr(5,sVersionIE[1].length));
	
		//for (var i=0; i<cookies.length; i++) {
			strAux += cookies[0] + '\n';
		//}

		var sDatos = "Su Navegador es : " + sName + "\r\n";
			sDatos += "Version : " + iVersionIE + "\r\n";
			sDatos += "User Agent : " + sAgent + "\r\n";
			sDatos += "Identificador de Session : " + strAux + "\r\n";
		
		var	frm = window.parent.frames('frmApp')
			frm.document.getElementById("sTextDiv").innerText = sDatos;
			frm.document.getElementById("divDatosSession").style.left = window.screenLeft + 140;
			frm.document.getElementById("divDatosSession").style.top = window.frameElement.offsetTop + 100 + window.frameElement.offsetParent.offsetTop
			frm.document.getElementById("divDatosSession").style.display="";		
	}
	catch (er) {
		var error = "Error: ";
		error += er.description
		window.alert(error);
	}
}

/*----------------------------------------------------------------------------------
//  Funcion que abre una ventana modal o no modal , centra el popup.
//  Parametros 
//	  url: El nombre de la pagina a mostrar         		   ancho:  medidas
//	  fullsize: Si se muestra en pantalla completa o no        alto:   medidas
//	  name: El nombre de la pagina							   toolbar: YES o NO define si se muestra el toolbar
//	  modal: Si es modal o no (YES, NO)
------------------------------------------------------------------------------------*/
function openPop(url,modal,fullsize,toolbar,name,ancho,alto) 
{
	try {
	
	var wEstilo = '';
	 
		xMove = (parseInt(window.screen.width) - ancho) /2 ;
		yMove = (parseInt(window.screen.height) - alto) /2 ;
		
		if (document.all) 
		{
			modal = modal.toUpperCase( );
			switch (modal)
			{
				case "YES":
					wEstilo +="fullscreen: " + fullsize;
					wEstilo +="; toolbar: " + toolbar;
					wEstilo +=";resizable: Yes;";
					wEstilo +="status: No;";
					wEstilo +="help: No;";
					wEstilo +="scrollbars: Yes;";
					wEstilo +="center: Yes;";
					wEstilo +="edge: Sunken;";
					wEstilo +="dialogWidth:" + ancho + "px";
					wEstilo +=";dialogHeight:" + alto + "px";

					splashWin2 = window.showModalDialog(url,name, wEstilo);
					break;
				case "NO":	
					wEstilo +="fullscreen=" + fullsize;
					wEstilo +=",toolbar=" + toolbar;
					wEstilo +=",location=0";
					wEstilo +=",directories=0";
					wEstilo +=",status=0";
					wEstilo +=",menubar=0";
					wEstilo +=",scrollbars=0";
					wEstilo +=",resizable=0";
					wEstilo +=",width=" + ancho ;
					wEstilo +=",height=" + alto;
					wEstilo +=",titlebar=no";
					
					splashWin2 = window.open(url, name, wEstilo);
					splashWin2.resizeTo( Math.ceil( ancho ) , Math.ceil( alto ) );
					splashWin2.moveTo  ( xMove, yMove );
					splashWin2.focus();
					break;
			}
		} 
		else 
		{
			var splashWin2 = window.open(url,name, "toolbar=1,location=0,directories=0,status=0,menubar=1,scrollbars=0,resizable=0,top=" + yMove + ",left=" + xMove + ",outerwidth=" + ancho + ",outerheight=" + alto);
		}		
	return splashWin2;
	}
	
	catch (er) {
		var error = "Error No se puede Abrir: ";
		error += er.description
		window.alert(error);
	
	}
}

/*-----------------------------------------------------------------
//Funcion que visualiza un DIV, con todos los datos
-----------------------------------------------------------------*/
function showDiv(NombreDiv)	{
	try {
		var div=document.getElementById(NombreDiv);
		div.style.left = window.screenLeft + 20;
		div.style.top = window.frameElement.offsetTop + 120 + window.frameElement.offsetParent.offsetTop
		div.style.display="";
	}	
	catch(er)
	{
		alert(er);
	}
}

/*----------------------------------------------------------------
//Oculta DIV con los datos y Cierra la ventana
-----------------------------------------------------------------*/
function goToCerrarPrincipal(NombreDiv)
{
	document.getElementById(NombreDiv).style.display = "none";
	window.parent.close();
}

/*----------------------------------------------------------------
//Oculta DIV con los datos
-----------------------------------------------------------------*/
function goToCerrarDiv(NombreDiv)
{
	document.getElementById(NombreDiv).style.display = "none";
}

/*----------------------------------------------------------------
//Funcion que Cambia el Titulo del Browser
-----------------------------------------------------------------*/
function CambiarTituloBrowser(sTitle)
{
	top.document.title='" + sTitle + "';
}


/*----------------------------------------------------------------
//Funcion que Ejecuta una pagina en un determinado frame
-----------------------------------------------------------------*/
function RunPageInFrame(sframe,sPage)
{
	try {
		window.parent.frames(sframe).location = sPage;
	}
	catch (er) {
		var error = "Error No se puede Abrir: ";
		error += er.description
		window.alert(error);
	}
}



/***************************************************************************/
// Autor		    : F.Belizan
// Fecha Creación	: 29/09/2004
// Descripción		: Funciones Genericas del Datagrid
// Versión		    : 1.0
/**************************************************************************/

//Funcion que sincroniza el movimiento lateral de las grillas
function DoScroll(nombreCabecera, nombreCapa)
{
	document.all(nombreCabecera).style.pixelLeft = document.all(nombreCapa).scrollLeft * -1;
}

/***************************************************************************/
// Autor		    : F.Belizan
// Fecha Creación	: 09/09/2004
// Descripción		: Funciones Genericas del TreeView
// Versión		    : 1.0
/**************************************************************************/


var archk = new Array();
		
//Le asigna el valor al check
function Nuevo(chk)
{
	this.nombre = chk.id;
	this.valor = chk.checked;
	this.datos = chk.value;
	return this;
}
			
//Busca un determinado check
function Buscar(chk) 
{
	var i;
	for(i=0;i<archk.length;i++) 
	{
		if (archk[i].nombre == chk.id)	
		{
			return archk[i];
		}
	}
	return null;
}

//Se fija si esta si es asi lo tilda, si no crea uno nuevo
function Checked(chk)
{
	var obj = Buscar(chk);	
			
	if (obj != null) {
		obj.valor = chk.checked;
	}
	else
	{	
		archk[archk.length] = new Nuevo(chk);
	}	
}

//Funcion que se fija si los check se encuentran tildados o destildados
function getCheckSTR(boolCheck)
{
	var str="",i;
		
	for(i=0;i<archk.length;i++) 
	{	
		if (archk[i].valor == boolCheck) 
		  str += archk[i].nombre + "," + archk[i].valor + ";";
	}
			
	return str;
}

//Funcion que se fija los check tildados
//guarda en el campo hidSeleccion los valores
//El valor de nombreCampoHidden es el nombre completo del campo hidden donde se guardaran los valores (ej: 'document.Form1.hiddenField')
function completarSeleccion(nombreCampoHidden) 
{

var str="",i;
			
for(i=0;i<archk.length;i++) 
{	
	if (archk[i].valor == true){
		if(str.length!=0){
			str+="|";
		}
			str += archk[i].datos;
	}			 
}
			
eval(nombreCampoHidden + ".value = ''");
eval(nombreCampoHidden + ".value = '" + str + "'");

return str;
}

/*--------------------------------------------------------*/
//Funcion que da foco a la pantalla ( evitar backaspace en pantallas Login )

function darFoco()
{
	window.focus();
}

/*---------------------------- MAIN ----------------------------------------*/
/*--------------------------------------------------------------------------
//Funcion que visualiza DIV, en caso de que este bloqueado el popup
---------------------------------------------------------------------------*/

var texto = "No Soportado";
var warningMessage;

function OnLoad_WelcomePage()
{
	if (!goToRequerimientosNegocioNET())	//Revisa los requerimientos de Negocio.NET
	{	
		//Carga el Login.aspx, si pasa todos los requerimientos de Negocio.NET
		Win1=window.open ("Login.aspx", "Telecom", "status=1,toolbar=no,menubar=no,resizable=no,height=525,left=0,top=0,width=790");
		closeMainWindow()
	}
	else {
		if (!DetectarBrowser())
			document.getElementById("TableNescape").style.display="";	//Si es Nestcape Muestro la tabla correspondiente (Se muestran tables por el DOM)
		else
			document.getElementById("TableIE").style.display="";		//Si es Internet Explorer Muestro la tabla correspondiente(Div, span, etc)
	}
}

//Funcion que chequea los requerimientos de Negocio.NET
function goToRequerimientosNegocioNET() 
{
	if (!DetectarBrowser())			//Detecta el Browser del Cliente
		return true;
	if (!DetectarVersionBrowser())	//Detecta Version del Browser del Cliente	
		return true;
	if (!DetectarResolucion())		//Detecta Resolucion del Cliente
		return true;
	if (!DetectarBloqueoPopup())	//Detecta el Bloqueo de popup
		return true;
	if (!DetectarPlugInPDF())		//Detecta si tiene el acrobat reader instalado
		return true;	
	return false;
}

//Funcion que detecta si tiene el acrobat reader instalado
function DetectarPlugInPDF() 
{   
	document.all [
				document.all.PDFNotKnown ? "IfNoAcrobat" : "IfAcrobat"
					] .style.display = "";
	if (document.getElementById("IfNoAcrobat").style.display == "none")
		return true;
	else
		return false;
}

//Funcion que Chequea si el IE acepta popup
function DetectarBloqueoPopup() 
{
	if ( tP == 0 )				//Si TP es igual a 0 esta InHabilitado el uso de popup...
	{
		warningMessage = "Popup Deshabilitado";
		document.getElementById("divBlocked").innerText = warningMessage
		document.getElementById("spanAyudaPopup").style.display="";
		document.getElementById("pdfPopup").style.display="";
		return false;
	}
	return true;
}

/*-------------------------------------------------------------------------------------
//  Con este sencillo script, obtenemos la resolución de pantalla, de nuestro visitante
//  con estos datos, se pueden hacer cosas interesantes, como por ejemplo redireccionarlos
//  a otra página que soporte la misma. En el caso de que no se adecue a la actual.
//  Por Ej: Si el usuario posee una resolución de 640x480 y nuestro sitio está diseñado
//  para ser visualizado correctamente con una resolución mínima de 800x600, podemos 
//  redireccionarlo a alguna página alternativa que soporte dicha resolución. 
---------------------------------------------------------------------------------------*/

function DetectarResolucion() {
		if ((screen.width < 800) || (screen.height < 600)) 
		{
			document.getElementById("divResolucion").innerText = "La resolucion requerida es 800x600 o superior";
			document.getElementById("spanAyudaResolucion").style.display="";
			document.getElementById("pdfResolucion").style.display="";
			return false;
		}
	return true;
}

/*-------------------------------------------------------------------------*/
//Funcion que detecta el browser del cliente
/*-------------------------------------------------------------------------*/
function DetectarBrowser()
{
	var n = window.navigator.appName
	var version = parseInt(window.navigator.appVersion)
	var plataforma = window.navigator.platform
	var ns=(n=="Netscape")
	var ie=(n=="Microsoft Internet Explorer")
	if (ns) 
	{
		document.getElementById("divBrowser").innerText = "Version de Browser " & version;
		return false;
	}
	else if (ie)
	{
		return true;	
	}
}

/*-------------------------------------------------------------------------*/
//Funcion que detecta la version del browser
/*-------------------------------------------------------------------------*/
function DetectarVersionBrowser() 
{
	var n = window.navigator.appName;
	var sVersion = window.navigator.appVersion;
	var sPlataforma = window.navigator.platform;
	var ns=(n=="Netscape");
	var ie=(n=="Microsoft Internet Explorer");
	
	var sVersionIE = sVersion.split(";");
	var iVersionIE = parseFloat(sVersionIE[1].substr(5,sVersionIE[1].length));
	
	if (iVersionIE >= 5.5)
	{
		return true;
	}
	else
	{
		document.getElementById("divBrowser").innerText = "Requiere Internet Explorer 5.5 o superior";
		return false;
	}
}
	
//Cierra Ventana sin preguntar si desea Cerrar la Ventana
function closeMainWindow(){
	window.opener=''
	window.close()
}

/*---------------------------- END MAIN ----------------------------------------*/
