﻿// função para criptografar a senha
	function sec_password(sec_senha,sec_sid,sec_chave) {
		sec_senha=sec_senha+'                    ';
		sec_sid=sec_sid.substr(3,20);
		sec_ret = '';
		ct=0;
		for(ii=0;ii<20;ii++) {
			ch1=sec_senha.charCodeAt(ii);
			ch2=sec_sid.charCodeAt(ii);
			ch3=sec_chave.charCodeAt(ii);
			ch4=ct.toString();
			ch4=ch4.charCodeAt(0);
			res=ch1+ch2-ch3+ch4;
			quo=parseInt(res/16);
			resto=(res-(quo*16));
			quo=convtoHex(quo);
			resto=convtoHex(resto);
			vlhex=quo.toString()+resto.toString();
			sec_ret=vlhex+sec_ret;
			ct++;
			if (ct>9) {ct=0;}
		}
		return sec_ret;
	}
	
// função para converter 0-15 (dec) para 0-F (hex)
	function convtoHex(num) {
		convtoHexRet=num;
		if (num==10) {convtoHexRet='A';}
		if (num==11) {convtoHexRet='B';}
		if (num==12) {convtoHexRet='C';}
		if (num==13) {convtoHexRet='D';}
		if (num==14) {convtoHexRet='E';}
		if (num==15) {convtoHexRet='F';}
		return convtoHexRet;
	}

// função para mudar as cores e disabled dos objetos do formul?rio
	function mudaform(nomeform,cor) {
		var frm = document.getElementById(nomeform).getElementsByTagName("input");
		for (i=0; i<frm.length; i++) {
			frm[i].disabled=false;
			frm[i].style.backgroundColor=cor;
		}
		var frm = document.getElementById(nomeform).getElementsByTagName("textarea");
		for (i=0; i<frm.length; i++) {
			frm[i].disabled=false;
			frm[i].style.backgroundColor=cor;
		}
		var frm = document.getElementById(nomeform).getElementsByTagName("select");
		for (i=0; i<frm.length; i++) {
			frm[i].disabled=false;
			frm[i].style.backgroundColor=cor;
		}
	}

// função para ativar os disables dos objetos do formulário
	function desatform(nomeform,cor) {
		var frm = document.getElementById(nomeform).getElementsByTagName("input");
		for (i=0; i<frm.length; i++) {
			frm[i].disabled=true;
			frm[i].style.backgroundColor=cor;
		}
		var frm = document.getElementById(nomeform).getElementsByTagName("textarea");
		for (i=0; i<frm.length; i++) {
			frm[i].disabled=true;
			frm[i].style.backgroundColor=cor;
		}
		var frm = document.getElementById(nomeform).getElementsByTagName("select");
		for (i=0; i<frm.length; i++) {
			frm[i].disabled=true;
			frm[i].style.backgroundColor=cor;
		}
	}

// função para limpar o formulário
	function limpaform(nomeform) {
		var frm = document.getElementById(nomeform).getElementsByTagName("input");
		for (i=0; i<frm.length; i++) {
			frm[i].value="";
		}
		var frm = document.getElementById(nomeform).getElementsByTagName("textarea");
		for (i=0; i<frm.length; i++) {
			frm[i].value="";
		}
	}


//
//  usemasknum - aceita somente n?meros
//  usemaskalfa - aceita letras em caixa alta e n?meros
//  usemaskalfalower - aceita letras em caixa baixa e n?meros
//
//

var dFilterStep

function dFilterStrip (dFilterTemp, dFilterMask)
{
    dFilterMask = replace(dFilterMask,'#','');
    for (dFilterStep = 0; dFilterStep < dFilterMask.length++; dFilterStep++)
    {
       dFilterTemp = replace(dFilterTemp,dFilterMask.substring(dFilterStep,dFilterStep+1),'');
    }
    return dFilterTemp;
}

function dFilterMax (dFilterMask)
{
    dFilterTemp = dFilterMask;
    for (dFilterStep = 0; dFilterStep < (dFilterMask.length+1); dFilterStep++)
    {
       if (dFilterMask.charAt(dFilterStep)!='#')
       {
          dFilterTemp = replace(dFilterTemp,dFilterMask.charAt(dFilterStep),'');
       }
    }
    return dFilterTemp.length;
}


