ns4 = (document.layers)?true:false;
ie4 = (document.all)?true:false;
var MyImgs = new Array();

function DoPrepareImgs()
{
	var imgs = document.getElementsByTagName("img");
	for(i=0; i<imgs.length; i++)
	{
		imgs[i].oncontextmenu = function () { return false; }
	}
}

function CheckPoolVote(frm)
{
	var l=0;
	for(var i=0; i<frm.length; i++)
	{
		if(frm.elements[i].name == 'resposta' && frm.elements[i].checked)
			l++;
	}
	if(l== 0)
	{
		alert('É Necessário votar em ao menos uma opção');
		return false;
	}
	return true;	
}

function PreLoadImages(width, keepRatio)
{
    if(keepRatio == undefined)
    	keepRatio = false;
	MyImgs = document.getElementsByName('ImgXLoad');
	for(var i=0; i<MyImgs.length; i++)
	{
	    var wd  = width;
	    if(wd == undefined || wd == 0)
	    	wd = MyImgs[i].getAttribute('wd')
		var lnk = 'getimage.php?thumb='+wd+'&imagem_id='+MyImgs[i].getAttribute('imgid');
		if(keepRatio)
			lnk += '&ratio=1';

		if(MyImgs[i].filters != undefined && MyImgs[i].filters.length > 0)
			MyImgs[i].filters[0].apply();
		MyImgs[i].src = lnk;
		if(MyImgs[i].filters != undefined && MyImgs[i].filters.length > 0)
			MyImgs[i].filters[0].play();
	}
}

function verificaDataRT(campo, event)
{
    var TAB = 9;
    var RET = 13;
    var BS =  8;
    var key;
    var tecla;  
    
    if (navigator.appName.indexOf("Netscape") != -1)
    {
        tecla = event.which;
    } 
    else 
    {
        tecla = event.keyCode;
    }

    key = String.fromCharCode( tecla);

    if ( tecla == RET )
    {
        return false;
    }
    if ( tecla == BS )
    {
        return true;
    }
    var Digits = "0123456789/";
    
    if ( Digits.indexOf(key) == -1 )
        return false;
    
    var data = campo.value;
    if(data.length == 2 || data.length == 5)
    {
    	if(key != '/')
    		return false;
    }
    else
    {
    	if(key == '/')
    		return false;
    }
       
    return true;
}

function verificaNumericoRT(campo, event)
{
    var TAB = 9;
    var RET = 13;
    var BS =  8;
    var key;
    var tecla;  
    
    if (navigator.appName.indexOf("Netscape") != -1)
    {
        tecla = event.which;
    } 
    else 
    {
        tecla = event.keyCode;
    }

    key = String.fromCharCode( tecla);

    if ( tecla == RET )
    {
        return false;
    }
    if ( tecla == BS )
    {
        return true;
    }
    var Digits = "0123456789";
    if ( Digits.indexOf(key) == -1 )
        return false;
        
    return true;
}

function InputNumber(fld, event)
{
    var TAB = 9;
    var RET = 13;
    var BS =  8;
    var key;
    var tecla;  
    
    if (navigator.appName.indexOf("Netscape") != -1)
    {
        tecla = event.which;
    } 
    else 
    {
        tecla = event.keyCode;
    }

    key = String.fromCharCode( tecla);

    if ( tecla == RET )
    {
        return false;
    }
    if ( tecla == BS )
    {
        return true;
    }
    var Digits = "-0123456789,";
    if ( Digits.indexOf(key) == -1 )
        return false;
        
    return true;
}

function CheckNumberDecimal(strNumber)
{
	if(strNumber == "")
		return false;

	var nPoints = 0;
	var nSigns  = 0;

	for( var i=0; i < strNumber.length; i++)
	{
		var char = strNumber.substring(i, i+1);

		if(char != ',' && char != "-" && (char < "0" || char > "9"))
			return false;

		if(char == ",")
			nPoints++;

		if(char == "-")
			nSigns++;
	}
	if(nPoints > 1)
		return false;

    if(nSigns > 1)
		return false;

	return true;
}

