function MM_findObj(n, d) { //v4.01
  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=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function tmt_checkImgObj(){//v2.0
	var errorMsg="";
	if(this.maxS!=""&&this.fileSize/1000>this.maxS){
		errorMsg+="O tamanho máximo para a imagem é: "+this.maxS+" kilobytes \n";}
	if(this.minS!=""&&this.fileSize/1000<this.minS){
		errorMsg+="O tamanho minimo para a imagem é: "+this.minS+" kilobytes \n";}
	if(this.maxW!=""&&this.width>this.maxW){
		errorMsg+="Maximo de width(Largura) permitido para a imagem é: "+this.maxW+" pixels \n";}
	if(this.minW!=""&&this.width<this.minW){
		errorMsg+="Mínimo de width(Largura) permitido para a imagem é: "+this.minW+" pixels \n";}
	if(this.maxH!=""&&this.height>this.maxH){
		errorMsg+="Máximo de Height(Altura) permitido para a imagem é: "+this.maxH+" pixels \n";}	
	if(this.minH!=""&&this.height<this.minH){
		errorMsg+="Mínimo de Height(Altura) permitido para a imagem é:  "+this.minH+" pixels \n";}	
	if(errorMsg==""){
		if(this.fW){var fW=MM_findObj(this.fW);if(fW){fW.value=this.width;}}
		if(this.fH){var fH=MM_findObj(this.fH);if(fH){fH.value=this.height;}}}
		else{alert(errorMsg);}document.MM_returnValue=(errorMsg=="");
}

function tmt_createImgObj(imgURL,loadHandler,minW,maxW,minH,maxH,minS,maxS,fW,fH){//v2.0
	document.MM_returnValue=false;
	 var img=new Image();
	 img.minW=minW;
	 img.maxW=maxW;
	 img.minH=minH;
	 img.maxH=maxH;
	img.fW=fW;
	img.fH=fH;
	img.minS=minS;
	img.maxS=maxS;
	img.onload=loadHandler;
	img.src=imgURL;
}

function tmt_CheckImg(formElement,minW,maxW,minH,maxH,minS,maxS,mime,fW,fH){//v2.1
	document.MM_returnValue=true;if(document.getElementById){var obj=MM_findObj(formElement);
	var f=obj.form.name;if(obj&&f){var exRex=new RegExp("\\.("+mime+")$","i");
	var noWhiteRex=/\\[\w_]*\.(\w{3})$/i;if(exRex.test(obj.value)&&noWhiteRex.test(obj.value)){	
	var imgURL="file:///"+obj.value;tmt_createImgObj(imgURL,tmt_checkImgObj,minW,maxW,minH,maxH,minS,maxS,fW,fH);
	eval("setTimeout(\"if(document.MM_returnValue){document."+f+".submit()}\",300)");}
	else{document.MM_returnValue=false;alert("Só arquivos "+mime+" são permitidos");
	obj.focus();obj.select();}}}
}















//FIM DE TESTE DE UPLOAD


function DeleteConfirm(src)
{
  if ( confirm('Deseja realmente excluir o registro?') ) document.location = src;
}


function popUp(theURL,winName,features) { 
  window.open(theURL,winName,features);
}




function getQueryVariable(variable) {
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    if (pair[0] == variable) {
      return pair[1];
    }
  } 
  //alert('Query Variable ' + variable + ' not found');
}


function HideShow(obj) {
	if (comentario.style.display == 'none') {
		comentario.style.display = 'block';
	}
	else {
		comentario.style.display = 'none';
	}
	
}

function Inicializa() {
	if (getQueryVariable("stat") == 'true') {
		comentario.style.display = 'block';
	}
	else {
		comentario.style.display = 'none';
	}
}





function MascaraMoeda(objTextBox, e){
	SeparadorMilesimo = '.'
	SeparadorDecimal = ','
    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;
    if (whichCode == 13) return true;
    key = String.fromCharCode(whichCode); // Valor para o código da Chave
    if (strCheck.indexOf(key) == -1) return false; // Chave inválida
    len = objTextBox.value.length;
    for(i = 0; i < len; i++)
        if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break;
    aux = '';
    for(; i < len; i++)
        if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i);
    aux += key;
    len = aux.length;
    if (len == 0) objTextBox.value = '';
    if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;
    if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux;
    if (len > 2) {
        aux2 = '';
        for (j = 0, i = len - 3; i >= 0; i--) {
            if (j == 3) {
                aux2 += SeparadorMilesimo;
                j = 0;
            }
            aux2 += aux.charAt(i);
            j++;
        }
        objTextBox.value = '';
        len2 = aux2.length;
        for (i = len2 - 1; i >= 0; i--)
        objTextBox.value += aux2.charAt(i);
        objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);
    }
    return false;
}





String.prototype.isCNPJ = function(){
    var b = [6,5,4,3,2,9,8,7,6,5,4,3,2], c = this;
    if((c = c.replace(/[^\d]/g,"").split("")).length != 14) return false;
    for(var i = 0, n = 0; i < 12; n += c[i] * b[++i]);
    if(c[12] != (((n %= 11) < 2) ? 0 : 11 - n)) return false;
    for(var i = 0, n = 0; i <= 12; n += c[i] * b[i++]);
    if(c[13] != (((n %= 11) < 2) ? 0 : 11 - n)) return false;
    return true;
};

