function strtofloat(valor)
{
  valor = valor.toString();
  retorno = valor;
  retorno = retorno.replace(/[.]/gi, '');
  retorno = retorno.replace(/[,]/gi, '.');
  if (parseFloat(retorno))
    return parseFloat(retorno);
  else
    return 0;
}

function fmt_valor(valor, sep_mil, sep_dec)
{
  len = valor.length;

  if (len > 0)
  {
    var strCheck = '0123456789';

    for(i = 0; i < len; i++)
      if ((valor.charAt(i) != '0') && (valor.charAt(i) != sep_dec)) break;
    aux = '';

    for(; i < len; i++)
      if (strCheck.indexOf(valor.charAt(i))!=-1) aux += valor.charAt(i);
    len = aux.length;

    if (len == 0) aux3 = '0,00';
    if (len == 1) aux3 = '0'+ sep_dec + '0' + aux;
    if (len == 2) aux3 = '0'+ sep_dec + aux;
    if (len > 2)
    {
      aux2 = '';
      for (j = 0, i = len - 3; i >= 0; i--)
      {
        if (j == 3)
        {
          aux2 += sep_mil;
          j = 0;
        }
        aux2 += aux.charAt(i);
        j++;
      }
      aux3 = '';
      len2 = aux2.length;
      for (i = len2 - 1; i >= 0; i--)
        aux3 += aux2.charAt(i);
      aux3 += sep_dec + aux.substr(len - 2, len);
    }
    return aux3;
  }
  else
    return "";
}

function fmt_campo_valor(campo, sep_mil, sep_dec, evento)
{
  len = campo.value.length;

  if (len > 0)
  {
    var whichCode = (window.Event) ? evento.which : evento.keyCode;

    if ((whichCode >= 96 && whichCode <= 105) || (whichCode == 8) || (whichCode == 46) || (evento.type == 'blur'))
    {
      aux = fmt_valor(campo.value, sep_mil, sep_dec);
      while (aux.length > campo.maxLength)
      {
        aux2 = aux.substring(0, aux.length -1);
        aux = fmt_valor(aux2, sep_mil, sep_dec);
      }
      campo.value = aux;
    }
  }
}
function mascara_cep(objeto)
{
  campo = eval (objeto);
  separador1 = '.';
  separador2 = '-';
  conjunto1 = 2;
  conjunto2 = 6;
  if (campo.value.length == conjunto1) {
    campo.value = campo.value + separador1;
  }
  if (campo.value.length == conjunto2) {
    campo.value = campo.value + separador2;
  }
}

function mascara_data(data)
{
  var mydata = '';
  mydata = mydata + data;
  if (mydata.length == 2)
  {
    mydata = mydata + '/';
  }
  if (mydata.length == 5)
  {
    mydata = mydata + '/';
  }
  return mydata;
}

function mascara_data2(campo, evento)
{
  var tecla = evento.keyCode;
  vr  = campo.value;
  vr  = vr.replace( "/", "" );
  vr  = vr.replace( "/", "" );
  tam = vr.length + 1;

  if ((tecla >= 96 && tecla <= 105 ) || (evento.type == 'blur'))
  {
    if (tam > 2 && tam < 5)
      campo.value = vr.substr(0, tam - 2) + '/' + vr.substr(tam - 2, tam);
    if (tam >= 5 && tam <= 11)
      campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/' + vr.substr(4, 4);
  }
}

function ver_data(data, ano_ini, ano_fim)
{
  erro  = false;
  meses = new Array (31,28,31,30,31,30,31,31,30,31,30,31);

  if (data.length <10)
   erro = true;
  else
  {
    if ((data.substr(2,1) != "/") && (data.substr(5,1) != "/"))
    {
      erro = true;
    }
    else
    {
      d = parseFloat(data.substr(0,2));
      m = parseFloat(data.substr(3,2));
      a = parseFloat(data.substr(6,4));
      if (((d>0) && (d<32)) && ((m>0) && (m<13)) && ((a>=ano_ini) && (a<=ano_fim)))
      {
        if (m==2)
        {
          if (a%4==0)
          {
            if ((d<1) || (d>29))
              erro = true;
          }
          else
          {
            if ((d<1) || (d>meses[m-1]))
              erro = true;
          }
        }
        else
        {
          if ((d<1) || (d>meses[m-1]))
            erro = true;
        }
      }
      else
        erro = true;
    }
  }
  return (!erro);
}


function trim(str)
{
  return str.replace(/^\s*|\s*$/g,"");
}

function checa_email(email)
{
  aux = trim(email)
  aux_pos = aux.indexOf("@");
  aux_pos2 = aux.indexOf(" ");
  if ((aux_pos <= 1) || (aux == '') || (aux_pos2 > 0))
    return false
  else
    return true;
}


