function extraerExtensionDeArchivo (nombreArchivo) {
	return nombreArchivo.substring(nombreArchivo.lastIndexOf('.')+1,nombreArchivo.length)
}
function extraerNombreDeArchivo (nombreArchivo) {
	return nombreArchivo.substring(nombreArchivo.lastIndexOf('/')+1,nombreArchivo.length)
}
function faqCambiarCat () {
	selObj=document.getElementById('combo_faq')
	if(!selObj.value)return
	self.self.location = '?sec='+selObj.value;
}
function addEvent(elm, evType, fn, useCapture){
	// PARA CREAR EVENTOS ONLOAD... Usado por tokenizer y sus amigos
	if (elm.addEventListener){
		elm.addEventListener(evType, fn, useCapture);
		return true;
	} else if (elm.attachEvent){
		var r = elm.attachEvent("on"+evType, fn);
		return r;
	} else {
		alert("Please upgrade your browser to use full functionality on this page");
	}
}
function revisarLink(strLink){
	strLink = strLink.replace(/^\s*|\s*$/g,"")
	if(strLink=='http://')strLink=''
	return(strLink)
}
function seleccionarFila(fe, OnOff) {
	var row_on_color = '#F4B093';
	var row_off_color = '';
	var parent = fe.parentNode;
	if (OnOff == 'on') {
		row_color = row_on_color;
	} 
	else {
		row_color = row_off_color;
	}
	fe.style.background = row_color;
}	
// SECCIONES IDEO SITE - Sitio con secciones administrables
/*	Entender las secciones:
		En PHP está el objeto $arr_ideofolio_categorias_arbol (ver ideofolio_categorias_menu.php)
		En JS está arrSeccionesIdeoSite['id_'+id_cont]
			.id_cont 
			.nombre 
			.parent 
			.nivel
			.innerHtmlMenuDesplegable // Si es menú de primer nivel
*/
var arrSeccionesIdeoSite = new Array() 
function seccionIdeoSite (id_cont,parent,nombre,nivel,tieneHijos,redireccionar) {
	// CREA LOS MENUS
	this.id_cont = id_cont
	this.parent = parent
	this.nombre = nombre
	this.nivel = nivel
	if(parent==0 ){
		this.innerHtmlMenuDesplegable = '<div  style=" position:absolute; width:15px; height:0px; left: 641px; top: 105px; overflow: visible; z-index: 1; visibility: hidden;">'
				  +'<div lock=0 id="menu_'+id_cont+'" class="menu_desplegable" papa=0 hija=0 style=" height:1px; overflow: hidden;">'
					+'<ul id="tabla_desplegable" >'
						+'<tmp>'
					  +'</ul>'
				  +'</div>'
			+'</div>';
	}else {
		if (tieneHijos) {
			this.innerHtmlMenuDesplegable = '<div  style=" position:absolute; width:15px; height:0px; left: 641px; top: 105px; overflow: visible; z-index: 1; visibility: hidden;">'
					  +'<div lock=0 id="menu_'+id_cont+'" class="menu_desplegable" papa='+parent+' hija=0 style="height:1px; overflow: hidden;">'
						+'<ul id="tabla_desplegable" >'
							+'<tmp>'
						  +'</ul>'
					  +'</div>'
				+'</div>';
		}
		tmpTarget = ''
		if (redireccionar) {
			tmpHref = redireccionar 
			if(redireccionar.indexOf('http:')!=-1) tmpTarget = ' target="blank" '	
		}else {
			tmpHref = "?sec="+id_cont
		}
		var tmpStr = arrSeccionesIdeoSite['id_'+parent].innerHtmlMenuDesplegable
		var tmpOnMouseOver = tieneHijos ? 'menutopsubmenu(\'menu_'+id_cont+'\',this.parentNode.id,135,0,this.parentNode.parentNode.parentNode.id);' : ''
		// Recortar el nombre si es muy largo
		if(nombre.length>paramjs_menutop_maxWidth){
			var tmpNombre = nombre.substring(0,paramjs_menutop_maxWidth) 
			tmpNombre = tmpNombre.replace(/^\s*|\s*$/g,"");
			tmpNombre = tmpNombre.replace(/^\.*|\.*$/g,"");
			tmpNombre += '...'
			var tmpTitle = 'title="'+nombre+'"'
		}else{
			var tmpNombre = nombre		
			var tmpTitle = ''
		}
		var tmpNewStr = '<li id="mtli_'+id_cont+'"><a '+tmpTitle+tmpTarget+' onMouseOut="encima=0;" onMouseOver="encima=1;'+tmpOnMouseOver+'" href="'+tmpHref+'" >'+tmpNombre+'</a></li>'+'<tmp>'
		arrSeccionesIdeoSite['id_'+parent].innerHtmlMenuDesplegable = tmpStr.replace('<tmp>',tmpNewStr)
	}
}
function crearMenusDesplegablesIdeoSite () {
	// Se corre onLoad, basado en el script onLoad_iniciarSeccionesIdeoSite(), que inserta index.php en el HTML con todos los arrays de las secciones
	var tmpStr = ''
	for (var item in arrSeccionesIdeoSite){
		if (arrSeccionesIdeoSite[item].innerHtmlMenuDesplegable) {
			tmpStr += arrSeccionesIdeoSite[item].innerHtmlMenuDesplegable
		} 
	}
	document.getElementById('menusDesplegablesVanAqui').innerHTML = tmpStr
	yaCreoLasSeccionesIdeoSite=true
}