// usemaskalfa(conteudo/key,objeto/textbox,mascara/dfiltermask,qtdenum)
// conteudo   - letra/n?mero digitado
// objeto     - nome do objeto
// mascara    - mascara que ser? formatada
// qtdenum    - Quantidade de n?meros que ser?o trabalhados
// exemplo:   onKeyDown/onFocusOut='javascript:return usemaskalfa (event.keyCode, this, \"###.###.###-##\");'
function usemaskalfa (key, textbox, dFilterMask, qtdenum)
{

    qtdenum=qtdenum-1;
    conteudo = textbox.value;
    comp = '00000000000000000000000000000000000000000000000000000';
    conteudo = comp + conteudo;
    tamtot = conteudo.length;
    conteudo = conteudo.substring(tamtot-qtdenum,tamtot);

    dFilterNum = dFilterStrip(conteudo, dFilterMask);
    tam_str = dFilterNum.length;

    if (key==9)
    {
       return true;
    }
    else if (key==8&&dFilterNum.length!=0)
    {
//       dFilterNum = dFilterNum.substring(0,dFilterNum.length-1);
       dFilterNum = '0'+dFilterNum.substring(0,dFilterNum.length);
    }
    else if ( ((key>47&&key<58)||(key>64&&key<91)||(key>95&&key<106)) && dFilterNum.length<dFilterMax(dFilterMask) )
    {
       if ( key>95&&key<106 )
       {
          key=key-48
       }
       dFilterNum=dFilterNum+String.fromCharCode(key);
    }

    var dFilterFinal='';
    for (dFilterStep = 0; dFilterStep < dFilterMask.length; dFilterStep++)
    {
       if (dFilterMask.charAt(dFilterStep)=='#')
       {
          if (dFilterNum.length!=0)
          {
             dFilterFinal = dFilterFinal + dFilterNum.charAt(0);
             dFilterNum = dFilterNum.substring(1,dFilterNum.length);
             tam_str++;
          }
          else
          {
             dFilterFinal = dFilterFinal + "";
          }
       }
       else if (dFilterMask.charAt(dFilterStep)!='#')
       {
          dFilterFinal = dFilterFinal + dFilterMask.charAt(dFilterStep);
       }
//     dFilterTemp = replace(dFilterTemp,dFilterMask.substring(dFilterStep,dFilterStep+1),'');
    }


    textbox.value = dFilterFinal;
    if (tam_str==0)
    {
       textbox.value = "";
    }
    return false;
}

// usemasknum(conteudo/key,objeto/textbox,mascara/dfiltermask,qtdenum)
// conteudo   - letra/n?mero digitado
// objeto     - nome do objeto
// mascara    - mascara que ser? formatada
// qtdenum    - Quantidade total de caracteres e números
// exemplo:   onKeyUp='javascript:return usemasknum (event.keyCode, this, \"###.###.###-##\", 14);'
function usemasknum (key, textbox, dFilterMask, qtdenum)
{

    qtdenum=qtdenum;
    conteudo = textbox.value;
    comp = '00000000000000000000000000000000000000000000000000';  // 50
    conteudo = comp + conteudo;
    tamtot = conteudo.length;
    conteudo = conteudo.substring(tamtot-qtdenum+1,tamtot);

    dFilterNum = dFilterStrip(conteudo, dFilterMask);
    tam_str = dFilterNum.length;

    if (key==9)
    {
       return true;
    }
    else if (key==8&&dFilterNum.length!=0)
    {
//       dFilterNum = dFilterNum.substring(0,dFilterNum.length-1);
        dFilterNum = '0'+dFilterNum.substring(0,dFilterNum.length);
    }
    else if ( ((key>47&&key<58)||(key>64&&key<91)||(key>95&&key<106)) && dFilterNum.length<dFilterMax(dFilterMask) )
    {
       if ( key>95&&key<106 )
       {
          key=key-48
       }
       dFilterNum=dFilterNum+String.fromCharCode(key);
    }

    var dFilterFinal='';
    for (dFilterStep = 0; dFilterStep < dFilterMask.length; dFilterStep++)
    {
       if (dFilterMask.charAt(dFilterStep)=='#')
       {
          if (dFilterNum.length!=0)
          {
             dFilterFinal = dFilterFinal + dFilterNum.charAt(0);
             dFilterNum = dFilterNum.substring(1,dFilterNum.length);
             tam_str++;
          }
          else
          {
             dFilterFinal = dFilterFinal + "";
          }
       }
       else if (dFilterMask.charAt(dFilterStep)!='#')
       {
          dFilterFinal = dFilterFinal + dFilterMask.charAt(dFilterStep);
       }
//     dFilterTemp = replace(dFilterTemp,dFilterMask.substring(dFilterStep,dFilterStep+1),'');
    }


    textbox.value = dFilterFinal;
    if (tam_str==0)
    {
       textbox.value = "";
    }
    return false;
}

