// JavaScript Document

// helpers de fade para as páginas.
var g_fade_Style1, g_fade_Style2;

var g_color_RGBvalues = new Array(256);
var g_color_HEXvalues = new Object();
var temp = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];

var k = 0;
for (var i = 0; i <= 15; i++) 
{	
	for (var j = 0; j <= 15; j++) 
	{
		g_color_RGBvalues[k] = temp[i] + temp[j];
		g_color_HEXvalues[temp[i] + temp[j]] = k;
		k++;
	}
}

function HaveNETFramework() { // returna true se tiver o NET Framework (no IE)
	if ((navigator.userAgent.indexOf(".NET CLR")>-1))
	{
		  return true;
	}
	else
	{
		  return false;
	}
}

function HEXtoRGB(hexValue_)
{	
	if(hexValue_.charAt(0) == "r") // se o valor passado é em RGB, retorna
	{
		return hexValue_;
	}
			
	return "rgb(" + g_color_HEXvalues[hexValue_.charAt(1) + hexValue_.charAt(2)] + "," + g_color_HEXvalues[hexValue_.charAt(3) + hexValue_.charAt(4)] + "," + g_color_HEXvalues[hexValue_.charAt(5) + hexValue_.charAt(6)] + ")";
}


function RGBtoHEX(rgbValue_)
{
	if(rgbValue_.charAt(0) == "#") // se o valor passado é em hexadecimal, retorna
	{
		return rgbValue_;
	}
	
	var cores = RGBValueToArray(rgbValue_);	
	return "#" + g_color_RGBvalues[cores[1]] + "," + g_color_RGBvalues[cores[2]] + "," + g_color_RGBvalues[cores[3]];
}


function RGBValueToArray(rgbValue_)
{
	if(rgbValue_.charAt(0) == "#") // se o valor passado é em hexadecimal, converte antes
	{
		rgbValue_ = HEXtoRGB(rgbValue_);
	}
		
	var lista = rgbValue_.split(",");
	lista[0] = parseInt(lista[0].replace("rgb(",""));
	lista[1] = parseInt(lista[1]);
	lista[2] = parseInt(lista[2].replace(")",""));
	return lista;
}


function RGBArrayToValue(rgbArray_)
{
	return "rgb("+rgbArray_[0]+","+rgbArray_[1]+","+rgbArray_[2]+")";
}


function RGBVariationArray(rgbValueBegin_, rgbValueEnd_)
{
	var listaBegin = RGBValueToArray(rgbValueBegin_);
	var listaEnd = RGBValueToArray(rgbValueEnd_);		
	return [listaEnd[0] - listaBegin[0], listaEnd[1] - listaBegin[1], listaEnd[2] - listaBegin[2]];
}


function MaxAbsValue(array_)
{
	var a_ = Math.abs(array_[0]);
	var b_ = Math.abs(array_[1]);
	var c_ = Math.abs(array_[2]);
	
	var resultado = 0;
	var maior = 0;
	
	for (var i=0 ; i < array_.length ; i++)
	{
		if (array_[i] > maior)
		{
			maior = array_[i];
			resultado = i;
		}
	}
	
	return resultado;
}


function RemoveUnit(valor)
{
	if (!isNaN(valor/2))
	{
		return valor;
	}

	var resultado = "";	
	var ValidChars = "0123456789.";	
	var Char;
		
	for (var i = 0; i < valor.length ; i++) 
	{ 
		Char = valor.charAt(i); 
		if (ValidChars.indexOf(Char) != -1 || (i == 0 && Char == "-")) 
		{
			resultado += Char;
		}
		else
		{
			break;
		}
	}

	return parseFloat(resultado);
}


function GetUnit(valor)
{
	if (!isNaN(valor/2))
	{
		return "";
	}

	var resultado = "";	
	var ValidChars = "0123456789.-";	
	var Char;
	
	for (var i = 0; i < valor.length ; i++) 
	{ 
		Char = valor.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) 
		{
			resultado += Char;
		}
	}

	return resultado;
}


function GetFlash(movieName) 
{
	//
    if (navigator.appName.indexOf("Microsoft") != -1) 
	{
		//alert(window[movieName]);
        return window[movieName];
    }
    else 
	{
		//alert(document[movieName][1]);
        return document[movieName][1];
    }
}

function RemoveFromArray(aArray_, value_)
{
	var resultado = new Array(aArray_.length);
	for (var i = 0; i < aArray_.length ; i++) 
	{ 
		resultado[i] = aArray_[i];
	}
	
	for (var i = 0; i < resultado.length ; i++) 
	{ 
		if (resultado[i] == value_) 
		{
			resultado.splice(i, 1);
			break;
		}
	}
	
	return resultado;
}

// Pré-configura os estilos que serão usados nos helpers de estilos
function SearchAndSetStyles(stStyle1Selector_, stStyle2Selector_)
{	
	for (var j=0 ; j < document.styleSheets.length ; j++)
	{		
		if (document.styleSheets[j] == null)
		{
			continue;
		}
		
		var rule;
				
		if (navigator.appName.indexOf("Microsoft") != -1)
		{
			rule = document.styleSheets[j].rules;
		}
		else
		{
			try
			{
				rule = document.styleSheets[j].cssRules;
			}
			catch (err)
			{
				continue;
			}
		}		
	
		for (var i=0 ; i < rule.length ; i++)
		{
			if (rule[i].selectorText == null 
				|| rule[i].selectorText == "" 
				|| rule[i].selectorText == "undefined")
			{
				continue;
			}
			
			if (rule[i].selectorText.toLowerCase().search(stStyle1Selector_) != -1 
				&& g_fade_Style1 == null)
			{
				g_fade_Style1 = rule[i].style;
			}	
			else if (	rule[i].selectorText.toLowerCase().search(stStyle2Selector_) != -1 
						&& g_fade_Style2 == null)
			{
				g_fade_Style2 = rule[i].style;
			}
		}
	}
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

