﻿/********************************************************************************************************
Projeto                     =   Site
Arquivo                     =   ajuda.js
Descricao                   =   Objeto de gerenciamento do Sistema Operacional, Browser e Flash
Dependencias                =   nenhum
Criador                     =   LabST (Laboratorio Shop Tour)
Data de criacao             =   06/11/2009
Data de altima alteracao    =   11/11/2009
********************************************************************************************************/

function platformDetect(){
	var user = navigator.userAgent.toLowerCase(); 
	if (user.indexOf('win') == -1) {
		location.href='';
	}
}

var d = document;

var suportaFlash = 0;
var suportaCookie = 0;
var suportaIframes = 0;
var suportaPlatMac = 0;

var suportaBrowser = 0;
var browserIe = 0;
var browserFF = 0;
var browserOp = 0;
var browserSa = 0;
var browserCh = 0;
var suportaPlat = 0;
var suportaWM = 0;

var versaoOp = '';
var versaoBrowser = '';
var navAgent = navigator.userAgent;
var versaoFlash = '';

var mac = (navigator.userAgent.toLowerCase().indexOf("mac") != -1) ? true : false;
var win = (navigator.userAgent.toLowerCase().indexOf("win") != -1) ? true : false;
var ie  = (navigator.userAgent.toLowerCase().indexOf("msie") != -1) ? true : false;
var net = (navigator.userAgent.toLowerCase().indexOf("netscape") != -1) ? true : false;
var saf = (navigator.userAgent.toLowerCase().indexOf("safari") != -1) ? true : false;
var fire = (navigator.userAgent.toLowerCase().indexOf("firefox") != -1) ? true : false;

// ---------------------------- Nova detecção de browser e sistema operacional -------------------------- //
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "Navegador desconhecido";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "versão desconhecida";
		this.OS = this.searchString(this.dataOS) || "OSErro";
		this.OSVersion = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "versão desconhecida";
			
			if(this.OS == "OSErro")	{
				//alert("erro 1");
			}
		//alert(this.browser); // mostra qual browser é.
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},			
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{	// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Internet Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 	// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows",
			versionSearch: "Windows NT"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Macintosh",
			versionSearch: "Mac OS"
		},
		{
			string: navigator.platform,
			subString: "Lin",
			identity: "Linux",
			versionSearch: "Linux Suse"
		}
	] 
};

BrowserDetect.init();

//Pegando browser e versão
versaoBrowser = BrowserDetect.browser + ' ' + BrowserDetect.version;

if (BrowserDetect.browser == 'Internet Explorer') {
	var versaoBrowser = parseFloat(BrowserDetect.version);
	if (versaoBrowser >= 7.0) {
		suportaBrowser = 1;
	}
	browserIe = 1;
}
else if(BrowserDetect.browser == "Firefox")
{
	var versaoBrowser = parseFloat(BrowserDetect.version);
	if (versaoBrowser >= 3.0) {
		suportaBrowser = 1;
	}
    browserFF = 1;		
}
else if(BrowserDetect.browser == "Opera")
{
	var versaoBrowser = parseFloat(BrowserDetect.version);
	if (versaoBrowser >= 9.0) {
		suportaBrowser = 1;
	}
	browserOp = 1;
}	
else if(BrowserDetect.browser == "Safari")
{
	var versaoBrowser = parseFloat(BrowserDetect.version);
	if (versaoBrowser >= 525.0) {
		suportaBrowser = 1;
	}
	browserSa = 1;
}
else if(BrowserDetect.browser == "Chrome")
{
	var versaoBrowser = parseFloat(BrowserDetect.version);
	if (versaoBrowser >= 0) {
		suportaBrowser = 1;
	}
	browserCh = 1;
}

//Pegando sistema operacional e versão
versaoOp = BrowserDetect.OS + ' ' + BrowserDetect.OSVersion;
if (BrowserDetect.OS == 'Windows') {
	if (BrowserDetect.OSVersion != 'versão desconhecida') {
		var versaoOS = parseFloat(BrowserDetect.OSVersion);
		if (versaoOS >= 5.1) {
			suportaPlat = 1;
		}
	}
}
else if (BrowserDetect.OS == 'Macintosh'){
	suportaPlatMac = 1;
}

// ------------------------ Fim da nova detecção de browser e sistema operacional ----------------------- //

// --------------------------- deteccao Flash  ---------------------------  //

var nt = (navigator.appVersion.indexOf("Windows NT") != -1) ? true : false;

var flashF = 0;
var flashV = 6;
var flashP = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"])?navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin:0;

if (flashP) {
	if (navigator.plugins) {
		flashV = 7;
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var isVersion2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + isVersion2].description;
			var flashVersion = parseInt(flashDescription.substring(16));	
		}
		flashF = flashVersion >= flashV;
	}
} else if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0 && (navigator.appVersion.indexOf("Win")!=-1)) {
	document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n');
	document.write('on error resume next \n');
	document.write('flashF = (IsObject(CreateObject("Shockwaveflash.Shockwaveflash." & flashV)))\n');
	document.write('</SCR' + 'IPT\> \n');
}

if(flashF) {
	if (flashP) {
		versaoFlash = "versão 7 ou superior";
	} else {
		versaoFlash = "versão 6 ou superior";
	}
	suportaFlash = 1;

} else if (versaoBrowser == "Netscape versão 7.1 ou superior") {
	versaoFlash = "versão 6 ou inferior";
} else {
	versaoFlash = "versão inferior a 6";
}
// --------------------------- fim deteccao Flash  ---------------------------  //








