﻿// JScript File


function mascaraGeral(src, mask)
{
    var i = src.value.length;
    var saida = mask.substring(0,1);
    var texto = mask.substring(i);

    if (texto.substring(0,1) != saida)
        {
        src.value += texto.substring(0,1);
        }
}

function checkdate(pObj) {
if (chkdate(pObj) == false) {
	alert(pObj.value+"\nData Incorreta!");
	pObj.value="";
	pObj.focus();
	}
return
}


function chkdate(objName) {
    if (objName.value.length == 0) {
        return true;
    }   
    if (objName.value.length < 10) {
        return false;
    }  
    //var strDatestyle = "US"; //United States date style
    var strDatestyle = "EU";  //European date style
    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] = "Fev";
    strMonthArray[2] = "Mar";
    strMonthArray[3] = "Abr";
    strMonthArray[4] = "Mai";
    strMonthArray[5] = "Jun";
    strMonthArray[6] = "Jul";
    strMonthArray[7] = "Ago";
    strMonthArray[8] = "Set";
    strMonthArray[9] = "Out";
    strMonthArray[10] = "Nov";
    strMonthArray[11] = "Dez";
    strDate = datefield.value;

    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);
        }
    }
    if (strYear == '0000'){
        err = 2; 
        return false
    }
    if (strYear.length == 2) {
        strYear = '20' + strYear;
    }
    // US style
    if (strDatestyle == "US") {
        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;
            }
        }
    }
    if (strDatestyle == "US") {
        //datefield.value = strMonthArray[intMonth-1] + " " + intday+" " + strYear;
    }
    else {
        //datefield.value = intday + " " + strMonthArray[intMonth-1] + " " + strYear;
    }
    return true;
}


function LeapYear(intYear) {
    if (intYear % 100 == 0) {
        if (intYear % 400 == 0) { return true; }
    }
    else {
        if ((intYear % 4) == 0) { return true; }
    }
    return false;
}


function MascaraDATA ( keypress, objeto) 
    {
	campo = eval (objeto);
    
    var TempCampo;
    TempCampo = campo.value.replace("/","");
    TempCampo = TempCampo.replace("/","")
    if (isNaN(TempCampo))
    {
        campo.value="";
    }
    //var regex = [0-9];
	//if(document.all){
	
	    //this.window.getSelection()
	/*    var sel = document.selection;
	
	    if (sel.type == "Text") {
		    campo.value="";
	    }
	*/
	//}else {
	    
	    //campo.match(regex);
	    
	//}
	
	caracteres = "0123456789";
	separacoes = 2;
	separacao1 = "/";
	separacao2 = "/";
	conjuntos = 3;
	conjunto1 = 2;
	conjunto2 = 2;
	conjunto3 = 4;
    
    alert(keypress);
    if (String.fromCharCode(keypress) != "*" && String.fromCharCode(keypress) != "+") {
	    if ((caracteres.search(String.fromCharCode (keypress))!=-1 && keypress!=46) && campo.value.length < (conjunto1 + conjunto2 + conjunto3 + 2) && (String.fromCharCode(keypress) != "/")) {
	       if (campo.value.length == conjunto1) 
	          campo.value = campo.value + separacao1;
	       if (campo.value.length == conjunto1 + conjunto2 + 1) 
	          campo.value = campo.value + separacao2;
	       if (campo.value.length == conjunto1 + conjunto2 + conjunto3 + 2) 
	          campo.value = campo.value + separacao3;
	    }
	    else
	    {
            //objeto.focus();
            objeto.returnValue = false;
	    }
    }
    else{
        //objeto.focus();
        objeto.returnValue = false;
    }
}
    
    function DataHora(evento, objeto)
    {
	    var keypress=(window.event)?event.keyCode:evento.which;
	    campo = eval (objeto);
	    
	    if (campo.value == '00/00/0000')
	    {
		    campo.value=""
	    }

	    caracteres = '0123456789';
	    separacao1 = '/';
	    /*separacao2 = ' ';
	    separacao3 = ':';*/
	    conjunto1 = 2;
	    conjunto2 = 5;
	    conjunto3 = 10;
	    /*conjunto4 = 13;
	    conjunto5 = 16;*/
	    if ((caracteres.search(String.fromCharCode (keypress))!=-1) && campo.value.length < (10))
	    {
		    if (campo.value.length == conjunto1 )
		    campo.value = campo.value + separacao1;
		    else if (campo.value.length == conjunto2)
		    campo.value = campo.value + separacao1;
		    else if (campo.value.length == conjunto3)
		    campo.value = campo.value;// + separacao2;
		    /*else if (campo.value.length == conjunto4)
		    campo.value = campo.value + separacao3;
		    else if (campo.value.length == conjunto5)
		    campo.value = campo.value + separacao3;*/
	    }
	    else
		    evento.returnValue = false;
    }    
    

