var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	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"
		},
		{
			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: "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"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

//==========================================================================================================================================
//==========================================================================================================================================

/* POPUP CENTRALIZADO */
var win = null;
function windowCenter(mypage,myname,w,h,scroll,rr,ss,mm){
	LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
	settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable='+rr+',status='+ss+',menubar='+mm+','
	win = window.open(mypage,myname,settings)
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

//==========================================================================================================================================
//==========================================================================================================================================

/*  ROLLOVER IMAGES DO MENU */
/*
**************************************
* Preloader Class v1.0               *
* Autor: Carlos R. L. Rodrigues      *
**************************************
*/
Preloader = function(){
    var o = this;
    o.img = [];    o.r = []; o.g = [];
    o.n = {}; o.total = o.loaded = 0;
};
Preloader.prototype.add = function(i, g){
    var o = this, n = (o.g[o.total] = [g || "general"])[0];
    (g = o.n)[n] >= 0 ? ++g[n] : g[n] = 1;
    o.img[o.total++] = i;
};
Preloader.prototype.load = function(){
    var o = this, p = o.img, l = p.length, a, g = o.g;
    while(l--){
        (g[l][1] = a = new Image()).src = p[a.i = l];
        a.onload = function(){
            if(o.r[this.i]) return;
            !--o.n[g[this.i][(o.r[this.i] = 1) - 1]] && o.onGroupComplete && o.onGroupComplete(g[this.i][0]);
            o.onImageComplete && o.onImageComplete(this);
            (++o.loaded == o.total) && o.onComplete && o.onComplete();
        };
        (a.fileSize !== undefined ? a.fileSize > -1 : a.width) && a.onload();
        a.onerror = function(){
            o.onImageError && o.onImageError(this);
        }
    }
};
Preloader.prototype.getImagesByGroup = function(n){
    var g = this.g, i = [], p = 0, n = n || "general";
    for(var j = g.length; j; g[--j][0] == n && (i[p++] = g[j][1]));
    return i;
};


var x = new Preloader();

x.add("images/menu/m_principal_off.gif", "grupo_A");
x.add("images/menu/m_principal_on.gif", "grupo_A");
x.add("images/menu/m_p_amonline_off.gif", "grupo_A");
x.add("images/menu/m_p_amonline_on.gif", "grupo_A");
x.add("images/menu/m_p_fmonline_off.gif", "grupo_A");
x.add("images/menu/m_p_fmonline_on.gif", "grupo_A");
x.add("images/menu/m_p_principal_off.gif", "grupo_A");
x.add("images/menu/m_p_principal_on.gif", "grupo_A");

x.add("images/menu/m_radio_off.gif", "grupo_A");
x.add("images/menu/m_radio_on.gif", "grupo_A");
x.add("images/menu/m_radio_apres_off.gif", "grupo_A");
x.add("images/menu/m_radio_apres_on.gif", "grupo_A");
x.add("images/menu/m_radio_galeria_off.gif", "grupo_A");
x.add("images/menu/m_radio_galeria_on.gif", "grupo_A");
x.add("images/menu/m_radio_70anos_off.gif", "grupo_A");
x.add("images/menu/m_radio_70anos_on.gif", "grupo_A");

x.add("images/menu/m_progam_off.gif", "grupo_A");
x.add("images/menu/m_progam_on.gif", "grupo_A");
x.add("images/menu/m_progam_segsex_off.gif", "grupo_A");
x.add("images/menu/m_progam_segsex_on.gif", "grupo_A");
x.add("images/menu/m_progam_sabdom_off.gif", "grupo_A");
x.add("images/menu/m_progam_sabdom_on.gif", "grupo_A");
x.add("images/menu/m_progam_esp_off.gif", "grupo_A");
x.add("images/menu/m_progam_esp_on.gif", "grupo_A");

x.add("images/menu/m_progfm_off.gif", "grupo_A");
x.add("images/menu/m_progfm_on.gif", "grupo_A");

x.add("images/menu/m_comercial_off.gif", "grupo_A");
x.add("images/menu/m_comercial_on.gif", "grupo_A");
x.add("images/menu/m_comercial_acesso_off", "grupo_A");
x.add("images/menu/m_comercial_acesso_on", "grupo_A");
x.add("images/menu/m_comercial_cadastro_off", "grupo_A");
x.add("images/menu/m_comercial_cadastro_on", "grupo_A");

x.add("images/menu/m_canalinter_off.gif", "grupo_A");
x.add("images/menu/m_canalinter_on.gif", "grupo_A");
x.add("images/menu/m_canalinter_best3_off.gif", "grupo_A");
x.add("images/menu/m_canalinter_best3_on.gif", "grupo_A");
x.add("images/menu/m_canalinter_sequencia_off.gif", "grupo_A");
x.add("images/menu/m_canalinter_sequencia_on.gif", "grupo_A");

x.add("images/menu/m_downloads_off.gif", "grupo_A");
x.add("images/menu/m_downloads_on.gif", "grupo_A");

x.add("images/seta_up_off.gif", "grupo_B");
x.add("images/seta_up_on.gif", "grupo_B");
x.add("images/seta_down_off.gif", "grupo_B");
x.add("images/seta_down_on.gif", "grupo_B");


x.onImageComplete = function(img){
    // Quando cada imagem vai sendo finalizada
    // img = objeto Image
    // alert(img.src);
};
x.onComplete = function(){
    // Quando todas imagens são finalizadas
    // alert('Imgs carregadas com sucesso')
};
x.onGroupComplete = function(n){
    // Quando cada grupo vai sendo finalizado
    // n = nome do grupo
    var j, m;
    for(var i = (j = this.getImagesByGroup(n)).length; i--;){
        j[i].title = "GRUPO " + n;
        //document.body.appendChild(j[i]);
    }
};
x.load();


//==========================================================================================================================================
//==========================================================================================================================================

function $ID(el) {
	return document.getElementById(el);
}
function swap_icon(obj, pai){
	try{
		if (document.images){
		
			if(pai){
				var src2=$ID(pai).src;
				if (src2.indexOf('_on') > 0){
					$ID(pai).src = src2.replace('_on','_off');
				}else{
					$ID(pai).src = src2.replace('_off','_on');
				}	
			}
			if(obj){
				var src=obj.src;
				if (src.indexOf('_on') > 0)
					obj.src = src.replace('_on','_off');
				else 
					obj.src = src.replace('_off','_on');
			}		
		}
	}catch(e){
	
	}
}

//==========================================================================================================================================
//==========================================================================================================================================

/***************************************/
/*                                     */
/*             UTILITIES               */
/*                                     */
/***************************************/


/* GETELEMENTSBYTAGNAMES */

function getElementsByTagNames(list,obj) {
	if (!obj) var obj = document;
	var tagNames = list.split(',');
	var resultArray = new Array();
	for (var i=0;i<tagNames.length;i++) {
		var tags = obj.getElementsByTagName(tagNames[i]);
		for (var j=0;j<tags.length;j++) {
			resultArray.push(tags[j]);
		}
	}
	var testNode = resultArray[0];
	if (!testNode) return [];
	if (testNode.sourceIndex) {
		resultArray.sort(function (a,b) {
				return a.sourceIndex - b.sourceIndex;
		});
	}
	else if (testNode.compareDocumentPosition) {
		resultArray.sort(function (a,b) {
				return 3 - (a.compareDocumentPosition(b) & 6);
		});
	}
	return resultArray;
}


/* XMLHTTP */

function sendRequest(url,callback,postData) {
	var req = createXMLHTTPObject();
	if (!req) return;
	var method = (postData) ? "POST" : "GET";
	req.open(method,url,true);
	req.setRequestHeader('User-Agent','XMLHTTP/1.0');
	if (postData)
		req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
	req.onreadystatechange = function () {
		if (req.readyState != 4) return;
		if (req.status != 200 && req.status != 304) {
//			alert('HTTP error ' + req.status);
			return;
		}
		callback(req);
	}
	if (req.readyState == 4) return;
	req.send(postData);
}

var XMLHttpFactories = [
	function () {return new XMLHttpRequest()},
	function () {return new ActiveXObject("Msxml2.XMLHTTP")},
	function () {return new ActiveXObject("Msxml3.XMLHTTP")},
	function () {return new ActiveXObject("Microsoft.XMLHTTP")}
];

function createXMLHTTPObject() {
	var xmlhttp = false;
	for (var i=0;i<XMLHttpFactories.length;i++) {
		try {
			xmlhttp = XMLHttpFactories[i]();
		}
		catch (e) {
			continue;
		}
		break;
	}
	return xmlhttp;
}

/* COOKIES */

var Cookies = {
	init: function () {
		var allCookies = document.cookie.split('; ');
		for (var i=0;i<allCookies.length;i++) {
			var cookiePair = allCookies[i].split('=');
			this[cookiePair[0]] = cookiePair[1];
		}
	},
	create: function (name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
		this[name] = value;
	},
	erase: function (name) {
		this.create(name,'',-1);
		this[name] = undefined;
	}
};
Cookies.init();


/* PUSH AND SHIFT FOR IE5 */

function Array_push() {
	var A_p = 0
	for (A_p = 0; A_p < arguments.length; A_p++) {
		this[this.length] = arguments[A_p]
	}
	return this.length
}

if (typeof Array.prototype.push == "undefined") {
	Array.prototype.push = Array_push
}

function Array_shift() {
	var A_s = 0
	var response = this[0]
	for (A_s = 0; A_s < this.length-1; A_s++) {
		this[A_s] = this[A_s + 1]
	}
	this.length--
	return response
}

if (typeof Array.prototype.shift == "undefined") {
	Array.prototype.shift = Array_shift
}

/* GET STYLES */
function getStyle(el,styleProp) {
	var x = document.getElementById(el);
	if (x.currentStyle)
		var y = x.currentStyle[styleProp];
	else if (window.getComputedStyle)
		var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp);
	return y;
}