function usemasklower (key, textbox, dFilterMask)
{
    dFilterNum = dFilterStrip(textbox.value, dFilterMask);
    tam_str = dFilterNum.length;

    if (key==9)
    {
       return true;
    }
    else if (key==8&&dFilterNum.length!=0)
    {
       dFilterNum = dFilterNum.substring(0,dFilterNum.length-1);
    }
    else if ( ((key>47&&key<58)||(key>64&&key<91)||(key>95&&key<106)) && dFilterNum.length<dFilterMax(dFilterMask) )
    {
       if ( key>95&&key<106 )
       {
          key=key-48
       }
       dFilterNum=dFilterNum+String.fromCharCode(key+32);
    }

    var dFilterFinal='';
    for (dFilterStep = 0; dFilterStep < dFilterMask.length; dFilterStep++)
    {
       if (dFilterMask.charAt(dFilterStep)=='#')
       {
          if (dFilterNum.length!=0)
          {
             dFilterFinal = dFilterFinal + dFilterNum.charAt(0);
             dFilterNum = dFilterNum.substring(1,dFilterNum.length);
             tam_str++;
          }
          else
          {
             dFilterFinal = dFilterFinal + "";
          }
       }
       else if (dFilterMask.charAt(dFilterStep)!='#')
       {
          dFilterFinal = dFilterFinal + dFilterMask.charAt(dFilterStep);
       }
//       dFilterTemp = replace(dFilterTemp,dFilterMask.substring(dFilterStep,dFilterStep+1),'');
    }


    textbox.value = dFilterFinal;
    if (tam_str==0)
    {
       textbox.value = "";
    }
    return false;
}


function replace(fullString,text,by) {
// Replaces text with by in string

    var strLength = fullString.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return fullString;

    var i = fullString.indexOf(text);
    if ((!i) && (text != fullString.substring(0,txtLength))) return fullString;
    if (i == -1) return fullString;

    var newstr = fullString.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(fullString.substring(i+txtLength,strLength),text,by);

    return newstr;
}

// InputCurrency(this,this.value,event,10)
// textbox    - objeto caixa de texto
// conteudo   - valor do objeto
// e          - valor do evento
// tam        - tamanho total do n?mero
function InputCurrency(textbox,conteudo,e,tam)
{

   var conteudo = conteudo.replace(/\$|\ /g,'');
   var conteudo = conteudo.replace(/\$|\./g,'');

   var whichCode = (window.Event) ? e.which : e.keyCode;
   var caract = String.fromCharCode(whichCode);
   if ( caract>95&&caract<106 )
   {
      caract=caract-48
   }

   var conteudo = '                          ' + conteudo;
// var conteudo = '0000000000000000000000000' + conteudo;

   var tam_cont = conteudo.length;
   var troca = '1';
   var ret = "";
   for (i = 0;i<=tam_cont;i++)
   {
       if ( ( conteudo.substr( i, 1 ) !== '0' ) )
       {
          if ( ( conteudo.substr( i, 1 ) !== ' ' ) )
          {
             troca = '0';
          }
       }

       if ( troca=='1' )
       {
          if ( conteudo.substr( i, 1 ) == '0' )
          {
             ret = ret + "";
          }
       }
       else
       {
          ret = ret + conteudo.substr( i, 1 );
       }

   }
   var conteudo = ret;
   var tam_cont = conteudo.length;
   var resultado = conteudo.substr( (tam_cont-tam), (tam) );

   var ret = "";
   for (i = tam;i>=0;i--)
   {
       ret = resultado.substr( i, 1 ) + ret;
       if ( ret.length == 2 )
          ret = '.' + ret;
//     if ( ret.length == 6 )
//        ret = ' ' + ret;
//     if ( ret.length == 10 )
//        ret = ' ' + ret;
//     if ( ret.length == 14 )
//        ret = ' ' + ret;
//     if ( ret.length == 18 )
//        ret = ' ' + ret;
//     if ( ret.length == 22 )
//        ret = ' ' + ret;
   }

   var tam_ret = ret.length;
   var ret = ret.substr( (tam_ret-tam), (tam) );

   textbox.value = ret;

   return true;
}

