var menuNames  = new Array();

menuNames[0] = "STM";
menuNames[1] = "CD100";
menuNames[2] = "CD110";
menuNames[3] = "CD120";
menuNames[4] = "CD1000";
menuNames[5] = "PocketReader";
menuNames[6] = "menuGrRel";
menuNames[7] = "menuMonGrandezas";
menuNames[8] = "menuCalculoHX";
menuNames[9] = "menuAnalisesHX";
menuNames[10] = "menuGraficosHX";
menuNames[11] = "menuHistogramas";
menuNames[12] = "menuRelatoriosHX";
menuNames[13] = "menuManDB";
menuNames[14] = "menuCfgConcentrador";
menuNames[15] = "menuParametrizacao";
menuNames[16] = "menuDemanda";
menuNames[17] = "menuConsumo";
menuNames[18] = "menuFPOT";
menuNames[19] = "menuCorrecaoFPot";
menuNames[20] = "menuEnergReatExc";
menuNames[21] = "menuConfiguracao";
menuNames[22] = "menuFinancas";
menuNames[23] = "menuContratos";
menuNames[24] = "menuFaturasMercLivre";
menuNames[25] = "menuRelatorios";
menuNames[26] = "menuParamGTW";
menuNames[27] = "menuSubFaturamento";
menuNames[28] = "menuGrpMercLivre";
menuNames[29] = "menuFinancasNew";
menuNames[30] = "menuRelatoriosOp";


//teste
//esconde os list da tela quando o menu aparece
/*
var specialObjects  = new Array();

specialObjects[0] = "Lst";
specialObjects[1] = "MNUConsumidores";
specialObjects[2] = "LSTGRAND";
specialObjects[3] = "CBOConcentradores";
*/

function on(src)
{ 
	src.bgColor = '#e0e0e0';
	src.borderColor = '#969696'; 
}

function off(src)
{ 
	src.bgColor = '#f1f1f1';
	src.borderColor = '#f1f1f1'; 
}

function findObj(n, d) { //v3.0
  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=findObj(n,d.layers[i].document); 
  return x;
}

function showLayersSub()
{
  var i,p,v,obj, args=showLayersSub.arguments;
  
  if(args[0] == "nothing")
  {
  	 /*
  	 if(args.length == 4) 
	 	for(i=0; i < specialObjects.length; i++)
	 		showLayersSub(specialObjects[i], args[1], 'show');
	*/
  	 for(i=0; i < menuNames.length; i++)
  		showLayersSub(menuNames[i], args[1], 'hidden');
  }
  
  for (i=0; i<(args.length-2); i+=3) {
	  if ((obj=findObj(args[i], args[i+1]))!=null) 
	  { 
		v=args[i+2];
		if (obj.style) 
		{ 
			obj=obj.style; 
			v=(v=='show')?'visible':(v='hide')?'hidden':v; 
		}
			
		obj.visibility=v; 
	  }
  }	

}

function showHideLayers() 
{
	var i, args=showHideLayers.arguments;
	
	if(args.length >= 3) 
	{
		if(args[0] != "nothing") {
			showLayersSub('nothing', args[1],'hidden');
			parent.workspaceFrame.scrollTo(0,0);
		}
		showLayersSub(args[0], args[1], args[2], 1);
		/*
		if(args[2] == "show")
	 		for(i=0; i < specialObjects.length; i++)
	 			showLayersSub(specialObjects[i], args[1], 'hidden');
		*/
	}
}

function loadFrames() 
{    
	 var i, args = loadFrames.arguments;
	 
	 for (i=0; i < (args.length); i+=2) 
	 {	 
     	eval("parent." + args[i] + ".location='" + args[i+1] + "'");
	 }
}

function Wr(strHTML)
{
	document.write(strHTML);
}

function SetAllChecks(CheckAll, ChecksOption, Line)
{
	var i;
	var numberOfArray;
		
	if(ChecksOption.length)
		numberOfArray = ChecksOption.length;
	else
		numberOfArray = 1;
	
	if(CheckAll.checked == true)
		for(i=0; i < numberOfArray; i++) 
		{	
			if(numberOfArray == 1) 
			{
				ChecksOption.checked = true;
				Line.bgColor = "#cccccc";
			}
			else 
			{
				ChecksOption[i].checked = true;
				Line[i].bgColor = "#cccccc";
			}
		}		
	else
		for(i=0; i < numberOfArray; i++)
		{
			if(numberOfArray == 1)
			{
				ChecksOption.checked = false;
				Line.bgColor = "#fafafa";
			}
			else
			{
				ChecksOption[i].checked = false;			
				Line[i].bgColor = "#fafafa";
			}
		}
}

function SetLineToLight(Light, Line)
{
	if(Light == true)
		Line.bgColor = "#cccccc";
	else
		Line.bgColor = "#fafafa";
}

function ShowIt(element)
{
	element.style.position = "";
	element.style.visibility = "";
}

function HideIt(element)
{
	element.style.position = "absolute";
	element.style.visibility = "hidden";
}