function verificaFoneRT(campo, event)
{
    var TAB = 9;
    var RET = 13;
    var BS =  8;
    var key;
    var tecla;  
    
    if (navigator.appName.indexOf("Netscape") != -1)
    {
        tecla = event.which;
    } 
    else 
    {
        tecla = event.keyCode;
    }

    key = String.fromCharCode( tecla);

    if ( tecla == RET )
    {
        return false;
    }
    if ( tecla == BS )
    {
        return true;
    }
    var Digits = "() -0123456789";
    
    if ( Digits.indexOf(key) == -1 )
        return false;
    
    return true;
}

function verificaCEPRT(campo, event)
{
    var TAB = 9;
    var RET = 13;
    var BS =  8;
    var key;
    var tecla;  
    
    if (navigator.appName.indexOf("Netscape") != -1)
    {
        tecla = event.which;
    } 
    else 
    {
        tecla = event.keyCode;
    }

    key = String.fromCharCode( tecla);

    if ( tecla == RET )
    {
        return false;
    }
    if ( tecla == BS )
    {
        return true;
    }
    var Digits = "-0123456789";
    
    if ( Digits.indexOf(key) == -1 )
        return false;
    
    var data = campo.value;
    if(data.length == 5)
    {
    	if(key != '-')
    		return false;
    }
    else
    {
    	if(key == '-')
    		return false;
    }
    return true;
}

function TestData(str)
{
	var day  = str.substr(0, 2);
	var mon  = str.substr(3,2);
	var year = str.substr(6,4);
	var hour = 0; //str.substr(11,2);
	var min  = 0; //str.substr(14,2);

	// DD/MM/YYYY HH:MM (Datetime Fields)
	if(str.length == 16)
	{
		hour = str.substr(11,2);
		min  = str.substr(14,2);
	}
	
	mon--;
	
	var data = new Date(year, mon, day, hour, min, 0);
	
	if(data.getFullYear() != year || data.getMonth() != mon || data.getDate() != day || data.getHours() != hour || data.getMinutes() != min)
	{
		alert("Data ou Formato Inválido");
		return false;
	}
	
	return true;
}

function CompareDates(dt1, dt2)
{
	var day1  = dt1.substr(0, 2);
	var mon1  = dt1.substr(3,2);
	var year1 = dt1.substr(6,4);
	var hour1 = 0;
	var min1  = 0;

	// DD/MM/YYYY HH:MM (Datetime Fields)
	if(dt1.length == 16)
	{
		hour1 = dt1.substr(11,2);
		min1  = dt1.substr(14,2);
	}
	
	mon1--;
	
	var data1 = new Date(year1, mon1, day1, hour1, min1, 0);

	var day2  = dt2.substr(0, 2);
	var mon2  = dt2.substr(3,2);
	var year2 = dt2.substr(6,4);
	var hour2 = 0;
	var min2  = 0;

	// DD/MM/YYYY HH:MM (Datetime Fields)
	if(dt2.length == 16)
	{
		hour2 = dt2.substr(11,2);
		min2  = dt2.substr(14,2);
	}
	
	mon2--;
	
	var data2 = new Date(year2, mon2, day2, hour2, min2, 0);

	// Data 1 é Menor
	if(data1 < data2)
		return -1;
	
	// Data 2 é Menor
	if(data1 > data2)
		return 1;
		
	// Datas são iguais
	return 0;
}