// FormatNumber(textbox,conteudo,decimais)
// ESTA OP??O FORMATA O N?MERO COM V?RGULA
// textbox    - objeto caixa de texto
// conteudo   - valor do objeto
// decimais   - quantidade de casas decimais
// exemplo:   onfocusout='javascript:return FormatNumber( this, this.value, 2 );'
function FormatNumber(textbox,conteudo,decimais)
{

// verifica se ? negativo
   if ( conteudo < 0 ) {
    var negativo = 1;
   } else {
    var negativo = 0;
   }

// troca ponto por virgulas
   var conteudo = conteudo.replace(/\./g,',');

// filtra n?meros e retira pontos duplicados (do fim para o in?cio)
   var tam_cont = conteudo.length;
   var ret = '';
   var trocou1 = 0;
   for (i=tam_cont;i>=0;i--) {
           if ( conteudo.substr( i, 1 ) >= '0' && conteudo.substr( i, 1 ) <= '9' ) {
                   var ret = conteudo.substr( i, 1 ) + ret;
           }
           if ( conteudo.substr( i, 1 ) == '-' ) {
                   var ret = conteudo.substr( i, 1 ) + ret;
           }
           if ( conteudo.substr( i, 1 ) == ',' && trocou1 == 0) {
                   var ret = conteudo.substr( i, 1 ) + ret;
                   var trocou1 = 1;
           }
   }
   var conteudo = ret;

// retira os zeros a esquerda
   var tam_cont = conteudo.length;
   var troca = '1';
   var ret = '';
   for (i = 0;i<=tam_cont;i++) {
           if ( conteudo.substr( i, 1 ) >= '1' && conteudo.substr( i, 1 ) <= '9' ) {
                   var troca = '0';
           }
           if ( conteudo.substr( i, 1 ) == ',' ) {
                   var troca = '0';
           }
           if ( conteudo.substr( i, 1 ) == '0' ) {
                   if ( troca == '1' ) {
                           var ret = ret + '';
                   } else {
                           var ret = ret + '0';
                   }
           } else {
                   var ret = ret + conteudo.substr( i, 1 );
           }
   }
   var conteudo = ret;


// verifica a posi??o do ponto
   var temponto = -1;
   for (i = 0;i<=tam_cont;i++) {
           if ( conteudo.substr( i, 1 ) == ',' ) {
                   var temponto = i;
           }
   }

// inclui .00 se n?o tiver ponto
   if ( temponto == -1 ) {
           var ret = conteudo + ',00';
   }
   var conteudo = ret;

// verifica a posi??o do ponto
   var temponto = -1;
   for (i = 0;i<=tam_cont;i++) {
           if ( conteudo.substr( i, 1 ) == ',' ) {
                   var temponto = i;
           }
   }

// inclui 0 antes do ponto caso seja n? decimal
   if ( temponto == 0 ) {
           var ret = '0' + conteudo;
   }
   var conteudo = ret;

// inclui 00 se tiver ponto na ?ltima posi??o
   var tam_cont = conteudo.length;
   if ( conteudo.substr( tam_cont-1, 1 ) == ',' ) {
           var ret = conteudo + '00';
   }
   var conteudo = ret;

// verifica a posi??o do ponto
   var temponto = -1;
   for (i = 0;i<=tam_cont;i++) {
           if ( conteudo.substr( i, 1 ) == ',' ) {
                   var temponto = i;
           }
   }


// ajusta a quantidade de decimais
   var qtdedec = tam_cont - temponto -1 ;
   var zeros = '00000000000000000000';
   if ( ( decimais - qtdedec ) > 0 ) {
           ret = conteudo + zeros.substr( 0, decimais-qtdedec );
   }
   if ( ( decimais - qtdedec ) < 0 ) {
           ret = conteudo.substr( 0, tam_cont - ( qtdedec - decimais ) );
   }
   if ( ( decimais ) == 0 ) {
           ret = conteudo.substr( 0, tam_cont - qtdedec -1 );
   }
   var conteudo = ret;

   textbox.value = conteudo;

   return true;
}


