/************************************************************************************************************
	(C) www.guideandgo.cat, Febrer 2009
	
	Funcions generals per aplicar regles d'estil en funció de la configuració de pantalla i del navegador client
	
	Termes d'utilització:
	Ets lliure d'utilitzar aquest script sempre i quan mantinguis aquest missatge de copyright intacte. No obstant,
	no el pots redistribuir, vendre o publicar sense el nostre permís.
	
	Gràcies!
	
	www.guideandgo.cat
	
************************************************************************************************************/

/*
Ajustar el contingut del cos en funció del navegador i de la configuració de pantalla
*/
function ajustar_contingut()
{
	//	Obtenim les dades generals del navegador
	var navegador = obtenir_dades_navegador();
	
	//	Configurem la mida de navegador mínima a 1024 x 600 per raons estètiques
	if (navegador.amplada < 1024) navegador.amplada = 1024;
	if (navegador.altura < 600) navegador.altura = 600;
	
	
	//	Apliquem les regles d'estil
	aplicar_estil_general (navegador);
	
	//	Regles d'estil específiques de cada navagador
	if (navegador.nom == "Microsoft Internet Explorer") {
		aplicar_estil_IE (navegador);
	}
}

/*
Retorna el nom i la versió del navegador així com les mides de la zona navegable de la seva finestra
*/
function obtenir_dades_navegador()
{
	var x;
	var y;

	if (typeof window.innerWidth != 'undefined'){
		//	Navegadors estàndard
		x = window.innerWidth;
		y = window.innerHeight;
	} else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0){
		//	IE6, en un mode de compilació estàndard
		x = document.documentElement.clientWidth;
		y = document.documentElement.clientHeight;
	} else {
		//	Altres navegadors i versions antigues
		x = document.getElementsByTagName('body')[0].clientWidth;
		y = document.getElementsByTagName('body')[0].clientHeight;
	}
	
	return { nom: navigator.appName, versio: navigator.appVersion, amplada: x, altura: y };
}

/*
FUNCIONS D'APLICACIÓ D'ESTIL
*/

//	Amplada d'un element indicada en percentatge
function estil_element_percent_width(element, percentatge, navegador){ element.style.width = (navegador.amplada * percentatge / 100 ) + 'px'; }
//	Alçada d'un element indicada en percentatge
function estil_element_percent_height(element, percentatge, navegador){ element.style.height = (navegador.altura * percentatge / 100 ) + 'px'; }
//	Posició vertical descendent indicada en percentatge
function estil_element_percent_top(element, percentatge, navegador){ element.style.top = (navegador.altura * percentatge / 100 ) + 'px'; }
//	Posició vertical ascendent indicada en percentatge
function estil_element_percent_bottom(element, percentatge, navegador){ element.style.bottom = (navegador.altura * percentatge / 100 ) + 'px'; }
//	Posició horitzontal ascendent indicada en percentatge
function estil_element_percent_left(element, percentatge, navegador){ element.style.left = (navegador.amplada * percentatge / 100 ) + 'px'; }
//	Posició horitzontal descendent indicada en percentatge
function estil_element_percent_right(element, percentatge, navegador){ element.style.right = (navegador.amplada * percentatge / 100 ) + 'px'; }