﻿/*
	CrossBrowser - Atualize Seu Navegador
	@author Jadson Moreira
	@site http://www.jadsonmoreira.com
	@since 17/02/2011
	@license OpenSource
*/

function crossBrowser() {
		
		var navegadorLista = {
			alerta: ["Opera/7","Firefox/3.5","Safari/4","Internet Explorer/7","Chrome/8"],
			semAcesso: [""]
		}
		
		var path = "images/crossbrowser/"; //caminho das imagens
				
		var browserName = navigator.appName;
		var navegador, imagem, titulo, versao;
		var browser = {
			name : ["Internet Explorer","Opera","Safari","Chrome","Firefox"],
			image : ["ie","opera","safari","chrome","firefox"],
			url : ["http://download.microsoft.com/download/2/E/B/2EB4A8C1-419A-4139-8608-57109F5568B4/IE8-WindowsXP-x86-PTB.exe","http://get3.opera.com/pub/opera/win/1100/int/Opera_1100_int_Setup.exe","http://appldnld.apple.com/Safari5/061-9482.20101118.AswP2/SafariSetup.exe","http://www.google.com/chrome/eula.html","http://mozilla.c3sl.ufpr.br/releases//firefox/releases/3.6.13/win32/pt-BR/Firefox%20Setup%203.6.13.exe"]
		}
		
		switch(browserName) {
		case "Microsoft Internet Explorer": navegador = browser.name[0]; imagem = browser.image[0]; var versao = navigator.appVersion; versao = versao.split("("); versao = versao [1].split(";"); versao = versao[1]; versao = versao.split(" "); versao = versao[2]; versao = versao.split("."); versao = versao[0]; break;
		case "Opera": navegador = browser.name[1]; imagem = browser.image[1]; var versao = navigator.appVersion; versao = versao.split("."); versao = versao[0]; break;
		//continuar daqui dando um loop for pegando o nome do navegador 9 para firefox  11 para chrome e 12 para safari
		case "Netscape": var navegador = (navigator.userAgent); var navegadorSplit = navegador.split(" "); for (i=0;i<=navegadorSplit.length-1; i++)
		{var navegadorSplit2 = navegadorSplit[i].split("/"); 
		switch (navegadorSplit2[0]) {
		//google chrome usa a mesma engine do safari por isso foi preciso fazer o if dentro do case para distinguir os dois navegadores :D
		case "Safari": var chrome = navegadorSplit[i-1]; chrome = chrome.split("/");
		if (chrome[0] == "Chrome") {navegador = browser.name[3]; imagem = browser.image[3]; var versao = chrome[1].split("."); versao = versao[0];}
  		else {navegador = browser.name[2]; imagem = browser.image[2]; var versao = navegadorSplit2[1]; versao.split("."); versao = versao[0];} break;
		case "Firefox": navegador = browser.name[4]; imagem = browser.image[4]; var versao = navegadorSplit2[1]; versao = versao.substr(0,versao.length-3); break; 	 	
		default: break;}
	}; break;
	default: navegador = "navegador"; break;
}
		
		//convertendo a versão para float
		versao = parseFloat(versao);
		
		function listandoNavegadores() {
			for (i=0;i<browser.name.length;i++) {
			if (browser.name[i] != navegador) {
			$(".crossBrowserInstall").append('<a target="blank" href="'+browser.url[i]+'"><img src="'+path+browser.image[i]+'.jpg" alt="icone" title="Baixar o'+navegador+'" style="border:none; width:28px; height:28px; float:left; margin:0 10px;" /></a>');
			}
			else {
				$(".crossBrowserUpdate").append('<a target="blank" href="'+browser.url[i]+'"><img src="'+path+browser.image[i]+'.jpg" alt="icone" title="Atualizar o'+navegador+'" style="border:none; width:28px; height:28px; clear:both; margin:0 auto;" /></a>');
			}
		}				
		
		}
		
		function alertaBrowserAntigo() {
		
		$("body").children().first().before('<div class="crossBrowserBar" style="width:100%; display:none; visibility:hidden; position:relative; height:59px; border-bottom: 1px #f00 solid; background:#75869A repeat; font-family:Arial;"><img src="'+path+'exclamacao.jpg" alt="exclamacao" title="alerta" style="position:absolute; top:10px; left:10px; width:45px; height:40px;" /><div class="crossBrowserContainer" style="width:968px; margin:0 auto; padding:10px 20px; height:auto;"><div class="crossBrowserTexto" style="color:#fff; float:left; "><p style="font-size:13px; font-weight:bold; line-height:22px; clear:both;">Seu '+navegador+' '+versao+' esta DESATUALIZADO</p><p style="font-size:12px; clear:both;">Para uma melhor visualiza&ccedil;&atilde;o do site atualize-o ou escolha outro navegador.</p></div><!--crossBrowserTexto--><div class="crossBrowserIcons" style="float:right; width:380px; height:45px; font-size:10px; font-weight:bold; margin-right:10px; text-align:center;"><div style="background:url('+path+'bg-icons.jpg) repeat-x; width:100px; padding-top:5px; height:40px; float:left;"><span style="color:#ff0; display:block; clear:both;">ATUALIZAR</span><div class="crossBrowserUpdate"></div><!--crossBrowserUpdate--></div><div  style="width:200px; float:right; background:url('+path+'bg-icons.jpg) repeat-x; padding:5px 10px 0 10px; height:40px;"><span style="color:#fff; display:block; clear:both;">INSTALAR UM OUTRO NAVEGADOR</span><div class="crossBrowserInstall"></div><!--crossBrowserInstall--></div></div><!--crossBrowserIcons--></div><!--crossBrowserContainer--><img src="'+path+'fechar.jpg" alt="fechar" title="Fechar" class="crossBrowserClose" style="position:absolute; cursor:pointer; top:10px; right:10px; width:13px; height:13px;" /></div><!--crossBrowserBar-->');
		
		listandoNavegadores();
		
		$(".crossBrowserBar").css({visibility: "visible", dipslay: "block"}).slideDown("slow");
		
		$(".crossBrowserClose").click(function() {
			$(".crossBrowserBar").slideUp("slow");
			setTimeout(function() {$(".crossBrowserBar").remove();}, 1500);			
		});
		
		}//funcao alertaBrowserAntigo()
		
		function semAcessoBrowserAntigo() {
			$("body").children().first().before('<div class="crossBrowserContainerSemAcesso" style="width:100%; position:absolute; z-index:9999;"><div class="crossBrowserOpacity" style="background:#000; filter:alpha(opacity=60); -moz-opacity: 0.60; opacity: 0.60; position:absolute; z-index:9999; width:100%;"></div><!--crossBrowserOpacity--><div class="crossBrowserAlertaSemAcesso" style="width:600px; height:210px; background:#fff; position:relative; border:1px #f00 solid; z-index:9999;"><div class="crossBrowserAlertaSemAcessoMsg" style="text-align:center; padding:50px 10px 20px 10px;"><p style="clear:both; width:100%; font-size:16px; font-weight:bold; color:#f00;">Seu '+navegador+' '+versao+' esta DESATUALIZADO</p><p style="font-size:14px;">Assim alguns recursos de navegação do site podem ser prejudicados ou estarem inascessiveis em algum momento. Para uma melhor navegação atualize seu navegador ou instale um outro navegador.</p></div><div class="" style="background:url('+path+'bg-icons.jpg) repeat; width:100%; height:60px; position:absolute; bottom:0;"><div style="width:310px; margin:0 auto; padding-top:7px;"><div style="width:70px; float:left; margin-right:20px;"><p style="font-size:12px; color:#ff0; font-weight:bold; text-transform:uppercase;">ATUALIZAR</p><div class="crossBrowserUpdate" style="margin-left:18px;"></div><!--crossBrowserUpdate--></div><div style="width:210px; float:left;"><p style="font-size:11px; text-align:center; color:#fff; font-weight:bold; text-transform:uppercase; clear:both;">INSTALAR UM OUTRO NAVEGADOR</p><div class="crossBrowserInstall" style="margin-top:2px;"></div><!--crossBrowserUpdate--></div></div></div></div><!--crossBrowserAlertaSemAcesso--></div><!--crossBrowserContainerSemAcesso-->');
			
		listandoNavegadores();
		
		$(".crossBrowserOpacity").css("height",document.documentElement.clientHeight);
		//$(".crossBrowserOpacity").fadeTo('fast', 0.6);
		$("body").css("overflow","hidden");
		
		var crossBrowserAlertaMgTopo = (document.documentElement.clientHeight - $('.crossBrowserAlertaSemAcesso').height()) / 2;
		var crossBrowserAlertaMgLeft = (document.documentElement.clientWidth - $('.crossBrowserAlertaSemAcesso').width()) / 2;
		$(".crossBrowserAlertaSemAcesso").css("top",crossBrowserAlertaMgTopo);
		$(".crossBrowserAlertaSemAcesso").css("left",crossBrowserAlertaMgLeft);
					
		}//semAcessoBrowserAntigo()
		
		for (k=0;k<navegadorLista.semAcesso.length;k++) {
		var navegadorVersao = navegadorLista.semAcesso[k].split("/");
		parseFloat(navegadorVersao[1]);
		if (navegadorVersao[0] == navegador && versao <= navegadorVersao[1]) {
			semAcessoBrowserAntigo();	
			return false;	
		}//fecha if
		}//fecha for
		
		for (k=0;k<navegadorLista.alerta.length;k++) {
		var navegadorVersao = navegadorLista.alerta[k].split("/");
		parseFloat(navegadorVersao[1]);
		if (navegadorVersao[0] == navegador && versao <= navegadorVersao[1]) {
			alertaBrowserAntigo();	
			return false;	
		}//fecha if
		}//fecha for
		
}