// FormatDOTNumber(textbox,conteudo,decimais)
// ESTA OP??O FORMATA O N?MERO COM PONTO
// textbox    - objeto caixa de texto
// conteudo   - valor do objeto
// decimais   - quantidade de casas decimais
// exemplo:   onfocusout='javascript:return FormatNumber( this, this.value, 2 );'
function FormatDOTNumber(textbox,conteudo,decimais)
{

// troca virgulas por ponto
   var conteudo = conteudo.replace(/\,/g,'.');

// filtra n?meros e retira pontos duplicados (do fim para o in?cio)
   var tam_cont = conteudo.length;
   var ret = '';
   var trocou1 = 0;
   for (i=tam_cont;i>=0;i--) {
           if ( conteudo.substr( i, 1 ) >= '0' && conteudo.substr( i, 1 ) <= '9' ) {
                   var ret = conteudo.substr( i, 1 ) + ret;
           }
           if ( conteudo.substr( i, 1 ) == '.' && trocou1 == 0) {
                   var ret = conteudo.substr( i, 1 ) + ret;
                   var trocou1 = 1;
           }
   }
   var conteudo = ret;

// retira os zeros a esquerda
   var tam_cont = conteudo.length;
   var troca = '1';
   var ret = '';
   for (i = 0;i<=tam_cont;i++) {
           if ( conteudo.substr( i, 1 ) >= '1' && conteudo.substr( i, 1 ) <= '9' ) {
                   var troca = '0';
           }
           if ( conteudo.substr( i, 1 ) == '.' ) {
                   var troca = '0';
           }
           if ( conteudo.substr( i, 1 ) == '0' ) {
                   if ( troca == '1' ) {
                           var ret = ret + '';
                   } else {
                           var ret = ret + '0';
                   }
           } else {
                   var ret = ret + conteudo.substr( i, 1 );
           }
   }
   var conteudo = ret;


// verifica a posi??o do ponto
   var temponto = -1;
   for (i = 0;i<=tam_cont;i++) {
           if ( conteudo.substr( i, 1 ) == '.' ) {
                   var temponto = i;
           }
   }

// inclui .00 se n?o tiver ponto
   if ( temponto == -1 ) {
           var ret = conteudo + '.00';
   }
   var conteudo = ret;

// verifica a posi??o do ponto
   var temponto = -1;
   for (i = 0;i<=tam_cont;i++) {
           if ( conteudo.substr( i, 1 ) == '.' ) {
                   var temponto = i;
           }
   }

// inclui 0 antes do ponto caso seja n? decimal
   if ( temponto == 0 ) {
           var ret = '0' + conteudo;
   }
   var conteudo = ret;

// inclui 00 se tiver ponto na ?ltima posi??o
   var tam_cont = conteudo.length;
   if ( conteudo.substr( tam_cont-1, 1 ) == '.' ) {
           var ret = conteudo + '00';
   }
   var conteudo = ret;

// verifica a posi??o do ponto
   var temponto = -1;
   for (i = 0;i<=tam_cont;i++) {
           if ( conteudo.substr( i, 1 ) == '.' ) {
                   var temponto = i;
           }
   }


// ajusta a quantidade de decimais
   var qtdedec = tam_cont - temponto -1 ;
   var zeros = '00000000000000000000';
   if ( ( decimais - qtdedec ) > 0 ) {
           ret = conteudo + zeros.substr( 0, decimais-qtdedec );
   }
   if ( ( decimais - qtdedec ) < 0 ) {
           ret = conteudo.substr( 0, tam_cont - ( qtdedec - decimais ) );
   }
   if ( ( decimais ) == 0 ) {
           ret = conteudo.substr( 0, tam_cont - qtdedec -1 );
   }
   var conteudo = ret;


   textbox.value = conteudo;

   return true;
}