function BoxFormat(objForm, strField, strfull, sMask) 
{
      var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

      sValue = strfull;

      sValue = sValue.toString().replace( "-", "" );
      sValue = sValue.toString().replace( "-", "" );
      sValue = sValue.toString().replace( ".", "" );
      sValue = sValue.toString().replace( ".", "" );
      sValue = sValue.toString().replace( "/", "" );
      sValue = sValue.toString().replace( "/", "" );
      sValue = sValue.toString().replace( "(", "" );
      sValue = sValue.toString().replace( "(", "" );
      sValue = sValue.toString().replace( ")", "" );
      sValue = sValue.toString().replace( ")", "" );
      sValue = sValue.toString().replace( " ", "" );
      sValue = sValue.toString().replace( " ", "" );
      fldLen = sValue.length;
      mskLen = sMask.length;

      i = 0;
      nCount = 0;
      sCod = "";
      mskLen = fldLen;

      while (i <= mskLen) {
        bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
        bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

        if (bolMask) {
          sCod += sMask.charAt(i);
          mskLen++; }
        else {
          sCod += sValue.charAt(nCount);
          nCount++;
        }

        i++;
      }

      objForm[strField].value = sCod;

      if (nTecla != 8) { // backspace
        if (sMask.charAt(i-1) == "9") { // apenas números...
          return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9
        else { // qualquer caracter...
          return true;
        } }
      else {
        return true;
      }
}

// Permite Criar Inputs com Máscara
// Onde MASK pode ser 9*#!
// 9 - Digito Númerico 0-9
// # - Caractere alfanumérico a-z A-Z
// ! - Caractere Maíusculo A-Z (Converte se necessário)
// * - Caractere Maíusculo ou Dígito Numérico (Converte se Necessário)
function InputMask(fld, sMask, evtKeyPress) 
{
      var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

      nTecla = (window.Event) ? evtKeyPress.which : evtKeyPress.keyCode; 

	  if(nTecla == 8)
	  	  return true;
	  	
      sValue = fld.value;
      sValue = sValue.toString().replace( "-", "" );
      sValue = sValue.toString().replace( "-", "" );
      sValue = sValue.toString().replace( ".", "" );
      sValue = sValue.toString().replace( ".", "" );
      sValue = sValue.toString().replace( "/", "" );
      sValue = sValue.toString().replace( "/", "" );
      sValue = sValue.toString().replace( "(", "" );
      sValue = sValue.toString().replace( "(", "" );
      sValue = sValue.toString().replace( ")", "" );
      sValue = sValue.toString().replace( ")", "" );
      sValue = sValue.toString().replace( " ", "" );
      sValue = sValue.toString().replace( " ", "" );
      sValue = sValue.toString().replace( ":", "" );
      sValue = sValue.toString().replace( ":", "" );
      fldLen = sValue.length;
      mskLen = sMask.length;

      i = 0;
      nCount = 0;
      sCod = "";
      mskLen = fldLen;

      while (i <= mskLen) 
      {
        bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
        bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " ") || (sMask.charAt(i) == ":"))

        if (bolMask) 
        {
          sCod += sMask.charAt(i);
          mskLen++; 
        }
        else 
        {
          sCod += sValue.charAt(nCount);
          nCount++;
        }

        i++;
      }

      fld.value = sCod;

      if (nTecla != 8) // backspace
      {
        if (sMask.charAt(i-1) == "9") 
        { // apenas números...
          return ((nTecla > 47) && (nTecla < 58)); 
        } // números de 0 a 9
        else if(sMask.charAt(i-1) == "#")
        {
        	return ((nTecla >= 65 && nTecla <= 90) || (nTecla >= 97 && nTecla <= 122));
        }
        else if(sMask.charAt(i-1) == "!")
        {
        	if(nTecla >= 65 && nTecla <= 90)
        		return true;
        	else if(nTecla >= 97 && nTecla <= 122)
        	{
        		nTecla-= 32;
        		if(window.Event)
        			evtKeyPress.which = nTecla;
        		else
	        		evtKeyPress.keyCode = nTecla;
        		return true;
        	}
        	else
        		return false;
        }
        else if(sMask.charAt(i-1) == "*")
        {
        	if(nTecla >= 65 && nTecla <= 90)
        		return true;
        	else if(nTecla >= 48 && nTecla <= 57)
        		return true;
        	else if(nTecla >= 97 && nTecla <= 122)
        	{
        		nTecla-= 32;
        		if(window.Event)
        			evtKeyPress.which = nTecla;
        		else
	        		evtKeyPress.keyCode = nTecla;
        		return true;
        	}
        	else
        		return false;
        }
        else 
        { // qualquer caracter...
          return true;
        } 
      }
	  else
	  {
	    return true;
	  }
}

