/*--------------------------------------------------------------------------------------------------------------------*\
Funciones que contiene:

	CargarFoto(img,ruta)			=>	abrir pop-up centrado en funcion al tamaño de la foto(img) y abrir siempre solo uno
	CargarArch(img,ruta)			=>	abrir pop-up centrado y abrir siempre solo uno (para la zona privada)
	VerArch(img,ruta)				=>	abrir pop-up centrado y abrir siempre solo uno (para la web)

	fColorear(control)				=>	Para cambiar el estilo
	fLimpiar(control,antiguo)		=>	Para devolver el estilo antiguo
	fColorearMenu(control)			=>	Para cambiar el estilo del menu izquierda de la web
	fLimpiarMenu(control,antiguo)	=>	Para devolver el estilo antiguo del menu izquierda de la web

	fCambiarImagen(control,img1)	=>	Efector cambiar imagenes

	centrarTabla()					=>	Sirve para centrar una tabla en el centro de la página
	desHab(control)					=>	DesHab y Hab, se usan conjuntamente, cuando se hace uso de un input file
	Hab(control)					=>	DesHab y Hab, se usan conjuntamente, cuando se hace uso de un input file
	fVolverMenu()					=>	Para volver al menu
	fControlNumerico(e,obj)			=>	Funcion que solo permite insertar números y espacios
	TxtSearch_KeyPress()			=>	Permite darle al enter/intro y ejecutar funcion del boton continuar

	abrir(arch)						=>	Permite abrir un archivo, si el parametro que se le pasa, contiene informacion
	cerrar()						=>	Para "minimizar" la ventana que abre la funcion de abrir(arch)
	
	fGo(opc)						=>	Para ir a la opcion del metodo que corresponda
	
	fVolverFormAcc(opc)				=>	Para volver al listado si tiene la funcion FormularioAcceso
	fRegresar(opc)					=>	Para volver al menu
	
	fCerrarSesion()					=>	Para cerrar la sesion
	
	InStr(n, s1, s2)				=>	La misma que ASP, para saber si una cadena esta dentro de otra
	
	fEnlace(pagina,enlace)			=>	Enlace a otra pagina (caso marquee presentacion) con o sin ancla
	
	detectBrowser()					=>	Para detectar tipo de navegador

	encriptar(Text, Action)			=> Para encriptar(Action=1)/desencriptar(Action=2) una contraseña
\*--------------------------------------------------------------------------------------------------------------------*/

function CargarFoto(img,ruta){
	var unaImagen = new Image();
		unaImagen.src = ruta + "" + img;
	var ancho = unaImagen.width;
		ancho = "380";
	var alto = unaImagen.height;
		alto = "380";
	var derecha = (screen.width-ancho)/2;
	var arriba = (screen.height-alto)/2;
	var propiedades = "toolbar=0,titlebar=0,scrollbars=0,location=0,statusbar=0,menubar=0,center=yes,resizable=0,width="+ancho+",height="+alto+",left="+derecha+",top="+arriba+"";
	var ruta = "";
	//BLACK
	ruta = "documentos/";
	//CCB
	//ruta = "Berit/documentos/";

	//-> Antes de abrir el archivo, comprobar que existe en la ruta
	var co = RSExecute("buscar.asp","buscarArchivo",ruta,img);
	if( co.return_value == "OK" ){
		//OLD window.open("verImagen.asp?foto="+unaImagen.src,"ImagenCargada",propiedades);
		//BLACK
		window.open("verImagen.asp?foto=../documentos/"+img,"ImagenCargada",propiedades);
		//CCB
		//window.open("verImagen.asp?foto="+img,"ImagenCargada",propiedades);
	}else{
		alert("No existe el archivo que desea abrir.");
	}
}

function CargarArch(doc,ruta){
	var x = (screen.width-900)/2;
	var y = (screen.height-600)/2;
	var propiedades = "toolbar=0,titlebar=0,scrollbars=0,location=0,statusbar=0,menubar=0,center=yes,resizable=0,width=900,height=600,left="+x+",top="+y+"";
	var ruta = "";
	//BLACK
	ruta = "pdf/";
	//CCB
	//ruta = "Berit/pdf/";

	//-> Antes de abrir el archivo, comprobar que existe en la ruta
	var co = RSExecute("buscar.asp","buscarArchivo",ruta,doc);
	if( co.return_value == "OK" ){
		//-> OLD window.open("verArchivo.asp?archivo="+ruta+doc,"ArchivoCargado",propiedades);
		//BLACK
		window.open("verArchivo.asp?archivo=../"+ruta+doc,"ArchivoCargado",propiedades);
		//CCB
		//window.open("verArchivo.asp?archivo="+doc,"ArchivoCargado",propiedades);
	}else{
		alert("No existe el archivo que desea abrir.");
	}
}

function VerArch(doc,ruta){
	var x = (screen.width-900)/2;
	var y = (screen.height-600)/2;
	var propiedades = "toolbar=0,titlebar=0,scrollbars=0,location=0,statusbar=0,menubar=0,center=yes,resizable=0,width=900,height=600,left="+x+",top="+y+"";
	window.open("zona/verArchivoWeb.asp?archivo="+ruta+doc,"ArchivoCargado",propiedades);
}

function fLimpiar(control,antiguo){
	control.className = antiguo;
}

function fColorear(control){
	control.className = "listadoColor";
}

function fColorearMenuWeb(control){
	switch( control.className ){
		case "listadoPres", "" :
				control.className = "listadoPres";
			break;
		case "listadoClaro" :
				control.className = "listadoColor";
			break;
		case "listadoOscuro" :
				control.className = "listadoColor";
			break;
		case "listadoSinMarcar" :
				control.className = "listadoColor";
			break;
	}
}