String.prototype.isCPF = function(){
    var c = this;
    if((c = c.replace(/[^\d]/g,"").split("")).length != 11) return false;
    if(new RegExp("^" + c[0] + "{11}$").test(c.join(""))) return false;
    for(var s = 10, n = 0, i = 0; s >= 2; n += c[i++] * s--);
    if(c[9] != (((n %= 11) < 2) ? 0 : 11 - n)) return false;
    for(var s = 11, n = 0, i = 0; s >= 2; n += c[i++] * s--);
    if(c[10] != (((n %= 11) < 2) ? 0 : 11 - n)) return false;
    return true;
};


String.prototype.isEmail = function(){
    var c = this;
	var filter  = /^[a-z0-9][\w\.-]*[a-z0-9]@[a-z0-9][\w\.-]*[a-z0-9]\.[a-z0-9][a-z\.]*[a-z]$/;
	return(filter.test(c));
};


function checkForm(objForm) {
	var isValid, isRequired;
	var objField = objForm.getElementsByTagName('*');

	var Erro = '';
	var Retorno = true;
	var ErrField = 0;
			
				for (var i = 0; i  < objField.length; i++) {
					switch (objField[i].required) {
						case 'true':
							isRequired = isEmpty(objField[i].value);
							break;
						default:
							isRequired = false;
					}
					
					
				if(objField[i].minlength > 0){
					if(objField[i].value.length > 0){
						if(objField[i].minlength > objField[i].value.length){
							Erro += objField[i].name + ' deve ter no minimo ' + objField[i].minlength + ' caracteres.\n';
						}
				    }
				}	
					
				
							
							
					
					switch (objField[i].datatype) {
						case 'email' :
							isValid = objField[i].value.isEmail();
							break;
			
						case 'number' :
							isValid = isNumber(objField[i].value);
							break;
			
						case 'text':
							isValid = isText(objField[i].value);
							break;
							
						case 'alphanumeric':
							isValid = isAlphaNumeric(objField[i].value);
							break;
							
						case 'cpf':
							isValid =  objField[i].value.isCPF();
							break;
			
						case 'cnpj':
							isValid = objField[i].value.isCNPJ();
							break;
			
						case 'date':
							isValid = isDate(objField[i].value, /^([0-9]{1,2})[\/]([0-9]{1,2})[\/]([0-9]{1,4})$/, {d: 1, m: 2, y: 3})
							break;
			
						case 'password':
							isValid = validatePassword(objField[i].value, eval(objForm.name + '.' + objField[i].validatewith));
							break;	
						
						default:
							isValid = true;
					}
			
					if (isRequired) {
						Erro += 'O campo ' + objField[i].name + ' é obrigatorio\n';
						if (Retorno) {
							ErrField = i;
						}
						Retorno = false;
					}
			
					if (!isValid) {
						if (!isEmpty(objField[i].value)) {
							Erro += objField[i].msg + '\n';
							if (Retorno) {
								ErrField = i;
							}
							Retorno = false;
						}
					}
				
				}
				if (!Retorno) {
					alert(Erro);
					
				}
				return Retorno;
			}


function validatePassword(strValue, objValidator) {
	return strValue == objValidator.value;
}


function isAlphaNumeric(strValue) {
	var filter  = /^[a-zA-Z0-9]*[a-zA-Z0-9]$/;
	return(filter.test(strValue));
}


function isText(strValue) {
	var filter  = /^[a-zA-Z]*[a-zA-Z]$/;
	return(filter.test(strValue));
}


function isNumber(strValue) {
	var filter  = /^[0-9]*[0-9]$/;
	return(filter.test(strValue));
}


function isEmpty(strValue) {
	return (strValue == '');
}



 function isDate(y, m, d){
        if(typeof y == "string" && m instanceof RegExp && d){
            if(!m.test(y)) return false;
            y = RegExp["$" + d.y], m = RegExp["$" + d.m], d = RegExp["$" + d.d];
        }
        d = Math.abs(d) || 0, m = Math.abs(m) || 0, y = Math.abs(y) || 0;
        return arguments.length != 3 ? false : d < 1 || d > 31 ? false : m < 1 || m > 12 ? false : /4|6|9|11/.test(m) && d == 31 ? false : m == 2 && (d > ((y = !(y % 4) && (y % 1e2) || !(y % 4e2)) ? 29 : 28)) ? false + !!y : true ;
		 
};




function toNumber(strNumber) {
	var strCompare, strReturn = ''
	for(f=0; f<strNumber.length; f++) {
		strCompare = strNumber.substring(f, f+1)
		if(isNumber(strCompare)) {
				strReturn = strReturn + strCompare;
		}
	}
	return strReturn;
}


function Mask(FormField) { 


	if(FormField.value=='') {
		return true
	}

	var sMask = FormField.mask
	var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla; 

	if(document.all) {
		nTecla = event.keyCode;
	}
		else if(document.layers) {
			nTecla = event.which; 
		} 

	sValue = FormField.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( " ", "" ); 
	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++; 
	} 

	FormField.value = sCod; 

	if (nTecla != 8) {
		if (sMask.charAt(i-1) == '9') {
			return ((nTecla > 47) && (nTecla < 58));
		}
		else {
			return true; 
		}
	} 
	else { 
		return true; 
	} 
} 


