
/* ##### Funcion generica de Rollovers ############*/
function rollOver(cual,porcual)
{
	document.images[cual].src = porcual   ;

}


/*Funciones Menu Navegacion Horizontal --------------- */
horizontalNavigationLayers = new Array();

function showHideLayers(layerId,foo,stat)
{
	for (i=0;i<horizontalNavigationLayers.length;i++)
	{
		document.getElementById(horizontalNavigationLayers[i]).style.visibility='hidden';
	}
	if ('show' == stat.toLowerCase() )
	{
		document.getElementById(layerId).style.visibility='visible';
	}
}

//-------------------------------------------------------------------------------------
// devuelve true si el string especificado contiene algun caracter considerado invalido
function hasInvalidChar(str)
{
	retValue=false;
	if('' != str)
	{
		bannedChars = '()<>"\'{}\\#' ;
		for(i=0;i<bannedChars.length;i++)
		{
			if( str.indexOf( bannedChars.charAt(i)) != -1 )
			{
				retValue=true;
				break ;
			}
		}
	}
	return retValue;
}
/*  Funcion gen?rica que reemplaza el 
caracter especificado dentro de un String  */
function replaceChar(input,cual,porcual)
{
    if (input.indexOf(cual)==-1)
    {
    	// si no existe el caracter especificado dentro                                                                                                                                                        
    	// del string, devuelve el string original
     	return input ; 
    }            
    else 
    {
      	output = input.replace(cual,porcual);
       	while (output.indexOf(cual)!= -1)
       	{
             output = output.replace(cual,porcual);
        }
   		return output ;
   	}
}

// funcion: renderFlashBanner
// descripcion: corre una pelicula flash. Al ser referenciado de forma externa,
// flashVarsValue: Es un string con los valores de los parámetros que se le pasan al flash
//idSWF: id para el objeto por si hay varios en la misma pantalla
// evita la activacion del iExplorer.
function renderFlashWithParameters(archivoSWF, anchoSWF, altoSWF, flashVarsValue, idSWF, scaleAllowed ) {
	
	isFireFox = ((navigator.userAgent).indexOf("MSIE") < 0);
	idFF = idSWF;
	idIE = idSWF;
	if(isFireFox){
		idIE+="IE";
	}else{
		idFF+="FF";
	}
	
	var scale = "noScale";
	
	if(scaleAllowed){
		scale = "exactfit";
	}
	document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="https://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" ');
	document.write('width=' +anchoSWF+' height='+altoSWF+' id='+idIE+' scale="'+ scale +'" align="middle" salign="TL" >');
	document.write('<param name=FlashVars value='+flashVarsValue+' />'); 
	document.write('<param name=salign value="TL">');
	document.write('<param name=scale value='+ scale +'>');
	document.write('<param name="allowScriptAccess" value="sameDomain"/> ');
	document.write('<param name="movie" value='+archivoSWF +' /><param name="quality"  value="high" /> ');
	document.write('<EMBED TYPE="application/x-shockwave-flash" ')
	document.write('PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer" ');
	document.write(' id="' + idFF + '" ' );
	document.write(' allowScriptAccess="sameDomain" ');
	document.write(' scale="'+scale+'"  quality="high"  salign="TL"');
	document.write('src='+archivoSWF +' width='+anchoSWF+' height='+altoSWF+' FlashVars='+flashVarsValue+' ></EMBED>');
	document.write('</object>');

}




/* ---------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/*-------------------------- Funciones Auxiliares --------------------------*/
/*--------------------------------------------------------------------------*/
function esFecha(fecha, mascara){
		/*
		Formatos posibles:
		
		dd/mm/yyyy
		mm/dd/yyyy
		dd-mm-yyyy
		mm-dd-yyyy
		yyyy-mm-dd
		yyyy-dd-mm
		
		*/
		var lsFirstDay = mascara.indexOf('d')
		var lsLastDay = mascara.lastIndexOf('d')
		var lsFirstMonth = mascara.indexOf('m')
		var lsLastMonth = mascara.lastIndexOf('m')
		
		if(mascara.indexOf('a') > 0){
			var lsFirstYear = mascara.indexOf('a')
			var lsLastYear = mascara.lastIndexOf('a')
		} else {
			var lsFirstYear = mascara.indexOf('y')
			var lsLastYear = mascara.lastIndexOf('y')
		}

		if (estaVacio(fecha)) 
			return true;
        
		if(!fecha.search(/^\d\d\/\d\d\/\d\d\d\d$/) == 0 && !fecha.search(/^\d\d\d\d\d\d\d\d$/) == 0 && !fecha.search(/^\d\d\-\d\d\-\d\d\d\d$/) == 0){ 
                return false; 
        } 
		
        dia=fecha.substring(lsFirstDay,(lsLastDay+1)); 
        mes=fecha.substring(lsFirstMonth,(lsLastMonth+1)); 
        anio=fecha.substring(lsFirstYear,(lsLastYear+1)); 
        //dias de febrero 
        if (Math.round(anio/400) == anio/400) feb=29 
        else 
                if (Math.round(anio/100) == anio/100) 
                        feb=28; 
                else 
                        if (Math.round(anio/4) == anio/4) 
                          feb=29; 
                        else 
                          feb=28; 
                
        dias = new Array(31,feb,31,30,31,30,31,31,30,31,30,31); 
        if(mes>12){ 
                return false 
        } 
        if(anio<1900){ 
                return false 
        } 
        if(dia>dias[mes-1] || dia<0){ 
                return false 
        } 
        return true 
} 