function fColorearMenu(control){
	switch( control.className ){
		case "listadoPres", "" :
				control.className = "listadoPres";
			break;
		case "listadoClaro" :
				control.className = "listadoColor";
			break;
		case "listadoOscuro" :
				control.className = "listadoColor";
			break;
		case "listadoSinMarcar" :
				control.className = "listadoColor";
			break;
	}
}
function fLimpiarMenu(control,antiguo){
	if( control.className != "listadoPres" ){
		control.className = antiguo;
	}else{
		control.className = "listadoPres";
	}
}

function fCambiarImagen(control,img1){
	control.src = img1;
}

function centrarTabla(){
	document.getElementById("TabCentral").style.display = "";
	try{
		document.getElementById("TabCentral").style.setExpression('left','document.body.clientWidth/2 - TabCentral.offsetWidth/2');
		document.getElementById("TabCentral").style.setExpression('top','document.body.clientHeight/2 - TabCentral.offsetHeight/2');
	}catch(e){
		document.getElementById("TabCentral").style.left = document.body.clientWidth/2 - document.getElementById("TabCentral").offsetWidth/2;
		document.getElementById("TabCentral").style.top = document.body.clientHeight/2 - document.getElementById("TabCentral").offsetHeight/2;
	}
	document.recalc(true);
}

function desHab(control){
	var nombre = control.id.substr(2,control.id.length);
	if( control.value.length > 0){
		document.getElementById(nombre).disabled = true;
	}else{
		document.getElementById(nombre).disabled = false;
	}
}
function Hab(control){
	var nuevo = "t_" + control.id;
	if( control.value.length > 0 ){
		var x = control.value;
		var nombre1 = new Array;
		
		nombre1 = x.split("\\");
	
		document.getElementById(nuevo).value = nombre1[nombre1.length-1];
		document.getElementById(nuevo).disabled = true;
	}else{
		document.getElementById(nuevo).disabled = false;
	}
}

function fVolverMenu(){
	document.location.href = "B_01.asp";
}

function fDatosNum(e,obj){
	var tecla = getCodigoTecla(e);
	if( tecla == 8 || tecla == 127 || tecla == 32 || (tecla >= 48 && tecla <= 57) ){
		return true;
	}else{
		return false;
	}
}

function TxtSearch_KeyPress(e){
	var tecla = getCodigoTecla(e);
	if( tecla == 13 ){
		fVerificaUsuario();
	}
}

function cerrar(){}
function abrir(arch){
	if( arch.length > 0 ){
		window.focus();
	}else{
		alert("Archivo no encontrado.");
		window.close();
	}
}

function fGo(opc){
	if( opc != "" ){
		document.frm.c_n_Sub_Opcion.value = opc;
		document.frm.action = "metodos.asp";
	}else{
		document.frm.action = "metodo.asp";
	}
	document.frm.submit();
}

function fVolverFormAcc(opc){
	document.zmenu.action = "B_" + opc + ".asp";
	document.zmenu.submit();
}

function fRegresar(opc){
	//-> encoding necesario para los forms q tienen distinto enctype al de serie (los de subir archivos), xq sino toma el count del form lo toma como vacio
	document.frm.encoding = "application/x-www-form-urlencoded";
	document.frm.action = "B_" + opc + ".asp";
	document.frm.submit();
}

function fCerrarSesion(){
	document.frm.action = "acceso.asp";
	document.frm.submit();
}

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 fEnlace(pagina,enlace){
	if( pagina.length > 0 && enlace.length > 0 ){
		document.location.href = pagina + "#" + enlace;
	}else{
		if( pagina.length > 0 && enlace.length <= 0 ){
			document.location.href = pagina;
		}else{
			alert("Enlace no permitido");
		}
	}
}

function detectBrowser(){
	var ie = document.all != undefined;
	var opera = window.opera != undefined;

	if (opera) return "opera";
	if (ie) return "ie";
	if ((window)&&(window.netscape)&&(window.netscape.security)) {
		if (window.XML) {
			return "firefox";
		}
		else return "firefox";
	}
	return "ie";      // Si no sabemos que navegador es, devolvemos ie.
}

function encriptar(Text, Action){
	var UserKey = "CCBOSCOPWDHSJUANDIOS";
	var temp;
	var j = 0;
	var i = 0;
	var x = 0;
	var rtn = "";

	var UserKeyASCIIS = new Array();
    var TextASCIIS = new Array();

    var NumLetras = UserKey.length;
	var NumPass = Text.length;

	for(x = 0 ; x < NumLetras ; x++){
		UserKeyASCIIS[x] = UserKey.substr(x,1);
	}
	
	for(x = 0 ; x < NumPass ; x++){
		TextASCIIS[x] = Text.substr(x,1);
	}

	if( Action == 1 ){
		for( i = 0 ; i < NumPass ; i++){
			if( j > 0 ){
				if( (j+1) >= NumLetras ){
					j = 1;
				}else{
					j = j + 1;
				}
			}
			temp = TextASCIIS[i].charCodeAt(0) + UserKeyASCIIS[j].charCodeAt(0);
			if( temp > 255 ){
				temp = temp - 255;
			}
			rtn = rtn + String.fromCharCode(temp);
		}
	}else{
		if( Action == 2 ){
			for( i = 0 ; i < NumPass ; i++){
				if( j + 1 >= N ){
					j = 1;
				}else{
					j = j + 1;
				}
				temp = TextASCIIS[i].charCodeAt(0) + UserKeyASCIIS[j].charCodeAt(0);
				if( temp < 0 ){
				   temp = temp + 255;
				}
				rtn = rtn + String.fromCharCode(temp);
			}
		}
	}
    return rtn;
}