/*
   Function: mascaraValorRT

   Aplica a máscara de valor em tempo real.
   Utilizar diretamente no campo do formulário no evento "onkeypressed".

   Parâmetros:

      campo - compo do formulário.
      e - evento.

   Retorno:

      *true* a tecla seja numérica.
*/
function mascaraValorRT(fld, milSep, decSep, e) 
{
    var sep = 0;
    var key = '';
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = '0123456789';
    var aux = aux2 = '';
    var whichCode = (window.Event) ? e.which : e.keyCode;

    trataBackSpaceMascaraValorRT(fld, e);

    if (whichCode == 13) return true;  // Enter
    if (whichCode == 8) return true;  // BackSpace
    
    key = String.fromCharCode(whichCode);  // Get key value from key code
    if (strCheck.indexOf(key) == -1) return false;  // Not a valid key
    len = fld.value.length;
    for(i = 0; i < len; i++)
        if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
    aux = '';
    for(; i < len; i++)
    if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
    aux += key;
    len = aux.length;
    if (len == 0) fld.value = '';
    if (len == 1) fld.value = '0'+ decSep + '0' + aux;
    if (len == 2) fld.value = '0'+ decSep + aux;
    if (len > 2) {
        aux2 = '';
        for (j = 0, i = len - 3; i >= 0; i--) {
            if (j == 3) {
                aux2 += milSep;
                j = 0;
            }
            aux2 += aux.charAt(i);
            j++;
        }
        fld.value = '';
        len2 = aux2.length;
        for (i = len2 - 1; i >= 0; i--)    fld.value += aux2.charAt(i);
        fld.value += decSep + aux.substr(len - 2, len);
    }
    return false;
}



/*
   Function: trataBackSpaceMascaraValorRT

   Trata adequadamente o backspace em campo de valor.
   Utilizar diretamente no campo do formulário no evento "onkeydown".

   Parâmetros:

      campo - compo do formulário.
      event - evento.

   Retorno:

      nada.
*/
function trataBackSpaceMascaraValorRT(campo, event)
{
   NumDig = campo.value;
   TamDig = NumDig.length;
   TamDig--;
   Contador = 0;
   var whichCode = (window.Event) ? event.which : event.keyCode;

   if ((TamDig >= 0) && (whichCode == 8))
   {
      numer = "";
      for (i = TamDig; (i >= 0); i--)
      {
          if ((parseInt(NumDig.substr(i,1))>=0) && (parseInt(NumDig.substr(i, 1)) <= 9))
          {
             Contador++;
             if ((Contador == 4) && ((TamDig -i) < 5))
             {
               numer = ","+numer;
               Contador = 0;
             }
             else if ((Contador == 3) && ((numer.length) > 4))  
             {
               numer = "."+numer;
               Contador = 0;
             }
             numer = NumDig.substr(i, 1)+numer;
          }
      }
      if (numer == "001" || numer == "000" || numer == "002" || numer == "003" || numer == "004" || 
          numer == "005" || numer == "006" || numer == "007" || numer == "008" || numer == "009") 
          numer="";       
      if ((numer.length) == 3 )
          numer= "0," + numer;

      campo.value = numer;
   }
      
   return false;
}

/* Select an specific value in a ComboBox */
function WndSelectOption(WndSelect, WndValue)
{
	for(i=0; i<WndSelect.length; i++)
	{
		if(WndSelect.options[i].value == WndValue)
			WndSelect.options[i].selected = true;
		else
			WndSelect.options[i].selected = false;
	}
}

function ParseNumber(nmb, decs)
{
	
}
