var aLabelList = new Array()
var aErrorList = new Array()
var regEx = /^.+@.+\..{2,3}$/

function fgGetSelectedButton(buttonGroup){ 
    for (var i = 0; i < buttonGroup.length; i++) { if (buttonGroup[i].checked) { return i } } return 0 
}
function fgClearSpaces(sValue) {
    var sTemp = ""; sTemp = sValue.replace(/ /g, ""); return sTemp
}
function fgIsEmpty(sValue) {
    if (fgClearSpaces(sValue) == "") return true; return false
}
function fgFormValidate(oForm) {
    var iLabelCount = 0
    var sError = ""

    aLabelList.splice(0, aLabelList.length)
    aErrorList.splice(0, aErrorList.length)
        	
    feFormValidate(oForm)
        	
    if (aLabelList.length == 1)
        sError += "* O campo '" + aLabelList[0] + "' é obrigatório.\n"
    if (aLabelList.length > 1) {
        iLabelCount = 0
        sError += "* Os campos "
        for (i = 0; i < aLabelList.length; i++) {
            iLabelCount++
            sError += "'" + aLabelList[i] + "'"
            if (iLabelCount != aLabelList.length) 
                if (iLabelCount == (aLabelList.length - 1)) sError += " e "; else sError += ", " 
        }
        sError += " são obrigatórios.\n"
    }
    if (aErrorList.length > 0) {
        sError += "\n"
        for (i = 0; i < aErrorList.length; i++) sError += "* " + aErrorList[i] + "\n"
        sError = sError.substr(0, (sError.length - 1))
    }
    if (sError == "") { return true } else { alert(sError); return false }
}
function fgValidateCPF(src) {

    var strValue, strCPF, strSoma, strResultado1, strResultado2
    var vNumber = new Array(11)
    
    strValue = src.value

    if (strValue != "") {
    
        strCPF = fgClearNumber(strValue)

        if (strCPF.length != 11 || strCPF == "00000000000") {
            src.select(); return false
        }    
        else {

            vNumber[0] = parseInt(strCPF.substr(0, 1))
            vNumber[1] = parseInt(strCPF.substr(1, 1))
            vNumber[2] = parseInt(strCPF.substr(2, 1))
            vNumber[3] = parseInt(strCPF.substr(3, 1))
            vNumber[4] = parseInt(strCPF.substr(4, 1))
            vNumber[5] = parseInt(strCPF.substr(5, 1))
            vNumber[6] = parseInt(strCPF.substr(6, 1))
            vNumber[7] = parseInt(strCPF.substr(7, 1))
            vNumber[8] = parseInt(strCPF.substr(8, 1))
            vNumber[9] = parseInt(strCPF.substr(9, 1))
            vNumber[10] = parseInt(strCPF.substr(10, 1))

            strSoma = 10 * vNumber[0] + 9 * vNumber[1] + 8 * vNumber[2] + 7 * vNumber[3] + 6 * vNumber[4] + 5 * vNumber[5] + 4 * vNumber[6] + 3 * vNumber[7] + 2 * vNumber[8]
            strSoma = strSoma - (11 * (parseInt(strSoma / 11)))

            if (strSoma == 0 || strSoma == 1) strResultado1 = 0; else strResultado1 = 11 - strSoma

            if (strResultado1 == vNumber[9]) {
                strSoma = vNumber[0] * 11 + vNumber[1] * 10 + vNumber[2] * 9 + vNumber[3] * 8 + vNumber[4] * 7 + vNumber[5] * 6 + vNumber[6] * 5 + vNumber[7] * 4 + vNumber[8] * 3 + vNumber[9] * 2
                strSoma = strSoma - (11 * (parseInt(strSoma / 11)))

                if (strSoma == 0 || strSoma == 1) strResultado2 = 0; else strResultado2 = 11 - strSoma

                if (strResultado2 != vNumber[10]) {
                    src.select(); return false
                }
            }
            else { src.select(); return false }
        }
    }
    return true
}
function fgValidateCNPJ(src) {

    var strValue, strCNPJ, strSoma, strResultado1, strResultado2
    var vNumber = new Array(14)

    strValue = src.value

    if (strValue != "") {
    
		strCNPJ = fgClearNumber(strValue)

        if (strCNPJ.length != 14 || strCNPJ == "00000000000000") {
            //alert("O número de CNPJ informado é inválido"); 
			src.select(); return false
        }    
        else {

            vNumber[0] = parseInt(strCNPJ.substr(0, 1))
            vNumber[1] = parseInt(strCNPJ.substr(1, 1))
            vNumber[2] = parseInt(strCNPJ.substr(2, 1))
            vNumber[3] = parseInt(strCNPJ.substr(3, 1))
            vNumber[4] = parseInt(strCNPJ.substr(4, 1))
            vNumber[5] = parseInt(strCNPJ.substr(5, 1))
            vNumber[6] = parseInt(strCNPJ.substr(6, 1))
            vNumber[7] = parseInt(strCNPJ.substr(7, 1))
            vNumber[8] = parseInt(strCNPJ.substr(8, 1))
            vNumber[9] = parseInt(strCNPJ.substr(9, 1))
            vNumber[10] = parseInt(strCNPJ.substr(10, 1))
            vNumber[11] = parseInt(strCNPJ.substr(11, 1))
            vNumber[12] = parseInt(strCNPJ.substr(12, 1))
            vNumber[13] = parseInt(strCNPJ.substr(13, 1))

            strSoma = vNumber[0] * 5 + vNumber[1] * 4 + vNumber[2] * 3 + vNumber[3] * 2 + vNumber[4] * 9 + vNumber[5] * 8 + vNumber[6] * 7 + vNumber[7] * 6 + vNumber[8] * 5 + vNumber[9] * 4 + vNumber[10] * 3 + vNumber[11] * 2
            strSoma = strSoma - (11 * (parseInt(strSoma / 11)))

            if (strSoma == 0 || strSoma == 1) strResultado1 = 0; else strResultado1 = 11 - strSoma
				
            if (strResultado1 == vNumber[12]) {
				strSoma = vNumber[0] * 6 + vNumber[1] * 5 + vNumber[2] * 4 + vNumber[3] * 3 + vNumber[4] * 2 + vNumber[5] * 9 + vNumber[6] * 8 + vNumber[7] * 7 + vNumber[8] * 6 + vNumber[9] * 5 + vNumber[10] * 4 + vNumber[11] * 3 + vNumber[12] * 2
                strSoma = strSoma - (11 * (parseInt(strSoma / 11)))
                
                if (strSoma == 0 || strSoma == 1) strResultado2 = 0; else strResultado2 = 11 - strSoma

                if (strResultado2 != vNumber[13]) {
                    //alert("O número de CNPJ informado é inválido"); 
					src.select(); return false
                }
            }
            else {
                //alert("O número de CNPJ informado é inválido"); 
				src.select(); return false
            }
				
        }
    }
    return true
}
function fgDisplay() 
{ 
    var i, Args = fgDisplay.arguments, noArgs = Args.length; 
    for (i = 0; i < (noArgs-1); i+=2) { 
        objeto = Args[i]; opcao = Args[i+1]; 
        if (objLayer = fgFindObject(objeto)) objLayer.style.display = (opcao == 1) ? 'inline' : 'none' 
    } 
}
function fgDisplayAuto() 
{ 
    var i, Args = fgDisplayAuto.arguments, noArgs = Args.length; 
    for (i = 0; i < (noArgs); i++)
        if (objLayer = fgFindObject(Args[i])) objLayer.style.display = (objLayer.style.display == 'none') ? 'inline' : 'none' 
}
function fgDisplayByName(sObjName) 
{ 
    var i; 
    if (objLayer = fgFindObject(sObjName)) 
    for (i=0;i<objLayer.length;i++)
    alert("i: "+i+"\n"+objLayer.childNodes)//; objLayer.style.display = (objLayer.style.display == 'none') ? 'inline' : 'none' 
}
function fgFindObject(sObj) 
{ 
    var x; 
    x = document.getElementById(sObj); 
    if (x == null) x = document.getElementsByTagName(sObj); 
    if (x == null) return false; else return x 
}
function fgClearInput(sFormName) 
{ 
    if (!sFormName) sFormName = "0"
    var i, Args = fgClearInput.arguments, noArgs = Args.length; 
    for (i = 1; i < (noArgs); i++) {
        with (document.forms[sFormName]) {
            if (elements[Args[i]] != undefined) {
                //alert(Args[i]+": "+elements[Args[i]].type)
                switch (elements[Args[i]].type) {
                    case "checkbox":
                        elements[Args[i]].checked = false; break
                    case "select-multiple", "select-one": 
                        for (j = 0; j < elements[Args[i]].length; j++)
                            elements[Args[i]][j].selected = false; break
                    default: 
                        break
                }
                elements[Args[i]].value = ""; 
            } 
        } 
    }
}
function fgClearNumber(strValue) {
    var str, strCharacter, i
    str = "" 
    for (i = 0; i < strValue.length; i++) {
        strCharacter = strValue.substr(i,1)
        if (strValue.charCodeAt(i) >= 48 && strValue.charCodeAt(i) <= 57) str += strCharacter
    }
    return str
}
function validavolume() {
	var codigo = document.form.volumosa.value;
	if(codigo == 'Sim') {
		aparece('trvolumosa', 'visible');
	} else {
		document.form.mercadoriaquantidade.value = "";
		aparece('trvolumosa', 'hidden');
	}
}
function validafrete() {
	var codigo = document.form.frete.value;
	if(codigo == 'Terceiro') {
		aparece('terceiro', 'visible');
	} else {
		document.form.cgcTerceiro.value = "";
		aparece('terceiro', 'hidden');
	}
}
function validarNumero(evt,obj) { 
	var caracter = (evt.which) ? evt.which : evt.keyCode
	 if ((caracter!=13) && (caracter!=27))	{
	 if (caracter > 31 && (caracter<48 ||caracter > 57)) {
	 return evt.keyCode="";
	 }
	 }
	 return true;
}
function aparece(elemento,acao){
  if (acao == 'hidden') acao = 'none';
  if (acao == 'visible') acao = 'inline';  
  var elem = document.getElementById(elemento);
  elem.style.display = acao; 
}

function validamotivo() {
	var codigo = document.form.motivo.value;
	if(codigo == 'Outros') {
		aparece('motivo1', 'visible');
	} else {
		document.form.motivo2.value = "";
		aparece('motivo1', 'hidden');
	}
}
function validaconcluido() {
	var codigo = document.form1.conclusao.value;
	if(codigo == 'Concluído') {
		aparece('concluido', 'visible');
	} else {
		//document.form1.motivo2.value = "";
		aparece('concluido', 'hidden');
	}
}