function mascara_cpf(campo, teclapres)
{

 tecla = teclapres.keyCode;

 vr = new String(campo.value);
 vr = vr.replace(".", "");
 vr = vr.replace(".", "");
 vr = vr.replace("/", "");
 vr = vr.replace("-", "");

 tam = vr.length + 1 ;

 if (tecla != 9 && tecla != 8)
 {
  if (tam > 3 && tam < 7)
   campo.value = vr.substr(0, 3) + '.' + vr.substr(3, tam);
   if (tam >= 7 && tam < 10)
    campo.value = vr.substr(0,3) + '.' + vr.substr(3,3) + '.' + vr.substr(6,tam-6);
   if (tam >= 10 && tam < 14)
    campo.value = vr.substr(0,3) + '.' + vr.substr(3,3) + '.' + vr.substr(6,3) + '-' + vr.substr(9,tam-9);
 }
}

function verifica_cpf(valor)
{
 erro = 0;
 aux1 = 0;
 aux2 = 0;
 aux3 = 1;
 for (i=0;i<valor.length-2;i++)
 {
  if ((valor.substr(i,1) != "/") && (valor.substr(i,1) != "-") && (valor.substr(i,1) != "."))
  {
   aux1 = aux1+(11-aux3)*valor.substr(i,1);
   aux2 = aux2+(12-aux3)*valor.substr(i,1);
   aux3++;
  }
 }
 resto = aux1-((Math.floor(aux1/11))*11);
 (resto < 2) ? dig1=0 : dig1=11-resto;
 aux2 = aux2+(2*dig1);
 resto = aux2-((Math.floor(aux2/11))*11);
 (resto < 2) ? dig2=0 : dig2=11-resto;
 aux = dig1+" "+dig2;
 aux = aux.substr(0,1)+aux.substr(2,1);
 if (aux != valor.substr(valor.length-2))
  return false;
 else
  if ((valor == "000.000.000-00") || (valor == "111.111.111-11") || (valor == "222.222.222-22") ||
  (valor == "333.333.333-33") || (valor == "444.444.444-44") || (valor == "555.555.555-55") ||
  (valor == "666.666.666-66") || (valor == "777.777.777-77") || (valor == "888.888.888-88") ||
  (valor == "999.999.999-99"))
   return false;
  else
   return true;
}

function verifica_email(email)
{
 if (email.indexOf("@") < 3)
  return false;
 else
  return true;
}

function so_numero(campo, evento)
{
 if (campo.length ==0)
  campo.value=0;
 var key;
 var keychar;
 if (window.event)
  key = window.event.keyCode;
 else
  if (evento)
   key = evento.which;
  else
   return true;
 keychar = String.fromCharCode(key);
 if ((key==null) || (key==0) || (key==8) || (key==9)|| (key==13)|| (key==27) )
  return true;
 else
  if ((("0123456789").indexOf(keychar) > -1))
   return true;
  else
   return false;
}

function MostrarData() {
  Hoje = new Date()
  Data = Hoje.getDate()
  Dia = Hoje.getDay()
  Mes = Hoje.getMonth()
  Ano = Hoje.getYear()
  //
  if (Data<10) {
    Data = "0" + Data
  }
  var sNavegador = navigator.appName;
  if (sNavegador == "Microsoft Internet Explorer")
  {
    if (Ano < 2000) {
      Ano = "19" + Ano
    }
  }
  else
  {
    Ano = Ano + 1900;
  }
  //
  NomeDia = new Array(7)
  NomeDia[0] = "Domingo"
  NomeDia[1] = "Segunda-feira"
  NomeDia[2] = "Terça-feira"
  NomeDia[3] = "Quarta-feira"
  NomeDia[4] = "Quinta-feira"
  NomeDia[5] = "Sexta-feira"
  NomeDia[6] = "Sábado"
  //
  NomeMes = new Array(12)
  NomeMes[0] = "Janeiro"
  NomeMes[1] = "Fevereiro"
  NomeMes[2] = "Março"
  NomeMes[3] = "Abril"
  NomeMes[4] = "Maio"
  NomeMes[5] = "Junho"
  NomeMes[6] = "Julho"
  NomeMes[7] = "Agosto"
  NomeMes[8] = "Setembro"
  NomeMes[9] = "Outubro"
  NomeMes[10] = "Novembro"
  NomeMes[11] = "Dezembro"
  //
  document.write (Data + " " + NomeMes[Mes] + " " + Ano)
}
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function ControlVersion()
{
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");

			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful.

			// default to the first public version
			version = "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}

	return version;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;

	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}
	return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];

        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}

function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?');
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs)
{
  var str = '';
  if (isIE && isWin && !isOpera)
  {
    str += '<object ';
    for (var i in objAttrs)
    {
      str += i + '="' + objAttrs[i] + '" ';
    }
    str += '>';
    for (var i in params)
    {
      str += '<param name="' + i + '" value="' + params[i] + '" /> ';
    }
    str += '</object>';
  }
  else
  {
    str += '<embed ';
    for (var i in embedAttrs)
    {
      str += i + '="' + embedAttrs[i] + '" ';
    }
    str += '> </embed>';
  }

  document.write(str);
}

