﻿var default_css_index = '/template-vm/css/default.css';		//Hoja de estilos por defecto. Usada cuando el navegador no está entre los predefinidos.

//Esta array contendrá el path a las hojas de estilo en función del navegador y la versión.
var array_css = [];
var path_css = '/template-vm/css/';
//Esta array contendrá el nombre del navegador y el nombre de su hoja css asociada.

var nav_css = [
  {
		nav: 'Firefox',
		css: 'firefox.css',
		comentario: 'Aplica a versiones inferiores a la 3.5'
	}, {
		nav: 'Explorer',
		css: 'explorer.css',
		comentario: 'Aplica a versiones inferiores a la 6'
	}, {
		nav: 'Explorer_7',
		css: 'explorer_7.css'
	}, {
		nav: 'Explorer_8',
		css: 'explorer_8.css'
	}	
];

//Esta función inicializa el array asociativo que contendrá el path a la hoja css de cada navegador.
function inicializar_arrayCss(){
	for (var i = 0; i < nav_css.length; i++){
		var item = nav_css[i];
		array_css[item.nav] = path_css + item.css;
	}
}

//Esta función convierte los puntos de la versión del navegador en guiones.
function sustituirPuntos(version){
	var v_str = version + "";
	if (v_str != null && v_str.length > 0){
		return v_str.replace(".", "-");
	} else {
		return "";
	}
}

//Esta función comprueba si el navegador es Explorer
function esExplorer(browser){
	return (browser.indexOf("Explorer") != -1);
}

//Esta función comprueba si la versión del explorer es < 7
function esExplorerAntiguo(version){
	return (version < 7);
}

//Esta función comprueba si el navegador es Firefox
function esFireFox(browser){
	return (browser.indexOf("Firefox") != -1);
}

//Esta función comprueba si la versión del explorer es < 3.5
function esFirefoxAntiguo(version){
	return (version < 3.5);
}

//Obtenemos el subíndice en el array path_css a partir de la versión y el navegador.
function getIndexVersion(browser, version){

	if (browser != null && version != null){
		if ((esExplorer(browser)) || (esFireFox(browser)) ){
			
			if (esExplorer(browser)){
				//Será navegador Explorer				
				//Comprobamos si la versión de Explorer es <= 6
				
				if (esExplorerAntiguo(version)){
					return browser + "";	//No devolvemos la versión
				} else {
					return browser + "_" + sustituirPuntos(version);
				}
				
			} else {
				//Será navegador Firefox
				//Comprobamos que la versión de Firefox es <= 3
				
				if (esFirefoxAntiguo(version)){
					return browser + "";	//No devolvemos la versión
				} else {
					return browser + "_" + sustituirPuntos(version);
				}				
			}
		} else {
			return browser + "";	//En el resto de navegadores no devolvemos la versión
		}
	} else {
		return null;
	}
}

//Esta función obtiene el path a la hoja de estilo a partir del navegador y de su versión.
function obtenerCSS(browser, version){
	var nav_actual = getIndexVersion(browser, version);

	if (nav_actual != null){
		var l_css = array_css[nav_actual];
		if (l_css != null){
			return l_css;
		} else {
			//return array_css[default_css_index];
			return null;
		}			
	} else {
		return null;
	}
}

//Esta función carga una hoja de estilo u otra en función del navegador y su versión.
function cargarCSSxNavegador(){
	inicializar_arrayCss();
	var link_css = obtenerCSS(BrowserDetect.browser, BrowserDetect.version);
	if (link_css != null){
		//alert("link_css: " + link_css);
		$('head').append('<link rel="stylesheet" href="' + link_css + '" type="text/css" />');		
	}
}
