/**
 * @package	GeoDatum
 * Proyecto	:	GeoDatum - Sistema de Información Territorial
 * Archivo	:	Navegador.class.js
 *
 * @link http://www.siigsa.cl
 * @copyright ©SIIGSA - Registro Propiedad Intelectual Nº 172.560 - Derechos Reservados
 * @author Cristián Gómez Mamani <cgomez@siigsa.cl>
 * @since 03-12-2009
 * @version 1.0.6
 * 
 * Clase que permite gestionar la identificación y versión de un explorador web
 *
 * 
 * @author Patricio Cifuentes Ithal <pcifuentes@siigsa.cl>
 * @since 14-05-2009
 * @version 6
 * validarNavegador()
 * 
 */

function Navegador(){
	
  var ua, i;
 	var s = null;
	var inicio = 0;
	this.nombre = null;
  this.isIE    = false;
  this.isNS    = false;
  this.isOP    = false;
  this.isCH    = false;
  this.isFF    = false;
  this.version = null;
	this.versionIE = 8;
	this.versionFF = 3;
	this.versionCH = 1;

  ua = navigator.userAgent;

  if ((navigator.userAgent).indexOf("Opera")!=-1) {
  	
    this.isOP = true;
    this.isOP = true;
    
  } else if (navigator.appName=="Netscape") {
  	
  	if ((navigator.userAgent).indexOf("Firefox") != -1) {
  		
	  	s 					 = "Firefox";
    	inicio	 		 = parseInt(ua.indexOf(s)) + s.length + 1;
    	this.version = parseInt(ua.substr(inicio, 3));
    	this.isFF    = true;
    	
  	} else if ((navigator.userAgent).indexOf("Chrome") != -1) {
  		
	  	s 				 	 = "Chrome";
    	inicio    	 = parseInt(ua.indexOf(s)) + s.length + 1;
    	this.version = parseInt(ua.substr(inicio, 3));
    	this.isCH    = true;
    	
  	}
  	
  } else if ((navigator.appName).indexOf("Microsoft") != -1 ) {
  	
    var s			   = "MSIE";
    inicio       = parseInt(ua.indexOf(s)) + s.length + 1;
    this.version = parseInt(ua.substr(inicio, 3));
    this.isIE    = true;
    
  }
  
  this.nombre = s; 

  
	/**
	 * @copyright 2008 - SIIGSA - Registro Propiedad Intelectual Nº 172.560 - Derechos Reservados
	 * @author Patricio Cifuentes Ithal <pcifuentes@siigsa.cl>
	 * @since 14-05-2009
	 * @version 1.0.6
   * 
   * validacion de navegador para el sistema (IE>=8, FF>=3, CH>=1)
   * 
	 * @author Patricio Cifuentes Ithal <pcifuentes@siigsa.cl>
	 * @since 03-12-2009
	 * @version 6
   * 
   * se cambio el alert por confirm y se genero una cookie para que no pregunte siempre
   * 
   */
	this.validarNavegador = function(){
		
		try{
			
			if (this.getCookie('validacionBrowser') == "" || !this.getCookie('validacionBrowser')){
			
				if (this.isIE && oNavegador.version < this.versionIE) {
			
					/*alert('Para ver correctamente este sitio necesita una versión de Internet Explorer v. 7.0 o superior. Haga click en el botón Aceptar para redireccionar a la página de descarga de Internet Explorer actualizada.');*/
					if (confirm('Para ver correctamente este sitio necesita una versión de Internet Explorer v. ' + this.versionIE + '.0 o superior. Haga click en el botón Aceptar para redireccionar a la página de descarga de Internet Explorer actualizada.')){
						location.href = GC_URL_DESCARGA_IEXPLORER;
					}else{
						this.setCookie('validacionBrowser','true');
					}
			
				} else if (this.isFF && oNavegador.version < this.versionFF) {
					
					/*alert('Para ver correctamente este sitio necesita una versión de Mozilla Firefox v. 3.0 o superior. Haga click en el botón Aceptar para redireccionar a la página de descarga de Firefox actualizada.');*/
					if (confirm('Para ver correctamente este sitio necesita una versión de Mozilla Firefox v. ' + this.versionFF + '.5 o superior. Haga click en el botón Aceptar para redireccionar a la página de descarga de Firefox actualizada.')){
						location.href = GC_URL_DESCARGA_FIREFOX;
					}else{
						this.setCookie('validacionBrowser','true');
					}
					
				} else if (this.isCH && oNavegador.version < this.versionCH) {
					
					/*alert('Para ver correctamente este sitio necesita una versión de Google Chrome v. 1.0 o superior. Haga click en el botón Aceptar para redireccionar a la página de descarga de Google Chrome actualizada.');*/
					if (confirm('Para ver correctamente este sitio necesita una versión de Google Chrome v. ' + this.versionCH + '.0 o superior. Haga click en el botón Aceptar para redireccionar a la página de descarga de Google Chrome actualizada.')){
						location.href = GC_URL_DESCARGA_CHROME;
					}else{
						this.setCookie('validacionBrowser','true');
					}
					
				} else if ((oNavegador.nombre == null && oNavegador.version == null) || this.isOP) {
					
					/*alert('Para ver correctamente este sitio necesita una versión de Internet Explorer v. 7.0 o superior. Haga click en el botón Aceptar para redireccionar a la página de descarga de Internet Explorer actualizada.');*/
					if (confirm('Para ver correctamente este sitio necesita una versión de Mozilla Firefox v. 3.5 o superior. Haga click en el botón Aceptar para redireccionar a la página de descarga de Firefox actualizada.')){
						location.href = GC_URL_DESCARGA_FIREFOX;
					}else{
						this.setCookie('validacionBrowser','true');
					}
					
				}
				
			}
			
  	}catch(e){
				
			alert(e.name + " - " + e.message);
			
		}
		
	}
	
	
	/**
	 * @copyright 2008 - SIIGSA - Registro Propiedad Intelectual Nº 172.560 - Derechos Reservados
	 * @author Patricio Cifuentes Ithal <pcifuentes@siigsa.cl>
	 * @since 03-12-2009
	 * @version 1.0.1
   * 
   * seteo de cookie javascript
   * 
   */
	this.setCookie = function(cookieName, cookieValue, expires, path, domain, secure) {
	
		document.cookie =
	
			escape(cookieName) + '=' + escape(cookieValue)
	
			+ (expires ? '; expires=' + expires.toGMTString() : '')
	
			+ (path ? '; path=' + path : '')
	
			+ (domain ? '; domain=' + domain : '')
	
			+ (secure ? '; secure' : '');
	
	};
	
	
	
	/**
	 * @copyright 2008 - SIIGSA - Registro Propiedad Intelectual Nº 172.560 - Derechos Reservados
	 * @author Patricio Cifuentes Ithal <pcifuentes@siigsa.cl>
	 * @since 03-12-2009
	 * @version 1.0.1
   * 
   * retorno de valor de cookie javascript
   * 
   */
	this.getCookie = function(cookieName) {
	
		var cookieValue = '';
	
		var posName = document.cookie.indexOf(escape(cookieName) + '=');
	
		if (posName != -1) {
	
			var posValue = posName + (escape(cookieName) + '=').length;
	
			var endPos = document.cookie.indexOf(';', posValue);
	
			if (endPos != -1) cookieValue = unescape(document.cookie.substring(posValue, endPos));
	
			else cookieValue = unescape(document.cookie.substring(posValue));
	
		}
	
		return (cookieValue);
	
	};
  
}