// TAN PRONTO CARGA ESTE JS, creamos los menús
//onLoad_iniciarSeccionesIdeoSite()

// PARA MOSTRAR U OCULTAR DIVS
var sendToTop = 500
var showDivAbsolute=false
function hideDivId(id) {
	if (document.getElementById(id)) {
		hideDiv(document.getElementById(id))
		return true
	}
	return false
}
function hideDiv(d) {
	if (!d) return false;
	if(d.getAttribute('esContent')){
		dvCont = document.getElementById('content')
		d.setAttribute('lastScrollTop', dvCont.scrollTop)
		dvCont.style.top = dvCont.getAttribute('originalTop')
	}
	d.style.position = 'absolute';
	d.style.visibility = 'hidden';
	d.style.overflow = 'hidden';	
	d.style.height= 1;
}
function showDivId(id) {
	if (document.getElementById(id)) {
		showDiv(document.getElementById(id))
		return true
	}
	return false
}
function showDiv(d) {
	if (!d) return false;
	if(!showDivAbsolute) d.style.position = 'relative';
	d.style.visibility = 'visible';
	d.style.overflow = 'visible';	
	d.style.height = 'auto';	
	// Si showDivTrasError es que active el DIV tras divErr
	d.style.zIndex = sendToTop++
	if(d.getAttribute('esContent'))	document.getElementById('content').scrollTop= d.getAttribute('lastScrollTop') 
	showDivAbsolute=false
}

function getElementPosition(elem, idObjetoRelativoA, sentido){
	// Si quiero obtener posicion general en la pag,  idObjetoRelativoA= document.id
	// idObjetoRelativoA  id del objeto con relación al cual se espera la medida
	// sentido = left, top, bottom, right
	Pos = sentido== 'top' ? elem.offsetTop : sentido== 'right' ? elem.offsetRight : sentido== 'bottom' ? elem.offsetBottom : elem.offsetLeft
	tempEl = elem.offsetParent;
	while (tempEl != null) {
		if (tempEl.id==idObjetoRelativoA){
			tempEl = null;
		}else{
			Pos += sentido== 'top' ? tempEl.offsetTop : sentido== 'right' ? tempEl.offsetRight : sentido== 'bottom' ? tempEl.offsetBottom : tempEl.offsetLeft
			tempEl = tempEl.offsetParent;
		}
	}
	return Pos
}
function getDocHeight() {
	// Devuelve altura del documento como tal...
	var D = document;
	return Math.max(
		Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
		Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
		Math.max(D.body.clientHeight, D.documentElement.clientHeight)
	);
}

