/**
 * @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);

	};

}

