/**
 *  hmsutil JavaScript framework, version 1.0
 *  Copyright (c) 2006 Elvis Navarro Vega ( http://www.unipamplona.edu.co )
 *	@autor: Ing Elvis Navarro Vega
 *  @email: elvisnv@unipamplona.edu.co
 *	Grupo de Desarrollo Plataforma - Universidad de Pamplona.
 *	Pamplona (Norte de Santander). Colombia.
 *	Jueves 07 de Junio del 2007
 *	hmsfunctions.js
 *	@descripcion :	Comprende el manejo de funciones que son usadas en las paginas
 *					y que de alguna manera se usan en todos lados
 */
 
hms = window.hms || {} ;

/*--------------------------------------------------------------------------*/
/*
 * Manejo de funciones para el objeto hms.util
 */

hmsfunctions = hms.functions = new Object () ;
hms.functions.context	= '' ;
hms.functions.prevStyle = null ;	

/**
 * load genérica
 * @param url: página que va a ser cargada, seccion: id del div, 
 * @param frm: id del formulario en la página
 * @return void
 */
hms.functions.load = function ( url, seccion, frm ) {
	var oForm = null ;

	if ( frm ) oForm = $ ( frm ) ;
	else oForm = $ ( 'fGeneral' ) ;

	try {
		hms.util.convertTildes ( oForm ) ;
		var p = hms.util.setParameters ( oForm ) ;	
		var o = new hms.ajax ( url, $( seccion ), { parameters: p } ) ;
		o.request () ;
		o = null ;
		hms.util.reverseTildes ( oForm ) ;
	} catch ( e ) {
		alert ( 'Error hmsfunctions \n' + e.message ) ;
	} 	
} ;

/**
 * currentImg  
 * @param image : es un identificador el cual determina q imagen activar y cuales desactivar.
 * @return void
*/
hms.functions.currentImg = function ( image ){

	if( image == '1' ){
		$ ( 'img_1' ).className = 'BgPestaniasPaquete_' ;
		$ ( 'img_2' ).className = 'BgPestaniasPermiso' ;
		$ ( 'img_3' ).className = 'BgPestaniasArchivo' ;
		$ ( 'img_4' ).className = 'BgPestaniasAprobarPaque' ;
	}else if( image == '2' ){
		$ ( 'img_1' ).className = 'BgPestaniasPaquete' ;
		$ ( 'img_2' ).className = 'BgPestaniasPermiso_' ;
		$ ( 'img_3' ).className = 'BgPestaniasArchivo' ;
		$ ( 'img_4' ).className = 'BgPestaniasAprobarPaque' ;
	}else if( image == '3' ){
		$ ( 'img_1' ).className = 'BgPestaniasPaquete' ;
		$ ( 'img_2' ).className = 'BgPestaniasPermiso' ;
		$ ( 'img_3' ).className = 'BgPestaniasArchivo_' ;
		$ ( 'img_4' ).className = 'BgPestaniasAprobarPaque' ;		
	}
	else if( image == '4' ){
		$ ( 'img_1' ).className = 'BgPestaniasPaquete' ;
		$ ( 'img_2' ).className = 'BgPestaniasPermiso' ;
		$ ( 'img_3' ).className = 'BgPestaniasArchivo' ;
		$ ( 'img_4' ).className = 'BgPestaniasAprobarPaque_' ;
	}	
	
};

/**
 * Funcion q cambio el titulo de la Tabla
 * @retunr void
 */ 

hms.functions.setTitle = function ( code, section ) {
	this.load ( this.context + '/compartidas/page/title.jsp?p=' + code, section ) ;
} ;

/*
 * Funcion q limpia la seccion de dos o mas niveles 
 * @return void 
 */
hms.functions.clear = function ( region ) {
	if ( $( region ) )
		$( region ).innerHTML = ' ' ;
}

/*
 * Resalta una fila o le reasigna su estilo original.
 * @return void
 */
hms.functions.resaltar = function ( oFila ) {
	if ( oFila.className != 'fondo_celda_6' ) {
		this.prevStyle = oFila.className ;
		oFila.className = 'fondo_celda_6' ;
	} else {
		oFila.className = this.prevStyle ;
	}
}

/**
 * Ejecuta llamados a paginas que necesitan de validacion en el formulario y que requieren o no mensaje de confirmacion Ó
 * valida que se haya seleccionado (Option)/(Check) un registro de la lista
 * si la validacion necesita de una confirmacion se envia el mensaje, en caso contrario se puede omitir el mismo
 * @param url: página que va a ser cargada, seccion: id del div, 
 * @param frm: id del formulario en la página,
 * @param message: mensaje de confirmacion,
 * @param oname: id del objeto de una lista q se va a validar, si no es el caso de una lista se manda el parametro null
 * @param type: tipo de validacion (option / checkbox),  si no es uno de estos casos se manda el parametro null.
 * @return void
 */ 
hms.functions.request = function ( url, seccion, message, type, oname, frm  ) {
	var oForm = null ;

	if ( frm ) oForm = $ ( frm ) ;
	else{
		frm = 'fGeneral' ;
		oForm = $ ( frm ) ;
	}
	
	if ( type != null ) oForm.setAttribute ( 'hmsvalidate', "[ {type:'" + type + "', name:'" + oname + "'} , {type:'onlyform'} ]" );
	else oForm.removeAttribute ( 'hmsvalidate' ) ;
	
	if ( hmsvalidator.init ( frm ) != null ) 
		alert ( hmsvalidator.message ) ;
	else {
		var confirmacion = true ;
		if ( message ) 
			confirmacion = confirm ( message ) ;			
		
		if ( confirmacion ) {
			hms.util.convertTildes ( oForm ) ;
			var p = hms.util.setParameters ( oForm ) ;
			var o = new hms.ajax (  url, $(seccion), { parameters: p } ) ;
			o.request () ;
			o = null ;
			hms.util.reverseTildes ( oForm ) ;
		}	
	}
};



/**
 * 15-06-2007 @: Fabián Orlando Mogollón Pico 	&: Agregar metodo hms.functions.currentImg
 * 20-06-2007 @: Fabián Orlando Mogollón Pico   &: Agregar metodo hms.functions.fncRequest 
 * 02-08-2007 @: Fabián Orlando Mogollón Pico   &: Agregar metodo hms.functions.fncResaltar 
 */