function mTfechaInicioCalendario(){
	idt=''
	calendarioReturnFunction='mTfechaInicio'; 
	node = calendarioCrear()
	var contenedor = document.getElementById('mTlinkCambFechaIni'+idt)
	contenedor.appendChild(node)
	calendario(document.getElementById('mTe_ano'+idt).value, document.getElementById('mTe_mes'+idt).value , document.getElementById('mTe_dia'+idt).value)
	// Posición
	nodeAmigo = document.getElementById('mTlinkCambFechaIni'+idt)
	node.style.top = getElementPosition(nodeAmigo, 'content', 'top')
	node.style.left = getElementPosition(nodeAmigo, 'content', 'left')
	showDivAbsolute = true
	showDiv(node)
	return false;
}
function mTfechaInicio(ano,mes,dia){
	idt=''
	document.getElementById('mTstrFechaIni'+idt).firstChild.nodeValue = arr_l_meses[mes]+" "+dia+' '+ano
	document.getElementById('mTe_ano'+idt).value = ano
	document.getElementById('mTe_mes'+idt).value = mes
	document.getElementById('mTe_dia'+idt).value = dia
}
function mTresetFecha(){
	// Fechas
	d=new Date()
	document.getElementById('mTstrFechaIni').firstChild.nodeValue = arr_l_meses[d.getMonth()+1]+' '+d.getDate()+' '+d.getFullYear()	
	document.getElementById('mTe_ano').value = d.getFullYear()
	document.getElementById('mTe_mes').value = d.getMonth()+1
	document.getElementById('mTe_dia').value = d.getDate()
}
function onLoad_config_interfazSubirImagenes () {
	tmpObj = document.getElementById('insertarAutomaticamente')
	tmpObj.checked= getCookie('insertarAutomaticamente')=='false' ? false : true
	tmpObj = document.getElementById('cerrarAlSubir')
	tmpObj.checked= getCookie('cerrarAlSubir')=='false' ? false : true
	document.getElementById('check_permitirSizeOriginal').checked = false	
}
function cambiar_insertarAutomaticamente(){
	tmpObj = document.getElementById('insertarAutomaticamente')
	setCookie('insertarAutomaticamente', tmpObj.checked)	
}
function cambiar_cerrarAlSubir() {
	tmpObj = document.getElementById('cerrarAlSubir')
	setCookie('cerrarAlSubir', tmpObj.checked)	
}
function setCookie(name, value, expires, path, domain, secure){
	    document.cookie= name + "=" + escape(value) +
		((expires) ? "; expires=" + expires.toGMTString() : "") +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		((secure) ? "; secure" : "");
}

/**
 * Gets the value of the specified cookie.
 *
 * name  Name of the desired cookie.
 *
 * Returns a string containing value of specified cookie,
 *   or null if cookie does not exist.
 */
function getCookie(name){
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1)
	{
	begin = dc.indexOf(prefix);
	if (begin != 0) return null;
	}
	else
	{
	begin += 2;
	}
	var end = document.cookie.indexOf(";", begin);
	if (end == -1)
	{
	end = dc.length;
	}
	return unescape(dc.substring(begin + prefix.length, end));
}

/**
 * Deletes the specified cookie.
 *
 * name      name of the cookie
 * [path]    path of the cookie (must be same as path used to create cookie)
 * [domain]  domain of the cookie (must be same as domain used to create cookie)
 */
function deleteCookie(name, path, domain)
{
	if (getCookie(name))
	{
	document.cookie = name + "=" + 
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		"; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}
}