function WriteEvent(eventType)
{
	if(eventType == 1)
		Wr("Leitura para Verificação - Medição Direta");
	else if(eventType == 3)
		Wr("Leitura para Faturamento - Medição Direta");
	else if(eventType == 2)
		Wr("Leitura para Verificação - Medição Reversa");
	else if(eventType == 4)
		Wr("Leitura para Faturamento - Medição Reversa");
}

function WriteChannel(eventType, channel)
{
	if(eventType == 1 || eventType == 3)
		Wr("Canal " + channel);
	else {
		channel += 3;
		Wr("Canal " + channel);
	}
}

function isDate(strDate)	 
{ 
	var dBissexto = false;
	var day, month, year;
	var i=0, j=0; 
	
	if(strDate.length < 5)
		return false;

	i = strDate.indexOf("/",i); 
	day = strDate.substring(0,i);
	if(isNaN(day))
		return false;

	j = strDate.indexOf("/",i+1);
	month = strDate.substring(i+1,j);
	if(isNaN(month))
		return false;

	year = strDate.substring(j+1,strDate.length+1);
	if(isNaN(year))		
		return false;
	if (year <= 999)
		year += 2000;

	if(year%4==0) 
		dBissexto=true; 

	if(((day>0)&&(day<=31))&&((month>0)&&(month<=12))) { 
		if(day==30) { 
			if(month==2)     
			  return false; 
			else 
			  return true;
		} 
		else if(day==31) {
			month = parseInt(month, 10);

			switch(month) { 
				case 1: 
				case 3: 
				case 5: 
				case 7: 
				case 8: 
				case 10: 
				case 12: 
					return true; 
				default: 
					return false; 
			} 
		} 
		else if(day==29) { 
			if(month==2) { 
				if(dBissexto==true) 
					return true; 
				else  
					return false; 
			} 
			else 
				return true; 
		} 
		else 
			return true; 
	} 
	return false; 
}


function isTime(strTime)
{
	var hour, minute, second=0;
	var i=0; 

	if(strTime.length < 3)
		return false;

	i = strTime.indexOf(":",i); 
	hour = parseInt(strTime.substring(0, i));

	if(isNaN(hour))
		return false;

	minute = parseInt(strTime.substring(i + 1, i + 3));

	if(isNaN(minute))
		minute = 0;

	if( ((hour >= 0) && (hour <= 23)) && ((minute >= 0) && (minute <= 59)) &&
		((second >= 0) && (second <= 59)))
		return true;
	else
		return false;
}

function isDateTime(strDateTime)
{
	var strDate, strTime;
	var i=0; 

	if(strDateTime.length < 9)
	return false;

	i = strDateTime.indexOf(" ",i);

	if (i < 5)
		return false;
	if (i >= strDateTime.length)
		return false;

	strDate = strDateTime.substring(0, i);

	strTime = strDateTime.substring(i + 1, strDateTime.length);

	return isDate(strDate) && isTime(strTime);
}

function selectDrop(selName, abbrName)
{
	if(abbrName != '')
	{
		if(selName.length > 0)
		{
			var maxIndex = selName.length;
			
			for(var i = 0; i < maxIndex; i++)
			{
				if(abbrName == selName.options[i].value)
				{
					selName.selectedIndex = i;
					break;
				}
			}
		}
	}
	
	return true;

}  

function ExtractVariable(strVariable, strQuery)
{
	var strQueryPart, strVariableValue, strLocalVariable;
	var i, increment, initialPosition, endPosition;
	var equalPosition;
	
	strQueryPart = strQuery.substring(1, strQuery.length);
	
	initialPosition = 0;
	
	for(i = 0; i < strQueryPart.length; i += increment)
	{
		endPosition = strQueryPart.indexOf("&", initialPosition);
		
		//alert("endPosition=" + endPosition);
				
		if(endPosition < 0)
		{
			increment = strQueryPart.length + 1;
			endPosition = strQueryPart.length;
		}
		else
			increment = endPosition - initialPosition;
		
		strVariableValue = strQueryPart.substring(initialPosition, endPosition);
	
		equalPosition = strVariableValue.indexOf("=", 0);
		
		strLocalVariable = strVariableValue.substring(0, equalPosition);
		
		//alert("VARIAVEL = " + strLocalVariable);
		//alert("VALOR = " + strVariableValue.substring(equalPosition + 1, strVariableValue.length));
						
		if(strLocalVariable == strVariable)
		{
			//alert("OK");
			return strVariableValue.substring(equalPosition + 1, strVariableValue.length);
		}
		//alert(strQueryPart.substring(initialPosition, endPosition));
		
		initialPosition = endPosition + 1;
		
	}
	
	return "";
}