function estaVacio(psValor){
	psValor=psValor.replace(/ +/g," ");
	psValor=psValor.replace(/^ /,"");
	psValor=psValor.replace(/ $/,"");
	return (psValor=="");
}

function esEntero(psValor){
	return (Math.round(psValor) == psValor);
}

function esNumero(psValor){
	return (!isNaN(psValor.toString().replace(/\$|\,/g,'')));
}

//Valida una direccion de email
function isEmail(mail){
	return(mail.search(/^(\w+-?\w+\.?\w+)+@\w+-?\w+\.\w+(\.\w+)*$/)==0);
	//return(mail.search(/^[\w&]+(\.?[\w&]+)*@\w+\.\w+(\.\w+)*$/)==0)
}

function replace(string,text,by) {
//Reemplaza un caracter por otro en una cadena
    var strLength = string.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return string;

    var i = string.indexOf(text);
    if ((!i) && (text != string.substring(0,txtLength))) return string;
    if (i == -1) return string;

    var newstr = string.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(string.substring(i+txtLength,strLength),text,by);

    return newstr;
}

function y2k(number) { return (number < 1000) ? number + 1900 : number; }

function daysElapsed(date1,date2) {
    var difference =
        Date.UTC(y2k(date1.getYear()),date1.getMonth(),date1.getDate(),0,0,0)
      - Date.UTC(y2k(date2.getYear()),date2.getMonth(),date2.getDate(),0,0,0);
    return difference/1000/60/60/24;
}

function convertDate(vFecha, mascara){

	var fecha = vFecha;
	
	var lsFirstDay = mascara.indexOf('d')
	var lsLastDay = mascara.lastIndexOf('d')
	var lsFirstMonth = mascara.indexOf('m')
	var lsLastMonth = mascara.lastIndexOf('m')
		
	if(mascara.indexOf('a') > 0){
		var lsFirstYear = mascara.indexOf('a')
		var lsLastYear = mascara.lastIndexOf('a')
	} else {
		var lsFirstYear = mascara.indexOf('y')
		var lsLastYear = mascara.lastIndexOf('y')
	}

	Dia=fecha.substring(lsFirstDay,(lsLastDay+1));
    Mes=fecha.substring(lsFirstMonth,(lsLastMonth+1));
    Anio=fecha.substring(lsFirstYear,(lsLastYear+1));

	return new Date(Anio,Mes,Dia);
}

/* trim --------------------------------------- */
function trim(str)
{
	while (str.substring(0, 1) == " "
			|| str.substring(0, 1) == "\n"
			|| str.substring(0, 1) == "\r")
	{
		str = str.substring(1, str.length);
	}

	while (str.substring(str.length - 1, str.length) == " "
			|| str.substring(str.length - 1, str.length) == "\n"
			|| str.substring(str.length - 1, str.length) == "\r")
	{
		str = str.substring(0, str.length - 1);
	}

	return str;
}

// -------------------------------------------------------------------------------------
// funcion: HaveExp
// descripcion: determina si hay una E(exponencial)
// -------------------------------------------------------------------------------------
function HaveExp (pValue){
	if (pValue.value.indexOf('e') != -1 ){
		return true;
	}else if(pValue.value.indexOf('E') != -1 ){
		return true;
	}
	return false;
}

// -------------------------------------------------------------------------------------
// funcion: renderFlashBanner
// descripcion: corre una pelicula flash. Al ser referenciado de forma externa,
// evita la activacion del iExplorer.
function renderFlashBanner(archivoSWF, anchoSWF, altoSWF) {
	document.write('<EMBED TYPE="application/x-shockwave-flash"\n')
	document.write('PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"\n')
	document.write('wmode="transparent" quality="high" bgcolor="#FFFFFF"\n');
	document.write('src='+archivoSWF +' width='+anchoSWF+' height='+altoSWF+'>\n</EMBED>');
}

// funcion: changeBannerSize
// descripcion: cambia el alto del Banner
function changeBannerSize(banner, tamano) {
	banner.style.height = tamano + 'px';
}

// funcion: changeClipView
// descripcion: cambia el tamanhio del div donde se ubica el Banner
function changeClipView(banner, paramTop, paramRight, paramBottom, paramLeft) {
	banner.style.clip='rect('+ paramTop +' '+ paramRight +' '+ paramBottom +' '+ paramLeft +')';
}
/*--------------------------------------------------------------------------*/
/*------------------------- Fin Funciones Auxiliares -----------------------*/
/*--------------------------------------------------------------------------*/
/** Funciones generales BUSCADOR **/
    function searchPortlet_validateQuotes(criteria) {
        quotesAreValid = true;

        if (criteria.length != 0) {
            criteriaSplit = criteria.split('"');

            if (criteriaSplit.length > 0 && (criteriaSplit.length % 2) == 0) {
               quotesAreValid = false;
            } 
        }

        return quotesAreValid;
    }
/** Fin funciones buscador **/