// Javascript para el Website de la Fundacion Alcoy Puente de Culturas
// © Fundacion Alcoy Puente de Culturas, © Agrupación Empresarial Textil Alcoyana 2006-2008

//
// Variables Globales
//
var ie = false;
var safari = false;
var firefox = false;

//
// Funciones Globales
//

// Detectar navegador
if(navigator.appName=='Microsoft Internet Explorer') ie=true;
if(navigator.userAgent.indexOf("Safari") > -1) safari=true;
if(navigator.userAgent.indexOf("Firefox") > -1) firefox=true;

// Version
if(ie)
{
	var arVersion = navigator.appVersion.split("MSIE");
	version = parseFloat(arVersion[1]);
}

// Funciones de posicionamiento del menú desplegable
function getAnchorPosition(anchorname){var useWindow=false;var coordinates=new Object();var x=0,y=0;var use_gebi=false, use_css=false, use_layers=false;if(document.getElementById){use_gebi=true;}else if(document.all){use_css=true;}else if(document.layers){use_layers=true;}if(use_gebi && document.all){x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);}else if(use_gebi){var o=document.getElementById(anchorname);x=AnchorPosition_getPageOffsetLeft(o);y=AnchorPosition_getPageOffsetTop(o);}else if(use_css){x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);}else if(use_layers){var found=0;for(var i=0;i<document.anchors.length;i++){if(document.anchors[i].name==anchorname){found=1;break;}}if(found==0){coordinates.x=0;coordinates.y=0;return coordinates;}x=document.anchors[i].x;y=document.anchors[i].y;}else{coordinates.x=0;coordinates.y=0;return coordinates;}coordinates.x=x;coordinates.y=y;return coordinates;}
function getAnchorWindowPosition(anchorname){var coordinates=getAnchorPosition(anchorname);var x=0;var y=0;if(document.getElementById){if(isNaN(window.screenX)){x=coordinates.x-document.body.scrollLeft+window.screenLeft;y=coordinates.y-document.body.scrollTop+window.screenTop;}else{x=coordinates.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;y=coordinates.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset;}}else if(document.all){x=coordinates.x-document.body.scrollLeft+window.screenLeft;y=coordinates.y-document.body.scrollTop+window.screenTop;}else if(document.layers){x=coordinates.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;y=coordinates.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset;}coordinates.x=x;coordinates.y=y;return coordinates;}
function AnchorPosition_getPageOffsetLeft(el){var ol=el.offsetLeft;while((el=el.offsetParent) != null){ol += el.offsetLeft;}return ol;}
function AnchorPosition_getWindowOffsetLeft(el){return AnchorPosition_getPageOffsetLeft(el)-document.body.scrollLeft;}
function AnchorPosition_getPageOffsetTop(el){var ot=el.offsetTop;while((el=el.offsetParent) != null){ot += el.offsetTop;}return ot;}
function AnchorPosition_getWindowOffsetTop(el){return AnchorPosition_getPageOffsetTop(el)-document.body.scrollTop;}

// Obtener el tamaño vertical del canvas del navegador
function getViewPortHeight()
{
	// Mozilla, Opera, y Safari
	if(window.innerHeight)
	 return window.innerHeight;
	 	
	// Modos estándar de IE, pero no en ningún otro modo
	if(window.document.documentElement.clientHeight)
	 return document.documentElement.clientHeight;
	
	// Viejas versiones de IE, y IE para Mac.
	return window.document.body.clientHeight;
}

// Obtener el tamaño horizontal del canvas del navegador
function getViewPortWidth()
{
	// Mozilla, Opera, Safari
	if(window.innerWidth)
	 return window.innerWidth;
	 
	// Modos estándar de IE, pero no en ningún otro modo
	if(window.document.documentElement.clientWidth)
	 return document.documentElement.clientWidth;

	// Viejas versiones de IE, y IE para Mac.
	return window.document.body.clientWidth;	 
}

// ASP.NET Botón por Defecto al pulsar ENTER
function ClickButton(e, buttonid)
{ 
	var bt = document.getElementById(buttonid); 
	if (typeof bt == 'object')
	{ 
		if(navigator.appName.indexOf("Netscape")>(-1))
		{ 
			if (e.keyCode == 13){ 
				bt.click(); 
				return false; 
			} 
		} 
		if (navigator.appName.indexOf("Microsoft Internet Explorer")>(-1))
		{ 
			if (event.keyCode == 13){ 
				bt.click(); 
				return false; 
			} 
		} 
	} 
} 

//
// Funciones Estándar para el Website
//


// Ir al TOP de la página actual
function irArriba()
{
	scroll(0,0);
}

// Ir a una URL
function goToUrl(url)
{
	location.href=url;
}

// Ir a la página anterior
function PaginaAnterior()
{
	window.history.back();
}

// Imprimir Página
function ImprimirPagina()
{
    window.print();
}

// Mostrar y ocultar capa
function ShowHide(objetoid)
{
	var o = document.getElementById(objetoid)
	
	switch (o.style.display)
	{
		case 'none':
			o.style.display = 'block';
			break;
		case 'block':
			o.style.display = 'none';
			break;
	}
}

//
// Variables y Funciones de Menú Principal
//

// Posiciones del Menú Principal
var posTopMenu = 40;
var posSombra = 3;

// Mostrar Menu
function showMenu(menuLayerName, menuBtnName)
{
	setMenuComun(menuLayerName, menuBtnName);
	
	if(ie)
		setMenuIE(menuLayerName, menuBtnName);
	else
		setMenuMozilla(menuLayerName, menuBtnName);
}