function CreateMap(objImage, numberMaps, site)
{
	var i, mapSize;
	var mapRef;
	var map;
	
	if(site.length < numberMaps)
		return;
	
	mapSize = parseInt(objImage.width / numberMaps);


	map = objImage.useMap.substring(1, objImage.useMap.length);

	str = "<map name='" + map + "'>";
	
	mapRef = 0;
	
	for(i = 0; i < numberMaps; i++)
	{
		str += "<area alt='Clique no gráfico para ampliar a área desejada (ZOOM)' shape='rect' coords='" + mapRef + ",0," + 
							(mapRef + mapSize) + "," + objImage.height + "' href='" + site[i] + "'>";
		mapRef += mapSize + 1;
	}
	
	str +=  "</map>";
	
	document.write(str);

}

function GetDateByStr(strDate)
{
	var Year, Month, Day, Hour, Minute, Second;
	
	var localDate;
	
	Year = strDate.substring(6, 10);
	Month = strDate.substring(3, 5);
	Month -= 1;
	Day = strDate.substring(0, 2);
	Hour = strDate.substring(11, 13);
	Minute = strDate.substring(14, 16);

	if(strDate.length >= 19)
		Second = strDate.substring(17, 19);
	else
		Second = 0;
	
	localDate = new Date(Year, Month, Day, Hour, Minute, Second);
	
	return localDate;
}

function GetIntervals(numberDates, dtStart, dtEnd)
{		
	var milStart, milEnd, milIntervals, milRef, milMap;
	var strIntervals = new Array(5);
	var i;
	var finalDate;
	
	milStart = Date.UTC(dtStart.getUTCFullYear(),
						dtStart.getUTCMonth(),
						dtStart.getUTCDate(),
						dtStart.getUTCHours(),
						dtStart.getUTCMinutes(),
						0);
					
	milEnd = Date.UTC(dtEnd.getUTCFullYear(),
					  dtEnd.getUTCMonth(),
					  dtEnd.getUTCDate(),
					  dtEnd.getUTCHours(),
					  dtEnd.getUTCMinutes(),
					  0);
	
	if(milEnd <= milStart)
		return "";
	else if( (milEnd - milStart) < 900000)
		return "";
		
	milIntervals = (milEnd - milStart) / numberDates;
			
	milRef = 0;
	
	for(i = 0; i < numberDates; i++)
	{
			milMap = milRef + milStart;			
			finalDate = new Date(milMap);
			strIntervals[i] = finalDate.getDate() + "/" + 
							  (finalDate.getMonth() + 1) + "/" + 
							  finalDate.getFullYear() + " " +
							  finalDate.getHours() + ":" +
							  finalDate.getMinutes(); // + ":" +
							  //finalDate.getSeconds();
			milRef += milIntervals;
		
	}	
	
	return strIntervals;
	
}

function GetDateByStrSHour(strDate)
{
	var Year, Month, Day;
	
	var localDate;
	
	Day = strDate.substring(0, 2);
	Month = strDate.substring(3, 5);
	Month -= 1;
	Year = strDate.substring(6, 10);

	localDate = new Date(Year, Month, Day);
	
	return localDate;
}

function Faixa(pagina, total)
{
	var inicio=0, posicao, qtde, cont=0, i, calc1=0, calc2=0 ;
	
	posicao = parseInt(pagina);
	qtde = parseInt(total);
	cont = 11;
	
	if(posicao < cont)
		inicio = cont - 10;
	else
	{	
		calc1 = parseInt(posicao / 10);
		calc2 = (calc1 * 10) + 1;
		if((posicao % 10) > 0)
			inicio = calc2;
		else
			inicio = calc2 - 10;
	}		
	return inicio; 
}

function VerificaTecla() 
{
	var tecla = event.keyCode;
	
	// 34 = "
	// 39 = '
	// 43 = +
	if ((tecla == 34) || (tecla == 39) || (tecla == 43)) 
	{
		event.keyCode = 0
		tecla = 0;
	}
	return tecla;
}

function VerificaTeclaLogin() 
{
	var tecla = event.keyCode;
	
	// 34 = "
	// 39 = '
	// 43 = +
	// 32 =  espaço em branco
	if ((tecla == 32) || (tecla == 34) || (tecla == 39) || (tecla == 43))
	{
		event.keyCode = 0
		tecla = 0;
	}
	return tecla;
}

function VerificaSoNumeros() 
{
	var tecla = event.keyCode;
	// 48 a 57 números de 0 a 9	
	if ((tecla < 48) || (tecla > 57)) 
	{
		event.keyCode = 0
		tecla = 0;
	}
	return tecla;
}

function TestaRange (strVal, vMin, vMax, RetErro)
{
	var	floatAux;
	var f = 1e-20;
	
	floatAux = strVal.value.replace(",",".");
	
	if (!isNaN (floatAux)) {
		f = parseFloat (floatAux);
		// se tem limite
		if (vMax != vMin) {
			if (f < vMin) {
				if (RetErro)
					f = 1e-20;
				else
					f = vMin;
			}
			if (f > vMax) {
				if (RetErro)
					f = 1e-20;
				else
					f = vMax;
			}
		}
	}
	return f;
}


function EhNumerico(sText)
{
   var ValidChars = "-0123456789,.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
	 break;
         }
      }
   return IsNumber;
}