// Formata e checa data
function DateFormat( vDateName, vDateValue, e, saida )
{
	var strSeparator = "/";

	var whichCode = (window.Event) ? e.which : e.keyCode;

// alert(whichCode);

	if (whichCode == 8) {
		return false;
	} else {
	
		vDateValueTmp=vDateName.value.replace(/\//g,'');
		if (vDateValueTmp.length>0) {

			if (saida==true) {

				vDateValue=vDateValueTmp.substr(0,2)+strSeparator+vDateValueTmp.substr(2,2)+strSeparator+vDateValueTmp.substr(4,vDateValueTmp.length);
				vDateName.value=vDateValue;
				
				vDateValueCheck = vDateValue.substr(3,2)+strSeparator+vDateValue.substr(0,2)+strSeparator+vDateValue.substr(6,4);
	            if (!dateValid(vDateValueCheck))
	            {
	               alert("Data inválida!");
	               vDateName.value = "";
	               vDateName.focus();
	               return true;
	            }

			} else {

				var alphaCheck = "8,9,13,37,38,39,40,48,49,50,51,52,53,54,55,56,57,96,97,98,99,100,101,102,103,104,105";
				if (alphaCheck.indexOf(whichCode) == -1) {
			         vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
			         return false;
				}

				if (vDateValueTmp.length>=4) {
					vDateValue=vDateValueTmp.substr(0,2)+strSeparator+vDateValueTmp.substr(2,2)+strSeparator+vDateValueTmp.substr(4,vDateValueTmp.length);
				} else {
					if (vDateValueTmp.length>=2) {
						vDateValue=vDateValueTmp.substr(0,2)+strSeparator+vDateValueTmp.substr(2,vDateValueTmp.length);
					}
				}
				vDateName.value=vDateValue;

			}

		}
		
	
	}
	
	return false;

}
   


function dateValid(objName)
{
   var strDate;
   var strDateArray;
   var strDay;
   var strMonth;
   var strYear;
   var intday;
   var intMonth;
   var intYear;
   var booFound = false;
   var datefield = objName;
   var strSeparatorArray = new Array("-"," ","/",".");
   var intElementNr;
// var err = 0;
   var strMonthArray = new Array(12);
   strMonthArray[0] = "Jan";
   strMonthArray[1] = "Feb";
   strMonthArray[2] = "Mar";
   strMonthArray[3] = "Apr";
   strMonthArray[4] = "May";
   strMonthArray[5] = "Jun";
   strMonthArray[6] = "Jul";
   strMonthArray[7] = "Aug";
   strMonthArray[8] = "Sep";
   strMonthArray[9] = "Oct";
   strMonthArray[10] = "Nov";
   strMonthArray[11] = "Dec";
//strDate = datefield.value;
   strDate = objName;
   if (strDate.length < 1)
   {
      return true;
   }
   for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++)
   {
      if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1)
      {
         strDateArray = strDate.split(strSeparatorArray[intElementNr]);
         if (strDateArray.length != 3)
         {
            err = 1;
            return false;
         }
         else
         {
            strDay = strDateArray[0];
            strMonth = strDateArray[1];
            strYear = strDateArray[2];
         }
         booFound = true;
      }
   }
   if (booFound == false)
   {
      if (strDate.length>5)
      {
         strDay = strDate.substr(0, 2);
         strMonth = strDate.substr(2, 2);
         strYear = strDate.substr(4);
      }
   }
//Adjustment for short years entered
   if (strYear.length == 2)
   {
      strYear = '20' + strYear;
   }
   strTemp = strDay;
   strDay = strMonth;
   strMonth = strTemp;
   intday = parseInt(strDay, 10);
   if (isNaN(intday))
   {
      err = 2;
      return false;
   }
   intMonth = parseInt(strMonth, 10);
   if (isNaN(intMonth))
   {
      for (i = 0;i<12;i++)
      {
         if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase())
         {
            intMonth = i+1;
            strMonth = strMonthArray[i];
            i = 12;
         }
      }
      if (isNaN(intMonth))
      {
         err = 3;
         return false;
      }
   }
   intYear = parseInt(strYear, 10);
   if (isNaN(intYear))
   {
      err = 4;
      return false;
   }
   if (intMonth>12 || intMonth<1)
   {
      err = 5;
      return false;
   }
   if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1))
   {
      err = 6;
      return false;
   }
   if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1))
   {
      err = 7;
      return false;
   }
   if (intMonth == 2)
   {
      if (intday < 1)
      {
         err = 8;
         return false;
      }
      if (LeapYear(intYear) == true)
      {
         if (intday > 29)
         {
            err = 9;
            return false;
         }
      }
      else
      {
         if (intday > 28)
         {
            err = 10;
            return false;
         }
      }
   }
   return true;
}
function LeapYear(intYear)
{
   if (intYear % 100 == 0)
   {
      if (intYear % 400 == 0) { return true; }
   }
   else
   {
      if ((intYear % 4) == 0) { return true; }
   }
   return false;
}
//  End -->