function setMenuComun(menuLayerName, menuBtnName)
{
	var menuLayer = document.getElementById(menuLayerName);
	var menuBtn = document.getElementById(menuBtnName);
	var posicion = getAnchorPosition(menuBtnName);

	var anchoLayer = menuLayer.offsetWidth;
	var anchoBtn = menuBtn.offsetWidth;
	
	var posLeftMenu;

	switch(menuLayerName)
	{
		case "divMenuEntidad":
			posLeftMenu=posicion.x;
			break;
			
		case "divMenuCentros":
			posLeftMenu=(posicion.x+anchoBtn)-anchoLayer/2;
			break;
			
		case "divMenuActualidad":
			posLeftMenu=(posicion.x+anchoBtn)-anchoLayer;
			break;
			
		case "divMenuUsuarios":
			posLeftMenu=(posicion.x+anchoBtn)-anchoLayer;
			break;
	}

	holdMenuButtonOn(menuBtn);
	menuLayer.style.top=posTopMenu+ 'px';
	menuLayer.style.left=posLeftMenu + 'px';
}

// Menú para Internet Explorer
function setMenuIE(menuLayerName, menuBtnName)
{
	var menuLayer = document.getElementById(menuLayerName);
	
	menuLayer.style.filter='progid:DXImageTransform.Microsoft.Alpha(Opacity=90), progid:DXImageTransform.Microsoft.Fade(duration=0.3,overlap=1.0); progid:DXImageTransform.Microsoft.Shadow(color=#333333,direction=135);'
	menuLayer.filters[1].Apply();
	menuLayer.filters[2].Apply();
	menuLayer.style.visibility='visible';
	menuLayer.filters[1].Play();
	menuLayer.filters[2].Play();	
}

// Menú para Mozilla (Safari, Firefox)
function setMenuMozilla(menuLayerName, menuBtnName)
{
	var menuLayer = document.getElementById(menuLayerName);
	var menuBtn = document.getElementById(menuBtnName);
	var posicion = getAnchorPosition(menuBtnName);
	var sombra = document.getElementById('divSombra');
	
	var anchoLayer = menuLayer.offsetWidth;
	var anchoBtn = menuBtn.offsetWidth;

	sombra.style.height=menuLayer.offsetHeight + 'px';
	sombra.style.width=menuLayer.offsetWidth + 'px';
	sombra.style.top=posTopMenu+posSombra+'px';
	sombra.style.left=menuLayer.offsetLeft + posSombra + 'px';

	menuLayer.style.visibility='visible';
	sombra.style.visibility='visible';
}

// Mantener Menú en Mozilla
function holdMenu(menuLayerName, menuBtnName)
{
	if(!ie)
	{
		var menuLayer = document.getElementById(menuLayerName);
		var menuBtn = document.getElementById(menuBtnName);
		var sombra = document.getElementById('divSombra');

		holdMenuButtonOn(menuBtn);
		menuLayer.style.visibility='visible';
		sombra.style.visibility='visible';
	}
}

// Ocultar menu
function hideMenu(menuLayerName, menuBtnName)
{
	var menuLayer = document.getElementById(menuLayerName);
	var menuBtn = document.getElementById(menuBtnName);
	var sombra = document.getElementById('divSombra');
	
	if(ie)
	{
		if(!menuLayer.contains(window.event.toElement))
		{
			menuLayer.style.visibility='hidden';
			menuBtn.style.backgroundPosition='0px 0px';
		}	
	}
	else
	{
		menuLayer.style.visibility='hidden';
		menuBtn.style.backgroundPosition='0px 0px';
	}
	sombra.style.visibility='hidden';
}


// Activar boton menu desplegable
function holdMenuButtonOn(menuBtn)
{
	menuBtn.style.backgroundPosition='0px 18px';
}

//
// Funciones Cargar CSS
// 

function BrowserCustomCSS()
{
    if(safari)
        document.write('<link href=\"/css/safari.css\" rel=\"stylesheet\" type=\"text/css\" />');
}

//
// Funciones de Presentación
// 

function ResizePagina()
{
    // Ajustamos el contenido
	var divMarcoBody = document.getElementById('divMarcoBody');
	var divContenido = document.getElementById('divContenido');
	
	var AlturaMinima = divContenido.offsetHeight+125;
	var AlturaMarcoRelleno = getViewPortHeight()-135;
	
	if(AlturaMarcoRelleno<AlturaMinima)
	    AlturaMarcoRelleno=AlturaMinima;
	    
	divMarcoBody.style.minHeight = AlturaMarcoRelleno + 'px';

    if(ie && version<7)
		divMarcoBody.style.height=AlturaMarcoRelleno + 'px';
	    
	/*
	var divContenido = document.getElementById('divContenido');
	var altContenidoRelleno=getViewPortHeight()-308;
	
	if(divContenido)
	{
		divContenido.style.minHeight=altContenidoRelleno + 'px';
		divMarcoBody.style.minHeight=divContenido.offsetHeight-90 + 'px';
		
		if(ie && version<7)
		{
			divContenido.style.height=altContenidoRelleno + 'px';
			divMarcoBody.style.height=divContenido.offsetHeight-90 + 'px';
		}
	}
	*/
}

// Solucionar problema patente EOLAS
function FixObjects()
{
    if(ie)
    {
        theObjects = document.getElementsByTagName("object");
        
        for (var i = 0; i < theObjects.length; i++) 
        {
	        theObjects[i].outerHTML = theObjects[i].outerHTML;
        }
    }
}
